:root{
  --navy:#0b2447;
  --navy2:#0a1f3a;
  --accent:#f39c12;
  --bg:#f8fafc;
  --text:#0f172a;
  --muted:#64748b;
  --border: rgba(2,6,23,.08);
  --shadow: 0 10px 25px rgba(2,6,23,.10);
  --radius: 18px;
}

body{
  font-family:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
}
.section{ padding: 90px 0; }
.section-title{ font-family:"Playfair Display",Georgia,serif; font-weight:700; color:var(--navy); }
.muted{ color:var(--muted); }
.card-elevated{ border:1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); background:#fff; }
.badge-chip{
    padding: .55rem .75rem;
    border-radius: 999px;
    border: 1px solid rgba(2,6,23,.10);
    background: #fff;
    color: var(--navy);
    font-weight: 700;
}

/* Core helpers */
.section{ padding: 90px 0; }
.section-title{ font-family:"Playfair Display",Georgia,serif; font-weight:700; color:var(--navy); }
.muted{ color: var(--muted); }
.card-elevated{ border:1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); background:#fff; }

/* Navbar */
#mainNav{
  background: transparent !important;
  transition: padding .25s ease, background-color .25s ease, backdrop-filter .25s ease, box-shadow .25s ease;
}
#mainNav.nav-scrolled{
  background: rgba(11,36,71,.95) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 10px 25px rgba(2,6,23,.18);
  padding-top: .5rem !important;
  padding-bottom: .5rem !important;
}

.nav-link {
    color:white;
}

@media (max-width: 991.98px){
    .nav-link {
        font-size: 1.175rem;
    }
    .nav-item {
        border-bottom: 0.5px solid rgb(255 255 255 / 20%);
    }
}

/* Buttons */
.btn-accent{
  background: var(--accent);
  border: 1px solid rgba(243,156,18,.65);
  color:#121212;
  font-weight: 900;
  box-shadow: 0 12px 22px rgba(243,156,18,.20);
}
.btn-ghost{
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.25);
  color:#fff;
  font-weight: 900;
}
.phone-pill{
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: .45rem .75rem;
  color: #fff;
  text-decoration:none;
  display:flex;
  gap:.5rem;
  align-items:center;
  white-space:nowrap;
}
@media (max-width: 991.98px){
    .phone-pill{
        margin-top: 10px;
        margin-bottom: 5px;
    }
}
.phone-pill:hover{ background: rgba(255,255,255,.18); color:#fff; }

/* Dropdown hover desktop */
.dropdown-menu{
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(11,36,71,.98);
  box-shadow: 0 18px 35px rgba(2,6,23,.22);
}
.dropdown-item{ color: rgba(255,255,255,.92); padding:.6rem 1rem; }
.dropdown-item:hover{ background: rgba(255,255,255,.08); color:#fff; }
.dropdown-divider{ border-color: rgba(255,255,255,.12); }

@media (min-width: 992px){
  .navbar .dropdown:hover > .dropdown-menu{ display:block; margin-top:0; }
}
@media (max-width: 991.98px){
  #navContent{
    margin-top: 12px;
    padding: 12px;
    border-radius: 16px;
    background: rgba(11,36,71,.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.12);
  }
}

/* HERO */
.hero{
  min-height: 100vh;
  display:flex;
  align-items:center;
  position: relative;
  color:#fff;
  background: var(--navy);
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(11,36,71,.92) 0%, rgba(11,36,71,.70) 55%, rgba(11,36,71,.40) 100%),
    url("/assets/img/hero-bg.webp");
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
}
.hero .container{ position:relative; z-index: 2; }
.hero-title{ font-family:"Playfair Display",Georgia,serif; font-weight:700; }
.hero-lead{ color: rgba(255,255,255,.88); max-width: 42rem; }
.hero-meta{ color: rgba(255,255,255,.85); }

