/* OnlineTurkeyVisa v6 shared system — derived from the approved homepage. */
:root {
  --otv-navy: #16213e;
  --otv-navy-deep: #101a35;
  --otv-orange: #f2913a;
  --otv-orange-dark: #df7b25;
  --otv-orange-light: #fff0e1;
  --otv-mist: #f7f8fa;
  --otv-white: #ffffff;
  --otv-text: #16213e;
  --otv-muted: #667085;
  --otv-line: #e4e7ee;
  --otv-success: #198754;
  --otv-content-wide: 1180px;
  --otv-gutter: max(24px, calc((100vw - 1180px) / 2));
  --otv-radius: 16px;
  --otv-font: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Shared light shell for every non-homepage WordPress route. */
body.otv-brand-page {
  margin: 0 !important;
  background: var(--otv-mist) !important;
  color: var(--otv-text) !important;
  font-family: var(--otv-font) !important;
}
body.otv-brand-page *, body.otv-brand-page *::before, body.otv-brand-page *::after { box-sizing: border-box; }
.otv-utility-bar { background: var(--otv-navy-deep); color: rgba(255,255,255,.72); font-size: 12px; }
.otv-utility-inner { width: min(var(--otv-content-wide), calc(100% - 48px)); min-height: 32px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.otv-utility-bar a { color: #ffd08c; font-weight: 700; text-decoration: none; }
.otv-shell-header { position: sticky; top: 0; z-index: 30; background: #fff; border-bottom: 1px solid var(--otv-line); }
.otv-shell-inner { width: min(var(--otv-content-wide), calc(100% - 48px)); min-height: 78px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.otv-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--otv-navy); font-family: var(--otv-font) !important; font-size: 18px; font-weight: 800; letter-spacing: -.045em; text-decoration: none; }
.otv-brand-mark { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: var(--otv-navy); color: #ffc470; font-size: 18px; line-height: 1; }
.otv-shell-nav { display: flex; align-items: center; gap: 32px; }
.otv-shell-nav a { color: rgba(22,33,62,.76); font-family: var(--otv-font) !important; font-size: 14px; font-weight: 700; letter-spacing: 0 !important; text-decoration: none; text-transform: none !important; }
.otv-shell-nav a:hover { color: var(--otv-navy); }
.otv-button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 0 23px; border-radius: 999px; background: var(--otv-orange); box-shadow: 0 10px 22px rgba(242,145,58,.26); color: #fff !important; font-family: var(--otv-font) !important; font-size: 14px; font-weight: 800; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.otv-button:hover { background: var(--otv-orange-dark); transform: translateY(-1px); }
.otv-page-main { min-height: 62vh; background: var(--otv-mist); }
.otv-page-hero { padding: clamp(70px, 10vw, 118px) var(--otv-gutter) 64px; background: var(--otv-mist); border-bottom: 1px solid var(--otv-line); }
.otv-page-hero-copy { width: min(760px, 100%); }
.otv-page-kicker { margin: 0 0 14px; color: var(--otv-orange-dark); font-family: var(--otv-font) !important; font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.otv-page-hero::after { content: none !important; }
.otv-page-hero h1 { margin: 0 0 18px; color: var(--otv-navy) !important; font-family: var(--otv-font) !important; font-size: clamp(40px, 6vw, 68px) !important; font-weight: 800 !important; letter-spacing: -.035em !important; line-height: 1.02 !important; }
.otv-page-hero p { max-width: 650px; margin: 0; color: var(--otv-muted); font-size: 17px; line-height: 1.7; }
.otv-page-content { width: min(920px, calc(100% - 48px)); margin: auto; padding: 70px 0 96px; }
.otv-page-content > h1:first-child, .otv-page-content > .wp-block-heading:first-child { display: none; }
.otv-page-content h2, .otv-page-content h3 { color: var(--otv-navy) !important; font-family: var(--otv-font) !important; font-weight: 800 !important; letter-spacing: -.03em !important; }
.otv-page-content h2 { margin: 52px 0 16px; font-size: clamp(28px, 4vw, 42px) !important; }
.otv-page-content h3 { margin: 34px 0 12px; font-size: 24px !important; }
.otv-page-content p, .otv-page-content li { color: #435066 !important; font-size: 16px; line-height: 1.75; }
.otv-page-content a { color: var(--otv-orange-dark); font-weight: 800; }
.otv-page-content table { width: 100%; border-collapse: collapse; margin: 26px 0; background: #fff; border: 1px solid var(--otv-line); border-radius: 12px; overflow: hidden; }
.otv-page-content td, .otv-page-content th { padding: 14px; border-bottom: 1px solid var(--otv-line); text-align: left; }
.otv-shell-footer { background: var(--otv-navy-deep); padding: 58px var(--otv-gutter) 25px; color: rgba(255,255,255,.7); }
.otv-shell-footer-inner { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 44px; width: min(var(--otv-content-wide), 100%); margin: auto; }
.otv-shell-footer p, .otv-shell-footer a { color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.7; }
.otv-shell-footer a { text-decoration: none; }
.otv-shell-footer a:hover { color: #fff; }
.otv-shell-footer-links { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 10px 22px; }
.otv-shell-footer-bottom { width: min(var(--otv-content-wide), 100%); margin: 38px auto 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.45); font-size: 12px; }

/* Form: a calm, full-width light workspace that uses the homepage accent and typography. */
body.otv-brand-page #trevisa-app { --ink: var(--otv-navy); --paper: var(--otv-mist); --night: var(--otv-navy); --accent: var(--otv-orange); --line: var(--otv-line); color: var(--otv-navy) !important; background: var(--otv-mist) !important; font-family: var(--otv-font) !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] .trevisa-app-main { padding: 72px var(--otv-gutter) 92px !important; background: var(--otv-mist) !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] .trevisa-form-stage { max-width: 1040px; }
body.otv-brand-page #trevisa-app[data-brand="online"] .trevisa-form-header { align-items: end; padding: 0 0 24px; border-color: var(--otv-line); }
body.otv-brand-page #trevisa-app[data-brand="online"] .trevisa-form-header p { color: var(--otv-orange-dark); font-family: var(--otv-font); font-weight: 800; }
body.otv-brand-page #trevisa-app[data-brand="online"] .trevisa-form-header h1, body.otv-brand-page #trevisa-app[data-brand="online"] #app-card h2, body.otv-brand-page #trevisa-app[data-brand="online"] #app-card h3 { color: var(--otv-navy) !important; -webkit-text-fill-color: var(--otv-navy) !important; font-family: var(--otv-font) !important; font-weight: 800 !important; letter-spacing: -.03em !important; line-height: 1.04 !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] .trevisa-form-header li { color: #8b97a8; }
body.otv-brand-page #trevisa-app[data-brand="online"] .trevisa-form-header li:before { background: #cbd5df; }
body.otv-brand-page #trevisa-app[data-brand="online"] .trevisa-form-header li.is-current { color: var(--otv-navy); }
body.otv-brand-page #trevisa-app[data-brand="online"] .trevisa-form-header li.is-current:before, body.otv-brand-page #trevisa-app[data-brand="online"] #progress-dots > *.bg-red-600 { background: var(--otv-orange) !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] #app-card { border: 1px solid var(--otv-line); border-radius: 18px; background: #fff; box-shadow: 0 20px 48px rgba(22,33,62,.09); color: var(--otv-navy); }
body.otv-brand-page #trevisa-app[data-brand="online"] #app-card p, body.otv-brand-page #trevisa-app[data-brand="online"] #app-card label, body.otv-brand-page #trevisa-app[data-brand="online"] #app-card span { color: inherit; }
body.otv-brand-page #trevisa-app[data-brand="online"] #app-card input:not([type="checkbox"]):not([type="radio"]), body.otv-brand-page #trevisa-app[data-brand="online"] #app-card select, body.otv-brand-page #trevisa-app[data-brand="online"] #app-card textarea { background: #fff !important; border-color: #cfd8e3 !important; border-radius: 10px !important; color: var(--otv-navy) !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] #app-card input::placeholder { color: #8290a4 !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] #app-card input:focus, body.otv-brand-page #trevisa-app[data-brand="online"] #app-card select:focus, body.otv-brand-page #trevisa-app[data-brand="online"] #app-card textarea:focus { border-color: var(--otv-orange) !important; box-shadow: 0 0 0 4px rgba(242,145,58,.14) !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] #app-card label[class*="border"] { background: #fff !important; border-color: #d9e1e9 !important; border-radius: 10px !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] #app-card label[class*="border"]:has(input:checked) { background: #fff8f1 !important; border-color: var(--otv-orange) !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] #app-card button[id^="btn-"], body.otv-brand-page #trevisa-app[data-brand="online"] #app-card button[onclick*="navigateForward"], body.otv-brand-page #trevisa-app[data-brand="online"] #app-card button[onclick*="setApplicantCount"], body.otv-brand-page #trevisa-app[data-brand="online"] #app-card button[onclick*="confirmS1Doc"] { border-radius: 999px !important; background: var(--otv-orange) !important; box-shadow: 0 12px 24px rgba(242,145,58,.25) !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] #app-card button[id^="btn-"]:hover, body.otv-brand-page #trevisa-app[data-brand="online"] #app-card button[onclick*="navigateForward"]:hover { background: var(--otv-orange-dark) !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] #btn-manual-scan { color: var(--otv-orange-dark) !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] #support-doc-block, body.otv-brand-page #trevisa-app[data-brand="online"] #plan-warning { background: #fff8e7 !important; border-color: #efc56d !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] #exempt-card, body.otv-brand-page #trevisa-app[data-brand="online"] #eligibility-card, body.otv-brand-page #trevisa-app[data-brand="online"] #scan-success-banner { background: #f0faf5 !important; border-color: #a9d9bd !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] #embassy-card { background: #fff1f1 !important; border-color: #e9a1a1 !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] #scanner-ui { background: var(--otv-navy) !important; border-radius: 14px !important; }
body.otv-brand-page #trevisa-app[data-brand="online"] #review-body, body.otv-brand-page #trevisa-app[data-brand="online"] #ins-review-body { background: #f8fafc !important; border-color: var(--otv-line) !important; }

/* Application QA: keep transient controls contained and the required-document
   panel legible beside the eligibility flow. */
body.otv-brand-page #trevisa-app #country-drop { z-index: 70; border: 1px solid #cfd8e3; border-radius: 10px; box-shadow: 0 18px 34px rgba(22,33,62,.16); }
body.otv-brand-page #trevisa-app #country-list { max-height: min(320px, calc(100vh - 270px)); overflow-y: auto; overscroll-behavior: contain; }
body.otv-brand-page #trevisa-app #step-1-shell:has(#s1-doc-panel:not(.hidden)) { align-items: stretch; }
body.otv-brand-page #trevisa-app #step-1-shell:has(#s1-doc-panel:not(.hidden)) #step-1-main { padding-bottom: 24px; }
body.otv-brand-page #trevisa-app #s1-doc-panel .s1-doc-inner { position: sticky; top: 108px; border: 1px solid var(--otv-line) !important; border-radius: 14px !important; box-shadow: 0 16px 34px rgba(22,33,62,.10) !important; }
body.otv-brand-page #trevisa-app #s1-doc-panel [id="s1-d-error"] { margin: 12px 0; color: #b42318; font-size: 13px; font-weight: 700; }

/* Contact is a support surface, not an empty title page. */
.otv-contact-card { max-width: 720px; padding: clamp(28px,5vw,48px); border: 1px solid var(--otv-line); border-radius: 18px; background: #fff; box-shadow: 0 18px 42px rgba(22,33,62,.08); }
.otv-contact-card h2 { margin-top: 0 !important; }
.otv-contact-card p { max-width: 620px; }
.otv-contact-kicker { margin: 0 0 10px !important; color: var(--otv-orange-dark) !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .11em; text-transform: uppercase; }
.otv-contact-card dl { display: grid; gap: 14px; margin: 32px 0 0; padding-top: 24px; border-top: 1px solid var(--otv-line); }
.otv-contact-card dt { color: var(--otv-muted); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.otv-contact-card dd { margin: 4px 0 0; color: var(--otv-navy); font-weight: 700; }

@media (max-width: 760px) { .otv-utility-inner, .otv-shell-inner { width: calc(100% - 40px); } .otv-utility-inner { min-height: 32px; justify-content: center; text-align: center; } .otv-utility-inner span:last-child { display: none; } .otv-shell-inner { min-height: 70px; } .otv-shell-nav { display: none; } .otv-brand { font-size: 16px; } .otv-page-content { width: calc(100% - 40px); padding: 54px 0 70px; } .otv-shell-footer-inner { grid-template-columns: 1fr; } body.otv-brand-page #trevisa-app[data-brand="online"] .trevisa-app-main { padding: 42px 20px 58px !important; } body.otv-brand-page #trevisa-app[data-brand="online"] .trevisa-form-header ol { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } }
