/* ===== Strat comun pentru telefon (se încarcă ultimul, peste orice șablon) =====
   Țintește: fără scroll lateral, texte care încap, ținte tactile de 44px+, formulare fără zoom iOS, zone sigure (notch). */
body.tpl{overflow-x:clip;-webkit-tap-highlight-color:transparent}
body.tpl img,body.tpl video,body.tpl iframe{max-width:100%}
body.tpl h1,body.tpl h2,body.tpl h3{overflow-wrap:anywhere}
body.tpl .cards,body.tpl .portfolio{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
body.tpl .btn,body.tpl .pill,body.tpl .gtabs button{touch-action:manipulation}

@media(max-width:900px){
  body.tpl .nav-toggle{min-width:44px;min-height:44px}
  body.tpl #menu a{min-height:44px}
}

@media(max-width:700px){
  body.tpl .wrap{width:calc(100% - 2rem)}
  body.tpl .sec{padding-top:2.8rem;padding-bottom:2.8rem}
  body.tpl .hero h1{font-size:clamp(2rem,10.5vw,3.6rem);line-height:1.04;letter-spacing:-.02em;hyphens:auto}
  body.tpl .hero .lead,body.tpl .hero .deck{font-size:1.02rem;max-width:none}
  body.tpl h2,body.tpl .sec h2,body.tpl .contact h2,body.tpl .band h2{font-size:clamp(1.55rem,7.4vw,2.2rem);line-height:1.1;margin-bottom:1.2rem}
  body.tpl .sec-t{font-size:clamp(1.5rem,7vw,2rem);margin-bottom:1.3rem}
  body.tpl .eyebrow{font-size:.7rem}
  body.tpl .btn{min-height:48px}
  body.tpl .btn.lg{padding:.95rem 1.3rem}
  body.tpl .hero-cta{display:grid;grid-template-columns:1fr;gap:.6rem;width:100%}
  body.tpl .hero-cta .btn,body.tpl .hero-cta .link-arrow{width:100%;justify-content:center}
  body.tpl .facts,body.tpl .kpis,body.tpl .float-facts{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;width:100%}
  body.tpl .facts li,body.tpl .kpis li,body.tpl .float-facts li,body.tpl .facts>div{min-width:0;padding:.75rem .9rem;flex:none}
  body.tpl .facts b,body.tpl .facts dd{font-size:1.45rem}
  body.tpl .cards,body.tpl .portfolio{grid-template-columns:1fr;gap:1rem}
  body.tpl .ucard-overlay{min-height:min(380px,105vw)}
  body.tpl .ucard-top{flex-wrap:wrap;gap:.3rem .6rem}
  body.tpl .ucard-type{font-size:1.2rem}
  body.tpl .pills{gap:.4rem}
  body.tpl .pfilter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-1rem;padding:0 1rem .3rem}
  body.tpl .pfilter::-webkit-scrollbar{display:none}
  body.tpl .pfilter>*{flex:none}
  body.tpl .gtabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-1rem;padding:0 1rem}
  body.tpl .gtabs::-webkit-scrollbar{display:none}
  body.tpl .gtabs button{flex:none}
  body.tpl .gslide{flex-basis:86%}
  body.tpl .gslider-hero .gslide{aspect-ratio:4/3}
  body.tpl .map{min-height:280px}
  body.tpl .contact{gap:1.6rem}
  body.tpl .card-form,body.tpl .unit-side{padding:1.1rem}
  body.tpl .lead-form input:not([type=checkbox]),body.tpl .lead-form textarea,body.tpl .lead-form select{font-size:16px;min-height:48px}
  body.tpl .lead-form textarea{min-height:110px}
  body.tpl .big-link{font-size:1.1rem;overflow-wrap:anywhere}
  body.tpl .timeline,body.tpl .upd{gap:.8rem}
  body.tpl .timeline article,body.tpl .upd article{padding:1rem}
  /* pagina unității */
  body.tpl .unit-page{width:calc(100% - 2rem);margin:1rem auto 2.5rem}
  body.tpl .unit-layout{gap:1.2rem}
  body.tpl .unit-side h1{font-size:1.6rem}
  body.tpl .price{font-size:1.6rem}
  body.tpl .thumbs{grid-template-columns:repeat(3,1fr)}
  body.tpl .ticks{grid-template-columns:1fr}
  body.tpl .specs div{font-size:.95rem}
  body.tpl .siblings{grid-template-columns:1fr 1fr}
  body.tpl .plan-links .btn{flex:1 1 100%}
  body.tpl .legal{width:calc(100% - 2rem);margin:1.5rem auto 3rem}
  /* subsol */
  body.tpl .lf{gap:1.4rem}
  body.tpl .lf-bottom{flex-direction:column;gap:.5rem}
  body.tpl .social a{width:46px;height:46px}
  body.tpl .foot{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0))}
  /* banner cookie */
  body.tpl .consent{inset:auto .6rem calc(.6rem + env(safe-area-inset-bottom,0)) .6rem;max-height:82svh;overflow:auto;padding:1rem}
  body.tpl .cbtn{flex:1 1 100%;min-height:46px}
}

