/*
Theme Name:  Shweta Design Studio
Theme URI:   https://shwetadesignstudio.com
Description: Premium Kadence child theme for Shweta Design Studio — Shopify-style WooCommerce product pages with full conversion optimization.
Author:      Shweta Design Studio
Template:    kadence
Version:     1.0.0
License:     GNU General Public License v2 or later
Text Domain: shweta-kadence
*/

/* ═══════════════════════════════════════════════════════
   DESIGN TOKENS
═══════════════════════════════════════════════════════ */
:root {
  --purple:      #5C2D8F;
  --purple-dark: #3E1A6A;
  --purple-mid:  #7B4DB5;
  --purple-soft: #F3EEF9;
  --teal:        #00897B;
  --teal-dark:   #00695C;
  --teal-soft:   #E0F2F0;
  --gold:        #F9A825;
  --gold-dark:   #5B3A00;
  --coral:       #E53935;
  --dark:        #1A1A2E;
  --mid:         #5A5A7A;
  --light:       #F8F7FC;
  --white:       #FFFFFF;
  --border:      #EAE4F4;
  --shadow-sm:   0 2px 12px rgba(92,45,143,.08);
  --shadow-md:   0 8px 32px rgba(92,45,143,.13);
  --shadow-lg:   0 20px 60px rgba(92,45,143,.18);
  --r:           14px;
  --r-lg:        22px;
  --max:         1160px;
}

/* ═══════════════════════════════════════════════════════
   GLOBAL — Kadence-safe resets on product pages only
═══════════════════════════════════════════════════════ */
body.single-product {
  background: var(--light) !important;
  font-family: 'Inter', sans-serif !important;
}

/* Kadence sets its own content width — override for product pages */
body.single-product .entry-content-wrap,
body.single-product .content-wrap,
body.single-product article.product {
  max-width: 100% !important;
  padding: 0 !important;
}

/* Hide Kadence's default product hero/title section */
body.single-product .entry-hero,
body.single-product .kadence-breadcrumbs { display: none !important; }

/* Kill default WC elements we replace */
body.single-product .woocommerce-product-gallery { display: none !important; }
body.single-product .summary.entry-summary { display: none !important; }
body.single-product .woocommerce-tabs { display: none !important; }
body.single-product .related.products { display: none !important; }
body.single-product .up-sells { display: none !important; }
body.single-product .product_meta { display: none !important; }

/* ═══════════════════════════════════════════════════════
   ANNOUNCE BAR
═══════════════════════════════════════════════════════ */
.sds-announce-bar {
  background: var(--purple-dark);
  color: #fff;
  text-align: center;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 500;
  font-family: 'Inter', sans-serif;
  letter-spacing: .2px;
}
.sds-announce-bar strong { color: var(--gold); }

/* ═══════════════════════════════════════════════════════
   PAGE WRAPPER
═══════════════════════════════════════════════════════ */
.sds-page {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 28px 80px;
  font-family: 'Inter', sans-serif;
  color: var(--dark);
}

/* ═══════════════════════════════════════════════════════
   BREADCRUMB
═══════════════════════════════════════════════════════ */
.sds-breadcrumb {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; color: var(--mid);
  padding: 20px 0 0; flex-wrap: wrap;
}
.sds-breadcrumb a { color: var(--teal); text-decoration: none; transition: opacity .2s; }
.sds-breadcrumb a:hover { opacity: .7; }
.sds-bc-current { color: var(--dark); font-weight: 500; }

/* ═══════════════════════════════════════════════════════
   PRODUCT GRID
═══════════════════════════════════════════════════════ */
.sds-product-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
  padding: 32px 0 64px;
}

/* ═══════════════════════════════════════════════════════
   GALLERY
═══════════════════════════════════════════════════════ */
.sds-gallery { position: sticky; top: 110px; }

.sds-main-img-wrap {
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--white);
  border: 1.5px solid var(--border);
  aspect-ratio: 1 / 1.1;
  cursor: zoom-in;
  position: relative;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .3s;
}
.sds-main-img-wrap:hover { box-shadow: var(--shadow-md); }
.sds-main-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .5s ease;
}
.sds-main-img-wrap:hover img { transform: scale(1.04); }

