/* D70 shop50 chrome bundle — concat of prior /tg-live/*.css; do not edit modules/tgstudio */
/* === foot_white.css === */
/* TG white footer V2 — always-open mobile sections, 2-col wrap, no chevrons.
   Load AFTER foot.css; shop 50 via head.tpl D59. */
body footer.fm,body .fm{--ic:#111;--line:#ececec;--mut:#6b6b6b;background:#fafafa!important;color:#1a1a1a!important;border-top:1px solid var(--line)!important}
body .fm.v2{--ic:#E6010B}
body .fm a{color:#1a1a1a!important;text-decoration:none}
body .fm a:hover{color:#E6010B!important;opacity:1!important;text-decoration:none!important}
body .fm .fm-h,body .fm .fm-i,body .fm .fm-tel svg,body .fm-tel svg{color:var(--ic)!important}
body footer span.fm-h,body span.fm-h,body .fm span.fm-h,body .fm .fm-h,body .fm-legal .fm-h,body.ce-kit-199 .fm .fm-h,body.ce-kit-199 .fm-legal .fm-h{
  width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
  background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important
}
body .fm .fm-h svg{width:18px!important;height:18px!important}
body .fm .fm-i svg,body.ce-kit-199 .fm .fm-i,body.ce-kit-199 .fm .fm-i svg{width:16px!important;height:16px!important;flex:0 0 auto}
body .fm svg[stroke]{stroke-width:1.5}
body .fm .fm-top,body .fm details,body .fm .fm-cert,body .fm .fm-cols{border-color:var(--line)!important}
body .fm .fm-reach a{color:#111!important}
body .fm .fm-soc a{background:none!important;border:0!important;width:36px!important;height:36px!important;color:var(--ic)!important;border-radius:0!important}
body .fm .fm-soc a:hover{background:none!important;color:#E6010B!important}
body .fm summary,body .fm h3,body .fm .fm-cert h3{color:#111!important}
body .fm summary small,body .fm .fm-cpy{color:var(--mut)!important}
/* Always-open: hide chevrons, kill accordion UX (mobile + desktop) */
body .fm .fm-ch,body .fm summary .fm-ch{display:none!important;visibility:hidden!important;width:0!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
body .fm summary{pointer-events:none!important;cursor:default!important;-webkit-user-select:text;user-select:text}
body .fm details.fm-c,body .fm .fm-cols details{border-bottom:1px solid var(--line)!important}
/* Force section lists visible even if <details> lacks [open] (beats UA closed hide) */
body .fm details.fm-c > ul,
body .fm details > ul,
body .fm .fm-cols ul{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:10px!important;
  row-gap:0!important;
  list-style:none!important;
  margin:0!important;
  padding:0 0 12px!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  min-width:0!important
}
body .fm details.fm-c > ul > li,
body .fm .fm-cols ul > li{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important
}
body .fm details.fm-c > ul a,
body .fm .fm-cols ul a,
body .fm ul a{
  display:flex!important;
  align-items:flex-start!important;
  gap:6px!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  color:#333!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  padding:6px 0!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  white-space:normal!important
}
body .fm ul a .fm-i{flex:0 0 auto!important;margin-top:1px!important}
body .fm ul a > span:not(.fm-i){
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  white-space:normal!important
}
/* Keep cert logos as a wrap row (don't force 2-col on them) */
body .fm .fm-cert ul{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:18px 26px!important;
  grid-template-columns:none!important;
  padding:4px 0!important
}
body .fm .fm-cert ul > li{overflow:visible!important;max-width:none!important}
body .fm .fm-cert img,body.ce-kit-199 .fm .fm-cert img,body.ce-kit-199 .fm .fm-cert img[alt*="GOTS"]{filter:grayscale(1) brightness(.2)!important;opacity:.75!important}
body .fm .fm-addr p{color:#333!important}
body .fm .fm-legal{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px 10px!important}
body .fm .fm-legal a{min-width:0!important;overflow-wrap:anywhere!important;word-break:break-word!important}
body .fm .fm-bar{border-top:0!important}
body .fm .fm-in{max-width:100%!important;box-sizing:border-box!important;overflow-x:hidden!important}
body .fm{overflow-x:hidden!important}
@media(max-width:379px){
  body .fm details.fm-c > ul,
  body .fm .fm-cols ul{column-gap:8px!important}
  body .fm details.fm-c > ul a,
  body .fm .fm-cols ul a,
  body .fm ul a{font-size:12px!important;gap:5px!important}
  body .fm .fm-i svg,body.ce-kit-199 .fm .fm-i svg{width:14px!important;height:14px!important}
}
@media(min-width:768px){
  body .fm .fm-g ul{grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:24px!important}
  body .fm details.fm-c > ul,
  body .fm .fm-cols ul{column-gap:14px!important}
  body .fm details.fm-c > ul a,
  body .fm .fm-cols ul a,
  body .fm ul a{font-size:13px!important}
}
@media(min-width:1200px){
  body .fm .fm-g ul{grid-template-columns:repeat(6,minmax(0,1fr))!important}
}
/* === samsung60.css === */
/* ============================================================
   D61-SAMSUNG / samsung60.css  v=1
   Shop 50 (/en/) only — loaded from head.tpl when $shop.id==50
   Samsung-inspired type / CTA / spacing / banner; brand red #E6010B
   Fonts: Inter (body) + Outfit (headings) — free Google fonts only
   NEVER: Tees Studio / tgstudio, shop 72 / teesgraphy.in
   DO NOT override: d56menu (⋮), foot_white (.fm white), fields59
   (46px inputs / floating labels), Add to Cart core, checkout flow
   Load order: after D59 foot_white in head; d56 + fields59 JS inject
   later so those sheets still win on their selectors.
   ============================================================ */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@500;600;700;800&display=swap");
:root {
  --s60-red: #E6010B;
  --s60-red-ink: #B80008;
  --s60-ink: #000000;
  --s60-ink-2: #111111;
  --s60-mut: #555555;
  --s60-mut-2: #757575;
  --s60-line: #dddddd;
  --s60-wash: #f7f7f7;
  --s60-white: #ffffff;
  --s60-radius-cta: 20px;
  --s60-radius-dense: 16px;
  --s60-radius-card: 8px;
  --s60-container: 1440px;
  --s60-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --s60-font-display: "Outfit", "Inter", system-ui, Arial, sans-serif;
}
/* ---------- Base type (storefront; not Studio) ---------- */
html body,
html body button,
html body input,
html body select,
html body textarea {
  font-family: var(--s60-font-body);
  -webkit-font-smoothing: antialiased;
}
html body {
  color: var(--s60-ink-2);
  line-height: 1.33;
  letter-spacing: normal;
}
/* Headings / display */
html body h1,
html body h2,
html body h3,
html body .h1,
html body .h2,
html body .h3,
html body .page-header h1,
html body #main .h1,
html body .product-detail .h1,
html body .product-container h1,
html body .block-category h1,
html body .tg5 .sl-t .sl-h,
html body .tg5 .sh h2,
html body .tg5 .cyo h2,
html body .tg5 .bn2 h3,
html body .tg5 .ctab h3,
html body .tg5 .corp-t h2,
html body .tg5 .imp h3,
html body .tg5 .calc-h h2 {
  font-family: var(--s60-font-display);
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.2;
  color: var(--s60-ink);
}
/* Beat .tg5 font: shorthand where safe */
html body .tg5 .sl-t .sl-h {
  font: 700 34px/1.15 var(--s60-font-display);
  color: #fff;
}
html body .tg5 .sl-t .sl-h span {
  font: inherit;
  color: #fff;
}
html body .tg5 .sh h2,
html body .tg5 .cyo h2 {
  font: 700 22px/1.2 var(--s60-font-display);
}
html body .tg5 .pr,
html body .price,
html body .current-price,
html body .product-price,
html body .product-miniature .price,
html body .product-prices .current-price span {
  font-family: var(--s60-font-display);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  color: var(--s60-ink);
  letter-spacing: -0.01em;
}
html body .regular-price,
html body .tg5 .prw s,
html body s.regular-price {
  font-family: var(--s60-font-body);
  font-size: 12px;
  font-weight: 400;
  color: var(--s60-mut-2);
}
html body .discount,
html body .discount-percentage,
html body .tg5 .off,
html body .product-flag.discount {
  font-family: var(--s60-font-body);
  font-size: 12px;
  font-weight: 700;
  color: var(--s60-red);
}
/* Links — no Samsung blue */
html body a { color: inherit; }
html body a:hover { color: var(--s60-red); }
/* ---------- CTAs (Samsung pill) — do NOT restyle fields59 / search height ---------- */
html body .btn,
html body .btn-primary,
html body .btn-secondary,
html body .add-to-cart,
html body .tg5 .pay-btn,
html body .tg5 .cta .pay-btn,
html body .tg5 .cta .btn2,
html body .tg5 .btn2,
html body .product-add-to-cart .add-to-cart,
html body #add-to-cart-or-refresh .add-to-cart {
  font-family: var(--s60-font-body);
  font-size: 14px;
  font-weight: 700;
  line-height: 19px;
  border-radius: var(--s60-radius-cta);
  padding: 9px 23px 10px;
  min-height: 40px;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-width: 1px;
  border-style: solid;
  box-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  transition: color .2s, background-color .2s, border-color .2s, opacity .2s;
}
html body .btn-primary,
html body .tg5 .pay-btn,
html body .tg5 .cta .pay-btn,
html body .add-to-cart,
html body .product-add-to-cart .add-to-cart,
html body #add-to-cart-or-refresh .add-to-cart {
  background: var(--s60-red);
  border-color: var(--s60-red);
  color: var(--s60-white);
}
html body .btn-primary:hover,
html body .tg5 .pay-btn:hover,
html body .add-to-cart:hover {
  background: var(--s60-red-ink);
  border-color: var(--s60-red-ink);
  color: var(--s60-white);
  opacity: 0.95;
}
html body .btn-secondary,
html body .tg5 .btn2,
html body .btn-outline-primary {
  background: transparent;
  border-color: var(--s60-ink);
  color: var(--s60-ink);
}
html body .btn-secondary:hover,
html body .tg5 .btn2:hover {
  background: var(--s60-ink);
  color: var(--s60-white);
}
/* Underline-style section links */
html body .tg5 .sh > a {
  font-family: var(--s60-font-body);
  font-size: 13px;
  font-weight: 700;
  color: var(--s60-ink);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}
html body .tg5 .sh > a:hover { color: var(--s60-red); }
/* ---------- Layout / cards ---------- */
html body .tg5 .home {
  max-width: var(--s60-container);
  gap: 16px;
  padding: 8px 12px;
}
html body .tg5 .sec {
  border-radius: var(--s60-radius-card);
  padding: 20px 16px;
}
html body .tg5 .sh { margin-bottom: 16px; }
html body .tg5 .grid { gap: 12px; margin: 0 0 16px; }
html body .tg5 .pc,
html body .product-miniature,
html body .js-product-miniature {
  border-radius: var(--s60-radius-card);
  border: 1px solid var(--s60-line);
  background: var(--s60-white);
}
html body .tg5 .pc-t,
html body .product-title a {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.33;
  color: var(--s60-ink);
  font-family: var(--s60-font-body);
}
/* ---------- Hero / banner ---------- */
html body .tg5 .hero { border-radius: 0; overflow: hidden; }
html body .tg5 .sl {
  min-height: 420px;
  align-items: flex-end;
}
html body .tg5 .sl::before {
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.08) 0%,
    rgba(0,0,0,0.4) 48%,
    rgba(0,0,0,0.78) 100%
  );
}
html body .tg5 .sl-t {
  text-align: center;
  padding: 28px 20px 40px;
  max-width: 100%;
  margin: 0 auto;
  color: #fff;
}
html body .tg5 .sl-t small {
  font-family: var(--s60-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
}
html body .tg5 .sl-t p {
  font-size: 15px;
  font-weight: 400;
  color: #fff;
  line-height: 1.33;
}
html body .tg5 .cta {
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
html body .tg5 .cta .btn2 {
  border: 1px solid #fff;
  background: transparent;
  color: #fff;
  border-radius: var(--s60-radius-cta);
}
html body .tg5 .cta .btn2:hover {
  background: #fff;
  color: #000;
}
/* Category / PDP type */
html body .block-category h1,
html body #js-product-list-header h1 {
  font-family: var(--s60-font-display);
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 8px;
}
html body .product-container h1,
html body .page-product h1.h1 {
  font-family: var(--s60-font-display);
  font-size: 28px;
  font-weight: 700;
}
html body .product-prices { margin: 16px 0 20px; }
html body .product-prices .current-price { font-size: 20px; }
html body .product-information,
html body .product-description {
  font-size: 14px;
  line-height: 1.45;
  font-family: var(--s60-font-body);
}
/* Accents */
html body .cartl::after,
html body .bn a.on { background: var(--s60-red); color: #fff; }
html body .product-flag {
  border-radius: 100px;
  font-family: var(--s60-font-body);
  font-weight: 700;
}
/* Desktop */
@media (min-width: 992px) {
  html body .tg5 .sl-t .sl-h {
    font: 700 56px/1.15 var(--s60-font-display);
  }
  html body .tg5 .sh h2,
  html body .tg5 .cyo h2 {
    font: 700 28px/1.2 var(--s60-font-display);
  }
  html body .tg5 .sl {
    min-height: 560px;
    align-items: center;
  }
  html body .tg5 .sl::before {
    background: linear-gradient(
      90deg,
      rgba(0,0,0,0.72) 0%,
      rgba(0,0,0,0.35) 45%,
      rgba(0,0,0,0.05) 75%,
      transparent 100%
    );
  }
  html body .tg5 .sl-t {
    text-align: left;
    max-width: 620px;
    margin: 0;
    padding: 48px 60px;
  }
  html body .tg5 .sl-t small { font-size: 14px; }
  html body .tg5 .sl-t p { font-size: 20px; }
  html body .tg5 .cta { justify-content: flex-start; gap: 24px; }
  html body .tg5 .home { padding: 24px; gap: 24px; }
  html body .tg5 .sec { padding: 24px; }
  html body .tg5 .grid { gap: 16px; }
  html body .block-category h1 { font-size: 40px; }
  html body .product-container h1,
  html body .page-product h1.h1 { font-size: 40px; }
  html body .product-prices .current-price,
  html body .price { font-size: 20px; }
}
@media (max-width: 360px) {
  html body .tg5 .sl-t .sl-h {
    font: 700 28px/1.15 var(--s60-font-display);
  }
}
/* ============================================================
   PROTECTIONS — keep d56 / foot_white / fields59 / Studio intact
   (also: d56 + fields59 inject after this sheet via custom.js)
   ============================================================ */
/* Tees Studio — leave Poppins / module chrome alone */
html body .tgstudio,
html body .tgstudio *,
html body .tees-studio,
html body .tees-studio *,
html body #tees-studio,
html body #tees-studio *,
html body .module_teesstudio,
html body .module_teesstudio *,
html body [class*="tgstudio"],
html body [class*="tees-studio"],
html body .ce-product-designer,
html body .ce-product-designer * {
  font-family: Poppins, system-ui, sans-serif !important;
}
/* d56 ⋮ menu — do not restyle drawer / overlay / trigger */
#d56-css ~ * { } /* marker only */
html body .ma-mb,
html body .ma-cb,
html body #mad,
html body label[for="mad"],
html body .ma-ov,
html body .ma-dr,
html body .ma-bn,
html body .ma-bn * {
  /* intentionally no font/radius overrides here — d56menu.css owns these */
}
/* White footer (D59) — do not force black footer or brand-lime overrides */
html body .fm,
html body .fm * {
  /* foot_white.css owns colours; only allow font inheritance softly */
  font-family: var(--s60-font-body);
}
/* fields59 floating labels / 46px inputs — DO NOT change height/padding/radius */
html body .f59 input,
html body .f59 select,
html body .f59 textarea,
html body .fields59 input,
html body .fields59 select,
html body .fields59 textarea,
html body [class*="f59"] input,
html body [class*="f59"] select,
html body [class*="f59"] textarea,
html body .form-control.f59,
html body input.f59,
#d60-fields-css {
  /* no min-height / padding / border-radius overrides */
}
/* Header search stays 46px-class from existing chrome — do not shrink */
html body .ma-h .srch,
html body .ma .srch,
html body .tg5 .srch {
  /* leave height to menu/fields chrome */
}
html body .tg5 .srch input,
html body .ma .srch input {
  font-family: var(--s60-font-body);
}
/* Checkout / cart critical — soften only type; leave layout to tg-checkout */
html body#checkout,
html body.page-order,
html body.page-checkout,
html body#cart,
html body.page-cart {
  font-family: var(--s60-font-body);
}
html body#checkout .btn,
html body.page-checkout .btn,
html body#cart .btn,
html body.page-cart .btn,
html body#checkout .add-to-cart {
  border-radius: var(--s60-radius-cta);
  font-family: var(--s60-font-body);
  font-weight: 700;
}
/* Prevent horizontal overflow from our changes */
html body .tg5 .home,
html body .tg5 .sec,
html body .tg5 .sl-t,
html body #main {
  max-width: 100%;
  overflow-x: clip;
}
/* === pill63.css === */
/* pill63 — Start selling | Order for myself — LIVE shop 50 /en/ only v=2
   Beats d56menu.css: html.d56-en .ma .ma-r { areas:"logo ic" "s s" } */
body.ma,
.ma{
  --tg-pill-ink:#111;
  --tg-pill-fill:#141311;
  --tg-pill-line:#111;
  --tg-pill-h:40px;
}
/* Mobile: insert pill row between logo and search.
   d56 hides hamburger and uses 2-col "logo ic" / "s s" — extend that. */
@media (max-width:767px){
  html.d56-en .ma .ma-r,
  html.d56-en body.ma .ma-r,
  html.tgm-on body.ma .ma-r,
  body.ma .ma-r{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    grid-template-areas:
      "logo ic"
      "pill pill"
      "s s" !important;
    gap:6px 6px !important;
    padding:6px 10px 10px !important;
    align-items:center;
  }
  /* Fallback if d56 not on (classic 3-col with hamburger) */
  html:not(.d56-en) body.ma .ma-r{
    grid-template-columns:44px 1fr auto !important;
    grid-template-areas:
      "mb logo ic"
      "pill pill pill"
      "s s s" !important;
  }
  html.d56-en .ma .tg-pill,
  html.d56-en body.ma .tg-pill,
  body.ma .tg-pill,
  html.tgm-on .tg-pill{
    grid-area:pill !important;
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  html.d56-en .ma form.ma-s,
  body.ma form.ma-s{
    grid-area:s !important;
    width:100% !important;
  }
}
@media (min-width:768px){
  body.ma .tg-pill,
  html.tgm-on .tg-pill,
  html.d56-en .ma .tg-pill,
  .ma .tg-pill{display:none !important;}
}
.ma .tg-pill,
body.ma .tg-pill{
  box-sizing:border-box;
  height:var(--tg-pill-h);
  border:1.5px solid var(--tg-pill-line,#111);
  border-radius:999px;
  background:#fff;
  padding:3px;
  gap:0;
  align-items:stretch;
  justify-content:stretch;
  margin:0;
}
.ma .tg-pill[hidden]{display:none !important;}
.ma .tg-pill__btn{
  flex:1 1 0;
  min-width:0;
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:var(--tg-pill-ink,#111);
  border-radius:999px;
  font-family:Outfit,Inter,system-ui,sans-serif;
  font-weight:700;
  font-size:13px;
  letter-spacing:-.01em;
  line-height:1.15;
  padding:0 8px;
  cursor:pointer;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:background .15s ease, color .15s ease;
}
.ma .tg-pill__btn[aria-pressed="true"]{
  background:var(--tg-pill-fill,#141311);
  color:#fff;
}
.ma .tg-pill__btn:focus-visible{
  outline:2px solid #E6010B;
  outline-offset:2px;
}
@media (max-width:374px){
  .ma .tg-pill__btn{font-size:12px; padding:0 6px;}
}
.ma .tg-pill-note,
body.ma .tg-pill-note{
  display:none;
  margin:0;
  padding:6px 10px 0;
  font:500 12px/1.35 Inter,system-ui,sans-serif;
  color:#555;
}
body.ma.tg-mode-sell .tg-pill-note,
.ma.tg-mode-sell .tg-pill-note{display:block;}
body.ma.tg-mode-sell .tg-pill-note a{color:#111; font-weight:700; text-decoration:underline;}
.ma .ma-s input[name="s"]::placeholder{color:#888;}
/* === seeall-black.css === */
/* TG-SEEALL-BLACK 2026-11-06
   Scope: ONLY the homepage "See all products" CTA
   (.tg5 section.sec.pgx > a.pay-btn). Does not touch other .pay-btn CTAs.
   Rollback: remove /tg-live/seeall-black.css and the D64 head.tpl line. */
html body .tg5 section.sec.pgx > a.pay-btn,
html body .tg5 .pgx > a.pay-btn {
  background: #000 !important;
  background-color: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}
html body .tg5 section.sec.pgx > a.pay-btn:hover,
html body .tg5 section.sec.pgx > a.pay-btn:focus,
html body .tg5 .pgx > a.pay-btn:hover,
html body .tg5 .pgx > a.pay-btn:focus {
  background: #222 !important;
  background-color: #222 !important;
  border-color: #222 !important;
  color: #fff !important;
  opacity: 1;
}
html body .tg5 section.sec.pgx > a.pay-btn svg,
html body .tg5 .pgx > a.pay-btn svg {
  stroke: currentColor;
  color: #fff;
}
/* === tg-fix-v7.css === */
/* TG-FIX-V7 2026-11-06
   Safe visual fixes implemented because the other bot's menu.css v7 (32035 B)
   and tg-fix-v7.css (11445 B) never arrived. Spec recovered from CEO handoff
   around t926u: upload those files, purge CDN, Force HTTPS, footer address;
   Do NOT touch cart/checkout/product-page logic, top-right ⋮ menu, icons;
   do not make footer or page background black.
   Implemented here (visual only):
   1) Homepage Trusted-by logo strip readable size (/en/ .tbs)
   2) Soften oversized empty gaps under home hero cards without touching sales flow
   3) Keep page/footer backgrounds white (explicit guard against accidental black)
   SKIPPED (no clear visual steps in transcript / would violate do-not-touch):
   - Replacing entire /tg-live/menu.css (would risk ⋮ menu / icons)
   - Any cart, checkout, product-page, payment selectors
   - Force HTTPS hPanel toggle (Hostinger-only; reported separately)
*/
html body { background-color: #fff; }
html body #footer.footer,
html body footer.footer,
html body .footer { background-color: #fff; color: inherit; }
/* /en/ client logo marquee: was collapsing to 28px row height */
html body .tg5 section.tbs .tbs-r li {
  height: auto !important;
  min-height: 44px;
  display: flex;
  align-items: center;
}
html body .tg5 section.tbs .tbs-r img {
  height: 34px !important;
  max-width: 120px !important;
  width: auto;
  object-fit: contain;
}
@media (min-width: 992px) {
  html body .tg5 section.tbs .tbs-r img {
    height: 42px !important;
    max-width: 140px !important;
  }
}
/* Home content breathing room — exclude cart/checkout bodies */
body#index #content-wrapper,
body#index .page-home {
  background: #fff;
}
/* === tg-footer-fix2.css === */
/* TG-FOOTER-FIX2 2026-11-06
   1) Hide unverified certification logo blocks
   2) Tighten space above fixed bottom nav (nav height 62px + 8px)
   3) (text change done in CE DB)
   Do not touch cart/checkout/⋮ menu/icons. No black backgrounds. */
html body .fm .fm-cert,
html body footer.fm .fm-cert,
html body section.fm-cert {
  display: none !important;
}
/* /in/ Partner Certifications inner section only (not copyright) */
html body .elementor-element-557169f {
  display: none !important;
}
@media (max-width: 767px) {
  /* Was calc(84px + safe-area) — left a big white band under © line */
  html body .fm .fm-bar,
  html body footer.fm .fm-bar {
    padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
  }
  /* Footer already clears the fixed nav; don't stack another large body pad */
  html body.ma:has(footer.fm) {
    padding-bottom: 0 !important;
  }
  /* /in/ Elementor footer: modest clear for fixed bottom bar if present */
  html body:has(.ma-bn) #footer,
  html body:has(.ma-bn) footer.footer {
    padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px));
  }
}
/* === tg-spacing-v1.css === */
/*! TG-SPACING-V1 — LIVE for shops 50/72 (D68). Was staged behind tg_stage; promoted 2026-11-06.
   Own design tokens inspired by measured samsung.com/in/ rhythm (Nov 6 2026).
   Does NOT copy Samsung CSS/assets. White page bg. Red/black/white brand kept.
   SKIP: cart/checkout/product forms, ⋮ menu (.ma-mb/.ma-dr/#mad), icon SVG paths. */
html.tg-spacing-v1 {
  --tg-sp-1: 8px;
  --tg-sp-2: 12px;
  --tg-sp-3: 16px;
  --tg-sp-4: 24px;
  --tg-sp-5: 26px;
  --tg-sp-6: 32px;
  --tg-sp-7: 40px;
  --tg-sp-8: 48px;
  --tg-sp-9: 56px;
  --tg-sp-10: 64px;
  --tg-page-pad-x: 26px;       /* Samsung mobile content inset ≈26 */
  --tg-section-y: 40px;        /* heading mb≈30 + air */
  --tg-card-radius: 20px;      /* CTA family ≈20–22 measured */
  --tg-card-gap: 12px;
  --tg-title-size: 26px;       /* section h2 measured mobile */
  --tg-title-lh: 1.33;
  --tg-hero-title: 35px;       /* hero ≈34.7 */
  --tg-hero-lh: 1.2;
  --tg-body-size: 15px;
  --tg-body-lh: 1.45;
  --tg-maxw: 1400px;
}
@media (min-width: 768px) {
  html.tg-spacing-v1 {
    --tg-page-pad-x: 48px;
    --tg-section-y: 56px;
    --tg-card-radius: 24px;
    --tg-card-gap: 16px;
    --tg-title-size: 38px;
    --tg-hero-title: 48px;
  }
}
@media (min-width: 1200px) {
  html.tg-spacing-v1 {
    --tg-page-pad-x: 57px;     /* Samsung desktop text inset ≈57 */
    --tg-hero-title: 57px;
    --tg-section-y: 64px;
  }
}
html.tg-spacing-v1,
html.tg-spacing-v1 body {
  background: #fff !important;
}
/* ========== HEADER — pad only; never ⋮ drawer ========== */
html.tg-spacing-v1 .ma > .ma-ann,
html.tg-spacing-v1 .ma .ma-r,
html.tg-spacing-v1 .ma .ma-wl,
html.tg-spacing-v1 .ma .ma-what {
  padding-left: var(--tg-page-pad-x) !important;
  padding-right: var(--tg-page-pad-x) !important;
  box-sizing: border-box;
}
html.tg-spacing-v1 .ma .ma-wl { gap: var(--tg-sp-2) !important; }
/* Explicitly leave ⋮ alone */
html.tg-spacing-v1 .ma .ma-mb,
html.tg-spacing-v1 .ma .ma-dr,
html.tg-spacing-v1 #mad { /* no spacing overrides */ }
/* ========== /en/ HOMEPAGE (.tg5) ========== */
html.tg-spacing-v1 body#index .tg5 .home {
  max-width: var(--tg-maxw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--tg-page-pad-x) !important;
  padding-right: var(--tg-page-pad-x) !important;
  padding-top: var(--tg-sp-2) !important;
  padding-bottom: var(--tg-sp-2) !important;
  gap: var(--tg-sp-3) !important;
  box-sizing: border-box;
}
html.tg-spacing-v1 body#index .tg5 .sec,
html.tg-spacing-v1 body#index .tg5 .trs,
html.tg-spacing-v1 body#index .tg5 .ctab,
html.tg-spacing-v1 body#index .tg5 .y25b,
html.tg-spacing-v1 body#index .tg5 .row2,
html.tg-spacing-v1 body#index .tg5 .tbs {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-bottom: var(--tg-sp-3) !important;
  border-radius: var(--tg-card-radius) !important;
  box-sizing: border-box;
}
html.tg-spacing-v1 body#index .tg5 .sec {
  padding-top: var(--tg-sp-4) !important;
  padding-bottom: var(--tg-sp-4) !important;
  margin-bottom: var(--tg-section-y) !important;
}
html.tg-spacing-v1 body#index .tg5 .sh h2,
html.tg-spacing-v1 body#index .tg5 .cyo h2,
html.tg-spacing-v1 body#index .tg5 .corp-t h2,
html.tg-spacing-v1 body#index .tg5 .calc-h h2,
html.tg-spacing-v1 body#index .tg5 h2 {
  font-size: var(--tg-title-size) !important;
  line-height: var(--tg-title-lh) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
  margin: 0 0 var(--tg-sp-4) !important;
  color: #111;
}
html.tg-spacing-v1 body#index .tg5 .sl-t .sl-h {
  font-size: var(--tg-hero-title) !important;
  line-height: var(--tg-hero-lh) !important;
}
html.tg-spacing-v1 body#index .tg5 .sl-t {
  padding-left: var(--tg-sp-4) !important;
  padding-right: var(--tg-sp-4) !important;
}
html.tg-spacing-v1 body#index .tg5 .grid,
html.tg-spacing-v1 body#index .tg5 .pgx-g,
html.tg-spacing-v1 body#index .tg5 .brands {
  gap: var(--tg-card-gap) !important;
}
html.tg-spacing-v1 body#index .tg5 .pc,
html.tg-spacing-v1 body#index .tg5 .tile,
html.tg-spacing-v1 body#index .tg5 .pgx-t,
html.tg-spacing-v1 body#index .tg5 .card {
  border-radius: var(--tg-card-radius) !important;
}
html.tg-spacing-v1 body#index .tg5 .sh { margin-bottom: var(--tg-sp-4) !important; }
html.tg-spacing-v1 body#index .tg5 p,
html.tg-spacing-v1 body#index .tg5 .sub {
  font-size: var(--tg-body-size) !important;
  line-height: var(--tg-body-lh) !important;
}
/* ========== V3 BANNERS / CATEGORY CARDS ========== */
html.tg-spacing-v1 .tg-v3-banner,
html.tg-spacing-v1 .tg-v3-cats,
html.tg-spacing-v1 .tg-trust,
html.tg-spacing-v1 .tg-in-logos {
  padding-left: var(--tg-page-pad-x) !important;
  padding-right: var(--tg-page-pad-x) !important;
  max-width: var(--tg-maxw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
html.tg-spacing-v1 .tg-v3-banner { margin-bottom: var(--tg-sp-4) !important; }
html.tg-spacing-v1 .tg-v3-cats { margin-bottom: var(--tg-section-y) !important; }
html.tg-spacing-v1 .tg-v3-banner .tg-v3-track {
  border-radius: var(--tg-card-radius) !important;
}
html.tg-spacing-v1 .tg-v3-cats h2 {
  font-size: var(--tg-title-size) !important;
  line-height: var(--tg-title-lh) !important;
  font-weight: 700 !important;
  margin: 0 0 var(--tg-sp-2) !important;
}
html.tg-spacing-v1 .tg-v3-cats .tg-v3-sub {
  font-size: var(--tg-body-size) !important;
  margin: 0 0 var(--tg-sp-4) !important;
}
html.tg-spacing-v1 .tg-v3-grid { gap: var(--tg-card-gap) !important; }
html.tg-spacing-v1 .tg-v3-grid a {
  border-radius: var(--tg-card-radius) !important;
  overflow: hidden;
}
html.tg-spacing-v1 .tg-trust { margin-top: var(--tg-sp-3) !important; margin-bottom: var(--tg-sp-5) !important; }
html.tg-spacing-v1 .tg-trust ul { gap: var(--tg-card-gap) !important; }
html.tg-spacing-v1 .tg-trust li { border-radius: 16px !important; }
/* ========== /in/ Elementor homepage ========== */
html.tg-spacing-v1 body#index .elementor-section.elementor-top-section > .elementor-container {
  max-width: var(--tg-maxw) !important;
  padding-left: var(--tg-page-pad-x) !important;
  padding-right: var(--tg-page-pad-x) !important;
  box-sizing: border-box;
}
/* Avoid double pad: Elementor wraps .tg5 on /en/ — pad only .home, not the container */
html.tg-spacing-v1 body#index .elementor-section.elementor-top-section > .elementor-container:has(.tg5) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* v3/trust live inside .home — don't add a second inset */
html.tg-spacing-v1 .tg5 .home .tg-v3-banner,
html.tg-spacing-v1 .tg5 .home .tg-v3-cats,
html.tg-spacing-v1 .tg5 .home .tg-trust,
html.tg-spacing-v1 .tg5 .home .tg-in-logos {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: none !important;
}
html.tg-spacing-v1 body#index .elementor-heading-title {
  letter-spacing: -0.01em;
}
html.tg-spacing-v1 body#index .elementor-section.elementor-top-section {
  margin-bottom: var(--tg-sp-3);
}
html.tg-spacing-v1 body#index .elementor-widget-image img,
html.tg-spacing-v1 body#index .elementor-image img {
  border-radius: var(--tg-card-radius);
}
/* ========== FOOTER (/en/ .fm + /in/ elementor) ========== */
html.tg-spacing-v1 footer.fm,
html.tg-spacing-v1 .fm {
  padding-left: var(--tg-page-pad-x) !important;
  padding-right: var(--tg-page-pad-x) !important;
  box-sizing: border-box;
  background: #fff !important;
}
html.tg-spacing-v1 .fm .fm-cols,
html.tg-spacing-v1 .fm .fm-top,
html.tg-spacing-v1 .fm .fm-bar,
html.tg-spacing-v1 .fm .fm-in {
  max-width: var(--tg-maxw);
  margin-left: auto;
  margin-right: auto;
}
html.tg-spacing-v1 .fm details.fm-c { margin-bottom: var(--tg-sp-2) !important; }
html.tg-spacing-v1 .fm summary {
  font-size: 15px !important;
  font-weight: 700 !important;
  padding-top: var(--tg-sp-3) !important;
  padding-bottom: var(--tg-sp-3) !important;
}
html.tg-spacing-v1 .fm details.fm-c > ul {
  gap: var(--tg-sp-2) var(--tg-sp-3) !important;
}
html.tg-spacing-v1 #footer .elementor-section > .elementor-container,
html.tg-spacing-v1 footer.footer .elementor-section > .elementor-container,
html.tg-spacing-v1 #footer.footer {
  background: #fff !important;
}
html.tg-spacing-v1 #footer .elementor-section > .elementor-container,
html.tg-spacing-v1 footer.footer .elementor-section > .elementor-container {
  padding-left: var(--tg-page-pad-x) !important;
  padding-right: var(--tg-page-pad-x) !important;
  box-sizing: border-box;
}
/* === cards64.css === */
/* cards64 v2 — Samsung-inspired product cards (PREVIEW). Brand red/black/white. */
:root {
  --c64-red: #E6010B;
  --c64-ink: #000;
  --c64-ink-2: #111;
  --c64-mut: #555;
  --c64-mut-2: #757575;
  --c64-wash: #f7f7f7;
  --c64-line: #ddd;
  --c64-white: #fff;
  --c64-radius: 12px;
}
/* ===== HOME .pc ===== */
html.c64 .tg5 .grid,
body.c64-proto .grid { gap: 10px; }
html.c64 .tg5 .pc,
body.c64-proto .pc {
  background: var(--c64-wash) !important;
  border: none !important;
  border-radius: var(--c64-radius) !important;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  box-shadow: none;
  transition: none;
  padding-bottom: 36px; /* room for customise icon */
}
html.c64 .tg5 .pc-img,
body.c64-proto .pc-img {
  background: var(--c64-white) !important;
  margin: 0;
  border-radius: var(--c64-radius) var(--c64-radius) 0 0;
}
html.c64 .tg5 .pc-img img,
body.c64-proto .pc-img img {
  aspect-ratio: 1;
  object-fit: contain;
  width: 100%;
  display: block;
  padding: 8px;
  background: var(--c64-white);
}
html.c64 .tg5 .pc-b,
body.c64-proto .pc-b {
  padding: 10px 12px 8px !important;
  gap: 4px !important;
  background: var(--c64-wash);
}
html.c64 .tg5 .pc-t,
body.c64-proto .pc-t {
  font-family: Outfit, Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--c64-ink) !important;
  min-height: 2.6em;
  -webkit-line-clamp: 2;
}
/* Price row: selling + optional struck MRP */
html.c64 .tg5 .pc-f,
body.c64-proto .pc-f {
  align-items: baseline !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-top: 4px !important;
}
html.c64 .tg5 .pr,
body.c64-proto .pr,
.c64-price-now {
  font-family: Outfit, Inter, system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--c64-ink) !important;
}
.c64-price-mrp {
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: var(--c64-mut-2);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}
.c64-price-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
}
.c64-example-tag {
  font-size: 9px;
  font-style: italic;
  color: var(--c64-mut-2);
  font-weight: 400;
}
/* Meta: GST / MOQ / stock */
.c64-meta {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.c64-meta li {
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  line-height: 1.35;
  color: var(--c64-mut);
  font-weight: 400;
}
.c64-meta .c64-gst { color: var(--c64-mut-2); }
.c64-meta .c64-example {
  color: var(--c64-mut-2);
  font-style: italic;
}
.c64-meta .c64-example::after {
  content: " · example";
  font-size: 10px;
  opacity: 0.85;
}
html.c64 .tg5 .cartb,
body.c64-proto .cartb { display: none !important; }
/* ===== Customise icon ONLY (bottom-right) ===== */
.c64-customise {
  position: absolute;
  right: 8px;
  bottom: 8px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--c64-white);
  border: 1.5px solid #111;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 4;
  text-decoration: none;
  color: #111;
  box-sizing: border-box;
}
.c64-customise:focus-visible {
  outline: 2px solid var(--c64-red);
  outline-offset: 2px;
}
.c64-customise svg {
  width: 14px;
  height: 14px;
  display: block;
  stroke: #111;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.c64-customise .c64-sr {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
/* ===== SELECT outline — ONLY .c64-selected, NEVER :hover ===== */
html.c64 .tg5 .pc:hover,
body.c64-proto .pc:hover,
html.c64 .ce-product-grid .elementor-362170150:hover,
body.c64-proto .c64-ce-card:hover {
  outline: none;
  box-shadow: none;
  transform: none;
}
html.c64 .tg5 .pc.c64-selected,
body.c64-proto .pc.c64-selected,
html.c64 .ce-product-grid .elementor-362170150.c64-selected,
body.c64-proto .c64-ce-card.c64-selected { z-index: 2; }
html.c64 .tg5 .pc.c64-selected::after,
body.c64-proto .pc.c64-selected::after,
html.c64 .ce-product-grid .elementor-362170150.c64-selected::after,
body.c64-proto .c64-ce-card.c64-selected::after {
  content: "";
  position: absolute;
  top: 3px; right: 3px; bottom: 3px; left: 3px;
  border-radius: calc(var(--c64-radius) - 2px);
  outline: 2px dotted #000;
  box-shadow: 0 0 0 2px #fff;
  pointer-events: none;
  z-index: 500;
}
/* ===== Category CE miniatures ===== */
html.c64 .ce-product-grid > .elementor-362170150,
html.c64 .ce-product-grid > [data-elementor-type="product-miniature"],
body.c64-proto .c64-ce-card {
  background: var(--c64-wash) !important;
  border-radius: var(--c64-radius);
  overflow: hidden;
  position: relative;
  padding: 0 0 36px;
}
html.c64 .ce-product-grid .ce-product-image,
body.c64-proto .c64-ce-card .ce-product-image {
  background: var(--c64-white);
  padding: 8px;
}
html.c64 .ce-product-grid .ce-product-name,
body.c64-proto .c64-ce-card .ce-product-name {
  font-family: Outfit, Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 0 12px !important;
}
html.c64 .ce-product-grid .ce-product-price,
body.c64-proto .c64-ce-card .ce-product-price {
  font-family: Outfit, Inter, system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 0 12px !important;
  color: var(--c64-ink) !important;
}
html.c64 .ce-product-grid .c64-meta,
body.c64-proto .c64-ce-card .c64-meta { padding: 0 12px 8px; }
html.c64 .ce-product-grid .ce-product-price.ce-has-discount .c64-price-mrp,
body.c64-proto .c64-ce-card .c64-price-mrp {
  font-size: 12px;
  font-weight: 500;
  color: var(--c64-mut-2);
  text-decoration: line-through;
  margin-right: 6px;
}
/* === pills65.css === */
/* D65-PILLS V2 — A Black selected pills — shop 50 /en/ only (2026-11-06)
   SELECTED = #111 + white text; UNSELECTED = white + black outline.
   Targets: calculator .lc-pills, My account .tg-q, Start designing .lc-cta,
   Start selling/Order for myself .tg-pill__btn. Does not touch Tees Studio.
   V2: owner switched from B Red (#E6010B) to A Black (#111). */
:root{
  --d65-ink:#111111;
  --d65-selected:#111111;
}
/* ---------- Calculator product pills ---------- */
html body .lc-pills button,
html body .lc .lc-pills button{
  min-height:44px;
  padding:8px 14px;
  border-radius:999px;
  border:1.5px solid var(--d65-ink);
  background:#fff;
  color:var(--d65-ink);
  font-weight:600;
  cursor:pointer;
}
html body .lc-pills button[aria-pressed="true"],
html body .lc .lc-pills button[aria-pressed="true"],
html body .lc-pills button.is-active,
html body .lc-pills button.active{
  background:var(--d65-selected) !important;
  border-color:var(--d65-selected) !important;
  color:#fff !important;
}
/* Start designing CTA — solid black pill (matches A Black system) */
html body .lc-cta,
html body a.lc-cta,
html body #lc-cta{
  background:var(--d65-selected) !important;
  border:1.5px solid var(--d65-selected) !important;
  color:#fff !important;
  border-radius:999px !important;
  font-weight:700;
}
/* ---------- My account quick tabs (.tg-q) ---------- */
html body .tg-acc a.tg-q,
html body.page-my-account .tg-acc a.tg-q,
html body.page-customer-account .tg-acc a.tg-q{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1.5px solid var(--d65-ink) !important;
  color:var(--d65-ink) !important;
  background:#fff !important;
  border-radius:999px;
  padding:7px 14px;
  font-size:13px;
  font-weight:600;
  text-decoration:none;
}
html body .tg-acc a.tg-q .tg-ico{
  background-color:var(--d65-ink) !important;
}
/* Selected = first quick tab (My orders) OR aria-current / .is-active */
html body .tg-acc a.tg-q:first-child,
html body .tg-acc a.tg-q[aria-current="page"],
html body .tg-acc a.tg-q.is-active,
html body .tg-acc a.tg-q.active{
  background:var(--d65-selected) !important;
  border-color:var(--d65-selected) !important;
  color:#fff !important;
}
html body .tg-acc a.tg-q:first-child .tg-ico,
html body .tg-acc a.tg-q[aria-current="page"] .tg-ico,
html body .tg-acc a.tg-q.is-active .tg-ico,
html body .tg-acc a.tg-q.active .tg-ico{
  background-color:#fff !important;
}
/* ---------- Header Start selling | Order for myself ---------- */
html body .ma .tg-pill__btn[aria-pressed="true"],
html body.ma .tg-pill__btn[aria-pressed="true"]{
  background:var(--d65-selected) !important;
  color:#fff !important;
}
html body .ma .tg-pill__btn:not([aria-pressed="true"]),
html body.ma .tg-pill__btn:not([aria-pressed="true"]){
  background:transparent;
  color:var(--d65-ink);
}
/* Generic calculator-like pills used elsewhere (safe narrow set) */
html body .tg-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:44px;
  padding:8px 16px;
  border-radius:999px;
  border:1.5px solid var(--d65-ink);
  background:#fff;
  color:var(--d65-ink);
  font-weight:600;
  text-decoration:none;
}
html body .tg-btn--primary,
html body .tg-btn--red,
html body .tg-btn[aria-pressed="true"],
html body .tg-btn.is-active,
html body .tg-btn.active{
  background:var(--d65-selected) !important;
  border-color:var(--d65-selected) !important;
  color:#fff !important;
}
/* === select66.css === */
/* select66 — site-wide Samsung dotted selection ring (LIVE shop 50 /en/)
   Mirrors cards64 .c64-selected::after / Samsung .co73-feature-cards__link:focus:after:
   outline: 2px dotted #000 + box-shadow: 0 0 0 2px #fff (white gap).
   Applies on focus / active / selected — NEVER hover-only.
   Shop 50 /en/ only when deployed. Does not edit tgstudio.
   British spelling in comments. */
