:root{--primary:#312783;--primary-foreground:#fff;--foreground:#20213c;--background:#f7f8ff;--border:#e3dfee;--ring:#6855b8;--accent:#eee9fa;--muted-foreground:#61677a}
body{margin:0;color:#20213c;font-family:'DM Sans','Segoe UI',Arial,sans-serif;background:#f7f8ff}
.mm-return{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;padding:12px max(16px,calc((100% - 1240px)/2));border-bottom:1px solid #e3dfee;font:600 15px/1.4 'Segoe UI',Arial,sans-serif}
.mm-return a{color:#312783;background:#f4f0ff;border:1px solid #c2b7de;border-radius:12px;padding:12px 18px;min-height:48px;text-decoration:none;box-shadow:0 4px 0 #e1d9ee;display:inline-flex;align-items:center;font-weight:750;font-size:17px}
.mm-return a:active{transform:translateY(3px);box-shadow:0 1px 0 #e1d9ee}
.mm-return a:focus-visible{outline:3px solid #6855b8;outline-offset:3px}
.travel-site,.travel-budget,.cruise-app{font-family:inherit;background:#f7f8ff;color:#20213c}
.travel-header,.budget-top{background:#fff;border-bottom:1px solid #e3dfee}
.travel-site .button,.travel-budget .booking-submit,.cruise-app .primary{background:#312783;color:#fff;border:1px solid #312783;border-radius:13px;box-shadow:0 5px 0 #211c5c;min-height:50px;font:700 16px/1.4 inherit;padding:13px 20px;transition:transform .12s,box-shadow .12s}
.travel-site .button:active,.travel-budget .booking-submit:active,.cruise-app .primary:active{transform:translateY(4px);box-shadow:0 1px 0 #211c5c}
.travel-site .button.light{background:#d3ed83;color:#20213c;border-color:#a5be66;box-shadow:0 5px 0 #a5be66}
.travel-config,.booking-panel,.cruise-app .search-panel,.cruise-app .cruise-card{border-radius:20px;border:1px solid #e3dfee;box-shadow:0 5px 0 #e9e4f2;background:#fff}
.travel-site input,.travel-site select,.travel-budget input,.travel-budget textarea,.cruise-app .field input,.cruise-app .field .choice{font-size:16px;min-height:50px;border-radius:11px;border-color:#d1c7e2}
.travel-site .config-section,.travel-site .hotel-section{background:#f1eef9}
.travel-site h1,.travel-site h2,.travel-site h3,.travel-budget h2,.cruise-app h2,.cruise-app h3{color:#20213c}
.travel-site .travel-hero h1{color:#fff}.cruise-app .demo-banner{background:#fff4d8;color:#6b4a13;font-size:14px;padding:12px 18px}.cruise-app .brand-icon{color:#312783;background:#f2eefa;border-color:#d7cce8}.cruise-app .field label{font-size:14px}.cruise-app .hero-shade{background:linear-gradient(90deg,#211c5cee,#30276988,transparent)}
.travel-budget .budget-top a,.travel-site .menu-toggle{min-height:48px;display:inline-flex;align-items:center;padding:10px 14px;background:#f2eef9;border-radius:11px;color:#312783;font-weight:700;font-size:16px}
@media(max-width:700px){.mm-return{padding:10px 14px}.mm-return>span{display:none}.mm-return a{width:100%;justify-content:center;min-height:50px}.travel-header{padding:16px;gap:12px}.travel-site .travel-hero h1{font-size:36px;line-height:1.12}.travel-site .travel-section{padding-left:18px;padding-right:18px}.travel-site .config-section{padding:28px 16px}.travel-config{padding:20px 16px}.travel-budget .budget-top{flex-wrap:wrap;gap:12px;padding:14px}.travel-budget .budget-top>span{font-size:14px}.cruise-app .container{width:calc(100% - 28px)}.cruise-app .hero{height:300px}.cruise-app .hero h1{font-size:34px}.cruise-app .hero-content{padding-top:28px}.cruise-app .search-wrap{margin-top:-25px}.cruise-app .search-panel{padding:20px 14px}.cruise-app .search-grid{gap:14px}.cruise-app .header-inner{height:auto;min-height:74px;padding:14px 0}.cruise-app .primary{font-size:16px;min-height:50px}}
@media print{.mm-return{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.travel-site,.travel-site.japon{--ink:#20213c;--accent:#312783;--paper:#f7f8ff;--line:#e3dfee;--soft:#eee9fa;font-family:'DM Sans','Segoe UI',Arial,sans-serif}.travel-site h1,.travel-site h2{font-family:inherit;font-weight:750;letter-spacing:-.04em}.travel-site.japon .hero-copy h1{color:#20213c}.travel-site .button,.travel-site.japon .button{border-radius:13px;background:#312783;color:white}.travel-site .button.light,.travel-site.japon .button.light{background:#d3ed83;color:#20213c}.travel-site .travel-header{background:white}.travel-site .button{font-family:inherit;font-size:16px;font-weight:700}.travel-site .config-section{scroll-margin-top:90px}
@media(max-width:700px){.travel-site.japon .hero-copy{padding:28px 20px}.travel-site.japon .hero-copy h1{font-size:36px;line-height:1.12}.travel-site.japon .hero-copy>.eyebrow{margin-bottom:16px}.travel-site.japon .hero-photo{height:240px}.travel-site .hero-copy>.button{font-size:16px}.travel-site .hero-details{font-size:13px!important}.travel-site .hero-copy>p:not(.eyebrow){line-height:1.6}.travel-site h2{font-size:30px;line-height:1.15}}

/* Complete the shared Mundomanía treatment without changing quote or demo logic. */
.mm-return,.mm-return *{box-sizing:border-box}
.mm-return{z-index:30;font-family:'DM Sans','Segoe UI',Arial,sans-serif}
.mm-return a{min-height:54px;padding:13px 20px;border:2px solid #c7bcdf;font-weight:750;transition:transform .15s,box-shadow .15s}
.mm-return>span{color:#6a617b;font-size:14px}
.travel-site section,.travel-site .config-section,.travel-budget .booking-panel,.cruise-app .search-wrap,.cruise-app .results-section{scroll-margin-top:100px}
.travel-site :focus-visible,.travel-budget :focus-visible,.cruise-app :focus-visible,.cruise-dialog :focus-visible{outline:3px solid #8e79ca;outline-offset:4px}
.travel-site h2{font-size:clamp(30px,3.3vw,44px);line-height:1.15}
.travel-site .travel-header{height:auto;min-height:94px;padding:16px 4%;gap:22px}
.travel-site .agency-logo,.travel-budget .agency-logo{padding:0!important;border:0!important;box-shadow:none!important}
.travel-site .travel-brand b{font-family:inherit;font-size:24px;font-weight:750;letter-spacing:-.035em;color:#312783}
.travel-site .travel-brand small{font-size:9px;letter-spacing:.08em;color:#73677f}
.travel-site .travel-header nav{font-size:15px;font-weight:600;gap:22px}
.travel-site .travel-header nav>a:not(.button){display:inline-flex;align-items:center;min-height:46px;color:#5f5273}
.travel-site .menu-toggle{display:none;border:1px solid #d5cbe8;box-shadow:0 3px 0 #e3dcef}
.travel-site .button,.travel-budget .booking-submit,.travel-budget.japon .booking-submit,.cruise-app .primary,.cruise-dialog .primary{min-height:52px;border:1px solid #312783;border-radius:13px;background:#312783;color:#fff;box-shadow:0 5px 0 #211c5c;font-family:inherit;font-size:16px;font-weight:750;line-height:1.4;padding:14px 20px;transition:transform .15s,box-shadow .15s,background .15s}
.travel-site .button:hover,.cruise-app .primary:hover:not(:disabled),.cruise-dialog .primary:hover:not(:disabled){filter:none;background:#403393}
.travel-site .button:disabled,.travel-budget .booking-submit:disabled,.cruise-app .primary:disabled,.cruise-dialog .primary:disabled{transform:none;opacity:.6;cursor:default}
.cruise-dialog .primary:active{transform:translateY(4px);box-shadow:0 1px 0 #211c5c}
.travel-site .button.small{min-height:48px;font-size:14px}
.travel-site .travel-hero{background:#302769}
.travel-site .hero-photo:after{background:linear-gradient(90deg,#211b53e8,#30276982 66%,#30276918)}
.travel-site .hero-copy>.eyebrow{color:#e8ddfa}
.travel-site .hero-copy>p:not(.eyebrow){color:#f1ecf8}
.travel-site .hero-copy>.button.light,.travel-site.japon .hero-copy>.button.light{background:#312783;color:#fff;border-color:#65549d;box-shadow:0 5px 0 #211c5c}
.travel-site.japon .hero-photo img,.travel-site.japon .hero-photo:after{border-radius:24px}
.travel-site.japon .hero-copy>.eyebrow{color:#75618c}
.travel-site.japon .hero-copy>p:not(.eyebrow){color:#6b6179}
.travel-site .japan-seal{color:#8c73ad;font-size:2.5rem}
.travel-site .travel-ribbon{color:#6a5e78;font-size:14px}
.travel-site .travel-ribbon>span{font-family:inherit;font-size:17px;font-weight:700;color:#312783}
.travel-site .travel-ribbon>a{display:inline-flex;align-items:center;min-height:44px;color:#312783;font-weight:700}
.travel-site .travel-section{padding-top:65px;padding-bottom:65px}
.travel-site .section-heading>p,.travel-site .tour-copy p,.travel-site .practical details p,.travel-site .practical li{color:#6b6179;line-height:1.7}
.travel-site .section-heading .eyebrow{font-size:11px;letter-spacing:.12em}
.travel-site .travel-destination,.travel-site .tour-card,.travel-site .hotel-grid article{background:#fff;border:1px solid #e0d8ec;border-radius:19px;box-shadow:0 5px 0 #e7e0f0;overflow:hidden}
.travel-site .travel-destination{padding-bottom:20px}
.travel-site.japon .travel-destination:nth-child(2){padding-top:0}
.travel-site .travel-destination .image-frame h3{font-family:inherit;font-size:30px;font-weight:750;letter-spacing:-.04em;color:#fff}
.travel-site .travel-destination>.eyebrow{margin:20px 20px 9px;font-size:11px;letter-spacing:.08em}
.travel-site .travel-destination>p:not(.eyebrow){padding:0 20px;font-size:15px;color:#6b6179}
.travel-site .city-discover{margin-left:20px;margin-right:20px;min-height:44px;padding-top:8px;font-size:14px}
.travel-site .config-section{background:#efecf9;border-block:1px solid #e2d8ed;padding-top:65px;padding-bottom:65px}
.travel-site .config-intro>p:not(.eyebrow),.travel-site .config-note p{color:#665a76}
.travel-site .config-note{border-color:#d4c7e3;gap:16px}
.travel-site .travel-config{background:#fff;padding:30px;border:1px solid #dbd1ea;border-radius:21px;box-shadow:0 6px 0 #ded4eb}
.travel-site .form-top h3{font-size:22px;font-weight:750}
.travel-site .form-top>span{font-size:13px;color:#685d7a;background:#f2eef9;padding:6px 10px;border-radius:8px}
.travel-site .travel-config label,.travel-site .travel-config legend{font-size:15px;color:#514260;font-weight:700}
.travel-site .travel-config input:not([type=checkbox]),.travel-budget input:not([type=checkbox]),.travel-budget textarea,.cruise-app .field input,.cruise-app .field .choice,.cruise-dialog .field input,.cruise-dialog .field .choice{box-sizing:border-box;min-width:0;min-height:53px;height:auto;padding:13px 12px;border:1px solid #cfc5e0;border-radius:12px;background:#fbfaff;color:#20213c;font-family:inherit;font-size:16px;line-height:1.4}
.travel-site .travel-config .field-hint{font-size:14px;line-height:1.6;color:#70637e}
.travel-site .transfer-web{display:flex;gap:11px;align-items:flex-start;padding:15px;background:#f5f1fb;border:1px solid #e5dcef;border-radius:12px;font-size:14px}
.travel-site .transfer-web input,.travel-budget .booking-consent input{min-height:22px;height:22px;width:22px;margin:1px 0 0;flex-shrink:0;accent-color:#312783}
.travel-site .estimate-result>strong{color:#312783;font-weight:750}
.travel-site .result-actions a,.travel-site .result-actions button{min-height:46px;display:inline-flex;align-items:center;color:#312783}
.travel-site .form-error,.travel-site .selection-summary{border-radius:13px}
.travel-site .tour-filters button{min-height:46px;padding:10px 16px;background:#fff;border-color:#d7cfe7;border-radius:11px;font-size:14px;font-weight:700;color:#5c4f70}
.travel-site .tour-filters button[aria-pressed=true]{background:#312783;border-color:#312783;color:#fff;box-shadow:0 3px 0 #211c5c}
.travel-site .tour-copy button{min-height:48px;border:1px solid #d1c4e5;border-radius:11px;padding:12px;background:#f4effb;font-size:14px;text-align:center;line-height:1.5}
.travel-site .tour-copy button.selected{background:#eeebf9;border-color:#9681bf;color:#312783}
.travel-site .tour-city{border-radius:7px;font-size:11px;font-weight:700;background:#fff}
.travel-site .top-tour{border-radius:7px;background:#d3ed83;color:#354424}
.travel-site .hotel-section{background:#f7f8ff}
.travel-site .hotel-grid article{padding-bottom:22px}
.travel-site .hotel-grid article>.eyebrow,.travel-site .hotel-grid article>h3,.travel-site .hotel-grid article>p{margin-left:20px;margin-right:20px}
.travel-site .hotel-grid article>p:last-child{font-size:14px;color:#6b6179}
.travel-site .hotel-photo-grid span{background:#292054eb;font-size:12px}
.travel-site .practical details{background:#fff;border:1px solid #e2d9ee;border-radius:13px;padding:18px 20px;margin-bottom:12px}
.travel-site .practical summary{align-items:center;min-height:34px;color:#49345f;font-size:16px}
.travel-site .travel-contact,.travel-site.japon .travel-contact{background:#302769;color:#fff}
.travel-site .travel-contact h2{color:#fff;font-size:clamp(32px,4vw,48px)}
.travel-site .travel-contact .eyebrow{color:#d9cef2}
.travel-site .travel-footer p,.travel-site .travel-footer .preview-note{color:#71647e;font-size:13px;line-height:1.65}
.travel-site .travel-footer details{font-size:13px}.travel-site .travel-footer summary{min-height:44px}
.travel-budget .budget-top{border-color:#e2d9ed;gap:18px;flex-wrap:wrap}
.travel-budget .budget-top a{border:1px solid #d4c7e6;border-radius:12px;box-shadow:0 3px 0 #e5dcef;font-size:15px}
.travel-budget .budget-top>span:not(.agency-logo){font-size:13px;line-height:1.6;color:#71627e}
.travel-budget .budget-notice{border-radius:14px;background:#fff6df;border-color:#e7d6a9;color:#735520;line-height:1.6}
.travel-budget .booking-panel{background:#fff;border:1px solid #ddd3e9;border-radius:20px;box-shadow:0 5px 0 #e6dfef}
.travel-budget .booking-panel h2{font-family:inherit;font-size:32px;font-weight:750;color:#20213c}
.travel-budget .booking-kicker{color:#75608e}.travel-budget .booking-total{color:#312783}
.travel-budget .booking-panel label{font-size:15px}.travel-budget .booking-panel .booking-privacy{color:#6d617b;font-size:13px;line-height:1.65}

/* Cruise dialogs are portals, so they also receive their own scoped styles. */
.cruise-app .demo-banner{padding:12px 20px;background:#fff4d8;border-bottom:1px solid #eee0bb;color:#71531c;font-size:14px;line-height:1.6}
.cruise-app .demo-banner svg{flex-shrink:0;margin-top:3px}
.cruise-app .header-inner{height:auto;min-height:94px;padding-top:12px;padding-bottom:12px}
.cruise-app .brand>img{width:260px!important;height:72px!important;object-fit:contain}
.cruise-app .header-inner nav{font-size:15px;gap:24px}
.cruise-app .header-inner nav a{display:inline-flex;align-items:center;min-height:46px;color:#5d5171}
.cruise-app .header-inner nav a:first-child{color:#312783}
.cruise-app .header-compare,.cruise-app .secondary,.cruise-dialog .secondary{min-height:48px;border:1px solid #d3c8e5;border-radius:12px;box-shadow:0 3px 0 #e5dfee;background:#fff;color:#312783;font-size:15px;font-weight:700;padding:11px 15px}
.cruise-app .header-compare b{color:#312783;background:#eeebf8;border-radius:6px;font-size:13px}
.cruise-app .workspace-nav{border-color:#e4ddec;background:#f7f8ff;gap:12px;padding:15px 0}
.cruise-app .workspace-nav button{border:1px solid #ddd4ea;border-radius:12px;background:#fff;box-shadow:0 3px 0 #e7e0ef;color:#665676;min-height:49px;font-size:15px}
.cruise-app .workspace-nav button.active{background:#312783;border-color:#312783;box-shadow:0 3px 0 #211c5c;color:#fff}
.cruise-app .workspace-nav button.active b{background:#544798;border-color:#7364ae;color:#fff}
.cruise-app .hero{background:#302769}
.cruise-app .hero-shade{background:linear-gradient(90deg,#211a52f2,#30276999 60%,#211a5222)}
.cruise-app .hero h1{font-weight:750;letter-spacing:-.045em;line-height:1.12}
.cruise-app .hero h1 em{font-family:inherit;font-style:normal;font-weight:750;color:#d3ed83}
.cruise-app .eyebrow{color:#e7dcfa}.cruise-app .eyebrow span{background:#d3ed83}
.cruise-app .search-panel,.cruise-app .cruise-card,.cruise-app .filter-panel,.cruise-app .saved-card,.cruise-app .agency-stats>div{border:1px solid #dfd5ec;border-radius:20px;background:#fff;box-shadow:0 5px 0 #e7e0f0}
.cruise-app .search-title>span:first-child{font-size:20px;font-weight:750;color:#20213c}
.cruise-app .search-title svg,.cruise-app .section-eyebrow,.cruise-app .text-button,.cruise-dialog .text-button,.cruise-app .comparison-dock>div svg{color:#312783}
.cruise-app .search-demo{font-size:13px;color:#71667f}
.cruise-app .field label,.cruise-dialog .field label{font-size:14px;font-weight:700;color:#5c4e6e}
.cruise-app .search-grid{gap:16px}.cruise-app .bottom-search{margin-top:18px}
.cruise-app .search-button{min-height:53px;height:auto;margin-bottom:4px}
.cruise-app .search-help{color:#766a83;font-size:13px;line-height:1.6;margin-top:18px}
.cruise-app .category-list{gap:12px;border-color:#e2d9ec;padding-bottom:26px}
.cruise-app .category-button{color:#6a5b7c;background:#fff;border:1px solid #dfd6eb;border-radius:14px;box-shadow:0 4px 0 #e7e1ef;min-height:93px;font-size:14px}
.cruise-app .category-button.active{background:#eee9f9;border-color:#b6a4d4;color:#312783;box-shadow:0 4px 0 #d7cbe9}
.cruise-app .category-button:hover{background:#f2eefb}
.cruise-app .section-heading h2{font-size:32px;font-weight:750;letter-spacing:-.04em}
.cruise-app .section-subtitle{font-size:15px;color:#72677f}
.cruise-app .cruise-card:hover{box-shadow:0 7px 0 #ddd2ec}
.cruise-app .card-main h3{font-size:22px;font-weight:750;letter-spacing:-.035em}
.cruise-app .card-eyebrow,.cruise-app .ship-name,.cruise-app .trip-meta,.cruise-app .route{color:#6d607d;font-size:13px}
.cruise-app .demo-chip,.cruise-dialog .demo-chip{background:#fff4d8;border-color:#ecd59a;color:#79571d;border-radius:6px;font-size:11px;font-weight:750;padding:3px 7px}
.cruise-app .compare-choice{min-height:46px;font-size:14px;color:#685676}
.cruise-app .total-line strong,.cruise-app .from-label strong,.cruise-app .saved-actions>strong{color:#312783;font-weight:750}
.cruise-app .card-price{border-color:#e5ddec;padding-bottom:16px}
.cruise-app .fictional-price{font-size:12px;line-height:1.5;margin-top:13px;color:#796b82}
.cruise-app .detail-button{font-size:15px;min-height:51px}
.cruise-app .group-info,.cruise-app .price-formula{font-size:13px;color:#72667f}
.cruise-app .estimate-explainer,.cruise-app .local-notice,.cruise-app .info-note{background:#eee9f8;border:1px solid #ded3ed;border-radius:14px;color:#685678}
.cruise-app .estimate-explainer strong{color:#40305f;font-size:16px}.cruise-app .estimate-explainer p{font-size:14px}
.cruise-app .estimate-explainer>svg,.cruise-app .local-notice svg{color:#68519b}
.cruise-app .text-button,.cruise-dialog .text-button{min-height:44px;font-size:14px}
.cruise-app .favorite-button{color:#6b5686;border-color:#d5c7e4}
.cruise-app .favorite-button.is-favorite{background:#efe8fb;color:#312783;border-color:#b29acb}
.cruise-app .filter-panel{top:99px;padding:20px}.cruise-app .line-filters label{min-height:44px;font-size:14px}
.cruise-app .search-summary>span{background:#f1edf9;border-color:#ddd2ed;color:#635473;font-size:13px}
.cruise-app .comparison-dock{border-color:#c7b8db;border-radius:17px;box-shadow:0 7px 26px #30276925}
.cruise-app .comparison-dock>div{color:#5d4a77}
.cruise-app .site-footer{background:#302769;color:#fff}
.cruise-app .footer-inner>p,.cruise-app .footer-bottom{color:#dbd3ef}
.cruise-app .footer-demo{background:#44397d;border-color:#8675ae;color:#fff;border-radius:8px;font-size:12px}
.cruise-app .footer-bottom{border-color:#655493;font-size:12px;line-height:1.7}
.cruise-app .agency-stats>div:last-child{background:#312783;border-color:#312783}
.cruise-app .agency-stats>div:last-child strong{color:#d3ed83}
.cruise-app .local-heading h1{color:#20213c;font-weight:750}
.cruise-options{color:#302445;background:#fff;border:1px solid #cbbddd;border-radius:12px;font-family:inherit;box-shadow:0 8px 24px #30276920}
.cruise-options [data-slot=select-item]{min-height:46px;font-size:15px}
.cruise-options [data-highlighted]{background:#eee9f8;color:#312783}
.cruise-dialog{background:#fff;color:#20213c;border:1px solid #d4c8e5;border-radius:20px;font-family:'DM Sans','Segoe UI',Arial,sans-serif;box-shadow:0 18px 70px #211a4c30}
.cruise-dialog [data-slot=dialog-title],.cruise-dialog h3{color:#20213c;font-weight:750;letter-spacing:-.035em}
.cruise-dialog .dialog-close{width:44px;height:44px;background:#f2edf9;border-color:#d9cce8;color:#312783}
.cruise-dialog .detail-pricing,.cruise-dialog .sim-budget{background:#f3effa;border-color:#e0d5ec;border-radius:17px}
.cruise-dialog .detail-total strong,.cruise-dialog .sim-grand-total strong,.cruise-dialog .sim-cabin-supplement>b,.cruise-dialog .sim-extra b{color:#312783}
.cruise-dialog .sim-label{color:#75618d}
.cruise-dialog .sim-steps button{background:#f7f4fb;border-color:#e2d9ee;border-radius:11px;color:#70607f;min-height:51px}
.cruise-dialog .sim-steps button[aria-current=step]{background:#eee8fa;border-color:#bea8d8;color:#312783}
.cruise-dialog .sim-steps button[aria-current=step]>span{background:#312783;border-color:#312783;color:#fff}
.cruise-dialog .sim-cabin,.cruise-dialog .sim-extra{border-color:#e0d6eb;border-radius:14px}
.cruise-dialog .sim-cabin-selected,.cruise-dialog .sim-extra.is-selected{border-color:#a68ec4;background:#f5f0fc;box-shadow:0 3px 0 #e0d5ec}
.cruise-dialog .sim-cabin li svg,.cruise-dialog .sim-budget-note svg{color:#80629f}
.cruise-dialog .sim-rule-note,.cruise-dialog .sim-save{background:#f5f1fa;border-color:#e2d7ec;border-radius:12px;color:#685779}
.cruise-dialog .day-number,.cruise-dialog .sim-room-icon,.cruise-dialog .sim-summary-icon{background:#efe8f8;border-color:#d9cbea;color:#685090}
.cruise-dialog .gallery-filters button{min-height:44px;border-color:#dacee8;border-radius:11px;color:#675377}
.cruise-dialog .gallery-filters button[aria-pressed=true]{background:#312783;border-color:#312783;color:#fff}
.cruise-dialog .gallery-thumbs button[aria-pressed=true]{border-color:#7c62a3}
.cruise-dialog .gallery-feature figcaption{background:#302769}.cruise-dialog .gallery-source{color:#68518b}
.cruise-dialog .comparison-table tbody tr:last-child td{background:#f2edf9;color:#312783}
@media(min-width:701px) and (max-width:1150px){.travel-site .travel-header{flex-wrap:wrap;justify-content:center}.travel-site .travel-brand>span:not(.agency-logo){display:none}.travel-site .travel-header nav{gap:16px}}
@media(max-width:700px){
 .mm-return a{min-height:52px;padding:12px 15px}.travel-site section,.travel-site .config-section,.cruise-app .search-wrap,.cruise-app .results-section{scroll-margin-top:91px}
 .travel-site .travel-header{min-height:79px;padding:13px 16px;gap:10px}.travel-site .travel-brand{min-width:0;gap:0}.travel-site .agency-logo>span{width:clamp(175px,56vw,255px)!important}
 .travel-site .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 13px;font-size:14px;flex-shrink:0}
 .travel-site .travel-header nav{top:100%;padding:16px;background:#fff;border-bottom:1px solid #e0d6ed;box-shadow:0 12px 18px #3027690f}.travel-site .travel-header nav.open{gap:10px}.travel-site .travel-header nav>a:not(.button){padding:4px 8px;border-bottom:1px solid #f0eaf6}
 .travel-site .hero-photo:after{background:linear-gradient(0deg,#211a52f2,#3027698a 66%,#30276922)}
 .travel-site.japon .hero-photo:after{background:linear-gradient(0deg,#211a5280,transparent 40%)}
 .travel-site .hero-copy>.button.light,.travel-site.japon .hero-copy>.button.light{font-size:15px;min-height:53px;padding:13px 16px;gap:14px}
 .travel-site.japon .hero-photo{border-radius:18px}.travel-site .travel-section{padding:40px 16px}.travel-site .section-heading{margin-bottom:24px}.travel-site .section-heading>p{font-size:15px}
 .travel-site .travel-destination .image-frame,.travel-site.japon .travel-destination .image-frame{aspect-ratio:1.35}.travel-site .travel-destination .image-frame h3{font-size:28px}
 .travel-site .config-section{padding:36px 14px;gap:27px}.travel-site .config-intro{padding:0 3px}.travel-site .config-note{margin-top:24px}.travel-site .travel-config{padding:23px 17px;border-radius:18px}
 .travel-site .form-top{align-items:flex-start;gap:10px}.travel-site .night-grid{gap:16px 12px}.travel-site .travel-config label,.travel-site .travel-config legend{font-size:14px}.travel-site .travel-config .field-hint{font-size:13px}
 .travel-site .travel-config>.button{min-height:55px;font-size:15px;padding:14px 11px;gap:8px}.travel-site .transfer-web{font-size:13px;padding:13px}
 .travel-site .tour-copy{padding:21px 18px}.travel-site .tour-copy p{font-size:15px}.travel-site .tour-filters{gap:9px}.travel-site .tour-filters button{font-size:14px}
 .travel-site .selection-summary .button{width:100%;font-size:14px;padding:13px}.travel-site .practical details{padding:16px}.travel-site .travel-contact{padding:44px 19px}.travel-site .travel-contact h2{font-size:33px}.travel-site .travel-contact>div>a:last-child{font-size:15px}
 .travel-budget .budget-top{gap:13px;padding:17px 15px}.travel-budget .budget-top .agency-logo{width:100%;justify-content:center}.travel-budget .budget-top a{font-size:14px;padding:11px 13px;flex:1}
 .travel-budget .budget-top>span:not(.agency-logo){font-size:12px}.travel-budget .budget-notice{margin:17px 14px;padding:17px}.travel-budget .booking-panel{margin:20px 14px;padding:23px 17px}.travel-budget .booking-panel h2{font-size:27px}
 .cruise-app .demo-banner{padding:12px 15px;font-size:12px;line-height:1.6}.cruise-app .header-inner{min-height:79px;gap:12px;padding:8px 0}
 .cruise-app .brand{min-width:0;flex:1}.cruise-app .brand>img{max-width:100%;width:235px!important;height:65px!important}.cruise-app .header-compare{padding:10px;min-width:52px;min-height:47px;flex-shrink:0}
 .cruise-app .workspace-nav{padding:13px 0 17px;gap:11px}.cruise-app .workspace-nav button{font-size:14px;min-height:49px;padding:10px 6px}
 .cruise-app .hero{height:325px}.cruise-app .hero-content{padding-top:30px}.cruise-app .hero h1{font-size:35px;line-height:1.13;margin:15px 0}.cruise-app .hero-content>p:last-child{font-size:14px;line-height:1.65}.cruise-app .hero-caption{bottom:60px;font-size:10px}
 .cruise-app .hero-shade{background:linear-gradient(90deg,#251e59f2,#3027699c)}.cruise-app .search-wrap{margin-top:-31px}.cruise-app .search-panel{padding:22px 15px;border-radius:19px}.cruise-app .search-title{margin-bottom:21px}.cruise-app .search-title>span:first-child{font-size:18px}
 .cruise-app .search-grid{gap:16px 11px}.cruise-app .top-search{grid-template-columns:1fr}.cruise-app .bottom-search{grid-template-columns:1fr 1fr;margin-top:17px}.cruise-app .bottom-search>.field:nth-child(3){grid-column:1/-1}
 .cruise-app .field .choice [data-slot=select-value],.cruise-app .field input[type=date]{font-size:16px}.cruise-app .search-help{font-size:12px;gap:9px}.cruise-app .search-button{grid-column:1/-1;min-height:54px;font-size:16px}
 .cruise-app .category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:23px}.cruise-app .category-button{font-size:14px;min-height:84px;padding:13px 10px;gap:8px}.cruise-app .category-button svg{width:24px;height:24px}
 .cruise-app .section-heading h2{font-size:28px}.cruise-app .featured-grid{gap:25px}.cruise-app .cruise-card{border-radius:18px}.cruise-app .card-main h3,.cruise-app .result-card .card-main h3{font-size:22px}.cruise-app .result-card .detail-button{font-size:15px;min-height:51px}.cruise-app .total-line strong{font-size:29px}.cruise-app .route{font-size:14px}
 .cruise-app .estimate-explainer p{font-size:13px}.cruise-app .filter-panel{position:static;border-radius:16px}.cruise-app .comparison-dock{padding:13px;bottom:12px;border-radius:15px}.cruise-app .comparison-dock>.primary{min-height:49px;font-size:15px}
 .cruise-dialog{border-radius:18px}.cruise-dialog [data-slot=dialog-title]{font-size:26px;margin-right:37px}.cruise-dialog .dialog-close{top:12px;right:12px}.cruise-dialog .sim-navigation .primary,.cruise-dialog .sim-navigation .secondary{min-height:51px;font-size:15px}.cruise-dialog .sim-steps button{min-height:82px}
 .cruise-dialog .sim-header{padding-right:5px}.cruise-dialog .sim-header .sim-title{margin-right:35px;font-size:25px}
 .cruise-app .footer-inner{gap:14px;flex-wrap:wrap}.cruise-app .footer-inner .brand{flex-basis:100%;max-width:260px}.cruise-app .footer-demo{max-width:none}
}
@media(max-width:360px){.travel-site .agency-logo>span{width:174px!important}.travel-site .menu-toggle{font-size:13px;padding:10px}.travel-site .hero-details{font-size:11px!important}.cruise-app .hero h1{font-size:32px}.cruise-app .total-line{flex-wrap:wrap}.cruise-app .workspace-nav button{font-size:13px}}
@media print{.travel-budget .booking-panel{box-shadow:none}}

/* Higher specificity keeps the loaded proposal sheet within the same design. */
.travel-budget .proposal{--ink:#20213c;--teal:#312783;--line:#e2d9ee;--soft:#f2edf9;background:#f7f8ff;color:#20213c;font-family:'DM Sans','Segoe UI',Arial,sans-serif}
.travel-budget .proposal h1,.travel-budget .proposal h2,.travel-budget .proposal h3{color:#20213c;font-family:inherit}
.travel-budget .proposal .trip-section h2{color:#312783}
.travel-budget .proposal .trip-kicker,.travel-budget .proposal .section-eyebrow,.travel-budget .proposal .trip-meta,.travel-budget .proposal .intro-copy,.travel-budget .proposal .section-note,.travel-budget .proposal .conditions-section p{color:#6e5e7e}
.travel-budget .proposal .price-card,.travel-budget .proposal .agent-card,.travel-budget .proposal .day-card,.travel-budget .proposal .hotel-card,.travel-budget .proposal .flight-card,.travel-budget .proposal .tour-gallery-card{background:#fff;border:1px solid #e0d5eb;border-radius:17px;box-shadow:0 4px 0 #e8e0f0}
.travel-budget .proposal .price-total,.travel-budget .proposal .price-pending,.travel-budget .proposal .selection-total-bar strong{color:#312783}
.travel-budget .proposal .trip-button,.travel-budget .proposal .tour-toggle,.travel-budget .proposal .transfer-toggle,.travel-budget .proposal .export-actions button{background:#312783;border:1px solid #312783;border-radius:12px;box-shadow:0 4px 0 #211c5c;color:#fff;font-size:15px!important;min-height:49px;padding:12px 15px;font-weight:700}
.travel-budget .proposal .tour-toggle[aria-pressed=true],.travel-budget .proposal .transfer-toggle[aria-pressed=true]{background:#eee8f9;border-color:#b39ccb;box-shadow:0 3px 0 #ddd0eb;color:#312783}
.travel-budget .proposal .trip-nav a:first-child{color:#312783;border-color:#312783}
.travel-budget .proposal .route-strip,.travel-budget .proposal .transfer-option{background:#efebf8;border-color:#d8cbe7;border-radius:15px}
.travel-budget .proposal .route-dot,.travel-budget .proposal .soft-label,.travel-budget .proposal .day-pill,.travel-budget .proposal .agent-avatar{background:#eee8f8;border-color:#c8b5dc;color:#6d4d8e}
.travel-budget .proposal .day-selector button{border-color:#d8cce6;border-radius:11px;min-height:58px}
.travel-budget .proposal .day-selector button.active{background:#312783;border-color:#312783;color:#fff}
.travel-budget .proposal .day-arrows button,.travel-budget .proposal .tour-gallery-controls button{min-width:44px;min-height:44px;color:#312783;border-color:#d6c6e5}
.travel-budget .proposal .day-stay,.travel-budget .proposal .per-person,.travel-budget .proposal .agent-card>a,.travel-budget .proposal .flight-brand>span,.travel-budget .proposal .flight-line,.travel-budget .proposal .excursion-grid figcaption{color:#76618b}
.travel-budget .proposal .tour-gallery-card figcaption strong{color:#20213c}.travel-budget .proposal .tour-card-tag{color:#77608d}
.travel-budget .proposal .tour-gallery-strip{scrollbar-color:#927baa #e9e1f1}.travel-budget .proposal .tour-gallery-strip::-webkit-scrollbar-thumb{background:#927baa}.travel-budget .proposal .tour-gallery-strip::-webkit-scrollbar-track{background:#e9e1f1}
.travel-budget .proposal .selection-total-bar{background:#fff;border-color:#c9b7dd;border-radius:15px;box-shadow:0 5px 23px #30276920}
.travel-budget .proposal .selection-total-bar small,.travel-budget .proposal .selection-total-bar>a{color:#6b5285}
.travel-budget .proposal .selection-total-bar>a{min-height:44px;display:inline-flex;align-items:center;font-size:14px}
.travel-budget .proposal .gallery-close,.travel-budget .proposal .gallery-caption button{min-width:44px;min-height:44px;background:#f1ebf9;color:#312783}
.travel-budget .proposal button:focus-visible,.travel-budget .proposal a:focus-visible{outline-color:#8e79ca}
@media(max-width:700px){.travel-budget .budget-top>.agency-logo{order:0;width:100%;justify-content:center}.travel-budget .budget-top>a{order:1}.travel-budget .budget-top>span:not(.agency-logo){order:2}.travel-budget .proposal{padding:22px 16px}.travel-budget .proposal .trip-heading h1{font-size:29px}.travel-budget .proposal .selection-total-bar{margin-left:0;margin-right:0;padding:12px}.travel-budget .proposal .selection-total-bar strong{font-size:24px}.travel-budget .proposal .selection-total-bar small{font-size:12px}}
@media print{.travel-budget .proposal{background:#fff;padding:0}.travel-budget .proposal .price-card,.travel-budget .proposal .agent-card,.travel-budget .proposal .day-card,.travel-budget .proposal .hotel-card,.travel-budget .proposal .flight-card,.travel-budget .proposal .tour-gallery-card{box-shadow:none}}.travel-site .travel-config .transfer-web{display:flex;align-items:flex-start;gap:11px}
.travel-site .button.light:hover{background:#c8e477;color:#20213c}
.travel-site .hero-copy>.button.light:hover,.travel-site.japon .hero-copy>.button.light:hover{background:#403393;color:#fff}
/* Explicit return action on photo galleries and the cruise detail. */
.cruise-dialog .dialog-close,body:has(.travel-budget) .gallery-close,body:has(.travel-site) .gallery-close{display:flex;align-items:center;justify-content:center;gap:8px;width:auto;min-width:106px;min-height:46px;padding:10px 14px;border-radius:11px;background:#f4f0ff;color:#312783;border:1px solid #c9bddf;box-shadow:0 3px 0 #dfd7ed;font-size:18px;line-height:1}
.cruise-dialog .dialog-close::after,body:has(.travel-budget) .gallery-close::after,body:has(.travel-site) .gallery-close::after{content:'Volver';font:700 15px/1.3 'DM Sans','Segoe UI',Arial,sans-serif}
.simulation-dialog .sim-header{padding-top:52px}
.cruise-dialog .dialog-close svg{width:18px;height:18px}
