:root{
  --sat-radius: 16px;
  --sat-dark: #0f172a;
  --sat-dark-2: #0b1224;
  --sat-white: #ffffff;
}

.sat-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px; border-radius:999px;
  background: rgba(0,0,0,.06);
  font-weight: 700; font-size: 13px;
}
.sat-muted{ color: rgba(0,0,0,.65); }
.max-720{ max-width: 720px; }

/* HERO CTA spacing */
.sat-hero-cta{ display:flex; gap:12px; flex-wrap:wrap; }

/* FIX: readable dark CTA */
.sat-cta-dark{
  background: var(--sat-dark) !important;
  border: 1px solid var(--sat-dark) !important;
  color: #fff !important;
}
.sat-cta-dark:hover{
  background: #111c36 !important;
  border-color: #111c36 !important;
  color: #fff !important;
}

.sat-header-cta{ white-space: nowrap; }
.sat-mobile-btn{ border:0; background:transparent; font-size:20px; padding:10px 12px; }

/* Mobile menu */
.sat-mobile-menu{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.55);
  display: none;
  z-index: 9999;
}
.sat-mobile-menu > nav{
  width: min(360px, 92vw);
  height: 100%;
  background: #fff;
  padding: 70px 20px 24px;
}
.sat-mobile-menu a{
  display:block;
  padding: 12px 6px;
  font-weight: 800;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.sat-mobile-close{
  position:absolute;
  top: 16px; left: 16px;
  width: 44px; height: 44px;
  border-radius: 999px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
}
.sat-mobile-mini{ margin-top:18px; font-size:14px; }
.sat-mobile-mini a{
  font-weight:600; border-bottom:0;
  padding:8px 6px; color:rgba(0,0,0,.7);
}

/* Hero */
.sat-hero{
  background: linear-gradient(180deg, rgba(250,250,252,1) 0%, rgba(255,255,255,1) 100%);
}
.sat-hero-text{
  margin-top: 14px;
  color: rgba(0,0,0,.65);
  font-size: 16px;
  line-height: 1.7;
  max-width: 520px;
}
.sat-hero-pills{
  display:flex; flex-wrap: wrap; gap: 10px;
  margin-top: 18px;
}
.sat-pill{
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  font-weight: 800;
  font-size: 13px;
  background:#fff;
}
.sat-ghost-btn{
  margin-left: 12px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
}

/* Hero collage */
.sat-hero-collage{ position: relative; min-height: 420px; }
.sat-collage-img{
  border-radius: var(--sat-radius);
  box-shadow: 0 20px 60px rgba(0,0,0,.12);
  object-fit: cover;
}
.sat-collage-img-1{ position:absolute; top: 0; right: 0; width: 72%; height: 78%; }
.sat-collage-img-2{ position:absolute; bottom: 0; left: 0; width: 52%; height: 54%; }
.sat-collage-img-3{ position:absolute; bottom: 10%; right: 8%; width: 44%; height: 38%; opacity: .95; }
@media (max-width: 768px){
  .sat-hero-collage{ min-height: 320px; margin-top: 24px; }
}

/* Active nav */
.tp-main-menu-content .sat-nav-link.is-active{
  color: #000;
  text-decoration: underline;
  text-underline-offset: 6px;
}

/* Section bands */
.sat-band{
  position: relative;
  padding-top: 90px;
  padding-bottom: 90px;
}
.sat-band::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:1px;
  background: rgba(0,0,0,.07);
}
.sat-band-alt{ background: #f6f7fb; }

/* ===========================
   PRODUCTS — MORE EFFECTS
=========================== */

/* the injected product cards use theme classes; we add effects here */
.sat-product-card{
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(15,23,42,.10);
  transform: translateY(0);
  transition: transform .18s ease, box-shadow .18s ease;
  background: #fff;
}
.sat-product-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 26px 70px rgba(15,23,42,.16);
}

.sat-product-img{
  height: 240px;
  background-size: cover;
  background-position: center;
  position: relative;
}

/* gradient overlay for better look */
.sat-product-img::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.42) 100%);
}

/* floating label on image */
.sat-product-badge{
  position:absolute;
  left: 14px;
  top: 14px;
  z-index: 2;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
  font-weight: 900;
  font-size: 12px;
}

.sat-product-meta{
  padding: 16px 16px 18px;
}

.sat-tag{
  display:inline-flex; gap:8px; align-items:center;
  font-size: 12px; font-weight: 900;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(15,23,42,.06);
  margin-bottom: 10px;
}

.sat-product-title{
  font-weight: 950;
  margin: 0 0 6px;
  letter-spacing: -.2px;
}
.sat-product-desc{
  margin: 0;
  color: rgba(0,0,0,.68);
  line-height: 1.75;
  font-size: 14.5px;
}
.sat-product-bullets{
  margin: 12px 0 0;
  padding-left: 18px;
  color: rgba(0,0,0,.68);
}
.sat-product-bullets li{ margin-bottom: 6px; }