:root {
  --s66-dot: 2px dotted #000;
  --s66-gap: 0 0 0 2px #fff;
  --s66-inset: 3px;
  --s66-radius-card: 10px; /* cards64 12px − ~2 */
  --s66-radius-field: 9px; /* fields59 12px − 3 */
  --s66-radius-search: 9px;
}
/* Shared inset ring (host must be position:relative) */
html.s66 .s66-ring-host,
body.s66-proto .s66-ring-host {
  position: relative;
}
html.s66 .s66-ring-host.s66-on::after,
body.s66-proto .s66-ring-host.s66-on::after {
  content: "";
  position: absolute;
  top: var(--s66-inset);
  right: var(--s66-inset);
  bottom: var(--s66-inset);
  left: var(--s66-inset);
  border-radius: inherit;
  outline: var(--s66-dot);
  box-shadow: var(--s66-gap);
  pointer-events: none;
  z-index: 500;
}
/* ===== SEARCH (.ma .ma-s) — focus-within =====
   Keep fields59 / menu metrics: height 46px, 1.5px #111, radius 12px.
   overflow stays hidden; ring is inset so it is not clipped badly. */
html.s66 .ma .ma-s,
body.s66-proto .ma .ma-s {
  position: relative;
  z-index: 1;
}
html.s66 .ma .ma-s:focus-within,
body.s66-proto .ma .ma-s:focus-within,
html.s66 .ma .ma-s.s66-force,
body.s66-proto .ma .ma-s.s66-force {
  z-index: 3;
}
html.s66 .ma .ma-s:focus-within::after,
body.s66-proto .ma .ma-s:focus-within::after,
html.s66 .ma .ma-s.s66-force::after,
body.s66-proto .ma .ma-s.s66-force::after {
  content: "";
  position: absolute;
  top: var(--s66-inset);
  right: var(--s66-inset);
  bottom: var(--s66-inset);
  left: var(--s66-inset);
  border-radius: var(--s66-radius-search);
  outline: var(--s66-dot);
  box-shadow: var(--s66-gap);
  pointer-events: none;
  z-index: 500;
}
/* Kill native focus glow on the inner search input — ring is on the form */
html.s66 .ma .ma-s input[name="s"]:focus,
html.s66 .ma .ma-s input[name="s"]:focus-visible,
body.s66-proto .ma .ma-s input[name="s"]:focus,
body.s66-proto .ma .ma-s input[name="s"]:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
/* ===== FORM FIELDS (.tg-f + #tgc / .tgq / .tgbq) — focus-within =====
   Do not change height 46px / padding / border from fields59.
   Replace soft grey focus glow with dotted ring on the wrapper. */