/* Services cards head */
.service-head{
  display:flex;
  align-items:center;
  gap: 12px;
  background: var(--navy);
  border-top-left-radius: calc(var(--radius) + 4px);
  border-top-right-radius: calc(var(--radius) + 4px);
  padding: 16px;
}
.service-icon{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(11, 36, 71, .10);
}
.service-icon i{ color:var(--accent); font-size: 20px; }
.service-title{ font-weight:700; }

.ticklist li{ display:flex; gap:10px; align-items:flex-start; padding: 8px 0; }
.ticklist i{ color: var(--navy); margin-top: 2px; }

/* Steps */
.step{
  display:flex;
  gap: 1rem;
  align-items:flex-start;
  padding: 1rem 1rem;
  border-radius: var(--radius);
  border: 1px solid rgba(2,6,23,.08);
  background: #fff;
}
.step .badge{
  background: rgba(11,36,71,.10);
  color: var(--navy);
  border: 1px solid rgba(11,36,71,.14);
}
.step-title{ font-weight:700; }

/* Testimonial */
.testimonial{
  background: var(--navy);
  color:#fff;
  border-radius: calc(var(--radius) + 8px);
  padding: 2.2rem;
  position: relative;
  overflow:hidden;
}
.testimonial::before{
  content:"";
  position:absolute; inset:-40px;
  background:
    radial-gradient(circle at 20% 20%, rgba(243,156,18,.22), transparent 45%),
    radial-gradient(circle at 80% 0%, rgba(255,255,255,.10), transparent 45%);
}
.testimonial > *{ position:relative; z-index: 1; }
.testimonial-label{ color: rgba(255,255,255,.85); }
.testimonial-text{ font-size: 1.05rem; }

/* Modal */
.modal-radius{ border-radius: 18px; }
.modal-title-brand{ font-weight:700; color: var(--navy); }

/* Fade-in */
.fade-in{ opacity:0; transform: translateY(10px); transition: opacity .5s ease, transform .5s ease; }
.fade-in.is-visible{ opacity:1; transform:none; }

@media (max-width: 991.98px){
  .section{ padding: 70px 0; }
}

/* =========================
   FOOTER
========================= */

.site-footer{
  background: var(--navy);
  color: rgba(255,255,255,.85);
  padding: 70px 0 30px;
}

.footer-title{
  font-family:"Playfair Display", Georgia, serif;
  font-weight:700;
  color:#fff;
  margin-bottom: 18px;
  font-size: 1.05rem;
  letter-spacing:.3px;
}

.footer-links li{
  margin-bottom: 10px;
}

.footer-links a{
  color: rgba(255,255,255,.75);
  text-decoration: none;
  transition: all .25s ease;
  font-size: .95rem;
}

.footer-links a:hover{
  color:#fff;
  transform: translateX(4px);
}

.footer-links i{
  color: rgba(255,255,255,.65);
}

.footer-divider{
  border-color: rgba(255,255,255,.12);
  margin: 40px 0 25px;
}

.footer-bottom{
  font-size: .9rem;
  color: rgba(255,255,255,.6);
}

/* Responsive spacing */
@media (max-width: 767.98px){
  .site-footer{
    padding: 60px 0 25px;
  }
}

/* =========================
   FLOATING ACTION BUTTONS
========================= */

.fab{
  position: fixed;
  right: 20px;
  bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 1050;
}

.fab a{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 12px 25px rgba(2,6,23,.20);
  transition: all .25s ease;
  font-size: .9rem;
}

/* WhatsApp */
.fab .whatsapp{
  background: #25D366;
  color:#fff;
}

.fab .whatsapp:hover{
  background: #1ebe5d;
  transform: translateY(-3px);
  box-shadow: 0 16px 30px rgba(37,211,102,.35);
}

/* Phone */
.fab .phone{
  background: var(--navy);
  color:#fff;
}

.fab .phone:hover{
  background: var(--navy2);
  transform: translateY(-3px);
  box-shadow: 0 16px 30px rgba(11,36,71,.35);
}

/* Icons */
.fab i{
  font-size: 18px;
}

/* Mobile smaller */
@media (max-width: 575.98px){
  .fab a span{
    display:none;
  }

  .fab a{
    padding: 14px;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    justify-content: center;
  }
}


  /* WHY SECTION */
