/* ============================================================
   THE TEA STORY COMPLETE — Frontend + Admin CSS
   ============================================================ */

/* ── GOOGLE FONTS ────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@300;400;500;600;700&display=swap');

/* ── DESIGN TOKENS ───────────────────────────────────────── */
:root {
  --ts-green:      #1A4D2E;
  --ts-green-md:   #2E7D4F;
  --ts-green-pale: #E8F5E9;
  --ts-sage:       #D6ECD9;
  --ts-cream:      #FAF7F2;
  --ts-gold:       #B8821E;
  --ts-gold-pale:  #FBF3E3;
  --ts-border:     #E5E0D8;
  --ts-ink:        #1A1A18;
  --ts-ink-mid:    #4A4A46;
  --ts-ink-light:  #888;
  --ts-serif:      'Cormorant Garamond', Georgia, serif;
  --ts-sans:       'DM Sans', system-ui, sans-serif;
}

/* ── BODY ────────────────────────────────────────────────── */
body { font-family: var(--ts-sans); color: var(--ts-ink); }

/* ════════════════════════════════════════════════════════════
   NUCLEAR SIDEBAR REMOVAL
   ════════════════════════════════════════════════════════════ */
.woocommerce-page #secondary,
.woocommerce-page .widget-area,
.woocommerce-page aside.widget-area,
.single-product #secondary,
.single-product .widget-area,
.single-product aside,
#secondary, .sidebar,
[class*="sidebar"]:not(.woocommerce-tabs):not(.wc-tabs-panel),
.widget_search, .widget_pages, .widget_archive,
.widget_archives, .widget_categories,
.widget_recent_entries, .widget_meta,
.widget_calendar, .widget_tag_cloud {
  display: none !important;
  width: 0 !important;
  overflow: hidden !important;
}

/* ── FULL WIDTH CONTENT ──────────────────────────────────── */
.woocommerce-page #primary,
.single-product #primary,
.woocommerce #primary {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding-right: 0 !important;
}

/* ════════════════════════════════════════════════════════════
   PRODUCT ARCHIVE — 4 columns
   ════════════════════════════════════════════════════════════ */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4,1fr) !important;
  gap: 1.25rem !important;
  float: none !important;
  margin: 0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }

.woocommerce ul.products li.product {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid var(--ts-border) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: transform .22s, box-shadow .22s, border-color .22s !important;
  display: flex !important;
  flex-direction: column !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 28px rgba(26,77,46,.13) !important;
  border-color: rgba(26,77,46,.3) !important;
}
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product img.woocommerce-placeholder {
  height: 220px !important;
  object-fit: contain !important;
  padding: 2rem !important;
  background: #EEF7F0 !important;
  opacity: .4 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--ts-serif) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--ts-green) !important;
  padding: .875rem 1rem .25rem !important;
}
.woocommerce ul.products li.product .price {
  font-family: var(--ts-serif) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--ts-green) !important;
  padding: 0 1rem .5rem !important;
}
.woocommerce ul.products li.product .button {
  background: var(--ts-green) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 8px 20px !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  margin: 0 1rem 1rem !important;
  transition: background .2s, transform .2s !important;
}
.woocommerce ul.products li.product .button:hover {
  background: var(--ts-green-md) !important;
  transform: scale(1.04) !important;
}
.woocommerce span.onsale {
  background: var(--ts-gold) !important;
  border-radius: 999px !important;
  min-width: auto !important;
  padding: 3px 10px !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
}

/* ════════════════════════════════════════════════════════════
   SINGLE PRODUCT
   ════════════════════════════════════════════════════════════ */
.single-product div.product {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 3rem !important;
  align-items: start !important;
  padding: 2rem 0 3rem !important;
  float: none !important;
}
.single-product div.product .woocommerce-product-gallery {
  grid-column: 1 !important; grid-row: 1 !important;
  margin: 0 !important; float: none !important; width: 100% !important;
  border-radius: 16px !important; overflow: hidden !important;
  box-shadow: 0 4px 24px rgba(26,77,46,.1) !important;
}
.single-product div.product .summary {
  grid-column: 2 !important; grid-row: 1 !important;
  float: none !important; width: 100% !important; clear: none !important;
}
.single-product div.product .woocommerce-tabs,
.single-product .related.products { grid-column: 1 / -1 !important; clear: both !important; }

