/*
Theme Name: Zenbau
Theme URI: https://www.zenbau.ro
Author: Future Zenbau Construct
Description: Tema site-ului Zenbau – construcții și mentenanță clădiri.
Version: 1.4.0
Requires at least: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: zenbau
*/

:root{
  color-scheme: only light;
  --bg:#F3F4F2; --surface:#FFFFFF; --ink:#16202A; --muted:#55606B; --line:#D3D7D9;
  --accent:#F2B705; --accent-ink:#16202A; --steel:#2E4A62;
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --gut-l:max(16px,env(safe-area-inset-left,0px));
  --gut-r:max(16px,env(safe-area-inset-right,0px));
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
h1,h2,h3{font-family:var(--display);line-height:1.02;text-wrap:balance;letter-spacing:.005em;text-transform:uppercase}
h1{font-size:clamp(2.6rem,7vw,5rem);font-weight:700}
h2{font-size:clamp(2.1rem,4.5vw,3.2rem);font-weight:700}
h3{font-size:1.5rem;font-weight:600}
h4{font-size:1rem;font-weight:600;font-family:var(--body)}
mark,.hl{background:var(--accent);color:var(--accent-ink);padding:0 .12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
:focus-visible{outline:3px solid var(--steel);outline-offset:2px}
.wp-site-blocks>*+*{margin-block-start:0}
.is-layout-flow>*+*{margin-block-start:0}

.wrap{max-width:1160px;margin-left:auto;margin-right:auto;padding-left:var(--gut-l);padding-right:var(--gut-r);width:100%}
.label{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lead{font-size:1.15rem;color:var(--muted);max-width:36em}

/* butoane */
.btn,.wp-block-button__link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:600;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;padding:.75rem 1.4rem;border:2px solid var(--accent);border-radius:0;background:var(--accent);color:var(--accent-ink);cursor:pointer;line-height:1.2}
.is-style-outline .wp-block-button__link,.btn.ghost{background:transparent;border-color:var(--ink);color:var(--ink)}
.wp-block-button__link:hover,.btn:hover{transform:translateY(-1px)}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:.8rem}

/* antet */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--ink)}
.topbar{background:var(--ink);color:var(--bg);font-family:var(--mono);font-size:.8rem}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;justify-content:space-between;padding-block:.5rem}
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
.admin-bar .site-head{top:32px}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.8rem;position:relative}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.logo-semn{height:46px;width:auto;display:block;flex:none}
.logo .mark{width:34px;height:34px;background:var(--accent);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:1.4rem;color:var(--accent-ink)}
.logo b{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:.03em;text-transform:uppercase;display:block;line-height:1.1}
.logo small{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;line-height:1}
.mainnav ul{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0}
.mainnav a{text-decoration:none;font-weight:500;font-size:.95rem}
.mainnav a:hover{color:var(--steel)}
.mainnav a[aria-current="page"]{color:var(--steel);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.nav-cta{padding:.5rem 1rem;font-size:1rem}
.menu-btn{display:none;background:none;border:2px solid var(--ink);color:var(--ink);font-family:var(--display);font-weight:600;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;padding:.4rem .8rem;cursor:pointer}
@media (max-width:860px){
  .menu-btn{display:inline-block}
  .nav-cta{display:none}
  .mainnav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line)}
  .mainnav.open{display:block}
  .mainnav ul{flex-direction:column;gap:0;padding-left:var(--gut-l);padding-right:var(--gut-r)}
  .mainnav li a{display:block;padding:.9rem 0;border-top:1px solid var(--line);font-size:1.05rem}
}

/* secțiuni */
.sec{padding-block:clamp(3.5rem,7vw,5.5rem)}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem 2rem;margin-bottom:2.5rem}
.sec-head p{max-width:32em;color:var(--muted)}
.grid-bg{border-bottom:1px solid var(--line);
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:48px 48px;background-position:-1px -1px}
.hero{padding-block:clamp(3rem,7vw,5.5rem) 3rem}
.hero h1{font-size:clamp(3rem,8.5vw,6.4rem);margin-top:1rem}
.hero .lead{margin-top:1.5rem}
.hero .wp-block-buttons{margin-top:2rem}
.hero-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:3rem;align-items:end}
.hero-grid>*{min-width:0}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}
.page-hero{padding-block:clamp(2.5rem,6vw,4.5rem) 2.5rem}
.page-hero h1{margin-top:.8rem}
.page-hero .lead{margin-top:1.2rem}