html.s66 .tg-f:focus-within,
body.s66-proto .tg-f:focus-within,
html.s66 .tg-f.s66-force,
body.s66-proto .tg-f.s66-force,
html.s66 #tgc .f:focus-within,
html.s66 .tgq .f:focus-within,
html.s66 .tgbq .f:focus-within,
body.s66-proto #tgc .f:focus-within {
  z-index: 2;
}
html.s66 .tg-f:focus-within::after,
body.s66-proto .tg-f:focus-within::after,
html.s66 .tg-f.s66-force::after,
body.s66-proto .tg-f.s66-force::after,
html.s66 #tgc .f:focus-within::after,
html.s66 .tgq .f:focus-within::after,
html.s66 .tgbq .f:focus-within::after,
body.s66-proto #tgc .f:focus-within::after {
  content: "";
  position: absolute;
  top: var(--s66-inset);
  right: var(--s66-inset);
  bottom: var(--s66-inset);
  left: var(--s66-inset);
  border-radius: var(--s66-radius-field);
  outline: var(--s66-dot);
  box-shadow: var(--s66-gap);
  pointer-events: none;
  z-index: 500;
}
html.s66 .tg-f input:focus,
html.s66 .tg-f select:focus,
html.s66 .tg-f textarea:focus,
html.s66 .tg-f .form-control:focus,
html.s66 .tg-f .elementor-field-textual:focus,
html.s66 #tgc .f input:focus,
html.s66 #tgc .f select:focus,
html.s66 #tgc .f textarea:focus,
html.s66 .tgq .f input:focus,
html.s66 .tgbq .f input:focus,
body.s66-proto .tg-f input:focus,
body.s66-proto .tg-f select:focus,
body.s66-proto .tg-f textarea:focus {
  border-color: #111 !important;
  box-shadow: none !important; /* ring lives on wrapper */
  outline: none !important;
  background: #fff !important;
}
/* ===== BUTTONS / PILLS — :active, :focus-visible, selected =====
   Outer ring (negative inset) so black filled pills stay readable.
   Does not change pills65 black fill / white outline system. */
