/* ==========================================================================
   Tees Bunker — design system
   White storefront with a black scrolling notice bar, logo + text navigation,
   serif section headings with a yellow underline, 12px-radius product cards
   with a black-outlined BUY NOW button, a black highlights strip and a black
   footer with yellow accents. Noto Sans body, Cormorant Garamond headings.
   This file is only linked by the Tees Bunker theme's own header, so nothing
   here can reach another theme or the default storefront.
   ========================================================================== */
:root{
  /* palette */
  --primary:#000;
  --primary-dark:#222;
  --primary-tint:#f6f6f4;
  --tag:#f0c808;
  --ink:#111;
  --ink-2:#444;
  --muted:#6b6b6b;
  --muted-2:#8c8c8c;
  --line:#e6e6e6;
  --line-2:#f6f6f6;
  --line-strong:#bbb;
  --page:#fff;
  --panel:#f6f6f4;
  --green:#16a34a;
  --star:#f0c808;
  --white:#fff;
  --shadow-card:0 2px 12px rgba(0,0,0,.08);
  --shadow-float:0 12px 32px rgba(0,0,0,.2);
  --radius:12px;
  --radius-sm:0px;

  /* brand */
  --yellow:#f0c808;
  --yellow-line:#f1d406;
  --deal:#e11d2e;
  --black:#111;
  --gold:#f0c808;
  --gold-deep:#d4ad00;
  --gold-tint:#fff9d6;
  --slate:#111;
  --red:#e11d2e;

  /* type */
  --sans:"Noto Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI","Hanken Grotesk",Roboto,Arial,sans-serif;
  --serif:"Cormorant Garamond",Georgia,serif;
  --display:Inter,system-ui,sans-serif;

  /* layout */
  --container:1280px;
  --gutter:16px;
  --pad:40px;
  --header-h:68px;
}

/* ==========================================================================
   Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
form{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--page);color:var(--ink);
  font-family:var(--sans);font-size:16px;font-weight:400;line-height:1.5;letter-spacing:.17136px;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
input,select,textarea{font:inherit;color:inherit}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3{font-family:var(--sans);color:var(--ink);font-weight:700;letter-spacing:0}
s{text-decoration-thickness:1px}

.container{width:100%;max-width:calc(var(--container) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:500;background:var(--ink);color:#fff;padding:10px 18px}
.skip-link:focus{left:8px;top:8px}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.icon--fill{fill:currentColor;stroke:none}
#sprite{position:absolute;width:0;height:0;overflow:hidden}
.muted{color:var(--muted)}
.textlink{color:var(--primary);font-weight:600}
.textlink:hover{text-decoration:underline}

/* shared display pieces ---------------------------------------------------- */
.section{padding:34px 0}
.section--tight{padding:20px 0}
.section--tint{background:var(--panel)}
.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.section-head h2{font-size:22px;line-height:1.25}
.section-head__sub{margin-top:4px;color:var(--muted);font-size:13px}
.link-more{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--primary);white-space:nowrap}
.link-more .icon{width:13px;height:13px}
.eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}

/* buttons ------------------------------------------------------------------ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:46px;padding:0 26px;border-radius:var(--radius-sm);
  font-size:14px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;
  border:1px solid transparent;
  transition:background-color .2s,color .2s,border-color .2s;
}
.btn .icon{width:18px;height:18px}
.btn--primary,.btn--dark,.btn--gold{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn--primary:hover,.btn--dark:hover,.btn--gold:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
.btn--light{background:#fff;color:var(--ink)}
.btn--light:hover{background:var(--line-2)}
.btn--outline{background:#fff;color:var(--primary);border-color:var(--primary)}
.btn--outline:hover{background:var(--primary-tint)}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn--ghost:hover{background:#fff;color:var(--ink)}
.btn--block{width:100%}
.btn--lg{height:52px;padding:0 30px}
.btn--sm{height:38px;padding:0 18px;font-size:12px}
.btn[disabled],.btn.is-disabled{opacity:.5;pointer-events:none}


   Breadcrumbs / page heads
   ========================================================================== */
.crumbs{font-size:14px;padding:14px 16px 0}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center}
.crumbs li{display:flex;align-items:center;gap:6px;color:var(--ink-2)}
.crumbs li+li{margin-left:6px}
.crumbs a{color:var(--ink-2)}
.crumbs a:hover{color:var(--ink)}
.crumbs__sep{color:var(--muted-2)}
.crumbs [aria-current]{color:var(--ink);font-weight:500}
.crumbs+.container,.crumbs+.pagehead{padding-top:6px}
@media (min-width: 768px){ .crumbs{padding:20px 40px 0;font-size:14px} }

.pagehead{max-width:calc(var(--container) + var(--gutter)*2);margin:0 auto;padding:18px var(--gutter) 6px}
.pagehead__title{font-size:22px;font-weight:700}
.pagehead__sub{margin-top:4px;color:var(--muted);font-size:13px}

.phero{position:relative;padding:12px 16px 4px}
.phero__bg{display:block;width:100%;max-height:200px;object-fit:cover;border-radius:12px;margin-bottom:14px}
.phero__title{font-size:18px;font-weight:600;line-height:1.3}
.phero__count{font-weight:400;color:var(--muted);font-size:16px}
@media (min-width: 768px){ .phero{padding:14px 40px 8px} .phero__title{font-size:18px} }