.sds-img-badge {
  position: absolute; top: 14px; left: 14px;
  font-size: 10px; font-weight: 800;
  padding: 5px 11px; border-radius: 6px;
  text-transform: uppercase; letter-spacing: .6px;
  font-family: 'Inter', sans-serif;
}
.sds-badge-sale { background: var(--coral); color: #fff; }
.sds-badge-best { background: var(--gold); color: var(--gold-dark); }

.sds-zoom-hint {
  position: absolute; bottom: 12px; right: 12px;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(6px);
  border-radius: 8px; padding: 6px 12px;
  font-size: 11px; font-weight: 600; color: var(--purple);
  pointer-events: none; font-family: 'Inter', sans-serif;
}

.sds-thumbs-row {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 10px; margin-top: 14px;
}
.sds-thumb {
  border-radius: 10px; overflow: hidden;
  border: 2px solid transparent; aspect-ratio: 1;
  cursor: pointer; transition: border-color .2s;
  background: var(--white); box-shadow: var(--shadow-sm);
}
.sds-thumb.active { border-color: var(--purple); }
.sds-thumb:hover:not(.active) { border-color: var(--purple-mid); }
.sds-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ═══════════════════════════════════════════════════════
   PRODUCT INFO
═══════════════════════════════════════════════════════ */
.sds-info { padding-top: 4px; }

.sds-cat-label {
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.2px;
  color: var(--teal); margin-bottom: 10px;
  display: flex; align-items: center; gap: 8px;
}
.sds-cat-label::before { content:''; width:24px; height:2px; background:var(--teal); display:inline-block; }

.sds-product-title {
  font-family: 'DM Serif Display', serif;
  font-size: 34px; line-height: 1.2;
  color: var(--dark); margin: 0 0 18px;
  font-weight: 400;
}

/* STARS */
.sds-stars-row { display:flex; align-items:center; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
.sds-stars { color: var(--gold); font-size: 18px; letter-spacing: -1px; }
.sds-rating-num { font-weight:700; font-size:14px; color:var(--dark); }
.sds-review-link { font-size:13px; color:var(--teal); text-decoration:none; }
.sds-review-link:hover { text-decoration:underline; }
.sds-sold-pill { background:var(--teal-soft); color:var(--teal-dark); font-size:12px; font-weight:600; padding:3px 10px; border-radius:20px; margin-left:auto; }

/* PRICE */
.sds-price-row { display:flex; align-items:center; gap:12px; margin-bottom:22px; flex-wrap:wrap; }
.sds-price-main { font-family:'Syne',sans-serif; font-size:44px; font-weight:800; color:var(--purple); line-height:1; }
.sds-price-was  { font-size:20px; color:var(--mid); text-decoration:line-through; }
.sds-save-badge { background:var(--gold); color:var(--gold-dark); font-size:12px; font-weight:700; padding:4px 10px; border-radius:6px; }

/* URGENCY TIMER */
.sds-urgency {
  background: linear-gradient(135deg,#FFFDE7,#FFF8E1);
  border: 1.5px solid #FFD54F;
  border-radius: var(--r);
  padding: 14px 18px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px; flex-wrap: wrap;
}
.sds-urgency-left { display:flex; align-items:center; gap:10px; }
.sds-urg-icon { font-size:22px; }
.sds-urg-title { font-size:13px; font-weight:700; color:#6D4C00; }
.sds-urg-sub   { font-size:12px; color:var(--coral); font-weight:600; margin-top:2px; }
.sds-timer { display:flex; align-items:center; gap:5px; }
.sds-tunit { background:var(--white); border:1.5px solid #FFD54F; border-radius:8px; width:46px; height:44px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.sds-tnum { font-family:'Syne',sans-serif; font-size:19px; font-weight:800; color:var(--coral); line-height:1; }
.sds-tlbl { font-size:8px; font-weight:600; color:#6D4C00; letter-spacing:.4px; }
.sds-tcol { font-family:'Syne',sans-serif; font-size:20px; font-weight:800; color:var(--coral); margin-bottom:10px; }

/* INCLUDES */
.sds-inc-label { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--mid); margin-bottom:12px; }
.sds-inc-list  { display:flex; flex-direction:column; gap:9px; margin-bottom:22px; }
.sds-inc-row   { display:flex; align-items:flex-start; gap:10px; font-size:14px; color:var(--dark); line-height:1.5; }
.sds-check     { width:20px; height:20px; min-width:20px; border-radius:50%; background:var(--teal); color:#fff; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; margin-top:1px; flex-shrink:0; }

/* FORMAT CHIPS */
.sds-chips { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; }
.sds-chip { background:var(--purple-soft); border:1.5px solid var(--border); border-radius:8px; padding:7px 14px; font-size:12px; font-weight:600; color:var(--purple); }

/* CTA BUTTONS */
.sds-cta-stack { display:flex; flex-direction:column; gap:12px; margin-bottom:24px; }

.sds-btn-primary {
  background: linear-gradient(135deg, var(--purple) 0%, var(--purple-dark) 100%);
  color: #fff !important;
  border: none; border-radius: var(--r);
  padding: 18px 28px;
  font-size: 16px; font-weight: 700;
  cursor: pointer; text-decoration: none !important;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  transition: transform .15s, box-shadow .15s;
  box-shadow: 0 6px 20px rgba(92,45,143,.40);
  font-family: 'Inter', sans-serif; letter-spacing: .2px;
}
.sds-btn-primary:hover { transform:translateY(-2px); box-shadow:0 10px 30px rgba(92,45,143,.52); color:#fff !important; }
.sds-btn-primary:active { transform:translateY(0); }

.sds-btn-outline {
  background: var(--white); color: var(--purple) !important;
  border: 2px solid var(--purple); border-radius: var(--r);
  padding: 16px 28px; font-size: 15px; font-weight: 600;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  text-decoration: none !important; transition: background .15s;
  font-family: 'Inter', sans-serif;
}
.sds-btn-outline:hover { background: var(--purple-soft); color: var(--purple) !important; }

/* TRUST BADGES */
.sds-badges-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.sds-tbadge { background:var(--white); border:1.5px solid var(--border); border-radius:var(--r); padding:14px 10px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:5px; box-shadow:var(--shadow-sm); }
.sds-tbadge .tb-icon { font-size:22px; }
.sds-tbadge strong { font-size:11px; font-weight:700; color:var(--dark); display:block; }
.sds-tbadge small  { font-size:10px; color:var(--mid); line-height:1.3; }

/* ═══════════════════════════════════════════════════════
   TABS
═══════════════════════════════════════════════════════ */
.sds-tabs-section { margin-bottom: 64px; }

.sds-tab-nav {
  display: flex;
  border-bottom: 2px solid var(--border);
  margin-bottom: 36px;
  overflow-x: auto;
  gap: 0;
}
.sds-tab-btn {
  padding: 13px 26px; font-size: 14px; font-weight: 600; color: var(--mid);
  background: none; border: none; border-bottom: 3px solid transparent;
  cursor: pointer; white-space: nowrap; margin-bottom: -2px;
  transition: color .2s, border-color .2s;
  font-family: 'Inter', sans-serif;
}
.sds-tab-btn.active { color: var(--purple); border-bottom-color: var(--purple); }
.sds-tab-btn:hover:not(.active) { color: var(--purple-mid); }

.sds-tab-panel { display: none; }
.sds-tab-panel.active { display: block; }

/* Description */
.sds-desc-body { font-size: 15px; line-height: 1.85; color: var(--mid); max-width: 780px; }
.sds-desc-body h2,.sds-desc-body h3 { font-family:'DM Serif Display',serif; color:var(--dark); margin:28px 0 10px; font-weight:400; font-size:22px; }
.sds-desc-body ul { padding-left:20px; }
.sds-desc-body li { margin-bottom:6px; }
.sds-desc-body p  { margin-bottom:14px; }
.sds-desc-body strong { color:var(--dark); }

/* Reviews */
.sds-rev-summary { display:grid; grid-template-columns:200px 1fr; gap:40px; margin-bottom:36px; align-items:center; }
.sds-rev-big { background:var(--purple-soft); border-radius:var(--r-lg); padding:32px 20px; text-align:center; border:1.5px solid var(--border); }
.sds-rev-big .num   { font-family:'Syne',sans-serif; font-size:62px; font-weight:800; color:var(--purple); line-height:1; }
.sds-rev-big .stars { font-size:20px; color:var(--gold); margin:6px 0; }
.sds-rev-big .cnt   { font-size:12px; color:var(--mid); }
.sds-rev-bars { display:flex; flex-direction:column; gap:9px; }
.sds-bar-row  { display:flex; align-items:center; gap:10px; font-size:13px; }
.sds-bar-lbl  { width:48px; color:var(--mid); flex-shrink:0; }
.sds-bar-track{ flex:1; height:8px; background:var(--border); border-radius:4px; overflow:hidden; }
.sds-bar-fill { height:100%; background:var(--gold); border-radius:4px; }
.sds-bar-pct  { width:30px; color:var(--mid); font-size:12px; text-align:right; }

.sds-rev-cards { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.sds-rev-card  { background:var(--white); border:1.5px solid var(--border); border-radius:var(--r); padding:22px; box-shadow:var(--shadow-sm); }
.sds-rev-hdr   { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.sds-rev-avatar{ width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; color:#fff; flex-shrink:0; }
.sds-rev-name  { font-weight:600; font-size:14px; color:var(--dark); }
.sds-rev-date  { font-size:11px; color:var(--mid); }
.sds-rev-stars { font-size:13px; color:var(--gold); margin-bottom:10px; }
.sds-rev-text  { font-size:14px; color:var(--mid); line-height:1.6; margin:0; }
.sds-no-reviews{ font-size:14px; color:var(--mid); padding:24px 0; }

/* FAQ */
.sds-faq-list { display:flex; flex-direction:column; gap:10px; max-width:780px; }
.sds-faq-item { background:var(--white); border:1.5px solid var(--border); border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow-sm); }
.sds-faq-q {
  width:100%; background:none; border:none; text-align:left;
  padding:18px 22px; font-size:15px; font-weight:600; color:var(--dark);
  cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:12px;
  transition:background .15s; font-family:'Inter',sans-serif;
}
.sds-faq-q:hover { background:var(--purple-soft); }
.sds-faq-arrow { color:var(--purple); font-size:16px; transition:transform .25s; flex-shrink:0; }
.sds-faq-item.open .sds-faq-arrow { transform:rotate(180deg); }
.sds-faq-body { max-height:0; overflow:hidden; font-size:14px; color:var(--mid); line-height:1.7; padding:0 22px; transition:max-height .35s ease,padding .3s; }
.sds-faq-item.open .sds-faq-body { max-height:400px; padding:0 22px 18px; }

/* ═══════════════════════════════════════════════════════
   RELATED PRODUCTS
═══════════════════════════════════════════════════════ */
.sds-related { margin-bottom:80px; }
.sds-related h2 { font-family:'DM Serif Display',serif; font-size:28px; color:var(--dark); margin:0 0 6px; font-weight:400; }
.sds-related-sub { font-size:14px; color:var(--mid); margin:0 0 28px; }
.sds-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.sds-rel-card { background:var(--white); border:1.5px solid var(--border); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm); text-decoration:none !important; display:block; color:var(--dark) !important; transition:transform .2s,box-shadow .2s; }
.sds-rel-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.sds-rel-img { aspect-ratio:4/3; overflow:hidden; background:linear-gradient(135deg,var(--purple-soft),var(--teal-soft)); position:relative; }
.sds-rel-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.sds-rel-card:hover .sds-rel-img img { transform:scale(1.04); }
.sds-rel-placeholder { display:flex; align-items:center; justify-content:center; font-size:48px; height:100%; }
.sds-rel-body { padding:16px 18px; }
.sds-rel-title { font-weight:600; font-size:14px; color:var(--dark); line-height:1.4; margin-bottom:8px; }
.sds-rel-stars { color:var(--gold); font-size:12px; margin-bottom:6px; }
.sds-rel-price { font-family:'Syne',sans-serif; font-size:18px; font-weight:800; color:var(--purple); }

/* ═══════════════════════════════════════════════════════
   STICKY BAR
═══════════════════════════════════════════════════════ */
.sds-sticky-bar {
  position: fixed; bottom:0; left:0; right:0;
  background: var(--white);
  border-top: 2px solid var(--border);
  box-shadow: 0 -4px 28px rgba(0,0,0,.10);
  padding: 12px 32px;
  display: flex; align-items:center; justify-content:space-between; gap:20px;
  z-index: 99999;
  transform: translateY(105%);
  transition: transform .35s cubic-bezier(.4,0,.2,1);
  flex-wrap: wrap;
}
.sds-sticky-bar.visible { transform: translateY(0); }
.sds-sticky-left { display:flex; align-items:center; gap:14px; }
.sds-sticky-thumb { width:50px; height:50px; border-radius:10px; overflow:hidden; border:1.5px solid var(--border); flex-shrink:0; background:var(--purple-soft); }
.sds-sticky-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.sds-sticky-name { font-weight:600; font-size:14px; color:var(--dark); }
.sds-sticky-sub  { font-size:12px; color:var(--mid); }
.sds-sticky-right{ display:flex; align-items:center; gap:16px; }
.sds-sticky-price{ font-family:'Syne',sans-serif; font-size:24px; font-weight:800; color:var(--purple); white-space:nowrap; }
.sds-sticky-cta {
  background: linear-gradient(135deg,var(--purple),var(--purple-dark));
  color: #fff !important; border:none; border-radius:var(--r);
  padding:13px 28px; font-size:14px; font-weight:700;
  text-decoration:none !important; white-space:nowrap;
  box-shadow:0 4px 16px rgba(92,45,143,.40);
  transition:transform .15s,box-shadow .15s;
  font-family:'Inter',sans-serif;
}
.sds-sticky-cta:hover { transform:translateY(-1px); box-shadow:0 6px 22px rgba(92,45,143,.52); color:#fff !important; }

/* ═══════════════════════════════════════════════════════
   ZOOM OVERLAY
═══════════════════════════════════════════════════════ */
.sds-zoom-overlay {
  position:fixed; inset:0;
  background: rgba(10,6,24,.94);
  z-index: 999999;
  display:none; align-items:center; justify-content:center;
  padding:40px;
}
.sds-zoom-overlay.open { display:flex; }
.sds-zoom-overlay img { max-width:88vw; max-height:88vh; border-radius:var(--r-lg); object-fit:contain; }
.sds-zoom-close {
  position:absolute; top:20px; right:24px;
  background:var(--white); border:none;
  width:44px; height:44px; border-radius:50%;
  font-size:20px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 16px rgba(0,0,0,.3); color:var(--dark);
}

/* ═══════════════════════════════════════════════════════
   TOAST
═══════════════════════════════════════════════════════ */
.sds-toast {
  position:fixed; top:100px; right:24px;
  background:var(--teal); color:#fff;
  padding:14px 22px; border-radius:var(--r);
  font-size:14px; font-weight:600;
  box-shadow:var(--shadow-md); z-index:999999;
  transform:translateX(200%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);
  font-family:'Inter',sans-serif;
  max-width:320px;
}
.sds-toast.show { transform:translateX(0); }

/* ═══════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════ */
@media (max-width:960px) {
  .sds-product-grid { grid-template-columns:1fr; gap:32px; }
  .sds-gallery { position:static; }
  .sds-rev-cards { grid-template-columns:1fr; }
  .sds-related-grid { grid-template-columns:1fr 1fr; }
  .sds-rev-summary { grid-template-columns:1fr; gap:24px; }
}
@media (max-width:640px) {
  .sds-page { padding:0 16px 60px; }
  .sds-product-title { font-size:26px; }
  .sds-price-main { font-size:36px; }
  .sds-related-grid { grid-template-columns:1fr; }
  .sds-badges-grid { grid-template-columns:1fr 1fr; }
  .sds-sticky-bar { padding:12px 16px; }
  .sds-sticky-left .sds-sticky-name { display:none; }
  .sds-rev-summary { grid-template-columns:1fr; }
}
