:root {
    --brand-green: #82bd41;
    --brand-orange: #ed7923;
    --brand-green-dark: #5b8a2d;
    --brand-gradient: linear-gradient(120deg, #82bd41 0%, #ed7923 100%);
    --brand-soft-gradient: linear-gradient(135deg, #f4ffe8 0%, #fff3e7 100%);
  }
  
  /* Global */
  body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: #f6f9fc;
    scroll-behavior: smooth;
  }
  
  .section {
    padding: 80px 0;
  }
  
  .section-light {
    background: #fdfdfd;
  }
  
  .section-gradient {
    background: var(--brand-gradient);
    color: #fff;
  }
  
  .section-soft-gradient {
    background: var(--brand-soft-gradient);
  }
  
  /* Navbar */
  .navbar .navbar-brand {
    font-size: 1.1rem;
  }
  
  .navbar .nav-link {
    font-weight: 500;
    color: #495057;
  }
  
  .navbar .nav-link:hover,
  .navbar .nav-link:focus,
  .navbar .nav-link.active {
    color: var(--brand-green-dark);
  }
  
  .brand-mark {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: var(--brand-gradient);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
  }
  
  /* Buttons */
  .btn-brand {
    background: var(--brand-gradient);
    border: none;
    color: #fff;
    box-shadow: 0 8px 28px rgba(237, 121, 35, 0.4);
    transition: transform 0.25s ease, box-shadow 0.25s ease, opacity 0.2s ease;
  }
  
  .btn-brand:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 34px rgba(237, 121, 35, 0.5);
    color: #fff;
  }
  
  .btn-outline-brand {
    border-radius: 999px;
    border: 1px solid rgba(130, 189, 65, 0.4);
    color: #2c3e50;
    background: #ffffffaa;
    backdrop-filter: blur(10px);
  }
  
  .btn-outline-brand:hover {
    border-color: var(--brand-green);
    background: #fff;
    color: #1b4332;
  }
  
  /* Hero */
  .hero-section {
    position: relative;
    padding: 140px 0 110px;
    background: linear-gradient(140deg, #ffffff 0%, #f4ffe8 30%, #fff3e7 90%);
    overflow: hidden;
  }
  
  .eyebrow {
    font-size: 0.85rem;
    letter-spacing: 0.12em;
    color: #8898aa;
  }
  
  .hero-title {
    background: linear-gradient(120deg, #264653 0%, #14532d 40%, #ed7923 100%);
    -webkit-background-clip: text;
    color: transparent;
  }
  
  .hero-badges {
    font-size: 0.9rem;
  }
  
  .hero-badge {
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    background: #ffffffd5;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.08);
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #475569;
  }
  
  /* Hero card */
  .hero-card {
    border-radius: 26px;
    background: #ffffffdd;
    backdrop-filter: blur(14px);
    padding: 1.25rem;
    position: relative;
    overflow: hidden;
  }
  
  .hero-image img {
    border-radius: 22px;
    width: 100%;
    object-fit: cover;
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.3);
  }
  
  .hero-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.2rem;
    font-size: 0.8rem;
  }
  
  .stat-label {
    display: block;
    color: #94a3b8;
  }
  
  .stat-value {
    font-weight: 700;
    color: #1e293b;
  }
  
  /* Gradient blobs */
  .blob {
    position: absolute;
    border-radius: 999px;
    filter: blur(80px);
    opacity: 0.55;
    z-index: -1;
  }
  
  .blob-1 {
    width: 320px;
    height: 320px;
    background: #c5ff9c;
    top: -80px;
    right: -120px;
  }
  
  .blob-2 {
    width: 280px;
    height: 280px;
    background: #ffd0a6;
    bottom: -120px;
    left: -80px;
  }
  
  /* Section title & accent line */
  .section-title {
    font-weight: 700;
  }
  
  .accent-line {
    width: 80px;
    height: 4px;
    border-radius: 999px;
    background: var(--brand-gradient);
    margin: 0.75rem 0 1.5rem;
  }
  
  .accent-line-light {
    background: #ffffffaa;
  }
  
  /* About gallery */
  .about-gallery {
    position: relative;
  }
  
  .about-img-main {
    border-radius: 24px;
    overflow: hidden;
  }
  
  .about-img-small {
    position: absolute;
    width: 42%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.25);
  }
  
  .about-img-top {
    top: -18%;
    right: -2%;
  }
  
  .about-img-bottom {
    bottom: -18%;
    left: -2%;
  }
  
  /* Info cards (pakalpojumi) */
  .info-card {
    border-radius: 24px;
    background: #ffffffdd;
    backdrop-filter: blur(12px);
    box-shadow: 0 14px 38px rgba(15, 23, 42, 0.25);
    color: #0f172a;
    position: relative;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }
  
  .info-card::after {
    content: "";
    position: absolute;
    width: 140px;
    height: 140px;
    background: radial-gradient(circle, rgba(255,255,255,0.7), transparent);
    top: -70px;
    right: -70px;
    opacity: 0;
    transition: opacity 0.25s ease;
  }
  
  .info-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 46px rgba(15, 23, 42, 0.35);
  }
  
  .info-card:hover::after {
    opacity: 1;
  }
  
  /* Icon circle */
  .icon-circle {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--brand-gradient);
    color: #fff;
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }
  
  .badge-soft {
    display: inline-block;
    margin-top: 0.5rem;
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
    background: #ecfdf5;
    color: #166534;
    font-size: 0.75rem;
    font-weight: 600;
  }
  
  /* Thermography card */
  .thermo-card {
    position: relative;
  }
  
  .thermo-label {
    position: absolute;
    left: 14px;
    bottom: 14px;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    background: #0f172acc;
    color: #f9fafb;
    font-size: 0.8rem;
  }
  
  /* Materials */
  .material-card {
    border-radius: 22px;
    background: #ffffff;
    padding: 1.8rem 1.6rem;
    box-shadow: 0 10px 32px rgba(148, 163, 184, 0.35);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }
  
  .material-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(148, 163, 184, 0.5);
  }
  
  /* Process steps */
  .step-card {
    border-radius: 20px;
    background: #ffffff;
    padding: 1.4rem 1.3rem;
    box-shadow: 0 10px 24px rgba(148, 163, 184, 0.4);
    text-align: center;
    position: relative;
  }
  
  .step-number {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: var(--brand-gradient);
    color: #fff;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 0.75rem;
  }
  
  /* CTA section */
  .section-cta {
    background: linear-gradient(130deg, #14532d 0%, #82bd41 45%, #ed7923 100%);
    color: #fff;
  }
  
  .contact-form {
    border-radius: 22px;
    background: #ffffff1a;
    border: 1px solid #ffffff3b;
    backdrop-filter: blur(16px);
    padding: 1.8rem;
  }
  
  .contact-form .form-control {
    border-radius: 999px;
    border: 1px solid #e2e8f0;
  }
  
  .contact-form textarea.form-control {
    border-radius: 18px;
  }
  
  /* Section reveal */
  .section-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  }
  
  .section-reveal.visible {
    opacity: 1;
    transform: translateY(0);
  }
  
  /* Small tweaks */
  @media (max-width: 991.98px) {
    .hero-section {
      padding-top: 120px;
    }
  
    .about-img-small {
      position: static;
      width: 48%;
      margin-top: 1rem;
    }
  
    .about-gallery {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
    }
  }
  /* ================================
   ADD-ON: Materials images + quality tweaks
   Ieliec šo pašās styles.css beigās
================================ */

