
:root{
  --bg:#f6f4ef; --paper:#fffdf8; --ink:#111; --muted:#555; --line:#ddd8cc;
  --gold:#e7b900; --dark:#111; --shadow:0 14px 38px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{text-decoration:none;color:inherit}
img,video{max-width:100%;display:block}
.site-header{height:74px;display:grid;grid-template-columns:330px 1fr auto auto;align-items:center;gap:20px;padding:0 5.5vw;background:rgba(246,244,239,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}
.brand img{height:58px;width:auto;object-fit:contain}
.desktop-nav{display:flex;justify-content:center;gap:30px;font-weight:800}
.desktop-nav a{padding:27px 0 23px;border-bottom:3px solid transparent}
.desktop-nav a:hover{border-color:var(--gold)}
.quote-btn{background:var(--dark);color:white;padding:15px 22px;text-transform:uppercase;font-weight:900;letter-spacing:.06em}
.menu-btn{display:none;background:transparent;border:0;font-size:34px}
.hero{display:grid;grid-template-columns:.9fr 1.1fr;min-height:610px;align-items:center;overflow:hidden;background:linear-gradient(110deg,#fffdf8 0 48%,transparent 48%),var(--bg)}
.hero-text{padding:70px 0 70px 5.5vw;z-index:2}
.hero h1{font-size:clamp(42px,5vw,78px);line-height:.98;letter-spacing:-.055em;margin:0 0 22px}
.hero h1 span{display:block}.hero h1 span::after{content:"";}.hero h1 span{color:var(--ink)}.hero h1 span::first-letter{color:inherit}
.hero h1 span{ } .hero h1 span b{color:var(--gold)}
.hero h1::first-line{font-size:.58em;letter-spacing:-.035em}
.hero h1 span{color:var(--ink)} .hero h1 span{ } 
.hero h1 span { }
.hero h1{ } .hero h1 .gold{color:var(--gold)}
.hero p,.page-hero p,.about-preview p,.two-col p{font-size:18px;line-height:1.65;color:#454545;max-width:620px}
.hero-image{height:610px;position:relative}.hero-image img{height:100%;width:100%;object-fit:cover}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.06))}
.actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 22px;border:1px solid var(--line);font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.btn.yellow{background:var(--gold);border-color:var(--gold);color:#111}.btn.outline{background:#fff}.btn.dark{background:#111;color:white;border-color:#111}
.contact-bar{margin:-39px 5.5vw 0;position:relative;z-index:5;background:rgba(255,253,248,.96);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}
.contact-bar div{display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;column-gap:14px;padding:18px 26px;border-right:1px solid var(--line)}
.contact-bar div:last-child{border-right:0}.contact-bar span{grid-row:1/3;width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:24px}.contact-bar small{color:#777}.contact-bar strong{font-size:17px}
.section{padding:78px 5.5vw;border-top:1px solid rgba(0,0,0,.04)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}
.eyebrow{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;margin:0 0 8px}
h2{font-size:clamp(30px,3.3vw,50px);line-height:1.06;letter-spacing:-.035em;margin:0 0 18px}
.section-head a{color:#bd9300;font-weight:900}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card,.gallery-card{background:var(--paper);border:1px solid var(--line);box-shadow:0 9px 22px rgba(0,0,0,.04);overflow:hidden;border-radius:8px;display:flex;flex-direction:column}
.service-card img{height:205px;width:100%;object-fit:cover}
.service-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;min-height:230px}
.service-no{color:#b88900;font-weight:900;margin:0}.service-card h3{font-size:19px;margin:0}.service-card p{margin:0;color:#555;line-height:1.5}.service-card a{margin-top:auto;color:#bd9300;font-weight:900}
.service-detail{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;background:var(--paper);border:1px solid var(--line);padding:22px;margin-bottom:22px;align-items:center}.service-detail img{height:340px;width:100%;object-fit:cover}.service-detail p{font-size:18px;line-height:1.65;color:#444}
.about-preview{padding:70px 5.5vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;background:#f0eee8}.gold-line{display:block;width:90px;height:4px;background:var(--gold);margin-top:24px}
.project-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.project-feature,.project-thumb{position:relative;border-radius:8px;overflow:hidden;min-height:380px;background:#111;color:white}.project-feature img,.project-thumb img{height:100%;width:100%;object-fit:cover}.project-feature:after,.project-thumb:after,.fleet-grid figure:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.82))}
.project-feature div,.project-thumb div{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;display:grid;gap:6px}.project-feature strong{font-size:22px}.project-side{display:grid;gap:18px}.project-thumb{min-height:181px}.project-thumb strong{font-size:18px}
.page-hero{padding:85px 5.5vw 70px;background:#f0eee8;border-bottom:1px solid var(--line)}.page-hero h1,.contact-page h1{font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.05em;margin:0 0 18px}
.services-detailed{display:grid;gap:22px}.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.fleet-grid figure{position:relative;margin:0;min-height:370px;overflow:hidden;border-radius:8px;background:#111}.fleet-grid img{height:100%;width:100%;object-fit:cover}.fleet-grid figcaption{position:absolute;left:20px;right:20px;bottom:20px;z-index:2;color:white;display:grid;gap:4px}.fleet-grid small{color:var(--gold);font-weight:900}.fleet-grid strong{font-size:20px}.fleet-grid span{color:#ddd}
.gallery-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.filter{border:1px solid var(--line);background:#fff;padding:12px 15px;font-weight:800;cursor:pointer}.filter.active,.filter:hover{background:var(--gold);border-color:var(--gold)}
.dynamic-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-card img{height:250px;width:100%;object-fit:cover}.gallery-card div{padding:16px}.gallery-card small{color:#b88900;font-weight:900}.gallery-card h3{margin:6px 0;font-size:21px}.gallery-card p{margin:0;color:#555}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.two-col img{border-radius:8px;box-shadow:var(--shadow)}
.contact-page{min-height:calc(100vh - 74px);padding:90px 5.5vw;display:grid;grid-template-columns:1fr 470px;gap:60px;align-items:center;background:#111;color:white}.contact-page p{color:#ddd}.contact-card{background:var(--gold);color:#111;padding:34px;border-radius:8px;display:grid;gap:14px}.contact-card a,.contact-card p{font-size:19px;font-weight:800}.contact-card h2{font-size:28px;margin:0 0 8px}
.cta-strip{margin:0 5.5vw 0;background:#111;color:white;border-radius:10px;padding:26px 30px;display:flex;justify-content:space-between;align-items:center;gap:25px}.cta-strip strong{font-size:27px}.cta-strip p{margin:5px 0 0;color:#ddd}.cta-icon{color:var(--gold);font-size:38px;margin-right:16px}
.site-footer{margin-top:0;padding:40px 5.5vw;background:#151515;color:white;display:grid;grid-template-columns:1.3fr 1.2fr .8fr .8fr;gap:34px}.site-footer img{height:70px;width:auto;margin-bottom:16px}.site-footer h4{color:var(--gold);text-transform:uppercase;letter-spacing:.08em}.site-footer a,.site-footer p{display:block;color:#eee;line-height:1.6;margin:6px 0}.socials{display:flex;gap:10px}.socials span{width:38px;height:38px;border:1px solid #777;border-radius:50%;display:grid;place-items:center}
.mobile-menu{display:grid;gap:2px;background:#111;color:white;padding:10px 5.5vw;position:sticky;top:74px;z-index:49}.mobile-menu a{padding:14px;border-bottom:1px solid #333}
.mobile-sticky-cta{display:none}

@media (max-width: 980px){
  .site-header{height:82px;grid-template-columns:1fr auto auto;padding:0 18px}.brand img{height:62px}.desktop-nav{display:none}.menu-btn{display:block}.quote-btn{padding:13px 16px;font-size:13px}
  .hero{display:block;background:var(--bg)}.hero-text{padding:28px 22px 18px}.hero h1{font-size:44px}.hero h1::first-line{font-size:.76em}.hero p{font-size:17px}.hero-image{height:350px;margin:0 0 0 0}.actions .outline{display:none}
  .contact-bar{margin:-22px 18px 0;grid-template-columns:1fr}.contact-bar div{border-right:0;border-bottom:1px solid var(--line);padding:15px 18px}.contact-bar div:last-child{border-bottom:0}
  .section{padding:48px 18px}.section-head{display:block}.section-head a{display:inline-block;margin-top:10px}
  .services-grid,.dynamic-gallery,.fleet-grid{grid-template-columns:1fr}.service-card img{height:210px}.service-card-body{min-height:auto}.service-detail{grid-template-columns:1fr;padding:14px}.service-detail img{height:240px}
  .about-preview{padding:48px 18px;grid-template-columns:1fr;gap:20px}.project-layout{grid-template-columns:1fr}.project-feature{min-height:280px}.project-side{grid-template-columns:1fr}
  .page-hero{padding:50px 18px}.page-hero h1,.contact-page h1{font-size:42px}.two-col{grid-template-columns:1fr}.contact-page{grid-template-columns:1fr;min-height:auto;padding:52px 18px}
  .cta-strip{margin:0 18px 0;display:block;padding:24px 22px}.cta-strip .btn{width:100%;margin-top:16px}
  .site-footer{grid-template-columns:1fr;padding:34px 18px 90px}.site-footer img{height:64px}
  .mobile-sticky-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:80;box-shadow:0 -8px 25px rgba(0,0,0,.2)}.mobile-sticky-cta a{padding:16px;text-align:center;font-weight:900}.mobile-sticky-cta a:first-child{background:var(--gold);color:#111}.mobile-sticky-cta a:last-child{background:#111;color:white}
}
@media (max-width: 520px){
  .site-header{height:76px}.brand img{height:55px}.quote-btn{font-size:0;padding:12px}.quote-btn::after{content:"Ofertă";font-size:13px}.menu-btn{font-size:28px}
  .hero h1{font-size:39px}.hero-image{height:310px}.btn{width:100%}.contact-bar strong{font-size:15px}.gallery-card img{height:210px}
}


/* ===== FIX MENIU MOBIL / DESKTOP ===== */
/* Ascunde complet meniul mobil când are atributul hidden. Fără asta, unele browsere îl afișează ca zonă neagră mare. */
.mobile-menu[hidden],
.mobile-nav[hidden] {
  display: none !important;
}

/* Pe desktop nu afișăm niciodată meniul mobil; rămâne doar meniul normal de sus. */
.mobile-menu,
.mobile-nav {
  display: none;
}

/* Butonul de meniu apare doar pe telefon/tabletă. */
@media (min-width: 981px) {
  .menu-btn {
    display: none !important;
  }
  .mobile-menu,
  .mobile-nav {
    display: none !important;
  }
}

/* Pe mobil, meniul se deschide ca dropdown mic în dreapta sus, nu ca bandă mare neagră peste pagină. */
@media (max-width: 980px) {
  .mobile-menu:not([hidden]),
  .mobile-nav:not([hidden]) {
    display: grid !important;
    position: fixed;
    top: 82px;
    right: 16px;
    left: auto;
    width: min(270px, calc(100vw - 32px));
    z-index: 999;
    background: #111;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    overflow: hidden;
    padding: 6px;
    box-shadow: 0 18px 50px rgba(0,0,0,.38);
  }

  .mobile-menu a,
  .mobile-nav a {
    display: block;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255,255,255,.10);
    color: #fff;
    font-weight: 800;
    text-align: left;
  }

  .mobile-menu a:last-child,
  .mobile-nav a:last-child {
    border-bottom: 0;
  }
}

/* Pe telefoane mici, păstrăm dropdown-ul sus dreapta și logo vizibil. */
@media (max-width: 560px) {
  .mobile-menu:not([hidden]),
  .mobile-nav:not([hidden]) {
    top: 76px;
    right: 12px;
    width: min(260px, calc(100vw - 24px));
  }
}


/* ===== VIDEO SECTION LIGHT PREMIUM ===== */
.video-section {
  background:
    radial-gradient(circle at 80% 0%, rgba(230,195,0,.13), transparent 34%),
    #f4f3ef;
}

.video-block.video-section {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 58px;
  align-items: center;
}

.video-extra {
  font-size: 17px;
  line-height: 1.65;
  color: #555;
  margin: 18px 0 28px;
  max-width: 620px;
}

.video-frame {
  background: #111;
  border: 1px solid var(--line);
  box-shadow: 0 24px 60px rgba(0,0,0,.18);
  overflow: hidden;
}

.video-frame video {
  width: 100%;
  min-height: 430px;
  display: block;
  object-fit: cover;
  background: #111;
}

@media(max-width: 980px) {
  .video-block.video-section {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .video-frame video {
    min-height: 260px;
    object-fit: contain;
  }
}

@media(max-width: 560px) {
  .video-frame video {
    min-height: 220px;
  }
}


/* ===== FIX VIDEO: fără dublare + social + contact ===== */
.video-social-contact {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(0,0,0,.12);
}

.video-social-contact h3 {
  font-size: 22px;
  margin: 0 0 14px;
}

.social-buttons,
.footer-social-links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.social-btn,
.footer-social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 999px;
  font-weight: 900;
  border: 1px solid rgba(0,0,0,.12);
}

.social-btn.facebook {
  background: #1877f2;
  color: #fff;
  border-color: #1877f2;
}

.social-btn.tiktok {
  background: #111;
  color: #fff;
  border-color: #111;
}

.mini-contact {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.mini-contact a,
.mini-contact p {
  font-size: 16px;
  line-height: 1.45;
  color: #333;
  font-weight: 800;
  margin: 0;
}

.footer-social-links {
  margin: 12px 0;
}

.footer-social-links a {
  color: inherit;
  border-color: rgba(255,255,255,.18);
}

/* ===== FLOTĂ: optimizare pe mobil ===== */
.fleet-grid figure {
  border-radius: 10px;
  overflow: hidden;
}

.fleet-grid img {
  object-position: center center;
}

@media(max-width: 980px) {
  .fleet-grid {
    gap: 18px;
  }

  .fleet-grid figure {
    min-height: auto;
    height: auto;
    display: grid;
    background: #111;
  }

  .fleet-grid figure::after {
    height: 48%;
  }

  .fleet-grid img {
    height: 360px !important;
    width: 100%;
    object-fit: cover;
    object-position: center center;
  }

  .fleet-grid figcaption {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
  }

  .fleet-grid figcaption strong {
    font-size: 21px;
    line-height: 1.15;
  }

  .fleet-grid figcaption span,
  .fleet-grid figcaption small {
    font-size: 13px;
  }
}

@media(max-width: 560px) {
  .fleet-grid img {
    height: 300px !important;
  }

  .fleet-grid figcaption {
    left: 14px;
    right: 14px;
    bottom: 14px;
  }

  .fleet-grid figcaption strong {
    font-size: 19px;
  }

  .social-btn {
    width: 100%;
  }

  .mini-contact a,
  .mini-contact p {
    font-size: 15px;
  }
}


/* ===== FIX VIDEO SOCIAL + POSTER 16:9 ===== */
.video-social-contact {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(0,0,0,.12);
}

.video-social-contact h3 {
  font-size: 22px;
  margin: 0 0 14px;
}

.social-buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 999px;
  font-weight: 900;
}

.social-btn.facebook {
  background: #1877f2;
  color: #fff;
}

.social-btn.tiktok {
  background: #111;
  color: #fff;
}

.mini-contact {
  display: grid;
  gap: 8px;
  margin-top: 15px;
}

.mini-contact a,
.mini-contact p {
  color: #333;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 800;
  margin: 0;
}

.video-frame {
  aspect-ratio: 16 / 9;
}

.video-frame video {
  min-height: 0 !important;
  height: 100% !important;
  width: 100%;
  object-fit: cover;
}

/* Când video-ul vertical pornește, pe mobil nu îl tăiem agresiv */
@media(max-width: 980px) {
  .video-frame {
    aspect-ratio: 16 / 9;
  }

  .video-frame video {
    object-fit: cover;
  }

  .social-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

@media(max-width: 560px) {
  .social-buttons {
    grid-template-columns: 1fr;
  }

  .mini-contact a,
  .mini-contact p {
    font-size: 15px;
  }
}


/* =========================================================
   FIX MOBIL: VIDEO SUS, PROIECTE 4 POZE, HERO IMAGE
   ========================================================= */

/* Video: pe desktop text stânga, video dreapta, social sub text.
   Pe mobil: text scurt -> video -> Facebook/TikTok/contact. */
.video-block.video-section {
  display: grid !important;
  grid-template-columns: .75fr 1.25fr;
  grid-template-areas:
    "copy frame"
    "social frame";
  align-items: start !important;
  gap: 28px 58px !important;
}

.video-copy { grid-area: copy; }
.video-frame { grid-area: frame; aspect-ratio: 16 / 9; }
.video-social-contact { grid-area: social; }

.video-frame video {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
}

.video-social-contact .btn,
.video-block .btn.yellow {
  margin-top: 18px;
}

.social-buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.social-btn {
  text-align: center;
}

/* Homepage hero pe mobil: păstrează poza complet mai jos, fără să taie agresiv blocurile */
@media(max-width: 980px) {
  .hero {
    min-height: auto !important;
  }

  .hero-text {
    padding-top: 44px !important;
    padding-bottom: 36px !important;
  }

  .hero-image {
    height: auto !important;
    min-height: 0 !important;
    background: #111;
  }

  .hero-image img {
    height: auto !important;
    width: 100% !important;
    object-fit: contain !important;
    object-position: center top !important;
  }

  /* Video pe mobil: video urcă imediat după textul de prezentare */
  .video-block.video-section {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "copy"
      "frame"
      "social" !important;
    gap: 18px !important;
    padding-top: 52px !important;
    padding-bottom: 48px !important;
  }

  .video-copy h2 {
    font-size: clamp(36px, 10vw, 52px) !important;
    line-height: 1.02 !important;
    margin-bottom: 16px !important;
  }

  .video-copy .section-lead {
    font-size: 21px !important;
    line-height: 1.35 !important;
    margin-bottom: 12px !important;
  }

  .video-extra {
    font-size: 18px !important;
    line-height: 1.45 !important;
    margin: 10px 0 0 !important;
  }

  .video-frame {
    width: 100% !important;
    margin-top: 6px !important;
    aspect-ratio: 16 / 9 !important;
  }

  .video-frame video {
    object-fit: cover !important;
  }

  .video-social-contact {
    margin-top: 0 !important;
    padding-top: 18px !important;
  }

  .social-buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
  }

  .social-btn {
    width: 100% !important;
    border-radius: 14px !important;
  }

  /* Șantiere active: 4 poze pe mobil una sub alta, fără bloc imens lung pe lateral */
  .project-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .project-feature,
  .project-thumb {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    width: 100% !important;
  }

  .project-feature img,
  .project-thumb img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .project-feature div,
  .project-thumb div {
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
  }

  .project-feature strong,
  .project-thumb strong {
    font-size: 18px !important;
    line-height: 1.15 !important;
  }

  .project-side {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

@media(max-width: 560px) {
  .hero h1 {
    font-size: 43px !important;
    line-height: 1.02 !important;
  }

  .hero p {
    font-size: 20px !important;
    line-height: 1.52 !important;
  }

  .video-block.video-section {
    padding-top: 42px !important;
  }

  .video-copy h2 {
    font-size: 38px !important;
  }

  .video-copy .section-lead {
    font-size: 19px !important;
  }

  .video-extra {
    font-size: 17px !important;
  }

  .social-buttons {
    grid-template-columns: 1fr !important;
  }

  .project-feature,
  .project-thumb {
    aspect-ratio: 16 / 11 !important;
  }
}

/* Scoate orice buton vechi din zona video dacă rămâne agățat */
.video-copy > .btn,
.video-social-contact + .btn {
  display: none !important;
}


/* =========================================================
   WEB + MOBIL FIX: FLOTĂ, PROIECTE, FORMULAR, HARTĂ
   ========================================================= */

/* Flotă pe web: carduri mai aerisite și poze constante */
@media(min-width: 981px) {
  .fleet-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }

  .fleet-grid figure {
    min-height: 410px !important;
    border-radius: 10px !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.08);
  }

  .fleet-grid img {
    height: 410px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

/* Proiecte recente: 4 poze egale, nu una lungă + 3 laterale */
.project-grid-fixed {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.project-grid-dynamic {
  display: contents;
}

.project-card-fixed,
.project-feature.project-card-fixed,
.project-thumb.project-card-fixed {
  position: relative;
  display: block;
  min-height: 280px;
  height: 280px;
  border-radius: 10px;
  overflow: hidden;
  background: #111;
  color: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

.project-card-fixed img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.project-card-fixed.main-project img {
  object-position: center 34%;
}

.project-card-fixed::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 36%, rgba(0,0,0,.84));
  pointer-events: none;
}

.project-card-fixed div {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 2;
  display: grid;
  gap: 6px;
}

.project-card-fixed strong {
  font-size: 18px;
  line-height: 1.15;
}

.project-card-fixed span {
  color: #e8e8e8;
  font-size: 14px;
}

/* Formular client + hartă */
.quick-contact-section,
.contact-form-map,
.map-section {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 34px;
  align-items: start;
}

.quick-contact-copy p,
.contact-form-map p,
.map-section p {
  color: #555;
  font-size: 18px;
  line-height: 1.6;
}

.mail-form {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 24px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 14px;
}

.mail-form label {
  display: grid;
  gap: 7px;
  font-weight: 900;
}

.mail-form input,
.mail-form textarea,
.mail-form select {
  width: 100%;
  border: 1px solid var(--line);
  background: #fff;
  color: #111;
  padding: 14px 15px;
  font: inherit;
  border-radius: 8px;
}

.mail-form textarea {
  resize: vertical;
}

.quick-socials,
.map-contact-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.quick-socials a,
.map-contact-links a {
  display: inline-flex;
  padding: 12px 15px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-weight: 900;
}

.map-section {
  background: #f0eee8;
}

.map-embed {
  width: 100%;
  min-height: 360px;
  border: 0;
  border-radius: 12px;
  box-shadow: var(--shadow);
  background: #ddd;
}

.contact-map-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 22px;
  box-shadow: var(--shadow);
}

.contact-map-card h3 {
  font-size: 28px;
  margin: 0 0 8px;
}

/* Video pe mobil: video mai aproape de text, fără să împingă prea jos */
@media(max-width: 980px) {
  .video-block.video-section {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .video-frame {
    aspect-ratio: 16 / 9 !important;
    margin-top: 4px !important;
  }

  .video-frame video {
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
  }

  .video-social-contact {
    margin-top: 8px !important;
  }

  .project-grid-fixed {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .project-grid-dynamic {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .project-card-fixed,
  .project-feature.project-card-fixed,
  .project-thumb.project-card-fixed {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
  }

  .quick-contact-section,
  .contact-form-map,
  .map-section {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .map-embed {
    min-height: 300px;
  }
}

@media(max-width: 560px) {
  .project-card-fixed {
    aspect-ratio: 16 / 11 !important;
  }

  .mail-form {
    padding: 18px;
  }

  .quick-socials a,
  .map-contact-links a {
    width: 100%;
    justify-content: center;
  }
}


/* =========================================================
   CONTACT: poziționare, formular vizibil, date firmă
   ========================================================= */

/* Pe web ridicăm zona Contact ca să se vadă mai mult din card + formular/hartă în primul ecran */
@media(min-width: 981px) {
  .contact-page {
    min-height: auto !important;
    padding-top: 82px !important;
    padding-bottom: 56px !important;
    align-items: center !important;
  }

  .contact-page h1 {
    font-size: clamp(58px, 5vw, 82px) !important;
    line-height: .96 !important;
  }

  .contact-card {
    margin-top: 0 !important;
    align-self: start !important;
    transform: translateY(-18px);
  }

  .contact-form-map {
    padding-top: 48px !important;
  }
}

/* Date fiscale/bancare în cardul galben */
.company-legal-details {
  display: grid;
  gap: 7px;
  margin: 14px 0 18px;
  padding: 14px 0;
  border-top: 1px solid rgba(0,0,0,.18);
  border-bottom: 1px solid rgba(0,0,0,.18);
}

.company-legal-details p {
  margin: 0 !important;
  color: #111 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  word-break: break-word;
}

.footer-legal-details {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.12);
}

.footer-legal-details p {
  margin: 4px 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: inherit;
}

/* Pe mobil: coboară cardul galben cu Premium/date contact, să nu stea lipit sus */
@media(max-width: 980px) {
  .contact-page {
    padding-top: 44px !important;
    gap: 28px !important;
  }

  .contact-card {
    margin-top: 28px !important;
  }

  .company-legal-details p {
    font-size: 14px !important;
  }

  .contact-form-map {
    padding-top: 38px !important;
  }
}

@media(max-width: 560px) {
  .contact-page {
    padding-top: 36px !important;
  }

  .contact-card {
    margin-top: 34px !important;
  }

  .contact-card h3,
  .contact-card strong {
    font-size: 22px !important;
  }

  .company-legal-details {
    margin: 12px 0 16px;
    padding: 12px 0;
  }

  .company-legal-details p {
    font-size: 13px !important;
  }
}


/* =========================================================
   CONTACT MOBIL: formular sus, card galben mai jos, hartă după TikTok
   ========================================================= */

/* Ordine clară pe pagina Contact */
.contact-page > div:first-child {
  order: 1;
}

.contact-form-map {
  order: 2;
}

.contact-card {
  order: 3;
}

.map-section {
  order: 4;
}

/* Web: păstrăm layout-ul curat, dar fără spațiu exagerat */
@media(min-width: 981px) {
  .contact-page {
    min-height: auto !important;
    padding-top: 72px !important;
    padding-bottom: 48px !important;
  }

  .contact-card {
    transform: translateY(0) !important;
  }
}

/* Mobil: vrem formularul înaintea cardului galben, cardul mai jos și harta după social/TikTok */
@media(max-width: 980px) {
  main {
    display: flex;
    flex-direction: column;
  }

  .contact-page {
    display: flex !important;
    flex-direction: column !important;
    padding-top: 34px !important;
    padding-bottom: 24px !important;
    gap: 18px !important;
  }

  .contact-page > div:first-child {
    order: 1 !important;
  }

  /* Mută vizual formularul imediat după introducere */
  .contact-form-map {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    padding-top: 12px !important;
    padding-bottom: 28px !important;
    gap: 20px !important;
  }

  .contact-form-map > div:first-child {
    order: 1 !important;
  }

  .contact-form-map .mail-form {
    order: 1 !important;
  }

  /* Cardul galben cu Premium/datele firmei coboară după formular */
  .contact-card {
    order: 3 !important;
    margin-top: 28px !important;
    margin-bottom: 10px !important;
    width: 100% !important;
  }

  /* Harta rămâne după zona socială TikTok/Facebook */
  .contact-form-map .contact-map-card {
    order: 4 !important;
    margin-top: 8px !important;
  }

  .contact-map-card .map-contact-links {
    order: 1 !important;
  }

  .contact-map-card .map-embed {
    order: 2 !important;
    margin-top: 16px !important;
  }

  .map-section {
    order: 5 !important;
    padding-top: 28px !important;
  }

  .map-section > div {
    order: 1 !important;
  }

  .map-section .map-contact-links {
    order: 1 !important;
  }

  .map-section .map-embed {
    order: 2 !important;
    margin-top: 16px !important;
  }

  .mail-form {
    margin-top: 4px !important;
  }
}

@media(max-width: 560px) {
  .contact-page {
    padding-top: 28px !important;
  }

  .contact-page h1 {
    font-size: 43px !important;
    line-height: 1.02 !important;
  }

  .contact-page p {
    font-size: 17px !important;
    line-height: 1.45 !important;
  }

  .contact-form-map {
    padding-top: 4px !important;
  }

  .contact-card {
    margin-top: 36px !important;
  }

  .contact-card .btn,
  .contact-card a.btn {
    width: 100% !important;
  }

  .map-embed {
    min-height: 280px !important;
  }
}


/* =========================================================
   PAGINI INFORMAȚII + LINKURI DOAR ÎN FOOTER STÂNGA
   ========================================================= */

.footer-legal-menu {
  display: grid;
  gap: 8px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.12);
}

.footer-legal-menu a {
  color: #fff;
  font-weight: 500;
  line-height: 1.35;
}

.footer-legal-menu a:hover {
  color: var(--gold);
}

.legal-hero {
  padding: 82px 5.5vw 54px;
  background: #111;
  color: #fff;
}

.legal-hero h1 {
  font-size: clamp(42px, 6vw, 82px);
  line-height: .98;
  letter-spacing: -.05em;
  margin: 0 0 18px;
}

.legal-hero p {
  max-width: 780px;
  font-size: 19px;
  line-height: 1.6;
  color: #ddd;
}

.legal-content {
  max-width: 1040px;
  margin: 0 auto;
}

.legal-content h2 {
  font-size: clamp(26px, 3vw, 40px);
  margin: 28px 0 12px;
  letter-spacing: -.02em;
}

.legal-content p {
  color: #444;
  font-size: 18px;
  line-height: 1.7;
}

.legal-info-box {
  margin-top: 32px;
  padding: 24px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-left: 6px solid var(--gold);
  border-radius: 10px;
  box-shadow: var(--shadow);
}

.legal-info-box strong {
  font-size: 20px;
}

.legal-info-box p {
  margin: 7px 0;
}

@media(max-width: 980px) {
  .site-footer {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .footer-legal-menu {
    max-width: 360px;
  }

  .legal-hero {
    padding: 58px 22px 38px;
  }

  .legal-content {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}

@media(max-width: 560px) {
  .footer-legal-menu a {
    font-size: 16px;
    padding: 2px 0;
  }

  .legal-hero h1 {
    font-size: 42px;
  }

  .legal-hero p,
  .legal-content p {
    font-size: 16px;
  }
}


/* =========================================================
   FIX FINAL: Footer contact fiscal + video mai curat + mobil hero
   ========================================================= */

/* Datele fiscale/bancare stau sub CONTACT, nu sub logo */
.footer-company-details {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.14);
  display: grid;
  gap: 4px;
}

.footer-company-details p {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: #fff;
  word-break: break-word;
}

.footer-brand .footer-legal-details {
  display: none !important;
}

/* Video: scoatem contactul din această zonă și lăsăm o prezentare mai aerisită */
.video-social-contact {
  border-top: 1px solid rgba(0,0,0,.12) !important;
  padding-top: 20px !important;
  margin-top: 26px !important;
}

.video-social-contact .mini-contact {
  display: none !important;
}

.video-social-contact h3 {
  font-size: 24px !important;
  margin-bottom: 14px !important;
}

.video-block.video-section {
  align-items: center !important;
}

.video-frame {
  box-shadow: 0 18px 44px rgba(0,0,0,.15) !important;
}

.video-frame video {
  object-position: center 32% !important;
}

/* Desktop video: text + social compact, video mare și curat */
@media(min-width: 981px) {
  .video-block.video-section {
    grid-template-columns: .82fr 1.18fr !important;
    gap: 48px !important;
  }

  .video-copy h2 {
    max-width: 620px;
  }

  .video-extra {
    max-width: 620px;
  }

  .social-buttons {
    display: flex !important;
    gap: 12px !important;
  }

  .social-btn {
    border-radius: 999px !important;
    min-width: 128px;
  }
}

/* Mobil: poza/hero urcă în prima captură; textul este mai compact */
@media(max-width: 980px) {
  .hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  .hero-text {
    padding: 38px 22px 22px !important;
  }

  .hero h1 {
    font-size: clamp(40px, 9.6vw, 54px) !important;
    line-height: 1.02 !important;
    margin-bottom: 18px !important;
  }

  .hero p {
    font-size: 18px !important;
    line-height: 1.48 !important;
    margin-bottom: 0 !important;
  }

  .actions {
    margin-top: 22px !important;
  }

  .actions .btn {
    min-height: 58px !important;
  }

  .hero-image {
    height: 310px !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    overflow: hidden !important;
  }

  .hero-image img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center 18% !important;
  }

  /* Video pe mobil: text scurt, apoi video imediat; social sub video */
  .video-block.video-section {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "copy"
      "frame"
      "social" !important;
    gap: 16px !important;
    padding-top: 42px !important;
  }

  .video-copy { grid-area: copy !important; }
  .video-frame { grid-area: frame !important; }
  .video-social-contact { grid-area: social !important; }

  .video-copy h2 {
    font-size: clamp(34px, 9vw, 46px) !important;
    line-height: 1.05 !important;
    margin-bottom: 12px !important;
  }

  .video-copy .section-lead,
  .video-extra {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  .video-extra {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
  }

  .video-frame {
    aspect-ratio: 16 / 9 !important;
    margin-top: 4px !important;
  }

  .video-frame video {
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center 24% !important;
  }

  .video-social-contact {
    margin-top: 2px !important;
    padding-top: 16px !important;
  }
}

@media(max-width: 560px) {
  .hero-text {
    padding: 34px 24px 20px !important;
  }

  .hero h1 {
    font-size: 38px !important;
    line-height: 1.04 !important;
  }

  .hero p {
    font-size: 17px !important;
    line-height: 1.5 !important;
  }

  .actions .btn {
    width: 100% !important;
  }

  .hero-image {
    height: 285px !important;
  }

  .video-copy h2 {
    font-size: 34px !important;
  }

  .social-buttons {
    grid-template-columns: 1fr 1fr !important;
  }

  .social-btn {
    width: 100% !important;
    border-radius: 14px !important;
  }
}


/* =========================================================
   CONTACT CLEANUP: fără CUI/EUID/IBAN în card/hartă
   ========================================================= */

.company-legal-details,
.footer-company-details {
  display: none !important;
}

.contact-card {
  padding-bottom: 30px !important;
}

.contact-card .btn {
  margin-top: 10px;
}

.contact-map-card h3 {
  font-size: clamp(28px, 3vw, 38px) !important;
  letter-spacing: -0.03em;
}

.map-actions-top {
  margin: 18px 0 18px !important;
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.map-actions-top a {
  background: #111 !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 12px 16px !important;
  font-weight: 900 !important;
}

.map-actions-top a:first-child {
  background: #1877f2 !important;
}

.map-actions-top a:nth-child(2) {
  background: #111 !important;
}

.map-actions-top a:nth-child(3) {
  background: var(--gold) !important;
  color: #111 !important;
}

.contact-map-card .map-embed {
  margin-top: 0 !important;
}

/* Mobil: butoanele deasupra hărții, toate pe lățime completă */
@media(max-width: 980px) {
  .contact-map-card {
    display: flex !important;
    flex-direction: column !important;
  }

  .contact-map-card h3 {
    order: 1 !important;
  }

  .contact-map-card p {
    order: 2 !important;
  }

  .contact-map-card .map-actions-top {
    order: 3 !important;
  }

  .contact-map-card .map-embed {
    order: 4 !important;
  }
}

@media(max-width: 560px) {
  .map-actions-top {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .map-actions-top a {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .contact-card {
    padding: 24px 22px !important;
  }
}


/* =========================================================
   CONTACT: adresa scoasă din cardul galben, mutată/stilizată la hartă
   ========================================================= */

.contact-card > p {
  display: none !important;
}

.contact-card {
  display: grid;
  gap: 16px;
}

.contact-card a[href^="tel"],
.contact-card a[href^="mailto"] {
  display: block;
  font-weight: 900;
}

.map-address {
  display: block;
  margin: 10px 0 16px !important;
  padding: 14px 16px;
  background: rgba(231,185,0,.12);
  border-left: 5px solid var(--gold);
  border-radius: 10px;
  color: #222 !important;
  font-weight: 900;
  line-height: 1.45 !important;
}

.contact-map-card h3 {
  margin-bottom: 10px !important;
}

/* Pe mobil: adresa de la hartă rămâne lizibilă și compactă */
@media(max-width: 560px) {
  .map-address {
    font-size: 15px !important;
    padding: 13px 14px;
  }

  .contact-card {
    gap: 14px;
  }
}


/* =========================================================
   FOOTER FINAL + CONTACT BUTTON + MOBILE CARD SIZE
   ========================================================= */

/* Footer: CUI/EUID/IBAN sub Contact, coloane aliniate frumos pe web */
.footer-company-details {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.14);
  display: grid;
  gap: 4px;
}

.footer-company-details p {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: #fff;
  word-break: break-word;
}

@media(min-width: 981px) {
  .site-footer {
    display: grid !important;
    grid-template-columns: 1.25fr 1.15fr .7fr .85fr !important;
    align-items: start !important;
    gap: 42px !important;
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .site-footer > div {
    align-self: start !important;
  }

  .footer-brand {
    max-width: 520px;
  }

  .footer-legal-menu {
    margin-top: 18px !important;
    padding-top: 14px !important;
  }

  .site-footer h4 {
    margin-top: 0 !important;
  }

  .site-footer a,
  .site-footer p {
    line-height: 1.45 !important;
  }
}

/* Contact: butonul arată clar că sună direct */
.direct-call {
  flex-direction: column !important;
  gap: 2px !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

.direct-call small {
  display: block;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .78;
  margin-top: 2px;
}

/* Card galben pe mobil: fonturi mai mici, nu mai țipă vizual */
@media(max-width: 980px) {
  .contact-card {
    padding: 26px 22px !important;
    gap: 13px !important;
  }

  .contact-card h3,
  .contact-card strong,
  .contact-card > strong {
    font-size: 22px !important;
    line-height: 1.15 !important;
  }

  .contact-card a[href^="tel"],
  .contact-card a[href^="mailto"] {
    font-size: 17px !important;
    line-height: 1.25 !important;
  }

  .contact-card .btn {
    font-size: 15px !important;
    padding: 14px 16px !important;
    min-height: 54px !important;
  }

  .direct-call small {
    font-size: 10px !important;
  }
}

@media(max-width: 560px) {
  .contact-card {
    padding: 22px 18px !important;
    border-radius: 10px !important;
  }

  .contact-card h3,
  .contact-card strong,
  .contact-card > strong {
    font-size: 20px !important;
  }

  .contact-card a[href^="tel"],
  .contact-card a[href^="mailto"] {
    font-size: 15px !important;
  }

  .contact-card .btn {
    font-size: 14px !important;
  }

  .footer-company-details p {
    font-size: 12px !important;
  }
}


/* =========================================================
   FOOTER: date firmă vizibile sub Contact
   ========================================================= */

.footer-company-details {
  display: grid !important;
  gap: 4px;
  margin-top: 14px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(255,255,255,.16) !important;
}

.footer-company-details p {
  display: block !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  word-break: break-word;
}

.footer-company-details strong {
  color: #fff !important;
  font-weight: 900 !important;
}

@media(max-width: 560px) {
  .footer-company-details p {
    font-size: 12px !important;
  }
}


/* =========================================================
   FINAL: FOOTER ALIGNMENT + MOBILE CONTACT CARD + FORM TITLE
   ========================================================= */

/* Footer pe web: coloanele pornesc aliniat, iar linkurile legale sunt mai compacte */
@media(min-width: 981px) {
  .site-footer {
    display: grid !important;
    grid-template-columns: 1.18fr 1.08fr .62fr .78fr !important;
    gap: 34px !important;
    align-items: start !important;
    padding-top: 46px !important;
    padding-bottom: 44px !important;
  }

  .site-footer > div {
    align-self: start !important;
  }

  .site-footer h4 {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }

  .footer-brand img {
    margin-bottom: 16px !important;
  }

  .footer-brand p {
    max-width: 500px;
  }

  .footer-legal-menu {
    margin-top: 14px !important;
    padding-top: 12px !important;
    gap: 4px !important;
  }

  .footer-legal-menu a {
    line-height: 1.18 !important;
    padding: 2px 0 !important;
  }

  .footer-company-details {
    margin-top: 12px !important;
    padding-top: 10px !important;
    gap: 2px !important;
  }

  .footer-company-details p {
    font-size: 12px !important;
    line-height: 1.22 !important;
  }
}

/* Contact page web: titlul formularului să fie clar */
.contact-form-map h2 {
  letter-spacing: -0.035em;
}

/* Mobil contact: ridicăm cardul galben, micșorăm firma, mărim telefon/email, se vede mai bine WhatsApp */
@media(max-width: 980px) {
  .contact-page {
    padding-top: 26px !important;
    padding-bottom: 12px !important;
    gap: 16px !important;
  }

  .contact-page h1 {
    font-size: clamp(50px, 12vw, 78px) !important;
    line-height: .98 !important;
    margin-bottom: 18px !important;
  }

  .contact-page p {
    font-size: 25px !important;
    line-height: 1.45 !important;
    max-width: 720px;
  }

  .contact-card {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
    padding: 26px 24px 24px !important;
    gap: 18px !important;
  }

  /* denumire firmă mai mică în card */
  .contact-card > strong,
  .contact-card h3,
  .contact-card .company-title {
    font-size: 34px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
    margin-bottom: 8px !important;
  }

  /* telefon și email mai mari */
  .contact-card a[href^="tel"],
  .contact-card a[href^="mailto"] {
    font-size: 24px !important;
    line-height: 1.2 !important;
    font-weight: 950 !important;
  }

  .contact-card .btn {
    font-size: 22px !important;
    padding: 16px 18px !important;
    min-height: 62px !important;
    margin-top: 4px !important;
  }

  .direct-call small {
    font-size: 13px !important;
    margin-top: 4px !important;
  }

  .contact-form-map {
    padding-top: 22px !important;
  }

  .contact-form-map h2 {
    font-size: 42px !important;
    line-height: 1.02 !important;
  }
}

/* Telefoane înguste: totul mai compact ca să intre în viewport */
@media(max-width: 560px) {
  .contact-page {
    padding-top: 24px !important;
    gap: 14px !important;
  }

  .contact-page h1 {
    font-size: 50px !important;
    line-height: .98 !important;
  }

  .contact-page p {
    font-size: 24px !important;
    line-height: 1.43 !important;
  }

  .contact-card {
    margin-top: 8px !important;
    padding: 24px 22px 22px !important;
    gap: 17px !important;
    border-radius: 14px !important;
  }

  .contact-card > strong,
  .contact-card h3,
  .contact-card .company-title {
    font-size: 31px !important;
    line-height: 1.08 !important;
  }

  .contact-card a[href^="tel"],
  .contact-card a[href^="mailto"] {
    font-size: 21px !important;
  }

  .contact-card .btn {
    font-size: 20px !important;
    min-height: 58px !important;
    padding: 15px 16px !important;
  }

  .direct-call small {
    font-size: 12px !important;
  }

  .contact-form-map {
    padding-top: 18px !important;
  }

  .contact-form-map h2 {
    font-size: 38px !important;
  }

  /* Footer mobil: legal links compacte */
  .footer-legal-menu {
    gap: 4px !important;
  }

  .footer-legal-menu a {
    padding: 2px 0 !important;
    line-height: 1.2 !important;
  }
}


/* =========================================================
   FOOTER WEB: aliniere pe linie, fără rânduri care cad sub footer
   ========================================================= */

@media(min-width: 981px) {
  .site-footer {
    display: grid !important;
    grid-template-columns: minmax(360px, 1.15fr) minmax(330px, .95fr) minmax(150px, .45fr) minmax(250px, .6fr) !important;
    gap: 36px !important;
    align-items: start !important;
    padding: 38px 4.5vw 40px !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  .site-footer > div {
    min-width: 0 !important;
    align-self: start !important;
  }

  .site-footer h4 {
    margin: 0 0 14px !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
  }

  .site-footer p,
  .site-footer a {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .footer-brand img {
    width: 82px !important;
    height: auto !important;
    margin: 0 0 14px !important;
  }

  .footer-brand p {
    margin: 0 0 8px !important;
    max-width: 430px !important;
  }

  /* Linkurile legale sunt compacte și rămân în aceeași înălțime cu footerul */
  .footer-legal-menu {
    margin-top: 12px !important;
    padding-top: 10px !important;
    gap: 2px !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
  }

  .footer-legal-menu a {
    display: block !important;
    padding: 0 !important;
    margin: 0 0 3px !important;
    line-height: 1.18 !important;
    font-size: 14px !important;
  }

  /* Contact + date firmă compacte, să nu împingă footerul în jos */
  .footer-company-details {
    margin-top: 9px !important;
    padding-top: 9px !important;
    gap: 1px !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
  }

  .footer-company-details p {
    font-size: 11.5px !important;
    line-height: 1.16 !important;
    margin: 0 !important;
    white-space: normal !important;
  }

  /* Navigare mai compactă */
  .site-footer div:nth-child(3) a {
    margin: 0 0 6px !important;
    line-height: 1.15 !important;
  }

  /* Social + copyright să stea aliniat sus și să nu cadă jos */
  .site-footer div:nth-child(4) {
    display: grid !important;
    align-content: start !important;
    gap: 10px !important;
  }

  .site-footer div:nth-child(4) p {
    margin: 0 !important;
  }

  .footer-social-links,
  .socials {
    margin: 0 !important;
  }

  .footer-social-links {
    gap: 8px !important;
  }

  .footer-social-links a {
    padding: 9px 14px !important;
    line-height: 1 !important;
  }
}

/* Pentru ecrane web mai înguste, reducem încă puțin ca să nu se rupă jos */
@media(min-width: 981px) and (max-width: 1280px) {
  .site-footer {
    grid-template-columns: 1.05fr 1fr .48fr .58fr !important;
    gap: 24px !important;
    padding-left: 3.5vw !important;
    padding-right: 3.5vw !important;
  }

  .site-footer p,
  .site-footer a {
    font-size: 14px !important;
  }

  .footer-company-details p,
  .footer-legal-menu a {
    font-size: 11.5px !important;
  }
}


/* =========================================================
   FIX MOBIL: link TikTok corect + spații compacte
   ========================================================= */

@media(max-width: 980px) {
  .site-header {
    height: 76px !important;
  }

  .brand img {
    height: 58px !important;
  }

  .quote-btn {
    padding: 12px 18px !important;
    font-size: 14px !important;
  }

  .menu-btn {
    width: 48px !important;
    height: 48px !important;
  }

  .hero {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .hero-text {
    padding-top: 34px !important;
    padding-bottom: 24px !important;
  }

  .hero h1 {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
  }

  .hero p {
    margin-top: 0 !important;
  }

  .actions {
    margin-top: 22px !important;
    margin-bottom: 0 !important;
  }

  .hero-image {
    margin-top: 0 !important;
  }

  .page-hero {
    padding-top: 52px !important;
    padding-bottom: 34px !important;
  }

  .page-hero h1 {
    margin-bottom: 16px !important;
  }

  .page-hero p {
    margin-bottom: 0 !important;
  }

  .page-hero + .section {
    padding-top: 34px !important;
  }

  .fleet-grid {
    margin-top: 0 !important;
  }

  .fleet-grid figure:first-child {
    margin-top: 0 !important;
  }

  .section {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .section-head {
    margin-bottom: 22px !important;
  }
}

@media(max-width: 560px) {
  .site-header {
    height: 72px !important;
  }

  .brand img {
    height: 54px !important;
  }

  .quote-btn {
    padding: 11px 16px !important;
    font-size: 13px !important;
  }

  .menu-btn {
    width: 44px !important;
    height: 44px !important;
  }

  .hero-text {
    padding-top: 28px !important;
    padding-bottom: 20px !important;
  }

  .hero h1 {
    font-size: 39px !important;
    line-height: 1.02 !important;
  }

  .hero p {
    font-size: 17px !important;
    line-height: 1.48 !important;
  }

  .page-hero {
    padding-top: 44px !important;
    padding-bottom: 26px !important;
  }

  .page-hero h1 {
    font-size: 46px !important;
    line-height: 1.02 !important;
  }

  .page-hero p {
    font-size: 19px !important;
    line-height: 1.45 !important;
  }

  .page-hero + .section {
    padding-top: 24px !important;
  }

  .section {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }
}

/* fallback pentru browsere fără :has: - compactare specifică pe flota prin structura obișnuită */
@media(max-width: 560px) {
  main .page-hero + .section .fleet-grid {
    margin-top: 0 !important;
  }
}


/* =========================================================
   FIX: 4 POZE PROIECTE EGALE PE WEB + SPAȚII MOBILE COMPACTE
   ========================================================= */

/* Web: în Proiecte recente, toate cele 4 poze/carduri au aceeași dimensiune */
@media(min-width: 981px) {
  .project-grid-fixed {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
  }

  .project-grid-dynamic {
    display: contents !important;
  }

  .project-grid-fixed .project-card-fixed,
  .project-grid-fixed .project-thumb,
  .project-grid-fixed .project-feature,
  .project-card-fixed,
  .project-feature,
  .project-thumb {
    height: 310px !important;
    min-height: 310px !important;
    max-height: 310px !important;
    width: 100% !important;
  }

  .project-grid-fixed img,
  .project-feature img,
  .project-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .project-card-fixed.main-project img,
  .project-feature img {
    object-position: center 34% !important;
  }

  /* Fallback pentru varianta veche cu imagine mare + 3 mici */
  .project-layout {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  .project-side {
    display: contents !important;
  }
}

/* Mobil: elimină golurile mari după hero/page title, inclusiv Servicii/Despre/Proiecte/Flotă */
@media(max-width: 980px) {
  .page-hero {
    padding-top: 42px !important;
    padding-bottom: 18px !important;
  }

  .page-hero h1 {
    margin-bottom: 14px !important;
  }

  .page-hero p {
    margin-bottom: 0 !important;
  }

  .page-hero + .section,
  .page-hero + section,
  main > .section:first-of-type {
    padding-top: 18px !important;
  }

  .section {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  .section-head {
    margin-bottom: 18px !important;
  }

  /* Servicii: poza + titlul serviciului intră imediat, fără pagină ruptă */
  .services-grid {
    gap: 18px !important;
  }

  .service-card {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 12px !important;
  }

  .service-card img {
    height: 245px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .service-card::after {
    content: attr(data-service-title);
    position: absolute;
    left: 18px;
    right: 18px;
    top: 188px;
    z-index: 2;
    color: #fff;
    font-weight: 950;
    font-size: 24px;
    line-height: 1.05;
    text-shadow: 0 3px 14px rgba(0,0,0,.65);
    pointer-events: none;
  }

  .service-card::before {
    content: "Serviciu";
    position: absolute;
    left: 18px;
    top: 16px;
    z-index: 2;
    color: #fff;
    background: rgba(0,0,0,.55);
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .12em;
    pointer-events: none;
  }

  .service-card-body {
    padding: 18px 20px 22px !important;
    min-height: auto !important;
    gap: 8px !important;
  }

  .service-card-body h3 {
    display: none !important;
  }

  .service-card-body p {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }

  .service-card-body a {
    margin-top: 8px !important;
  }

  /* Pagina Servicii detaliate */
  .service-detail {
    gap: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 12px !important;
  }

  .service-detail img {
    height: 250px !important;
    width: 100% !important;
    object-fit: cover !important;
  }

  .service-detail > div {
    padding: 20px !important;
  }

  .service-detail h2,
  .service-detail h3 {
    margin-top: 6px !important;
    margin-bottom: 10px !important;
  }

  .service-detail p {
    margin-top: 0 !important;
    font-size: 18px !important;
    line-height: 1.5 !important;
  }

  .about-preview,
  .two-col,
  .about-pilons {
    padding-top: 26px !important;
  }

  .gallery-tools,
  .filters {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
  }
}

@media(max-width: 560px) {
  .page-hero {
    padding-top: 34px !important;
    padding-bottom: 12px !important;
  }

  .page-hero h1 {
    font-size: 43px !important;
    line-height: 1.03 !important;
    margin-bottom: 12px !important;
  }

  .page-hero p {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }

  .page-hero + .section,
  .page-hero + section,
  main > .section:first-of-type {
    padding-top: 12px !important;
  }

  .section {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  .service-card img,
  .service-detail img {
    height: 230px !important;
  }

  .service-card::after {
    top: 176px;
    font-size: 22px;
  }

  .service-card-body p,
  .service-detail p {
    font-size: 17px !important;
  }

  .filters,
  .gallery-tools {
    gap: 8px !important;
  }

  .filters button,
  .gallery-tools button,
  .filter {
    padding: 12px 14px !important;
    font-size: 15px !important;
  }
}


/* =========================================================
   FIX NOU: FLOTĂ MOBIL + SERVICII MOBIL CURATE
   ========================================================= */

/* Flotă pe mobil: poza rămâne întreagă, fără bandă/zonă tăiată la mijloc */
@media (max-width: 980px) {
  .fleet-grid {
    gap: 16px !important;
  }

  .fleet-grid figure {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #111 !important;
  }

  .fleet-grid figure::after {
    content: "" !important;
    position: absolute !important;
    inset: auto 0 0 0 !important;
    height: 42% !important;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.18) 38%, rgba(0,0,0,.88) 100%) !important;
    pointer-events: none !important;
  }

  .fleet-grid img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .fleet-grid figcaption {
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    z-index: 2 !important;
    display: grid !important;
    gap: 4px !important;
  }

  .fleet-grid small {
    font-size: 13px !important;
  }

  .fleet-grid strong {
    font-size: 19px !important;
    line-height: 1.12 !important;
  }

  .fleet-grid span {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  /* Servicii pe mobil: scoatem textul din poză,
     păstrăm titlul sus în card, apoi vine direct descrierea */
  .service-card {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border-radius: 12px !important;
  }

  .service-card::before,
  .service-card::after {
    content: none !important;
    display: none !important;
  }

  .service-card img {
    order: 2 !important;
    display: block !important;
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .service-card-body {
    order: 1 !important;
    display: grid !important;
    gap: 8px !important;
    padding: 18px 18px 16px !important;
  }

  .service-card-body .service-no {
    margin: 0 !important;
    font-size: 14px !important;
  }

  .service-card-body h3 {
    display: block !important;
    margin: 0 !important;
    font-size: 28px !important;
    line-height: 1.06 !important;
    letter-spacing: -0.03em !important;
  }

  .service-card-body p {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
  }

  .service-card-body a {
    margin-top: 6px !important;
  }
}

@media (max-width: 560px) {
  .fleet-grid figure {
    aspect-ratio: 25 / 24 !important;
  }

  .fleet-grid figcaption {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
  }

  .fleet-grid strong {
    font-size: 18px !important;
  }

  .service-card img {
    height: 205px !important;
  }

  .service-card-body {
    padding: 16px 16px 14px !important;
  }

  .service-card-body h3 {
    font-size: 24px !important;
    line-height: 1.08 !important;
  }

  .service-card-body p {
    font-size: 16px !important;
  }
}


/* =========================================================
   FIX FINAL DIN VARIANTA FLOTĂ/SERVICII: BUTON OFERTĂ + WAZE
   ========================================================= */

.quote-btn {
  white-space: nowrap !important;
  overflow: hidden !important;
}

@media (max-width: 980px) {
  .quote-btn {
    font-size: 0 !important;
    color: transparent !important;
    line-height: 1 !important;
    min-width: 142px !important;
    height: 54px !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
  }

  .quote-btn::before {
    content: "▣";
    font-size: 13px !important;
    color: #fff !important;
    margin-right: 8px !important;
  }

  .quote-btn::after {
    content: "Cere ofertă" !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    color: #fff !important;
  }
}

@media (max-width: 560px) {
  .quote-btn {
    min-width: 132px !important;
    height: 50px !important;
    padding: 0 14px !important;
  }

  .quote-btn::after {
    content: "Ofertă" !important;
    font-size: 14px !important;
  }
}

.map-direction-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 18px;
}

.map-direction-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 14px;
  border-radius: 999px;
  font-weight: 950;
  text-align: center;
}

.map-direction-actions .waze-btn {
  background: #33ccff;
  color: #07131a;
}

.map-direction-actions .maps-btn {
  background: #111;
  color: #fff;
}

.map-direction-actions .call-btn {
  background: var(--gold);
  color: #111;
}

.map-embed {
  background: #e8e5dc;
  border: 1px solid var(--line);
}

@media (max-width: 980px) {
  .map-direction-actions {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    order: 3 !important;
  }

  .map-direction-actions a {
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 12px !important;
  }

  .contact-map-card .map-embed,
  .map-section .map-embed {
    min-height: 260px !important;
    order: 4 !important;
  }
}

@media (max-width: 560px) {
  .map-direction-actions a {
    font-size: 15px !important;
  }
}


/* =========================================================
   FIX MOBIL: SERVICII CU TITLUL PE POZĂ + LINIE GALBENĂ
   ========================================================= */

/* Linie galbenă sub titlul paginii, ca în exemplul trimis */
.page-hero h1::after,
.legal-hero h1::after,
.contact-page h1::after {
  content: "";
  display: block;
  width: 125px;
  height: 7px;
  background: var(--gold);
  margin-top: 28px;
}

/* Pe mobil toate paginile primesc linia galbenă și spațiere compactă */
@media (max-width: 980px) {
  .page-hero h1::after,
  .legal-hero h1::after,
  .contact-page h1::after {
    width: 118px;
    height: 6px;
    margin-top: 24px;
  }

  .page-hero {
    padding-bottom: 20px !important;
  }

  .page-hero + .section,
  .page-hero + section {
    padding-top: 18px !important;
  }
}

@media (max-width: 560px) {
  .page-hero h1::after,
  .legal-hero h1::after,
  .contact-page h1::after {
    width: 112px;
    height: 6px;
    margin-top: 22px;
  }
}

/* Servicii pe mobil: titlul serviciului apare peste poză.
   Sub poză vine direct descrierea. Fără textul generic „Serviciu”. */
@media (max-width: 980px) {
  .service-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: #fff !important;
  }

  .service-card::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    height: 245px !important;
    z-index: 1 !important;
    background: linear-gradient(180deg, rgba(0,0,0,.05) 20%, rgba(0,0,0,.78) 100%) !important;
    pointer-events: none !important;
  }

  .service-card::after {
    content: attr(data-service-title) !important;
    display: block !important;
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    top: 176px !important;
    z-index: 2 !important;
    color: #fff !important;
    font-weight: 950 !important;
    font-size: 25px !important;
    line-height: 1.06 !important;
    letter-spacing: -0.03em !important;
    text-shadow: 0 3px 16px rgba(0,0,0,.62) !important;
    pointer-events: none !important;
  }

  .service-card img {
    order: 1 !important;
    display: block !important;
    width: 100% !important;
    height: 245px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .service-card-body {
    order: 2 !important;
    display: grid !important;
    gap: 10px !important;
    padding: 18px 20px 22px !important;
    min-height: 0 !important;
  }

  .service-card-body .service-no,
  .service-card-body h3 {
    display: none !important;
  }

  .service-card-body p {
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
  }

  .service-card-body a {
    margin-top: 6px !important;
  }

  /* Pagina Servicii detaliate: același comportament */
  .service-detail {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    padding: 0 !important;
    border-radius: 14px !important;
    background: #fff !important;
  }

  .service-detail::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    height: 250px !important;
    z-index: 1 !important;
    background: linear-gradient(180deg, rgba(0,0,0,.04) 20%, rgba(0,0,0,.78) 100%) !important;
    pointer-events: none !important;
  }

  .service-detail::after {
    content: attr(data-service-title) !important;
    position: absolute !important;
    left: 20px !important;
    right: 20px !important;
    top: 180px !important;
    z-index: 2 !important;
    color: #fff !important;
    font-weight: 950 !important;
    font-size: 26px !important;
    line-height: 1.06 !important;
    letter-spacing: -0.03em !important;
    text-shadow: 0 3px 16px rgba(0,0,0,.62) !important;
    pointer-events: none !important;
  }

  .service-detail img {
    display: block !important;
    width: 100% !important;
    height: 250px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .service-detail > div {
    padding: 20px 20px 22px !important;
  }

  .service-detail .service-no,
  .service-detail h2,
  .service-detail h3 {
    display: none !important;
  }

  .service-detail p {
    margin: 0 0 14px !important;
    font-size: 18px !important;
    line-height: 1.48 !important;
  }
}

@media (max-width: 560px) {
  .service-card img,
  .service-card::before {
    height: 225px !important;
  }

  .service-card::after {
    top: 162px !important;
    font-size: 23px !important;
  }

  .service-detail img,
  .service-detail::before {
    height: 230px !important;
  }

  .service-detail::after {
    top: 165px !important;
    font-size: 24px !important;
  }

  .service-card-body p,
  .service-detail p {
    font-size: 17px !important;
  }
}


/* =========================================================
   FIX MOBIL: LINIE VIDEO + LINIE HOME + SERVICII FĂRĂ CADRAN
   ========================================================= */

@media (max-width: 980px) {
  .hero h1::after {
    content: "";
    display: block;
    width: 118px;
    height: 6px;
    background: var(--gold);
    margin-top: 22px;
  }

  .video-copy h2::after {
    content: "";
    display: block;
    width: 118px;
    height: 6px;
    background: var(--gold);
    margin-top: 18px;
  }

  .service-card {
    border-radius: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  .service-card img {
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .service-card::before {
    border-radius: 0 !important;
  }

  .service-card-body {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    border-top: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .service-card-body .service-no {
    display: none !important;
  }

  .service-card-body h3 {
    display: none !important;
  }

  .service-card-body p {
    margin-top: 0 !important;
  }
}

@media (max-width: 560px) {
  .hero h1::after,
  .video-copy h2::after {
    width: 112px;
    height: 6px;
    margin-top: 18px;
  }
}

.waze-btn::after {
  content: " ↗";
}

@media (max-width: 980px) {
  .waze-btn::after {
    content: " / aplicație";
    font-size: 12px;
    opacity: .78;
    margin-left: 5px;
  }
}


/* =========================================================
   VIDEO WEB: linie galbenă sub titlu
   ========================================================= */

/* Linia galbenă apare și pe web la pagina/secțiunea Video */
.video-copy h2::after {
  content: "";
  display: block;
  width: 130px;
  height: 7px;
  background: var(--gold);
  margin-top: 22px;
}

@media (max-width: 980px) {
  .video-copy h2::after {
    width: 118px;
    height: 6px;
    margin-top: 18px;
  }
}

@media (max-width: 560px) {
  .video-copy h2::after {
    width: 112px;
    height: 6px;
    margin-top: 18px;
  }
}


/* =========================================================
   HOME MOBIL: linii galbene sub secțiunile cerute
   ========================================================= */

/* Doar pe pagina principală și doar pe mobil:
   - Soluții complete pentru proiecte durabile
   - Șantiere active. Rezultate vizibile.
   - Trimite-ne detaliile lucrării.
   - Unde ne găsești.
*/
@media (max-width: 980px) {
  .home-page .hero h1::after {
    content: none !important;
    display: none !important;
  }

  .home-page .section-head h2::after,
  .home-page .quick-contact-copy h2::after,
  .home-page .map-section h2::after {
    content: "";
    display: block;
    width: 118px;
    height: 6px;
    background: var(--gold);
    margin-top: 18px;
  }
}

@media (max-width: 560px) {
  .home-page .section-head h2::after,
  .home-page .quick-contact-copy h2::after,
  .home-page .map-section h2::after {
    width: 112px;
    height: 6px;
    margin-top: 16px;
  }
}


/* =========================================================
   HOME WEB + MOBIL: linii galbene sub secțiunile cerute
   ========================================================= */

/* Pe pagina principală, pe web și mobil:
   - Soluții complete pentru proiecte durabile
   - Șantiere active. Rezultate vizibile.
   - Trimite-ne detaliile lucrării.
   - Unde ne găsești.
*/
.home-page .section-head h2::after,
.home-page .quick-contact-copy h2::after,
.home-page .map-section h2::after {
  content: "";
  display: block;
  width: 130px;
  height: 7px;
  background: var(--gold);
  margin-top: 22px;
}

/* Păstrăm fără linie la hero-ul principal */
.home-page .hero h1::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 980px) {
  .home-page .section-head h2::after,
  .home-page .quick-contact-copy h2::after,
  .home-page .map-section h2::after {
    width: 118px;
    height: 6px;
    margin-top: 18px;
  }
}

@media (max-width: 560px) {
  .home-page .section-head h2::after,
  .home-page .quick-contact-copy h2::after,
  .home-page .map-section h2::after {
    width: 112px;
    height: 6px;
    margin-top: 16px;
  }
}


/* =========================================================
   PAGINA PRINCIPALĂ - secțiunea finală localizare mai echilibrată pe web
   ========================================================= */
.home-map-balanced {
  grid-template-columns: minmax(360px, 0.95fr) minmax(460px, 1.05fr);
  gap: 44px;
  align-items: center;
}

.home-map-balanced .map-copy-block {
  display: grid;
  align-content: start;
  gap: 0;
}

.home-map-balanced .map-contact-links {
  margin-bottom: 18px;
}

.home-map-balanced .map-direction-actions {
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 12px 0 0;
  max-width: 360px;
}

.home-map-balanced .map-direction-actions a {
  min-height: 54px;
  justify-content: center;
}

.home-map-balanced .map-frame-wrap {
  width: 100%;
}

.home-map-balanced .map-embed {
  min-height: 430px;
  height: 430px;
}

@media (max-width: 1200px) {
  .home-map-balanced {
    grid-template-columns: minmax(320px, 0.95fr) minmax(380px, 1.05fr);
    gap: 32px;
  }

  .home-map-balanced .map-direction-actions {
    max-width: 100%;
  }
}

@media (max-width: 980px) {
  .home-map-balanced {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    align-items: start;
  }

  .home-map-balanced .map-direction-actions {
    grid-template-columns: 1fr !important;
    max-width: 100%;
    margin-top: 14px;
  }

  .home-map-balanced .map-embed {
    min-height: 300px !important;
    height: 300px !important;
  }
}


/* =========================================================
   FORMULAR: trimitere directă prin FormSubmit, fără mailto/Outlook
   ========================================================= */

.form-note-direct {
  margin: -4px 0 0 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #666 !important;
  font-weight: 700 !important;
}

@media (max-width: 560px) {
  .form-note-direct {
    font-size: 12px !important;
  }
}


/* =========================================================
   FORMULAR FINAL: fără mailto / Outlook
   ========================================================= */

.form-note-direct {
  margin: -4px 0 0 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #666 !important;
  font-weight: 700 !important;
}

.mail-form button[disabled] {
  opacity: .7;
  cursor: wait;
}

@media (max-width: 560px) {
  .form-note-direct {
    font-size: 12px !important;
  }
}


/* =========================================================
   WEB: spațiere redusă între titlu și conținut
   Pagini: Servicii, Flotă, Proiecte, Despre
   ========================================================= */

@media (min-width: 981px) {
  /* Hero-ul paginilor interioare era prea înalt și părea rupt de conținut */
  .page-hero {
    min-height: auto !important;
    padding-top: 72px !important;
    padding-bottom: 54px !important;
  }

  .page-hero h1 {
    margin-bottom: 18px !important;
  }

  .page-hero p {
    margin-bottom: 0 !important;
  }

  /* Prima secțiune după hero începe mai aproape */
  .page-hero + .section,
  .page-hero + section {
    padding-top: 48px !important;
  }

  /* Proiecte: filtrele urcă mai aproape de titlu */
  .gallery-tools,
  .filters {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
  }

  /* Flotă și Servicii: primul rând de carduri urcă mai aproape */
  .fleet-grid,
  .services-grid,
  .gallery-grid {
    margin-top: 0 !important;
  }

  /* Despre: secțiunea de după introducere urcă mai aproape */
  .about-preview,
  .two-col,
  .about-pilons {
    padding-top: 50px !important;
  }
}

@media (min-width: 981px) and (max-width: 1280px) {
  .page-hero {
    padding-top: 64px !important;
    padding-bottom: 44px !important;
  }

  .page-hero + .section,
  .page-hero + section {
    padding-top: 38px !important;
  }
}


/* =========================================================
   HEADER: eliminare spațiu/rând în plus la toate paginile
   ========================================================= */

.site-header {
  height: 68px !important;
  min-height: 68px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: center !important;
}

.brand,
.quote-btn,
.menu-btn {
  align-self: center !important;
}

.brand img {
  height: 52px !important;
  max-height: 52px !important;
}

.desktop-nav a {
  padding-top: 24px !important;
  padding-bottom: 20px !important;
}

.quote-btn {
  padding-top: 13px !important;
  padding-bottom: 13px !important;
}

@media (max-width: 980px) {
  .site-header {
    height: 70px !important;
    min-height: 70px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
    gap: 12px !important;
  }

  .brand img {
    height: 52px !important;
    max-height: 52px !important;
  }

  .quote-btn {
    height: 48px !important;
    min-width: 128px !important;
  }

  .menu-btn {
    width: 44px !important;
    height: 44px !important;
    line-height: 1 !important;
  }

  .page-hero,
  .legal-hero,
  .contact-page {
    padding-top: 32px !important;
  }
}

@media (max-width: 560px) {
  .site-header {
    height: 68px !important;
    min-height: 68px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .brand img {
    height: 50px !important;
    max-height: 50px !important;
  }

  .quote-btn {
    height: 46px !important;
  }
}

/* =========================================================
   GALERIE VIDEO / POSTĂRI
   ========================================================= */

.video-gallery-section {
  background: var(--paper);
}

.video-gallery-section .section-note {
  max-width: 520px;
  color: #555;
  line-height: 1.5;
  margin: 0;
}

.video-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.video-gallery-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: var(--shadow);
}

.video-gallery-card video {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #111;
}

.video-gallery-card > div {
  padding: 18px;
}

.video-gallery-card small {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 950;
  font-size: 12px;
}

.video-gallery-card h3 {
  margin: 0 0 8px;
  font-size: 24px;
  line-height: 1.12;
}

.video-gallery-card p {
  margin: 0 0 10px;
  color: #555;
  line-height: 1.5;
}

.video-gallery-card span {
  color: #777;
  font-weight: 800;
}

.video-link-preview {
  min-height: 210px;
  background: linear-gradient(135deg, #111, #2b2b2b);
  color: #fff;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 12px;
  padding: 22px;
  text-align: center;
}

.video-link-preview strong {
  font-size: 30px;
}

.video-link-preview span {
  color: var(--gold);
  font-weight: 950;
}

.gallery-error {
  grid-column: 1 / -1;
  color: #666;
  font-weight: 800;
}

@media (max-width: 980px) {
  .video-gallery-grid {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }

  .video-gallery-section .section-head {
    gap: 14px !important;
  }

  .video-link-preview {
    min-height: 170px;
  }
}

@media (max-width: 560px) {
  .video-gallery-card h3 {
    font-size: 21px;
  }

  .video-gallery-card > div {
    padding: 16px;
  }
}


/* =========================================================
   VIDEO: galeria secundară eliminată
   ========================================================= */

.video-gallery-section,
#videoGallery {
  display: none !important;
}


/* =========================================================
   ETICHETE SECȚIUNI: toate ca "SERVICII"
   - fără slash
   - galben
   - uppercase
   - același font/stil pe web și mobil
   ========================================================= */

.slash,
.eyebrow,
.page-hero .eyebrow,
.page-hero .slash,
.section-head .slash,
.section-head .eyebrow,
.quick-contact-copy .slash,
.map-section .slash,
.video-block .slash,
.video-section .slash {
  color: var(--gold) !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  font-family: Arial, Helvetica, sans-serif !important;
  margin: 0 0 18px !important;
}

/* Asigurare: nu mai apare caracterul "/" ca decor */
.slash::before,
.eyebrow::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 980px) {
  .slash,
  .eyebrow,
  .page-hero .eyebrow,
  .page-hero .slash,
  .section-head .slash,
  .section-head .eyebrow,
  .quick-contact-copy .slash,
  .map-section .slash,
  .video-block .slash,
  .video-section .slash {
    font-size: 14px !important;
    letter-spacing: .16em !important;
    margin-bottom: 14px !important;
  }
}
