/* MenuDoro v7 shared polish (frontend audit 2026-10-14): one type system (Overpass text, Noto Serif
   Display headings, Cormorant italic accents), flat gold buttons, no resting shadows/gradients,
   left-aligned readable articles. Loaded last on SEO pages, FAQ/About, /referral, /setup. */
:root { --v7-ink: #22170D; --v7-ink-2: #4F4335; --v7-gold: #E2BD6F; --v7-gold-h: #D8B060; --v7-gold-ink: #7A5512; --v7-tone: #F3E6D4; --v7-ground: #FBF6EE;
  --v7-sans: "Overpass", "Overpass Fallback", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --v7-serif: "Noto Serif Display", Georgia, "Times New Roman", serif; --v7-accent: "MenuDoro Accent", "Cormorant Garamond", Georgia, serif; }

/* ---- type everywhere ---- */
body.faq-page, body.faq-page button, body.faq-page input, body.faq-page select, body.faq-page textarea,
body.ref7, body.ref7 button, body.ref7 input, body.ref7 select, body.ref7 textarea,
body.onb, body.onb #panel input, body.onb .wiz button, body.onb .onb-lang, body.onb button, body.onb input, body.onb select, body.onb textarea { font-family: var(--v7-sans) !important; }

/* ---- flat buttons ---- */
.lp-btn, .lp-btn.accent, .lp-btn.ghost { box-shadow: none !important; text-shadow: none !important; }
.lp-btn.accent { background: var(--v7-gold) !important; color: #2A1D08 !important; border: 0 !important; }
.lp-btn.accent:hover { background: var(--v7-gold-h) !important; transform: none !important; }
.lp-btn.ghost { background: transparent !important; border: 1px solid rgba(34, 23, 13, .28) !important; color: var(--v7-ink) !important; }

/* ---- SEO article template ---- */
body.faq-page { background: var(--v7-ground) !important; color: var(--v7-ink); font-size: 17px; }
.lp-guide .faq-top { max-width: 72ch; }
.lp-guide .faq-main { max-width: 70ch; text-align: left; padding-top: .5rem; }
.lp-guide .faq-main h1 { font-size: clamp(2rem, 4.4vw, 3rem); line-height: 1.08; margin: 1.1rem 0 .7rem; text-wrap: balance; }
.lp-guide .faq-lead { margin: 0 0 1.4rem; max-width: none; color: var(--v7-ink-2); font-size: 1.1rem; }
.lp-guide .faq-main h2 { font-size: clamp(1.45rem, 2.6vw, 1.85rem); margin-top: 2.2rem; }
.lp-guide .faq-main p, .lp-guide .faq-main li, .lp-guide .faq-main dd { line-height: 1.65; color: var(--v7-ink); }
.lp-guide .faq-main ul, .lp-guide .faq-main ol { padding-left: 1.25rem; text-align: left; }
.lp-guide .faq-main dl dt { margin-top: 1.2rem; }
.lp-guide .crumbs ol { justify-content: flex-start; padding-left: 0 !important; }
.lp-guide .faq-nav { justify-content: flex-end; }
.lp-guide .faq-cta { justify-content: flex-start; }
.fo-cta { border: 0 !important; background: var(--v7-tone) !important; border-radius: 14px; padding: 1.1rem 1.25rem !important; text-align: left; }
.lp-photo { margin: 1.6rem 0 .4rem; }
.lp-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 14px; }
.lp-end { margin-top: 2.6rem; padding: 1.4rem 1.4rem 1.6rem; background: var(--v7-tone); border-radius: 14px; }
.lp-end h2 { margin-top: 0 !important; }
.lp-more { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 2.4rem; margin-top: 1rem; }
.lp-more h2 { font-size: 1.25rem !important; margin-top: 1.8rem !important; }
.lp-more ul { padding-left: 1.1rem; }
.lp-more li { margin: .3rem 0; font-size: .97rem; }
@media (max-width: 640px) {
  .lp-more { grid-template-columns: 1fr; gap: 0; }
  .lp-guide .faq-main h1 { font-size: 1.85rem; }
  .lp-guide .faq-main { padding-left: 1.1rem; padding-right: 1.1rem; }
  .lp-guide .faq-top { justify-content: space-between; flex-wrap: nowrap; }
  .lp-guide .faq-nav { font-size: .85rem; }
}
.tool { border: 0 !important; background: var(--v7-tone) !important; }
.faq-main a:not(.lp-btn), .lp-more a { color: var(--v7-gold-ink) !important; text-decoration: underline; text-decoration-color: rgba(122, 85, 18, .35); text-underline-offset: 3px; }
.faq-main a:not(.lp-btn):hover { text-decoration-color: currentColor; }

