/* Cristal Brad — stiluri suplimentare comune (header sticky, cookie, ajustări) */

/* ---------- Header sticky (desktop + mobil) ---------- */
.navbar.w-nav {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transition: background-color .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.cb-scrolled .navbar.w-nav {
  background-color: #0e2f3e !important;
  border-bottom-color: transparent !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .18);
}
/* locul lăsat liber de header-ul scos din flux (padding pe părinte, nu margin
   pe frate: margin-ul ar „colapsa" prin secțiune și ar lăsa o bandă albă) */
:has(> .navbar.w-nav) { padding-top: 79px !important; }
/* cardurile de proiect „lipicioase" să nu intre sub header */
.single-project-box { top: 96px !important; }
html { scroll-padding-top: 90px; }

/* ---------- Linkuri telefon / email ---------- */
a.cb-contact-link { color: inherit; text-decoration: none; }
a.cb-contact-link:hover { color: #317037; text-decoration: underline; }
.cb-prog-card a.cb-contact-link:hover, .footer a.cb-contact-link:hover { color: #5ec46b; }

/* ---------- Utilitare vizibilitate ---------- */
.cb-only-mobile { display: none !important; }
@media (max-width: 767px) {
  .cb-hide-mobile { display: none !important; }
  .cb-only-mobile { display: revert !important; }
}

/* ---------- Homepage: carduri „Ce oferim" mai mici ---------- */
.section.services:not(.cb-audience-section) .service-card-link { min-height: 290px !important; padding: 26px !important; }
.section.services:not(.cb-audience-section) .service-name { font-size: 28px !important; }
@media (max-width: 767px) {
  .section.services:not(.cb-audience-section) .service-card-link { min-height: 220px !important; padding: 22px !important; }
  .section.services:not(.cb-audience-section) .service-name { font-size: 24px !important; }
}

/* ---------- Homepage: carduri portofoliu mai scurte ---------- */
.projects-bottom .single-project-item { padding-top: 32px !important; padding-bottom: 32px !important; }
.projects-bottom .single-project-image-box { height: 340px !important; }
@media (max-width: 991px) {
  .projects-bottom .single-project-image-box { height: 300px !important; }
  .projects-bottom .single-project-item { padding-bottom: 0 !important; grid-row-gap: 24px !important; }
}
@media (max-width: 479px) {
  .projects-bottom .single-project-image-box { height: 210px !important; }
}

/* ---------- Pagina Ce oferim: carduri mai mici ---------- */
.all-services-list { grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important; }
.all-services-list .service-image-box { height: 190px !important; }
.all-services-list .service-card-content-box { padding: 22px 16px 18px !important; }
.all-services-list .service-name.black { font-size: 22px !important; }
.all-services-list .paragraph.medium { font-size: 15px; line-height: 1.5; }
@media (max-width: 991px) {
  .all-services-list { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 479px) {
  .all-services-list { grid-template-columns: 1fr !important; }
  .all-services-list .service-image-box { height: 170px !important; }
}

/* ---------- Cine suntem: logo furnizori ---------- */
.cb-sup-logo { height: 64px; display: flex; align-items: center; margin-bottom: 20px; }
.cb-sup-logo img { max-height: 64px; max-width: 170px; width: auto; height: auto; display: block; }

/* ---------- Cine suntem (mobil) ---------- */
@media (max-width: 767px) {
  /* marquee rămâne, poza clădirii dispare */
  .building-image-text-box .building-image { display: none !important; }
  .building-image-text-box { padding-top: 40px !important; padding-bottom: 40px !important; }

  /* valori: carduri mai mici, câte două pe rând */
  .values-list { display: grid !important; grid-template-columns: 1fr 1fr !important; margin-right: 0 !important; overflow: visible !important; width: auto !important; }
  .values-list .value-card { width: auto !important; min-width: 0; }
  .value-card .value-icon-box { padding: 16px 16px 0 !important; }
  .value-card .value-icon-box img { width: 36px; height: 36px; }
  .value-card .value-content-box { padding: 12px 16px 18px !important; gap: 6px !important; }
  .value-card .value-name { font-size: 17px !important; line-height: 1.2 !important; }
  .value-card .paragraph, .value-card p:not(.value-name) { font-size: 13px !important; line-height: 1.45 !important; }

  /* istoria noastră: carduri mai scunde */
  .history-image-year-box { height: 170px !important; }
  .history-year { font-size: 84px !important; }
  .history-card-content-box { padding: 18px !important; }
  .history-left .history-image-box { max-height: 240px; overflow: hidden; }
}

/* ---------- Contact: datele de contact în locul formularului ---------- */
.cb-contact-side { display: flex; flex-direction: column; gap: 16px; justify-content: center; }
.cb-contact-side .contact-info-box { width: 100% !important; max-width: none !important; }
.cb-contact-side .contact-info a.cb-contact-link { display: inline-block; }

/* ---------- Gama de produse: buton PDF ---------- */
.gama-pdf-bar { display: flex; justify-content: center; margin: 0 0 32px; }
.gama-pdf-btn { display: inline-flex; align-items: center; gap: 10px; background: #317037; color: #fff !important; text-decoration: none; font-weight: 600; padding: 14px 28px; border-radius: 100px; font-size: .98rem; }
.gama-pdf-btn:hover { background: #26582b; }
.gama-pdf-btn svg { width: 20px; height: 20px; }

/* ---------- Banner cookie ---------- */
.cb-cc { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 10000; display: flex; justify-content: center; pointer-events: none; font-family: Archivo, Inter, sans-serif; }
.cb-cc-box { pointer-events: auto; width: 100%; max-width: 760px; background: #fff; color: #41505a; border-radius: 16px; box-shadow: 0 18px 60px rgba(14, 47, 62, .28); border: 1px solid #e6eaec; padding: 24px 26px; }
.cb-cc h2 { font-size: 1.15rem; line-height: 1.3; color: #0e2f3e; margin: 0 0 8px; font-weight: 700; }
.cb-cc p { font-size: .93rem; line-height: 1.6; margin: 0; }
.cb-cc a { color: #317037; font-weight: 600; }
.cb-cc-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.cb-cc-btn { flex: 1 1 160px; font: inherit; font-weight: 600; font-size: .95rem; padding: 12px 18px; border-radius: 100px; cursor: pointer; border: 2px solid #317037; background: #317037; color: #fff; }
.cb-cc-btn:hover { background: #26582b; border-color: #26582b; }
.cb-cc-btn.ghost { background: #fff; color: #317037; }
.cb-cc-btn.ghost:hover { background: #eaf3ec; }
.cb-cc-prefs { margin-top: 16px; border-top: 1px solid #edf0f2; }
.cb-cc-row { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid #edf0f2; }
.cb-cc-row b { display: block; color: #0e2f3e; font-size: .95rem; margin-bottom: 2px; }
.cb-cc-row span { display: block; font-size: .85rem; line-height: 1.5; color: #5d6c7b; }
.cb-cc-switch { position: relative; flex: 0 0 46px; width: 46px; height: 26px; margin-top: 2px; }
.cb-cc-switch input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; z-index: 1; }
.cb-cc-switch i { position: absolute; inset: 0; background: #c9d3d9; border-radius: 100px; transition: background .2s; }
.cb-cc-switch i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .2s; }
.cb-cc-switch input:checked + i { background: #317037; }
.cb-cc-switch input:checked + i::after { transform: translateX(20px); }
.cb-cc-switch input:disabled + i { opacity: .55; }
.cb-cc-switch input:focus-visible + i { outline: 2px solid #0e2f3e; outline-offset: 2px; }
.cb-cc-settings-link { background: none; border: 0; padding: 0; font: inherit; color: #b9c4cb; font-size: .92rem; cursor: pointer; }
.cb-cc-settings-link:hover { color: #317037; }
@media (max-width: 600px) {
  .cb-cc { left: 8px; right: 8px; bottom: 8px; }
  .cb-cc-box { padding: 18px 16px; max-height: calc(100vh - 16px); overflow: auto; }
  .cb-cc p { font-size: .88rem; }
  .cb-cc-btn { flex: 1 1 100%; }
}

@media (max-width: 991px) {
  .single-project-box.cb-mobile-therme { position: static !important; }
}

/* Homepage mobil: titlul „Clienții noștri" deasupra marquee-ului */
@media (max-width: 767px) {
  .brands-box .brands-top { display: flex !important; justify-content: center; }
  .brands-box .brands-line { display: none; }
  .brands-box .brands-text { font-size: 15px !important; letter-spacing: .06em; }
  /* carduri servicii mai compacte */
  .section.services:not(.cb-audience-section) .service-card-link { gap: 14px; }
  .section.services:not(.cb-audience-section) .service-icon-box { width: 52px !important; height: 52px !important; min-height: 0 !important; }
  .section.services:not(.cb-audience-section) .service-icon-box img { width: 26px; height: 26px; }
  .section.services:not(.cb-audience-section) .service-card-text { font-size: 14.5px !important; line-height: 1.5 !important; }
  .section.services:not(.cb-audience-section) .service-text-box .spacer._16 { height: 8px !important; }
}

/* Contact: imaginea are înălțime proprie acum că nu mai există formularul */
.contact-bottom .contact-image-box { min-height: 420px; }
.contact-bottom .contact-image { position: absolute; inset: 0; }
@media (max-width: 991px) {
  .contact-bottom .cb-contact-side { order: -1; }
  .contact-bottom .contact-image-box { min-height: 280px; }
}
@media (min-width: 992px) {
  .cb-contact-side .contact-info-box { display: flex; gap: 22px; align-items: flex-start; padding: 26px !important; }
  .cb-contact-side .contact-info-box .spacer._32 { height: 16px !important; }
}

/* ---------- Titluri mai mici ---------- */
/* Homepage „Suntem o companie de familie..." + Cine suntem „Companie de familie..." */
.about-us-big-text { font-size: 36px !important; line-height: 1.2 !important; }
/* Ce oferim „Servicii profesionale pentru sticlă și geam" */
.all-services-right .heading-2 { font-size: 38px !important; line-height: 1.15 !important; }
@media (max-width: 767px) {
  .about-us-big-text { font-size: 26px !important; }
  .all-services-right .heading-2 { font-size: 28px !important; }
}

/* ---------- Contact: poză + carduri mai mici ---------- */
.contact-bottom { max-width: 1040px; margin: 0 auto; grid-column-gap: 32px !important; grid-row-gap: 24px !important; }
.contact-bottom .contact-image-box { min-height: 0 !important; }
.contact-bottom .contact-image-text { font-size: 18px !important; line-height: 1.3 !important; }
.contact-bottom .contact-image-text-box { padding: 16px 20px !important; }
.cb-contact-side { gap: 12px !important; }
.cb-contact-side .contact-info-box { padding: 18px 20px !important; gap: 16px !important; display: flex; align-items: flex-start; }
.cb-contact-side .contact-icon-box { width: 46px !important; height: 46px !important; flex: 0 0 46px; }
.cb-contact-side .contact-icon-box img { width: 22px; height: 22px; }
.cb-contact-side .contact-name { font-size: 18px !important; line-height: 1.2 !important; margin-bottom: 4px; }
.cb-contact-side .contact-info { font-size: 16px !important; line-height: 1.45 !important; }
.cb-contact-side .spacer._32 { height: 10px !important; }
.cb-contact-side .button-outline { padding: 8px 18px !important; font-size: 13px !important; min-height: 0 !important; height: auto !important; }
@media (max-width: 991px) {
  .contact-bottom .contact-image-box { min-height: 220px !important; }
}

/* ---------- Date firmă (subsol + pagini legale) ---------- */
.cb-company-id { display: block; margin-top: 4px; font-size: .85rem; opacity: .85; }
.cb-company-box { background: #f4f7f5; border-left: 4px solid #317037; border-radius: 10px; padding: 14px 20px; margin: 0 0 28px; color: #41505a; font-size: .95rem; line-height: 1.6; }
.cb-company-box b { color: #0e2f3e; }
.contact-bottom { width: 100%; }
.cb-contact-side .contact-info-bottom { padding-top: 0 !important; }
