  /* ============== Reset orizontal scroll ============== */
  html, body {
    overflow-x: hidden;
    max-width: 100%;
  }
  body {
    position: relative;
  }
  /* Imaginile să nu depășească container-ul niciodată */
  img { max-width: 100%; height: auto; }

  :root {
    --bs-primary: #072756;
    --bs-primary-rgb: 7, 39, 86;
    --voltara-accent: #F6C60C;
    --voltara-accent-dark: #d6a800;
    --voltara-accent-rgb: 246, 198, 12;
    --voltara-dark: #061a3a;
    --voltara-dark-2: #0a2451;
    --voltara-cream: #f6f5ef;
    --voltara-line: #e6e8e3;
  }
  html { scroll-behavior: smooth; }
  body {
    font-family: 'Montserrat', Arial, Helvetica, sans-serif;
    color: #1a2620;
    background: #fff;
    -webkit-font-smoothing: antialiased;
  }
  h1, h2, h3, h4, h5, h6 { font-weight: 700; letter-spacing: -0.02em; }
  h1 { font-weight: 800; letter-spacing: -0.03em; }
  .display-3, .display-4, .display-5 { font-weight: 800; letter-spacing: -0.03em; }

  /* Bootstrap primary override (utility classes) */
  .text-primary { color: var(--bs-primary) !important; }
  .bg-primary { background-color: var(--bs-primary) !important; }
  .btn-primary {
    --bs-btn-bg: #072756;
    --bs-btn-border-color: #072756;
    --bs-btn-hover-bg: #051d40;
    --bs-btn-hover-border-color: #051d40;
    --bs-btn-active-bg: #03152e;
    --bs-btn-active-border-color: #03152e;
  }
  .btn-outline-primary {
    --bs-btn-color: #072756;
    --bs-btn-border-color: #072756;
    --bs-btn-hover-bg: #072756;
    --bs-btn-hover-border-color: #072756;
  }
  .form-control:focus, .form-select:focus, .form-range:focus {
    border-color: #072756;
    box-shadow: 0 0 0 0.25rem rgba(7, 39, 86, 0.18);
  }
  .form-check-input:checked { background-color: #072756; border-color: #072756; }
  .form-range::-webkit-slider-thumb { background: #072756; }
  .form-range::-moz-range-thumb { background: #072756; }
  .nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    background-color: #072756;
  }
  .accordion-button:not(.collapsed) {
    background: rgba(7, 39, 86,0.06);
    color: #072756;
    box-shadow: inset 0 -1px 0 rgba(7, 39, 86,0.15);
  }
  .accordion-button:focus { box-shadow: 0 0 0 0.25rem rgba(7, 39, 86,0.18); }
  .link-primary { color: #072756 !important; }

  /* Accent (yellow) — used for primary CTAs */
  .btn-accent {
    --bs-btn-color: #072756;
    --bs-btn-bg: #F6C60C;
    --bs-btn-border-color: #F6C60C;
    --bs-btn-hover-color: #072756;
    --bs-btn-hover-bg: #ffd528;
    --bs-btn-hover-border-color: #ffd528;
    --bs-btn-active-color: #072756;
    --bs-btn-active-bg: #d6a800;
    --bs-btn-active-border-color: #d6a800;
    --bs-btn-disabled-color: #072756;
    --bs-btn-disabled-bg: #f6c60c;
    --bs-btn-disabled-border-color: #f6c60c;
    font-weight: 700;
    box-shadow: 0 6px 20px rgba(246,198,12,0.35);
  }
  .btn-accent:hover { box-shadow: 0 10px 28px rgba(246,198,12,0.45); }
  .text-accent { color: #d6a800 !important; }
  .bg-accent { background: #F6C60C !important; }
  .accent-pill {
    display: inline-block;
    padding: .15rem .5rem;
    background: rgba(246,198,12,0.18);
    color: #8a6c00;
    border-radius: 999px;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    vertical-align: middle;
  }

  /* Navbar */
  .navbar-brand .logo {
    max-width: 180px;
  }


  .navbar { transition: box-shadow .2s, background .2s; }
  .navbar.scrolled { box-shadow: 0 2px 16px rgba(14, 41, 32, 0.08); }

  /* Hero */
  .hero {
    background:
      radial-gradient(circle at 85% 20%, rgba(7, 39, 86,0.08), transparent 50%),
      radial-gradient(circle at 15% 90%, rgba(246,198,12,0.08), transparent 50%),
      linear-gradient(180deg, #ffffff 0%, #eef2f8 100%);
    border-bottom: 1px solid var(--voltara-line);
    position: relative;
    overflow-x: clip;   /* nu lăsa hero-stats cu left:-8% să producă scroll */
  }
  .hero-eyebrow {
    display: inline-flex; align-items: center; gap: .5rem;
    background: rgba(7, 39, 86,0.08);
    color: #03152e;
    border: 1px solid rgba(7, 39, 86,0.18);
    padding: .35rem .75rem;
    border-radius: 999px;
    font-size: .8rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: .08em;
  }
  .hero-stats {
    background: #fff;
    border: 1px solid var(--voltara-line);
    border-radius: 14px;
    padding: 1.25rem 1.5rem;
    box-shadow: 0 6px 24px rgba(14, 41, 32, 0.05);
  }
  .hero-stat-number {
    font-size: 1.8rem; font-weight: 800; color: #072756;
    letter-spacing: -0.02em; line-height: 1;
  }

  /* Image placeholder */
  .img-placeholder {
    position: relative;
    background-color: #eef2ee;
    background-image: repeating-linear-gradient(
      135deg,
      rgba(7, 39, 86,0.10) 0,
      rgba(7, 39, 86,0.10) 1px,
      transparent 1px,
      transparent 14px
    );
    border: 1px solid var(--voltara-line);
    border-radius: 14px;
    overflow: hidden;
    color: #5a7268;
    font-family: 'JetBrains Mono', monospace;
    font-size: .75rem;
    display: flex; align-items: center; justify-content: center;
    text-align: center; padding: 1rem;
  }
  .img-placeholder::before {
    content: '';
    position: absolute; inset: 8px;
    border: 1px dashed rgba(7, 39, 86,0.25);
    border-radius: 10px;
    pointer-events: none;
  }
  .ratio-hero { aspect-ratio: 5 / 4; }
  .ratio-portfolio { aspect-ratio: 4 / 3; }

  /* Foto-mock placeholder — used in hero & key marketing spots.
     Gradient navy bg + large iconography + label at bottom */
  .photo-mock {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background:
      radial-gradient(ellipse at 70% 30%, rgba(246,198,12,0.18) 0%, transparent 55%),
      radial-gradient(ellipse at 20% 80%, rgba(13,61,130,0.45) 0%, transparent 60%),
      linear-gradient(135deg, #061a3a 0%, #0a2451 50%, #0d3d82 100%);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 16px 40px rgba(7,39,86,0.18);
  }
  .photo-mock::after {
    content: '';
    position: absolute; inset: 12px;
    border: 1px dashed rgba(246,198,12,0.4);
    border-radius: 12px;
    pointer-events: none;
  }
  .photo-mock .pm-icon {
    font-size: clamp(3rem, 8vw, 6rem);
    color: rgba(246,198,12,0.85);
    filter: drop-shadow(0 8px 24px rgba(0,0,0,0.3));
  }
  .photo-mock .pm-label {
    position: absolute; bottom: 16px; left: 16px; right: 16px;
    background: rgba(6,26,58,0.7);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(246,198,12,0.25);
    border-radius: 8px;
    padding: .5rem .75rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: .68rem;
    color: rgba(255,255,255,0.85);
    display: flex; justify-content: space-between; gap: 1rem;
    text-align: left;
  }
  .photo-mock .pm-label .pm-name { color: #F6C60C; font-weight: 700; }
  .photo-mock .pm-corner {
    position: absolute; top: 16px; left: 16px;
    background: rgba(246,198,12,0.18);
    color: #F6C60C;
    border: 1px solid rgba(246,198,12,0.4);
    padding: .25rem .6rem;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    backdrop-filter: blur(8px);
  }

  /* Portfolio placeholder with thematic iconography */
  .img-placeholder.with-icon { color: rgba(7,39,86,0.55); }
  .img-placeholder .ph-icon {
    font-size: 2.25rem;
    color: rgba(7,39,86,0.35);
    margin-bottom: .5rem;
    display: block;
  }
  .img-placeholder .ph-name {
    font-weight: 700;
    color: rgba(7,39,86,0.7);
    font-size: .72rem;
    letter-spacing: .04em;
  }
  .img-placeholder .ph-dim {
    color: rgba(7,39,86,0.4);
    font-size: .65rem;
    margin-top: .15rem;
  }

  /* Avatar placeholder */
  .avatar-mock {
    width: 52px; height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #072756, #0d3d82);
    color: #F6C60C;
    display: inline-flex; align-items: center; justify-content: center;
    font-weight: 800;
    font-size: 1.1rem;
    flex-shrink: 0;
    border: 2px solid #F6C60C;
    box-shadow: 0 4px 12px rgba(7,39,86,0.18);
  }
  .avatar-mock.alt-1 { background: linear-gradient(135deg, #0a2451, #1a4d8c); }
  .avatar-mock.alt-2 { background: linear-gradient(135deg, #0d3d82, #1e5cb0); }

  /* Feature icon circle */
  .feature-icon {
    width: 56px; height: 56px;
    border-radius: 14px;
    background: rgba(7, 39, 86,0.08);
    color: #072756;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.4rem;
  }

  /* Step number bubble */
  .step-bubble {
    width: 48px; height: 48px;
    border-radius: 50%;
    background: #072756; color: #fff;
    font-weight: 800; font-size: 1.1rem;
    display: inline-flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 14px rgba(7, 39, 86,0.3);
  }

  /* Pricing card highlighted */
  .pricing-card { border: 1px solid var(--voltara-line); border-radius: 16px; }
  .pricing-card.featured {
    border-color: #072756;
    box-shadow: 0 12px 40px rgba(7, 39, 86,0.15);
    transform: scale(1.02);
  }
  .pricing-badge {
    position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
    background: #F6C60C; color: #072756;
    padding: .25rem .75rem; border-radius: 999px;
    font-size: .75rem; font-weight: 700; letter-spacing: .08em;
    text-transform: uppercase;
  }

  /* Calculator */
  .calc-card {
    background: #fff;
    border: 1px solid var(--voltara-line);
    border-radius: 18px;
    box-shadow: 0 12px 40px rgba(14, 41, 32, 0.08);
  }
  .calc-result {
    background: linear-gradient(135deg, #072756, #0d3d82);
    color: #fff;
    border-radius: 14px;
    padding: 1.5rem;
  }
  .calc-result-big {
    font-size: 2.5rem; font-weight: 800; letter-spacing: -0.03em; line-height: 1;
  }

  /* Calculator carousel */
  .calc-kit-card {
    border: 1px solid var(--voltara-line);
    border-radius: 14px;
    background: #fafbfa;
    padding: 1.5rem;
  }
  .calc-kit-card.recommended {
    border-color: #072756;
    background: linear-gradient(135deg, rgba(7, 39, 86,0.06) 0%, rgba(20,179,94,0.04) 100%);
    box-shadow: 0 4px 16px rgba(7, 39, 86,0.12);
  }
  .calc-kit-card .calc-kit-spec {
    display: flex; align-items: center; gap: .65rem;
    padding: .5rem 0;
    font-size: .88rem;
  }
  .calc-kit-card .calc-kit-spec i {
    width: 28px; height: 28px;
    border-radius: 7px;
    background: rgba(7, 39, 86,0.1);
    color: #072756;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: .8rem;
    flex-shrink: 0;
  }
  .calc-kit-card .calc-kit-spec.muted i { background: #f1f3f0; color: #b8c0bb; }
  .calc-kit-card .calc-kit-spec.muted { color: #8a9892; }
  #kitCarousel { padding: 0 2.5rem; }
  #kitCarousel .carousel-control-prev,
  #kitCarousel .carousel-control-next {
    width: 2.5rem;
    opacity: 0.7;
  }
  #kitCarousel .carousel-control-prev-icon,
  #kitCarousel .carousel-control-next-icon {
    background-color: rgba(7, 39, 86,0.1);
    border-radius: 50%;
    background-size: 50%;
    padding: 1rem;
    filter: invert(15%) sepia(58%) saturate(1800%) hue-rotate(205deg) brightness(95%);
  }
  .kwh-chip.active { background: #072756; color: #fff; border-color: #072756; }

  /* Solar kits */
  .kit-card {
    border: 1px solid var(--voltara-line);
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
    height: 100%;
    display: flex; flex-direction: column;
    transition: transform .2s, box-shadow .2s, border-color .2s;
  }
  .kit-card:hover {
    transform: translateY(-4px);
    border-color: rgba(7, 39, 86,0.4);
    box-shadow: 0 16px 40px rgba(14,41,32,0.08);
  }
  .kit-card.featured { border-color: #072756; }
  .kit-card .kit-head {
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--voltara-line);
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  }
  .kit-card.featured .kit-head { background: rgba(7, 39, 86,0.06); }
  .kit-spec-list { list-style: none; padding: 0; margin: 0; }
  .kit-spec-list li {
    display: flex; align-items: flex-start; gap: .85rem;
    padding: .85rem 1.5rem;
    border-bottom: 1px solid var(--voltara-line);
    font-size: .92rem;
  }
  .kit-spec-list li:last-child { border-bottom: 0; }
  .kit-spec-icon {
    flex-shrink: 0;
    width: 32px; height: 32px;
    border-radius: 8px;
    background: rgba(7, 39, 86,0.08);
    color: #072756;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: .85rem;
  }
  .kit-spec-label {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #5a7268;
    font-weight: 600;
    line-height: 1.2;
  }
  .kit-spec-value { font-weight: 600; color: #1a2620; line-height: 1.3; }
  .kit-card .kit-foot {
    padding: 1.25rem 1.5rem;
    margin-top: auto;
    border-top: 1px solid var(--voltara-line);
    background: #fafbfa;
  }
  .kit-card.featured .kit-foot { background: rgba(7, 39, 86,0.04); }
  .kit-price { font-size: 1.75rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1; }
  .kit-price-vat { font-size: .75rem; color: #5a7268; }
  .kit-no-battery { color: #b8c0bb; }

  /* Portfolio */
  .portfolio-card {
    border: 1px solid var(--voltara-line);
    border-radius: 14px; overflow: hidden;
    transition: transform .2s, box-shadow .2s;
    background: #fff;
  }
  .portfolio-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(14,41,32,0.1);
  }
  .portfolio-meta {
    font-family: 'JetBrains Mono', monospace;
    font-size: .75rem;
    color: #5a7268;
  }

  /* Testimonial */
  .testimonial-card {
    background: #fff;
    border: 1px solid var(--voltara-line);
    border-radius: 14px;
    padding: 1.75rem;
    height: 100%;
  }
  .testimonial-card .stars { color: #f5b400; }

  /* Dark CTA */
  .cta-dark {
    background: linear-gradient(135deg, #061a3a 0%, #0a2451 100%);
    color: #fff;
    border-radius: 24px;
    padding: 4rem 2rem;
    position: relative;
    overflow: hidden;
  }
  .cta-dark::before {
    content: '';
    position: absolute; right: -100px; top: -100px;
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(20,179,94,0.25), transparent 70%);
    pointer-events: none;
  }

  /* Newsletter */
  .newsletter-band {
    background: #eef2f8;
    border-top: 1px solid var(--voltara-line);
    border-bottom: 1px solid var(--voltara-line);
  }

  /* Footer */
  footer {
    background: #061a3a;
    color: #b8cdc4;
  }
  footer a { color: #b8cdc4; text-decoration: none; }
  footer a:hover { color: #fff; }
  footer .footer-brand { color: #fff; }
  .footer-divider { border-color: rgba(255,255,255,0.08); }

  /* Section spacing */
  section { scroll-margin-top: 80px; }
  .section-eyebrow {
    color: #072756;
    font-size: .8rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .12em;
    margin-bottom: .5rem;
  }

  /* Toast */
  .toast-container { z-index: 1090; }

  /* Include section — what's in every package */
  .include-card {
    background: #fff;
    border: 1px solid var(--voltara-line);
    border-radius: 16px;
    padding: 1.75rem;
    height: 100%;
    transition: transform .2s, box-shadow .2s, border-color .2s;
    position: relative;
  }
  .include-card:hover {
    transform: translateY(-3px);
    border-color: rgba(7,39,86,0.25);
    box-shadow: 0 16px 36px rgba(7,39,86,0.08);
  }
  .include-card .include-head {
    display: flex; align-items: center; gap: .85rem;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--voltara-line);
  }
  .include-card .include-icon {
    flex-shrink: 0;
    width: 48px; height: 48px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(7,39,86,0.08), rgba(246,198,12,0.12));
    color: #072756;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.2rem;
    border: 1px solid rgba(7,39,86,0.1);
  }
  .include-card h5 { margin: 0; font-weight: 700; }
  .include-card .include-sub {
    font-size: .78rem; color: #6c757d; letter-spacing: .04em;
    text-transform: uppercase; font-weight: 600;
  }
  .include-card ul { padding: 0; margin: 0; list-style: none; }
  .include-card ul li {
    display: flex; align-items: flex-start; gap: .65rem;
    padding: .5rem 0;
    font-size: .92rem;
    color: #2a3a47;
    border-bottom: 1px dashed #eef0ec;
  }
  .include-card ul li:last-child { border-bottom: 0; }
  .include-card ul li i {
    color: #072756;
    margin-top: .25rem;
    flex-shrink: 0;
    font-size: .75rem;
  }
  .include-card ul li .opt {
    display: inline-block;
    margin-left: .35rem;
    padding: 0 .45rem;
    background: rgba(246,198,12,0.18);
    color: #8a6c00;
    border-radius: 4px;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    vertical-align: middle;
  }
  .include-stripe {
    background: linear-gradient(135deg, #061a3a 0%, #0a2451 100%);
    color: #fff;
    border-radius: 18px;
    padding: 2rem 2.5rem;
    margin-top: 2.5rem;
    display: flex; align-items: center; gap: 1.5rem;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .include-stripe .stripe-row {
    display: flex; gap: 2rem; flex-wrap: wrap;
  }
  .include-stripe .stripe-stat {
    display: flex; align-items: center; gap: .75rem;
    color: #fff;
  }
  .include-stripe .stripe-stat .num {
    font-weight: 800; font-size: 1.75rem; line-height: 1;
    color: #F6C60C;
    letter-spacing: -0.02em;
  }
  .include-stripe .stripe-stat .lbl {
    font-size: .85rem; opacity: .85; line-height: 1.2;
  }

/* ============== GALERIE PORTFOLIO (lightbox) ============== */
.portfolio-thumb {
  cursor: zoom-in;
  background: #f6f7f9;
  transition: transform .25s ease, box-shadow .25s ease;
}
.portfolio-thumb:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(0, 0, 0, .14) !important;
}
.portfolio-thumb .portfolio-img {
  filter: grayscale(100%) contrast(.95);
  transition: filter .5s ease, transform .5s ease;
}
.portfolio-thumb:hover .portfolio-img,
.portfolio-thumb:focus-visible .portfolio-img {
  filter: grayscale(0%) contrast(1);
  transform: scale(1.06);
}
@media (max-width: 575.98px) {
  /* Pe mobil hover-ul nu există — afișăm color direct */
  .portfolio-thumb .portfolio-img {
    filter: grayscale(0%);
  }
}
.portfolio-zoom {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: #1f2937;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.85);
  transition: opacity .25s ease, transform .25s ease;
  pointer-events: none;
  backdrop-filter: blur(2px);
}
.portfolio-thumb:hover .portfolio-zoom,
.portfolio-thumb:focus-visible .portfolio-zoom {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
#galleryModal .modal-content { background: transparent; }
#galleryModal .btn-close { opacity: .9; }

/* ============== CTA stripe (post-kituri) — pereche cu .include-stripe ============== */
.cta-stripe {
  background: linear-gradient(135deg, #061a3a 0%, #0a2451 100%);
  color: #fff;
  border-radius: 18px;
  padding: 2.25rem 2.5rem;
  display: flex;
  align-items: center;
  gap: 2.5rem;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
}
.cta-stripe::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 88% 12%, rgba(246, 198, 12, .18), transparent 40%),
    radial-gradient(circle at 8% 95%, rgba(255, 255, 255, .05), transparent 35%);
  pointer-events: none;
}
.cta-stripe > * { position: relative; z-index: 1; }

.cta-stripe .cta-stripe-text {
  flex: 1 1 380px;
  min-width: 0;
}
.cta-stripe h3 {
  font-weight: 800;
  font-size: clamp(1.4rem, 1.1rem + 1vw, 1.85rem);
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.cta-stripe p {
  color: rgba(255, 255, 255, .82);
  font-size: .98rem;
  line-height: 1.55;
  max-width: 60ch;
}
.cta-stripe .cta-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .35rem .8rem;
  border-radius: 99px;
  background: rgba(246, 198, 12, .15);
  color: #F6C60C;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cta-stripe .cta-eyebrow i { font-size: .7rem; }

.cta-stripe .cta-stripe-actions {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  min-width: 240px;
}
.cta-stripe .btn-cta-ghost {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .25);
  transition: background-color .2s ease, border-color .2s ease;
}
.cta-stripe .btn-cta-ghost:hover,
.cta-stripe .btn-cta-ghost:focus-visible {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .45);
  color: #fff;
}
.cta-stripe .cta-trust {
  display: block;
  text-align: center;
  margin-top: .25rem;
  color: rgba(255, 255, 255, .65);
  font-size: .78rem;
  letter-spacing: .01em;
}

@media (max-width: 767.98px) {
  .cta-stripe { padding: 1.75rem 1.5rem; gap: 1.5rem; border-radius: 14px; }
  .cta-stripe .cta-stripe-actions { width: 100%; min-width: 0; }
}

/* ============== MOBILE FLOATING CTA BAR ============== */
.mobile-cta-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1040;
  display: flex;
  gap: .5rem;
  padding: .55rem .65rem calc(.55rem + env(safe-area-inset-bottom, 0px));
  background: rgba(255, 255, 255, .96);
  backdrop-filter: saturate(140%) blur(8px);
  -webkit-backdrop-filter: saturate(140%) blur(8px);
  border-top: 1px solid rgba(0, 0, 0, .08);
  box-shadow: 0 -6px 24px rgba(0, 0, 0, .08);
}

.mobile-cta {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .15rem;
  flex: 0 0 auto;
  min-width: 64px;
  height: 52px;
  padding: 0 .9rem;
  border-radius: 12px;
  font-size: .72rem;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: .01em;
  line-height: 1;
  transition: transform .15s ease, box-shadow .2s ease;
}
.mobile-cta i { font-size: 1.1rem; }
.mobile-cta:active { transform: scale(.96); }

.mobile-cta-call {
  background: rgba(13, 110, 253, .1);
  color: var(--bs-primary, #072756);
}
.mobile-cta-wa {
  background: rgba(37, 211, 102, .12);
  color: #128C7E;
}
.mobile-cta-primary {
  flex: 1 1 auto;
  background: linear-gradient(135deg, #F6C60C 0%, #f0a90c 100%);
  color: #1f2937;
  box-shadow: 0 4px 12px rgba(246, 198, 12, .35);
}
.mobile-cta-primary:hover,
.mobile-cta-primary:focus-visible {
  color: #1f2937;
  box-shadow: 0 6px 18px rgba(246, 198, 12, .45);
}
.mobile-cta-call:hover,
.mobile-cta-wa:hover,
.mobile-cta-call:focus-visible,
.mobile-cta-wa:focus-visible {
  color: inherit;
}

.mobile-cta-primary .mobile-cta-label {
  font-size: .82rem;
  font-weight: 700;
}

/* Padding bottom pe body ca să nu acopere conținut */
@media (max-width: 991.98px) {
  body { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)); }
}

/* Sub 360px (telefon foarte mic), reducem padding-ul pe butoanele compacte */
@media (max-width: 359.98px) {
  .mobile-cta { min-width: 54px; padding: 0 .6rem; }
  .mobile-cta-primary .mobile-cta-label { font-size: .75rem; }
}