/* ---- /referral ---- */
body.ref7 { background: var(--v7-ground) !important; color: var(--v7-ink); font-size: 17px; }
body.ref7 .top.ref7-top { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: nowrap;
  max-width: 1200px; margin: 0 auto; padding: .7rem 1.25rem; background: var(--v7-ground); border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
body.ref7 .top.ref7-top > div:last-child { display: flex; align-items: center; gap: 1.1rem; flex-wrap: wrap; justify-content: flex-end; }
body.ref7 .top a:not(.btn) { color: var(--v7-ink-2); font-weight: 500; margin: 0; font-size: .95rem; }
body.ref7 .top a:not(.btn):hover { color: var(--v7-ink); }
body.ref7 .lang-select { box-shadow: none !important; background: transparent; border: 1px solid rgba(34, 23, 13, .2); border-radius: 8px; }
body.ref7 .btn-gold { background: var(--v7-gold) !important; color: #2A1D08 !important; border: 0 !important; box-shadow: none !important; background-image: none !important; border-radius: 999px; padding: .7rem 1.3rem; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
body.ref7 .btn-gold:hover { background: var(--v7-gold-h) !important; }
body.ref7 .ref-main { max-width: 1080px; padding: 0 1.25rem 3rem; background: none !important; border: 0 !important; box-shadow: none !important; }
body.ref7 .ref-main .card { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0; }
.ref7-hero { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr); gap: 3rem; align-items: center; margin: .6rem 0 3.2rem; }
.ref7-hero h1 { font-family: var(--v7-serif) !important; font-weight: 400; font-size: clamp(2.6rem, 5vw, 4rem) !important; line-height: 1.04; letter-spacing: -0.02em; margin: 0 0 1rem !important; }
.ref7-hero .big { font-size: 1.2rem !important; line-height: 1.55; color: var(--v7-ink-2); max-width: 46ch; margin: 0; }
.ref7-fig { display: grid; gap: .35rem; margin: 1.8rem 0 1.6rem; }
.ref7-fig b { font-family: var(--v7-accent); font-style: italic; font-weight: 600; font-size: clamp(3.6rem, 7vw, 5.4rem); line-height: .95; color: var(--v7-gold-ink); letter-spacing: -0.01em; }
.ref7-fig span { font-size: 1rem; color: var(--v7-ink-2); max-width: 40ch; }
.ref7-acts { display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap; margin: 0; }
.ref7-acts a:not(.btn) { color: var(--v7-gold-ink); }
.ref7-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 18px; }
.ref7-body { max-width: 70ch; }
body.ref7 .ref-main h2 { font-family: var(--v7-serif) !important; font-weight: 400; font-size: clamp(1.5rem, 2.6vw, 1.9rem) !important; margin: 2.2rem 0 .7rem !important; }
body.ref7 .ref7-form { max-width: 70ch; margin-top: 2.6rem; padding: 1.6rem 1.6rem 1.4rem !important; background: var(--v7-tone) !important; border-radius: 18px !important; }
body.ref7 .ref7-form h2 { margin-top: 0 !important; }
body.ref7 .ref-form input:not([type=radio]):not([type=checkbox]), body.ref7 .ref-form select { border: 0; background: #fffdf8; box-shadow: none; }
body.ref7 .site-links { border: 0 !important; }
.ref7-crumbs { margin: .4rem 0 0; font-size: .9rem; }
@media (max-width: 860px) {
  .ref7-hero { grid-template-columns: 1fr; gap: 1.6rem; margin-bottom: 2rem; }
  .ref7-photo { order: 2; }
  .ref7-photo img { aspect-ratio: 16 / 10; }
  body.ref7 .top.ref7-top > div:last-child a[data-r="nav_home"], body.ref7 .top.ref7-top > div:last-child a[data-r="nav_program"], body.ref7 .top.ref7-top > div:last-child a[data-r="nav_terms"] { display: none; }
}
@media (max-width: 520px) {
  body.ref7 .ref7-hbtn { display: none !important; }
  .ref7-hero h1 { font-size: 2.4rem !important; }
  .ref7-fig b { font-size: 3.4rem; }
}
.ref7-fig { gap: .9rem; }
.ref7-fig b { line-height: 1.05; }
body.ref7 .top.ref7-top { max-width: 1080px; }
.ref7-photo img { object-position: 50% 20%; }

/* ---- /setup ---- */
body.onb .onb-aside { background: var(--v7-tone) !important; border-right: 0 !important; border-bottom: 0 !important; }
body.onb .onb-card { box-shadow: 0 30px 70px -30px rgba(70, 45, 15, .28) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; background: #FFFCF6 !important; }
body.onb .onb-brand, body.onb .onb-lang, body.onb .onb-login { box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
body.onb .onb-ico { background: #FFFCF6 !important; box-shadow: none !important; }
body.onb #panel > h2::before { display: none !important; }
body.onb .onb-free { display: block; margin-top: .5rem; font-weight: 600; color: var(--v7-gold-ink); }
body.onb .wiz button.primary, body.onb .onb-act.is-primary { background: var(--v7-gold) !important; box-shadow: none !important; border: 0 !important; color: #2A1D08 !important; }
body.onb .wiz button.primary:hover, body.onb .onb-act.is-primary:hover { background: var(--v7-gold-h) !important; }
body.onb .wiz button.primary::before, body.onb .onb-act.is-primary::before { display: none !important; }
body.onb .wiz-steps li.active span, body.onb .wiz-steps li.current span { box-shadow: none !important; }
body.onb #panel input { box-shadow: none !important; }
body.onb #panel, body.onb #panel p, body.onb #panel label { font-size: max(1rem, 16px); }
@media (max-width: 760px) {
  body.onb .onb-benefits { display: none !important; }
  body.onb .onb-aside { padding: 18px 20px 14px !important; }
  body.onb .onb-slogan { font-size: 1.6rem !important; margin: 0 !important; }
  body.onb .onb-lead { margin: .4rem 0 0 !important; font-size: .95rem; }
}
body.onb .wiz-steps li.on .wn { background: var(--v7-gold) !important; box-shadow: none !important; }
body.onb .wiz-steps li.done:not(:last-child)::after { background: var(--v7-gold) !important; }
@media (min-width: 761px) { body.onb .onb-slogan { font-size: clamp(2rem, 2.7vw, 2.5rem) !important; line-height: 1.1 !important; margin-bottom: 16px !important; } }
body.onb .onb-lead { margin-top: 12px; }