.why-section{
  position: relative;
  padding: 120px 0;
  color: #0b2447;
  overflow: hidden;
}

/* Background Image */
.why-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    url("../img/why-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /*filter: blur(2px);*/
  transform: scale(1.05);
  z-index: 0;
}

/* White/Light overlay */
.why-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,.92) 0%,
    rgba(255,255,255,.85) 50%,
    rgba(255,255,255,.75) 100%
  );
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index:1;
}

/* Content above overlay */
.why-section .container{
  z-index: 2;
}

/* Title */
.why-title{
  font-family: "Playfair Display", Georgia, serif;
  font-size: 2.8rem;
  font-weight: 700;
  color: #0b2447;
}

/* Subtitle */
.why-subtitle{
  font-size: 1.2rem;
  color: #334155;
  max-width: 600px;
}

/* List styling */
.why-list li{
  font-size: 1.1rem;
  margin-bottom: 16px;
  display:flex;
  align-items:center;
  gap:14px;
}

/* Icon gold */
.why-list i{
  font-size: 1.4rem;
  color: #c48a2c;
}

/* Responsive */
@media (max-width: 991.98px){
  .why-section{
    padding: 80px 0;
  }

  .why-title{
    font-size: 2.1rem;
  }

  .why-subtitle{
    font-size: 1rem;
  }
}

  /* CTA SECTION */
.cta-section{
  position: relative;
  overflow: hidden;
}

/* TOP WOOD BACKGROUND */
.cta-main{
  position: relative;
  padding: 80px 0;
  background:
    linear-gradient(rgba(0,0,0,.35), rgba(0,0,0,.35)),
    url("/assets/img/wood-bg.webp"); /* imaginea ta cu lemn */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.cta-title{
  color: #ffffff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 2.4rem;
  font-weight: 700;
}

/* Buttons */
.btn-cta-primary{
  background: #f97316;
  color: #fff;
  border-radius: 10px;
  font-weight: 600;
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
  transition: all .25s ease;
}

.btn-cta-primary:hover{
  background: #ea580c;
  transform: translateY(-2px);
  color: #fff;
}

.btn-cta-secondary{
  background: #ffffff;
  color: #0b2447;
  border-radius: 10px;
  font-weight: 600;
  box-shadow: 0 8px 18px rgba(0,0,0,.15);
  transition: all .25s ease;
}

.btn-cta-secondary:hover{
  background: #f1f5f9;
  transform: translateY(-2px);
  color: #0b2447;
}

/* BOTTOM DARK BLUE BAR */
.cta-footer{
  background: #0b2447;
  color: #ffffff;
  padding: 22px 0;
  font-size: 0.95rem;
}

.cta-footer i{
  opacity: .8;
}

/* Responsive */
@media (max-width: 991.98px){
  .cta-main{
    padding: 60px 0;
  }

  .cta-title{
    font-size: 1.8rem;
  }
}



/* FAQ SECTION */
.faq-section{
  padding: 100px 0;
  background: #f8fafc;
}

.faq-title{
  font-family: "Playfair Display", Georgia, serif;
  font-size: 2.5rem;
  font-weight: 700;
  color: #0b2447;
}

.faq-subtitle{
  color: #64748b;
  max-width: 650px;
  margin: 0 auto;
}

/* Accordion styling */
.faq-accordion .accordion-item{
  border: none;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 15px;
  box-shadow: 0 8px 20px rgba(2,6,23,.06);
}

/* Button */
.faq-accordion .accordion-button{
  background: #ffffff;
  font-weight: 700;
  color: #0b2447;
  padding: 18px 22px;
  transition: all .25s ease;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
}

/* Remove default arrow */
.faq-accordion .accordion-button::after{
  display:none !important;
}

/* Active state */
.faq-accordion .accordion-button:not(.collapsed){
  background: #0b2447;
  color: #ffffff;
}

/* Body */
.faq-accordion .accordion-body{
  background: #ffffff;
  padding: 20px 22px;
  color: #334155;
  line-height: 1.65;
}

.faq-accordion .accordion-button:focus{
  box-shadow: none;
}

/* + / - icon */
.faq-icon{
  width: 36px;
  height: 36px;
  border-radius: 12px;
  border: 1px solid rgba(2,6,23,.10);
  background: rgba(11,36,71,.06);
  position: relative;
  flex: 0 0 auto;
}

/* horizontal line (always) */
.faq-icon::before{
  content:"";
  position:absolute;
  left: 9px;
  right: 9px;
  top: 50%;
  height: 2px;
  background: #c48a2c; /* gold */
  transform: translateY(-50%);
}

/* vertical line (only when collapsed => plus) */
.accordion-button.collapsed .faq-icon::after{
  content:"";
  position:absolute;
  top: 9px;
  bottom: 9px;
  left: 50%;
  width: 2px;
  background: #c48a2c; /* gold */
  transform: translateX(-50%);
}

/* When open: icon background changes */
.faq-accordion .accordion-button:not(.collapsed) .faq-icon{
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.18);
}

