/* Pure Morocco Experience — v2.4: bright theme, new logo & navbar, hero, booking form, inspire slider, payments */
:root{--amber:#E4572E;--orange:#EE5A24;--orange-2:#FF7A45;--sun:#F5A623;--sun-2:#FFC86B;--cream:#FFF8EF;--sand:#FBEBD3;--line:#F0E2CF;--serif:"Playfair Display",Georgia,"Times New Roman",serif}

/* ---------- Copy protection (inputs stay usable) ---------- */
body{-webkit-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,select,[contenteditable]{-webkit-user-select:text;user-select:text}
img{-webkit-user-drag:none;user-drag:none}

/* ---------- Header: original dark design, white logo ---------- */
.brand.brand24 img{height:60px;width:auto;display:block}
@media (min-width:1061px){.site-header.scrolled .brand.brand24 img{height:50px}}
@media (max-width:640px){.brand.brand24 img{height:48px}}
.sub .sub-d{display:block;font-weight:400;font-size:.8rem;color:var(--muted);margin-top:2px}
@media (max-width:1060px){.main-nav .sub-d{color:#BFAE96}}

/* ---------- Buttons ---------- */
.btn-orange{background:var(--orange);color:#fff;border-color:var(--orange);text-transform:none;letter-spacing:.01em;font-size:1rem;border-radius:999px}
.btn-orange:hover{background:var(--orange-2);border-color:var(--orange-2);color:#fff}
.btn-outline{border:2px solid #fff;color:#fff;background:rgba(255,255,255,.08);text-transform:none;letter-spacing:.01em;font-size:1rem}
.btn-outline:hover{background:#fff;color:#2B1A10}
.btn-gold{background:linear-gradient(135deg,var(--sun),var(--orange));color:#fff}
.btn-gold:hover{color:#fff;background:var(--orange-2)}
.btn-dark{background:#2B1A10}

/* ---------- Hero ---------- */
.hero.hero24{min-height:auto;display:block;border-radius:0;background:#F6B26B;padding:0}
.hero.hero24::after{background:linear-gradient(90deg,rgba(40,18,6,.62) 0%,rgba(40,18,6,.32) 48%,rgba(40,18,6,0) 78%),linear-gradient(0deg,rgba(40,18,6,.45),rgba(40,18,6,0) 38%)}
.hero.hero24 .wrap{padding:150px 0 40px}
.h24{font:700 clamp(2.3rem,5vw,4.1rem)/1.06 var(--serif);text-transform:none;letter-spacing:-.01em;color:#fff;margin:0 0 22px;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.h24 em{display:block;font-style:italic;font-weight:600;color:var(--orange-2)}
.hero24 .sub-lead{font-size:1.18rem;line-height:1.6;max-width:640px;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.hero24 .hero-ctas{gap:16px;margin-top:30px}
.hero24 .hero-ctas .btn{padding:17px 32px}
.h-checks{display:flex;flex-wrap:wrap;gap:10px 26px;list-style:none;padding:0;margin:22px 0 0;color:#fff;font-weight:600;font-size:.98rem}
.h-checks li{display:flex;align-items:center;gap:8px}
.h-checks li::before{content:"";width:14px;height:8px;border:solid #3DDC84;border-width:0 0 3px 3px;transform:rotate(-45deg) translateY(-2px)}
.h-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:56px 0 0;padding:0;list-style:none}
.h-stats li,.h-stats a{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.h-stats .h-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);flex:none}
.h-stats .h-ic .ic{width:20px;height:20px;fill:#fff}
.h-stats strong{display:block;font:700 1.45rem/1.05 var(--serif)}
.h-stats small{display:block;font:700 .66rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;opacity:.92}
.h-strip{position:relative;z-index:3;background:#fff}
.h-strip ul{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;list-style:none;margin:0 auto;padding:26px 0}
.h-strip li{display:flex;gap:14px;align-items:flex-start}
.h-strip .s-ic{width:38px;height:38px;border-radius:50%;background:#FFEDE4;display:grid;place-items:center;flex:none}
.h-strip .s-ic .ic{width:18px;height:18px;fill:var(--orange)}
.h-strip strong{display:block;font-size:1rem;color:#2B1A10}
.h-strip span{font-size:.88rem;color:var(--muted)}
.quickbar{margin-top:10px}
@media (max-width:1100px){.h-stats{grid-template-columns:repeat(3,1fr);row-gap:22px}}
@media (max-width:900px){.h-strip ul{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.hero.hero24 .wrap{padding:118px 0 30px}.h-stats{grid-template-columns:1fr 1fr;margin-top:38px}.h-strip ul{grid-template-columns:1fr}.hero24 .hero-ctas .btn{width:100%;justify-content:center}}

/* Camel icon */
.ic-camel{fill:currentColor}
.quick-inner .ic-camel{width:38px;height:38px;fill:var(--orange);padding:8px;border-radius:12px;background:var(--cream);box-sizing:content-box}
.quick-inner .ic{fill:var(--orange)}

/* ---------- Bright sections ---------- */
.section.alt{background:var(--cream)}
.section.dark{background:linear-gradient(180deg,#FFF4E6,#FFE9D2)!important;color:#2B1A10}
.section.dark h2,.section.dark h3{color:#2B1A10}
.section.dark .eyebrow.light{color:var(--orange)}
.section.dark .lead{color:#5E4B3D!important}
.section.dark .answer-box{background:#fff!important;color:#2B1A10!important}
.section.dark .feature{background:#fff;border-color:#F3E2CC}
.section.dark .feature p{color:#5E4B3D}
.feature .ic{fill:var(--orange)}
.eyebrow{color:var(--orange)}
.page-hero .hero-media::after{background:linear-gradient(0deg,rgba(40,18,6,.7),rgba(40,18,6,.15))}
.page-hero .wrap{padding-top:130px}
.newsletter{background:linear-gradient(135deg,#FFB547,#FF7A45)}
.nl-form .btn-gold{background:#2B1A10;color:#fff}

/* ---------- Footer: light ---------- */
.site-footer{background:#FFF8EF;color:#4A3A2E;border-top:1px solid var(--line)}
.site-footer a{color:#2B1A10}
.site-footer a:hover{color:var(--orange)}
.foot-h{color:var(--orange)}
.site-footer .ic{fill:var(--orange)}
.brand-foot.brand24 img{height:96px;width:auto}
.foot-bottom{border-top:1px solid var(--line)}
.social24{display:flex;gap:10px;flex-wrap:wrap}
.social24 a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);transition:.2s}
.social24 a .ic{width:19px;height:19px;fill:#2B1A10;margin:0}
.social24 a:hover{background:var(--orange);border-color:var(--orange)}
.social24 a:hover .ic{fill:#fff}

/* Payments */
.pay-wrap{border-top:1px solid var(--line);padding:26px 0}
.pay-h{font:700 .74rem/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#C98A2B;margin:0 0 12px}
.pay-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 12px!important;padding:0}
.pay-list li{margin:0}
.pay{height:34px;min-width:56px;padding:0 12px;border-radius:7px;background:#fff;border:1px solid #E7DCCB;display:inline-flex;align-items:center;justify-content:center;gap:4px;font:800 .9rem/1 var(--sans);color:#111;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pay-visa{color:#1A1F71;font-style:italic;letter-spacing:.02em}
.pay-amex{background:#2E77BC;border-color:#2E77BC;color:#fff;font-size:.72rem;letter-spacing:.06em}
.pay-apple{font-weight:600;font-size:1rem}
.pay-gpay b{font:800 1rem/1 var(--sans)}
.pay-gpay span{font-weight:600}
.pay-cmi{color:#1C4E9B;font-style:italic;letter-spacing:.04em}
.pay-payzone{font-weight:800}
.pay-payzone span{color:#F26B21}
.pay-bank{background:transparent;color:#4A3A2E;font-weight:600;font-size:.82rem}
.pay-note{font-size:.86rem;color:#6E5D50;max-width:760px;margin:0}

/* ---------- Get inspired slider ---------- */
.inspire24{background:#FBFAF7}
.insp-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.insp-stack{position:relative;max-width:470px;aspect-ratio:3/4;margin-left:24px}
.insp-card{position:absolute;inset:0;margin:0;border-radius:28px;overflow:hidden;box-shadow:0 22px 50px rgba(40,20,8,.2);opacity:0;transform:scale(.96) rotate(-2deg);transition:opacity .6s ease,transform .6s ease;z-index:2}
.insp-card.on{opacity:1;transform:none;z-index:3}
.insp-card img{width:100%;height:100%;object-fit:cover}
.insp-ghost{position:absolute;inset:0;border-radius:28px;background:#E8D6BF;z-index:1}
.insp-ghost.g1{transform:translateX(-22px) rotate(-4deg) scale(.96);background:#EAD9C4}
.insp-ghost.g2{transform:translateX(26px) rotate(3deg) scale(.93);background:#D9C2A5}
.insp-text{text-align:right}
.insp-title{font:700 clamp(2.4rem,4.6vw,3.6rem)/1.05 var(--sans);text-transform:none;letter-spacing:-.02em;color:var(--orange);margin:0 0 28px}
.insp-slide p{text-align:justify;font-size:1.08rem;line-height:1.65;color:#2B1A10;max-width:520px;margin:0 0 26px auto}
.insp-slide{animation:inspIn .5s ease}
@keyframes inspIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.insp-nav{display:flex;gap:16px;justify-content:flex-end;margin-top:40px}
.insp-nav button{width:100px;height:46px;border-radius:999px;border:1.5px solid var(--orange);background:transparent;color:var(--orange);font-size:1.6rem;line-height:1;cursor:pointer;transition:.2s}
.insp-nav button:hover{background:var(--orange);color:#fff}
@media (max-width:900px){.insp-grid{grid-template-columns:1fr;gap:40px}.insp-stack{margin:0 auto;width:min(420px,84%)}.insp-text{text-align:left}.insp-slide p{margin-left:0}.insp-nav{justify-content:flex-start}}

/* ---------- Booking modal (form like the reference) ---------- */
.bk-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}
.bk-modal[hidden]{display:none}
.bk-backdrop{position:absolute;inset:0;background:rgba(20,12,6,.6);backdrop-filter:blur(3px)}
.bk-panel{position:relative;width:min(720px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;overflow-x:hidden;background:#1E1E1E;color:#F2F2F2;border:1px solid #3A3A3A;padding:26px 28px 24px;box-shadow:0 30px 80px rgba(0,0,0,.45);-webkit-user-select:text;user-select:text}
.bk-head{display:flex;align-items:center;gap:18px;padding-bottom:16px;border-bottom:1px solid #333}
.bk-back{width:46px;height:46px;border:1px solid #555;background:transparent;color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;flex:none}
.bk-back:hover{border-color:var(--orange);color:var(--orange)}
.bk-eyebrow{margin:0 0 4px;font:700 .78rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#FF6B3D}
.bk-title{margin:0;font:800 1.35rem/1.15 var(--sans);text-transform:uppercase;letter-spacing:-.01em;color:#fff}
.bk-facts{display:flex;flex-wrap:wrap;gap:6px 26px;margin:14px 0 4px;padding:10px 18px;border:1px solid #C9512C;border-top:0;font-size:.9rem;color:#DDD}
.bk-facts b{color:#fff}
.bk-form{display:block}
.bk-sec{display:flex;align-items:center;gap:10px;margin:26px 0 14px;font:700 .82rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#fff}
.bk-sec::before{content:"";width:24px;height:2px;background:#FF6B3D}
.bk-sec svg,.bk-l svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bk-l{display:flex;align-items:center;gap:8px;margin:14px 0 8px;font:700 .78rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#fff}
.bk-l i{font-style:normal;color:#FF6B3D}
.bk-in{width:100%;background:#2A2A2A;border:1px solid #4A4A4A;border-radius:0;color:#fff;padding:15px 16px;font:500 1rem/1.3 var(--sans);color-scheme:dark}
.bk-in:focus{outline:none;border-color:#FF6B3D}
.bk-in::placeholder{color:#9A9A9A}
textarea.bk-in{min-height:96px}
.bk-phone{display:grid;grid-template-columns:150px 1fr;gap:10px}
.bk-cc{font-weight:700}
.bk-types{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bk-type{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px;border:1px solid #4A4A4A;background:#2A2A2A;cursor:pointer;margin:0;font-weight:700;font-size:.98rem;color:#fff;text-transform:none;letter-spacing:0}
.bk-type input{position:absolute;opacity:0;pointer-events:none}
.bk-type b{font-size:.92rem}
.bk-type:has(input:checked){border-color:#FF6B3D;box-shadow:inset 0 0 0 1px #FF6B3D}
.bk-type.on{border-color:#FF6B3D;box-shadow:inset 0 0 0 1px #FF6B3D}
.bk-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bk-total{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 4px;padding:16px 20px;border:1px solid #4A4A4A;background:#232323}
.bk-total p{margin:0 0 6px;font:700 .8rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.bk-total small{font-size:.84rem;color:#CFCFCF}
.bk-sum{font:700 1.6rem/1 var(--sans);color:#FF6B3D;white-space:nowrap}
.bk-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;position:sticky;bottom:-24px;background:#1E1E1E;padding:12px 0 6px}
.bk-btn{padding:17px;font:700 .9rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border:1px solid #fff;background:transparent;color:#fff}
.bk-btn-send{background:#EE6A3C;border-color:#EE6A3C;color:#2A1408}
.bk-btn-send:hover{background:#FF7A45}
.bk-btn-back:hover{border-color:#FF6B3D;color:#FF6B3D}
.bk-form .form-msg{margin-top:12px}
.bk-form .form-msg.ok{color:#5BE39A}.bk-form .form-msg.err{color:#FF8A80}
body.bk-lock{overflow:hidden}
@media (max-width:560px){.bk-panel{padding:18px 16px}.bk-phone{grid-template-columns:120px 1fr}.bk-row,.bk-types{grid-template-columns:1fr}.bk-title{font-size:1.1rem}}

/* v2.4b: hero photo slider, desert icon, car hire */
.hero24 .hero-media img.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1.4s ease,transform 7s ease}
.hero24 .hero-media img.hero-slide.on{opacity:1;transform:scale(1)}
.hero-dots{position:absolute;z-index:4;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:8px}
.hero-dots span{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.55);transition:.3s}
.hero-dots span.on{width:26px;background:#fff}
.ic-desert{fill:currentColor}
.quick-inner .ic-desert{width:38px;height:38px;fill:var(--orange);padding:8px;border-radius:12px;background:var(--cream);box-sizing:content-box}
.carhire24{background:#fff}
.ch-media{position:relative}
.ch-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px;box-shadow:0 22px 50px rgba(40,20,8,.16)}
.ch-badge{position:absolute;left:20px;bottom:20px;background:#fff;color:#2B1A10;font:700 .85rem/1 var(--sans);padding:12px 16px;border-radius:999px;box-shadow:0 8px 20px rgba(0,0,0,.15)}
.carhire24 .ticks li::before{background:var(--orange)}
.carhire24 .ticks li::after{border-color:#fff}