/* Scroll behavior labāk html līmenī (tavs body ok, bet šis drošāk) */
html { scroll-behavior: smooth; }

/* Mazāka “jump” iespēja ar fixed navbar */
section, header { scroll-margin-top: 90px; }

/* ===== Materials: bildes placeholder ar tekstu virsū ===== */
.material-media{
  width: 100%;
  height: 170px;
  border-radius: 18px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(15, 23, 42, 0.10);

  /* Default placeholder fons, kamēr nav īstas bildes */
  background:
    linear-gradient(180deg, rgba(255,255,255,0.20), rgba(255,255,255,0)),
    radial-gradient(600px 220px at 25% 25%, rgba(130,189,65,0.35), transparent 60%),
    radial-gradient(520px 240px at 80% 65%, rgba(237,121,35,0.22), transparent 60%),
    linear-gradient(135deg, rgba(15,23,42,0.08), rgba(15,23,42,0.02));
}

/* Teksts virsū (ņem no aria-label) */
.material-media::after{
  content: attr(aria-label);
  position: absolute;
  left: 12px;
  bottom: 12px;
  max-width: calc(100% - 24px);

  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.85rem;

  color: #fff;
  background: rgba(15, 23, 42, 0.68);
  backdrop-filter: blur(10px);
}

/* Ja būs īsta bilde, pievieno šīs klases (vienkārši nomaini url) */
.ph-granulas{
  /* background-image: url("img/granulas.jpg"); */
  background-size: cover;
  background-position: center;
}
.ph-ekovate{
  /* background-image: url("img/ekovate-maiss.jpg"); */
  background-size: cover;
  background-position: center;
}
.ph-vate{
  /* background-image: url("img/mineralvate.jpg"); */
  background-size: cover;
  background-position: center;
}
.ph-poliuretans{
  /* background-image: url("img/poliuretans.jpg"); */
  background-size: cover;
  background-position: center;
}
.ph-termoputas{
  /* background-image: url("img/termoputas.jpg"); */
  background-size: cover;
  background-position: center;
}
.ph-pir{
  /* background-image: url("img/pir.jpg"); */
  background-size: cover;
  background-position: center;
}