/* Fade-in animation */
.fade-in{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .7s ease, transform .7s ease;
}
.fade-in.is-visible{
  opacity: 1;
  transform: translateY(0);
}

/* Responsive */
@media (max-width: 991.98px){
  .faq-section{ padding: 70px 0; }
  .faq-title{ font-size: 2rem; }
}





.reviews-section .carousel{
  padding-bottom: 46px; /* spațiu pentru indicators */
}

.review-card{
  border: 1px solid rgba(2,6,23,.08);
  border-radius: 18px;
  padding: 18px 18px 16px;
  background: #fff;
  box-shadow: 0 10px 10px rgba(2,6,23,.08);
}

.review-stars{
  color: #f59e0b; /* gold */
  letter-spacing: 1px;
  margin-bottom: 10px;
  font-size: 14px;
}

.review-text{
  color: #0f172a;
  margin: 0 0 14px;
  line-height: 1.55;
  min-height: 72px;
}

.review-meta{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid rgba(2,6,23,.06);
}

.review-name{
  font-weight: 700;
  color: #0b2447;
}

.review-sub{
  font-size: .9rem;
  color: #64748b;
}

/* Controls (mai discrete) */
.reviews-section .carousel-control-prev,
.reviews-section .carousel-control-next{
  width: 44px;
  opacity: .85;
}
.reviews-section .carousel-control-prev:hover,
.reviews-section .carousel-control-next:hover{
  opacity: 1;
}

/* Indicators jos, centrate */
.reviews-indicators{
  bottom: 0;
}
.reviews-indicators [data-bs-target]{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  margin: 0 6px;
}
.carousel-item .row{ align-items: stretch; }
.review-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.review-source{
  display:flex;
  align-items:center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(2,6,23,.08);
  background: rgba(255,255,255,.75);
}

.review-source-text{
  font-weight: 700;
  font-size: .9rem;
  color: #0b2447;
}

.g-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

 /* Hero page*/
    .page-hero{
      position:relative;
      min-height: 72vh;
      display:flex;
      align-items:center;
      color:#fff;
      overflow:hidden;
      background: var(--navy);
    }
    .page-hero::before{
      content:"";
      position:absolute; inset:0;
      background:
        linear-gradient(90deg, rgba(11,36,71,.90) 0%, rgba(11,36,71,.70) 55%, rgba(11,36,71,.45) 100%),
        url("/assets/img/hero-bg.webp"); /* pune imaginea ta */
      background-size: cover;
      background-position: center;
      transform: scale(1.03);
      filter: saturate(.95);
    }
    .page-hero .container{ position:relative; z-index:2; padding-top: 92px; padding-bottom: 52px; }
    .page-hero h1{ font-family:"Playfair Display",Georgia,serif; font-weight:700; }
    .hero-kicker{
      display:inline-flex; align-items:center; gap:.5rem;
      padding:.35rem .75rem; border-radius:999px;
      border: 1px solid rgba(255,255,255,.22);
      background: rgba(255,255,255,.08);
      color: rgba(255,255,255,.92);
      font-weight:700;
    }
    /* Mobile */