html.s66 .tg-pill__btn,
html.s66 .lc-pills button,
html.s66 .tg-btn,
html.s66 .lc-cta,
html.s66 a.lc-cta,
html.s66 .tg-acc a.tg-q,
html.s66 button.btn,
html.s66 a.btn,
html.s66 .btn-primary,
html.s66 .btn-secondary,
html.s66 input[type="submit"],
html.s66 input[type="button"],
body.s66-proto .tg-pill__btn,
body.s66-proto .lc-pills button,
body.s66-proto .tg-btn,
body.s66-proto .demo-btn {
  position: relative;
}
/* Pressed / keyboard focus / selected — outer dotted ring */
html.s66 .tg-pill__btn:active::after,
html.s66 .tg-pill__btn:focus-visible::after,
html.s66 .tg-pill__btn[aria-pressed="true"]::after,
html.s66 .lc-pills button:active::after,
html.s66 .lc-pills button:focus-visible::after,
html.s66 .lc-pills button[aria-pressed="true"]::after,
html.s66 .lc-pills button.is-active::after,
html.s66 .lc-pills button.active::after,
html.s66 .tg-btn:active::after,
html.s66 .tg-btn:focus-visible::after,
html.s66 .tg-btn[aria-pressed="true"]::after,
html.s66 .tg-btn.is-active::after,
html.s66 .tg-btn.active::after,
html.s66 .lc-cta:active::after,
html.s66 .lc-cta:focus-visible::after,
html.s66 a.lc-cta:active::after,
html.s66 a.lc-cta:focus-visible::after,
html.s66 .tg-acc a.tg-q:active::after,
html.s66 .tg-acc a.tg-q:focus-visible::after,
html.s66 .tg-acc a.tg-q[aria-current="page"]::after,
html.s66 .tg-acc a.tg-q.is-active::after,
html.s66 .tg-acc a.tg-q.active::after,
html.s66 button.btn:active::after,
html.s66 button.btn:focus-visible::after,
html.s66 a.btn:active::after,
html.s66 a.btn:focus-visible::after,
html.s66 .btn-primary:active::after,
html.s66 .btn-primary:focus-visible::after,
html.s66 .btn-secondary:active::after,
html.s66 .btn-secondary:focus-visible::after,
html.s66 input[type="submit"]:active::after,
html.s66 input[type="submit"]:focus-visible::after,
html.s66 input[type="button"]:active::after,
html.s66 input[type="button"]:focus-visible::after,
body.s66-proto .tg-pill__btn:active::after,
body.s66-proto .tg-pill__btn:focus-visible::after,
body.s66-proto .tg-pill__btn[aria-pressed="true"]::after,
body.s66-proto .tg-pill__btn.s66-force::after,
body.s66-proto .lc-pills button:active::after,
body.s66-proto .lc-pills button[aria-pressed="true"]::after,
body.s66-proto .lc-pills button.s66-force::after,
body.s66-proto .tg-btn:active::after,
body.s66-proto .tg-btn[aria-pressed="true"]::after,
body.s66-proto .tg-btn.s66-force::after,
body.s66-proto .demo-btn:active::after,
body.s66-proto .demo-btn.s66-force::after,
body.s66-proto .demo-btn[aria-pressed="true"]::after,
body.s66-proto .lc-cta.s66-force::after,
html.s66 .lc-cta.s66-force::after,
html.s66 a.lc-cta.s66-force::after {
  content: "";
  position: absolute;
  top: -5px;
  right: -5px;
  bottom: -5px;
  left: -5px;
  border-radius: inherit;
  outline: var(--s66-dot);
  box-shadow: var(--s66-gap);
  pointer-events: none;
  z-index: 500;
}
/* Override pill63 red focus-visible so site ring is consistent */
html.s66 .ma .tg-pill__btn:focus-visible,
body.s66-proto .ma .tg-pill__btn:focus-visible {
  outline: none;
  outline-offset: 0;
}
/* ===== PRODUCT CARDS — keep cards64 behaviour (selected only, not hover) =====
   Reaffirm ring so select66 load order cannot wipe it; identical tokens. */