/* fișa firmei */
.spec{background:var(--surface);border:1px solid var(--line);padding:1.5rem}
.spec .label{margin-bottom:.5rem}
.spec table{width:100%;border-collapse:collapse}
.spec td{padding:.75rem 0;border-bottom:1px dashed var(--line);vertical-align:baseline;border-top:0;border-left:0;border-right:0}
.spec tr:last-child td{border-bottom:0}
.spec td:first-child{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-right:1rem}
.spec td:last-child{font-family:var(--display);font-weight:600;font-size:1.25rem;text-align:right;font-variant-numeric:tabular-nums}
.wp-block-table.spec{overflow-x:auto}

/* tipuri de clădiri */
ul.types{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);background:var(--line);gap:1px;margin-top:2.5rem}
ul.types li{background:var(--surface);padding:1.1rem 1rem;min-width:0;font-size:.85rem;color:var(--muted)}
ul.types strong{display:block;font-family:var(--display);font-weight:600;font-size:1.3rem;text-transform:uppercase;line-height:1.1;color:var(--ink)}
@media (max-width:900px){ul.types{grid-template-columns:repeat(2,1fr)}ul.types li:last-child{grid-column:1/-1}}

/* piloni */
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.pillar{background:var(--surface);border:1px solid var(--line);padding:2rem;display:flex;flex-direction:column;gap:1.1rem;min-width:0}
.pillar.main{border-top:4px solid var(--accent)}
.pillar .label{color:var(--steel)}
.pillar h4+p{margin-top:-.8rem;color:var(--muted);font-size:.95rem}
.more a,.pillar .more{font-family:var(--display);font-weight:600;font-size:1.1rem;text-transform:uppercase;letter-spacing:.04em;color:var(--steel);text-decoration:none}
.pillar .more{margin-top:auto}
@media (max-width:860px){.pillars{grid-template-columns:1fr}}

/* servicii */
.services{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.svc{background:var(--surface);padding:2rem;display:flex;flex-direction:column;gap:1rem;min-width:0}
.svc .label{color:var(--steel)}
.svc ul{padding:0;list-style:none;display:grid;gap:.35rem}
.svc li{padding-left:1.1rem;position:relative}
.svc li::before{content:"";position:absolute;left:0;top:.68em;width:.5rem;height:2px;background:var(--accent)}
@media (max-width:760px){.services{grid-template-columns:1fr}}
ul.chips{list-style:none;padding:0;margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.6rem}
ul.chips li{font-size:.88rem;border:1px solid var(--line);background:var(--surface);padding:.35rem .8rem}

/* bandă închisă: etape */
.dark{background:var(--ink);color:var(--bg)}
.dark .sec-head p{color:color-mix(in srgb,var(--bg) 70%,transparent)}
ol.steps{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0;counter-reset:s}
ol.steps li{padding:1.5rem 1.25rem 1.5rem 0;border-top:3px solid var(--accent);counter-increment:s;min-width:0;font-size:.93rem;color:color-mix(in srgb,var(--bg) 72%,transparent)}
ol.steps li::before{content:"Etapa " counter(s);display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}
ol.steps strong{display:block;font-family:var(--display);font-weight:600;font-size:1.35rem;text-transform:uppercase;line-height:1.05;color:var(--bg);margin-bottom:.5rem}
@media (max-width:900px){ol.steps{grid-template-columns:1fr 1fr;column-gap:1.5rem}}
@media (max-width:520px){ol.steps{grid-template-columns:1fr}}
ul.facts{list-style:none;padding:0;margin-top:2.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}
ul.facts li{border:1px solid color-mix(in srgb,var(--bg) 25%,transparent);padding:1.1rem 1.25rem;font-size:.9rem;color:color-mix(in srgb,var(--bg) 75%,transparent)}
ul.facts strong{display:block;font-family:var(--display);font-size:1.4rem;font-weight:600;color:var(--accent);text-transform:uppercase;margin-bottom:.2rem}

/* despre */
.about{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem}
.about>*{min-width:0}
.about h2{margin-top:.8rem}
.prose{color:var(--muted);max-width:38em}
.prose>*+*{margin-top:1rem}
.prose strong{color:var(--ink)}
.values{border-top:1px solid var(--line)}
.value{display:grid;grid-template-columns:11rem 1fr;gap:1.5rem;padding-block:1.4rem;border-bottom:1px solid var(--line)}
.value h3{font-size:1.4rem}
.value p{color:var(--muted)}
@media (max-width:860px){.about{grid-template-columns:1fr}.value{grid-template-columns:1fr;gap:.4rem}}
.partners{border-top:1px solid var(--line);padding-block:3rem}
.partners .label{margin-bottom:1.2rem}
ul.logos{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 2.2rem}
ul.logos li{font-family:var(--display);font-weight:600;font-size:1.4rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}

/* FAQ */
.faq{border-top:1px solid var(--line);max-width:52rem}
.faq .wp-block-details{border-bottom:1px solid var(--line);padding-block:1.1rem}
.faq summary{cursor:pointer;font-weight:600;font-size:1.05rem}
.faq .wp-block-details p{margin-top:.7rem;color:var(--muted);max-width:44em}

/* CTA */
.cta-band{background:var(--accent);color:var(--accent-ink)}
.cta-band .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding-block:2.5rem}
.cta-band h2{font-size:clamp(1.8rem,4vw,2.6rem)}
.cta-band p{margin-top:.4rem}
.cta-band .wp-block-button__link{background:var(--accent-ink);color:var(--accent);border-color:var(--accent-ink)}
.cta-band .is-style-outline .wp-block-button__link{background:transparent;color:var(--accent-ink)}