.single-product .product_title {
  font-family: var(--ts-serif) !important;
  font-size: clamp(1.8rem,3vw,2.5rem) !important;
  color: var(--ts-green) !important;
  font-weight: 500 !important;
}
.single-product p.price, .single-product span.price {
  font-family: var(--ts-serif) !important;
  font-size: 1.75rem !important;
  color: var(--ts-green) !important;
  font-weight: 600 !important;
}

/* Strip inline colors */
.single-product .woocommerce-product-details__short-description,
.single-product .woocommerce-product-details__short-description *,
#tab-description * { color: var(--ts-ink-mid) !important; }
.single-product .woocommerce-product-details__short-description {
  background: #F0F7F2 !important;
  border-left: 3px solid var(--ts-green) !important;
  padding: 1rem 1.25rem !important;
  border-radius: 0 10px 10px 0 !important;
  margin: 1rem 0 !important;
  font-size: .95rem !important;
  line-height: 1.75 !important;
}

/* Brew note */
.ts-brew-note {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: .875rem 1rem !important;
  background: var(--ts-gold-pale) !important;
  border: 1px solid rgba(184,130,30,.25) !important;
  border-radius: 10px !important;
  font-size: .82rem !important;
  color: #5C3A00 !important;
  margin: 1rem 0 !important;
}
.ts-brew-note strong { color: var(--ts-gold); }

/* Origin tag */
.ts-origin-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ts-gold);
  margin-bottom: .75rem;
  padding: 3px 10px;
  background: var(--ts-gold-pale);
  border-radius: 999px;
  border: 1px solid rgba(184,130,30,.2);
}

/* ATC */
.single-product .single_add_to_cart_button {
  background: var(--ts-green) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 12px 32px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}
.single-product .single_add_to_cart_button:hover {
  background: var(--ts-green-md) !important;
  transform: translateY(-2px) !important;
}

/* Tabs */
.single-product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid var(--ts-border) !important;
  padding: 0 !important; margin: 0 !important;
  list-style: none !important; display: flex !important;
}
.single-product .woocommerce-tabs ul.tabs::before { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li {
  background: transparent !important; border: none !important;
  border-bottom: 3px solid transparent !important;
  margin: 0 !important; padding: 0 !important; border-radius: 0 !important;
}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li a {
  font-weight: 600 !important; font-size: .875rem !important;
  color: #888 !important; padding: .75rem 1.25rem !important; display: block !important;
}
.single-product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--ts-green) !important; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--ts-green) !important; }
.single-product .woocommerce-tabs .panel { padding: 1.5rem 0 !important; border: none !important; }

/* Related */
.single-product .related.products h2 {
  font-family: var(--ts-serif) !important;
  font-size: 1.5rem !important; color: var(--ts-green) !important;
  padding-top: 2rem !important; border-top: 1px solid var(--ts-border) !important;
  margin-bottom: 1.5rem !important;
}
.single-product .related.products ul.products { grid-template-columns: repeat(4,1fr) !important; }