@media(max-width:380px){
  body.tpl .facts,body.tpl .kpis,body.tpl .float-facts{grid-template-columns:1fr 1fr}
  body.tpl .siblings{grid-template-columns:1fr}
  body.tpl .thumbs{grid-template-columns:repeat(2,1fr)}
}

/* ---- Ajustări pe șabloanele existente ---- */
@media(max-width:700px){
  /* Aurora: antet-pastilă și hero */
  body.tpl-aurora .nav{top:8px;width:calc(100% - 16px);padding:.35rem .4rem .35rem 1rem}
  body.tpl-aurora .hero{padding:6rem 0 2.5rem;min-height:92svh}
  body.tpl-aurora .about{gap:1rem}
  body.tpl-aurora .ucard-overlay{border-radius:22px}
  body.tpl-aurora .mosaic{grid-auto-rows:130px}
  /* Atelier */
  body.tpl-atelier .nav-in{padding:.6rem 0}
  body.tpl-atelier .hero{gap:1.5rem;padding-top:1.5rem}
  body.tpl-atelier .band{padding:3rem 0}
  /* Metro */
  body.tpl-metro .hero{min-height:0}
  body.tpl-metro .hero h1{word-break:normal}
  body.tpl-metro .grid-m{grid-template-columns:1fr}
  body.tpl-metro .stamp{position:static;margin:1rem 0 0;display:inline-block;transform:none}
  /* Verde */
  body.tpl-verde .nav nav{left:.8rem;right:.8rem}
  body.tpl-verde .hero-card{min-height:min(560px,120vw);padding:1.2rem}
  body.tpl-verde .float-facts{position:static;margin-top:1rem}
  /* Horizon: căutare + rânduri */
  body.tpl-horizon .search{grid-template-columns:1fr;padding:1rem}
  body.tpl-horizon .search .btn{grid-column:auto}
  body.tpl-horizon .kpis li{min-width:0}
  body.tpl-horizon .mbar{display:none}
}

/* ---- Bară fixă pe telefon: sună / cere ofertă (apare după hero, dispare la formular) ---- */
.mbar{display:none}
@media(max-width:700px){
  .mbar{position:fixed;z-index:90;left:.6rem;right:.6rem;bottom:calc(.6rem + env(safe-area-inset-bottom,0));display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.5rem;padding:.45rem;border-radius:18px;background:rgba(14,16,22,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 50px -14px rgba(0,0,0,.6);transform:translateY(160%);opacity:0;transition:transform .35s var(--ease),opacity .25s;pointer-events:none}
  .mbar.show{transform:none;opacity:1;pointer-events:auto}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:48px;border-radius:13px;font:700 .95rem/1 var(--font-body);text-decoration:none;color:#fff;background:rgba(255,255,255,.12)}
  .mbar a.main{background:var(--accent);color:var(--accent-ink)}
  .mbar a:only-child{grid-column:1/-1}
}
