/* ===== Kit comun pentru șabloanele noi (Noir, Nordic, Terra, Urban, Lumen) =====
   Șablonul setează variabilele (--bg, --fg, --muted, --card, --line, --soft, --radius, --font-head) și își stilizează hero-ul;
   componentele (antet, secțiuni, carduri, formulare, subsol) sunt aici, gândite întâi pentru telefon. */
.tpl-k{background:var(--bg);color:var(--fg);overflow-x:hidden}
.tpl-k .wrap{width:min(1240px,100% - 2rem)}
@media(min-width:700px){.tpl-k .wrap{width:min(1240px,100% - 3rem)}}

/* antet */
.tpl-k .nav{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0)}
.tpl-k .nav-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.tpl-k .brand{display:inline-flex;align-items:center;gap:.5rem;font:800 1.1rem/1 var(--font-head);text-decoration:none;letter-spacing:-.01em;min-height:44px}
.tpl-k .brand img{height:34px;width:auto;max-width:150px;object-fit:contain}
.tpl-k .nav nav{display:flex;align-items:center;gap:1.4rem;font-size:.92rem;font-weight:500}
.tpl-k .nav nav a:not(.btn){text-decoration:none;opacity:.8;padding:.4rem 0}
.tpl-k .nav nav a:not(.btn):hover{opacity:1}
.tpl-k .nav-toggle{display:none;background:none;border:0;color:inherit;width:44px;height:44px;margin-right:-.6rem;place-items:center;cursor:pointer;border-radius:12px}
@media(max-width:900px){
  .tpl-k .nav-toggle{display:grid}
  .tpl-k .nav nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:.4rem 1rem 1.2rem;background:var(--bg);border-bottom:1px solid var(--line);max-height:calc(100svh - 64px);overflow:auto;font-size:1.05rem;box-shadow:0 30px 60px -30px rgba(0,0,0,.35)}
  .tpl-k .nav nav.open{display:flex}
  .tpl-k .nav nav a:not(.btn){padding:1rem .2rem;border-bottom:1px solid var(--line);opacity:1}
  .tpl-k .nav nav .btn{margin-top:1rem;min-height:50px}
}

/* secțiuni */
.tpl-k .sec{padding:clamp(2.6rem,8vw,6rem) 0}
.tpl-k .sec-head{margin-bottom:clamp(1.3rem,4vw,2.4rem);max-width:720px}
.tpl-k h2{font-size:clamp(1.65rem,5.4vw,3rem);letter-spacing:-.02em;overflow-wrap:anywhere}
.tpl-k .muted{color:var(--muted)}
.tpl-k .about{display:grid;gap:1.2rem}
@media(min-width:900px){.tpl-k .about{grid-template-columns:1fr 1.5fr;gap:3rem}}
.tpl-k .prose-lg{font-size:clamp(1rem,2.6vw,1.15rem);line-height:1.8;color:var(--muted)}
.tpl-k .hero h1{overflow-wrap:anywhere;hyphens:auto}

/* cifre-cheie */
.tpl-k .facts{display:flex;flex-wrap:wrap;gap:.7rem}
.tpl-k .facts li{display:grid;gap:.1rem;padding:.8rem 1.1rem;min-width:0}
.tpl-k .facts b{font:800 clamp(1.3rem,4.5vw,1.9rem)/1.1 var(--font-head)}
.tpl-k .facts span{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}

/* facilități */
.tpl-k .amen{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:.8rem}
.tpl-k .amen li{display:grid;gap:.3rem;padding:1.1rem 1.2rem;border-radius:var(--radius);background:var(--card);border:1px solid var(--line)}
.tpl-k .amen span{color:var(--muted);font-size:.9rem}

/* carduri locuințe / portofoliu */
.tpl-k .cards,.tpl-k .portfolio{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.1rem}
.tpl-k .ucard-classic{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);transition:transform .35s var(--ease),box-shadow .35s}
.tpl-k .ucard-classic:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(0,0,0,.45)}
.tpl-k .ucard-classic .ucard-img{aspect-ratio:4/3}
.tpl-k .ucard-overlay{border-radius:var(--radius);min-height:min(440px,95vw);isolation:isolate;color:#fff}
.tpl-k .ucard-overlay .ucard-img{position:absolute;inset:0;aspect-ratio:auto;z-index:-2}
.tpl-k .ucard-overlay::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.85))}
.tpl-k .ucard-overlay .ucard-body{margin-top:auto}
.tpl-k .ucard-overlay .ucard-facts{color:rgba(255,255,255,.82)}
.tpl-k .ucard-overlay .ucard-go{color:#fff}
.tpl-k .ucard-type{font-size:1.2rem;letter-spacing:-.01em}
.tpl-k .ucard-top{flex-wrap:wrap}
@media(max-width:480px){.tpl-k .cards,.tpl-k .portfolio{grid-template-columns:1fr}}

/* filtre + etichete */
.tpl-k .pills{margin-bottom:1.3rem}
.tpl-k .pill{min-height:40px;display:inline-flex;align-items:center}
.tpl-k .pfilter{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.3rem;scrollbar-width:none}
.tpl-k .pfilter::-webkit-scrollbar{display:none}
.tpl-k .pfilter .pill,.tpl-k .pfilter span{flex:none}

/* video, hartă, galerie */
.tpl-k .vid video{width:100%;border-radius:var(--radius);display:block;background:#000}
.tpl-k .map{border-radius:var(--radius);min-height:min(340px,70vw)}
.tpl-k .gslide{flex-basis:min(88%,680px)}

/* jurnal de șantier */
.tpl-k .timeline{display:grid;gap:1rem}
.tpl-k .timeline article{padding:1.2rem 1.3rem;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);min-width:0}
.tpl-k .timeline time{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.3rem}
.tpl-k .timeline h3{margin:.4rem 0 .4rem}

/* contact */
.tpl-k .contact{display:grid;gap:2rem;align-items:start}
@media(min-width:900px){.tpl-k .contact{grid-template-columns:1fr 1fr;gap:3rem}}
.tpl-k .big-link{display:flex;align-items:center;gap:.7rem;font-size:clamp(1.05rem,3.4vw,1.3rem);font-weight:600;text-decoration:none;margin:.5rem 0;min-height:44px;overflow-wrap:anywhere}
.tpl-k .card-form,.tpl-k .unit-side{background:var(--card);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);padding:clamp(1.1rem,4vw,1.7rem)}
.tpl-k .unit-side .card-form{background:none;border:0;padding:0}
.tpl-k .lead-form input:not([type=checkbox]),.tpl-k .lead-form textarea,.tpl-k .lead-form select{min-height:48px;font-size:16px}
.tpl-k .lead-form .btn{min-height:50px}

/* butoane: ținte tactile */
.tpl-k .btn{min-height:46px}
.tpl-k .btn.sm{min-height:40px}

/* pagina unității + pagini legale */
.tpl-k .unit-page{margin-top:1.2rem}
.tpl-k .specs div{flex-wrap:wrap}
.tpl-k .legal{margin-top:2rem}

/* subsol */
.tpl-k .foot{padding:clamp(2.2rem,6vw,4rem) 0 calc(1.6rem + env(safe-area-inset-bottom,0));border-top:1px solid var(--line);background:var(--soft);margin-top:1rem}
.tpl-k .lf-bottom{justify-content:flex-start}