/* Breadcrumb */
.woocommerce-breadcrumb { font-size: .78rem !important; color: #888 !important; padding: 1rem 0 .5rem !important; margin: 0 !important; background: transparent !important; }
.woocommerce-breadcrumb a { color: var(--ts-green-md) !important; text-decoration: none !important; }

/* ════════════════════════════════════════════════════════════
   CART
   ════════════════════════════════════════════════════════════ */
.woocommerce table.shop_table {
  border: 1px solid var(--ts-border) !important;
  border-radius: 12px !important; overflow: hidden !important; width: 100% !important;
}
.woocommerce table.shop_table thead tr { background: var(--ts-green) !important; }
.woocommerce table.shop_table thead th {
  color: #fff !important; font-size: .75rem !important; font-weight: 600 !important;
  letter-spacing: .08em !important; text-transform: uppercase !important;
  padding: 1rem 1.25rem !important; border: none !important;
}
.woocommerce table.shop_table td {
  padding: 1.125rem 1.25rem !important; border: none !important;
  border-bottom: 1px solid #F0EDE8 !important; vertical-align: middle !important;
}
.woocommerce table.shop_table td.product-name a { color: var(--ts-green) !important; font-weight: 600 !important; }
.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal {
  font-family: var(--ts-serif) !important; font-weight: 600 !important;
  color: var(--ts-green) !important; font-size: 1.05rem !important;
}
.woocommerce .cart_totals {
  background: #fff !important; border: 1px solid var(--ts-border) !important;
  border-radius: 14px !important; padding: 1.75rem !important;
}
.woocommerce .cart_totals h2 { font-family: var(--ts-serif) !important; font-size: 1.25rem !important; color: var(--ts-green) !important; margin-bottom: 1.25rem !important; }
.woocommerce .cart_totals table th, .woocommerce .cart_totals table td { border: none !important; padding: .625rem 0 !important; border-bottom: 1px solid #F0EDE8 !important; }
.woocommerce .cart_totals .order-total th, .woocommerce .cart_totals .order-total td { font-family: var(--ts-serif) !important; font-size: 1.15rem !important; font-weight: 700 !important; color: var(--ts-green) !important; border-bottom: none !important; }
.wc-proceed-to-checkout a.checkout-button {
  display: block !important; background: var(--ts-green) !important; color: #fff !important;
  text-align: center !important; padding: 14px !important; border-radius: 999px !important;
  font-weight: 700 !important; font-size: 1rem !important; text-decoration: none !important;
  margin-top: 1.25rem !important; transition: background .2s !important;
}
.wc-proceed-to-checkout a.checkout-button:hover { background: var(--ts-green-md) !important; }

/* Pincode widget */
.tsc-pin-box { background: var(--ts-cream); border: 1px solid var(--ts-border); border-radius: 10px; padding: 14px 16px; }
.tsc-pin-box__title { display: flex; align-items: center; gap: 6px; font-size: .85rem; font-weight: 600; color: var(--ts-green); margin-bottom: 3px; }
.tsc-pin-box__sub { font-size: .72rem; color: #888; margin-bottom: 10px; }
.tsc-pin-box__row { display: flex; gap: 8px; }
.tsc-pin-box__row input { flex: 1; padding: 8px 12px; border: 1.5px solid var(--ts-border); border-radius: 6px; font-size: .875rem; }
.tsc-pin-box__row input:focus { outline: none; border-color: var(--ts-green); }
#tsc-pin-btn { padding: 8px 16px; background: var(--ts-green); color: #fff; border: none; border-radius: 6px; font-size: .82rem; font-weight: 600; cursor: pointer; transition: background .2s; }
#tsc-pin-btn:hover { background: var(--ts-green-md); }
#tsc-pin-result { margin-top: 10px; font-size: .82rem; }
.tsc-pin-ok { padding: 8px 12px; background: #E8F5E9; border: 1px solid #A5D6A7; border-radius: 6px; color: #1B5E20; }
.tsc-pin-ok strong { font-size: 1.1rem; color: var(--ts-green); }
.tsc-pin-err { padding: 8px 12px; background: #FFEBEE; border: 1px solid #FFCDD2; border-radius: 6px; color: #B71C1C; }

/* ════════════════════════════════════════════════════════════
   CHECKOUT
   ════════════════════════════════════════════════════════════ */
.woocommerce-checkout .col2-set {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 2rem !important; float: none !important; width: 100% !important;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { float: none !important; width: 100% !important; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  border: 1.5px solid var(--ts-border) !important; border-radius: 8px !important;
  padding: 10px 14px !important; width: 100% !important;
}
.woocommerce form .form-row input.input-text:focus { outline: none !important; border-color: var(--ts-green) !important; }
.woocommerce #payment { display: block !important; visibility: visible !important; background: #fff !important; border: 1px solid var(--ts-border) !important; border-radius: 12px !important; overflow: hidden !important; margin-top: 1.5rem !important; }
.woocommerce #payment #place_order {
  display: block !important; background: var(--ts-gold) !important; color: #fff !important;
  border: none !important; border-radius: 999px !important; width: 100% !important;
  padding: 14px !important; font-size: 1rem !important; font-weight: 700 !important;
  cursor: pointer !important; margin-top: 1.25rem !important;
}
.woocommerce #payment #place_order:hover { background: #a57018 !important; }

/* ════════════════════════════════════════════════════════════
   HEALTH PAGES
   ════════════════════════════════════════════════════════════ */
.tsc-hub-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(260px,1fr)); gap: 1.125rem; }
.tsc-hub-card { display: flex; align-items: flex-start; gap: .875rem; padding: 1rem; background: #fff; border: 1px solid var(--ts-border); border-radius: 12px; text-decoration: none; transition: all .2s; border-left: 4px solid; }
.tsc-hub-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.1); }
.tsc-hub-icon { font-size: 1.6rem; line-height: 1; flex-shrink: 0; }
.tsc-hub-card h3 { font-size: .9rem; font-weight: 700; color: var(--ts-green); margin: 0 0 .25rem; }
.tsc-hub-card p { font-size: .75rem; color: #666; margin: 0 0 .375rem; line-height: 1.5; }
.tsc-concern-hero { border-radius: 12px; padding: 1.5rem; display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1.25rem; }
.tsc-products-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(210px,1fr)); gap: 1.125rem; margin-bottom: 1.5rem; }
.tsc-prod-card { background: #fff; border: 1px solid var(--ts-border); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; transition: all .2s; }
.tsc-prod-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(26,77,46,.12); }
.tsc-prod-img { aspect-ratio: 1; background: #EEF7F0; display: flex; align-items: center; justify-content: center; overflow: hidden; text-decoration: none; }
.tsc-prod-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.tsc-prod-card:hover .tsc-prod-img img { transform: scale(1.04); }
.tsc-prod-ph { font-size: 3rem; opacity: .3; }
.tsc-prod-body { padding: .875rem; flex: 1; display: flex; flex-direction: column; }
.tsc-prod-cat { font-size: .62rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ts-gold); margin-bottom: .2rem; }
.tsc-prod-body h3 { font-size: .9rem; font-weight: 600; color: var(--ts-green); margin: 0 0 .5rem; line-height: 1.25; font-family: var(--ts-serif); }
.tsc-prod-body h3 a { color: inherit; text-decoration: none; }
.tsc-prod-reason { font-size: .72rem; color: #555; line-height: 1.5; flex: 1; margin-bottom: .5rem; display: flex; gap: .3rem; }
.tsc-prod-rebrew { font-size: .65rem; font-weight: 600; color: var(--ts-gold); margin-bottom: .625rem; }
.tsc-prod-foot { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #F0EDE8; padding-top: .625rem; gap: .375rem; }
.tsc-prod-price { font-size: .95rem; font-weight: 700; color: var(--ts-green); font-family: var(--ts-serif); }
.tsc-atc-btn { background: var(--ts-green) !important; color: #fff !important; border: none !important; border-radius: 999px !important; padding: 5px 10px !important; font-size: .72rem !important; font-weight: 600 !important; text-decoration: none !important; white-space: nowrap; }
.tsc-atc-btn:hover { background: var(--ts-green-md) !important; }

/* ════════════════════════════════════════════════════════════
   PHOTO UPLOADER
   ════════════════════════════════════════════════════════════ */
.tsc-dropzone { border: 2px dashed var(--ts-border); border-radius: 12px; padding: 3rem 2rem; text-align: center; cursor: pointer; transition: all .2s; background: var(--ts-cream); }
.tsc-dropzone:hover, .tsc-dropzone.dragover { border-color: var(--ts-green-md); background: var(--ts-green-pale); }

/* ════════════════════════════════════════════════════════════
   ADMIN UI
   ════════════════════════════════════════════════════════════ */
.tsc-wrap { max-width: 1200px; font-family: -apple-system,'Segoe UI',sans-serif; }
.tsc-header { background: var(--ts-green); color: #fff; padding: 1.25rem 1.5rem; border-radius: 10px; margin: 1rem 0 1.5rem; }
.tsc-header h1 { color: #fff; font-size: 1.25rem; margin: 0 0 4px; }
.tsc-header p  { color: rgba(255,255,255,.72); margin: 0; font-size: .82rem; }
.tsc-tabs { display: flex; gap: 0; border-bottom: 2px solid var(--ts-border); margin-bottom: 1.5rem; }
.tsc-tab { padding: 10px 18px; font-size: .875rem; font-weight: 600; color: #666; border-bottom: 2px solid transparent; margin-bottom: -2px; text-decoration: none; transition: all .2s; }
.tsc-tab:hover { color: var(--ts-green); }
.tsc-tab.active { color: var(--ts-green); border-bottom-color: var(--ts-green); }
.tsc-card { background: #fff; border: 1px solid var(--ts-border); border-radius: 10px; padding: 1.5rem; margin-bottom: 1.5rem; }
.tsc-card h2 { font-size: 1.05rem; color: var(--ts-green); margin: 0 0 .5rem; }
.tsc-card > p { color: #666; font-size: .875rem; margin: 0 0 1rem; }
.tsc-btn { display: inline-flex; align-items: center; gap: 6px; padding: 9px 20px; border-radius: 999px; font-size: .875rem; font-weight: 600; cursor: pointer; border: 1.5px solid transparent; text-decoration: none; transition: all .2s; font-family: inherit; }
.tsc-btn-primary { background: var(--ts-green); color: #fff; border-color: var(--ts-green); }
.tsc-btn-primary:hover { background: var(--ts-green-md); color: #fff; }
.tsc-btn-gold { background: var(--ts-gold); color: #fff; border-color: var(--ts-gold); }
.tsc-btn-gold:hover { background: #a57018; color: #fff; }
.tsc-btn-outline { background: transparent; color: var(--ts-green); border-color: var(--ts-green); }
.tsc-btn-outline:hover { background: var(--ts-green); color: #fff; }
.tsc-btn:disabled { opacity: .5; cursor: not-allowed; }
.tsc-table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.tsc-table thead tr { background: var(--ts-green); }
.tsc-table thead th { color: #fff; padding: 9px 10px; text-align: left; font-weight: 600; font-size: .72rem; letter-spacing: .04em; }
.tsc-table tbody tr { border-bottom: 1px solid #F0EDE8; }
.tsc-table tbody tr:hover td { background: var(--ts-cream); }
.tsc-table td { padding: 8px 10px; vertical-align: middle; }
.tsc-hl-row td { background: #F8FDF8 !important; font-weight: 500; }
.tsc-wt { font-family: 'Courier New',monospace; font-weight: 600; color: var(--ts-green); }
.tsc-wt small { font-size: .68rem; color: #888; font-weight: 400; }
.tsc-rate-cell { text-align: right; padding: 7px 10px; }
.tsc-base  { display: block; font-size: .7rem; color: #aaa; font-family: 'Courier New',monospace; }
.tsc-total { display: block; font-size: .85rem; font-weight: 700; color: var(--ts-green); font-family: 'Courier New',monospace; }
.tsc-badge { background: var(--ts-green-pale); color: var(--ts-green); padding: 2px 8px; border-radius: 999px; font-size: .72rem; font-weight: 600; }
.tsc-check { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid #F5F5F5; font-size: .875rem; }
.tsc-check:last-child { border-bottom: none; }
.tsc-checklist { margin-top: 1.25rem; padding: 1rem; background: var(--ts-cream); border-radius: 8px; }
.tsc-steps { font-size: .9rem; line-height: 2.2; margin-left: 1.25rem; color: #444; margin-top: .75rem; }
.tsc-field { display: flex; flex-direction: column; gap: 4px; }
.tsc-field label { font-size: .75rem; font-weight: 600; color: #444; }
.tsc-input { padding: 8px 12px; border: 1.5px solid var(--ts-border); border-radius: 6px; font-size: .9rem; font-family: inherit; }
.tsc-input:focus { outline: none; border-color: var(--ts-green); }
.tsc-calc-form { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-end; padding: 1rem; background: var(--ts-cream); border-radius: 8px; margin-bottom: 1rem; }
.tsc-file-item { display: flex; align-items: center; gap: 10px; padding: 7px 12px; border-bottom: 0.5px solid #f5f5f5; font-size: .8rem; }
.tsc-file-item img { width: 36px; height: 36px; object-fit: cover; border-radius: 4px; }
.tsc-file-match { font-size: .72rem; color: #555; margin-left: auto; }
.matched   { background: #f8fdf9; }
.unmatched { background: #fffbf5; }
.log-ok   { color: #69F0AE; }
.log-warn { color: #FFCA28; }
.log-err  { color: #FF5252; }
.log-info { color: #90CAF9; }
.tsc-result-box { border-radius: 8px; padding: .875rem; text-align: center; }
.tsc-result-box .rn { font-size: 1.75rem; font-weight: 700; }
.tsc-result-box .rl { font-size: .75rem; margin-top: 2px; }
.box-green  { background: #E8F5E9; color: #1B5E20; }
.box-orange { background: #FFF3E0; color: #E65100; }
.box-red    { background: #FFEBEE; color: #B71C1C; }
.box-blue   { background: #E3F2FD; color: #0D47A1; }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:1024px){
  .woocommerce ul.products { grid-template-columns: repeat(3,1fr) !important; }
}
@media(max-width:768px){
  .woocommerce ul.products { grid-template-columns: repeat(2,1fr) !important; gap: .875rem !important; }
  .single-product div.product { grid-template-columns: 1fr !important; }
  .single-product div.product .summary { grid-column: 1 !important; grid-row: 2 !important; }
  .single-product .related.products ul.products { grid-template-columns: repeat(2,1fr) !important; }
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr !important; }
  .tsc-hub-grid, .tsc-products-grid { grid-template-columns: 1fr 1fr !important; }
}
@media(max-width:480px){
  .woocommerce ul.products { grid-template-columns: 1fr 1fr !important; }
  .tsc-hub-grid, .tsc-products-grid { grid-template-columns: 1fr !important; }
}