html.s66 .tg5 .pc.c64-selected,
html.s66 .ce-product-grid .elementor-362170150.c64-selected,
html.s66 .ce-product-grid > [data-elementor-type="product-miniature"].c64-selected,
body.s66-proto .pc.c64-selected,
body.s66-proto .c64-ce-card.c64-selected {
  z-index: 2;
}
html.s66 .tg5 .pc.c64-selected::after,
html.s66 .ce-product-grid .elementor-362170150.c64-selected::after,
html.s66 .ce-product-grid > [data-elementor-type="product-miniature"].c64-selected::after,
body.s66-proto .pc.c64-selected::after,
body.s66-proto .c64-ce-card.c64-selected::after {
  content: "";
  position: absolute;
  top: 3px;
  right: 3px;
  bottom: 3px;
  left: 3px;
  border-radius: var(--s66-radius-card);
  outline: var(--s66-dot);
  box-shadow: var(--s66-gap);
  pointer-events: none;
  z-index: 500;
}
/* Explicitly no hover ring (owner: select only) */
html.s66 .tg5 .pc:hover:not(.c64-selected)::after,
html.s66 .ce-product-grid .elementor-362170150:hover:not(.c64-selected)::after,
body.s66-proto .pc:hover:not(.c64-selected)::after,
html.s66 .tg-btn:hover:not(:active):not([aria-pressed="true"]):not(.is-active):not(.active):not(:focus-visible)::after,
html.s66 .lc-pills button:hover:not(:active):not([aria-pressed="true"]):not(.is-active):not(.active):not(:focus-visible)::after {
  content: none;
  display: none;
}
/* ===== EXCLUSIONS — do not restyle Tees Studio / qty / footer chrome ===== */
html.s66 .tees-studio *:focus,
html.s66 .tees-studio *:focus-visible,
html.s66 .tees-studio *:active,
html.s66 [class*="tees-studio"] *:focus,
html.s66 [class*="tg-studio"] *:focus,
html.s66 .product-quantity input:focus,
html.s66 .bootstrap-touchspin input:focus,
html.s66 input[type="checkbox"]:focus,
html.s66 input[type="radio"]:focus,
html.s66 input[type="range"]:focus,
html.s66 input[type="file"]:focus,
html.s66 input[type="color"]:focus,
html.s66 .ma .ma-bn *:focus-visible::after,
html.s66 footer *:focus-visible::after,
html.s66 .foot_white *:focus-visible::after {
  /* leave studio / qty / footer alone — no select66 ::after */
}
html.s66 .tees-studio button::after,
html.s66 .tees-studio a::after,
html.s66 [class*="tees-studio"] button::after,
html.s66 [class*="tg-studio"] button::after,
html.s66 .ma .ma-bn a::after,
html.s66 .ma .ma-bn button::after {
  content: none !important;
  display: none !important;
}
/* === outlines68.css === */
/* outlines68 — shop 50 /en/ only
   Convert brand-red OUTLINES / outline-borders → black #111.
   Keep intentional solid red fills (#E6010B backgrounds / filled CTAs).
   Keep semantic error borders red.
   Does not edit tgstudio or /in/ (shop 72). Loaded only when shop.id==50. */