@media (max-width: 768px){
    .page-hero {
      padding: 30px 0;
    }
}
 /* Info boxes */
    .info-box{ padding: 24px; }   
    
/* Reviews teaser */
    .reviews-teaser{
      background: var(--navy);
      color:#fff;
      border-radius: calc(var(--radius) + 8px);
      padding: 2.2rem;
      position: relative;
      overflow:hidden;
    }
    .reviews-teaser::before{
      content:"";
      position:absolute; inset:-40px;
      background: radial-gradient(circle at 20% 20%, rgba(243,156,18,.22), transparent 45%),
                  radial-gradient(circle at 80% 0%, rgba(255,255,255,.10), transparent 45%);
    }
    .reviews-teaser > *{ position:relative; z-index:1; }
    
 /* Notary flow */
    .notary-step{
      display:flex; gap:1rem; align-items:flex-start;
      padding: 1rem 1rem;
      border-radius: var(--radius);
      border: 1px solid rgba(2,6,23,.08);
      background: #fff;
      height:100%;
    }
    .notary-step .badge{ background: rgba(11,36,71,.10); color: var(--navy); border: 1px solid rgba(11,36,71,.14); }   
    
 /* SLA cards */
    .sla-card{ padding: 22px; }
    .sla-icon{
      width: 46px; height: 46px; border-radius: 14px;
      background: rgba(11,36,71,.06);
      border: 1px solid rgba(11,36,71,.10);
      display:flex; align-items:center; justify-content:center;
    }
    .sla-icon i{ color: var(--navy); font-size: 22px; }    
    
 /* Cards */
    .card-elevated{
      border: 1px solid var(--card-border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      background:#fff;
    }
    .service-card{ padding: 22px; height:100%; }
    .service-icon{
      width: 46px; height: 46px; border-radius: 14px;
      background: rgba(11,36,71,.06);
      display:flex; align-items:center; justify-content:center;
      border: 1px solid rgba(11,36,71,.10);
    }
    /*.service-icon i{ color: var(--navy); font-size: 22px; }*/
    .service-card h3{ color: var(--navy); font-weight:800; }
    .service-card ul{ margin: 0; padding-left: 1.1rem; color: #334155; }
    .service-card li{ margin-bottom: .35rem; }
    .service-card .btn{ border-radius: 12px; font-weight:700; }
    
 /* Compare block */
    .compare{ background: var(--bg); }
    .compare-box{ padding: 26px; }
    .compare-badge{
      display:inline-flex; align-items:center; gap:.5rem;
      padding:.35rem .7rem; border-radius:999px;
      background: rgba(11,36,71,.08);
      border: 1px solid rgba(11,36,71,.12);
      color: var(--navy); font-weight:700;
    }
    .ticklist li{ margin-bottom:.55rem; display:flex; gap:.55rem; }
    .ticklist i{ color: var(--navy); }

    /* Docs list */
    .docs-grid .badge{
      padding: .55rem .7rem;
      border-radius: 999px;
      border: 1px solid rgba(2,6,23,.10);
      background: #fff;
      color: #0b2447;
      font-weight: 700;
    }
    
/* =========================
   COOKIE CONSENT
========================= */

.cookie-bar{
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(11,36,71,.98);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff;
  padding: 18px 0;
  box-shadow: 0 -10px 25px rgba(2,6,23,.25);
  z-index: 2000;
  display: none;
}

.cookie-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.cookie-text{
  font-size: .95rem;
  line-height: 1.6;
  max-width: 800px;
}

.cookie-link{
  color: var(--accent);
  text-decoration: none;
  font-weight: 600;
}

.cookie-link:hover{
  text-decoration: underline;
}

.btn-cookie{
  background: var(--accent);
  color: #111;
  font-weight: 700;
  padding: 10px 22px;
  border-radius: 999px;
  border: none;
  transition: all .25s ease;
}

.btn-cookie:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(243,156,18,.35);
}

/* Mobile */
@media (max-width: 768px){
  .cookie-inner{
    flex-direction: column;
    align-items: flex-start;
  }

  .btn-cookie{
    width: 100%;
    text-align: center;
  }
}    


/* =========================
   PAGE HERO (Limbi)
========================= */
.page-hero{
  position: relative;
  padding: 110px 0 60px;
  color:#fff;
  background: var(--navy);
  overflow:hidden;
}
.page-hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(11,36,71,.92) 0%, rgba(11,36,71,.72) 55%, rgba(11,36,71,.45) 100%),
    url("/assets/img/hero-bg.webp");
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
}
.page-hero .container{ position:relative; z-index:2; }
.hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .75rem;
  border-radius:999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
  font-weight:800;
}
.page-hero__title{
  font-family:"Playfair Display", Georgia, serif;
  font-weight:700;
}
.page-hero__lead{
  color: rgba(255,255,255,.88);
  max-width: 50rem;
}