/* ===== Cards: vienādi augstumi un smukāka tipogrāfija ===== */
.material-card h5{ line-height: 1.15; }
.material-card p{ color: #334155; }
.material-card .small{ color:#64748b; }

/* Lai hover nelec pārāk agresīvi mobīlajā */
@media (hover: none){
  .material-card:hover, .info-card:hover{
    transform: none;
  }
}

/* ===== Footer sīka apdare ===== */
footer{
  background: #fff;
}

/* ===== Optional: mini toast priekš “Nosūtīt pieteikumu” demo ===== */
.form-toast{
  margin-top: 12px;
  padding: 0.7rem 0.9rem;
  border-radius: 16px;
  font-weight: 600;
  color: #fff;
  background: rgba(20, 83, 45, 0.75);
  border: 1px solid rgba(255,255,255,0.25);
  backdrop-filter: blur(10px);
}
.clean-card {
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}

/* Image top */
.card-image {
  position: relative;
  height: 180px;
  background-size: cover;
  background-position: center;
  clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
}

/* Floating icon */
.icon-circle.floating {
  position: absolute;
  z-index: 1234523421432423;
  right: 24px;
  top: 125px;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: linear-gradient(135deg, #7fbf3f, #f59e0b);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18);

}

.icon-circle i {
  color: #fff;
  font-size: 26px;
}

/* Content */
.card-body-custom {
  padding: 48px 24px 28px;
}

.card-body-custom h5 {
  font-weight: 600;
  margin-bottom: 10px;
}

/* Badge */
.badge-soft {
  display: inline-block;
  margin-top: 12px;
  padding: 6px 14px;
  border-radius: 999px;
  background: #e6f6ea;
  color: #2f7d4c;
  font-size: 0.85rem;
  font-weight: 500;
}
/* ================================
   Reviews slider (matches your theme)
================================= */

.reviews-wrap{
  position: relative;
  padding: 18px 0 36px;
}

.review-card{
  border-radius: 24px;
  background: #ffffffdd;
  backdrop-filter: blur(12px);
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.10);
  padding: 18px 18px 14px;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.review-card::after{
  content:"";
  position:absolute;
  width: 220px;
  height: 220px;
  right: -120px;
  top: -120px;
  background: radial-gradient(circle, rgba(130,189,65,0.20), transparent 60%);
}

.review-top{
  display:flex;
  gap: 12px;
  align-items:center;
}

.review-avatar{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 800;
  color:#fff;
  background: var(--brand-gradient);
  box-shadow: 0 10px 24px rgba(237, 121, 35, 0.20);
  flex: 0 0 auto;
}

.review-meta{ min-width: 0; }
.review-name{
  font-weight: 750;
  color:#0f172a;
  line-height: 1.1;
}
.review-city{
  line-height: 1.1;
}

.review-stars{
  margin-left:auto;
  display:flex;
  gap: 3px;
  color: #f59e0b;
  font-size: 0.95rem;
}

.review-text{
  margin-top: 12px;
  color:#334155;
  line-height: 1.55;
  font-size: 0.98rem;
}

.review-bottom{
  margin-top: 12px;
  display:flex;
  justify-content: space-between;
  align-items:center;
}

/* Swiper spacing */
.reviews-swiper .swiper-slide{
  height: auto;
}
.reviews-swiper{
  padding: 8px 6px;
}

/* Nav buttons */
.reviews-nav{
  position:absolute;
  top: 50%;
  transform: translateY(-62%);
  width: 42px;
  height: 42px;
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  background: #ffffffcc;
  backdrop-filter: blur(10px);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.10);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index: 5;
  transition: transform .2s ease, opacity .2s ease;
}
.reviews-nav:hover{ transform: translateY(-62%) scale(1.04); }
.reviews-prev{ left: -6px; }
.reviews-next{ right: -6px; }

@media (max-width: 992px){
  .reviews-prev{ left: 6px; }
  .reviews-next{ right: 6px; }
}

/* Pagination dots */
.reviews-pagination{
  position: absolute;
  left: 0; right: 0;
  bottom: 0;
  text-align: center;
}
.reviews-pagination .swiper-pagination-bullet{
  width: 8px;
  height: 8px;
  opacity: .35;
}
.reviews-pagination .swiper-pagination-bullet-active{
  opacity: 1;
}

/* Modal styling */
.review-modal{
  border-radius: 22px;
  background: #ffffffee;
  backdrop-filter: blur(14px);
  border: 1px solid rgba(15, 23, 42, 0.10);
  overflow: hidden;
}

.rating-pills{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
}
/* Lai ēnas netiek nogrieztas (Swiper pēc noklusējuma griež nost) */
.reviews-wrap { overflow: visible; }
.reviews-swiper { overflow: visible; }
.reviews-swiper .swiper-wrapper { overflow: visible; }

/* iedod nedaudz “gaisu” ēnām augšā/apakšā */
.reviews-swiper { padding: 18px 10px 28px; }

/* lai neizjūk platums, kompensējam padding ar margin */
.reviews-wrap { margin: 0 -10px; }
/* =========================
   GALLERY (public)
========================= */

.gallery-frame{
  border-radius: 26px;
  background: #ffffff;
  box-shadow: 0 14px 38px rgba(148, 163, 184, 0.35);
  padding: 18px;
}

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

.gallery-item{
  border: 0;
  padding: 0;
  text-align: left;
  background: transparent;
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(15,23,42,0.14);
  cursor: pointer;
  transform: translateZ(0);
  transition: transform .2s ease, box-shadow .2s ease;
}

.gallery-item:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(15,23,42,0.18);
}

.gallery-item img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 4 / 3; /* stabils layout */
}