:root {
  --o68-ink: #111;
  --o68-ink0: #000;
}
/* ===== Focus rings that were brand red ===== */
/* pill63 — header Start selling / Order for myself */
.ma .tg-pill__btn:focus-visible,
body.ma .tg-pill__btn:focus-visible,
html body .ma .tg-pill__btn:focus {
  outline-color: var(--o68-ink) !important;
}
/* cards64 — customise icon focus */
html.c64 .c64-customise:focus-visible,
.c64-customise:focus-visible,
html.c64 .c64-customise:focus {
  outline-color: var(--o68-ink) !important;
}
/* Generic interactive focus outline colour → black (shorthand red outlines too) */
html body a:focus-visible,
html body button:focus-visible,
html body [role="button"]:focus-visible,
html body input:focus-visible,
html body select:focus-visible,
html body textarea:focus-visible,
html body .btn:focus-visible,
html body .form-control:focus-visible {
  outline-color: var(--o68-ink) !important;
}
/* ===== Outline-only CTAs / buttons (transparent fill + red border) → black =====
   Leave solid red fills alone (.btn-primary, .add-to-cart, .tgb-btn:not(.o), etc.).
   Leave .tgb-cta .tgb-btn.o (white outline on red panel) alone. */
html body .tgb-btn.o:not(.tgb-cta .tgb-btn):not(.tgb-cta a),
html body .tgb > p a.tgb-btn.o,
html body .tgb a.tgb-btn.o:not(.tgb-cta a),
html body p a.tgb-btn.o:not(.tgb-cta a),
html body .tgsp-btn-outline-upload,
html body .tgsp-btn-outline-upload span {
  border-color: var(--o68-ink) !important;
  color: var(--o68-ink) !important;
}
/* tg-contrast forced a darker red border on outline buttons */
html body .tgb > p a.tgb-btn.o,
html body .tgb a.tgb-btn.o:not(.tgb-cta a) {
  border-color: var(--o68-ink) !important;
}
/* ===== Box / card borders that go red on hover or as chrome ===== */
html body .tgb-card:hover {
  border-color: var(--o68-ink) !important;
  box-shadow: 0 8px 24px rgba(17, 17, 17, 0.08) !important;
}
/* Elementor social icon circle borders (outline chrome, not fills) */
html body .elementor-social-icon,
html body #footer .elementor-social-icon,
html body footer .elementor-social-icon {
  border-color: var(--o68-ink) !important;
}
/* Social icon glyph colour was also brand red — match black chrome;
   hover FILL may still go brand red (intentional fill). */
html body .elementor-social-icon i,
html body .elementor-social-icon svg,
html body #footer .elementor-social-icon i {
  color: var(--o68-ink) !important;
  fill: var(--o68-ink) !important;
}
/* Do NOT touch:
   - background:#E6010B / .btn-primary / .add-to-cart / selected red fills
   - .tg-f.has-error border-color (semantic error)
   - link text color: #E6010B (not an outline)
   - .tgb-cta solid red panel + white outline buttons inside it
*/
