/* Shared app-like controls. Content remains usable without animation. */
:root { --mv-app-ease:cubic-bezier(.2,.75,.25,1); }
/* Native top layer keeps selectors outside animated wizard containing blocks. */
dialog.mv-wizard-select-overlay {margin:0;width:100%;height:100%;max-width:none;max-height:none;border:0;padding:24px 0 0;background:transparent}
dialog.mv-wizard-select-overlay:not([open]) {display:none}
dialog.mv-wizard-select-overlay::backdrop {background:#061a368f}
.mv-discover-instruction {margin:10px 0 20px;color:#526b7c;font-size:14px}
.mv-account-layout > * {min-width:0}
.mv-account-profile-head {flex-wrap:wrap}
.mv-account-profile-head > div {min-width:0;flex:1 1 210px;overflow-wrap:anywhere}
.mv-account-stats {grid-template-columns:repeat(2,minmax(0,1fr))}
.mv-app-header > .mv-layout-shell {gap:16px}
.mv-app-header .mv-desktop-nav {margin-left:auto;gap:24px}
.mv-app-menu-button,.mv-app-icon-button {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;border:1px solid #d8e5e9;border-radius:14px;background:#f1f7f8;color:#082855;font-size:13px;font-weight:750;cursor:pointer;padding:10px 13px;flex-shrink:0}
.mv-app-icon-button {padding:10px}
.mv-app-menu {width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:24px;border:1px solid #d9e6e9;border-radius:26px;background:#f8fbfb;color:#082855;box-shadow:0 24px 90px #08285538;overflow-y:auto;overscroll-behavior:contain}
.mv-app-menu:not([open]) {display:none}
.mv-app-menu::backdrop {background:#061c39a8;backdrop-filter:blur(5px)}
.mv-app-menu-heading {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}
.mv-app-menu-heading p {font-size:12px;color:#147b7e;font-weight:750;margin:0 0 4px}
.mv-app-menu-heading h2 {font-family:Fraunces,serif;font-size:28px;line-height:1.15;margin:0}
.mv-app-menu-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mv-app-menu-grid a {display:flex;align-items:center;gap:12px;min-height:72px;padding:15px;border:1px solid #dce7ea;border-radius:17px;background:#fff;text-decoration:none;color:#244561;font-size:14px;font-weight:700}
.mv-app-menu-grid .mv-icon {width:23px;height:23px;flex-shrink:0;color:#147b7e}
.mv-app-menu-grid a.is-active {background:#e4f4f1;border-color:#0f7b7e;color:#075c61}
.mv-app-menu-legal {display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:18px;padding-top:12px;border-top:1px solid #dce7ea}
.mv-app-menu-legal a {display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:#536c7d;text-decoration:underline;text-underline-offset:4px}
.mv-app-menu :focus-visible,.mv-app-menu-button:focus-visible,.mv-day-picker button:focus-visible {outline:3px solid #14898b;outline-offset:3px}
body .mv-bottom-nav > a {position:relative;isolation:isolate;gap:2px;font-size:11px;min-height:max(44px,2.75rem);padding-block:.125rem}
.mv-bottom-nav > a .mv-icon {box-sizing:border-box;flex-shrink:0;width:3.375rem;height:1.625rem;padding:.125rem 1rem;border-radius:1rem}
.mv-bottom-nav > a.is-active {background:transparent;color:#076a70}
.mv-bottom-nav > a.is-active .mv-icon {background:#dcefeb}
.mv-destination-page .mv-section-nav .mv-chip {border:0;border-radius:12px;padding:9px 13px;min-height:44px;white-space:nowrap;color:#486176;background:transparent;font-size:13px}
.mv-destination-page .mv-section-nav .mv-chip.is-current {color:#fff;background:#14676d;box-shadow:inset 0 0 0 1px #14676d}
.mv-destination-page .mv-section-nav .mv-chip:focus-visible {outline:3px solid #082855;outline-offset:2px}
@media (hover:hover) {.mv-destination-page .mv-section-nav .mv-chip:not(.is-current):hover {background:#fff;color:#14676d}}
.mv-destination-page .mv-section-nav .mv-layout-shell {gap:5px;padding-block:9px}
.mv-destination-page .mv-trip-hero {min-height:0}
.mv-destination-page .mv-trip-hero > img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mv-destination-page .mv-trip-hero .mv-layout-shell {position:relative;min-height:0;padding-top:32px;padding-bottom:34px}
.mv-destination-page .mv-trip-hero .mv-hero-title {font-size:clamp(38px,5.2vw,64px);line-height:1.05;margin-top:12px}
.mv-destination-page .mv-trip-hero-summary {max-width:650px;line-height:1.6}
.mv-destination-back {display:inline-flex;align-items:center;gap:7px;min-height:44px;color:#fff;font-size:13px;font-weight:650;text-decoration:none}
.mv-destination-page .mv-applied-preferences {display:flex;align-items:center;gap:12px;max-width:650px;width:fit-content;padding:8px 12px;margin-top:18px;border:1px solid #ffffff45;border-radius:16px;background:#08285565;color:white;text-align:left;min-height:48px;cursor:pointer}
.mv-applied-preferences > span {font-size:13px;line-height:1.4}
.mv-applied-preferences strong {display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}
.mv-destination-page .mv-trip-layout {grid-template-columns:minmax(0,1fr) 300px;gap:24px}
.mv-destination-page .mv-destination-content {padding-top:22px}
.mv-detail-disclosure > summary {display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;list-style:none;font-weight:750;color:#082855}
.mv-detail-disclosure > summary::-webkit-details-marker {display:none}
.mv-detail-disclosure > summary > .mv-icon:last-child {margin-left:auto;flex-shrink:0}
.mv-detail-disclosure[open] > summary > .mv-icon:last-child {transform:rotate(180deg)}
.mv-detail-extras {display:grid;gap:14px}
.mv-day-picker {display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding:5px 3px 12px;margin-top:18px;scrollbar-width:thin}
.mv-day-picker button {display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-height:48px;min-width:74px;padding:10px 14px;background:#f0f6f7;border:1px solid #cedfe3;border-radius:14px;color:#466174;font-size:14px;font-weight:750}
.mv-day-picker button[aria-pressed="true"] {background:#0b7278;border-color:#0b7278;color:#fff;box-shadow:0 5px 12px #0b727824}
.mv-destination-page .mv-day-preview {border:1px solid #d4e5e5;border-radius:20px;background:#fff;overflow:hidden}
.mv-day-preview-heading {display:flex;align-items:center;gap:12px;padding:20px;background:linear-gradient(110deg,#edf8f5,#f4f8fd)}
.mv-day-preview-number {display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:14px;background:#fff;color:#0b7278;font-size:21px;font-weight:800}
.mv-day-preview-heading small {font-size:11px;color:#347579;font-weight:750;text-transform:uppercase;letter-spacing:.08em}
.mv-day-preview-heading h3 {font-size:19px;line-height:1.35;color:#082855;margin:3px 0 0}
.mv-destination-page .mv-day-preview .mv-trip-accordion-body {padding:20px}
.mv-destination-page .mv-save-feedback {padding:12px 15px;background:#f2f7fc;border:1px solid #cbdcea;border-radius:14px;color:#163e60;max-width:650px}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .mv-app-menu-grid a:hover {transform:translateY(-2px);border-color:#78b7b2;box-shadow:0 6px 15px #0828550c}
}
@media (prefers-reduced-motion:no-preference) {
 .mv-app-menu[open] {animation:mv-panel-in .22s var(--mv-app-ease)}
 .mv-app-menu::backdrop {animation:mv-fade-in .18s ease-out}
 .mv-app-menu-grid a,.mv-app-menu-button,.mv-bottom-nav a,.mv-day-picker button,.mv-detail-disclosure > summary > .mv-icon {transition:transform .18s var(--mv-app-ease),background-color .18s ease,border-color .18s ease}
 .mv-app-menu-button:active,.mv-app-menu-grid a:active,.mv-bottom-nav a:active,.mv-day-picker button:active,main .mv-button-primary:active,main .mv-button-secondary:active,main .mv-button-accent:active {transform:scale(.97)}
 .mv-detail-disclosure[open] > :not(summary),.mv-day-preview {animation:mv-content-in .18s ease-out}
 .mv-save-feedback {animation:mv-content-in .2s ease-out}
}
@keyframes mv-panel-in {from {opacity:0;transform:translateY(20px)}to {opacity:1;transform:translateY(0)}}
@keyframes mv-content-in {from {opacity:.4;transform:translateY(5px)}to {opacity:1;transform:translateY(0)}}
@keyframes mv-fade-in {from {opacity:0}to {opacity:1}}
@media (max-width:1023px) {
 .mv-destination-page .mv-trip-layout {grid-template-columns:minmax(0,1fr)}
 .mv-destination-page .mv-sticky-sidebar {display:none}
}
@media (max-width:767px) {
 .mv-app-menu {width:100%;max-width:none;max-height:calc(100dvh - 24px);margin:auto 0 0;padding:22px max(18px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));border-radius:26px 26px 0 0;border-bottom:0}
 .mv-app-menu-heading h2 {font-size:26px}
 .mv-app-header > .mv-layout-shell {padding-block:8px}
 body .mv-bottom-nav {min-height:0;gap:4px;padding:4px max(8px,env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-shadow:0 -4px 24px #0828550b}
 .mv-destination-page .mv-trip-hero .mv-layout-shell {padding-top:12px;padding-bottom:24px}
 .mv-destination-page .mv-trip-hero .mv-hero-title {font-size:clamp(36px,10vw,46px)}
 .mv-destination-page .mv-applied-preferences {width:100%;gap:10px}
 .mv-destination-page .mv-applied-preferences > span {flex:1;min-width:0}
 .mv-destination-page .mv-trip-hero-summary {font-size:14px}
 .mv-destination-page .mv-destination-content {padding-top:16px}
 .mv-day-preview-heading,.mv-destination-page .mv-day-preview .mv-trip-accordion-body {padding:16px}
 .mv-day-preview-heading h3 {font-size:17px}
 .mv-reservation-fields {grid-template-columns:minmax(0,1fr)}
 .mv-keyboard-open .mv-bottom-nav,.mv-keyboard-open .mv-reserve-dock {display:none!important}
}
@media (prefers-reduced-motion:reduce) {
 .mv-app-menu,.mv-app-menu::backdrop,.mv-app-menu *,.mv-bottom-nav *,main [x-show],main [x-transition],main [role="dialog"] *,.mv-day-preview,.mv-save-feedback,.mv-detail-disclosure * {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Public component finish: one action scale and compact content rhythm. */
body[class] :is(.mv-button-primary,.mv-button-secondary,.mv-button-accent),
.mv-results-page :is(.mv-result-cta,.mv-result-card-link,.mv-results-reserve-link),
.mv-home-page .mv-card-link {
 align-items:center;justify-content:center;gap:8px;min-height:48px;
 padding:12px 16px;border-radius:12px;font-size:14px;font-weight:700;line-height:1.4;
 text-align:center;text-decoration:none;box-shadow:none;box-sizing:border-box;
}
body[class] .mv-button-primary,.mv-results-page :is(.mv-result-cta,.mv-result-card-link) {background:#0b7278;border:1px solid #0b7278;color:#fff}
body[class] .mv-button-secondary,.mv-home-page .mv-card-link {background:#edf6f5;border:1px solid #c6dedb;color:#12656c}
body[class] .mv-button-accent {background:#ff8700;border:1px solid #ff8700;color:#082855}
.mv-results-page .mv-results-reserve-link,.mv-my-trips-page .mv-trip-primary-actions>.mv-button-accent {background:#fff3e5;border:1px solid #efc99d;color:#88400b}
body[class] :is(.mv-button-primary,.mv-button-secondary,.mv-button-accent) .mv-icon {width:18px;height:18px;flex-shrink:0}
body[class] .mv-button-primary:hover {background:#075d63;border-color:#075d63}
body[class] .mv-button-secondary:hover,.mv-home-page .mv-card-link:hover {background:#dfeeea}
body[class] .mv-button-accent:hover {background:#f57c00;border-color:#f57c00}
.mv-my-trips-page .mv-trip-primary-actions>.mv-button-accent:hover,.mv-results-page .mv-results-reserve-link:hover {background:#ffe7cb}
body[class] :is(.mv-button-primary,.mv-button-secondary,.mv-button-accent):disabled {opacity:.55;cursor:default}
body[class] :is(.mv-button-primary,.mv-button-secondary,.mv-button-accent):focus-visible {outline:3px solid #14898b;outline-offset:3px}
.mv-destination-page .mv-trip-hero .mv-button-secondary {background:#ffffff18;border-color:#ffffff70;color:#fff}
.mv-destination-page .mv-trip-hero .mv-button-secondary:hover {background:#ffffff30}

/* Cards contain previews, not the complete destination article. */
.mv-home-page .mv-home-destination-card {display:flex;flex-direction:column;height:auto;min-height:0;align-self:stretch}
.mv-home-page .mv-home-destination-body {display:flex;flex:1;flex-direction:column;gap:12px;padding:16px}
.mv-home-page .mv-home-destination-summary {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.5;min-height:4.5em;font-size:14px}
.mv-home-page .mv-home-destination-chips {margin-top:auto}
.mv-home-page .mv-card-link {width:100%;margin:0}
.mv-home-page .mv-save-destination-button {width:44px;height:44px}
.mv-home-page .mv-itinerary-preview-list {padding:0;display:grid;gap:12px}
.mv-home-page .mv-itinerary-preview-list::before {display:none}
.mv-home-page .mv-itinerary-preview-step:not(:last-child)::after {content:"";position:absolute;left:13px;top:28px;bottom:-12px;width:2px;background:#78afb1;pointer-events:none}
.mv-home-page .mv-itinerary-preview-step {display:grid;grid-template-columns:28px minmax(0,1fr);gap:3px 10px;padding:0}
.mv-home-page .mv-itinerary-preview-step>.mv-timeline-dot {position:static;grid-column:1;grid-row:1/3;width:28px;height:28px;margin:0;align-self:start}
.mv-home-page .mv-itinerary-preview-step>p,.mv-home-page .mv-itinerary-preview-step>small {grid-column:2;margin:0}

/* A single step indicator, without columns reserved for absent controls. */
.mv-discover-page .mv-wizard-card-head {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 12px;margin:0 0 16px;border-bottom:1px solid #d8e5e9}
.mv-discover-page .mv-wizard-card-head>.mv-wizard-head-tools {width:auto;display:block;flex-shrink:0}
.mv-discover-page .mv-wizard-card-head .mv-wizard-step-counter {font-size:11px;letter-spacing:.07em;line-height:1.5}
.mv-discover-page .mv-wizard-restart-link {min-height:44px;font-size:12px;padding:8px 0}
.mv-discover-page .mv-wizard-step-intro,.mv-discover-page .mv-discover-completed-head {margin-top:0}
.mv-discover-page .mv-wizard-actions {display:flex;gap:10px;margin-top:18px;align-items:center}
.mv-discover-page .mv-wizard-actions .mv-button-accent {flex:1;min-width:0;width:auto;margin:0;order:0;grid-column:auto}
.mv-discover-page .mv-wizard-back {min-height:48px;min-width:44px;flex:0 0 auto;border:1px solid #d8e5e9;border-radius:12px;background:#f3f7f8}
.mv-discover-page .mv-discover-completed-actions {padding-top:16px;grid-template-columns:none}
.mv-discover-page .mv-discover-grid {align-items:start}
.mv-discover-page .mv-discover-section {padding-bottom:28px}

/* Keep content flush with the measured sticky header and readable at 360 px. */
.mv-destination-page .mv-destination-nav {top:var(--mv-measured-header,64px);background:#e8f2f3;border-bottom-color:#c4dcdf;backdrop-filter:none}
.mv-destination-page main [id] {scroll-margin-top:var(--mv-section-offset,140px)}
.mv-destination-page .mv-destination-content {padding-bottom:28px;gap:20px}
.mv-destination-page .mv-main-stack {gap:20px;min-width:0}
.mv-destination-page #itinerario.mv-page-section {width:100%;margin:0;padding:0}
.mv-destination-page .mv-destination-description {margin:16px 0 0;font-size:14px;line-height:1.65;color:#526b7c}
.mv-destination-page .mv-section-heading h2 {font-size:28px}
.mv-destination-page .mv-day-picker {margin-top:14px;padding-bottom:6px;scrollbar-width:none}
.mv-day-picker::-webkit-scrollbar {display:none}
.mv-save-plan {margin-top:18px;padding:20px;border:1px solid #c4dedd;border-radius:16px;background:#edf7f5}
.mv-save-plan.is-saved {border-color:#75b4ae;background:#e4f3ef}
.mv-save-plan-action {display:flex;align-items:center;justify-content:space-between;gap:16px}
.mv-save-plan-copy {display:flex;align-items:flex-start;gap:12px;min-width:0}
.mv-save-plan-copy h3 {margin:0 0 5px;font-size:17px;font-weight:750;line-height:1.35;color:#082855}
.mv-save-plan-copy p {margin:0;font-size:14px;line-height:1.6;color:#405e69}
.mv-save-plan-action>button {flex-shrink:0}
.mv-flow-icon {display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #bfdcda;border-radius:13px;background:#dcf0ed;color:#0b7278}
.mv-flow-icon .mv-icon {width:22px;height:22px;flex-shrink:0}
.mv-trip-welcome {display:flex;align-items:flex-start;gap:18px;padding:28px;margin-top:24px;border:1px solid #c4dedd;border-radius:20px;background:linear-gradient(115deg,#edf7f5,#fff)}
.mv-trip-welcome-content {display:grid;gap:18px;min-width:0}
.mv-trip-welcome h2 {margin:0;font-size:clamp(22px,3vw,28px);font-weight:750;line-height:1.25;color:#082855}
.mv-trip-welcome p {max-width:640px;margin:10px 0 0;font-size:15px;line-height:1.65;color:#405e69}
.mv-flow-text-link {display:inline-flex;align-items:center;gap:8px;min-height:44px;width:fit-content;max-width:100%;font-size:13px;font-weight:700;color:#12656c;text-decoration:underline;text-underline-offset:3px}
.mv-flow-text-link .mv-icon {flex-shrink:0}
.mv-flow-text-link:focus-visible {outline:3px solid #14898b;outline-offset:3px;border-radius:4px}
.mv-auth-trip-context {display:flex;align-items:flex-start;gap:12px;padding:16px;margin-top:20px;border:1px solid #c4dedd;border-radius:14px;background:#edf7f5;color:#082855}
.mv-auth-trip-context>div {min-width:0}
.mv-auth-trip-context strong {display:block;font-size:14px;font-weight:750}
.mv-auth-trip-context p {margin:5px 0 0;font-size:13px;line-height:1.6;color:#405e69}
.mv-destination-page .mv-reservation-benefits span {display:inline-flex;align-items:center;gap:7px;color:#e1eff3}
.mv-destination-page .mv-reservation-panel {margin-top:0;box-shadow:none}
.mv-destination-page .mv-reservation-intro h2 {margin:12px 0;font-size:30px}
.mv-destination-page .mv-reservation-intro>p {font-size:14px}

/* Progress belongs to the plan cover; both kinds of card share action placement. */
.mv-trip-cover-progress {position:absolute;top:14px;right:16px;max-width:46%;padding:7px 9px;border-radius:8px;background:#fffffff2;gap:5px}
.mv-trip-cover-progress .mv-trip-progress {font-size:11px;color:#365366}
.mv-trip-cover-progress progress {height:4px}
.mv-my-trips-page .mv-trip-card-content {padding:16px 18px 4px}
.mv-my-trips-page .mv-trip-card-content>.mv-trip-primary-actions {margin-top:0}
.mv-results-page .mv-results-reserve-link {margin-top:8px}

/* Reserve room for the fixed bar once, after the footer. */
body[class] .mv-site-footer {padding-bottom:0;margin-top:0}
body[class] .mv-site-footer-inner {padding-block:20px;gap:16px}
body[class] .mv-footer-links a,body[class] .mv-footer-cookie-link {font-size:13px;font-weight:600}
body[class] .mv-footer-links nav:first-child {gap:4px 16px}
body[class] .mv-footer-links nav:first-child>a,body[class] .mv-footer-cookie-link {display:inline-flex;align-items:center;min-height:36px}
.mv-home-page main {padding-bottom:28px}
@media(max-width:767px) {
 body[class] .mv-site-footer {padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 body.mv-destination-page {padding-bottom:0}
 .mv-destination-page .mv-destination-content {width:calc(100% - 24px);gap:16px;padding-top:16px;padding-bottom:24px}
 .mv-destination-page .mv-main-stack {gap:16px}
 .mv-destination-page :is(.mv-summary-card,.mv-see-section,.mv-itinerary-card,.mv-tip-card,.mv-map-card) {padding:16px;border-radius:18px;box-shadow:none}
 .mv-destination-page .mv-detail-disclosure>summary {min-height:44px}
 .mv-destination-page .mv-day-preview .mv-trip-accordion-body,.mv-destination-page .mv-day-preview-heading {padding:14px}
 .mv-destination-page .mv-section-heading {gap:10px}
 .mv-destination-page .mv-section-heading h2 {font-size:25px}
 .mv-destination-page .mv-day-preview-heading h3 {font-size:17px}
 .mv-destination-page .mv-itinerary-day-content {min-width:0}
 .mv-destination-page .mv-itinerary-note {padding:12px}
 .mv-save-plan-action {flex-direction:column;align-items:stretch;gap:10px}
 .mv-save-plan {padding:16px}
 .mv-trip-welcome {padding:20px;gap:14px;flex-direction:column}
 .mv-trip-welcome-content {gap:14px}
 .mv-auth-trip-context {padding:14px;gap:10px}
 .mv-destination-page .mv-reservation-panel {padding:18px 14px;gap:14px}
 .mv-destination-page .mv-reservation-intro h2 {font-size:27px}
 .mv-discover-page .mv-home-wizard-card {padding:16px}
 .mv-discover-page .mv-discover-section {padding-bottom:24px}
 .mv-discover-page .mv-discover-flow {gap:0}
 .mv-home-page .mv-itinerary-preview {padding:16px}
 .mv-home-page main {padding-bottom:24px}
 .mv-results-page .mv-results-shell,.mv-my-trips-page .mv-page-section {padding-bottom:24px}
}

/* Final review: remove inherited questionnaire spacing and repeated completion sidebar. */
.mv-discover-page main {padding-bottom:0}
.mv-discover-page .mv-discover-heading h1 {font-size:clamp(28px,3.5vw,38px);line-height:1.15;max-width:none}
.mv-discover-page .mv-discover-heading {margin-bottom:18px;padding-left:0}
.mv-discover-page .mv-discover-completed {grid-column:1/-1}
.mv-discover-page .mv-home-wizard-card:not(.mv-discover-completed) {min-height:0!important}
.mv-home-page .mv-itinerary-preview-step {align-items:center}
.mv-home-page .mv-itinerary-preview-step>.mv-timeline-dot {grid-row:1}

.mv-category-rail,.mv-my-trips-page .mv-saved-tabs {scrollbar-width:none}
.mv-category-rail::-webkit-scrollbar,.mv-my-trips-page .mv-saved-tabs::-webkit-scrollbar {display:none}

body[class] .mv-form-field {border-radius:12px;min-height:48px;font-size:16px;box-shadow:none}
.mv-button-danger {display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;border:1px solid #a53529;border-radius:12px;background:#a53529;color:#fff;font-size:14px;font-weight:700}
.mv-button-danger:disabled {opacity:.5;cursor:default}
.mv-button-danger:focus-visible {outline:3px solid #a53529;outline-offset:3px}
.mv-my-trips-page .mv-journey-header {align-items:center}
.mv-account-stats>div {padding:12px;border-radius:12px;background:#f5f9fa}
.mv-account-stats>div>p:first-child {font-size:12px}
.mv-account-page .mv-page-section {padding-bottom:28px}
@media(max-width:767px) {
 .mv-account-layout>section {padding:16px;border-radius:18px}
 .mv-account-stats {gap:8px;margin-top:16px}
 .mv-account-page .mv-page-title {font-size:30px}
}
@media(max-width:767px) {
 .mv-discover-page .mv-discover-heading h1,.mv-results-page .mv-results-header h1,
 .mv-my-trips-page .mv-page-title,.mv-account-page .mv-page-title,.mv-contact-page .mv-page-title {font-size:28px;line-height:1.15}
}
body .mv-credits-search button {min-height:48px;padding:12px 16px;border:1px solid #0b7278;border-radius:12px;background:#0b7278;color:#fff;font-size:14px;font-weight:700}
body .mv-credits-search input {min-height:48px;border-radius:12px;font-size:16px}

/* One lodging action, clearly separated from the travel content. */
.mv-destination-page .mv-reserve-dock {background:#122b55;color:#fff;border-color:#122b55;box-shadow:0 -6px 24px #10244924;gap:12px}
.mv-destination-page .mv-reserve-dock strong {color:#fff}
.mv-destination-page .mv-reserve-dock small {color:#d7e4f6}
.mv-destination-page .mv-reserve-dock > div {min-width:0;flex:1}
.mv-destination-page .mv-reserve-dock strong {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mv-destination-page .mv-reserve-dock .mv-button-accent {flex-shrink:0;padding-inline:14px;font-size:14px;gap:6px}
.mv-save-feedback {margin:0;padding:8px 12px;background:#edf6f5;color:#0b626a;font-size:13px;font-weight:700}
.mv-save-destination:disabled,.mv-save-destination-button:disabled {cursor:wait;opacity:.65}

.mv-my-trips-page .mv-journey-header {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px}
.mv-my-trips-page .mv-journey-header .mv-page-title {margin:0;white-space:nowrap}
.mv-my-trips-page .mv-journey-header > div {min-width:0}

/* One booking exit on compact screens; date editing remains a separate, small link. */
.mv-remember-choice {display:flex;align-items:center;gap:12px;min-height:48px;font-size:14px;color:#122b55;cursor:pointer}
.mv-remember-choice input {width:20px;height:20px;flex-shrink:0;accent-color:#27858b}
.mv-remember-choice small {display:block;font-size:12px;font-weight:400;color:#536677;line-height:1.5}
.mv-destination-page .mv-reserve-dock .mv-dock-dates {display:flex;align-items:center;min-height:44px;font-size:12px;color:#e2edf8;text-decoration:underline;white-space:normal;line-height:1.25}
.mv-destination-page .mv-reserve-dock .mv-dock-dates:focus-visible {outline:2px solid #fff;outline-offset:2px}
/* Destination reading: only sections and primary navigation remain sticky. */
@media (max-width:767px) {
 .mv-destination-page .mv-app-header {position:relative;top:auto}
 .mv-destination-page .mv-destination-nav {top:0}
 .mv-destination-page .mv-section-nav .mv-layout-shell {padding-block:.375rem}
 .mv-destination-page .mv-section-nav .mv-chip {min-height:3rem;padding-block:.625rem}
 .mv-destination-page .mv-reserve-dock {display:none!important}
 .mv-destination-page .mv-hero-booking {display:inline-flex}
 .mv-destination-page .mv-highlight-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-inline:0;padding:0;overflow:visible;max-width:100%}
 .mv-destination-page .mv-highlight-card {min-width:0;width:100%;max-width:100%;scroll-snap-align:none}
 .mv-destination-page .mv-highlight-card strong,.mv-destination-page .mv-highlight-card p {overflow-wrap:anywhere}
 body.mv-destination-page .mv-site-footer {padding-bottom:calc(var(--mv-bottom-nav-height,6rem) + 12px)}
}

/* The static cookie heading receives programmatic focus for orientation only.
   Interactive controls keep their visible keyboard focus styles. */
#mv-cookie-title:focus {outline:none;box-shadow:none}

/* Compact destination preferences: reflow with browser text size. */
.mv-destination-page .mv-preferences-group legend,
.mv-destination-page .mv-preferences-group > label,
.mv-destination-page .mv-preferences-select-grid .mv-wizard-select > label {margin-bottom:6px;font-weight:800}
.mv-destination-page .mv-preferences-options {grid-template-columns:repeat(auto-fit,minmax(min(100%,max(7rem,calc((100% - 12px)/3))),1fr));gap:6px}
.mv-destination-page .mv-preferences-options.is-compact {grid-template-columns:repeat(2,minmax(0,1fr))}
.mv-destination-page .mv-preferences-options button {min-height:44px;padding:8px 10px;border-radius:10px;font-size:.875rem;line-height:1.3;overflow-wrap:anywhere}
.mv-destination-page .mv-preferences-options button.is-selected {box-shadow:inset 0 0 0 1px var(--mv-primary)}
.mv-destination-page .mv-preferences-inline-actions {margin-top:2px;gap:2px}
.mv-destination-page .mv-preferences-location {display:inline-flex;align-items:center;justify-self:start;gap:7px;min-height:44px;padding:6px 0;border:0;background:transparent;color:var(--mv-primary-dark);font-size:.875rem;font-weight:700;text-align:left}
.mv-destination-page .mv-preferences-select-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,max(9rem,calc((100% - 10px)/2))),1fr));gap:10px}
.mv-destination-page .mv-preferences-select-grid .mv-wizard-select-trigger {min-height:48px;grid-template-columns:26px minmax(0,1fr) 16px;gap:6px;padding:8px;box-shadow:none}
.mv-destination-page .mv-preferences-select-grid .mv-wizard-select-icon {width:26px;height:28px;border-radius:8px}
.mv-destination-page .mv-preferences-select-grid .mv-wizard-select-trigger .mv-wizard-select-value small {display:none}
.mv-destination-page .mv-preferences-select-grid .mv-wizard-select-value strong {white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.3}
.mv-destination-page .mv-preferences-search {border-top:1px solid var(--mv-border);padding-top:10px}
.mv-destination-page .mv-preferences-search p {margin:0;color:var(--mv-text-muted);font-size:.875rem}
.mv-destination-page .mv-preferences-search a {display:inline-flex;align-items:center;gap:7px;min-height:44px;border:0;background:transparent;padding:6px 0;color:var(--mv-primary-dark);font-size:.875rem;font-weight:800;text-align:left}
.mv-destination-page .mv-preferences-actions button:first-child {grid-column:auto}
.mv-destination-page .mv-preferences-actions button {padding:10px 12px;line-height:1.25}
.mv-destination-page .mv-preferences-actions button:disabled {opacity:.65;cursor:wait}

/* Recommendation controls remain visible and distinct from destination cards. */
.mv-results-page .mv-category-rail{gap:8px;padding:3px 3px 12px}
.mv-results-page .mv-category-rail>button{flex:0 0 auto;flex-direction:row;min-height:44px;padding:8px 12px;gap:6px;border-radius:999px;font-size:.8125rem}
.mv-results-page .mv-category-rail>button>.mv-icon{width:18px;height:18px;color:inherit}
.mv-results-page .mv-category-rail>button.is-active{background:#122b55;border-color:#122b55;color:#fff;box-shadow:none}
.mv-results-page .mv-results-toolbar{padding-bottom:12px;border-bottom:1px solid #cbdce5}
.mv-results-page .mv-results-filter-summary>p{color:#304b60;font-size:.875rem;font-weight:650}
.mv-results-page .mv-search-preferences>summary>strong{color:#12656c;text-decoration:underline;text-underline-offset:3px}

/* Let the logo yield space before wrapping the mobile header controls. */
@media(max-width:767px){
 .mv-app-header .mv-brand-responsive{flex:1 1 8rem;max-width:11.75rem;min-height:2.75rem}
 .mv-app-header .mv-brand-responsive .mv-brand-logo{max-width:100%;height:auto}
}

/* Keep lodging focused on the search and its primary action. */
.mv-destination-page .mv-reservation-intro h2{margin:0;font-size:clamp(1.5rem,3vw,1.875rem);line-height:1.2}
@media(max-width:767px){
 .mv-destination-page .mv-reservation-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5rem),1fr));gap:12px}
 .mv-destination-page .mv-reservation-fields>.mv-stay-field{grid-column:1/-1}
 .mv-destination-page .mv-reservation-fields>label{min-width:0}
 .mv-destination-page .mv-reservation-fields select{width:100%;min-width:0}
}

/* Keep the lodging offer prominent without adding another card. */
.mv-destination-page .mv-reservation-offer{margin:12px 0;color:#50616d;line-height:1.45}
.mv-destination-page .mv-reservation-offer strong{display:block;color:#0b6e74;font-size:1.125rem;line-height:1.3;margin-bottom:4px}
.mv-destination-page .mv-reservation-offer span{display:block;font-size:.8125rem}
.mv-destination-page .mv-reservation-offer a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Keep the itinerary action attached to its heading on narrow screens. */
.mv-itinerary-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.mv-itinerary-heading>.mv-section-heading{flex:1 1 9rem;min-width:0;margin:0}
.mv-itinerary-heading .mv-section-heading h2{font-size:clamp(1.375rem,3vw,1.75rem);line-height:1.2}
.mv-itinerary-heading #itinerary-adjust{min-height:44px;padding:10px 12px;gap:6px}

.mv-reset-dialog{width:min(28rem,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:24px;border:1px solid var(--mv-border);border-radius:22px;background:white;color:var(--mv-text);box-shadow:0 18px 60px #061a3633}
.mv-reset-dialog::backdrop{background:#061a368f}
.mv-reset-dialog h2{margin:0 0 12px;font-size:1.5rem;line-height:1.2;color:var(--mv-primary-dark)}
.mv-reset-dialog p{margin:0;font-size:1rem;line-height:1.5}
.mv-reset-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px}
.mv-reset-actions button{min-height:44px}

.mv-results-compact-filter{display:none}
@media(max-width:767px){
 .mv-results-page .mv-results-shell{padding-top:12px}
 .mv-results-page .mv-results-header{margin-bottom:6px}
 .mv-results-page .mv-results-header h1{font-size:1.5rem;line-height:1.2}
 .mv-results-page .mv-search-preferences{margin:6px 0 10px;background:transparent;border:0}
 .mv-results-page .mv-search-preferences>summary{padding:6px 0;min-height:44px}
 .mv-results-search-row{display:flex;align-items:stretch;gap:8px;margin-bottom:8px;flex-wrap:wrap}
 .mv-results-page .mv-results-search-row>.mv-results-search{flex:1 1 10rem;min-width:0;margin:0}
 .mv-results-page .mv-results-search input{min-height:44px;padding:8px;font-size:1rem}
 .mv-results-page .mv-results-search>div>.mv-icon{margin-left:10px;width:18px}
 .mv-results-page .mv-results-compact-filter{display:inline-flex;min-height:44px;padding:8px 10px;gap:5px;font-size:.8125rem}
 .mv-results-page .mv-results-toolbar{display:none}
 .mv-results-page .mv-category-rail{padding-bottom:6px}
 .mv-results-page .mv-results-filter-summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:4px 0 10px}
 .mv-results-page .mv-results-filter-summary>p{margin:0;font-size:.8125rem}
 .mv-results-page .mv-results-filter-summary ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
 .mv-results-page .mv-results-filter-summary li button{min-height:44px;padding:6px 10px;font-size:.8125rem}
 .mv-results-page .mv-results-list-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
}

/* Shared option panels: one frame, header, scroll area and action row. */
:root{--mv-panel-radius:20px;--mv-panel-space:16px;--mv-panel-shade:rgba(6,26,54,.58)}
body .mv-panel-layer{position:fixed;inset:var(--mv-visual-top,0px) 0 auto;height:var(--mv-visual-height,100dvh);display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
body .mv-panel{position:relative;display:flex;flex-direction:column;width:min(100%,560px);max-height:100%;min-height:0;overflow:hidden;border:1px solid var(--mv-border);border-radius:var(--mv-panel-radius);background:#fff;box-shadow:0 24px 70px #061a3647}
body .mv-panel-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:12px;padding:14px var(--mv-panel-space);border-bottom:1px solid var(--mv-border);background:#fff}
body .mv-panel-header h2,body .mv-panel-header h3{margin:0;color:var(--mv-navy);font-family:var(--mv-font-sans,Inter,sans-serif);font-size:1.25rem;line-height:1.3;font-weight:800}
body .mv-panel-header p{margin:4px 0 0;color:var(--mv-text-muted);font-size:.875rem;line-height:1.4}
body .mv-panel-header>button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;min-width:44px;height:44px;border:1px solid var(--mv-border);border-radius:12px;background:#f5f8fa;color:var(--mv-navy)}
body .mv-panel-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--mv-panel-space);gap:18px;flex:1 1 auto}
body .mv-panel-footer{display:flex;flex-shrink:0;gap:10px;padding:12px var(--mv-panel-space) max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--mv-border);background:#fff}
body .mv-panel-footer>div{display:flex;flex:1;gap:10px;min-width:0}
body .mv-panel-footer button{min-width:0;min-height:44px;white-space:normal;grid-column:auto;flex:1;padding:10px 12px;font-size:.9375rem}
body .mv-panel-footer .mv-button-primary{flex:2}
body .mv-panel-body label>span,body .mv-panel-body legend{font-size:.9375rem}
body .mv-panel-body select{min-height:48px;font-size:1rem;border-radius:12px}
body .mv-results-trip-summary{margin:4px 0 12px;color:var(--mv-text-muted);font-size:.875rem;line-height:1.5}
body .mv-results-search-row{display:flex;align-items:stretch;gap:8px;margin-bottom:8px;flex-wrap:wrap}
body .mv-results-search-row>.mv-results-search{flex:1 1 10rem;min-width:0;margin:0}
body .mv-results-compact-filter{display:inline-flex;align-items:center;gap:6px;min-height:44px}
body .mv-results-toolbar{display:none}
body .mv-confirm-dialog,body .mv-reset-dialog{border-radius:var(--mv-panel-radius);background:#fff}
body .mv-confirm-dialog h2,body .mv-reset-dialog h2{font-family:Inter,sans-serif;font-size:1.25rem;line-height:1.3}
body .mv-confirm-dialog::backdrop,body .mv-reset-dialog::backdrop,body .mv-date-dialog::backdrop{background:var(--mv-panel-shade)}
@media(max-width:767px){
 body .mv-panel-layer{align-items:flex-end;padding:max(12px,env(safe-area-inset-top)) 0 0}
 body .mv-panel{width:100%;border-radius:var(--mv-panel-radius) var(--mv-panel-radius) 0 0}
}
@media(max-height:480px){body .mv-panel-header{padding-top:8px;padding-bottom:8px}}

/* Result filters reuse the shared preference control and its option list. */
body .mv-filter-sheet-body{grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));gap:14px}
body .mv-filter-sheet-body>fieldset,body .mv-filter-secondary-actions{grid-column:1/-1}
body .mv-filter-sheet-body .mv-wizard-select{min-width:0}
body .mv-filter-sheet-body .mv-wizard-select-trigger{min-height:48px;grid-template-columns:26px minmax(0,1fr) 16px;gap:6px;padding:8px;box-shadow:none}
body .mv-filter-sheet-body .mv-wizard-select-icon{width:26px;height:28px;border-radius:8px}
body .mv-filter-sheet-body .mv-wizard-select-value small{display:none}
body .mv-filter-sheet-body .mv-wizard-select-value strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.3}
body .mv-filter-secondary-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid var(--mv-border);padding-top:8px}
body .mv-filter-secondary-actions a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:.875rem;font-weight:700;color:var(--mv-primary-dark);text-decoration:underline;text-underline-offset:3px}
body .mv-filter-secondary-actions .mv-clear-filters{margin:0}
@media(min-width:768px){body .mv-filter-sheet-body .mv-wizard-select-popover{position:static;margin-top:8px;max-height:14rem;overflow-y:auto}}