/* ===========================
   ABOUT / CONTACT (same)
=========================== */
.sat-about-gallery{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 18px;
}
.sat-about-gallery img{
  width:100%;
  height: 160px;
  object-fit: cover;
  border-radius: var(--sat-radius);
}
.sat-about-card{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 20px;
  padding: 20px;
  background: #fff;
}
.sat-about-card ul{
  margin: 12px 0 18px;
  padding-left: 18px;
  color: rgba(0,0,0,.65);
}
.sat-about-sideimg img{
  margin-top: 14px;
  width: 100%;
  height: 320px;
  border-radius: 20px;
  object-fit: cover;
}
.sat-icon-list{ margin-top: 14px; display:grid; gap: 10px; }
.sat-icon-item{ display:flex; gap: 10px; align-items:flex-start; color: rgba(0,0,0,.72); }
.sat-icon-item i{ margin-top: 3px; }

.sat-contact-card{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 20px;
  padding: 18px;
  background: #fff;
  height: 100%;
}
.sat-contact-imgs{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}
.sat-contact-imgs img{
  width: 100%;
  height: 170px;
  object-fit: cover;
  border-radius: 16px;
}
.sat-label{ display:block; font-weight: 800; margin-bottom: 6px; }
.sat-input{
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.12);
  padding: 12px 12px;
  outline: none;
}
.sat-input:focus{ border-color: rgba(0,0,0,.35); }
.sat-submit{ width: 100%; }
.sat-form-note{ margin-top: 10px; }

.sat-footer-gallery{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.sat-footer-gallery img{
  width: 100%;
  height: 110px;
  object-fit: cover;
  border-radius: 14px;
}


/* ===========================
   FAQ — Luxury Gold / Champagne (no navy)
   + lighter typography (not extra bold)
=========================== */

#faq.sat-band-faq{
  /* Soft warm overlay + keeps your background image */
  background:
    radial-gradient(900px 420px at 18% 22%, rgba(245,158,11,.22), rgba(245,158,11,0) 62%),
    radial-gradient(760px 380px at 82% 70%, rgba(251,191,36,.18), rgba(251,191,36,0) 60%),
    linear-gradient(0deg, rgba(255,252,245,.92), rgba(255,252,245,.92)),
    var(--faq-bg);
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

/* If you added shapes inside FAQ, make them subtle + warm */
#faq .sat-bg{ opacity: .55; }
#faq .sat-shape{ opacity: .12; filter: saturate(1.1); }

/* ---------- Header ---------- */
#faq .sat-faq-head{ margin-bottom: 24px; }

#faq .sat-faq-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 14px;
  border-radius: 999px;

  /* gold pill */
  background: linear-gradient(90deg, rgba(245,158,11,.18), rgba(251,191,36,.16));
  border: 1px solid rgba(146, 88, 18, .18);
  color: rgba(62, 36, 10, .92);

  font-weight: 650;   /* lighter than before */
  font-size: 13px;
  letter-spacing: .2px;
}

#faq .tp-testimonial-section-title{
  color: #1f2937;     /* charcoal */
  letter-spacing: -.2px;
  font-weight: 700;   /* not super bold */
  margin-bottom: 10px;
}

#faq .sat-faq-sub{
  color: rgba(31,41,55,.78);
  max-width: 920px;
  margin: 0 auto;
  line-height: 1.85;
  font-size: 15.5px;
  font-weight: 400;
}
#faq .sat-faq-sub a{
  color: #925812; /* warm brown-gold */
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* ---------- Accordion cards ---------- */
#faq .sat-accordion{ margin-top: 18px; }

#faq .sat-acc-item{
  border-radius: 18px;
  margin-bottom: 14px;
  overflow: hidden;

  /* champagne glass card */
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(146, 88, 18, .16);
  box-shadow: 0 18px 55px rgba(17,24,39,.10);
  backdrop-filter: blur(10px);

  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
#faq .sat-acc-item:hover{
  transform: translateY(-2px);
  border-color: rgba(245,158,11,.28);
  box-shadow: 0 26px 70px rgba(17,24,39,.14);
}

/* Question row: lighter weight + better readability */
#faq .sat-acc-btn{
  width: 100%;
  text-align: left;
  padding: 18px 18px;
  background: transparent;
  border: 0;

  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;

  font-weight: 650;     /* reduce bold */
  font-size: 16px;
  letter-spacing: .1px;
  color: rgba(17,24,39,.92);
}

