/* Shared UI rules. See docs/branding-ui.md before adding a page or component. */
:root{--brand-navy:#063b66;--brand-orange:#ff7a00;--brand-teal:#00a1ad;--brand-surface:#e5f4fd;--brand-radius:16px;--brand-space:8px}
/* Page-specific legacy CTA rules must not override the shared hover palette. */
body .button:not(:disabled):not([aria-disabled="true"]):hover,body button:not(:disabled):hover,body [role="button"]:not([aria-disabled="true"]):hover{background:var(--brand-orange)!important;border-color:var(--brand-orange)!important;color:#fff!important}
body .button:hover .icon,body button:hover .icon{color:inherit}
body .button:focus-visible,body button:focus-visible{outline:3px solid var(--brand-teal);outline-offset:3px}
.nav #main-nav{align-items:center}
.nav #main-nav>a{display:flex;align-items:center;min-height:44px;line-height:20px;padding:12px 10px;font-weight:600;color:#536b80;border-radius:10px}
.passport-bar select{appearance:auto;background:#fff;color:var(--brand-navy);border-color:#cddde5;color-scheme:light}
.passport-bar select option{appearance:auto;background:#fff;color:var(--brand-navy);border:0;border-radius:0;box-shadow:none;margin:0;padding:0;font:inherit}
.market-footer .footer-brand .brand{display:inline-flex;background:#fff;color:var(--brand-navy);padding:6px 10px;border-radius:10px;font-size:18px;line-height:24px;margin:0}
.market-footer .footer-brand .brand>span:last-child{color:var(--brand-orange)}
.partner-card-heading{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:16px;min-width:0}
.partner-card-heading .partner-category-icon{margin:0;flex-shrink:0}
.partner-card-heading>div{min-width:0}
.sponsored-partner-card .partner-card-heading h3{font-size:16px;line-height:24px;margin:0 0 4px}
.partner-card-heading .partner-verified{font-size:11px;line-height:16px;align-items:flex-start}
.partner-card-heading .partner-verified .icon{flex-shrink:0}
.sponsored-partner-card .partner-logo,.partner-page .partner-logo{width:140px;height:40px;max-width:100%;object-fit:contain;object-position:left center;margin:8px 0}
.partner-hero{background:var(--hero);border-bottom:1px solid var(--border);padding:32px 0 48px}
.partner-page{padding:0}
.partner-page .destination-breadcrumb{margin-bottom:32px}
.partner-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:48px}
.partner-page h1{font-size:clamp(32px,3.7vw,48px);line-height:1.15;margin:16px 0 20px;max-width:720px;letter-spacing:-1px}
.partner-page .partner-hero-copy>p{font-size:16px;line-height:1.65;max-width:580px;margin:0 0 24px}
.partner-page .eyebrow{font-size:11px;line-height:16px;letter-spacing:1.3px;color:var(--brand-teal)}
.partner-hero-card{background:#fff;border:1px solid var(--border);border-radius:var(--brand-radius);padding:32px;box-shadow:0 5px 16px #063b6608}
.partner-hero-card .partner-category-icon{width:52px;height:52px;margin-bottom:20px}
.partner-hero-card h2{font-size:22px;line-height:30px;margin:16px 0 12px}
.partner-page p{font-size:14px;line-height:1.75;color:var(--muted)}
.partner-page .partner-page-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;margin-top:48px;margin-bottom:48px}
.partner-page-grid article{padding:28px;border-radius:var(--brand-radius)}
.partner-page-grid h2{font-size:24px;line-height:32px;margin-bottom:16px}
.partner-page-grid p{margin:12px 0 20px}
.partner-page .partner-checklist{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:16px}
.partner-checklist li{display:flex;gap:12px;font-size:14px;line-height:22px;color:var(--brand-navy)}
.partner-checklist .icon{flex-shrink:0;color:var(--brand-teal);margin-top:2px}
.partner-page .partner-hero-copy>p.partner-disclosure{font-size:12px;line-height:18px;margin:16px 0 0}
.partner-page .partner-return{margin-bottom:40px}
@media(max-width:1439px){.menu-open .nav #main-nav{align-items:stretch}}
@media(max-width:800px){.partner-hero-grid,.partner-page .partner-page-grid{grid-template-columns:1fr;gap:24px}.partner-hero{padding:24px 0 32px}.partner-hero-card{padding:24px}.partner-page .destination-breadcrumb{margin-bottom:24px}.partner-page .partner-page-grid{margin-top:32px;margin-bottom:32px}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}

/* Consultant ownership claim follows the shared VisaWand card and form design. */
.claim-shell{padding-top:48px;padding-bottom:56px;min-height:550px;display:flex;justify-content:center}
.claim-card{width:100%;max-width:600px;padding:32px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 8px 32px rgba(6,59,102,.06)}
.claim-card h1{font-size:clamp(26px,4vw,36px);line-height:1.2;margin:12px 0 24px}.claim-card p{line-height:1.65;margin:16px 0}.claim-card form{margin:24px 0 16px}.claim-card label{display:grid;gap:8px;margin-bottom:16px}.claim-card input{width:100%;min-height:44px;padding:12px;border:1px solid var(--border);border-radius:8px}.claim-card .button{width:100%}
@media(max-width:600px){.claim-shell{padding-top:24px;padding-bottom:32px}.claim-card{padding:24px}}

/* Document 3 refinements: compact logos, centered close control and banner indicators. */
.partner-logo[src*="mojosim"]{width:126px!important;height:36px!important}
.locale-heading .locale-close{padding:0;width:32px;height:32px;min-height:32px;line-height:1;display:grid;place-items:center}.locale-close svg{display:block;width:18px;height:18px;flex:none}
.country-guide-header-copy{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:end;gap:40px}.guide-banner-copy{min-width:0}.guide-banner-metrics{align-self:end}.guide-banner-metrics .country-metrics{max-width:none;margin:0}.guide-banner-metrics .country-metric-card{padding:10px}.guide-banner-metrics .country-metric-card .country-metric-value{font-size:21px}.guide-banner-metrics .country-metric-card h3{font-size:11px}.guide-banner-metrics .country-metric-card p,.guide-banner-metrics .country-metric-source,.guide-banner-metrics .country-metric-card small{font-size:10px}.guide-banner-metrics .country-metrics-note{font-size:10px}
.footer-social{display:flex;gap:12px;margin-top:20px}.market-footer .footer-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #ffffff55;border-radius:8px;margin:0;color:#fff}.footer-social svg{width:20px;height:20px;fill:currentColor}.market-footer .footer-social a:hover{background:#ff7a00;color:#fff}
@media(max-width:900px){.country-guide-header-copy{grid-template-columns:1fr;gap:24px}.guide-banner-metrics{max-width:360px}.guide-banner-copy h1{max-width:100%}}
/* Email monitoring uses the shared portal surfaces and typography. */
.email-log-table table{min-width:880px;table-layout:auto}.email-log-table th:first-child,.email-log-table td:first-child{width:56px;min-width:56px;white-space:nowrap;word-break:normal;overflow-wrap:normal}.email-log-table th:nth-child(2){width:34%}.email-log-table td:nth-child(2){min-width:240px}.email-log-table td:nth-child(6){min-width:145px}.email-log-table td:last-child{min-width:130px}.email-log-table td{vertical-align:top}.email-log-table small{display:block;margin-top:6px;color:var(--muted)}.email-log-table form{margin-top:12px}.email-status{font-size:12px;color:var(--navy,#063b66)}.email-webhook-status{display:grid;gap:8px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--hero);margin:20px 0}.email-preview{margin-top:24px}.email-preview dl{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;margin:24px 0}.email-preview dd{margin:0;overflow-wrap:anywhere}.email-message{padding:24px;border:1px solid var(--border);border-radius:12px;margin:16px 0;line-height:1.7;overflow-wrap:anywhere}.email-message a{color:#007c89;text-decoration:underline}.email-plain{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.7;padding:20px;background:#f3f8fc;border-radius:12px}.email-preview details{margin:20px 0}.email-preview summary{cursor:pointer;font-weight:600}.email-preview h4{margin:24px 0 12px}.portal-main,.portal-content,.portal-content .panel{min-width:0}@media(max-width:600px){.email-preview dl{grid-template-columns:1fr;gap:6px}.email-preview dd{margin-bottom:10px}.email-message{padding:16px}}
/* Compact portal navigation and consistent card alignment. */
.workspace-pagination{font-size:12px;margin:20px 0}.workspace-pagination>div{gap:6px}.workspace-pagination a,.workspace-pagination span[aria-current]{min-width:30px;min-height:30px;font-size:12px;border-radius:6px}.settings-content>.panel:first-child,.settings-content form>.panel:first-child{margin-top:0}.template-settings .settings-content{width:100%}.portal-body .brand{gap:0}.footer-social svg{width:14px;height:14px}.market-footer .footer-social a{width:28px;height:28px;border-radius:6px}.sponsored-partner-card .partner-logo-link{display:flex;align-items:center;height:48px;margin:8px 0 20px}.sponsored-partner-card .partner-logo{margin:0}.account-control-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.table-scroll td:last-child>form{display:inline-flex;margin-right:12px}.account-control-actions{margin-top:20px}.account-control-actions form,.table-scroll td:last-child>form+form{margin:0!important}.dashboard-range{display:flex;gap:12px;align-items:end;margin:0 0 24px}.dashboard-range label{display:grid;gap:8px}.dashboard-range select{min-width:180px}.contact-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}.contact-shell h1{font-size:36px;margin:16px 0}.contact-card{padding:32px;border:1px solid var(--border);border-radius:16px;background:white}.contact-card label{display:grid;gap:8px;margin:16px 0}.contact-card input,.contact-card textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-card .check-label{display:flex;gap:10px}.contact-card input[type=checkbox]{width:auto}.portal-toast{position:fixed;right:24px;bottom:24px;padding:16px 24px;max-width:calc(100vw - 32px);background:#063b66;color:white;border-radius:12px;z-index:1000;box-shadow:0 6px 24px #063b6622}.portal-toast[role=alert]{background:#a63630}.guest-booking{max-width:900px;margin:40px auto;padding:0 16px}.guest-booking .panel{background:white;border:1px solid var(--border);border-radius:16px;padding:32px}.guest-booking .workspace-form{display:grid;gap:20px}.guest-booking label{display:grid;gap:8px}.guest-booking input,.guest-booking select,.guest-booking textarea{padding:12px;border:1px solid var(--border);border-radius:8px}.guest-booking h1{margin:16px 0}.guest-booking .booking-review{padding:20px;background:var(--hero);border-radius:12px}@media(max-width:800px){.contact-shell{grid-template-columns:1fr;gap:24px}.contact-card{padding:24px}.dashboard-range{flex-wrap:wrap}}
/* Private consultation documents reuse portal panels and brand controls. */
.consultation-documents h1{font-size:clamp(24px,4vw,32px);line-height:1.2;margin:8px 0 16px}
.consultation-documents>form{margin:24px 0}
.consultation-documents .document-delete{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.consultation-documents .document-delete label{display:flex;align-items:center;gap:8px;white-space:normal}
.consultation-documents .document-delete input[type=checkbox]{width:18px;height:18px;flex:none}

/* Public navigation, contact and footer refinements. */
.market-nav>a:hover,.market-nav>a:focus-visible,.nav-links>a:hover,.nav-links>a:focus-visible{color:#ff7a00}.contact-email{display:inline-flex;align-items:center;gap:12px;color:#063b66;text-decoration:none;margin-top:12px}.contact-email svg{width:24px;height:24px;flex-shrink:0}.contact-email:hover{color:#ff7a00}.footer-disclaimer{max-width:1100px;margin-top:40px;padding-top:24px;border-top:1px solid #ffffff33}.footer-disclaimer h3{color:#fff;font-size:14px}.footer-disclaimer p{font-size:12px;line-height:1.8;margin:12px 0;color:#d2e1ee}.footer-disclaimer a{color:#fff;text-decoration:underline}.newsletter-bar h2{max-width:600px}.newsletter-bar p{max-width:580px}.main-nav>a:hover,.main-nav>a:focus-visible{color:#ff7a00}

#main-nav>a:hover,#main-nav>a:focus-visible{color:#ff7a00}