.gallery-zoom{
  position:absolute;
  right: 12px;
  bottom: 12px;
  width: 38px;
  height: 38px;
  border-radius: 14px;
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(15,23,42,0.10);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 12px 26px rgba(15,23,42,0.18);
}

/* Rindas proporcijas */
.gallery-item{
  grid-column: span 3;
}
@media (max-width: 1200px){
  .gallery-item{ grid-column: span 4; }
}
@media (max-width: 768px){
  .gallery-grid{ grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .gallery-item{ grid-column: span 3; }
}

/* Hidden items until "show more" */
.gallery-item.is-hidden{ display:none; }

/* Lightbox modal */
.gallery-modal{
  border-radius: 22px;
  overflow: hidden;
  background: #0b1220;
  color: #fff;
}
.gallery-modal .btn-light{
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.16);
  color: #fff;
}
.gallery-modal .btn-light:hover{
  background: rgba(255,255,255,0.18);
}
.gallery-modal .btn-close{
  filter: invert(1);
  opacity: .9;
}
.gallery-figure{
  margin: 0;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,0.06);
}
#galLbImg{
  width: 100%;
  height: auto;
  max-height: 78vh;
  object-fit: contain;
  display: block;
}
/* ===========================
   Gallery Lightbox PRO
=========================== */