/* Icon button becomes gold */
#faq .sat-acc-btn i{
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;

  background: linear-gradient(180deg, rgba(245,158,11,.22), rgba(251,191,36,.18));
  border: 1px solid rgba(146, 88, 18, .18);
  color: rgba(62, 36, 10, .90);

  transition: transform .18s ease, filter .18s ease;
}

/* Answer panel */
#faq .sat-acc-panel{
  display:none;
  padding: 0 18px 18px;
  color: rgba(31,41,55,.82);
  font-size: 15.5px;
  line-height: 1.9;
  font-weight: 400;
}
#faq .sat-acc-panel p{ margin: 0; }
#faq .sat-acc-panel strong{
  color: rgba(17,24,39,.95);
  font-weight: 650; /* not too heavy */
}

/* Open state: gold accent */
#faq .sat-acc-item.is-open{
  border-color: rgba(245,158,11,.45);
  box-shadow: 0 30px 80px rgba(245,158,11,.10), 0 22px 65px rgba(17,24,39,.12);
}
#faq .sat-acc-item.is-open .sat-acc-panel{ display:block; }
#faq .sat-acc-item.is-open .sat-acc-btn i{
  transform: rotate(180deg);
  filter: saturate(1.15);
}

/* Mobile */
@media (max-width: 768px){
  #faq .sat-acc-btn{ font-size: 15px; }
  #faq .sat-acc-panel{ font-size: 14.8px; }
}




/* Accordion container */
.sat-accordion{ margin-top: 18px; }

/* Each item is now a strong card */
.sat-acc-item{
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  border-radius: 18px;
  overflow: hidden;
  margin-bottom: 14px;
  backdrop-filter: blur(10px);
}

/* Button row */
.sat-acc-btn{
  width: 100%;
  text-align: left;
  padding: 18px 18px;
  background: transparent;
  border: 0;
  color: #fff;
  font-weight: 950;
  font-size: 16px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;
}
.sat-acc-btn i{ transition: transform .2s ease; opacity: .95; }

/* Panel: make it SOLID dark so it’s readable */
.sat-acc-panel{
  display:none;
  padding: 0 18px 18px;
  color: #fff;
  font-size: 15.5px;
  line-height: 1.9;
}
.sat-acc-panel p{ margin: 0; color: rgba(255,255,255,.92); }

/* Open state */
.sat-acc-item.is-open{
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.26);
}
.sat-acc-item.is-open .sat-acc-panel{ display:block; }
.sat-acc-item.is-open .sat-acc-btn i{ transform: rotate(180deg); }

