/* Morocco Tours — Public Site Stylesheet
   Direction: Apple-style restraint + Visit Europe-style immersive imagery.
   Palette: white / mist grey / ink / Majorelle blue (single accent). */
:root{
  --ink:#1d1d1f; --muted:#6e6e73; --mist:#f5f5f7; --line:#d2d2d7;
  --accent:#2f4fd8; --accent-dark:#2339b0; --accent-soft:rgba(47,79,216,.16); --accent-on-dark:#9db0ff;
  --star:#e5a52f;
  --radius-xl:28px; --radius-lg:24px; --radius-md:14px;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter","Helvetica Neue",Arial,sans-serif;
  --nav-h:52px;
  /* legacy aliases so existing inline styles in the PHP pages keep working */
  --color-terracotta:var(--accent); --color-terracotta-dark:var(--accent-dark);
  --color-gold:var(--star); --color-teal:var(--ink); --color-teal-light:#3a3a3c;
  --color-sand:var(--mist); --color-sand-dark:var(--line);
  --color-ink:var(--ink); --color-muted:var(--muted);
  --radius-lg-legacy:var(--radius-lg);
  --shadow-soft:none;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 1rem);}
body{font-family:var(--font);color:var(--ink);background:#fff;padding-top:var(--nav-h);
  line-height:1.47;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,h6,.font-heading{font-family:var(--font);font-weight:600;letter-spacing:-.03em;line-height:1.1;color:var(--ink);}
h1{font-size:clamp(2.25rem,5vw,3.5rem);font-weight:700;letter-spacing:-.04em;}
h5{font-size:1.375rem;letter-spacing:-.02em;}
h6{font-size:1.0625rem;letter-spacing:-.015em;}
a{text-decoration:none;color:var(--accent);}
a:hover{color:var(--accent-dark);}
::selection{background:var(--accent-soft);}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.text-muted,.text-muted-light{color:var(--muted) !important;}
section{padding:6rem 0;}
.bg-sand{background:var(--mist);}
.band-dark,.bg-teal{background:#000;color:#f5f5f7;}

/* ---------- Buttons & links ---------- */
.btn-book{display:inline-block;background:var(--accent);color:#fff !important;border:0;border-radius:980px;
  padding:.7rem 1.4rem;font-size:1rem;font-weight:500;letter-spacing:-.01em;transition:background .2s;}
.btn-book:hover{background:var(--accent-dark);}
.btn-primary{--bs-btn-bg:var(--accent);--bs-btn-border-color:var(--accent);--bs-btn-hover-bg:var(--accent-dark);--bs-btn-hover-border-color:var(--accent-dark);--bs-btn-active-bg:var(--accent-dark);--bs-btn-active-border-color:var(--accent-dark);border-radius:980px;}
.btn-outline-dark{--bs-btn-color:var(--accent);--bs-btn-border-color:var(--accent);--bs-btn-hover-bg:var(--accent);--bs-btn-hover-border-color:var(--accent);--bs-btn-hover-color:#fff;--bs-btn-active-bg:var(--accent-dark);--bs-btn-active-border-color:var(--accent-dark);--bs-btn-active-color:#fff;border-radius:980px;font-weight:500;}
.btn-dark{--bs-btn-bg:var(--ink);--bs-btn-border-color:var(--ink);--bs-btn-hover-bg:#000;--bs-btn-hover-border-color:#000;}
.link-more{color:var(--accent);font-size:1.0625rem;font-weight:400;white-space:nowrap;}
.link-more::after{content:"\203A";margin-left:.3em;font-size:1.15em;line-height:1;display:inline-block;transition:transform .2s;}
.link-more:hover::after{transform:translateX(3px);}

/* ---------- Navigation (frosted) ---------- */
.main-navbar{background:rgba(255,255,255,.78);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid rgba(0,0,0,.08);padding:0;min-height:var(--nav-h);}
.main-navbar .navbar-brand{font-weight:600;font-size:1.0625rem;letter-spacing:-.025em;color:var(--ink);padding:0;margin-right:1.5rem;}
.main-navbar .navbar-brand-logo{display:flex;align-items:center;padding:6px 0;}
.main-navbar .navbar-brand-logo img{height:40px;width:auto;border-radius:6px;display:block;}
.main-navbar .nav-link{color:rgba(29,29,31,.72);font-size:.8125rem;padding:1rem .8rem;transition:color .2s;}
.main-navbar .nav-link:hover,.main-navbar .nav-link.active{color:#000;}
.main-navbar .nav-link.active{font-weight:600;}
.main-navbar .btn-book{padding:.32rem .95rem;font-size:.8125rem;}
.main-navbar .navbar-toggler{border:0;padding:.5rem;box-shadow:none;}
@media (max-width:991px){
  .main-navbar .navbar-collapse{padding:.5rem 0 1.5rem;border-top:1px solid rgba(0,0,0,.08);}
  .main-navbar .nav-link{font-size:1.5rem;font-weight:600;letter-spacing:-.025em;padding:.55rem 0;color:var(--ink);}
  .main-navbar .btn-book{margin-top:1rem;font-size:1.0625rem;padding:.7rem 1.4rem;}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:calc(100vh - var(--nav-h));min-height:calc(100svh - var(--nav-h));
  padding:3rem 0 2.5rem;color:#fff;text-align:center;background:#111;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.30) 0%,rgba(0,0,0,.12) 38%,rgba(0,0,0,.62) 100%);}
.hero>.container{position:relative;z-index:2;}
@media (prefers-reduced-motion:reduce){.hero-video{display:none;}
  .hero{background:#111 url('../images/hero-poster.jpg') center/cover no-repeat;}}
@media (max-width:767px){.hero-video{display:none;}
  .hero{background:#111 url('../images/hero-poster.jpg') center/cover no-repeat;}}
.hero>.container{flex:1;display:flex;flex-direction:column;}
.hero-copy{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 0 3rem;}
.hero h1{font-size:clamp(2.9rem,8.2vw,6.25rem);font-weight:700;letter-spacing:-.045em;line-height:1.02;color:#fff;max-width:13em;margin:0 0 1.25rem;}
.hero p.lead{font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:400;letter-spacing:-.015em;color:rgba(255,255,255,.92);max-width:32rem;margin:0 0 2rem;}
.hero-actions{display:flex;gap:1.75rem;align-items:center;justify-content:center;flex-wrap:wrap;}
.hero-actions .btn-light-pill{background:#fff;color:var(--ink);border-radius:980px;padding:.75rem 1.5rem;font-weight:500;font-size:1.0625rem;transition:background .2s;}
.hero-actions .btn-light-pill:hover{background:#e8e8ed;color:var(--ink);}
.hero-actions .link-more{color:#fff;}
.hero-actions .link-more:hover{color:#fff;opacity:.85;}

.search-widget{display:grid;grid-template-columns:1.4fr 1fr .8fr auto;align-items:stretch;max-width:880px;margin:0 auto;padding:.55rem;text-align:left;
  background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:var(--radius-xl);box-shadow:0 24px 60px rgba(0,0,0,.28);}
.search-field{padding:.55rem 1.25rem;border-right:1px solid var(--line);min-width:0;}
.search-field label{display:block;margin:0;font-size:.75rem;font-weight:600;color:var(--ink);}
.search-widget .form-control,.search-widget .form-select{border:0;background-color:transparent;padding:0 1.25rem 0 0;font-size:1rem;color:var(--muted);box-shadow:none;border-radius:0;height:auto;background-position:right 0 center;}
.search-widget .form-control:focus,.search-widget .form-select:focus{box-shadow:none;color:var(--ink);}
.btn-search{display:flex;align-items:center;gap:.5rem;justify-content:center;margin:.2rem;padding:0 1.6rem;border:0;border-radius:980px;background:var(--accent);color:#fff;font-weight:500;font-size:1rem;transition:background .2s;}
.btn-search:hover{background:var(--accent-dark);}
@media (max-width:767px){
  .search-widget{grid-template-columns:1fr;border-radius:var(--radius-lg);}
  .search-field{border-right:0;border-bottom:1px solid var(--line);}
  .btn-search{padding:.85rem;margin:.5rem .2rem .2rem;}
}
@keyframes rise{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
.hero-copy>*,.hero .search-widget{animation:rise .9s cubic-bezier(.2,.7,.2,1) both;}
.hero-copy>:nth-child(2){animation-delay:.12s;}
.hero-copy>:nth-child(3){animation-delay:.24s;}
.hero .search-widget{animation-delay:.42s;}
@media (prefers-reduced-motion:reduce){.hero-copy>*,.hero .search-widget{animation:none;}*{transition-duration:.01ms !important;}}

/* ---------- Section headings ---------- */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:3rem;}
.section-title{font-size:clamp(2rem,4.4vw,3.5rem);font-weight:700;letter-spacing:-.04em;line-height:1.06;margin:0;max-width:16em;}
.section-title .soft{color:var(--muted);}
.band-dark .section-title{color:#f5f5f7;}

/* ---------- Destinations (bento) ---------- */
.dest-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:340px;gap:1rem;}
.dest-tile{position:relative;display:block;overflow:hidden;isolation:isolate;border-radius:var(--radius-xl);background:#2a2a2c;color:#fff;}
.dest-tile:nth-child(1){grid-column:span 2;grid-row:span 2;}
.dest-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s cubic-bezier(.2,.7,.2,1);}
.dest-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 42%,rgba(0,0,0,.66) 100%);}
.dest-tile:hover img{transform:scale(1.045);}
.dest-body{position:absolute;left:0;right:0;bottom:0;padding:1.75rem;}
.dest-tile .count{display:block;font-size:.875rem;color:rgba(255,255,255,.82);}
.dest-tile h3{font-size:1.75rem;color:#fff;margin:.15rem 0 .25rem;}
.dest-tile:nth-child(1) h3{font-size:clamp(2rem,4vw,3rem);}
.dest-tile p{color:rgba(255,255,255,.88);font-size:.9375rem;margin:.25rem 0 .6rem;max-width:30rem;}
.dest-tile .go{color:#fff;font-weight:500;}
.dest-tile .go::after{content:"\203A";margin-left:.3em;}
.dest-grid.is-uniform{grid-auto-rows:420px;}
.dest-grid.is-uniform .dest-tile:nth-child(n){grid-column:auto;grid-row:auto;}
.dest-grid.is-uniform .dest-tile:nth-child(1) h3{font-size:1.75rem;}
@media (max-width:991px){
  .dest-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:280px;}
  .dest-tile:nth-child(1){grid-column:span 2;grid-row:span 1;}
}
@media (max-width:575px){
  .dest-grid,.dest-grid.is-uniform{grid-template-columns:1fr;grid-auto-rows:300px;}
  .dest-tile:nth-child(n){grid-column:auto;}
}

/* ---------- Tour cards (borderless, image-led) ---------- */
.tour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3.25rem 1.5rem;}
@media (max-width:991px){.tour-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:575px){.tour-grid{grid-template-columns:1fr;}}
.tour-card{display:flex;flex-direction:column;background:none;border:0;box-shadow:none;}
.tour-card .tour-img-wrap{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-lg);background:var(--mist);}
.tour-card .tour-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1);}
.tour-card:hover .tour-img-wrap img{transform:scale(1.045);}
.tour-card .duration-badge{position:absolute;top:14px;left:14px;padding:.3rem .8rem;border-radius:980px;font-size:.8125rem;font-weight:600;color:var(--ink);
  background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);}
.tour-card-body{display:flex;flex-direction:column;flex:1;padding:1.1rem .25rem 0;}
.tour-card .destination-tag{font-size:.875rem;color:var(--muted);}
.tour-card h5{font-size:1.5rem;font-weight:600;letter-spacing:-.025em;margin:.15rem 0 .4rem;}
.tour-card h5 a{color:var(--ink);}
.tour-card h5 a:hover{color:var(--accent);}
.tour-card .rating{color:var(--star);font-size:.8125rem;margin-bottom:.5rem;}
.tour-card .rating span{color:var(--muted);}
.tour-card .meta{font-size:1rem;color:var(--muted);margin-bottom:1.1rem;}
.tour-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.tour-price{font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;}
.tour-price small{font-weight:400;color:var(--muted);font-size:.875rem;margin-right:.25rem;}
.tour-actions{display:flex;align-items:center;gap:1.1rem;}
.tour-card .btn-reserve{background:var(--accent);color:#fff;border-radius:980px;padding:.4rem 1.05rem;font-size:.9375rem;font-weight:500;transition:background .2s;}
.tour-card .btn-reserve:hover{background:var(--accent-dark);color:#fff;}
.tour-card .btn-view{font-size:.9375rem;}

/* ---------- Trust band ---------- */
.band-dark{padding:7rem 0;}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem 2rem;margin-top:4rem;}
.trust-grid i{font-size:1.5rem;color:var(--accent-on-dark);margin-bottom:1.1rem;display:block;}
.trust-grid h3{font-size:1.25rem;color:#f5f5f7;margin-bottom:.5rem;}
.trust-grid p{color:#a1a1a6;font-size:1rem;margin:0;}
@media (max-width:991px){.trust-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:575px){.trust-grid{grid-template-columns:1fr;}}

/* ---------- Inner page heroes ---------- */
.page-hero{background:#fff;color:var(--ink);padding:5.5rem 0 2.5rem;text-align:center;}
.page-hero h1{font-size:clamp(2.5rem,6.5vw,4.75rem);font-weight:700;letter-spacing:-.045em;line-height:1.04;}
.page-hero p{font-size:clamp(1.15rem,2.2vw,1.5rem);color:var(--muted);letter-spacing:-.015em;margin:1rem auto 0;max-width:34rem;}
.page-hero + section{padding-top:2rem;}

/* ---------- Forms ---------- */
.form-label{font-size:.8125rem;font-weight:600;color:var(--ink);margin-bottom:.4rem;}
.form-control,.form-select{background-color:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:.8rem 1rem;font-size:1.0625rem;color:var(--ink);}
.form-control::placeholder{color:#a1a1a6;}
.form-control:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);}
.form-check-input:checked{background-color:var(--accent);border-color:var(--accent);}
.form-check-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);}
.filters-bar{background:var(--mist);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:none;}
.filters-bar .form-control,.filters-bar .form-select{border-color:transparent;}
.filters-bar .btn-dark{border-radius:980px;}

/* ---------- Tour detail ---------- */
.tour-gallery-main{border-radius:var(--radius-xl);overflow:hidden;height:clamp(300px,50vw,560px);background:var(--mist);}
.tour-gallery-main img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;}
.tour-thumb{border-radius:var(--radius-md);height:90px;object-fit:cover;cursor:pointer;opacity:.6;transition:opacity .2s;width:100%;}
.tour-thumb:hover,.tour-thumb.active{opacity:1;}
.tour-thumb.active{outline:2px solid var(--accent);outline-offset:2px;}
.lead{font-size:1.25rem;font-weight:400;line-height:1.5;letter-spacing:-.015em;}
.include-list{padding:0;}
.include-list li{padding:.65rem 0;border-bottom:1px solid var(--mist);}
.include-list.yes i{color:var(--accent);margin-right:.75rem;}
.include-list.no i{color:var(--muted);margin-right:.75rem;}
.itinerary-item{border-left:1px solid var(--line);padding-left:1.75rem;padding-bottom:2.25rem;position:relative;}
.itinerary-item::before{content:'';position:absolute;left:-6px;top:.3rem;width:11px;height:11px;border-radius:50%;background:var(--accent);border:2px solid #fff;}
.itinerary-item .day-tag{color:var(--accent);font-weight:600;font-size:.875rem;}
.sticky-book-box{border-radius:var(--radius-xl);background:var(--mist);box-shadow:none;padding:1.75rem;}
.review-card{background:var(--mist);border-radius:var(--radius-lg);box-shadow:none;padding:1.75rem;height:100%;}
.review-card .stars{color:var(--star);}
.rating{color:var(--star);}

/* ---------- Booking & confirmation ---------- */
.booking-steps{display:flex;justify-content:space-between;margin-bottom:2.5rem;flex-wrap:wrap;gap:.5rem;}
.booking-steps .step{flex:1;text-align:center;min-width:90px;}
.booking-steps .step .circle{width:34px;height:34px;border-radius:50%;background:var(--mist);color:var(--muted);display:flex;align-items:center;justify-content:center;margin:0 auto .5rem;font-weight:600;font-size:.9375rem;transition:background .3s,color .3s;}
.booking-steps .step.active .circle,.booking-steps .step.done .circle{background:var(--accent);color:#fff;}
.booking-steps .step span.label{font-size:.8125rem;font-weight:500;color:var(--muted);}
.booking-steps .step.active span.label{color:var(--ink);font-weight:600;}
.booking-card{background:var(--mist);border-radius:var(--radius-xl);box-shadow:none;padding:2.25rem;}
.booking-card .form-control,.booking-card .form-select{border-color:transparent;}
.summary-box{background:var(--mist);border-radius:var(--radius-lg);padding:1.35rem;}
.booking-card .summary-box{background:#fff;}
.total-price-box{background:var(--ink);color:#fff;border-radius:var(--radius-md);padding:1rem 1.25rem;font-weight:600;font-size:1.3rem;}
.confirmation-box{background:#fff;padding:3rem 1rem;text-align:center;}
.confirmation-icon{font-size:4rem;color:#2E9E5B;}
.reservation-code{font-size:2rem;letter-spacing:.08em;color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums;}
.flash-toast{position:fixed;top:calc(var(--nav-h) + 12px);right:20px;z-index:2000;padding:.85rem 1.25rem;border-radius:var(--radius-md);font-weight:500;box-shadow:0 12px 32px rgba(0,0,0,.14);}
.flash-success{background:#E4F6EB;color:#1f7a45;}
.flash-error{background:#FBE7E5;color:#b02f2f;}

/* ---------- FAQ ---------- */
.accordion{--bs-accordion-bg:transparent;--bs-accordion-border-width:0;--bs-accordion-btn-focus-box-shadow:none;--bs-accordion-active-bg:transparent;--bs-accordion-active-color:var(--ink);--bs-accordion-btn-bg:transparent;}
.accordion-item{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;}
.accordion-button{padding:1.4rem 0;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--ink);background:transparent;box-shadow:none;}
.accordion-button:not(.collapsed){background:transparent;color:var(--ink);box-shadow:none;}
.accordion-body{padding:0 0 1.5rem;font-size:1.0625rem;}

/* ---------- About ---------- */
.about-photo{width:100%;border-radius:var(--radius-xl);}

/* ---------- Footer ---------- */
.site-footer{background:var(--mist);color:var(--muted);padding:3.5rem 0 1.5rem;font-size:.8125rem;}
.site-footer h5.footer-brand{font-size:1.0625rem;color:var(--ink);font-weight:600;}
.site-footer h6{font-size:.75rem;font-weight:600;color:var(--ink);margin-bottom:.85rem;letter-spacing:0;}
.site-footer p{color:var(--muted);}
.footer-links{list-style:none;padding:0;margin:0;}
.footer-links li{margin-bottom:.55rem;color:var(--muted);}
.footer-links a{color:var(--muted);}
.footer-links a:hover{color:var(--ink);text-decoration:underline;}
.footer-links i{width:1.25rem;}
.social-icons a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;margin-right:.5rem;transition:background .2s;}
.social-icons a:hover{background:var(--accent);color:#fff;}
.site-footer hr{border-color:var(--line);opacity:1;margin:2rem 0 1rem;}
.empty-state{text-align:center;padding:4rem 1rem;color:var(--muted);grid-column:1/-1;}
.empty-state i{font-size:3rem;color:var(--line);margin-bottom:1rem;display:block;}

/* ---------- Destinations carousel ---------- */
.carousel-arrows{display:flex;gap:.5rem;}
.carousel-arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);
  display:flex;align-items:center;justify-content:center;font-size:.9375rem;cursor:pointer;transition:background .2s,border-color .2s;}
.carousel-arrow:hover{background:var(--mist);border-color:var(--ink);}
.carousel-arrow:disabled{opacity:.35;cursor:default;}
.carousel-arrow:disabled:hover{background:#fff;border-color:var(--line);}
.dest-carousel{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;}
.dest-carousel::-webkit-scrollbar{display:none;}
.dest-carousel-track{display:flex;gap:1rem;}
.dest-carousel .dest-tile{position:relative;flex:0 0 auto;width:min(300px,78vw);height:380px;scroll-snap-align:start;border-radius:var(--radius-xl);overflow:hidden;display:block;background:#2a2a2c;color:#fff;isolation:isolate;}
.dest-carousel .dest-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s cubic-bezier(.2,.7,.2,1);}
.dest-carousel .dest-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 42%,rgba(0,0,0,.66) 100%);}
.dest-carousel .dest-tile:hover img{transform:scale(1.045);}
.dest-carousel .dest-body{position:absolute;left:0;right:0;bottom:0;padding:1.5rem;}
.dest-carousel .dest-tile .count{display:block;font-size:.8125rem;color:rgba(255,255,255,.82);}
.dest-carousel .dest-tile h3{font-size:1.5rem;color:#fff;margin:.15rem 0 .25rem;}
.dest-carousel .dest-tile .go{color:#fff;font-weight:500;}
.dest-carousel .dest-tile .go::after{content:"\203A";margin-left:.3em;}
.carousel-dots{display:flex;justify-content:center;gap:.4rem;margin-top:1.5rem;}
.carousel-dots .dot{width:7px;height:7px;border-radius:50%;background:var(--line);border:0;padding:0;cursor:pointer;transition:background .2s,transform .2s;}
.carousel-dots .dot.active{background:var(--accent);transform:scale(1.3);}

/* ---------- Homepage reviews marquee ---------- */
.reviews-marquee{overflow:hidden;position:relative;padding:3rem 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.reviews-marquee-track{display:flex;gap:1.25rem;width:max-content;animation:marquee-scroll 48s linear infinite;}
.reviews-marquee:hover .reviews-marquee-track{animation-play-state:paused;}
.review-mini{flex:0 0 340px;background:#fff;}
@keyframes marquee-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.reviews-marquee-track{animation:none;}
  .reviews-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none;}}

/* ---------- Review submission form ---------- */
.review-form-box{background:var(--mist);border-radius:var(--radius-xl);padding:2rem;}
.star-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:.25rem;}
.star-input input{position:absolute;opacity:0;pointer-events:none;}
.star-input label{cursor:pointer;font-size:1.6rem;color:var(--line);transition:color .15s;}
.star-input input:checked ~ label,
.star-input label:hover,
.star-input label:hover ~ label{color:var(--star);}