/* tumšs, blur fons */
#galleryLightbox.modal{
  --bs-modal-bg: transparent;
}
#galleryLightbox .modal-dialog{
  padding: 1rem;
}
#galleryLightbox .modal-backdrop,
.modal-backdrop.show{
  opacity: .65;
}
#galleryLightbox .modal-content{
  border: 0;
}

.gallery-modal-pro{
  border-radius: 22px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0)),
    rgba(8, 15, 28, 0.92);
  backdrop-filter: blur(14px);
  box-shadow: 0 30px 90px rgba(0,0,0,0.55);
}

/* top bar */
.galpro-top{
  display:flex;
  align-items:center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.galpro-meta{
  min-width: 0;
}
.galpro-title{
  color:#fff;
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.galpro-sub{
  color: rgba(255,255,255,0.70);
  font-size: .85rem;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.galpro-actions{
  display:flex;
  align-items:center;
  gap: 8px;
}

/* poga */
.galpro-btn{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.92);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.galpro-btn:hover{
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.22);
  transform: translateY(-1px);
  color:#fff;
}

.galpro-close{
  width: 42px;
  height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(237,121,35,0.18); /* pieskaņots tavai oranžajai notij */
  color: #fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition: transform .15s ease, background .15s ease;
}
.galpro-close:hover{
  background: rgba(237,121,35,0.28);
  transform: translateY(-1px);
}

/* body */
.galpro-body{
  padding: 14px;
}

.galpro-stage{
  border-radius: 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  overflow: hidden;
  min-height: 55vh;
  max-height: 78vh;
  display:flex;
  align-items:center;
  justify-content:center;
}

#galLbImg{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display:block;
  background: transparent;
}

/* mobile */
@media (max-width: 576px){
  #galleryLightbox .modal-dialog{ padding: .5rem; }
  .galpro-body{ padding: 10px; }
  .galpro-stage{ min-height: 45vh; }
}
/* === REVIEWS SWIPER FIX === */

/* Swiper konteinerim OBLIGĀTI hidden */
.reviews-swiper {
  overflow: hidden;
  padding: 24px 12px 40px; /* vieta ēnām */
}

/* Wrapper var būt visible */
.reviews-swiper .swiper-wrapper {
  overflow: visible;
}

/* Pašām kartītēm ēnas */
.review-card {
  box-shadow: 0 12px 35px rgba(0,0,0,0.08);
}
/* ===== FORCE SWIPER TO WORK ===== */
.reviews-swiper {
  overflow: hidden;
}

.reviews-swiper .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  transform: translate3d(0,0,0);
}

.reviews-swiper .swiper-slide {
  flex-shrink: 0 !important;
  width: auto;
}
