/* Grand Line universes. Excursion subcategory bands keep their own palette. */
:root{--gl-adventure:#ecaf00;--gl-rental:#b8323c;--gl-booking:#2e68b5;--gl-premium:#161918;--brand:var(--gl-adventure);--brand-ink:#242110;--brand-soft:#fff9e2;--brand-line:#e7ce79;--brand-accent:var(--gl-adventure)}
[data-grandline=adventure],[data-universe=adventure]{--brand:var(--gl-adventure);--brand-ink:#242110;--brand-soft:#fff9e2;--brand-line:#e7ce79;--brand-accent:var(--gl-adventure)}
[data-grandline=rental],[data-universe=rental]{--brand:var(--gl-rental);--brand-ink:#fff;--brand-soft:#fff1f1;--brand-line:#e6b4b8;--brand-accent:#a22c35}
[data-grandline=booking],[data-universe=booking]{--brand:var(--gl-booking);--brand-ink:#fff;--brand-soft:#eef4fc;--brand-line:#b6cdeb;--brand-accent:#285d9e}
[data-grandline=premium],[data-universe=premium]{--brand:var(--gl-premium);--brand-ink:#fff;--brand-soft:#f2f3f1;--brand-line:#bfc3c0;--brand-accent:#171b18}
body[data-grandline]:not([data-grandline=home]){--yellow:var(--brand);--cream:var(--brand-soft)}
body[data-grandline]:not([data-grandline=home]) .button{background:var(--brand);color:var(--brand-ink);border-color:var(--brand-line)}
body[data-grandline]:not([data-grandline=home]) .button:hover{background:var(--brand);filter:brightness(.95)}
body[data-grandline]:not([data-grandline=home]) .eyebrow:before,body[data-grandline]:not([data-grandline=home]) .flight i{background:var(--brand)}
body[data-grandline]:not([data-grandline=home]) .service-tag,body[data-grandline]:not([data-grandline=home]) .sidebox{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-accent)}
body[data-grandline]:not([data-grandline=home]) .mobile-shortcuts .mobile-main-action{background:var(--brand);color:var(--brand-ink)}
body[data-grandline=booking] .stay-type-badge[data-stay-type]{background:var(--brand-soft)!important;color:var(--brand-accent)!important;border-color:var(--brand-line)!important}
body[data-grandline=booking] .stay-promise>div{background:var(--brand-soft);border-color:var(--brand-line)}
body[data-grandline=adventure] .tour-card .excursion-card-arrow{background:#fff6d1;border-color:#e6ce7c;color:#382f12}
body[data-grandline=adventure] .tour-card:hover .excursion-card-arrow{background:var(--gl-adventure)}
/* Home navigation, offer cards and brand directory. */
.hero-services a[data-universe]{border-bottom:3px solid var(--brand)}
.cards .card[data-universe]{border:1px solid var(--brand-line);box-shadow:0 5px 20px #14221a08}
.cards .card[data-universe] .home-card-body{background:linear-gradient(180deg,var(--brand-soft),#fff 85%);border-top:4px solid var(--brand)}
.cards .card[data-universe] .category-label{background:var(--brand);border:0;color:var(--brand-ink);padding:8px 11px;border-radius:5px;letter-spacing:1px}
.cards .card[data-universe] .text-link{display:inline-flex;align-items:center;background:var(--brand);border:1px solid var(--brand-line);border-radius:7px;padding:12px 16px;color:var(--brand-ink);font-size:12px;font-weight:600;line-height:1.5}
.cards .card[data-universe]:hover{border-color:var(--brand-accent)}
.trust-section .brand-universe[data-universe]{border-color:var(--brand-line);border-top:4px solid var(--brand);background:var(--brand-soft)}
.trust-section .brand-universe[data-universe] a{color:var(--brand-accent);text-decoration-color:var(--brand-line)}
.tailor.private-concierge{background:var(--gl-premium);border-color:#343735}
@media(max-width:950px){.hero-services li:has([data-universe]){border-color:transparent}.hero-services a[data-universe]{border:0;border-top:3px solid var(--brand)}.hero-services [data-universe] .quick-copy{background:var(--brand);color:var(--brand-ink)}.hero-services [data-universe] .quick-copy strong,.hero-services [data-universe] .quick-copy small{color:var(--brand-ink)}.hero-services [data-universe] .quick-copy small{opacity:.85}}
/* Unified reservation keeps the selected universe visible through every step. */
#rental-panel[data-universe] .button{background:var(--brand);border-color:var(--brand-line);color:var(--brand-ink)}
#rental-panel[data-universe] .button:hover{filter:brightness(.96)}
#rental-panel[data-universe] .reservation-dates,#rental-panel[data-universe] .bundle-offer,#rental-panel[data-universe] .journey-conditions,#rental-panel[data-universe] .family-note{background:var(--brand-soft);border-color:var(--brand-line)}
#rental-panel[data-universe] .bundle-offer strong,#rental-panel[data-universe] .optional-suggestion-label{color:var(--brand-accent)}
#rental-panel[data-universe] .bundle-choice[data-include=yes]{background:var(--brand);border-color:var(--brand-line);color:var(--brand-ink)}
#rental-panel[data-universe] .bundle-choice[data-include=yes]>span{color:var(--brand-ink);background:#ffffff25}
#rental-panel[data-universe] .wizard-options [aria-pressed=true],#rental-panel[data-universe] [data-pick][aria-pressed=true]{outline-color:var(--brand-accent);border-color:var(--brand-accent);background:var(--brand-soft)}
#rental-panel[data-universe] .wizard-progress [aria-current=step]{background:var(--brand);color:var(--brand-ink)}
#rental-panel[data-universe] .summary-content>.service-tag,#rental-panel[data-universe] .formula-week,#rental-panel[data-universe] .formula-month{background:var(--brand-soft);border-color:var(--brand-line);color:#26332c}
#rental-panel[data-universe] .formula-symbol{background:var(--brand);color:var(--brand-ink)}
#rental-panel[data-universe] .stay-policy-choice:has(input:checked){border-color:var(--brand-accent);background:var(--brand-soft);box-shadow:0 0 0 1px var(--brand-accent)}
#rental-panel[data-universe] input{accent-color:var(--brand-accent)}
#rental-panel[data-universe] .basket-pay-now,#rental-panel[data-universe] .basket-flex-details,#rental-panel[data-universe] .journey-mobile-rates>span{background:var(--brand-soft);border-color:var(--brand-line)}
#rental-panel[data-universe] .booking-start-tabs [aria-pressed=true]{background:var(--brand);color:var(--brand-ink);border-color:var(--brand-line)}
#rental-panel[data-universe] .booking-start-offer:hover{background:var(--brand-soft);border-color:var(--brand-accent)}

#rental-panel[data-universe] .formula-month dt,#rental-panel[data-universe] .formula-month dd{color:#25332c}
#rental-panel[data-universe] .formula-month small{color:#58676b}
#rental-panel[data-universe] .formula-saving{background:var(--brand);color:var(--brand-ink)}
#rental-panel[data-universe] .stay-type-badge[data-stay-type]{background:var(--brand-soft)!important;color:var(--brand-accent)!important;border-color:var(--brand-line)!important}

#rental-panel[data-universe] .friendly-date-trigger svg{color:var(--brand-accent)}
#rental-panel[data-universe] .friendly-date-trigger:hover,#rental-panel[data-universe] .friendly-date-trigger[aria-expanded=true]{border-color:var(--brand-accent)!important;background:var(--brand-soft)!important}
#rental-panel[data-universe] .friendly-date-trigger:focus-visible{outline-color:var(--brand-accent)}
#rental-panel[data-universe] .friendly-calendar-grid button:not(:disabled):hover{background:var(--brand-soft)}
#rental-panel[data-universe] .friendly-calendar-grid button[aria-pressed=true]{background:var(--brand);color:var(--brand-ink)}
#rental-panel[data-universe] .friendly-calendar-grid button[aria-current=date]{box-shadow:inset 0 0 0 1px var(--brand-accent)}
#rental-panel[data-universe] .friendly-calendar button:focus-visible{outline-color:var(--brand-accent)}

body[data-grandline]:not([data-grandline=home]) h1 span,body[data-grandline]:not([data-grandline=home]) h2 em{color:var(--brand-accent)}
body[data-grandline]:not([data-grandline=home]) .flight svg{color:var(--brand-accent)}
body[data-grandline=premium] .service-aside,body[data-grandline=premium] .itinerary-band,body[data-grandline=premium] .premium-review{background:var(--brand-soft);border-color:var(--brand-line)}
body[data-grandline=premium] .premium-grid article,body[data-grandline=premium] .itinerary-grid article{border-color:var(--brand-line);border-top:3px solid var(--brand)}
body[data-grandline=premium] .itinerary-grid article>span,body[data-grandline=premium] .step-number{color:var(--brand-accent);background:var(--brand-soft);border-color:var(--brand-line)}

.ai-visual-credit{width:100%;font-size:10px!important;line-height:1.7;color:#8b948a;margin:10px 0 0}body[data-grandline=home] footer{flex-wrap:wrap}

.cards .photo.premium{background-image:url('/grandlineadventure/assets/vip-hero.webp')}
body[data-grandline]{background:#fff}

/* Softer home palette: neutral surfaces, colour only as a small orientation cue. */
body[data-grandline=home] .hero-services a[data-universe]{background:#fffdf8;color:#27312c;border:1px solid #e3e2d9;border-bottom:2px solid color-mix(in srgb,var(--brand) 45%,#ddd);box-shadow:none}
body[data-grandline=home] .hero-services [data-universe] .quick-copy{background:#fffdf8;color:#27312c}
body[data-grandline=home] .hero-services [data-universe] .quick-copy strong{color:#27312c}
body[data-grandline=home] .hero-services [data-universe] .quick-copy small{color:#7a8078;opacity:1}
body[data-grandline=home] .cards .card[data-universe]{border:1px solid #e2e4dc;box-shadow:0 5px 20px #14221a05}
body[data-grandline=home] .cards .card[data-universe] .home-card-body{background:#fff;border-top:1px solid #e6e7df}
body[data-grandline=home] .cards .card[data-universe] .category-label{background:transparent;color:#687067;padding:0;border-radius:0;display:flex;align-items:center;gap:9px;font-size:9px;line-height:1.6}
body[data-grandline=home] .cards .card[data-universe] .category-label:before{content:'';display:block;width:14px;height:2px;background:var(--brand);flex-shrink:0}
body[data-grandline=home] .cards .card[data-universe] .text-link{background:#f8f8f3;border:1px solid #e0e3d9;color:#29342c}
body[data-grandline=home] .cards .card[data-universe]:hover{border-color:#aab2a6}
body[data-grandline=home] .trust-section .brand-universe[data-universe]{background:#fafbf7;border:1px solid #e0e4d8;border-top:2px solid color-mix(in srgb,var(--brand) 40%,#ddd)}
body[data-grandline=home] .trust-section .brand-universe[data-universe] a{color:#354131;text-decoration-color:#c4cbbd}
@media(max-width:950px){body[data-grandline=home] .hero-services a[data-universe]{border:0;border-bottom:2px solid color-mix(in srgb,var(--brand) 45%,#ddd)}body[data-grandline=home] .hero-services li:has([data-universe]){border:1px solid #e1e3da}}

/* Category actions retain softly tinted colour cues on the homepage. */
body[data-grandline=home] .hero-services [data-universe] .quick-copy{background:var(--brand-soft);color:var(--brand-accent)}
body[data-grandline=home] .hero-services [data-universe] .quick-copy strong{color:var(--brand-accent)}
body[data-grandline=home] .hero-services [data-universe] .quick-copy small{color:#71796e}
body[data-grandline=home] .cards .card[data-universe] .text-link{background:color-mix(in srgb,var(--brand) 10%,white);border-color:color-mix(in srgb,var(--brand) 28%,#ddd);color:var(--brand-accent)}
body[data-grandline=home] .cards .card[data-universe] .text-link:hover{background:color-mix(in srgb,var(--brand) 17%,white)}
body[data-grandline=home] .trust-section .brand-universe[data-universe] a{display:inline-flex;padding:10px 13px;border-radius:7px;background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-accent);text-decoration:none}

/* Match Adventure accents to the homepage heading À ta façon (#ecaf00). */
body[data-grandline=adventure]:not([data-grandline=home]) h1 span,body[data-grandline=adventure]:not([data-grandline=home]) h2 em{color:var(--gl-adventure)}

/* Lodging taxonomy: hotel blue, apartment green, villa pink. */
[data-stay-type=hotel]{--stay-accent:#2d68ad;--stay-soft:#edf4fc;--stay-line:#b9d0ec}
[data-stay-type=apartment]{--stay-accent:#34784e;--stay-soft:#edf6ee;--stay-line:#b9d7c0}
[data-stay-type=villa]{--stay-accent:#b34479;--stay-soft:#fcf0f6;--stay-line:#e7bfd3}
body[data-grandline=booking] .stay-type-badge[data-stay-type],#rental-panel[data-universe] .stay-type-badge[data-stay-type]{background:var(--stay-soft)!important;border-color:var(--stay-line)!important;color:var(--stay-accent)!important}

/* The close circle follows the current reservation universe. */
#rental-panel[data-universe] .panel-close{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);box-shadow:0 3px 12px #15221c16}#rental-panel[data-universe] .panel-close:hover{filter:brightness(.94)}#rental-panel[data-universe] .panel-close:focus-visible{outline:3px solid var(--brand-accent);outline-offset:3px}

#rental-panel[data-universe] .formula-saving{color:var(--brand-accent);background:var(--brand-soft);border:1px solid var(--brand-line)}#rental-panel[data-universe] .basket-saving,#rental-panel[data-universe] .basket-item-offer,#rental-panel[data-universe] .mobile-bundle-saving,#rental-panel[data-universe] .bundle-discount-seal{color:var(--brand-accent)}body[data-grandline] .rental-plan-discount,body[data-grandline] .stay-price-discount{color:var(--brand-accent)}

/* One Adventure yellow, shared by default site accents and the brand line. */
:root{--yellow:var(--gl-adventure)}body[data-grandline=home]{--yellow:var(--gl-adventure)}
body[data-grandline] header .brand .flight i{background:var(--brand)!important}body[data-grandline] header .brand .flight svg{color:var(--brand)!important}
body[data-grandline=home] .hero-copy h1 span,body[data-grandline=home] h2 em{color:var(--gl-adventure)!important}body[data-grandline=home] .hero-copy h1{border-bottom-color:var(--gl-adventure)!important}
body[data-grandline=home] .hero-intro{border-left-color:var(--gl-adventure)}body[data-grandline=home] .hero-tagline strong{background:linear-gradient(transparent 73%,color-mix(in srgb,var(--gl-adventure) 38%,transparent) 73%)}
body[data-grandline=home] .eyebrow:before,body[data-grandline=home] .yellow{background:var(--gl-adventure)}
body[data-grandline=home] .nav-reservation,body[data-grandline=home] .button.yellow{background:var(--gl-adventure)!important;color:#242110}
body[data-grandline=home] .hero-services a:focus-visible{outline-color:var(--gl-adventure)}
