/* Sanskriti Modulars — tenant override styles. Edit here without touching Java. */
body{
  font-family: var(--font-body);
  color: var(--color-secondary);
  margin: 0;
  background: #fff;
}
h1,h2,h3,.sk-wordmark{ font-family: var(--font-heading); }

.sk-nav{
  border-bottom: 1px solid #eee;
  padding: 14px 0;
}
.sk-wordmark{
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-secondary);
}
.sk-brand{ display: inline-flex; align-items: center; }
.sk-logo{ height: 46px; width: auto; display: block; }
@media (max-width: 768px){ .sk-logo{ height: 38px; } }
.sk-menu{
  display: flex; gap: 22px; list-style: none; margin: 0; padding: 0;
}
.sk-menu a{
  color: var(--color-secondary); text-decoration: none; font-size: .92rem;
  font-weight: 500; text-transform: uppercase; letter-spacing: .5px;
}
.sk-menu a:hover{ color: var(--color-primary); }
@media (max-width: 768px){ .sk-menu{ display: none; } }

.sk-footer{
  background: var(--color-secondary); color: #cbd5e1; padding: 40px 0; text-align: center;
}
.sk-footer-menu{
  display: flex; gap: 22px; justify-content: center; flex-wrap: wrap;
  list-style: none; margin: 0 0 16px; padding: 0;
}
.sk-footer-menu a{ color: #cbd5e1; text-decoration: none; font-size: .9rem; }
.sk-footer-menu a:hover{ color: var(--color-primary); }
.sk-footer-copy{ margin: 0; font-size: .85rem; color: #94a3b8; }

.sk-readmore{ color: var(--color-secondary); font-weight: 600; text-decoration: none; }
.sk-readmore:hover{ color: var(--color-primary); }
.sk-card.text-start{ text-align: left; }

.sk-page-content{ max-width: 820px; margin: 0 auto; line-height: 1.75; color: #333; }
.sk-page-content h2{ font-family: var(--font-heading); margin-top: 1.6em; }
.sk-page-content img{ max-width: 100%; height: auto; border-radius: 8px; }

.sk-btn{
  background: var(--color-primary);
  color: var(--color-secondary);
  font-weight: 600;
  border: none;
  border-radius: 4px;
  padding: 10px 22px;
}
.sk-btn:hover{ filter: brightness(0.95); color: var(--color-secondary); }
.sk-btn-lg{ padding: 14px 34px; font-size: 1.05rem; margin-top: 26px; }

.sk-hero{
  position: relative;
  overflow: hidden;
  padding: 110px 0 90px;
  background:
    radial-gradient(circle at 50% 0%, rgba(246,195,36,.18), transparent 60%),
    #fff;
}
/* Hero background video */
.sk-hero-video{
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; z-index: 0;
}
.sk-hero-overlay{
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(rgba(17,17,17,.55), rgba(17,17,17,.62));
}
.sk-hero > .container{ position: relative; z-index: 2; }
/* Light text over the video */
.sk-hero--video{ padding: 130px 0 110px; }
.sk-hero--video .sk-hero-title{ color: #fff; }
.sk-hero--video .sk-hero-tagline{ color: #f3f4f6; }
.sk-hero--video .sk-hero-sub{ color: #fde68a; }
.sk-hero--video .sk-badge{ color: #fff; border-color: var(--color-primary); background: rgba(0,0,0,.2); }
.sk-badge{
  display: inline-block;
  font-size: .8rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-secondary);
  border: 1px solid var(--color-primary);
  border-radius: 30px;
  padding: 6px 16px;
  margin-bottom: 26px;
}
.sk-hero-title{
  font-size: clamp(2.6rem, 6vw, 4.4rem);
  letter-spacing: 3px;
  text-transform: uppercase;
  margin: 0 0 10px;
}
.sk-hero-tagline{
  font-size: 1.25rem;
  color: #555;
  margin: 0;
}
.sk-hero-sub{
  font-size: .95rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--color-secondary);
  margin: 14px 0 0;
  font-weight: 500;
}
.sk-section{ padding: 72px 0; }
.sk-section-alt{ background: #faf7ef; }
.sk-section-title{
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  letter-spacing: 1px;
  margin-bottom: 8px;
}

.sk-cat{ margin-top: 40px; }
.sk-cat:first-of-type{ margin-top: 20px; }
.sk-cat-title{
  font-family: var(--font-heading);
  font-size: 1.4rem;
  letter-spacing: .5px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--color-primary);
  display: inline-block;
  margin-bottom: 6px;
}
.sk-card-img{
  width: 100%; height: 150px; object-fit: cover;
  border-radius: 6px; margin-bottom: 12px;
}
.sk-card-link{ text-decoration: none; color: inherit; display: block; }
.sk-card-link:hover .sk-card{ transform: translateY(-4px); box-shadow: 0 12px 30px rgba(0,0,0,.08); }

/* Product detail gallery */
.sk-product-img{ width: 100%; max-height: 460px; object-fit: cover; border-radius: 10px; }
.sk-product-media{ border-radius: 10px; overflow: hidden; }
.sk-product-noimg{ font-size: 5rem; text-align: center; padding: 80px 0; background: #faf7ef; border-radius: 10px; }
.sk-thumbs{ display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.sk-thumbs button{ border: 2px solid transparent; border-radius: 6px; padding: 0; overflow: hidden; width: 70px; height: 54px; background: none; }
.sk-thumbs button.active{ border-color: var(--color-primary); }
.sk-thumbs img{ width: 100%; height: 100%; object-fit: cover; display: block; }

.sk-card{
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 22px 18px;
  text-align: center;
  transition: transform .2s, box-shadow .2s;
}
.sk-card:hover{ transform: translateY(-4px); box-shadow: 0 12px 30px rgba(0,0,0,.08); }
.sk-card-icon{ font-size: 2.2rem; margin-bottom: 12px; }
.sk-card-title{ font-size: 1.15rem; margin: 0 0 8px; }
.sk-card-desc{ font-size: .92rem; color: #666; margin: 0; }

.sk-gallery-item{ margin: 0; position: relative; overflow: hidden; border-radius: 8px; }
.sk-gallery-item img{ width: 100%; height: 220px; object-fit: cover; display: block; }
.sk-gallery-item figcaption{
  position: absolute; left: 0; right: 0; bottom: 0;
  background: linear-gradient(transparent, rgba(0,0,0,.65));
  color: #fff; padding: 22px 14px 10px; font-size: .9rem;
}

/* ── Reviews / testimonials (Google-style carousel) ── */
.testimonials-section .section-label{
  display:inline-block; background:rgba(246,195,36,.14); border:1px solid rgba(246,195,36,.4);
  border-radius:50px; padding:5px 16px; font-size:.78rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:#a16207; margin-bottom:14px;
}
.section-sub{ color:#666; font-size:clamp(.88rem,2.5vw,1rem); max-width:560px; margin:8px auto 40px; }

.google-strip{
  background:#faf7ef; border:1px solid #eee6cf; border-radius:14px;
  max-width:680px; margin:0 auto 44px; padding:16px 28px;
}
.google-strip-inner{ display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; }
.google-strip-inner svg{ flex-shrink:0; }
.google-stars{ color:#f4b942; font-size:1.15rem; letter-spacing:2px; }
.google-rating-num{ font-size:.95rem; color:#333; }
.google-divider{ width:1px; height:22px; background:#ddd; }
.google-verified{ font-size:.82rem; color:#555; }

.testimonials-track-wrap{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.testimonials-track{ display:flex; gap:22px; width:max-content; animation:skScrollTrack 40s linear infinite; }
.testimonials-track:hover{ animation-play-state:paused; }
@keyframes skScrollTrack{ 0%{ transform:translateX(0); } 100%{ transform:translateX(-50%); } }

.tcard{
  min-width:300px; max-width:300px; background:#fff; border:1px solid #eee; border-radius:14px;
  padding:26px 24px; display:flex; flex-direction:column; gap:14px; text-align:left;
  box-shadow:0 6px 20px rgba(0,0,0,.05); transition:transform .2s, box-shadow .2s;
}
.tcard:hover{ transform:translateY(-6px); box-shadow:0 14px 34px rgba(0,0,0,.1); }
.tcard-top{ display:flex; align-items:center; justify-content:space-between; }
.tcard-stars{ color:#f4b942; font-size:1rem; letter-spacing:2px; }
.tcard-google-logo{ height:16px; opacity:.7; }
.tcard-text{ font-size:.9rem; color:#444; line-height:1.7; flex:1; font-style:italic; margin:0; }
.tcard-author{ display:flex; align-items:center; gap:12px; }
.tcard-avatar{
  width:42px; height:42px; min-width:42px; border-radius:50%; color:#fff; font-weight:700; font-size:16px;
  display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#1f2937,#111);
}
.tcard-author strong{ display:block; font-size:.9rem; color:var(--color-secondary); }
.tcard-author span{ font-size:.78rem; color:#888; }

.testimonial-dots{ display:flex; gap:8px; justify-content:center; margin-top:30px; }
.t-dot{ width:9px; height:9px; border-radius:50%; background:#d9cdb0; transition:transform .2s, background .2s; }
.t-dot.active{ background:var(--color-primary); transform:scale(1.3); }

.sk-quote{
  background: #fff; border: 1px solid #eee; border-radius: 8px; padding: 28px;
}
.sk-stars{ color: var(--color-primary); letter-spacing: 2px; margin-bottom: 10px; }
.sk-quote-text{ font-style: italic; color: #333; margin: 0 0 14px; }
.sk-quote-author{ margin: 0; color: #666; font-size: .9rem; }

.accordion-button:not(.collapsed){
  color: var(--color-secondary);
  background: #faf7ef;
  box-shadow: inset 0 -1px 0 var(--color-primary);
}
.accordion-button:focus{ box-shadow: 0 0 0 .2rem rgba(246,195,36,.35); }

.sk-strip{
  background: var(--color-secondary);
  color: #ddd;
  padding: 30px 0;
  text-align: center;
  font-size: .95rem;
}
.sk-strip code{ color: var(--color-primary); }
