/*
Theme Name: M&H Pressing
Description: Premium laundry and pressing service landing page — Agadir, Haut Founty
Version: 2.1
*/

/* ===========================================================
   M&H Pressing — premium minimal styles (compact landing)
   =========================================================== */
:root{
  --blue:#1E50B3;
  --blue-2:#163E8E;
  --blue-50:#EEF3FB;
  --green:#34A400;
  --green-2:#2A8B00;
  --bg:#F8FAFC;
  --bg-2:#F1F4F9;
  --ink:#0B1220;
  --text:#111827;
  --muted:#6B7280;
  --line:rgba(17,24,39,.08);
  --line-2:rgba(17,24,39,.14);
  --white:#FFFFFF;
  --radius:14px;
  --radius-lg:22px;
  --shadow-1:0 1px 2px rgba(17,24,39,.04), 0 4px 16px rgba(17,24,39,.04);
  --shadow-2:0 10px 30px rgba(17,24,39,.08);
  --shadow-3:0 24px 60px rgba(30,80,179,.18);
  --maxw:1200px;
  --pad: clamp(20px, 4vw, 56px);
  --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: "Inter", system-ui, sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
html[lang="ar"]{
  --font: "Noto Kufi Arabic", "Inter", system-ui, sans-serif;
  --font-display: "Noto Kufi Arabic", "Inter", system-ui, sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
body{
  font-family:var(--font);
  color:var(--text);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"ss01","cv11";
  line-height:1.5;
  overflow-x:hidden;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
button{font:inherit; cursor:pointer; border:0; background:none; color:inherit}
input,textarea,select{font:inherit; color:inherit}

.kicker{
  display:inline-block;
  font-size:11.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--blue);
  font-weight:600;
}
.kicker.light{color:rgba(255,255,255,.78)}
.section-title{
  font-family:var(--font-display);
  font-size:clamp(26px,3.6vw,42px);
  line-height:1.05;
  letter-spacing:-.02em;
  font-weight:700;
  margin:.25em 0 .25em;
  text-wrap:balance;
}
.section-title.light{color:#fff}
.section-lede{
  color:var(--muted);
  font-size:clamp(14px,1.5vw,16.5px);
  max-width:48ch;
  margin:0;
}
.section-lede.light{color:rgba(255,255,255,.78)}
.section-head{
  max-width:var(--maxw);
  margin:0 auto;
  padding: clamp(22px,3.5vw,38px) var(--pad) clamp(14px,2vw,18px);
}
.section-head.compact{padding-bottom: 14px}
.section-head.center{text-align:center}
.section-head.center .section-lede{margin-inline:auto}

/* ----- Buttons ----- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 20px;
  border-radius:999px;
  font-weight:600;
  font-size:14.5px;
  letter-spacing:-.005em;
  transition: transform .25s var(--ease), background .2s, color .2s, box-shadow .25s;
  white-space:nowrap;
  border:1px solid transparent;
}
.btn-sm{padding:9px 16px; font-size:13.5px}
.btn-block{width:100%}
.btn-primary{background:var(--blue); color:#fff; box-shadow:0 6px 16px rgba(30,80,179,.25)}
.btn-primary:hover{background:var(--blue-2); transform:translateY(-1px); box-shadow:0 10px 24px rgba(30,80,179,.32)}
.btn-success{background:var(--green); color:#fff; box-shadow:0 6px 16px rgba(52,164,0,.25)}
.btn-success:hover{background:var(--green-2); transform:translateY(-1px)}
.btn-ghost{background:#fff; color:var(--text); border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--text)}
.btn-ghost-sm{padding:10px 16px; font-size:13px; font-weight:500; color:var(--muted); border-color:var(--line)}
.btn-ghost-sm:hover{color:var(--text); border-color:var(--line-2)}
.btn-whatsapp{background:#fff; color:#0E7C42; padding:12px 18px; box-shadow:0 6px 16px rgba(0,0,0,.06)}
.btn-whatsapp:hover{background:#F1F8F0}

/* ----- Nav ----- */
.nav{
  position:sticky; top:0; z-index:40;
  background:rgba(255,255,255,.78);
  backdrop-filter: saturate(160%) blur(14px);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s, background .3s;
}
.nav.scrolled{border-color:var(--line); background:rgba(255,255,255,.9)}
.nav-inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding: 12px var(--pad);
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  gap:24px;
}
.brand{display:inline-flex; align-items:center; gap:10px}
.brand-logo{
  width:60px; height:60px;
  object-fit:contain;
  flex:0 0 auto;
}
.brand-word{display:flex; flex-direction:column; line-height:1}
.brand-word > span{font-weight:700; letter-spacing:-.015em; font-size:16px}
.brand-word em{font-style:normal; color:var(--muted); font-size:11px; margin-top:3px; letter-spacing:.03em}

.nav-links{display:flex; gap:32px; justify-content:center; align-items:center}
.nav-links a{
  color:var(--muted); font-size:13.5px; font-weight:500;
  padding:6px 0; position:relative;
  letter-spacing:-.005em;
  transition:color .2s;
}
.nav-links a:hover{color:var(--text)}
.nav-tools{display:flex; align-items:center; gap:14px; justify-self:end}
.lang{
  display:inline-flex; padding:3px;
  border:1px solid var(--line-2); border-radius:999px; gap:0;
  background:#fff;
}
.lang-btn{
  padding:6px 10px; font-size:11.5px; font-weight:600;
  color:var(--muted); border-radius:999px;
  letter-spacing:.06em;
}
.lang-btn.is-active{background:var(--ink); color:#fff}

/* ----- Hero (tight, premium) ----- */
.hero{
  position:relative;
  padding: clamp(14px,2.5vw,28px) var(--pad) clamp(18px,2.5vw,28px);
  max-width:var(--maxw);
  margin:0 auto;
}
.hero::before{
  content:""; position:absolute; inset:auto -10% -30% -10%; height:60%;
  background: radial-gradient(60% 80% at 70% 10%, rgba(30,80,179,.04), transparent 70%);
  z-index:-1; pointer-events:none;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(28px,4vw,48px);
  align-items:center;
}
.hero-copy{padding-top:0; position:relative}

/* ----- SEO eyebrow label ----- */
.hero-eyebrow{
  display:block;
  font-size:10.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:600;
  margin-bottom:10px;
  opacity:.55;
}

.hero-title{
  font-family:var(--font-display);
  font-size: clamp(38px, 5.5vw, 66px);
  line-height: .94;
  letter-spacing: -.04em;
  font-weight: 800;
  margin: 0 0 8px;
  text-wrap:balance;
}
.hero-title span{display:block}
.hero-title .accent{
  font-style:italic;
  font-weight:500;
  font-family:"Fraunces", "Inter", serif;
  color:var(--blue);
  letter-spacing:-.02em;
}
.hero-sub{
  font-size: clamp(14.5px, 1.3vw, 15.5px);
  color:var(--muted);
  max-width:31ch;
  margin:0 0 14px;
  line-height:1.55;
}
.hero-trust{
  display:flex; align-items:center; gap:0;
  margin: 0;
  font-size:12px; color:var(--muted);
}
.hero-trust strong{font-weight:700; color:var(--text)}
.ht-item{white-space:nowrap; display:inline-flex; align-items:center; gap:4px}
.ht-item svg{flex:0 0 auto; opacity:.7}
.ht-sep{
  width:1px; height:13px;
  background:var(--line-2);
  margin:0 11px;
  flex:0 0 auto;
}

/* ----- Trust line with mascot stamp ----- */
.trust-line{
  display:flex;
  align-items:center;
  gap:6px;
  margin:12px 0 0;
  font-size:12px;
  color:rgba(107,114,128,.85);
  font-weight:450;
  letter-spacing:.01em;
}
.trust-dot{
  width:6px; height:6px;
  border-radius:50%;
  background:#34A400;
  flex:0 0 auto;
}

/* ----- Hero pickup form ----- */
.hero-form-wrap{position:relative}
.pickup-form.hero-form{
  background:#fff;
  border:1px solid rgba(17,24,39,.05);
  border-radius:20px;
  padding: clamp(20px,2.2vw,28px);
  display:grid; gap:10px;
  box-shadow: 0 1px 3px rgba(17,24,39,.02), 0 1px 10px rgba(17,24,39,.02);
}
.pf-head{margin-bottom:4px; padding-bottom:10px; border-bottom:1px solid rgba(17,24,39,.04)}
.pf-head .kicker{display:block; margin-bottom:6px}
.pf-head h2{
  font-family:var(--font-display);
  font-size:clamp(17px,1.8vw,20px);
  font-weight:600;
  letter-spacing:-.01em;
  margin:0;
  color:var(--text);
}
.pickup-form{
  background:#fff; color:var(--text);
  border-radius:16px;
  display:grid; gap:8px;
}
.pickup-form .row.two{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.pickup-form label{display:flex; flex-direction:column; gap:4px; font-size:10px; color:var(--muted); font-weight:600; letter-spacing:.08em; text-transform:uppercase}
.pickup-form input, .pickup-form textarea{
  border:1px solid rgba(17,24,39,.05);
  background:#FAFBFC;
  border-radius:10px;
  padding:10px 13px;
  font-size:14px;
  color:var(--text);
  transition: border-color .2s, box-shadow .2s, background .2s;
  outline:none;
  text-transform:none;
}
.pickup-form input:focus, .pickup-form textarea:focus{
  border-color:var(--blue);
  background:#fff;
  box-shadow:0 0 0 3px rgba(30,80,179,.08);
}
.row.check{
  border:0; padding:0; margin:4px 0 0;
  display:flex; flex-wrap:wrap; gap:5px;
}
.row.check legend{font-size:10px; color:var(--muted); font-weight:600; margin-bottom:5px; padding:0; display:block; width:100%; letter-spacing:.08em; text-transform:uppercase}
.chk{
  display:inline-flex; align-items:center; gap:7px;
  padding:7px 12px; border:1.5px solid rgba(17,24,39,.07); border-radius:10px;
  font-size:12.5px; cursor:pointer; transition:all .2s;
  color:var(--muted);
  background:#FAFBFC;
  text-transform:none; letter-spacing:0;
  font-weight:500;
}
.chk:hover{border-color:rgba(17,24,39,.15); color:var(--text); background:#fff}
.chk input{appearance:none; width:0; height:0; margin:0; padding:0; border:0; position:absolute; opacity:0}
.chk-icon{flex:0 0 auto; opacity:.35; transition:opacity .2s, transform .2s}
.chk:hover .chk-icon{opacity:.6}
.chk:has(input:checked) .chk-icon{opacity:1; transform:scale(1.08)}
.chk:has(input:checked){
  border-color:var(--blue);
  background:var(--blue-50);
  color:var(--blue);
  box-shadow:0 2px 8px rgba(30,80,179,.1);
  font-weight:600;
}

.pf-more{border:0; margin:6px 0 0; padding:0}
.pf-more summary{
  font-size:12px; color:var(--blue); font-weight:500;
  cursor:pointer; list-style:none; padding:2px 0;
  transition:color .2s;
}
.pf-more summary::-webkit-details-marker{display:none}
.pf-more summary::before{content:"+ "}
.pf-more[open] summary::before{content:"− "}
.pf-more summary:hover{color:var(--blue-2)}
.pf-more .row.two{margin-top:8px}

.btn-form-submit{
  margin-top:10px;
  box-shadow:0 4px 14px rgba(30,80,179,.16);
  padding:14px 20px;
  font-size:14.5px;
  letter-spacing:-.005em;
}
.form-micro{
  text-align:center;
  font-size:11px;
  color:var(--muted);
  margin:8px 0 0;
  letter-spacing:.01em;
  opacity:.7;
}

/* ----- Prices (compact premium) ----- */
.prices{max-width:var(--maxw); margin:0 auto; padding: 0 var(--pad) clamp(40px,6vw,64px); content-visibility:auto; contain-intrinsic-size:auto 600px}
.prices-tools{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.search{
  display:flex; align-items:center; gap:10px;
  background:#fff; border:1px solid var(--line-2);
  border-radius:999px;
  padding:9px 16px;
  flex:1; min-width:240px; max-width:380px;
  transition:border-color .2s, box-shadow .2s;
}
.search:focus-within{border-color:var(--blue); box-shadow:0 0 0 4px rgba(30,80,179,.12)}
.search svg{color:var(--muted)}
.search input{flex:1; border:0; background:transparent; outline:none; font-size:14.5px}
.tabs{
  display:inline-flex; gap:2px; padding:3px;
  background:rgba(241,244,249,.7); border-radius:999px;
  border:1px solid rgba(17,24,39,.06);
  flex-wrap:wrap;
}
.tab{
  padding:8px 18px; border-radius:999px;
  font-size:13px; font-weight:500; color:var(--muted);
  transition:all .25s var(--ease);
  white-space:nowrap;
  display:inline-flex; align-items:center; gap:6px;
  letter-spacing:-.005em;
}
.tab svg{opacity:.35; transition:opacity .25s}
.tab:hover{color:var(--text); background:rgba(255,255,255,.5)}
.tab:hover svg{opacity:.55}
.tab.is-active{
  background:#fff;
  color:var(--text);
  box-shadow:0 1px 2px rgba(17,24,39,.05), 0 2px 8px rgba(17,24,39,.04);
  font-weight:600;
}
.tab.is-active svg{opacity:.8}

.price-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-1);
}
.price-head, .price-row{
  display:grid;
  grid-template-columns: 1fr 150px 150px;
  align-items:center;
  padding:13px 22px;
  gap:16px;
}
.price-head{
  background:var(--bg);
  border-bottom:1px solid var(--line);
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); font-weight:600;
}
.price-head > :nth-child(2),
.price-head > :nth-child(3){text-align:right}
.price-row{
  border-bottom:1px solid var(--line);
  font-size:14.5px;
  transition:background .15s;
}
.price-row:last-child{border-bottom:0}
.price-row:hover{background:var(--bg)}
.price-row .item{font-weight:500}
.price-row .v{
  text-align:right;
  font-variant-numeric: tabular-nums;
  font-weight:600;
}
.price-row .v.muted{color:var(--muted); font-weight:500}
.price-row .v.iron{color:var(--blue)}
.price-empty{padding:48px 24px; text-align:center; color:var(--muted)}

/* ----- Reviews (3 cards, no carousel) ----- */
.reviews{max-width:var(--maxw); margin:0 auto; padding: 0 var(--pad) clamp(36px,5vw,56px); content-visibility:auto; contain-intrinsic-size:auto 400px}
.rev-grid{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.rev-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:22px 20px;
  display:flex; flex-direction:column; gap:12px;
  transition: transform .35s var(--ease), box-shadow .3s;
}
.rev-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-2)}
.stars{color:#F4B400; letter-spacing:.1em; font-size:13.5px}
.rev-card p{margin:0; font-size:14.5px; line-height:1.55}
.rev-card footer{margin-top:auto; padding-top:12px; border-top:1px solid var(--line); display:flex; align-items:center; gap:10px}
.rev-avatar{
  width:32px; height:32px; border-radius:50%;
  background:var(--blue-50); color:var(--blue);
  display:grid; place-items:center;
  font-weight:700; font-size:13px;
  flex:0 0 auto;
  overflow:hidden;
}
.rev-avatar img{width:100%; height:100%; object-fit:cover}
.rev-meta{display:flex; flex-direction:column; gap:1px}
.rev-meta strong{font-weight:600; font-size:13.5px}
.rev-meta em{color:var(--muted); font-style:normal; font-size:11.5px}

/* ----- Footer (mini) ----- */
.footer.mini{
  border-top:1px solid var(--line);
  background:#fff;
  padding: 22px var(--pad) 18px;
}
.ft-mini-row{
  max-width:var(--maxw); margin:0 auto;
  display:flex; flex-wrap:wrap; align-items:center; gap:18px 28px;
  justify-content:space-between;
}
.ft-links{
  list-style:none; padding:0; margin:0;
  display:flex; flex-wrap:wrap; gap:6px 18px;
  font-size:13px; color:var(--muted);
}
.ft-links a{color:var(--text); font-weight:500}
.ft-links a:hover{color:var(--blue)}
.ft-bottom.mini{
  max-width:var(--maxw); margin:14px auto 0;
  padding-top:12px;
  border-top:1px solid var(--line);
  color:var(--muted); font-size:12px;
  text-align:center;
}

/* ----- Sticky WhatsApp ----- */
.wa-sticky{
  position:fixed; right:18px; bottom:18px; z-index:50;
  width:54px; height:54px; border-radius:50%;
  display:grid; place-items:center;
  background:#25D366; color:#fff;
  box-shadow: 0 14px 28px rgba(37,211,102,.4), 0 4px 10px rgba(0,0,0,.1);
  transition: transform .25s var(--ease), box-shadow .25s;
}
.wa-sticky:hover{transform:scale(1.06)}

/* ----- Toast ----- */
.toast{
  position:fixed; left:50%; bottom:28px;
  transform: translateX(-50%) translateY(20px);
  background:var(--ink); color:#fff;
  padding:12px 18px; border-radius:999px;
  font-size:14px; font-weight:500;
  box-shadow:var(--shadow-3);
  opacity:0; pointer-events:none;
  transition: all .35s var(--ease);
  z-index:60;
}
.toast.show{opacity:1; transform: translateX(-50%) translateY(0)}

/* ----- Reveal ----- */
.reveal{opacity:0; transform:translateY(12px); transition: opacity .7s var(--ease), transform .7s var(--ease)}
.reveal.in{opacity:1; transform:none}

/* ----- SEO Landing Pages ----- */
.seo-page{max-width:var(--maxw); margin:0 auto}
.seo-hero{padding:clamp(32px,5vw,64px) var(--pad)}
.seo-hero-inner{max-width:680px}
.seo-intro{
  font-size:clamp(15px,1.5vw,17px);
  color:var(--muted);
  line-height:1.65;
  margin:12px 0 24px;
}
.seo-points{
  list-style:none; padding:0; margin:0 0 28px;
  display:grid; gap:10px;
}
.seo-points li{
  display:flex; align-items:flex-start; gap:10px;
  font-size:15px; line-height:1.5;
  color:var(--text);
}
.seo-points svg{flex:0 0 auto; margin-top:2px}
.seo-ctas{display:flex; flex-wrap:wrap; gap:10px}
.seo-info{padding:0 var(--pad) clamp(32px,5vw,56px); border-top:1px solid var(--line)}
.seo-info-inner{padding-top:clamp(24px,4vw,48px)}
.seo-info h2{
  font-family:var(--font-display);
  font-size:clamp(22px,3vw,32px);
  font-weight:700; letter-spacing:-.02em;
  margin:0 0 20px;
}
.seo-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.seo-card{
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px;
}
.seo-card h3{font-size:15px; font-weight:600; margin:0 0 6px}
.seo-card p{font-size:14px; color:var(--muted); margin:0; line-height:1.55}
.seo-cta-section{
  text-align:center;
  padding:clamp(32px,5vw,56px) var(--pad);
  background:var(--bg);
  border-top:1px solid var(--line);
}
.seo-cta-inner h2{
  font-family:var(--font-display);
  font-size:clamp(22px,3vw,32px);
  font-weight:700; letter-spacing:-.02em;
  margin:0 0 8px;
}
.seo-cta-inner p{color:var(--muted); font-size:15px; margin:0 0 20px}
.btn-lg{padding:16px 28px; font-size:16px}
@media(max-width:640px){
  .seo-grid{grid-template-columns:1fr}
  .seo-ctas{flex-direction:column}
  .seo-ctas .btn{width:100%; text-align:center}
}

/* ===========================================================
   RTL adjustments
   =========================================================== */
html[dir="rtl"] .nav-inner{direction:rtl}
html[dir="rtl"] .price-head > :nth-child(2),
html[dir="rtl"] .price-head > :nth-child(3),
html[dir="rtl"] .price-row .v{text-align:left}
html[dir="rtl"] .wa-sticky{right:auto; left:18px}
html[dir="rtl"] .trust-line{direction:rtl}
html[dir="rtl"] .hero-eyebrow{direction:rtl}
html[dir="rtl"] .hero-title .accent{font-family: var(--font-display)}
html[dir="rtl"] .hero-trust{direction:rtl}

/* ===========================================================
   Responsive
   =========================================================== */
/* ── Tablet (≤980px) ── */
@media (max-width: 980px){
  .nav-links{display:none}
  .nav-inner{grid-template-columns: auto 1fr auto; gap:10px}
  .hero-grid{grid-template-columns:1fr; gap:20px}
  .hero-copy{padding-top:0}
  .hero-sub{max-width:38ch}
  .trust-line{font-size:11px}
  .hero-trust{flex-wrap:wrap}
  .rev-grid{grid-template-columns:1fr 1fr}
  .price-head, .price-row{grid-template-columns: 1fr 100px 100px; padding:12px 16px; gap:8px; font-size:14px}
}

/* ── Mobile (≤640px) ── */
@media (max-width: 640px){
  /* -- Nav -- */
  .nav-inner{padding:10px var(--pad)}
  .nav-tools .btn{display:none}
  .brand-logo{width:44px; height:44px}
  .brand-word > span{font-size:14.5px}
  .brand-word em{font-size:10px}
  .lang{padding:2px}
  .lang-btn{padding:6px 10px; font-size:11px; min-width:36px; text-align:center}

  /* -- Hero -- */
  .hero{padding:14px var(--pad) 18px}
  .hero-title{font-size:clamp(32px,8vw,42px)}
  .hero-sub{max-width:none; font-size:14.5px}
  .hero-eyebrow{margin-bottom:8px}
  .hero-trust{flex-wrap:wrap; gap:8px}
  .ht-sep{display:none}
  .ht-item{font-size:11.5px}
  .trust-line{font-size:11px; margin-top:10px}

  /* -- Form (thumb-friendly) -- */
  .pickup-form.hero-form{padding:20px 18px}
  .pf-head{padding-bottom:8px; margin-bottom:6px}
  .pf-head h2{font-size:18px}
  .pickup-form .row.two{grid-template-columns:1fr}
  .pickup-form input, .pickup-form textarea{
    padding:12px 14px;
    font-size:16px;               /* prevents iOS zoom on focus */
    border-radius:12px;
  }
  .pickup-form label{font-size:10.5px; gap:5px}

  /* Type de linge — 2-column grid on mobile for thumb reach */
  .row.check{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
  }
  .row.check legend{grid-column:1/-1; margin-bottom:4px}
  .chk{
    padding:10px 12px;
    font-size:13px;
    border-radius:12px;
    justify-content:flex-start;
  }
  .chk-icon{width:20px; height:20px}

  .pf-more summary{font-size:12.5px; padding:4px 0}
  .pf-more .row.two{margin-top:10px}

  .btn-form-submit{
    padding:16px 20px;
    font-size:15px;
    margin-top:12px;
    border-radius:14px;
  }
  .form-micro{font-size:11.5px; margin:10px 0 0}

  /* -- Prices -- */
  .prices-tools{gap:10px}
  .tabs{
    order:2; width:100%;
    justify-content:flex-start;
    overflow-x:auto; flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:3px;
  }
  .tabs::-webkit-scrollbar{display:none}
  .tab{padding:8px 14px; font-size:12.5px; flex:0 0 auto}
  .search{order:1; max-width:none; min-width:0}
  .search input{font-size:16px}          /* prevents iOS zoom */
  .price-head{display:none}
  .price-card{border-radius:16px}
  .price-row{
    grid-template-columns: 1fr auto;
    grid-template-areas: "item both" "iron iron";
    gap:4px;
    padding:14px 16px;
  }
  .price-row .item{grid-area:item; font-size:14px}
  .price-row .both{grid-area:both; font-size:15px}
  .price-row .iron{
    grid-area:iron;
    text-align:left; font-size:12.5px; color:var(--muted);
  }
  .price-row .iron::before{
    content: attr(data-label) " · ";
    color:var(--muted);
  }
  .price-card.single-col .price-row{grid-template-columns:1fr auto; grid-template-areas:"item both"}

  /* -- Reviews -- */
  .rev-grid{grid-template-columns:1fr}
  .rev-card{padding:18px 16px}
  .rev-card p{font-size:14px}

  /* -- Footer -- */
  .ft-mini-row{justify-content:center; text-align:center}
  .ft-links{justify-content:center; gap:8px 16px; font-size:12.5px}
  .lang-ft{justify-content:center; width:100%}
  .ft-bottom.mini{font-size:11px}

  /* -- WhatsApp button (not blocking content) -- */
  .wa-sticky{width:50px; height:50px; right:14px; bottom:14px}
  .wa-sticky svg{width:22px; height:22px}

  /* -- Toast -- */
  .toast{
    left:var(--pad); right:var(--pad);
    transform:translateY(20px);
    width:auto;
    font-size:13px;
    padding:12px 16px;
  }
  .toast.show{transform:translateY(0)}

  /* -- Section heads -- */
  .section-head{padding:clamp(18px,3vw,28px) var(--pad) 12px}
  .section-title{font-size:clamp(22px,5.5vw,32px)}
  .kicker{font-size:10.5px}
}

/* ── Small phones (≤380px) ── */
@media (max-width: 380px){
  .hero-title{font-size:28px}
  .row.check{grid-template-columns:1fr}
  .tab{padding:7px 12px; font-size:12px}
  .lang-btn{padding:5px 8px; font-size:10.5px; min-width:32px}
}

/* ─── MAP SECTION ─── */
.map-section{
  padding: 0;
  background: var(--bg-2);
}
.map-header{
  text-align: center;
  padding: clamp(24px, 4vw, 48px) var(--pad) 16px;
}
.map-header h2{
  font-family: "Fraunces", serif;
  font-size: clamp(1.4rem, 3vw, 2rem);
  color: var(--text);
  margin: 0 0 6px;
}
.map-header p{
  color: var(--muted);
  font-size: .95rem;
  margin: 0;
}
.map-wrap{
  width: 100%;
  line-height: 0;
}
.map-wrap iframe{
  width: 100%;
  height: 350px;
  border: 0;
  display: block;
}
@media(max-width:640px){
  .map-wrap iframe{ height: 250px; }
}
