/* v1.0.6 — Ten light themes; Nocturne retains the dark palette. */
body:not(.theme-nocturne){color-scheme:light;--ink:#20323e;--muted:#5b6d78;--hero-wash:linear-gradient(90deg,#f8fbf9f7 0%,#f8fbf9e8 44%,#f8fbf94d 100%);--accent-text:#325d6c}
body.theme-signature{--bg:#f6f9fb;--paper:#fff;--line:#dfe8ed}
body.theme-avenue{--bg:#f3f8fd;--paper:#fff;--line:#dce7f0}
body.theme-riviera{--bg:#f1faf8;--paper:#fff;--line:#d8e9e5;--hero-wash:linear-gradient(180deg,#f2fcf7e8,#f2fcf7d9)}
body.theme-express{--bg:#f7f9fc;--paper:#fff;--line:#dfe6ef}
body.theme-motion{--bg:#f4f8f5;--paper:#fff;--ink:#20372c;--muted:#5a7063;--line:#dce7df;--accent-ink:#172017;--hero-wash:linear-gradient(90deg,#f5fcf5f7 0%,#f5fcf5eb 45%,#f5fcf54d 100%)}
body.theme-arrival{--bg:#f5f9ff;--paper:#fff;--line:#dfe7f1}
body.theme-atelier{--bg:#f7f3eb;--paper:#fffdf8;--line:#e4ded3}
body.theme-explorer{--bg:#f3f9f8;--paper:#fff;--line:#dce9e5}
body.theme-executive{--bg:#f3f7fb;--paper:#fff;--line:#dce5ef;--hero-wash:linear-gradient(90deg,#f3f8fff7 0%,#f3f8ffe8 48%,#f3f8ff59 100%)}
body.theme-weekender{--bg:#fff9f3;--paper:#fff;--line:#eee1d5;--hero-wash:linear-gradient(90deg,#fff9f0f7 0%,#fff9f0e8 45%,#fff9f04d 100%)}
body.theme-nocturne{color-scheme:dark}
body:not(.theme-nocturne) .site-header{background:var(--paper);color:var(--ink);border-color:var(--line)}
body:not(.theme-nocturne) .topbar{background:var(--paper);color:var(--muted);border-bottom:1px solid var(--line)}
body:not(.theme-nocturne) .logo-slot{background:var(--bg);border-color:#b6c5cc;color:var(--muted)}
body:not(.theme-nocturne) .logo-slot.has-logo{background:transparent;border-color:transparent}
body:not(.theme-nocturne) .experience{background:var(--paper)}
body:not(.theme-nocturne) .demo-note{background:var(--bg);color:var(--muted)}
body:not(.theme-nocturne) .carousel{color:var(--ink);background:var(--bg)}
body:not(.theme-nocturne) .slide:after{background:var(--hero-wash)}
body:not(.theme-nocturne) .slide h1,body:not(.theme-nocturne) .slide h2{color:var(--ink)}
body:not(.theme-nocturne) .slide p{color:#435966}
body:not(.theme-nocturne) .slide .eyebrow{color:var(--accent-text);opacity:1}
body:not(.theme-nocturne) .slide-controls{color:var(--ink);background:#fffffff0;border:1px solid #dce5e9;border-radius:13px;padding:8px 12px;box-shadow:0 7px 24px #16382b0a}
body:not(.theme-nocturne) .round-btn{border-color:#cbd7dd;background:#fff;color:var(--ink)}
body:not(.theme-nocturne) .round-btn:hover{background:#edf4f4}
body:not(.theme-nocturne) .slide-dot:after{background:#9eafb8}
body:not(.theme-nocturne) .slide-dot[aria-current=true]:after{background:var(--accent-text)}
body:not(.theme-nocturne) .hero-stamp{color:var(--ink);background:#ffffffeb;border:1px solid var(--line);border-radius:9px;padding:12px 16px}
body:not(.theme-nocturne) .site-footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}
body:not(.theme-nocturne) .footer-column a,body:not(.theme-nocturne) .footer-column small,body:not(.theme-nocturne) .footer-bottom{color:var(--muted)}
body:not(.theme-nocturne) .footer-column a:hover{color:var(--accent-text)}
body:not(.theme-nocturne) .footer-bottom{border-color:var(--line)}
body:not(.theme-nocturne) :is(.eyebrow,.vehicle-details,.step-number,.breadcrumbs a,.section-menu-link.active,.main-nav a[aria-current=page]){color:var(--accent-text)}
/* Spacious, larger rental steps on every theme. */
#nasil .steps-grid{gap:24px;overflow:visible}
#nasil .step{min-width:0;padding:clamp(22px,2.6vw,36px);background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 35px #16332d06}
#nasil .step-number{font-size:15px;letter-spacing:.13em;margin-bottom:22px}
#nasil .step h3{font-size:clamp(23px,2.2vw,30px);line-height:1.3;letter-spacing:-.035em;margin-bottom:16px;overflow-wrap:break-word}
#nasil .step p{font-size:clamp(16px,1.25vw,18px);line-height:1.85;max-width:none;color:var(--muted)}
.theme-nocturne #nasil .step{box-shadow:none}
.theme-arrival #nasil .steps-grid{border:0;border-radius:0;overflow:visible}
/* Progressive enhancement: content is visible until JS creates an observer. */
body{overflow-x:clip}
.motion-ready{--reveal-x:0px;--reveal-rotate:0deg;--reveal-delay:0ms}
.motion-ready.motion-left{--reveal-x:-64px;--reveal-rotate:-1.25deg}
.motion-ready.motion-right{--reveal-x:64px;--reveal-rotate:1.25deg}
.motion-ready:not(.is-revealed){opacity:0;transform:translate3d(var(--reveal-x),28px,0) rotate(var(--reveal-rotate))}
.motion-ready.is-revealed{opacity:1;transform:none}
.motion-ready.is-entering{animation:rentalReveal .8s cubic-bezier(.2,.75,.22,1) var(--reveal-delay) backwards}
#nasil .motion-ready.is-entering{animation-name:rentalLayerArrival;animation-duration:.95s}
@keyframes rentalReveal{from{opacity:0;transform:translate3d(var(--reveal-x),28px,0)}to{opacity:1;transform:none}}
@keyframes rentalLayerArrival{0%{opacity:0;transform:translate3d(var(--reveal-x),24px,0) rotate(var(--reveal-rotate))}72%{opacity:1;transform:translate3d(calc(var(--reveal-x) * -.065),-2px,0) rotate(calc(var(--reveal-rotate) * -.2))}100%{opacity:1;transform:none}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .vehicle,.destination,#nasil .step{transition:box-shadow .25s ease,border-color .25s ease}
 .vehicle:hover,#nasil .step:hover{box-shadow:0 16px 40px #17392f12;border-color:var(--accent)}
 .vehicle-photo img,.destination img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
 .vehicle-photo:hover img,.destination:hover img{transform:scale(1.045)}
 .btn{transition:filter .2s ease,box-shadow .2s ease}
 .btn:hover{filter:brightness(.97);box-shadow:0 6px 18px #17392f17}
}
@media(max-width:650px){
 #nasil .steps-grid{grid-template-columns:1fr;gap:18px}
 #nasil .step{padding:26px 23px}
 #nasil .step h3{font-size:24px}
 #nasil .step p{font-size:16px}
 .motion-ready.motion-left{--reveal-x:-28px}
 .motion-ready.motion-right{--reveal-x:28px}
 body:not(.theme-nocturne) .slide:after{background:linear-gradient(90deg,#f8fbf9f5,#f8fbf9c9)}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .motion-ready,.motion-ready:not(.is-revealed),.motion-ready.is-entering{opacity:1;transform:none;animation:none!important;transition:none!important}
 .vehicle-photo img,.destination img,.btn,.vehicle,.destination,#nasil .step{transition:none!important}
}

@media(prefers-reduced-motion:no-preference){
 .slide.active .slide-copy>*{animation:heroCopyReveal .7s cubic-bezier(.2,.7,.2,1) backwards}
 .slide.active .slide-copy>h1,.slide.active .slide-copy>h2{animation-delay:.08s}
 .slide.active .slide-copy>p{animation-delay:.15s}
 .slide.active .slide-copy>.slide-actions{animation-delay:.22s}
}
@keyframes heroCopyReveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* v1.0.7 — Larger benefit headings, descriptions and icons on all 11 themes. */
body .benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-block:32px}
body .benefits .benefit{min-width:0;align-items:flex-start;gap:16px;padding:22px 20px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
body .benefits .benefit>div{min-width:0}
body .benefits .benefit b{display:block;font-size:18px;font-weight:750;line-height:1.45;margin-bottom:7px;overflow-wrap:break-word}
body .benefits .benefit small{display:block;font-size:15px;line-height:1.75;color:var(--muted);overflow-wrap:break-word}
body .benefits .benefit svg{width:36px;height:36px;flex:0 0 36px;margin-top:3px}
body:not(.theme-nocturne) .benefits .benefit svg{color:var(--accent-text,var(--accent))}
@media(max-width:900px){body .benefits{grid-template-columns:1fr;gap:14px;padding-block:26px}body .benefits .benefit{padding:20px;align-items:center}}
@media(max-width:520px){body .benefits .benefit{padding:20px 17px;gap:14px}body .benefits .benefit b{font-size:17px}body .benefits .benefit small{font-size:15px}}

/* v1.0.9 — Readable reservation bar typography, including inner pages. */
body .booking-card .booking-label,body.inner-page .booking-label{font-size:18px;line-height:1.5;letter-spacing:.035em;margin-bottom:20px}
body .booking-form .field>span{font-size:13px;line-height:1.5;font-weight:700}
body .booking-form .field input,body .booking-form .field select{font-size:16px;height:54px;line-height:1.5}
body .booking-form>.btn{font-size:15px;font-weight:750;line-height:1.4;height:auto;min-height:54px;padding:13px 16px}
body .booking-card .form-note,body .detail-price .form-note{font-size:12px;line-height:1.75;margin-top:15px}
body .booking-card .form-error,body .detail-price .form-error{font-size:13px;line-height:1.6}
@media(max-width:600px){
 body .booking-card .booking-form,body .detail-price .booking-form,body.inner-page .detail-price .booking-form{grid-template-columns:minmax(0,1fr);gap:17px}
 body .booking-card .booking-label,body.inner-page .booking-label{font-size:18px}
 body .booking-form .field input,body .booking-form .field select{font-size:16px}
}

/* v1.0.10 — Accessible rental duration buttons with synchronized dates/prices. */
body .rate-grid .rate-hint{grid-column:1/-1;font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 5px;text-align:left}
body .rate-grid button.rate{appearance:none;position:relative;width:100%;min-width:0;min-height:82px;padding:11px 5px;border:1px solid var(--line);color:var(--ink);font:inherit;text-align:center;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
body .rate-grid button.rate small{font-size:11px;font-weight:700}
body .rate-grid button.rate b{font-size:16px;overflow-wrap:anywhere}
body .rate-grid button.rate em{font-size:10px}
body .rate-grid button.rate:hover{border-color:var(--accent)}
body .rate-grid button.rate.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--paper)}
body .rate-grid button.rate:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(prefers-reduced-motion:reduce){body .rate-grid button.rate{transition:none}}

/* v1.0.11 — Local handwriting font and linked designer credit. */
@font-face{font-family:FeritSignature;src:url('fonts/caveat-variable.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
body .site-footer .footer-bottom{justify-content:flex-start;align-items:center;gap:12px 24px;flex-wrap:wrap}
body .footer-credit{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap}
body .footer-credit-label{font-size:12px;line-height:1.6}
body .site-footer .footer-signature{font-family:FeritSignature,'Segoe Script','Brush Script MT',cursive;font-size:29px;font-weight:600;line-height:1.2;white-space:nowrap;color:var(--ink);text-decoration:none}
body .site-footer .footer-signature:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
@media(max-width:520px){body .site-footer .footer-bottom{align-items:flex-start;gap:12px}body .footer-credit-label{font-size:12px}body .site-footer .footer-signature{font-size:28px}}
/* v1.0.12 — Company contact, legal pages, privacy choices and mobile action bar. */
.prose-blocks h2{font-size:clamp(21px,2vw,27px);line-height:1.35;margin:32px 0 14px}.prose-blocks h2:first-child{margin-top:0}.prose-blocks p{font-size:15px;line-height:1.9;overflow-wrap:anywhere}.section-menu{gap:5px}.section-menu-link{line-height:1.5;padding-block:10px}.contact-channel strong,.contact-channel small{display:block}.contact-channel small{font-size:12px;color:var(--muted);margin-bottom:4px}.contact-channel strong{font-size:19px}.contact-info-panel h2{font-size:26px;line-height:1.35}.contact-address{font-size:16px!important;line-height:1.8!important}.contact-map{padding-bottom:60px}.contact-map iframe{display:block;width:100%;height:450px;border-radius:16px;background:var(--paper)}.contact-map iframe[hidden]{display:none}.map-placeholder{padding:38px;border:1px solid var(--line);border-radius:16px;background:var(--paper);display:grid;gap:18px;justify-items:start}.map-placeholder[hidden]{display:none}.map-placeholder h2{font-size:28px}.map-placeholder p{font-size:15px;max-width:750px}.map-placeholder .small-note{font-size:12px}.cookie-preferences-link{border:0;padding:0;margin:5px 0;background:transparent;color:var(--muted);font:inherit;font-size:15px;line-height:1.8;text-align:left;cursor:pointer}.cookie-preferences-link:hover{text-decoration:underline}.privacy-banner{position:fixed;bottom:22px;left:22px;z-index:35;width:min(510px,calc(100vw - 44px));padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 12px 50px #15352e26}.privacy-banner[hidden]{display:none}.privacy-banner p,#privacy-dialog>p{font-size:13px;line-height:1.8}.privacy-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.privacy-actions .btn{font-size:12px;flex:1;padding:12px;min-height:44px}.privacy-banner a{color:var(--accent-text,var(--accent));text-decoration:underline}
@media(max-width:800px){
 body .float-whatsapp{display:none!important}
 body .mobile-cta{display:grid!important;grid-template-columns:56px minmax(0,1fr);align-items:stretch;position:fixed;left:0;right:0;bottom:0;z-index:25;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-sizing:border-box}
 body .mobile-cta .mobile-call{display:grid;place-items:center;width:56px;height:50px;min-width:0;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--bg);overflow:hidden}
 body .mobile-cta .mobile-call svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}
 body .mobile-cta button{min-width:0;min-height:50px;display:flex;align-items:center;justify-content:center;gap:9px;margin:0;padding:12px 15px;border-radius:9px;font-size:15px;line-height:1.4;white-space:normal}
 body .mobile-cta button svg{width:22px;height:22px;flex-shrink:0}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 body .site-footer .footer-bottom{padding-bottom:18px}
 .privacy-banner{bottom:calc(84px + env(safe-area-inset-bottom));left:14px;width:calc(100vw - 28px);padding:18px}
 .map-placeholder{padding:25px}.contact-map iframe{height:360px}
}

.contact-intro{padding-top:30px}.contact-intro p{max-width:880px;font-size:15px;line-height:1.9;margin-bottom:15px}
/* Larger, proportionate logos and a handwritten site-name fallback. */
body .site-header .header-inner{height:auto;min-height:106px;padding-block:12px;gap:24px}
body .site-header .logo-slot{width:220px;height:80px;flex:0 0 220px;padding:3px;border:0;background:transparent;color:var(--ink);justify-content:flex-start}
body .site-footer .logo-slot{width:min(230px,100%);height:84px;padding:3px;border:0;background:transparent;color:var(--ink);justify-content:flex-start}
body .logo-slot img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:left center;border-radius:0}
body .logo-slot .logo-fallback{display:block;width:100%;font-family:FeritSignature,'Segoe Script','Brush Script MT',cursive;font-size:36px;font-weight:600;line-height:1.02;letter-spacing:-.015em;text-transform:none;text-align:left;color:var(--ink);overflow-wrap:anywhere}
@media(max-width:800px){body .site-header .header-inner{min-height:86px;gap:14px}body .site-header .logo-slot{width:174px;height:62px;flex-basis:174px}body .site-header .logo-slot .logo-fallback{font-size:29px}}
@media(max-width:360px){body .site-header .logo-slot{width:150px;flex-basis:150px}body .site-header .logo-slot .logo-fallback{font-size:26px}body .site-header .header-inner{gap:10px}}