/* Mobile */
@media (max-width: 768px){
    .page-hero {
      padding: 30px 0;
    }
}

/* =========================
   Languages grid
========================= */
.lang-card{
  display:flex;
  align-items:center;
  gap: 14px;
  padding: 18px 18px;
  border-radius: var(--radius);
  border:1px solid var(--border);
  background:#fff;
  text-decoration:none;
  color: var(--text);
  box-shadow: 0 10px 25px rgba(2,6,23,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  height:100%;
}
.lang-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 35px rgba(2,6,23,.10);
  border-color: rgba(11,36,71,.18);
  color: var(--text);
}
.lang-card__icon{
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: rgba(11,36,71,.08);
  border: 1px solid rgba(11,36,71,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}
.lang-card__icon i{ color: var(--navy); font-size: 22px; }
.lang-card__title{ font-weight: 800; color: var(--navy); }
.lang-card__meta{ font-size: .92rem; color: var(--muted); }
.lang-card__chev{ margin-left:auto; color: rgba(11,36,71,.45); }

/* Optional: keep cards equal height in row */
.lang-item{ display:flex; }

/* =========================
   PAGE HERO (LANG)
========================= */
.page-hero--lang{
  position: relative;
  padding: 110px 0 60px;
  color:#fff;
  background: var(--navy);
  overflow:hidden;
}
.page-hero--lang::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(11,36,71,.92) 0%, rgba(11,36,71,.72) 55%, rgba(11,36,71,.45) 100%),
    var(--hero-img, url("/assets/img/hero-lang.webp"));
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
}
.page-hero--lang .container{ position:relative; z-index:2; }
 /* Mobile */
@media (max-width: 768px){
    .page-hero--lang {
      padding: 30px 0;
    }
}

/* =========================
   PAGE HERO (Tarife)
========================= */
.page-hero--tarife{
  position: relative;
  padding: 110px 0 60px;
  color:#fff;
  background: var(--navy);
  overflow:hidden;
}
.page-hero--tarife::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(11,36,71,.92) 0%, rgba(11,36,71,.72) 55%, rgba(11,36,71,.45) 100%),
    var(--hero-img, url("/assets/img/hero-bg.webp"));
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
}
.page-hero--tarife .container{ position:relative; z-index:2; }

/* Tarife table styling */
.tarife-table thead th{
  background: rgba(11,36,71,.06);
  color: var(--navy);
  font-weight: 800;
  border-bottom: 1px solid rgba(2,6,23,.08);
  padding: 14px 16px;
}
.tarife-table tbody td{
  padding: 14px 16px;
  vertical-align: top;
}
.tarife-table tbody tr:hover{
  background: rgba(11,36,71,.03);
}

/* =========================
   PAGE HERO (Contact)
========================= */
.page-hero--contact{
  position: relative;
  padding: 110px 0 60px;
  color:#fff;
  background: var(--navy);
  overflow:hidden;
}
.page-hero--contact::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(11,36,71,.92) 0%, rgba(11,36,71,.72) 55%, rgba(11,36,71,.45) 100%),
    var(--hero-img, url("/assets/img/hero-bg.webp"));
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
}
.page-hero--contact .container{ position:relative; z-index:2; }