/* contact */
.contact-band{background:var(--surface)}
.contact{display:grid;grid-template-columns:1fr 1.15fr;gap:3rem}
.contact>*{min-width:0}
.promise{display:inline-block;background:var(--accent);color:var(--accent-ink);padding:.4rem .8rem;font-weight:600}
.cinfo{margin-top:2rem}
.cinfo>*+*{margin-top:1.2rem}
.cinfo p{font-size:1.1rem;font-weight:500}
.cinfo .label{display:block;font-weight:400;font-size:.78rem}
.legal{margin-top:2rem;font-family:var(--mono);font-size:.78rem;color:var(--muted)}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
form.oferta{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:var(--bg);border:1px solid var(--line);padding:1.75rem}
form.oferta .full{grid-column:1/-1}
.field{display:grid;gap:.35rem;min-width:0}
.field label{font-size:.85rem;font-weight:500}
form.oferta input,form.oferta textarea,form.oferta select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:.7rem .8rem;width:100%;border-radius:0}
form.oferta textarea{min-height:130px;resize:vertical}
.drop{border:1.5px dashed var(--line);padding:1rem;font-size:.9rem;color:var(--muted);background:var(--surface)}
form.oferta .drop input{border:0;padding:.4rem 0 0;background:transparent}
.form-note{font-size:.85rem;color:var(--muted)}
.form-foot{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.err{grid-column:1/-1;border-left:4px solid #C0392B;background:var(--surface);padding:.9rem 1rem}
@media (max-width:520px){form.oferta{grid-template-columns:1fr;padding:1.25rem}}

/* pagini simple (text) */
.plain{padding-block:3rem}
.plain>*{max-width:44rem}
.plain>*+*{margin-top:1rem}

/* subsol */
.site-foot{background:var(--ink);color:var(--bg);font-size:.85rem}
.site-foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-block:1.5rem}
.site-foot a{color:var(--bg)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.foot-brand{display:inline-flex;align-items:center;gap:.6rem}
.foot-brand img{height:28px;width:auto;flex:none}

/* imaginea de deschidere de pe prima pagină */
.wp-block-image.cover-acasa{margin:0;max-width:none;width:100%;background:var(--ink)}
.cover-acasa img{display:block;width:100%;height:auto;max-height:78vh;object-fit:cover;object-position:center 40%}
.cover-acasa + .hero{padding-top:clamp(2.5rem,5vw,4rem)}
@media (max-width:600px){.cover-acasa img{max-height:none}}

/* banda cu adresa și contactul, mutată în josul paginii */
.contact-jos .topbar{font-size:.85rem;border-bottom:1px solid color-mix(in srgb,var(--bg) 14%,transparent)}
.contact-jos .topbar .wrap{padding-block:1.1rem}
.contact-jos .topbar a{color:var(--accent)}

/* comutatorul de limbă RO / EN */
.lang-sw{display:inline-flex;gap:.25rem;align-items:center}
.lang-sw a,.lang-sw b{display:inline-block;padding:.2rem .5rem;font-weight:500;text-decoration:none;border:1px solid color-mix(in srgb,var(--bg) 35%,transparent);line-height:1.3}
.lang-sw b{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.contact-jos .topbar .lang-sw a{color:var(--bg)}
.lang-sw a:hover{border-color:var(--accent)}