/* ===== Setup ===== */
:root{
  --ink:#0f1820;
  --muted:#5f7483;
  --line:#e7edf2;
  --accent:#ff7a1a;
  --shadow: 0 14px 50px rgba(10,20,30,.15);
  --radius: 16px;
  --container: min(1180px, 92vw);

  --header-h: 72px;
  --logo-base-h: 44px;
  --logo-scale: 3.2;

  --footer-logo: 64px;
}
*{ box-sizing:border-box; margin:0; padding:0 }
html,body{ height:100% }
body{
  font-family: Poppins, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--ink);
  background:#f7fafc;
  line-height:1.7;
  padding-top: var(--header-h);
}
a{ color:inherit; text-decoration:none }
img{ display:block; max-width:100%; height:auto }
.container{ width: var(--container); margin: 0 auto }
.nowrap{ white-space: nowrap }

/* ===== Butoane ===== */
.btn{
  display:inline-block; font-weight:700; letter-spacing:.2px;
  padding:.8rem 1.1rem; border-radius:999px;
  background: linear-gradient(135deg, var(--accent), #ff9d55);
  color:#111; box-shadow: var(--shadow);
  transition: transform .15s ease, filter .2s ease;
}
.btn:hover{ transform: translateY(-2px); filter: brightness(1.03) }
.btn.small{ padding:.55rem .85rem; font-size:.95rem }

/* ===== Header ===== */
.site-header{
  position: fixed; top:0; left:0; right:0;
  height: var(--header-h); z-index: 9999;
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.hdr{ height:100%; display:flex; align-items:center; gap: clamp(24px, 8vw, 200px) }
.logo{ display:flex; align-items:center; gap:.6rem; font-weight:700 }
.logo img{ height: var(--logo-base-h); width:auto; transform: scale(var(--logo-scale)); transform-origin: left center; }
.logo span{ font-size:1.1rem }

.primary-nav{ margin-left:auto; position:relative; display:flex; align-items:center }
.primary-nav ul{ list-style:none; display:flex; align-items:center; gap:1rem }
.primary-nav li a{ padding:.4rem .6rem; border-radius:10px; white-space:nowrap }
.primary-nav li a:hover, .primary-nav li a.active{ background:#f1f6fa }
#nav-toggle{ display:none }
.hamburger{ display:none; cursor:pointer; padding:.3rem .2rem; border-radius:8px; margin-left:.4rem }
.hamburger span{ display:block; width:26px; height:2px; background:#0d1a22; margin:6px 0; transition:.3s }

@media (max-width:1024px){
  .hamburger{ display:block }
  .primary-nav ul{
    position:absolute; right:0; top: calc(var(--header-h));
    background:#fff; border:1px solid var(--line); border-radius:12px;
    padding:10px; box-shadow: var(--shadow);
    flex-direction:column; gap:.25rem; display:none; min-width:220px;
  }
  #nav-toggle:checked ~ ul{ display:flex }
  #nav-toggle:checked + .hamburger span:nth-child(1){ transform: translateY(8px) rotate(45deg) }
  #nav-toggle:checked + .hamburger span:nth-child(2){ opacity:0 }
  #nav-toggle:checked + .hamburger span:nth-child(3){ transform: translateY(-8px) rotate(-45deg) }
}

/* ===== Subhero ===== */
.subhero{
  position:relative; min-height:280px;
  background-size:cover; background-position:center;
  display:flex; align-items:center;
  border-bottom:1px solid var(--line);
}
.subhero .scrim{ position:absolute; inset:0; background: linear-gradient(120deg, rgba(11,15,18,.25), rgba(11,15,18,.55) 58%, rgba(11,15,18,.1)) }
.subhero .container{ position:relative; z-index:2 }
.subhero h1{ font-size: clamp(2rem, 2.2vw + 1.4rem, 3rem); color:#fff; text-shadow: 0 8px 24px rgba(0,0,0,.35) }
.subhero .lead{ color:#eef4f7; max-width: 860px; margin-top:.4rem }

/* ===== Contact grid ===== */
.section{ padding: clamp(40px, 6vw, 80px) 0 }
.contact-grid{ display:grid; grid-template-columns:.95fr 1.05fr; gap:22px; align-items:start }
.info-card, .dept, .contact-form{
  background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px; box-shadow: var(--shadow);
}
.info-card h3, .dept h3{ margin-bottom:.35rem; font-size:1.06rem }
.info-card ul, .dept ul{ list-style:none; display:grid; gap:.25rem; color:var(--muted) }
.contact-form .row{ display:grid; grid-template-columns:1fr 1fr; gap:14px }
.field{ display:grid; gap:.35rem }
.field label{ font-weight:600 }
.field input, .field textarea{
  width:100%; border:1px solid var(--line); border-radius:12px; padding:.75rem .9rem; font:inherit; background:#fff;
}
.field input:focus, .field textarea:focus{ outline:2px solid rgba(45,182,199,.35); border-color: rgba(45,182,199,.5) }
.check{ display:flex; gap:.5rem; align-items:flex-start; margin:.4rem 0 .2rem; color:var(--muted) }
.actions{ display:flex; align-items:center; gap:12px; margin-top:.6rem }
.hint{ color:var(--muted) }

/* ===== Harta (iframe) ===== */
#map{
  display:block;
  width:100%;
  height:360px;   /* ajustează după nevoie */
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow);
}
.map-link{ text-align:right; margin-top:6px }
.map-link a{ text-decoration:underline; color:var(--ink) }

@media (max-width:480px){
  #map{ height:300px; }
}


/* ===== Footer ===== */
.site-footer{ margin-top:28px; background:#fff; border-top:1px solid var(--line); color:var(--ink) }
.footer-grid{ display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:22px; padding:26px 0 }
.foot-brand img{ width:var(--footer-logo); height:var(--footer-logo); margin-bottom:.55rem }
.foot-brand small{ display:block; color:var(--muted) }
.foot-dept h4, .foot-contact h4{ margin-bottom:.4rem }
.foot-dept ul{ list-style:none; display:grid; gap:.25rem }
.foot-dept a{ color:#0f1820; text-decoration:underline dotted transparent }
.foot-dept a:hover{ text-decoration-color:#0f1820 }
.foot-contact p{ color:var(--muted); margin:.2rem 0 }
.foot-contact .btn.small{ margin-top:.3rem }
.legal{ border-top:1px solid var(--line); text-align:center; padding:12px 0; color:var(--muted) }
.social{ list-style:none; display:flex; gap:10px; margin:10px 0 0; padding:0; }
.icon-btn{ display:inline-grid; place-items:center; width:36px; height:36px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.icon{ width:18px; height:18px; fill:#0f1820; opacity:.85 }
.icon-btn:hover .icon{ opacity:1 }
.dept-list{ list-style:none; padding:0; margin:0; display:grid; gap:.35rem; }
.dept-list .wa{ display:inline-grid; place-items:center; margin-left:.4rem; width:26px; height:26px; border-radius:6px; background:#25D3661a; border:1px solid #25D36655; }
.wa-icon{ width:15px; height:15px; fill:#25D366; }

/* ===== Responsive ===== */
@media (max-width:480px){
  .contact-grid{ grid-template-columns:1fr }
  .contact-form .row{ grid-template-columns:1fr }
  .footer-grid{ grid-template-columns:1fr }
  :root{ --logo-scale: 1.8; --logo-base-h: 40px; --footer-logo: 56px; }
  #map{ height:320px; }
}
@media (min-width:481px) and (max-width:768px){
  .contact-grid{ grid-template-columns:1fr }
  .footer-grid{ grid-template-columns:1fr 1fr }
}
/* ===== Footer – media queries corecte (identic ca pe celelalte pagini) ===== */

/* setăm ariile ca să putem rearanja ușor pe breakpoints */
.footer-grid{
  grid-template-areas: "brand dept contact";
}
.foot-brand   { grid-area: brand; }
.foot-dept    { grid-area: dept; }
.foot-contact { grid-area: contact; }

/* Tabletă / laptop mic (≤1024px): 2 coloane, brand pe un rând întreg sus */
@media (max-width: 1024px){
  :root{ --footer-logo: 60px; }           /* logo ușor mai mic în footer */
  .site-footer{ margin-top: 48px; }

  .footer-grid{
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "brand brand"
      "dept  contact";
    gap: 20px 24px;
  }
}

/* Telefon & tabletă portret (≤768px): 1 coloană, totul centrat */
@media (max-width: 768px){
  :root{ --footer-logo: 56px; }

  .footer-grid{
    grid-template-columns: 1fr;
    grid-template-areas:
      "brand"
      "dept"
      "contact";
    gap: 16px;
    text-align: center;
  }

  .foot-brand img{ margin: 0 auto .5rem; }
  .foot-dept ul{
    justify-items: center;   /* aliniază frumos listele */
    text-align: left;        /* punctele listei rămân la stânga, dar centrăm blocul */
    width: max-content;
    margin: 0 auto;
  }
  .foot-contact .btn.small{ margin-top: .4rem; }
}

/* Telefoane foarte mici (≤400px): padding mai strâns și text mic la copyright */
@media (max-width: 400px){
  .footer-grid{ padding: 20px 0; }
  .legal{ font-size: .95rem; }
}
/* centrare linie drepturi & an ===== */
.site-footer .legal{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 12px 0;
  border-top: 1px solid var(--line);
  color: var(--muted);
  margin: 0 auto;
}

/* opțional: font puțin mai mic pe mobil */
@media (max-width: 480px){
  .site-footer .legal{ font-size: .95rem; }
}
@media (max-width: 480px){
  :root{
    --logo-scale: 3;     /* header logo */
    --logo-base-h: 44px;
    --footer-logo: 90px;   /* footer logo */
  }
}
/* === LOGO ȘI MAI MARE, FĂRĂ SĂ CREASCĂ HEADERUL === */
:root{
  --header-h: 70px;     /* bara rămâne subțire */
  --logo-base-h: 60px;  /* mărimea “reală” din layout */
  --logo-scale: 3.2;    /* >>> mai mare: 2.6–3.6 după gust */
}
/* Footer: social + WhatsApp */
.social{ list-style:none; display:flex; gap:10px; margin:10px 0 0; padding:0; }
.icon-btn{ display:inline-grid; place-items:center; width:36px; height:36px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.icon{ width:18px; height:18px; fill:#0f1820; opacity:.85 }
.icon-btn:hover .icon{ opacity:1 }

.dept-list{ list-style:none; padding:0; margin:0; display:grid; gap:.35rem; }
.dept-list a{ text-decoration:none; }
.dept-list .wa{ display:inline-grid; place-items:center; margin-left:.4rem; width:26px; height:26px; border-radius:6px; background:#25D3661a; border:1px solid #25D36655; vertical-align:middle; }
.wa-icon{ width:15px; height:15px; fill:#25D366; }
/* Social icons în footer pe mobil - centrate sub adresă */
@media (max-width: 768px){
  .social{
    justify-content: center;   /* centrează pe orizontală */
    margin-top: 8px;           /* spațiu mic deasupra */
  }
}