.filters{display:none}
.filters__form{padding:0 0 24px}
.filters__head{display:flex;align-items:center;justify-content:space-between;padding:14px 0 12px}
.filters__head h2{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.filters__head h2 span{color:var(--primary)}
.filters__close{display:none}
.fgroup{border:0;border-top:1px solid var(--line);margin:0;padding:18px 0 14px;min-inline-size:0}
.fgroup legend{padding:0;float:left;width:100%;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.01em;color:var(--ink);margin-bottom:12px}
.fgroup legend+*{clear:both}
.fgroup__list li{margin:0}
.fgroup__list label{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:14px;color:var(--ink);cursor:pointer}
.fgroup__list input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:0 0 16px;width:16px;height:16px;margin:0;border:1px solid #BFC0C6;border-radius:3px;background:#fff;cursor:pointer;position:relative}
.fgroup__list input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}
.fgroup__list input[type=checkbox]:checked::after{content:"";position:absolute;left:4.5px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.fgroup__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fgroup__count{font-size:12px;color:var(--muted-2)}
.fgroup__dot{width:14px;height:14px;border-radius:50%;border:1px solid var(--line-strong);flex-shrink:0}
.fgroup__more{margin-top:6px;font-size:12px;color:var(--primary);font-weight:600}
.price-box{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.price-box label span{display:block;font-size:12px;color:var(--ink-2);margin-bottom:4px}
.price-box input{width:100%;height:40px;border:1px solid var(--line-strong);border-radius:4px;padding:0 10px;font-size:14px;background:#fff}
.filters__actions{display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:1px solid var(--line)}
.filters__clear{text-align:center;font-size:13px;font-weight:600;color:var(--primary)}
@media (min-width: 768px){
  .filters{display:block;padding:0 16px 0 40px;border-right:1px solid var(--line);position:sticky;top:var(--header-h);max-height:calc(100vh - var(--header-h));overflow-y:auto;scrollbar-width:thin}
  .filters__head{border-bottom:1px solid var(--line);margin-bottom:0}
  .filters__actions{display:none}
}
@media (max-width: 767.98px){
  .filters[data-open="true"]{display:block;position:fixed;inset:0;z-index:400;background:#fff;overflow-y:auto;padding:0 18px}
  .filters__close{display:flex;width:36px;height:36px;align-items:center;justify-content:center}
  .filters__head{position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid var(--line)}
  .filters__actions{position:sticky;bottom:0;background:#fff;padding:12px 0 14px}
}

.empty{background:var(--panel);border-radius:12px;padding:52px 20px;text-align:center}
.empty__icon{display:inline-flex;width:54px;height:54px;border-radius:50%;background:#fff;align-items:center;justify-content:center;color:var(--muted);margin-bottom:14px}
.empty__icon .icon{width:24px;height:24px}
.empty h2{font-size:18px}
.empty p{margin-top:8px;color:var(--muted);font-size:13px}
.empty__actions{margin-top:18px}

.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin:30px 0 10px}
.pager__num,.pager__arrow{min-width:36px;height:36px;padding:0 6px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:4px;font-size:13px;color:var(--ink)}
.pager__num.is-current{background:var(--primary);border-color:var(--primary);color:#fff}
.pager__arrow .icon{width:14px;height:14px}
.pager__arrow--prev .icon{transform:rotate(180deg)}
.pager__arrow.is-disabled{opacity:.4}
.pager__gap{padding:0 4px;color:var(--muted)}


/* product-page helpers kept from the shared markup */
.pdp-stock--out{color:var(--primary)}
.spec-table{width:100%;border-collapse:collapse}
.spec-table td{padding:10px 12px;border-bottom:1px solid var(--line-2);font-size:14px;vertical-align:top}
.spec-table td:first-child{color:var(--muted);width:38%}
.spec-table--chart td:first-child{color:inherit;width:auto}
.table-scroll{overflow-x:auto}
.pdp-pin{display:flex;flex-wrap:wrap;gap:0;max-width:360px}
.pdp-pin input{flex:1;min-width:0;height:44px;border:1px solid var(--line-strong);border-right:0;border-radius:4px 0 0 4px;padding:0 14px;font-size:14px}
.pdp-pin button{height:44px;padding:0 20px;border:1px solid var(--primary);border-radius:0 4px 4px 0;background:var(--primary);color:#fff;font-weight:700;font-size:13px}
.pdp-pin__out{flex-basis:100%;margin-top:10px;font-size:13px;color:var(--ink-2)}
.review-summary{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.review-summary__avg{font-size:34px;font-weight:700;color:var(--ink)}
.review-summary__n{font-size:12px;color:var(--muted);margin-top:4px}
.review-item{border-top:1px solid var(--line);padding:16px 0}
.review-item__head{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.review-item__name{font-weight:700;font-size:13px}
.review-item__date{font-size:12px;color:var(--muted)}
.review-item__title{font-weight:700;margin-top:7px}
.review-item__body{margin-top:5px;font-size:14px}
.review-form{margin-top:24px}
.review-form h3{font-size:16px;margin-bottom:14px}
.review-form select{width:100%;border:1px solid var(--line-strong);border-radius:4px;padding:11px 12px;background:#fff}

.toast{position:fixed;left:50%;bottom:88px;z-index:600;max-width:90vw;padding:12px 22px;border-radius:6px;background:var(--ink);color:#fff;font-size:13px;text-align:center;box-shadow:var(--shadow-float);opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity .2s,transform .2s}
.toast.is-visible{opacity:1;transform:translate(-50%,0)}
@media (min-width: 768px){ .toast{bottom:28px} }

.qty{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:4px}
.qty button{display:flex;width:34px;height:36px;align-items:center;justify-content:center;color:var(--ink-2)}
.qty input{width:42px;height:36px;border:0;border-inline:1px solid var(--line);background:#fff;text-align:center}
.subcats{display:flex;gap:16px;overflow-x:auto;padding-bottom:6px}
.subcat{flex:0 0 auto;width:88px;text-align:center;font-size:11px;font-weight:600;color:var(--ink-2)}
.subcat img{width:72px;height:72px;margin:0 auto 8px;border:1px solid var(--line);border-radius:50%;object-fit:cover}

/* Customer-upload options (shared partial) sit inside the info column */

/* ==========================================================================
   Cart
   ========================================================================== */
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:26px}
@media (min-width: 768px){ .cart-layout{grid-template-columns:1fr 350px} }
.cart-box{background:#fff;border:1px solid var(--line)}
.cart-box__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}
.cart-box__head h2{font-family:var(--sans);font-size:13.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.cart-box__head span{font-size:12px;color:var(--muted)}
.citem{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:14px;padding:18px;border-bottom:1px solid var(--line-2)}
.citem:last-child{border-bottom:0}
.citem__media{width:80px;height:80px;overflow:hidden;border:1px solid var(--line)}
.citem__media img{width:100%;height:100%;object-fit:cover}
.citem__name{font-size:13.5px;font-weight:700;color:var(--ink)}
.citem__attrs{display:flex;flex-wrap:wrap;gap:10px;font-size:11.5px;color:var(--muted);margin-top:6px}
.citem__foot{display:flex;align-items:center;gap:16px;margin-top:12px;flex-wrap:wrap}
.linkbtn{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);font-weight:600}
.linkbtn:hover{color:var(--ink)}
.linkbtn .icon{width:14px;height:14px}
.linkbtn.is-on{color:var(--red)}
.citem__right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.citem__save{font-size:11px;color:var(--green)}

.summary{background:var(--panel);border:1px solid var(--line);padding:20px;align-self:start}
.summary h2{font-family:var(--sans);font-size:13.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px}
.sline{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-2);padding:8px 0}
.sline--free span:last-child{color:var(--green);font-weight:700}
.sline--total{border-top:1px solid var(--line);margin-top:6px;padding-top:14px;font-size:16px;font-weight:800;color:var(--ink)}
.sline--save{color:var(--green);font-size:12px}
.coupon{display:flex;gap:8px;margin:16px 0}
.coupon input{flex:1;min-width:0;border:1px solid var(--line);padding:0 12px;height:42px;font-size:12.5px;background:#fff}
.summary__cta{margin-top:8px}
.summary__note{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:11.5px;color:var(--muted)}
.summary__note .icon{width:14px;height:14px}
.trustrow{display:flex;justify-content:space-between;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line-2)}
.trustrow div{flex:1;text-align:center;font-size:10.5px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:5px}
.trustrow .icon{width:20px;height:20px;color:var(--gold-deep)}

/* ==========================================================================
   Checkout
   ========================================================================== */
.checkout-steps{display:flex;align-items:center;justify-content:center;gap:0;background:#fff;border:1px solid var(--line);padding:6px;max-width:560px;margin:0 auto 28px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.checkout-steps__step{flex:1;text-align:center;padding:10px 6px;color:var(--muted)}
.checkout-steps__step.is-active{background:var(--primary);color:#fff}
.checkout-steps__step.is-done{color:var(--ink)}

.co-preview{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;margin-bottom:22px}
.co-preview__item{flex:0 0 auto;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);padding:8px 12px;max-width:220px}
.co-preview__item img{width:36px;height:36px;object-fit:cover;flex-shrink:0}
.co-preview__item div{min-width:0}
.co-preview__sku{font-size:10px;color:var(--muted);font-weight:700}
.co-preview__name{font-size:11.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.co-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:26px}
@media (min-width: 768px){ .co-layout{grid-template-columns:1fr 370px} }
.co-block{background:#fff;border:1px solid var(--line);padding:20px;margin-bottom:18px}
.co-block__head{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);margin-bottom:16px}
.co-block__head .icon{width:17px;height:17px;color:var(--gold-deep)}

.payopt{display:block;border:1px solid var(--line);padding:13px 15px;margin-bottom:10px;cursor:pointer}
.payopt:has(input:checked){border-color:var(--primary);background:var(--panel)}
.payopt__top{display:flex;align-items:center;gap:10px}
.payopt__name{font-size:13px;font-weight:700;color:var(--ink)}
.payopt__tag{margin-inline-start:auto;font-size:10.5px;background:var(--line-2);padding:3px 8px;color:var(--ink-2)}
.payopt__body{display:none;margin-top:12px;font-size:12.5px;color:var(--muted)}
.payopt:has(input:checked) .payopt__body{display:block}
.addr__lines{color:var(--ink-2)}
.paylogos{display:flex;gap:6px;margin-inline-start:auto}
.paylogos span{font-size:9px;font-weight:800;background:var(--line-2);padding:3px 6px}

.field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.field-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.field{display:block;margin-bottom:13px}
.field__label{display:block;font-size:11px;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}
.field input,.field textarea{width:100%;border:1px solid var(--line);padding:11px 12px;font-size:13px}
.field__hint{font-size:11px;color:var(--red)}
.form-note{font-size:12px;color:var(--muted)}
.check{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2);margin-bottom:10px}

.co-item{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line-2)}
.co-item img{width:46px;height:46px;object-fit:cover;border:1px solid var(--line)}
.co-item__name{font-size:12.5px;font-weight:600}
.co-item__qty{font-size:11px;color:var(--muted)}
.co-item__price{margin-inline-start:auto;font-size:12.5px;font-weight:700}
/* --- Checkout redesign (scoped to the checkout page: .checkout-steps / .co-layout) --- */
.checkout-steps{counter-reset:cs;gap:6px;background:transparent;border:0;padding:0;max-width:640px;margin:0 auto 32px}
.checkout-steps__step{counter-increment:cs;display:flex;align-items:center;justify-content:center;gap:8px;padding:0;background:transparent;color:var(--muted);position:relative}
.checkout-steps__step::before{content:counter(cs);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;background:var(--line-2);color:var(--muted);flex-shrink:0}
.checkout-steps__step:not(:last-child)::after{content:"";flex:1;height:1px;background:var(--line);margin-inline-start:6px;min-width:10px}
.checkout-steps__step.is-active,.checkout-steps__step.is-done{background:transparent;color:var(--ink)}
.checkout-steps__step.is-active::before{background:var(--primary);color:#fff}
.checkout-steps__step.is-done::before{content:"\2713";background:var(--green);color:#fff}
@media (max-width:560px){.checkout-steps__step{font-size:0}.checkout-steps__step::before{font-size:11px}.checkout-steps__step.is-active{font-size:11px}}

.co-layout{gap:32px;align-items:start}
.co-layout .co-block{border:1px solid var(--line);padding:24px 24px 14px;margin-bottom:20px;box-shadow:0 1px 0 rgba(20,20,20,.02)}
.co-layout .co-block__head{float:left;width:100%;box-sizing:border-box;padding:0 0 14px;margin:0 0 18px;border-bottom:1px solid var(--line-2)}
.co-layout .co-block__head+*{clear:both}
.co-layout .co-block__head .icon{width:18px;height:18px}

.co-layout .payopt{border:1.5px solid var(--line);padding:16px 18px;margin-bottom:12px;background:#fff;transition:border-color .15s,box-shadow .15s,background .15s}
.co-layout .payopt:hover{border-color:var(--muted-2)}
.co-layout .payopt:has(input:checked){border-color:var(--primary);background:var(--panel);box-shadow:inset 3px 0 0 var(--gold),0 4px 16px rgba(20,20,20,.06)}
.co-layout .payopt input[type=radio]{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0;margin:0}
.co-layout .payopt__top{gap:12px}
.co-layout .payopt__name{display:flex;flex-direction:column;gap:2px;font-size:14px;font-weight:700;min-width:0}
.co-layout .payopt__sub{font-size:11.5px;font-weight:500;color:var(--muted)}
.co-layout .payopt__tag{font-weight:700;letter-spacing:.03em;text-transform:uppercase;font-size:10px;padding:4px 9px;white-space:nowrap}
.co-layout .payopt__tag--rec{background:var(--gold-tint);color:var(--gold-deep)}
.co-layout .payopt__body{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);margin-inline-start:30px}
.co-layout .payopt .addr__lines{line-height:1.65;font-size:13px}

.co-layout .field input,.co-layout .field textarea{border-radius:var(--radius);padding:12px 13px;background:#fff;transition:border-color .15s,box-shadow .15s}
.co-layout .field input:focus,.co-layout .field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(20,20,20,.07)}

.co-layout .summary{position:sticky;top:96px;padding:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-card)}
.co-layout .summary .cart-box__head{border-bottom:1px solid var(--line-2);margin-bottom:6px}
.co-layout .co-item{padding:13px 0}
.co-layout .co-item img{width:54px;height:54px}
.co-layout .sline{padding:7px 0}
.co-layout .sline--total{font-size:18px;padding-top:16px;margin-top:8px}
.co-layout .summary__cta{height:52px;margin-top:14px;letter-spacing:.08em}
@media (max-width:959px){.co-layout .summary{position:static}.co-layout .co-block{padding:18px 16px 8px}}

/* --- Account > order detail (scoped to .order-detail) --- */
.order-detail .cart-box{margin-bottom:20px;padding-bottom:6px}
.order-detail .cart-box__head{padding:18px 20px}
.order-detail .cart-box>.co-item,.order-detail .cart-box>.sline{margin-inline:20px}
.order-detail .cart-box>.co-item:last-of-type{border-bottom:0}
.order-detail .cart-box>.sline:first-of-type{margin-top:6px}
.order-detail .cart-box>.sline--total{padding-bottom:14px}
.order-detail .steps{padding:20px}
.order-detail .co-item img{width:60px;height:60px}
.order-detail .co-item__name{font-size:14px}
.order-detail .co-item__price{font-size:14px}
.order-detail .orderfoot{padding:14px 20px;border-top:1px solid var(--line-2);margin-top:6px}

.od-alert{display:flex;align-items:center;gap:16px;padding:18px 20px;border-inline-start:4px solid var(--red);background:#fffaf9}
.order-detail .cart-box.od-alert{padding-bottom:18px}
.od-alert__icon{width:34px;height:34px;border-radius:50%;background:#fbeceb;color:var(--red);display:grid;place-items:center;flex-shrink:0}
.od-alert__icon .icon{width:16px;height:16px}
.od-alert__text{flex:1;min-width:0}
.od-alert__title{font-size:14px;font-weight:800;color:var(--red);margin-bottom:2px}
.od-alert__text p:last-child{font-size:12.5px;color:var(--ink-2)}
@media (max-width:620px){.od-alert{flex-wrap:wrap}.od-alert .btn{width:100%;justify-content:center}}

.od-cols{display:grid;grid-template-columns:minmax(0,1fr);border-top:0}
@media (min-width:720px){.od-cols{grid-template-columns:1fr 1fr}.od-cols .od-col+.od-col{border-inline-start:1px solid var(--line-2)}}
.od-col{padding:18px 20px}
.od-col+.od-col{border-top:1px solid var(--line-2)}
@media (min-width:720px){.od-col+.od-col{border-top:0}}
.od-col__label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:10px}
.od-col__label .icon{width:15px;height:15px;color:var(--gold-deep)}
.od-col__strong{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:4px}
.od-col__text{font-size:12.5px;line-height:1.7;color:var(--ink-2)}

.od-timeline{list-style:none;margin:0;padding:8px 20px 16px 42px;position:relative}
.od-timeline::before{content:"";position:absolute;inset-block:18px 26px;inset-inline-start:25px;width:2px;background:var(--line)}
.od-timeline li{position:relative;padding:8px 0}
.od-timeline li::before{content:"";position:absolute;inset-inline-start:-22px;top:13px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--muted-2)}
.od-timeline li:first-child::before{background:var(--ink);border-color:var(--ink)}
.od-timeline__status{font-size:13.5px;font-weight:700;color:var(--ink)}
.od-timeline__time{font-size:12px;color:var(--muted)}

/* Order-confirmation cards: only the head was padded, so rows sat on the border */
.confirm-boxes .cart-box{padding-bottom:8px}
.confirm-boxes .cart-box>:not(.cart-box__head){margin-inline:18px}
.confirm-boxes .cart-box>.co-item:last-of-type{border-bottom:0}
.confirm-boxes .sline>span:first-child{display:inline-flex;align-items:center;gap:6px}
.confirm-boxes .sline .icon{width:16px;height:16px;flex-shrink:0}

/* ==========================================================================
   Order confirmation
   ========================================================================== */
.confirm{text-align:center;padding:54px 0}
.confirm__icon{display:inline-flex;width:74px;height:74px;border-radius:50%;background:var(--gold-tint);color:var(--gold-deep);align-items:center;justify-content:center;margin-bottom:20px}
.confirm__icon .icon{width:34px;height:34px}
.confirm h1{font-size:26px}
.confirm p{margin-top:8px;color:var(--muted);font-family:var(--sans)}
.confirm__num{display:inline-block;margin-top:16px;background:var(--panel);border:1px solid var(--line);padding:9px 18px;font-weight:700;color:var(--ink);letter-spacing:.03em}
.confirm__actions{display:flex;justify-content:center;gap:12px;margin-top:26px;flex-wrap:wrap}

/* ==========================================================================
   Account
   ========================================================================== */
.acct-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:26px}
@media (min-width: 860px){ .acct-layout{grid-template-columns:230px 1fr} }
.acct-nav{background:#fff;border:1px solid var(--line);padding:10px;align-self:start}
.acct-nav a{display:flex;align-items:center;gap:10px;padding:12px;font-size:12.5px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.03em}
.acct-nav a.is-active{background:var(--primary);color:#fff}
.acct-nav a .icon{width:17px;height:17px}
.acct-card{background:#fff;border:1px solid var(--line);padding:22px}
.authbox{max-width:440px;margin:44px auto;background:#fff;border:1px solid var(--line);padding:32px}
.authbox h1{font-size:24px;text-align:center}
.authbox p.sub{text-align:center;color:var(--muted);font-size:13px;margin-top:8px;font-family:var(--sans)}
.authbox form{margin-top:22px}
.authbox .field{margin-bottom:14px}
.authbox__foot{text-align:center;margin-top:18px;font-size:12.5px;color:var(--muted)}
.authbox__foot a{color:var(--ink);font-weight:600;border-bottom:1px solid var(--ink)}

.order-status{font-size:11px;font-weight:700;padding:4px 10px;background:var(--line-2);color:var(--ink-2)}
.order-status--paid,.order-status--delivered{background:#e7f2ea;color:var(--green)}
.order-status--pending{background:var(--gold-tint);color:var(--gold-deep)}
.order-status--cancelled{background:#fbeceb;color:var(--red)}

.stat-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}
@media (min-width: 640px){ .stat-tiles{grid-template-columns:repeat(4,minmax(0,1fr))} }
.stat-tile{background:#fff;border:1px solid var(--line);padding:18px;text-align:center}
.stat-tile__icon{display:inline-flex;width:36px;height:36px;border-radius:50%;background:var(--gold-tint);align-items:center;justify-content:center;color:var(--gold-deep);margin-bottom:9px}
.stat-tile strong{display:block;font-family:var(--serif);font-size:21px;color:var(--ink)}
.stat-tile__label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.orderhead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 18px;background:var(--panel)}
.orderhead__id a{font-weight:700;font-size:13px;color:var(--ink)}
.orderhead__date{font-size:11.5px;color:var(--muted);margin-top:2px}
.pill{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;padding:4px 10px;background:var(--line-2);color:var(--ink-2);text-transform:uppercase;letter-spacing:.03em}
.pill--done{background:#e7f2ea;color:var(--green)}
.pill--transit{background:var(--gold-tint);color:var(--gold-deep)}
.pill--cancelled{background:#fbeceb;color:var(--red)}
.cart-actions{margin-top:8px}
.auth__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-size:12.5px}
.auth__row a{color:var(--ink);font-weight:600;border-bottom:1px solid var(--ink)}
.addrgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:22px}
@media (min-width: 640px){ .addrgrid{grid-template-columns:repeat(2,minmax(0,1fr))} }
.addrcard{background:#fff;border:1px solid var(--line);padding:16px}
.addrcard__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.addrcard__label{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.03em}
.addrcard__label .icon{width:14px;height:14px;color:var(--gold-deep)}
.addrcard__badge{font-size:10px;font-weight:700;background:#e7f2ea;color:var(--green);padding:3px 8px}
.addr__name{font-weight:700;font-size:13px;margin-bottom:4px}
.addr__lines{font-size:12.5px;color:var(--ink-2);line-height:1.65}
.addrcard__foot{display:flex;gap:16px;margin-top:13px}
.addrcard__foot a,.addrcard__foot button{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink);font-weight:600}
.addrcard--new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);border-style:dashed;text-align:center;font-size:12.5px}
.addrcard__plus{display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--gold-tint);align-items:center;justify-content:center;color:var(--gold-deep)}

.orderfoot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-top:1px solid var(--line-2)}
.orderfoot span strong{color:var(--ink)}
.orderfoot__actions{display:flex;gap:10px}

.steps{display:flex;align-items:center;padding:18px;flex-wrap:wrap}
.step{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11.5px}
.step__n{width:26px;height:26px;border-radius:50%;background:var(--line-2);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.step.is-done{color:var(--ink)}
.step.is-done .step__n{background:var(--green);color:#fff}
.step__n .icon{width:13px;height:13px}
.step__line{width:32px;height:2px;background:var(--line);margin:0 6px}
.step.is-done+.step__line{background:var(--green)}
@media (max-width: 560px){ .step__label{display:none} .step__line{width:16px} }

/* ==========================================================================
   Blog / CMS / FAQ / Policy
   ========================================================================== */
.blog-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
@media (min-width: 700px){ .blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
.blog-card{background:#fff;border:1px solid var(--line)}
.blog-card__media{aspect-ratio:16/10;background:var(--panel)}
.blog-card__media img{width:100%;height:100%;object-fit:cover}
.blog-card__body{padding:15px 16px}
.blog-card__date{font-size:11px;color:var(--muted)}
.blog-card__title{font-family:var(--serif);font-size:16px;font-weight:700;margin-top:7px;line-height:1.35}
.blog-post{max-width:760px;margin:0 auto}
.blog-post__media{overflow:hidden;margin-bottom:22px}
.blog-post h1{font-size:28px}
.blog-post__meta{color:var(--muted);font-size:12.5px;margin-top:8px;font-family:var(--sans)}
.rte{font-size:14px;line-height:1.8;color:var(--ink-2)}
.rte h2,.rte h3{margin-top:24px;margin-bottom:9px}
.rte p{margin-bottom:13px}
.rte ul,.rte ol{padding-left:22px;margin-bottom:13px;list-style:revert}

.faq-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:26px}
@media (min-width: 860px){ .faq-layout{grid-template-columns:1fr 270px} }
.infobox{background:var(--panel);border:1px solid var(--line);padding:20px;align-self:start}
.infobox h3{font-family:var(--sans);font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px}
.infobox li{margin-bottom:11px}
.infobox a{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2)}
.infobox a:hover{color:var(--ink)}
.infobox .icon{width:15px;height:15px;color:var(--gold-deep);flex-shrink:0}
.faqgroup{margin-bottom:22px}
.faqgroup__title{font-family:var(--serif);font-size:17px;color:var(--ink);margin-bottom:11px}
.faq-list{max-width:760px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--line);padding:17px 0}
.faq-item summary{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item[open] summary .icon{transform:rotate(180deg)}
.faq-item__body{padding-top:11px;color:var(--ink-2);font-size:13.5px;line-height:1.7}

/* ==========================================================================
   Misc
   ========================================================================== */
.container--narrow{max-width:760px}
.chiprow{display:flex;flex-wrap:wrap;gap:10px}
.chiprow a{border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:12.5px;color:var(--ink-2)}
.chiprow a:hover{border-color:var(--ink);color:var(--ink)}


/* ==========================================================================
   Shared polish for the account / cart / checkout pages
   ========================================================================== */
.field input,.field textarea,.field select{border-radius:4px;font-size:14px;color:var(--ink);background:#fff}
.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-color:var(--ink-2)}
.cart-box,.summary,.acct-nav,.empty{border-radius:8px}
@media (max-width: 859.98px){
  .acct-nav{display:flex;overflow-x:auto;gap:4px;padding:6px;scrollbar-width:none}
  .acct-nav::-webkit-scrollbar{display:none}
  .acct-nav a{flex:0 0 auto;white-space:nowrap;padding:10px 12px;border-radius:4px}
}
@media (max-width: 767.98px){
  .container{padding-inline:16px}
  .pagehead{padding-inline:16px}
}

/* Invoice: the printable sheet is the shared partial; keep the theme chrome out of the printout. */
.invoice-page{padding:8px 16px 24px}
@media print{
  body.template-invoice .tb-appbar,body.template-invoice .tb-drawer,body.template-invoice .tb-backdrop,body.template-invoice .tb-footer,body.template-invoice .toast{display:none!important}
  body.template-invoice{padding-bottom:0}
}

/* ==========================================================================
   Announcement bar + app bar (reference: 46px black notice, 68px white bar,
   40px side padding, 48px logo, 13.5px / 600 nav links, 24px icons)
   ========================================================================== */
.tb-appbar{position:sticky;top:0;z-index:1100;background:#fff;color:#000;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.tb-notice{background:#000;color:#fff;font-size:13px;font-weight:700;padding:10.5px;overflow:hidden;text-transform:uppercase;letter-spacing:.06em}
.tb-notice__msg{overflow:hidden;line-height:25px}
.tb-notice__track{display:inline-flex;gap:80px;margin:0;padding-left:100%;white-space:nowrap;animation:tb-scroll 22s linear infinite}
.tb-notice__track:hover{animation-play-state:paused}
.tb-notice a{text-decoration:underline}
@keyframes tb-scroll{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion: reduce){
  .tb-notice__msg{text-align:center}
  .tb-notice__track{animation:none;padding-left:0;display:flex;flex-wrap:wrap;justify-content:center;white-space:normal;gap:4px 24px}
}
.tb-appbar__row{display:flex;align-items:center;justify-content:space-between;max-width:1280px;height:66px;margin:0 auto;padding:0 16px}
@media (min-width: 1440px){ .tb-appbar__row{max-width:1600px} }
.tb-burger{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:12px;flex:none}
.tb-burger .icon{width:24px;height:24px}
.tb-logo{display:flex;flex:1;align-items:center;justify-content:center;gap:16px;min-width:0}
@media (max-width: 480px){ .tb-logo{justify-content:flex-start} }
.tb-logo__img,.tb-logo__mark,.tb-logomark{width:42px;height:42px;object-fit:cover;flex:none}
.tb-logomark{border-radius:50%}
.tb-logo__img{width:auto;max-width:96px}
.tb-logo__mark{display:block}
.tb-logo__title{margin-right:16px;font-size:16px;font-weight:700;line-height:24px;letter-spacing:.02em;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-nav{display:none}
.tb-appbar__icons{display:flex;align-items:center;gap:8px;margin-left:auto}
.tb-iconbtn{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#000}
.tb-icon24,.tb-iconbtn .icon{width:24px;height:24px}
.tb-search__toggle .icon{width:28px;height:28px}
.tb-count{position:absolute;top:-4px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#000;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}
.tb-account__sheet .tb-count{position:static;display:inline-block;margin-left:8px;background:#000}

/* search: the icon expands an input with an underline that draws in */
.tb-search{position:static;display:flex;align-items:center;margin-left:16px}
.tb-search__box{position:absolute;left:0;right:0;top:100%;display:flex;align-items:center;padding:10px 16px;background:#fff;border-top:1px solid #eee;box-shadow:0 6px 10px rgba(0,0,0,.08);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s}
.tb-search.is-open .tb-search__box{opacity:1;visibility:visible;pointer-events:auto}
.tb-search__box input{width:100%;height:42px;padding:0 12px;border:1px solid #ddd;border-radius:0;background:#fff;font-size:15px;outline:0}
.tb-search__box input:focus{border-color:#000}

/* account popup (desktop only — phones reach the account through the side menu, as in the reference) */
.tb-account{position:relative;display:none}
@media (min-width: 769px){ .tb-account{display:block} }
.tb-account__sheet{position:absolute;top:100%;right:-16px;width:203px;margin-top:10px;padding:0;background:#fff;border-radius:20px;box-shadow:0 5px 18px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;overflow:hidden;z-index:5}
.tb-account__hi{padding:12px 16px;font-size:14px;font-weight:600;line-height:21px;border-bottom:1px solid #f0f0f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-account__sheet a{display:flex;align-items:center;height:46px;padding:0 16px;font-size:14px;color:#000}
.tb-account__sheet a:hover{background:#f6f6f6}
.tb-account.is-open .tb-account__sheet,.tb-account:hover .tb-account__sheet,.tb-account:focus-within .tb-account__sheet{opacity:1;visibility:visible;transform:none}
@media (hover: none){ .tb-account:hover .tb-account__sheet{opacity:0;visibility:hidden} .tb-account.is-open:hover .tb-account__sheet{opacity:1;visibility:visible} }

@media (min-width: 960px){
  .tb-logo__img,.tb-logo__mark,.tb-logomark{width:48px;height:48px}
  .tb-logo__img{width:auto;max-width:110px}
  .tb-logo__title{font-size:20px;line-height:30px}
}
@media (min-width: 769px){
  .tb-appbar__row{height:68px;padding:0 40px;justify-content:flex-start}
  .tb-burger{display:none}
  .tb-logo{flex:none;justify-content:flex-start;gap:16px}
  .tb-logo__title{margin-right:16px}
  .tb-iconbtn{width:24px;height:24px}
  .tb-search__toggle .icon{width:24px;height:24px}
  .tb-cartlink{width:28px;height:28px}
  .tb-nav{display:block;flex:1;min-width:0;margin-left:16px;margin-right:16px}
  .tb-nav ul{display:flex;align-items:center;flex-wrap:nowrap;gap:16px;width:max-content;max-width:none}
  .tb-nav__item[hidden]{display:none}
  .tb-nav__item{position:relative;display:flex;align-items:center;gap:8px}
  .tb-nav__link{font-size:13.5px;font-weight:600;line-height:20.25px;letter-spacing:.02em;color:rgba(0,0,0,.93);white-space:nowrap}
  .tb-nav__chev{flex:none;width:16px;height:16px;color:#6b7280;transition:transform .2s}
  .tb-nav__item.has-sub:hover .tb-nav__chev{transform:rotate(180deg)}
  .tb-nav__sub{position:absolute;left:-12px;top:100%;min-width:200px;padding:8px 0;margin-top:14px;background:#fff;border-radius:8px;box-shadow:0 5px 18px rgba(0,0,0,.2);opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s;z-index:5}
  .tb-nav__sub::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
  .tb-nav__item.has-sub:hover .tb-nav__sub,.tb-nav__item.has-sub:focus-within .tb-nav__sub{opacity:1;visibility:visible}
  .tb-nav__sub a{display:block;padding:9px 16px;font-size:14px;color:#000;white-space:nowrap}
  .tb-nav__sub a:hover{background:#f6f6f6}
  .tb-appbar__icons{gap:16px}
  .tb-search{position:relative;margin-left:0}
  .tb-search__box{position:absolute;left:auto;right:calc(100% + 8px);top:50%;width:0;padding:0;border:0;box-shadow:none;background:transparent;transform:translateY(-50%);overflow:hidden;transition:width .3s ease,opacity .3s ease,visibility .3s}
  .tb-search.is-open .tb-search__box{width:240px}
  .tb-search__box input{height:32px;padding:0 4px;border:0;border-bottom:1px solid #000;font-size:14px;background:transparent}
}

/* phone side menu */
.tb-drawer{position:fixed;top:0;bottom:0;left:0;z-index:1300;width:min(80vw,320px);display:flex;flex-direction:column;background:#fff;transform:translateX(-102%);visibility:hidden;transition:transform .25s ease,visibility .25s}
.tb-drawer[data-open="true"]{transform:none;visibility:visible;box-shadow:6px 0 24px rgba(0,0,0,.2)}
.tb-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.1)}
.tb-drawer__brand{font-size:16px;font-weight:700}
.tb-drawer__head button{width:32px;height:32px;display:flex;align-items:center;justify-content:center}
.tb-drawer__list{overflow-y:auto;flex:1;padding:6px 0}
.tb-drawer__list a{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;font-size:14px;font-weight:500;color:#000}
.tb-drawer__list .icon{width:16px;height:16px;transition:transform .2s}
.tb-drawer__list li.is-open>a .icon{transform:rotate(180deg)}
.tb-drawer__list .sub{display:none;background:#fafafa}
.tb-drawer__list li.is-open .sub{display:block}
.tb-drawer__list .sub a{padding-left:32px;font-weight:400}
.tb-drawer__sep{border-top:1px solid rgba(0,0,0,.1);margin-top:6px}
.tb-backdrop{position:fixed;inset:0;z-index:1250;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .25s}
.tb-backdrop.is-visible{opacity:1;pointer-events:auto}

/* ==========================================================================
   Layout wrappers + section headings
   ========================================================================== */
.tb-wrap{max-width:1280px;margin:0 auto;padding:0 18px}
@media (min-width: 1440px){ .tb-wrap{max-width:1600px} }
.tb-sec{margin-bottom:32px;padding-bottom:2px}
.tb-sh{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;margin:20px 0 22px}
.tb-sh__title{position:relative;display:inline-block;margin:0;padding-bottom:14px;color:#2a1d17;font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.2;letter-spacing:.17136px}
.tb-sh__title::after{content:"";position:absolute;left:50%;bottom:0;width:84px;height:3px;background:var(--yellow-line);transform:translateX(-50%)}
.tb-sh__all{display:none;position:absolute;right:0;top:0;font-size:16px;font-weight:600;color:#000}
.tb-sh__all:hover{text-decoration:underline}
.tb-center{display:flex;justify-content:center;margin:20px 0 4px}
.tb-btn-outline{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border:1px solid #111;font-size:14px;font-weight:600;color:#111;background:#fff}
.tb-btn-outline:hover{background:#111;color:#fff}
@media (min-width: 641px){ .tb-sh__all{display:block} }
@media (min-width: 768px){
  .tb-wrap{padding:0 42px}
  .tb-sh{margin:32px 0 28px}
  .tb-sh__title{padding-bottom:18px}
}
@media (min-width: 1024px){ .tb-sh__title{font-size:32.2px} }
@media (min-width: 768px) and (max-width: 1023.98px){ .tb-sh__title{font-size:26px;padding-bottom:14px} .tb-sh{margin-top:20px;margin-bottom:22px} }

/* ==========================================================================
   Rails (swipe rows with round outline arrows) — 2 / 4 / 5 products per view
   ========================================================================== */
.tb-rail{position:relative}
.tb-rail__track{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px 0;-webkit-overflow-scrolling:touch}
.tb-rail__track::-webkit-scrollbar{display:none}
.tb-rail__track>*{scroll-snap-align:start;flex:0 0 calc((100% - 8px) / 2);min-width:0}
.tb-rail__arrow{position:absolute;top:50%;z-index:3;display:none;align-items:center;justify-content:center;width:24px;height:24px;margin-top:-22px;border:1px solid #737373;border-radius:50%;background:transparent;color:#737373;font-weight:600;transition:opacity .2s}
.tb-rail__arrow.is-disabled{opacity:.3;pointer-events:none}
.tb-rail__arrow[hidden]{display:none!important}
.tb-rail__arrow .icon{width:12px;height:12px;stroke-width:2.2}
.tb-rail__arrow--prev{left:10px}
.tb-rail__arrow--prev .icon{transform:rotate(180deg)}
.tb-rail__arrow--next{right:10px}
@media (min-width: 768px){
  .tb-rail__track{gap:12px}
  .tb-rail__track>*{flex-basis:calc((100% - 48px) / 5)}
  .tb-rail__arrow{display:flex}
}
@media (hover: none){ .tb-rail__arrow{display:none!important} }

/* hero: one full-bleed slide at a time */
.tb-hero{margin-bottom:0}
.tb-rail--hero .tb-rail__track{gap:0;padding:0}
.tb-rail--hero .tb-rail__track>*{flex:0 0 100%}
.tb-hero__slide{position:relative;display:block;background:#f6f6f6}
.tb-hero__slide img{display:block;width:100%;aspect-ratio:1920/560;object-fit:cover}
@media (max-width: 767.98px){ .tb-hero__slide.has-mobile img{aspect-ratio:800/800} }
.tb-hero__copy{position:absolute;left:5%;bottom:10%;display:flex;flex-direction:column;gap:4px;max-width:60%;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.tb-hero__copy strong{font-size:clamp(18px,3.4vw,44px);line-height:1.1}
.tb-hero__copy span{font-size:clamp(12px,1.4vw,18px)}

/* round category tiles: 3 / 4 / 5 per view */
.tb-rail--cats .tb-rail__track{margin:0;gap:0;padding:0}
.tb-rail--cats .tb-rail__track>*{flex:0 0 calc(100% / 3);padding:6px}
.tb-cat{display:block;text-align:center}
.tb-cat__media{display:block;position:relative;padding-bottom:100%;border-radius:20px;overflow:hidden}
.tb-cat__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:20px;transition:transform .45s}
.tb-cat:hover .tb-cat__media img{transform:scale(1.07)}
.tb-cat__title{display:flex;align-items:center;justify-content:center;margin:6px 0 4px;color:#000;font-size:16px;font-weight:700;line-height:1.5}
@media (min-width: 768px){
  .tb-rail--cats .tb-rail__track{margin:0}
  .tb-rail--cats .tb-rail__track>*{flex-basis:20%;padding:10px}
  .tb-cat__title{margin:10px 0 4px;font-size:20px}
}
@media (max-width: 600px){ .tb-cat__title{font-size:16px;line-height:20.8px;margin-top:6px} }

/* ==========================================================================
   Highlights strip (black, 2 x 2 on phones, one row from 768px)
   ========================================================================== */
.tb-usp{display:grid;grid-template-columns:repeat(2,1fr);background:#111}
.tb-usp__item{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 10px;text-align:center}
.tb-usp__item:nth-child(odd){border-right:1px solid #2a2a2a}
.tb-usp__item:nth-child(-n+2){border-bottom:1px solid #2a2a2a}
.tb-usp__mark{color:var(--yellow);font-weight:900;font-size:12px}
.tb-usp__text{color:#e8e8e8;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
@media (min-width: 768px){
  .tb-usp{grid-template-columns:repeat(4,1fr)}
  .tb-usp__item{padding:16px 12px}
  .tb-usp__item:nth-child(-n+2){border-bottom:0}
  .tb-usp__item:not(:last-child){border-right:1px solid #2a2a2a}
  .tb-usp__text{font-size:12.5px}
}

/* ==========================================================================
   Product card (reference: 12px radius, 8px padding, 3:4 photo, 13.5px name)
   ========================================================================== */
.tb-card{display:flex;flex-direction:column;align-self:stretch;padding:8px;background:#fff;border:1px solid #e6e6e6;border-radius:12px;color:rgba(0,0,0,.87)}
.tb-card__media{position:relative}
.tb-card__media a{display:block}
.tb-card__img{display:block;width:100%;aspect-ratio:3/4;object-fit:contain;background:#fff;border:1px solid #f6f6f6;border-radius:8px 12px 12px 8px}
.tb-card__off{position:absolute;top:10px;right:10px;padding:4px 9px;border-radius:6px;background:var(--deal);color:#fff;font-size:11px;font-weight:700;line-height:16px;letter-spacing:.05em;white-space:nowrap}
.tb-card__body{display:flex;flex:1;flex-direction:column;padding-top:8px}
.tb-card__link{display:block}
.tb-card__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 6px;min-height:36.45px;color:#222;font-size:13.5px;font-weight:600;line-height:18.225px;letter-spacing:.02em;font-family:var(--sans)}
.tb-card__price{display:flex;align-items:center;min-height:24px}
.tb-card__sale{margin-right:8px;color:#1a1a1a;font-size:14.5px;font-weight:800;line-height:24px;letter-spacing:.02em}
.tb-card__mrp{margin-left:5px;color:#6b6b6b;font-size:12px;font-weight:400;line-height:20px;letter-spacing:.02em}
.tb-card__size{position:relative;display:flex;align-items:center;margin:8px 0;height:31px;border:1px solid #bbb;background:#fff;color:#1a1a1a}
.tb-card__size select{appearance:none;-webkit-appearance:none;width:100%;height:100%;padding:0 26px 0 9px;border:0;background:transparent;outline:0;font-size:14px;font-weight:500;color:#666;text-transform:capitalize;cursor:pointer}
.tb-card__chev{position:absolute;right:9px;width:12px;height:12px;color:#666;pointer-events:none;stroke-width:2}
.tb-card__foot{margin-top:auto;padding-top:8px}
.tb-card__buy{display:flex;align-items:center;justify-content:center;width:100%;height:40px;padding:8px 0;border:1px solid #111;background:#fff;color:#111;font-size:12.5px;font-weight:800;letter-spacing:.05em;text-align:center;text-transform:uppercase;line-height:18.75px;transition:background-color .15s,color .15s}
.tb-card__buy:hover{background:var(--yellow);border-color:var(--yellow);color:#fff}
.tb-card__buy.is-disabled{border-color:#ccc;color:#999;pointer-events:none}
.tb-card__buy.is-disabled:hover{background:#fff;border-color:#ccc;color:#999}

/* grids (2 / 4 / 5 columns) */
.tb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width: 768px){ .tb-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px} }

/* ==========================================================================
   Home sections
   ========================================================================== */
.tb-sec--banners .tb-wrap{display:flex;flex-direction:column;gap:16px}
.tb-banner{position:relative;display:block;overflow:hidden;border-radius:20px}
.tb-banner img{display:block;width:100%;aspect-ratio:1920/560;object-fit:cover}
@media (max-width: 767.98px){ .tb-banner.has-mobile img{aspect-ratio:800/800} }
.tb-banner__copy{position:absolute;left:5%;bottom:10%;display:flex;flex-direction:column;gap:4px;max-width:60%;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.tb-banner__copy strong{font-size:clamp(16px,3vw,36px);line-height:1.1}

.tb-feature{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.tb-alltile{container-type:inline-size;position:relative;display:flex;flex-direction:column;align-items:center;aspect-ratio:3/4;padding:14px 12px;border-radius:20px;background:#111;color:#fff;overflow:hidden;text-align:center}
.tb-alltile__bar{display:block;width:26px;height:4px;margin:8% 0 8px;background:var(--yellow)}
.tb-alltile__title{font-family:var(--display);font-size:clamp(22px,17cqw,56px);font-weight:900;line-height:.95;text-transform:uppercase;color:#fff;letter-spacing:0}
.tb-alltile__title{background:linear-gradient(#fff 0 0) top/100% 50% no-repeat,linear-gradient(var(--yellow) 0 0) bottom/100% 50% no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tb-alltile__mosaic{position:absolute;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;height:46%}
.tb-alltile__mosaic img{width:100%;height:100%;object-fit:cover;border-radius:4px;background:#222}
.tb-alltile__cta{position:absolute;left:50%;bottom:30%;transform:translateX(-50%);padding:4px 24px;background:#000;font-size:16px;font-weight:700;white-space:nowrap}
.tb-feature__rail{min-width:0}
@media (min-width: 768px){
  .tb-feature{flex-direction:row;align-items:center;gap:0}
  .tb-alltile{flex:0 0 25%;width:25%}
  .tb-feature__rail{flex:1;padding:18px 14px 18px 16px}
  .tb-feature .tb-rail__track>*{flex-basis:calc((100% - 36px) / 4)}
}
@media (max-width: 767.98px){ .tb-alltile{max-width:340px;margin:0 auto;width:100%} }

.tb-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#6b6b6b}
.tb-stars{color:#f5a623;letter-spacing:2px;font-size:15px}
.tb-stars i{font-style:normal;color:#ddd}
.tb-stars i.on{color:#f5a623}
.tb-reviews{background:#fff;padding:34px 16px 36px;margin-bottom:0}
.tb-reviews__inner{max-width:1200px;margin:0 auto}
.tb-reviews__head{text-align:center;margin-bottom:20px}
.tb-reviews__head h2{margin:6px 0;font-family:var(--sans);font-size:24px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;color:var(--ink)}
.tb-reviews__rating{margin:6px 0 0;font-size:14px;color:var(--muted)}
.tb-reviews__rating strong{color:var(--ink);font-size:18px}
.tb-reviews__grid{display:flex;gap:12px;margin:0 -16px;padding:0 16px 8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.tb-reviews__grid::-webkit-scrollbar{display:none}
.tb-review{flex:0 0 84%;margin:0;scroll-snap-align:center;padding:16px 16px 14px;background:var(--panel);border:1px solid #e6e6e6;border-top:4px solid var(--yellow);border-radius:8px}
.tb-review blockquote{margin:8px 0 12px;font-size:14px;line-height:1.55;color:#222}
.tb-review figcaption{display:flex;align-items:center;gap:10px}
.tb-review figcaption b{display:block;font-size:13px;font-weight:800;color:var(--ink)}
.tb-review figcaption small{display:block;margin-top:1px;font-size:11.5px;color:var(--muted)}
.tb-review__av{flex:0 0 36px;width:36px;height:36px;border-radius:50%;object-fit:cover}
.tb-review__av--i{display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--yellow);font-size:14px;font-weight:900}
@media (min-width: 768px){
  .tb-reviews__head h2{font-size:30px}
  .tb-reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:0;overflow:visible}
  .tb-review{flex:none}
}

.tb-posts{background:var(--panel);padding:34px 16px 36px;margin-bottom:0}
.tb-posts__inner{max-width:1200px;margin:0 auto}
.tb-posts__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:18px}
.tb-posts__head h2{margin:4px 0 0;font-family:var(--sans);font-size:24px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:var(--ink)}
.tb-posts__head h2::after{content:"";display:block;width:44px;height:4px;margin-top:6px;background:var(--yellow)}
.tb-posts__head>a{font-size:13px;font-weight:700;color:#333;white-space:nowrap}
.tb-posts__grid{display:grid;grid-template-columns:1fr;gap:14px}
.tb-post{display:block;overflow:hidden;background:#fff;border:1px solid #e6e6e6;border-radius:8px;color:var(--ink)}
.tb-post img{display:block;width:100%;aspect-ratio:8/5;object-fit:cover}
.tb-post__body{display:flex;flex-direction:column;padding:14px 16px 16px}
.tb-post__tag{align-self:flex-start;padding:3px 8px;border-radius:3px;background:var(--yellow);font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.tb-post__title{margin:10px 0 6px;font-size:16px;font-weight:800;line-height:1.3}
.tb-post__ex{margin:0 0 10px;font-size:13px;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tb-post small{font-size:11.5px;color:var(--muted);margin-bottom:8px}
.tb-post__more{align-self:flex-start;font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
@media (min-width: 768px){
  .tb-posts__head h2{font-size:30px}
  .tb-posts__grid{grid-template-columns:repeat(3,1fr);gap:18px}
}

/* ==========================================================================
   Listing (PLP): 26px heading + sort on one row, 260px filter card, 5-up grid
   ========================================================================== */
.tb-plp{max-width:1280px;margin:0 auto;padding:10px 16px 32px}
.tb-plp__layout{display:block}
.tb-plp__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 16px}
.tb-plp__title{margin:0;color:#000;font-family:var(--sans);font-size:20px;font-weight:600;line-height:1.25;letter-spacing:.17136px}
.tb-plp__count{font-weight:400;color:var(--muted)}
.tb-plp__desc{margin:0 0 16px;font-size:14px;color:var(--ink-2)}
.tb-toolbar{display:flex;align-items:center;gap:10px}
.tb-sort{position:relative;display:flex;align-items:center;gap:8px;width:200px;height:46px;padding:6px 8px;border:1px solid #e6e6e6;border-radius:8px;background:#fff}
.tb-sort label{font-size:14px;font-weight:600;color:#1a1a1a}
.tb-sort select{appearance:none;-webkit-appearance:none;flex:1;min-width:0;border:0;background:transparent;outline:0;font-size:14px;color:#1a1a1a;padding-right:22px;cursor:pointer}
.tb-sort>.icon{position:absolute;right:10px;width:15px;height:15px;pointer-events:none}
.tb-filterbar{position:fixed;left:0;right:0;bottom:0;z-index:100;display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-top:1px solid #eee;background:#fafafa;font-size:14px;font-weight:600;color:#1a1a1a}
.tb-filterbar .icon{width:18px;height:18px}
.tb-filterbar b{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;border-radius:50%;background:var(--yellow);color:#fff;font-size:10px}
.tb-plp .tb-grid{gap:8px}
.tb-plp .pager{margin-top:28px}
@media (max-width: 767.98px){ body.template-collection,body.template-search{padding-bottom:48px} .tb-sort{width:150px;height:40px} }
@media (min-width: 768px){
  .tb-plp{padding:20px 32px 40px}
  .tb-plp__title{font-size:26px}
  .tb-plp__layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:0 24px;align-items:start}
  .tb-plp__layout--solo{display:block}
  .tb-filterbar{display:none}
  .tb-plp .tb-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
}
@media (min-width: 1024px){
  .tb-plp:not(:has(.filters)) .tb-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .tb-plp:has(.filters) .tb-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* filter card */
.filters{display:none}
@media (min-width: 768px){
  .filters{display:block;padding:0;border:1px solid #e6e6e6;border-radius:4px;background:#fff;position:sticky;top:104px;max-height:calc(100vh - 124px);overflow-y:auto;scrollbar-width:thin}
  .filters__head{padding:16px;margin:0;border-bottom:1px solid #e6e6e6}
  .filters__head h2{font-size:18px;font-weight:600;text-transform:none;letter-spacing:0;color:#000}
  .filters__head h2 span{color:var(--muted)}
  .fgroup{padding:16px;margin:0}
  .fgroup legend{font-size:16px;font-weight:600;text-transform:none;letter-spacing:0;margin-bottom:8px}
  .fgroup__list label{font-size:14px;padding:5px 0}
  .fgroup__count{color:#929391}
  .filters__form{padding:0}
}
.filters .btn--primary{background:#000;border-color:#000}
.filters__clear{color:#666}
.fgroup__more{color:#666;font-weight:400}
.fgroup__list input[type=checkbox]:checked{background:#000;border-color:#000}
.fgroup__list input[type=checkbox]{border-radius:2px}
.filters__head h2 span{color:var(--muted)}

/* ==========================================================================
   Product page (reference: 1280px frame, 84px thumbs + 480x640 image,
   Inter 22px title, 24px price, pill sizes, + Add / Buy Now, round badges)
   ========================================================================== */
.tb-pdp{max-width:1280px;margin:0 auto;padding:0 0 20px}
.tb-pdp__grid{display:flex;flex-direction:column}
.tb-pdp__media{width:100%}
.tb-gallery{display:block}
.tb-gallery__thumbs{display:none}
.tb-gallery__main{position:relative}
.tb-gallery__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.tb-gallery__track::-webkit-scrollbar{display:none}
.tb-gallery__shot{flex:0 0 100%;scroll-snap-align:start}
.tb-gallery__shot img{display:block;width:100%;height:auto;max-height:75vh;margin:0 auto;object-fit:contain;background:#fff}
.tb-gallery__dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px}
.tb-gallery__dots i{width:7px;height:7px;border-radius:50%;background:rgba(0,0,0,.25)}
.tb-gallery__dots i.is-on{background:#000}
.tb-pdp__info{padding:16px 16px 0}
.tb-pdp__title{margin:0;font-family:var(--display);font-size:22px;font-weight:700;line-height:24px;text-transform:capitalize;color:#1a1a1a;letter-spacing:.02em}
.tb-pdp__pricerow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;height:26px;margin-top:16px}
.tb-pdp__price{display:flex;align-items:flex-start;flex-wrap:wrap}
.tb-pdp__now,.tb-pdp__mrp{margin-top:1px}
.tb-pdp__now{font-size:24px;font-weight:700;line-height:20px;letter-spacing:.0107em;color:rgba(0,0,0,.87)}
.tb-pdp__mrp{margin-left:12px;font-size:20px;line-height:20px;letter-spacing:.0107em;color:#777;font-weight:400}
.tb-pdp__off{margin-left:16px;padding:2px 6px;border-radius:4px;background:var(--yellow);color:#fff;font-size:14px;font-weight:600;line-height:18px;letter-spacing:.02em}
.tb-share{display:flex;gap:14px;margin-top:-2px}
.tb-share__btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--yellow);color:#111}
.tb-share__btn .icon{width:15px;height:15px}
.tb-gallery__wish{position:absolute;top:10px;right:10px;z-index:2;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.2);color:#111}
.tb-gallery__wish .icon{width:18px;height:18px}
.tb-gallery__wish.is-on{background:#111;color:var(--yellow)}
.tb-gallery__wish.is-on .icon{fill:currentColor}
.tb-pdp__msgs{min-height:21px}
.tb-pdp__msg{font-size:14px;font-weight:600;line-height:21px}
.tb-pdp__msg--out{color:var(--deal)}
.tb-pdp__short{margin-top:12px;font-size:14px;color:var(--ink-2)}
.tb-pdp__attr{margin-top:8px;font-size:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.tb-pdp__attr span{font-weight:600}
.tb-swatch{width:14px;height:14px;border-radius:50%;border:1px solid #ddd}
.tb-pdp__opts{margin-top:32px}
.tb-pdp__optlabel{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px;font-size:14px;font-weight:600;color:#1f2937}
.tb-pdp__optlabel a{font-size:12px;font-weight:500;color:#666;text-decoration:underline}
.tb-sizes{display:flex;flex-wrap:wrap;gap:12px}
.tb-size{min-width:40px;height:40px;padding:8px 16px;border:1px solid #000;border-radius:999px;background:#fff;color:#111;font-size:14px;font-weight:700;line-height:21px;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:all .3s cubic-bezier(.4,0,.2,1)}
.tb-size:hover:not([disabled]){box-shadow:0 4px 6px rgba(0,0,0,.1);transform:translateY(-2px)}
.tb-size.is-active{background:#000;color:#fff;border-width:2px;padding:7px 15px;box-shadow:0 2px 6px rgba(0,0,0,.15);z-index:2}
.tb-size[disabled]{border-color:#ccc;color:#aaa;background:repeating-linear-gradient(135deg,#fff,#fff 6px,#f1f1f1 6px,#f1f1f1 7px);cursor:not-allowed}
.tb-pdp__actions{display:flex;gap:12px;margin-top:16px}
.tb-act{display:flex;align-items:center;justify-content:center;height:40px;padding:12px;border:1px solid #000;font-size:14px;font-weight:600;line-height:21px;letter-spacing:.17136px}
.tb-act--wa{flex:0 0 48px;padding:0;background:#fff;color:#000}
.tb-act--wa .icon{width:20px;height:20px}
.tb-act--add{flex:1;background:#fff;color:#000}
.tb-act--buy{flex:1.07;background:#000;color:#fff}
.tb-act.is-disabled{opacity:.5;pointer-events:none}
.tb-badges{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:24px 0 16px}
.tb-badges li:hover{opacity:.95}
.tb-badges li{display:flex;align-items:center;gap:10px;font-size:12px;line-height:16.2px;color:#1a1a1a;min-width:0}
.tb-badges__ic{display:flex;flex:0 0 40px;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(240,200,8,.6);color:#fff}
.tb-badges__ic .icon{width:20px;height:20px;stroke-width:1.7}
.tb-pdp__desc{margin-top:16px;font-size:14px;line-height:21px;letter-spacing:.28px;color:#1a1a1a;overflow-wrap:anywhere}
.tb-pdp__desc p{margin:14px 0}
.tb-pdp__desc ul,.tb-pdp__desc ol{margin:14px 0;padding-left:40px}
.tb-pdp__desc ul{list-style:disc}
.tb-pdp__desc ol{list-style:decimal}
.tb-pdp__block{margin-top:22px}
.tb-pdp__block h2{margin-bottom:10px;font-size:16px;font-weight:700}
.tb-pdp__info .lm-upload,.tb-pdp__info [data-upload]{margin-top:16px}

/* mobile: the action row sticks to the bottom of the screen */
@media (max-width: 899.98px){
  body.template-product{padding-bottom:48px}
  .tb-pdp{padding:20px 16px 20px}
  .tb-gallery__shot img{max-height:675px}
  .tb-pdp__actions{position:fixed;left:0;right:0;bottom:0;z-index:120;margin:0;gap:0;background:#fff}
  .tb-pdp__actions .tb-act{height:48px}
  .tb-pdp__actions .tb-act--wa{flex:0 0 52px}
  .tb-pdp__actions .tb-act--add{border-left:0}
  .tb-pdp__actions .tb-act--buy{border-left:0}
  .toast{bottom:64px}
}
@media (min-width: 900px){
  .tb-pdp{padding:36px 32px 20px}
  .tb-pdp__grid{display:grid;grid-template-columns:1fr 1fr;align-items:start}
  .tb-pdp__media{position:sticky;top:104px;padding-right:28px}
  .tb-gallery{display:flex}
  .tb-gallery__thumbs{display:block;flex:0 0 84px;margin-right:16px}
  .tb-gallery__thumb{display:block;width:84px;height:84px;margin-bottom:16px;padding:0;border:1px solid #ececec;background:#fff}
  .tb-gallery__thumb:last-child{margin-bottom:0}

  .tb-gallery__thumb img{width:82px;height:82px;object-fit:contain}
  .tb-gallery__main{flex:1;min-width:0;max-width:480px}
  .tb-gallery__dots{display:none}
  .tb-pdp__info{padding:0 32px 0 16px}
  .tb-pdp__badges{margin:16px 0}
  .tb-reviewcard{grid-column:1 / -1}
}

/* reviews and ratings card */
.tb-reviewcard{margin:36px 0 0;padding:12px 12px 16px;border:1px solid #e6e6e6;border-radius:20px;background:#fff}
.tb-reviewcard__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.tb-reviewcard__head h2{font-size:24px;font-weight:700;line-height:32px;color:#111}
.tb-reviewcard__head a{font-size:14px;font-weight:500;color:#111;text-decoration:underline;white-space:nowrap}
.tb-reviewcard__sum{display:grid;grid-template-columns:1fr;gap:24px}
.tb-reviewcard__avg{text-align:center}
.tb-reviewcard__avg b{display:block;font-size:48px;font-weight:700;line-height:1.1;color:#111}
.tb-reviewcard__avg .tb-stars{display:block;margin:6px 0;font-size:24px;letter-spacing:2px}
.tb-reviewcard__avg p{color:#6b7280;font-size:16px}
.tb-reviewcard__bars{display:flex;flex-direction:column;justify-content:center;gap:10px}
.tb-bar{display:grid;grid-template-columns:34px 1fr 40px;align-items:center;gap:8px;font-size:14px;color:#111}
.tb-bar i{font-style:normal;color:var(--yellow)}
.tb-bar span:last-child{text-align:right}
.tb-bar__track{display:block;height:8px;border-radius:4px;background:#d1d5db;overflow:hidden}
.tb-bar__track span{display:block;height:100%;background:var(--yellow)}
.tb-reviewcard .review-item{margin-top:20px;padding-top:16px;border-top:1px solid #eee}
@media (min-width: 768px){
  .tb-reviewcard__sum{grid-template-columns:1fr 1fr}
}
@media (min-width: 900px){
  .tb-reviewcard{margin:36px 0 0;grid-column:1 / -1}
}

/* ==========================================================================
   Footer: black, brand + 3 columns, small print row
   ========================================================================== */
.tb-footer{margin-top:44px;padding:40px 16px 20px;background:#111;color:#cfcfcf;font-size:13.5px}
.tb-footer a{color:#cfcfcf}
.tb-footer a:hover{color:var(--yellow)}
.tb-footer__cols{display:grid;grid-template-columns:1fr;gap:26px;max-width:1280px;margin:0 auto}
.tb-footer h4{margin:0 0 12px;color:#fff;font-size:13px;font-weight:400;text-transform:uppercase;letter-spacing:.08em;font-family:var(--sans)}
.tb-footer h4::after{content:"";display:block;width:26px;height:3px;margin-top:5px;background:var(--yellow)}
.tb-footer p,.tb-footer li{margin:0 0 6px;line-height:1.7}
.tb-footer ul{list-style:none;margin:0;padding:0}
.tb-footer address{font-style:normal}
.tb-footer__brand img{width:46px;height:46px;margin-bottom:10px;border-radius:50%;object-fit:cover}
.tb-footer__brand strong{color:#fff;font-weight:700}
.tb-wachip{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:9px 16px;border-radius:6px;background:#25d366;color:#fff!important;font-weight:800}
.tb-wachip .icon{width:16px;height:16px}
.tb-footer__social{display:flex;gap:10px;margin-top:12px}
.tb-footer__social a{display:flex;width:30px;height:30px;align-items:center;justify-content:center;border:1px solid #333;border-radius:50%}
.tb-footer__social .icon{width:15px;height:15px}
.tb-ci{display:inline-block;width:14px;height:14px;margin:-2px 8px 0 0;vertical-align:middle}
.tb-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;max-width:1280px;margin:26px auto 0;padding-top:16px;border-top:1px solid #2c2c2c;color:#9a9a9a;font-size:12px}
@media (min-width: 768px){
  .tb-footer{padding:40px 16px 20px}
  .tb-footer__cols{grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:26px}
}
@media (min-width: 1440px){ .tb-footer__cols,.tb-footer__bottom{max-width:1280px} }

/* ==========================================================================
   Content pages (CMS, policies, FAQ, blog) + shared headings on inner pages
   ========================================================================== */
.pagehead__title{font-size:24px;font-weight:600;line-height:32px;color:#111}
.pagehead{padding-top:20px}
.phero{max-width:1024px;margin:0 auto;padding:20px 32px 4px;text-align:center}
.phero__bg{border-radius:20px}
.phero__title{margin:0 0 16px;font-size:24px;font-weight:600;line-height:32px;color:#111}
.template-page .crumbs,.template-blog .crumbs,.template-faq .crumbs,.template-article .crumbs{display:none}
.template-policy .pagehead{max-width:1024px;padding-inline:32px;text-align:center;padding-bottom:0}
.template-page .section>.container,.template-article .section>.container{max-width:1024px;padding-inline:32px}
.template-blog .section>.container{max-width:1280px}
.template-page .rte,.template-article .rte{color:#111}
.rte{font-size:14px;line-height:1.6;color:#111}
.rte a{text-decoration:underline}
.faq-layout{display:block}
.template-policy .faq-layout>aside{display:none}
.section-head{text-align:center;margin:0 0 24px}
.section-head h2{position:relative;display:inline-block;padding-bottom:14px;color:#2a1d17;font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.2}
.section-head h2::after{content:"";position:absolute;left:50%;bottom:0;width:84px;height:3px;background:var(--yellow-line);transform:translateX(-50%)}
@media (min-width: 768px){ .section-head h2{font-size:32.2px} .section-head h2,.tb-sh__title{letter-spacing:.17136px} }
.rail-head,.link-more{color:#111}
.blog-card{border:1px solid #e6e6e6;border-radius:8px;overflow:hidden}
.blog-card__title{font-family:var(--sans);font-size:16px;font-weight:800;line-height:1.3}
.blog-grid{gap:18px}

/* product page below 900px: single column, smaller price row */
@media (max-width: 899.98px){ .tb-pdp__now{line-height:34px} .tb-pdp__pricerow{height:34px} .tb-pdp__mrp{margin-left:10px;font-size:16px;line-height:23px} .tb-pdp__off{margin-left:9px;font-size:12px;line-height:18px;letter-spacing:.02em} }
@media (max-width: 600px){ .tb-share__btn{width:24px;height:24px} .tb-share{gap:10px} }
@media (min-width: 768px) and (max-width: 899.98px){ .tb-pdp{padding:36px 32px 20px} }