/* Contact items */
.contact-item{
  display:flex;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(2,6,23,.08);
}
.contact-item:last-child{ border-bottom:0; padding-bottom:0; }

.contact-ic{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(11,36,71,.08);
  border: 1px solid rgba(11,36,71,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}
.contact-ic i{ color: var(--navy); font-size: 20px; }

.contact-label{
  font-size: .85rem;
  color: var(--muted);
  margin-bottom: 2px;
}
.contact-value{
  font-weight: 800;
  color: var(--navy);
}
.contact-link{
  font-weight: 800;
  color: var(--navy);
  text-decoration: none;
}
.contact-link:hover{ text-decoration: underline; }

/* Map */
.map-wrap{
  position: relative;
  width:100%;
  height: 420px;
}
.map-wrap iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
@media (max-width: 767.98px){
  .map-wrap{ height: 320px; }
}

/* Small icon box used on Tarife too */
.sla-icon{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(11,36,71,.08);
  border: 1px solid rgba(11,36,71,.10);
  display:flex;
  align-items:center;
  justify-content:center;
}
.sla-icon i{ color: var(--navy); font-size: 20px; }

/* =========================
   PAGE HERO (Policy)
========================= */
.page-hero--policy{
  position: relative;
  padding: 110px 0 60px;
  color:#fff;
  background: var(--navy);
  overflow:hidden;
}
.page-hero--policy::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(11,36,71,.92) 0%, rgba(11,36,71,.72) 55%, rgba(11,36,71,.45) 100%),
    var(--hero-img, url("/assets/img/hero-bg.webp"));
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
}
.page-hero--policy .container{ position:relative; z-index:2; }

/* Boxes */
.policy-box{
  border: 1px solid rgba(2,6,23,.08);
  border-radius: var(--radius);
  background: #fff;
  padding: 16px 16px;
  height:100%;
  box-shadow: 0 10px 25px rgba(2,6,23,.06);
}
.policy-box__title{
  font-weight: 900;
  color: var(--navy);
  margin-bottom: 6px;
}
.policy-box__text{
  font-size: .95rem;
  line-height: 1.6;
}

/* Sticky right card (desktop) */
@media (min-width: 992px){
  .sticky-card{
    position: sticky;
    top: 110px;
  }
}

.page-hero--about{
position: relative;
padding:110px 0 60px;
color:#fff;
background: var(--navy);
overflow:hidden;
}

.page-hero--about::before{
content:"";
position:absolute;
inset:0;

background:
linear-gradient(90deg,
rgba(11,36,71,.92),
rgba(11,36,71,.70)),
var(--hero-img);

background-size:cover;
background-position:center;
}

.page-hero--about .container{
position:relative;
z-index:2;
}

/* =========================
   RESPONSE MODAL PREMIUM
========================= */

.response-modal-content{
  border: none;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(2,6,23,.22);
}

.response-modal-top{
  padding: 28px 20px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.response-modal-icon{
  width: 84px;
  height: 84px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #fff;
  box-shadow: 0 12px 30px rgba(0,0,0,.16);
}

.response-modal-title{
  font-weight: 800;
  color: var(--navy);
  font-size: 1.35rem;
}

.response-modal-text{
  color: var(--muted);
  line-height: 1.6;
  font-size: 1rem;
}

/* Success state */
.response-modal-top.is-success{
  background: linear-gradient(180deg, rgba(25,135,84,.12), rgba(25,135,84,.03));
}

.response-modal-top.is-success .response-modal-icon{
  background: linear-gradient(135deg, #198754, #157347);
}

/* Error state */
.response-modal-top.is-error{
  background: linear-gradient(180deg, rgba(220,53,69,.12), rgba(220,53,69,.03));
}

.response-modal-top.is-error .response-modal-icon{
  background: linear-gradient(135deg, #dc3545, #bb2d3b);
}

/* Optional subtle animation */
#responseModal .modal-content{
  transform: scale(.96);
  transition: transform .2s ease;
}

#responseModal.show .modal-content{
  transform: scale(1);
}

/* =========================
   CUSTOM FILE UPLOAD
========================= */

.upload-box{
  position: relative;
}

.upload-input{
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
}

.upload-label{
  width: 100%;
  min-height: 210px;
  border: 2px dashed rgba(11,36,71,.22);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(11,36,71,.03), rgba(11,36,71,.01));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 28px 20px;
  transition: all .25s ease;
  cursor: pointer;
}