/* extra: inside panel emphasize bold */
.sat-acc-panel strong{ color: #fff; }

@media (max-width: 768px){
  .sat-band{ padding-top: 65px; padding-bottom: 65px; }
  .sat-acc-btn{ font-size: 15px; }
  .sat-acc-panel{ font-size: 14.8px; }
}

/* ==========================================
   Decorative background shapes (soft + modern)
========================================== */

/* Ensure shapes are behind content */
.sat-band{ position: relative; overflow: hidden; }
.sat-band > .container,
.sat-band > .container-fluid{
  position: relative;
  z-index: 2;
}

/* Background layer */
.sat-bg{
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

/* Base shape */
.sat-shape{
  position: absolute;
  border-radius: 999px;
  filter: blur(0px);
  opacity: .18;
  transform: translateZ(0);
}

/* Color palette (soft) */
:root{
  --sat-accent1: #7c3aed;  /* purple */
  --sat-accent2: #22c55e;  /* green */
  --sat-accent3: #38bdf8;  /* sky */
  --sat-accent4: #fb7185;  /* rose */
  --sat-accent5: #f59e0b;  /* amber */
}

/* HERO shapes */
.sat-bg--hero .sat-shape--c1{
  width: 260px; height: 260px;
  left: -80px; top: 120px;
  background: radial-gradient(circle at 30% 30%, rgba(124,58,237,.55), rgba(124,58,237,0));
}
.sat-bg--hero .sat-shape--c2{
  width: 340px; height: 340px;
  right: -140px; top: -120px;
  background: radial-gradient(circle at 30% 30%, rgba(56,189,248,.55), rgba(56,189,248,0));
}
.sat-bg--hero .sat-shape--dots{
  width: 220px; height: 220px;
  right: 10%; bottom: 18%;
  opacity: .12;
  background-image: radial-gradient(rgba(15,23,42,.35) 1.2px, transparent 1.2px);
  background-size: 14px 14px;
  border-radius: 24px;
}

/* PRODUCTS shapes */
.sat-bg--products .sat-shape--c3{
  width: 300px; height: 300px;
  left: -120px; bottom: -130px;
  background: radial-gradient(circle at 30% 30%, rgba(245,158,11,.55), rgba(245,158,11,0));
}
.sat-bg--products .sat-shape--c4{
  width: 240px; height: 240px;
  right: -90px; top: 180px;
  background: radial-gradient(circle at 30% 30%, rgba(34,197,94,.55), rgba(34,197,94,0));
}
.sat-bg--products .sat-shape--dots2{
  width: 260px; height: 190px;
  left: 12%; top: 90px;
  opacity: .10;
  background-image: radial-gradient(rgba(15,23,42,.30) 1.2px, transparent 1.2px);
  background-size: 16px 16px;
  border-radius: 24px;
}

/* ABOUT shapes */
.sat-bg--about .sat-shape--c5{
  width: 260px; height: 260px;
  right: -120px; bottom: -120px;
  background: radial-gradient(circle at 30% 30%, rgba(251,113,133,.55), rgba(251,113,133,0));
}
.sat-bg--about .sat-shape--c6{
  width: 360px; height: 360px;
  left: -160px; top: -140px;
  background: radial-gradient(circle at 30% 30%, rgba(56,189,248,.55), rgba(56,189,248,0));
}

/* Ring shape */
.sat-bg--about .sat-shape--ring{
  width: 260px; height: 260px;
  right: 10%; top: 120px;
  opacity: .14;
  border-radius: 999px;
  border: 2px dashed rgba(15,23,42,.28);
}

/* CONTACT shapes */
.sat-bg--contact .sat-shape--c7{
  width: 280px; height: 280px;
  left: -120px; top: 180px;
  background: radial-gradient(circle at 30% 30%, rgba(124,58,237,.55), rgba(124,58,237,0));
}
.sat-bg--contact .sat-shape--c8{
  width: 320px; height: 320px;
  right: -140px; bottom: -140px;
  background: radial-gradient(circle at 30% 30%, rgba(245,158,11,.55), rgba(245,158,11,0));
}
.sat-bg--contact .sat-shape--dots3{
  width: 240px; height: 220px;
  left: 10%; bottom: 12%;
  opacity: .11;
  background-image: radial-gradient(rgba(15,23,42,.32) 1.2px, transparent 1.2px);
  background-size: 15px 15px;
  border-radius: 24px;
}

/* Mobile - reduce size a bit */
@media (max-width: 768px){
  .sat-shape{ opacity: .14; }
  .sat-bg--hero .sat-shape--c2{ width: 240px; height: 240px; right: -120px; top: -120px; }
  .sat-bg--about .sat-shape--c6{ width: 260px; height: 260px; left: -140px; top: -140px; }
}

/* ===========================
   FAQ Readability FIX
   (strong white scrim behind content)
=========================== */

/* Keep background image but soften it */
#faq.sat-band-faq{
  background:
    /* slightly stronger warm overlay */
    linear-gradient(0deg, rgba(255,252,245,.95), rgba(255,252,245,.95)),
    var(--faq-bg);
  background-size: cover;
  background-position: center;
}

/* Add a centered "panel" behind the FAQ content */
#faq .container{
  position: relative;
  z-index: 2;
}
#faq .container::before{
  content:"";
  position:absolute;
  left: 50%;
  top: -20px;
  transform: translateX(-50%);
  width: min(980px, 100%);
  height: calc(100% + 40px);
  border-radius: 28px;

  /* solid readable card background */
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(146, 88, 18, .14);
  box-shadow: 0 26px 90px rgba(17,24,39,.16);

  z-index: -1;
}

/* Make shapes behind FAQ even more subtle (if you kept them) */
#faq .sat-bg{ opacity: .22; }
#faq .sat-shape{ opacity: .08; }

/* Improve text contrast */
#faq .sat-faq-sub{
  color: rgba(17,24,39,.78) !important;
}
#faq .sat-acc-btn{
  color: rgba(17,24,39,.95) !important;
}
#faq .sat-acc-panel{
  color: rgba(17,24,39,.82) !important;
}
#faq .sat-acc-panel p{
  color: rgba(17,24,39,.80) !important;
}

/* Accordion cards: make them more solid */
#faq .sat-acc-item{
  background: rgba(255,255,255,.96) !important;
  border-color: rgba(146,88,18,.14) !important;
}

/* Open state: gold border */
#faq .sat-acc-item.is-open{
  border-color: rgba(245,158,11,.40) !important;
  box-shadow: 0 18px 55px rgba(17,24,39,.12) !important;
}

/* Contact map */
.sat-map-wrap{
  margin-top: 14px;
}
.sat-map{
  width: 100%;
  height: 280px;
  border: 0;
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(17,24,39,.10);
}
.sat-map-actions{
  margin-top: 12px;
  display:flex;
  justify-content:flex-start;
}

/* Footer description: smaller + justified */
.sat-footer-desc{
  font-size: 13px !important;
  line-height: 1.6 !important;
  text-align: justify !important;
  text-justify: inter-word;
  margin-bottom: 0;
}