.upload-label:hover{
  border-color: rgba(11,36,71,.40);
  background: linear-gradient(180deg, rgba(11,36,71,.05), rgba(11,36,71,.015));
  transform: translateY(-1px);
}

.upload-box.is-dragover .upload-label{
  border-color: var(--accent);
  background: linear-gradient(180deg, rgba(243,156,18,.10), rgba(243,156,18,.03));
  box-shadow: 0 16px 35px rgba(243,156,18,.10);
}

.upload-icon{
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(11,36,71,.08);
  border: 1px solid rgba(11,36,71,.10);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.upload-icon i{
  font-size: 1.8rem;
  color: var(--navy);
}

.upload-title{
  font-weight: 800;
  color: var(--navy);
  font-size: 1.15rem;
  margin-bottom: 6px;
}

.upload-subtitle{
  color: var(--muted);
  font-size: .98rem;
  margin-bottom: 6px;
}

.upload-types{
  font-size: .85rem;
  color: rgba(15,23,42,.65);
}

/* errors */
.upload-error-box .alert{
  margin-bottom: 0;
}

/* progress */
.upload-progress-wrap{
  background: #fff;
  border: 1px solid rgba(2,6,23,.08);
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 10px 22px rgba(2,6,23,.04);
}

.upload-progress-bar-wrap{
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(11,36,71,.08);
}

/* files */
.file-list{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.file-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(2,6,23,.08);
  background: #fff;
  box-shadow: 0 10px 22px rgba(2,6,23,.04);
}

.file-item-left{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1;
}

.file-item-icon{
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: rgba(11,36,71,.08);
  border: 1px solid rgba(11,36,71,.10);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  overflow: hidden;
}

.file-item-icon i{
  color: var(--navy);
  font-size: 1.1rem;
}

.file-thumb{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.file-item-info{
  min-width: 0;
  flex: 1;
}

.file-item-name{
  font-weight: 700;
  color: var(--navy);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.file-item-size{
  font-size: .84rem;
  color: var(--muted);
}

.file-remove{
  border: none;
  background: transparent;
  color: #dc3545;
  font-size: 1.05rem;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 10px;
  transition: background .2s ease;
  flex: 0 0 auto;
}

.file-remove:hover{
  background: rgba(220,53,69,.08);
}

@media (max-width: 575.98px){
  .upload-label{
    min-height: 180px;
    padding: 24px 16px;
  }

  .upload-title{
    font-size: 1.05rem;
  }
}

/* =========================
   BLOG
========================= */

.blog-card{
  border: 1px solid rgba(2,6,23,.08);
}

.blog-card-image-link{
  display: block;
  overflow: hidden;
}

.blog-card-image{
  width: 100%;
  height: 240px;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}

.blog-card:hover .blog-card-image{
  transform: scale(1.03);
}

.blog-card-title a{
  color: var(--navy);
}

.blog-card-title a:hover{
  color: var(--navy2);
}

.blog-content{
  color: var(--text);
  line-height: 1.8;
  font-size: 1.03rem;
}

.blog-content h2,
.blog-content h3,
.blog-content h4{
  color: var(--navy);
  font-weight: 800;
  margin-top: 1.8rem;
  margin-bottom: .8rem;
}

.blog-content p{
  margin-bottom: 1rem;
}

.blog-content ul,
.blog-content ol{
  margin-bottom: 1rem;
  padding-left: 1.25rem;
}

.blog-content img{
  max-width: 100%;
  height: auto;
  border-radius: 16px;
  margin: 1rem 0;
}