/*
Theme Name: Tea Netherlands Curiositeas
Author: Curiositeas
Description: Lightweight WooCommerce B2B theme.
Version: 2.0.22
Text Domain: tea-netherlands
*/
:root{--pink:#f6c5d2;--accent:#efa0b6;--ink:#252426;--paper:#f8dbe3;--line:rgba(37,36,38,.16);--tab:#efa0b6;--tabtext:#252426;--max:1440px}
*{box-sizing:border-box}body{margin:0;background:var(--pink);color:var(--ink);font-family:Arial,sans-serif;line-height:1.55}a{color:inherit}img{max-width:100%;height:auto}.shell,.content{max-width:var(--max);margin:auto;padding-left:28px;padding-right:28px}
.service{background:var(--accent);overflow:hidden;white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.05em}.service-track{display:inline-block;padding:8px 0;animation:marq 45s linear infinite}.service span{padding:0 28px}@keyframes marq{to{transform:translateX(-50%)}}
header{background:var(--pink);position:relative;z-index:20}.head{min-height:105px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);gap:20px}.side{display:flex;gap:18px;font-size:12px}.side.right{justify-content:flex-end}.side a{text-decoration:none}.custom-logo{max-height:72px;width:auto}.site-title{font:700 30px Georgia,serif;text-decoration:none}.navwrap{border-bottom:1px solid var(--line)}.nav{display:flex;justify-content:center;gap:28px;min-height:50px;align-items:center;list-style:none;margin:0;padding:0;font-size:11px;font-weight:700}.nav a{text-decoration:none}.nav>li{position:static}.nav>li.menu-item-has-children:hover>.sub-menu,.nav>li.menu-item-has-children:focus-within>.sub-menu{display:grid}.nav>li>.sub-menu{display:none;position:absolute;left:3vw;right:3vw;top:100%;grid-template-columns:repeat(4,1fr);gap:28px;background:var(--paper);padding:32px;list-style:none;border:1px solid var(--line);box-shadow:0 18px 35px #0001}.nav>li>.sub-menu>li>a{font:700 18px Georgia,serif}.nav .sub-menu .sub-menu{display:block!important;position:static!important;list-style:none;padding:10px 0 0;margin:0}.nav .sub-menu .sub-menu a{font:400 12px Arial}.mobile{display:none;background:none;border:0;font-weight:700}.content{padding-top:48px;padding-bottom:80px}.entry-title,.woocommerce-products-header__title{font-family:Georgia,serif;font-weight:700;font-size:var(--h1-size);line-height:1;letter-spacing:-1.5px;margin:0 0 28px;color:var(--heading-color)}

/* loops: equal cards and aligned controls */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 22px!important}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;display:flex!important;flex-direction:column;height:100%;position:relative}
.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;text-decoration:none}
.woocommerce ul.products li.product a img{width:100%!important;aspect-ratio:1/1;object-fit:contain;background:rgba(255,255,255,.13);margin:0 0 15px!important;transition:transform .25s}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font:700 17px/1.35 Georgia,serif!important;padding:0!important;margin:5px 0!important;min-height:2.7em}
.woocommerce ul.products li.product .price{color:var(--price-color)!important;font-size:var(--price-size)!important;margin-top:auto!important;padding-top:5px}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--button-bg)!important;color:var(--button-text)!important;border:1px solid var(--button-bg)!important;border-radius:0!important;padding:11px 14px!important;font-size:var(--button-size)!important;text-transform:uppercase;font-weight:700!important}
.woocommerce ul.products li.product>.button{margin-top:12px!important;min-height:42px;display:flex!important;align-items:center;justify-content:center}
.tn-loop-quick{margin-top:12px;transition:.2s ease}.tn-quick-row{display:grid;grid-template-columns:38px 58px 38px 1fr;min-height:42px;box-shadow:0 5px 16px #0001}.tn-quick-row button,.tn-quick-row input{border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;margin:0!important}.tn-qbtn{background:var(--paper);font-size:18px;cursor:pointer}.tn-quick-row .qty{width:100%;text-align:center;background:var(--paper);font-weight:700}.tn-quick-row .single_add_to_cart_button{height:100%!important;padding:0 8px!important}
@media(hover:hover) and (min-width:981px){.woocommerce ul.products li.product .tn-loop-quick{opacity:0;transform:translateY(5px)}.woocommerce ul.products li.product:hover .tn-loop-quick,.woocommerce ul.products li.product:focus-within .tn-loop-quick{opacity:1;transform:none}.woocommerce ul.products li.product:hover img{transform:scale(1.025)}}

/* single product finesse */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);gap:clamp(38px,6vw,90px);align-items:start}.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important;float:none!important}.single-product .woocommerce div.product div.images{position:sticky;top:25px}.single-product .summary{padding-top:22px;max-width:550px}.woocommerce div.product .product_title{font-family:Georgia,serif;font-weight:700;font-size:var(--h1-size);line-height:.98;letter-spacing:-2px;margin:0 0 15px;color:var(--heading-color)}.woocommerce div.product p.price{color:var(--price-color)!important;font-size:var(--price-size)!important}.woocommerce-product-details__short-description{font-size:var(--body-size);line-height:var(--body-line);color:var(--body-color);margin:22px 0}.product_meta{border-top:1px solid var(--line);padding-top:18px;font-size:var(--meta-size);line-height:1.8;color:var(--meta-color)}.woocommerce div.product form.cart{display:flex;gap:10px;margin:25px 0}.woocommerce .quantity .qty{min-height:44px;border:1px solid var(--ink);background:transparent}

/* tabs -> accordion, retains plugin/WC tab contents */
.woocommerce-tabs{grid-column:1/-1;margin-top:45px;border-top:1px solid var(--line)}.woocommerce-tabs ul.tabs{display:none!important}.woocommerce-tabs .woocommerce-Tabs-panel{display:block!important;margin:0!important;padding:0!important;border-bottom:1px solid var(--line)}
.acc-title{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:var(--tab);color:var(--tabtext);padding:17px 20px;text-align:left;font-weight:700;cursor:pointer}.acc-title b{font-size:20px;font-weight:400;transition:.2s}.acc-title[aria-expanded=true] b{transform:rotate(45deg)}.acc-body{padding:22px 20px 28px;background:rgba(255,255,255,.11)}.acc-body[hidden]{display:none!important}
.related.products,.upsells.products{grid-column:1/-1;margin-top:65px}.related.products>h2,.upsells.products>h2{font:700 30px Georgia,serif}
.woocommerce table.shop_table{border-radius:0!important;background:#ffffff20}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{border:1px solid var(--line);border-radius:0;background:#ffffff55;padding:11px}
footer{background:var(--accent);padding:55px 0 24px}.foot{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:40px}.bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:18px;font-size:10px;display:flex;justify-content:space-between}
@media(max-width:980px){.head{grid-template-columns:auto 1fr auto}.side.left{display:none}.side.right a:not(:last-child){display:none}.mobile{display:block}.navwrap{display:none}.navwrap.open{display:block}.nav{display:block;padding:15px 28px}.nav li{padding:7px 0}.nav>li>.sub-menu{display:block!important;position:static;box-shadow:none;border:0;padding:12px 0}.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}.woocommerce div.product{grid-template-columns:1fr}.single-product .woocommerce div.product div.images{position:static}.foot{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.shell,.content{padding-left:16px;padding-right:16px}.custom-logo{max-height:55px}.woocommerce ul.products{gap:24px 12px!important}.foot{grid-template-columns:1fr}}


/* === v1.3 HKLiving-inspired product information hierarchy === */
:root{
  --tag:#ef6a3b;
  --tagtext:#ef6a3b;
}

/* Keep all product information in the right-hand summary column */
.single-product .woocommerce div.product{
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr);
}
.single-product .woocommerce div.product .summary{
  display:flex;
  flex-direction:column;
  max-width:560px;
}
.single-product .woocommerce div.product .summary .woocommerce-tabs{
  grid-column:auto;
  margin-top:18px;
  border-top:1px solid var(--line);
  width:100%;
}
.single-product .woocommerce div.product .summary .woocommerce-tabs .woocommerce-Tabs-panel{
  width:100%;
}

/* Product meta: SKU and category stay editorial; tags become outlined pills */
.single-product .product_meta{
  order:20;
  margin-top:8px;
  padding:18px 0 0;
  border-top:1px solid var(--line);
  font-size:11px;
  line-height:1.8;
}
.single-product .product_meta > span{
  display:block;
  margin:5px 0;
}
.single-product .product_meta a{
  text-decoration:none;
  border-bottom:1px solid currentColor;
}
.single-product .product_meta .tagged_as{
  margin-top:16px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.single-product .product_meta .tagged_as > a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:6px 18px;
  border:1px solid var(--tag);
  border-radius:999px;
  color:var(--tagtext);
  background:transparent;
  text-transform:uppercase;
  letter-spacing:.04em;
  font:400 12px Georgia,serif;
  text-decoration:none;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.single-product .product_meta .tagged_as > a:hover,
.single-product .product_meta .tagged_as > a:focus{
  background:var(--tag);
  color:#fff;
  transform:translateY(-1px);
}

/* Accordion is now compact and editorial instead of a large coloured block */
.single-product .summary .woocommerce-tabs{
  order:30;
}
.single-product .summary .woocommerce-tabs .acc-title{
  min-height:52px;
  padding:14px 2px;
  background:transparent;
  color:var(--ink);
  border-bottom:0;
  font-size:12px;
  letter-spacing:.02em;
}
.single-product .summary .woocommerce-tabs .woocommerce-Tabs-panel{
  border-bottom:1px solid var(--line);
}
.single-product .summary .woocommerce-tabs .acc-body{
  padding:4px 2px 24px;
  background:transparent;
  font-size:13px;
  line-height:1.7;
}
.single-product .summary .woocommerce-tabs .acc-body h2:first-child{
  display:none;
}
.single-product .summary .woocommerce-tabs .acc-title::before{
  content:"";
  display:block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--tab);
  margin-right:10px;
  flex:0 0 auto;
}
.single-product .summary .woocommerce-tabs .acc-title span:first-child{
  margin-right:auto;
}

/* Related/upsell sections remain full width below both columns */
.single-product .woocommerce div.product > .related.products,
.single-product .woocommerce div.product > .upsells.products{
  grid-column:1/-1;
}

@media(max-width:980px){
  .single-product .woocommerce div.product{grid-template-columns:1fr}
  .single-product .woocommerce div.product .summary{max-width:none}
}


/* === v1.3.1 polish + configurable typography === */
:root{
 --body-color:#252426; --body-size:14px; --body-line:1.55;
 --heading-color:#252426; --h1-size:62px; --h2-size:36px; --h3-size:28px;
 --h4-size:22px; --h5-size:17px; --h6-size:14px;
 --link-color:#252426; --link-hover:#ef6a3b;
 --price-color:#252426; --price-size:18px; --meta-color:#4b4648; --meta-size:11px;
 --button-bg:#252426; --button-text:#ffffff; --button-size:10px;
}
body{color:var(--body-color);font-size:var(--body-size);line-height:var(--body-line)}
h1,h2,h3,h4,h5,h6{color:var(--heading-color)}
h1{font-size:var(--h1-size)} h2{font-size:var(--h2-size)} h3{font-size:var(--h3-size)}
h4{font-size:var(--h4-size)} h5{font-size:var(--h5-size)} h6{font-size:var(--h6-size)}
a{color:var(--link-color);transition:color .16s ease} a:hover{color:var(--link-hover)}
.woocommerce div.product p.price,.woocommerce ul.products li.product .price{color:var(--price-color)!important}
.woocommerce div.product p.price{font-size:var(--price-size)}
.product_meta{color:var(--meta-color);font-size:var(--meta-size)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.single_add_to_cart_button{background:var(--button-bg)!important;color:var(--button-text)!important;font-size:var(--button-size)!important}

/* Breadcrumb */
.tn-breadcrumb-wrap{max-width:var(--max);margin:0 auto;padding:22px 28px 0}
.single-product .woocommerce-breadcrumb{margin:0;color:var(--meta-color);font-size:11px;letter-spacing:.01em}
.single-product .woocommerce-breadcrumb a{text-decoration:none;border-bottom:1px solid transparent}
.single-product .woocommerce-breadcrumb a:hover{border-bottom-color:currentColor}

/* Meta hierarchy */
.single-product .product_meta{padding-top:20px}
.single-product .product_meta .sku_wrapper,
.single-product .product_meta .posted_in,
.single-product .product_meta .tagged_as{margin:9px 0}
.single-product .product_meta .sku_wrapper::before,
.single-product .product_meta .posted_in::before,
.single-product .product_meta .tagged_as::before{
 display:inline-block;min-width:82px;margin-right:12px;
 font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)
}
.single-product .product_meta .sku_wrapper::before{content:"SKU"}
.single-product .product_meta .posted_in::before{content:"Categorie"}
.single-product .product_meta .tagged_as::before{content:"Tags"}
.single-product .product_meta .sku_wrapper,
.single-product .product_meta .posted_in{font-size:0}
.single-product .product_meta .sku_wrapper .sku{font-size:var(--meta-size)}
.single-product .product_meta .posted_in a{font-size:12px}

/* Category gets same outlined treatment as tags */
.single-product .product_meta .posted_in{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.single-product .product_meta .posted_in a,
.single-product .product_meta .tagged_as>a{
 display:inline-flex;align-items:center;justify-content:center;min-height:34px;
 padding:5px 16px;border:1px solid var(--tag);border-radius:999px;color:var(--tagtext);
 background:transparent;text-transform:uppercase;letter-spacing:.04em;
 font:400 11px Georgia,serif;text-decoration:none!important;
}
.single-product .product_meta .posted_in a:hover,
.single-product .product_meta .tagged_as>a:hover{background:var(--tag);color:#fff}

/* True + / - accordions */
.acc-title b{transform:none!important;font-family:Arial,sans-serif;font-size:18px;font-weight:400}
.acc-title[aria-expanded=true] b{transform:none!important}

/* Clear B2B quantity stepper on product page */
.single-product form.cart{display:flex!important;align-items:stretch;gap:10px}
.single-product form.cart .quantity{
 display:grid;grid-template-columns:36px 54px 36px;min-height:44px;border:1px solid var(--ink)
}
.single-product form.cart .quantity .qty{
 grid-column:2;border:0!important;border-left:1px solid var(--line)!important;border-right:1px solid var(--line)!important;
 width:54px;min-height:42px;text-align:center;background:transparent;-moz-appearance:textfield
}
.single-product form.cart .quantity .qty::-webkit-outer-spin-button,
.single-product form.cart .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.tn-single-qbtn{border:0;background:transparent;color:var(--ink);font-size:18px;cursor:pointer;padding:0}
.tn-single-qbtn:hover{background:rgba(255,255,255,.22)}
.tn-pack-note{display:block;margin-top:7px;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--meta-color)}

@media(max-width:980px){.tn-breadcrumb-wrap{padding-left:28px;padding-right:28px}}
@media(max-width:560px){
 .tn-breadcrumb-wrap{padding-left:16px;padding-right:16px}
 .single-product .product_meta .sku_wrapper::before,
 .single-product .product_meta .posted_in::before,
 .single-product .product_meta .tagged_as::before{min-width:70px}
}


/* === v1.3.2 Single product UX polish === */

/* A calmer, more coherent right-hand purchase flow */
.single-product .woocommerce div.product{
  grid-template-columns:minmax(0,1.1fr) minmax(390px,.70fr);
  gap:clamp(48px,6.5vw,100px);
}
.single-product .woocommerce div.product .summary{
  padding-top:10px;
  max-width:570px;
}
.single-product .woocommerce div.product .product_title{
  font-size:var(--h1-size);
  line-height:1.01;
  letter-spacing:-1.6px;
  margin-bottom:20px;
}
.single-product .woocommerce div.product p.price{
  margin:0 0 24px;
}
.single-product .woocommerce-product-details__short-description{
  margin:0 0 20px;
  max-width:520px;
}
.single-product .woocommerce-product-details__short-description p:last-child{margin-bottom:0}

/* Backorder / stock notices read as content, not another UI block */
.single-product .summary .stock,
.single-product .summary .available-on-backorder{
  margin:18px 0 20px;
  line-height:1.55;
}

/* Purchase controls: one component; pack size becomes supporting copy */
.single-product form.cart{
  display:flex!important;
  align-items:stretch;
  gap:10px;
  margin:22px 0 8px!important;
  flex-wrap:nowrap;
}
.single-product form.cart .quantity{
  flex:0 0 128px;
  grid-template-columns:38px 52px 38px;
  min-height:44px;
}
.single-product form.cart .quantity .qty{
  width:52px;
}
.single-product form.cart .single_add_to_cart_button{
  flex:1 1 auto;
  min-height:44px;
  white-space:nowrap;
}
.tn-pack-note{
  width:100%;
  margin:0 0 22px;
  padding-left:0;
  font-size:10px;
  font-weight:400;
  letter-spacing:.01em;
  text-transform:none;
}
.tn-pack-note::before{content:"Verkoopeenheid: ";font-weight:700}

/* One quiet divider before product metadata */
.single-product .product_meta{
  order:20;
  margin-top:0;
  padding:20px 0;
  border-top:1px solid var(--line);
  border-bottom:0;
}
.single-product .product_meta .sku_wrapper,
.single-product .product_meta .posted_in,
.single-product .product_meta .tagged_as{
  display:grid;
  grid-template-columns:92px 1fr;
  align-items:center;
  column-gap:12px;
  row-gap:8px;
  margin:8px 0;
}
.single-product .product_meta .sku_wrapper::before,
.single-product .product_meta .posted_in::before,
.single-product .product_meta .tagged_as::before{
  min-width:0;
  margin:0;
  align-self:center;
}
.single-product .product_meta .sku_wrapper{font-size:var(--meta-size)}
.single-product .product_meta .sku_wrapper .sku{grid-column:2}
.single-product .product_meta .posted_in a,
.single-product .product_meta .tagged_as > a{
  margin:0;
  width:max-content;
  max-width:100%;
}
.single-product .product_meta .posted_in,
.single-product .product_meta .tagged_as{
  display:flex;
  padding-left:104px;
  position:relative;
}
.single-product .product_meta .posted_in::before,
.single-product .product_meta .tagged_as::before{
  position:absolute;
  left:0;
  top:8px;
  width:92px;
}
.single-product .product_meta .tagged_as{
  margin-top:10px;
}
/* WooCommerce's literal "Tags:" / "Category:" text can remain as a text node.
   Hide it visually by zeroing the wrapper text size; pill links retain their own font. */
.single-product .product_meta .posted_in,
.single-product .product_meta .tagged_as{font-size:0}

/* Accordion joins the same vertical axis as all other summary content */
.single-product .summary .woocommerce-tabs{
  margin-top:0;
  border-top:1px solid var(--line);
}
.single-product .summary .woocommerce-tabs .acc-title{
  padding:17px 0;
  min-height:54px;
  letter-spacing:0;
}
.single-product .summary .woocommerce-tabs .acc-title::before{display:none}
.single-product .summary .woocommerce-tabs .acc-body{
  padding:2px 0 24px;
  max-width:100%;
}
.single-product .summary .woocommerce-tabs .woocommerce-Tabs-panel{
  border-bottom:1px solid var(--line);
}
.single-product .summary .woocommerce-tabs .acc-title b{
  margin-left:20px;
}

/* Breadcrumb closer to the product and quieter */
.tn-breadcrumb-wrap{
  padding-top:18px;
  padding-bottom:0;
}
.single-product .woocommerce-breadcrumb{
  opacity:.72;
  font-size:10px;
}
.single-product .content{
  padding-top:30px;
}

/* Prevent button focus styling from looking like a permanent blue outline */
.tn-single-qbtn:focus-visible,
.acc-title:focus-visible{
  outline:1px solid currentColor;
  outline-offset:2px;
}

@media(max-width:980px){
  .single-product .woocommerce div.product{gap:32px}
  .single-product .woocommerce div.product .summary{padding-top:0}
}
@media(max-width:560px){
  .single-product form.cart{flex-wrap:wrap}
  .single-product form.cart .single_add_to_cart_button{width:100%}
  .single-product .product_meta .posted_in,
  .single-product .product_meta .tagged_as{padding-left:82px}
  .single-product .product_meta .posted_in::before,
  .single-product .product_meta .tagged_as::before{width:70px}
}


/* === v1.3.3 Customizer authority layer ===
   Component styling may define layout, weight and spacing, but user-editable
   colours/sizes are resolved here from Customizer CSS variables. */
html body{
  background:var(--pink);
  color:var(--body-color);
  font-size:var(--body-size);
  line-height:var(--body-line);
}
header{background:var(--pink)}
h1,h2,h3,h4,h5,h6,
.entry-title,.woocommerce-products-header__title,
.single-product .woocommerce div.product .product_title{
  color:var(--heading-color)!important;
}
h1,.entry-title,.woocommerce-products-header__title,
.single-product .woocommerce div.product .product_title{font-size:var(--h1-size)!important}
h2{font-size:var(--h2-size)!important}
h3{font-size:var(--h3-size)!important}
h4{font-size:var(--h4-size)!important}
h5{font-size:var(--h5-size)!important}
h6{font-size:var(--h6-size)!important}

body a{color:var(--link-color)}
body a:hover{color:var(--link-hover)}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price{
  color:var(--price-color)!important;
  font-size:var(--price-size)!important;
}

.product_meta,
.single-product .product_meta,
.single-product .woocommerce-breadcrumb{
  color:var(--meta-color)!important;
  font-size:var(--meta-size)!important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.single_add_to_cart_button{
  background:var(--button-bg)!important;
  border-color:var(--button-bg)!important;
  color:var(--button-text)!important;
  font-size:var(--button-size)!important;
}

/* Category/tag colours always come from Customizer. */
.single-product .product_meta .posted_in a,
.single-product .product_meta .tagged_as > a{
  border-color:var(--tag)!important;
  color:var(--tagtext)!important;
}
.single-product .product_meta .posted_in a:hover,
.single-product .product_meta .tagged_as > a:hover{
  background:var(--tag)!important;
  border-color:var(--tag)!important;
  color:#fff!important;
}

/* Accordion colour controls remain authoritative even after component polish. */
.single-product .summary .woocommerce-tabs .acc-title{
  color:var(--tabtext)!important;
}
.single-product .summary .woocommerce-tabs .acc-title b{
  color:var(--tabtext)!important;
}

/* WooCommerce outputs "SKU: " as a text node inside .sku_wrapper.
   Keep that source text hidden; our own left-hand label remains visible. */
.single-product .product_meta .sku_wrapper{
  font-size:0!important;
}
.single-product .product_meta .sku_wrapper .sku{
  font-size:var(--meta-size)!important;
  color:var(--meta-color)!important;
}


/* === v1.3.4 Purchase controls + meta alignment polish === */

/* SKU uses exactly the same label/value axis as category and tags. */
.single-product .product_meta .sku_wrapper{
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:12px!important;
  padding-left:0!important;
  margin:8px 0!important;
}
.single-product .product_meta .sku_wrapper::before{
  grid-column:1!important;
  position:static!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
}
.single-product .product_meta .sku_wrapper .sku{
  grid-column:2!important;
  display:block!important;
  margin:0!important;
  line-height:1.4!important;
}

/* Quantity is self-explanatory: remove the separate pack-size line. */
.tn-pack-note{display:none!important}

/* Strong, unmistakable minus / plus controls. */
.single-product form.cart .quantity{
  border:1px solid var(--ink)!important;
  overflow:hidden;
}
.single-product form.cart .quantity .tn-single-qbtn{
  background:var(--ink)!important;
  color:#fff!important;
  border:0!important;
  border-radius:0!important;
  font-size:19px!important;
  font-weight:400!important;
  line-height:1!important;
  min-width:38px;
  cursor:pointer;
  transition:background .15s ease,color .15s ease;
}
.single-product form.cart .quantity .tn-single-qbtn:hover,
.single-product form.cart .quantity .tn-single-qbtn:focus{
  background:#fff!important;
  color:var(--ink)!important;
}
.single-product form.cart .quantity .qty{
  background:transparent!important;
  color:var(--body-color)!important;
  border-top:0!important;
  border-bottom:0!important;
  border-left:1px solid var(--ink)!important;
  border-right:1px solid var(--ink)!important;
  font-weight:600;
}

/* Keep the purchase row visually compact now the pack note is gone. */
.single-product form.cart{
  margin-bottom:22px!important;
}


/* === v1.3.5 Fast B2B ordering + clean product meta === */

/* SKU: use flex rather than CSS grid.
   WooCommerce includes a literal "SKU:" text node; font-size:0 makes that node
   take no visual space, while ::before and .sku form one clean horizontal row. */
.single-product .product_meta .sku_wrapper{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:0!important;
  margin:8px 0!important;
  font-size:0!important;
  min-height:34px;
}
.single-product .product_meta .sku_wrapper::before{
  content:"SKU"!important;
  position:static!important;
  display:block!important;
  flex:0 0 92px!important;
  width:92px!important;
  min-width:92px!important;
  margin:0!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:var(--ink)!important;
}
.single-product .product_meta .sku_wrapper .sku{
  display:block!important;
  flex:1 1 auto!important;
  margin:0!important;
  padding:0!important;
  font-size:var(--meta-size)!important;
  line-height:1.4!important;
  color:var(--meta-color)!important;
}

/* Related/archive product cards: one commercial rhythm from image to order action. */
.woocommerce ul.products{
  align-items:stretch!important;
}
.woocommerce ul.products li.product{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  min-height:2.7em!important;
}
.woocommerce ul.products li.product .price{
  margin-top:auto!important;
  padding-top:18px!important;
  padding-bottom:14px!important;
}

/* Simple products get the quick-order bar, so hide WooCommerce's duplicate
   standard add-to-cart button underneath. Variable/grouped/external products
   keep their normal "read more / choose options" button. */
.woocommerce ul.products li.product .product_type_simple.add_to_cart_button{
  display:none!important;
}

/* Quick order is always visible: no hover-only controls.
   This is B2B, so ordering should require no discovery step. */
.woocommerce ul.products li.product .tn-loop-quick{
  opacity:1!important;
  transform:none!important;
  margin-top:auto!important;
  width:100%!important;
}
.woocommerce ul.products li.product .tn-loop-quick form{
  margin:0!important;
  width:100%!important;
}
.woocommerce ul.products li.product .tn-quick-row{
  display:grid!important;
  grid-template-columns:42px 58px 42px minmax(105px,1fr)!important;
  min-height:46px!important;
  width:100%!important;
  box-shadow:none!important;
  border:1px solid var(--ink)!important;
  background:transparent!important;
}
.woocommerce ul.products li.product .tn-quick-row .tn-qbtn{
  background:var(--ink)!important;
  color:#fff!important;
  border:0!important;
  border-radius:0!important;
  font-size:19px!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:background .15s ease,color .15s ease!important;
}
.woocommerce ul.products li.product .tn-quick-row .tn-qbtn:hover,
.woocommerce ul.products li.product .tn-quick-row .tn-qbtn:focus{
  background:#fff!important;
  color:var(--ink)!important;
}
.woocommerce ul.products li.product .tn-quick-row .qty{
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  padding:0 4px!important;
  margin:0!important;
  text-align:center!important;
  background:rgba(255,255,255,.16)!important;
  color:var(--body-color)!important;
  border:0!important;
  border-left:1px solid var(--ink)!important;
  border-right:1px solid var(--ink)!important;
  border-radius:0!important;
  font-weight:700!important;
  -moz-appearance:textfield;
}
.woocommerce ul.products li.product .tn-quick-row .qty::-webkit-outer-spin-button,
.woocommerce ul.products li.product .tn-quick-row .qty::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.woocommerce ul.products li.product .tn-quick-row .single_add_to_cart_button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  margin:0!important;
  padding:0 10px!important;
  background:var(--button-bg)!important;
  color:var(--button-text)!important;
  border:0!important;
  border-radius:0!important;
  white-space:nowrap!important;
  font-size:var(--button-size)!important;
}

/* Non-simple product CTA still aligns to the same bottom edge. */
.woocommerce ul.products li.product > a.button:not(.product_type_simple){
  width:100%!important;
  min-height:46px!important;
  margin-top:auto!important;
}

/* Related products specifically: slightly calmer spacing and no giant dead zones. */
.single-product .related.products ul.products li.product .price,
.single-product .upsells.products ul.products li.product .price{
  padding-top:14px!important;
  padding-bottom:14px!important;
}

/* Tablet/mobile: keep fast order controls usable without squeezing the CTA. */
@media(max-width:760px){
  .woocommerce ul.products li.product .tn-quick-row{
    grid-template-columns:40px 52px 40px minmax(92px,1fr)!important;
  }
}
@media(max-width:430px){
  .woocommerce ul.products li.product .tn-quick-row{
    grid-template-columns:38px 48px 38px minmax(86px,1fr)!important;
  }
}


/* === v1.3.6 WooCommerce archive: compact, fast, commercial === */
.tn-archive-breadcrumb{
  width:min(1400px,calc(100% - 64px));
  margin:28px auto 0;
}
.tn-archive-breadcrumb .woocommerce-breadcrumb{
  margin:0!important;
  padding:0!important;
  font-size:11px!important;
  line-height:1.4!important;
  opacity:.65;
}
.tn-archive-breadcrumb .tn-bc-sep{padding:0 6px}

/* Header/result/sorting become one calmer retail header. */
.woocommerce-products-header,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{
  margin-bottom:24px;
}
.woocommerce .woocommerce-ordering select{
  min-height:38px;
  padding:7px 34px 7px 12px;
  background:transparent;
  border:1px solid rgba(0,0,0,.35);
  border-radius:0;
  font:inherit;
}

/* Product cards: no artificial vertical deserts. */
.woocommerce ul.products li.product{
  justify-content:flex-start!important;
}
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link{
  flex:0 0 auto!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  min-height:0!important;
  margin:14px 0 8px!important;
}
.woocommerce ul.products li.product .price{
  margin:0!important;
  padding:0 0 14px!important;
}
.woocommerce ul.products li.product .stock,
.woocommerce ul.products li.product .tn-preorder-note,
.woocommerce ul.products li.product p:not(.price){
  margin:0 0 10px!important;
}

/* New archive order form is the single CTA. */
.woocommerce ul.products li.product .tn-archive-fast-order{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  margin-top:auto!important;
}
.tn-archive-order-row{
  display:grid!important;
  grid-template-columns:42px 58px 42px minmax(112px,1fr)!important;
  width:100%!important;
  min-height:46px!important;
  border:1px solid var(--ink)!important;
  background:transparent!important;
}
.tn-archive-qbtn{
  border:0!important;
  border-radius:0!important;
  margin:0!important;
  padding:0!important;
  background:var(--ink)!important;
  color:#fff!important;
  font-size:20px!important;
  line-height:1!important;
  cursor:pointer!important;
}
.tn-archive-qbtn:hover,
.tn-archive-qbtn:focus{
  background:#fff!important;
  color:var(--ink)!important;
}
.tn-archive-order-row .qty{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  padding:0!important;
  text-align:center!important;
  border:0!important;
  border-left:1px solid var(--ink)!important;
  border-right:1px solid var(--ink)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.18)!important;
  color:var(--body-color)!important;
  font-weight:700!important;
  -moz-appearance:textfield;
}
.tn-archive-order-row .qty::-webkit-outer-spin-button,
.tn-archive-order-row .qty::-webkit-inner-spin-button{
  -webkit-appearance:none;margin:0;
}
.tn-archive-add{
  width:100%!important;
  height:100%!important;
  min-height:44px!important;
  margin:0!important;
  padding:0 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:0!important;
  white-space:nowrap!important;
}

/* Disable the older experimental quick-order UI so there can never be two. */
.woocommerce ul.products li.product .tn-loop-quick{display:none!important}

/* Keep image area visually consistent while respecting transparent PNG/JPEG artwork. */
.woocommerce ul.products li.product a img{
  width:100%!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  margin-bottom:0!important;
}

/* Cards align by content groups rather than pushing price miles downward. */
.woocommerce ul.products{
  row-gap:46px!important;
}
.woocommerce ul.products li.product{
  gap:0!important;
}

/* Sale badge: cleaner and less dominant. */
.woocommerce span.onsale{
  min-width:auto!important;
  min-height:auto!important;
  padding:8px 11px!important;
  line-height:1!important;
  border-radius:999px!important;
}

@media(max-width:768px){
  .tn-archive-breadcrumb{width:calc(100% - 32px);margin-top:18px}
  .tn-archive-order-row{
    grid-template-columns:40px 52px 40px minmax(100px,1fr)!important;
  }
  .woocommerce ul.products{row-gap:34px!important}
}


/* v1.3.9 repair-only: accordion remains line-based; Customizer accent controls its line,
   not a filled panel. */
.single-product .woocommerce-tabs,
.single-product .woocommerce-tabs .panel,
.single-product .tn-product-accordion,
.single-product .tn-product-accordion .tn-acc-head,
.single-product .tn-product-accordion .tn-acc-panel{
  background:transparent!important;
}

/* === v1.4.0 CATEGORY / ARCHIVE COMMERCE UX === */

/* Hide legacy breadcrumb wrappers; v1.4.0 renders one canonical trail. */
.tn-breadcrumb-wrap,.tn-archive-breadcrumb{display:none!important}
.tn-breadcrumb-v140{
  width:min(1400px,calc(100% - 64px));
  margin:28px auto 0;
  color:var(--meta-color);
}
.tn-breadcrumb-v140 nav{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  font-family:Arial,sans-serif;font-size:12px;line-height:1.3;
}
.tn-breadcrumb-v140 a,.tn-breadcrumb-v140 .tn-bc-current{
  color:inherit;text-decoration:none;font-family:Arial,sans-serif;
}
.tn-breadcrumb-v140 a:hover{color:var(--link-hover)}
.tn-bc-arrow{font-size:17px;line-height:1;font-weight:400;opacity:.75}
.tn-home-icon{font-size:17px;line-height:1;font-family:Arial,sans-serif;font-weight:400}

/* Category hero: centered editorial introduction using WooCommerce's native category description. */
.tax-product_cat .woocommerce-products-header,
.tax-product_tag .woocommerce-products-header,
.post-type-archive-product .woocommerce-products-header{
  text-align:center;
  max-width:820px;
  margin:42px auto 54px!important;
}
.tax-product_cat .woocommerce-products-header__title,
.tax-product_tag .woocommerce-products-header__title,
.post-type-archive-product .woocommerce-products-header__title{
  margin:0 auto 20px!important;
  text-align:center;
  font-family:Georgia,serif;
  font-size:clamp(42px,5vw,var(--h1-size))!important;
  line-height:.98!important;
  letter-spacing:-1.5px;
  color:var(--heading-color)!important;
}
.woocommerce-products-header .term-description{
  max-width:720px;margin:0 auto!important;
  text-align:center;font-family:Arial,sans-serif;
  font-size:var(--body-size);line-height:var(--body-line);color:var(--body-color);
}
.woocommerce-products-header .term-description p{margin:0}

/* Result count and sort sit on one quiet baseline above the grid. */
.woocommerce .woocommerce-result-count{float:left!important;margin:0 0 24px!important;font-size:12px;color:var(--meta-color)}
.woocommerce .woocommerce-ordering{float:right!important;margin:0 0 24px!important}
.woocommerce .woocommerce-ordering select{
  min-width:190px;min-height:40px;padding:8px 36px 8px 12px;
  font-family:Arial,sans-serif;font-size:12px;color:var(--body-color);
  background:transparent;border:1px solid var(--line);border-radius:0;
}
.woocommerce .products{clear:both}

/* Product grid: consistent image/title/info/order zones for fast B2B scanning. */
.woocommerce ul.products{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  column-gap:22px!important;row-gap:54px!important;
}
.woocommerce ul.products li.product{
  display:grid!important;
  grid-template-rows:auto minmax(3.1em,auto) minmax(2.7em,auto) auto;
  align-content:start;height:100%;gap:0!important;
}
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link{
  display:contents!important;
}
.woocommerce ul.products li.product a img{
  grid-row:1;width:100%!important;aspect-ratio:1/1!important;object-fit:contain!important;
  margin:0 0 16px!important;background:rgba(255,255,255,.13);
  transition:transform .22s ease,opacity .22s ease;
}
@media(hover:hover){.woocommerce ul.products li.product:hover a img{transform:scale(1.018)}}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  grid-row:2;min-height:0!important;margin:0 0 10px!important;padding:0!important;
  font:700 17px/1.28 Georgia,serif!important;color:var(--heading-color)!important;
}
.woocommerce ul.products li.product .price{
  grid-row:3;align-self:start;margin:0!important;padding:0 0 14px!important;
}
.woocommerce ul.products li.product .stock,
.woocommerce ul.products li.product .tn-preorder-note,
.woocommerce ul.products li.product p:not(.price){
  font-size:12px;line-height:1.4;margin:0 0 9px!important;
}
.woocommerce ul.products li.product .tn-archive-fast-order{
  grid-row:4;align-self:end;width:100%!important;margin:0!important;
}
.tn-archive-order-row{
  display:grid!important;grid-template-columns:46px 62px 46px minmax(118px,1fr)!important;
  min-height:48px!important;width:100%!important;border:0!important;background:transparent!important;
}
.tn-archive-qbtn{
  background:var(--button-bg)!important;color:var(--button-text)!important;
  border:1px solid var(--button-bg)!important;font-family:Arial,sans-serif!important;
  font-size:20px!important;font-weight:400!important;
}
.tn-archive-qbtn:hover,.tn-archive-qbtn:focus{
  background:var(--button-text)!important;color:var(--button-bg)!important;
}
.tn-archive-order-row .qty{
  height:48px!important;background:transparent!important;color:var(--body-color)!important;
  border:1px solid var(--button-bg)!important;border-left:0!important;border-right:0!important;
  font-family:Arial,sans-serif!important;font-size:13px!important;font-weight:700!important;
}
.tn-archive-add{
  min-height:48px!important;padding:0 12px!important;
  font-family:Arial,sans-serif!important;font-size:var(--button-size)!important;
  font-weight:700!important;letter-spacing:.02em!important;text-transform:uppercase!important;
}

/* Product meta pills: same typographic language as commerce buttons. */
.single-product .product_meta .posted_in a,
.single-product .product_meta .tagged_as > a{
  font-family:Arial,sans-serif!important;
  font-size:10px!important;font-weight:700!important;
  line-height:1!important;letter-spacing:.045em!important;text-transform:uppercase!important;
}

/* Minimal pagination inspired by the supplied reference. */
.woocommerce nav.woocommerce-pagination{clear:both;margin:52px 0 10px!important;text-align:center!important}
.woocommerce nav.woocommerce-pagination ul{
  display:inline-flex!important;align-items:center!important;gap:24px!important;
  border:0!important;margin:0!important;padding:0!important;
}
.woocommerce nav.woocommerce-pagination ul li{float:none!important;border:0!important;overflow:visible!important}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  min-width:0!important;margin:0!important;padding:4px 1px 7px!important;
  border:0!important;background:transparent!important;color:var(--body-color)!important;
  font-family:Arial,sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:1!important;
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:transparent!important;border-bottom:1px solid currentColor!important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover{background:transparent!important;color:var(--link-hover)!important}
.woocommerce nav.woocommerce-pagination .prev,.woocommerce nav.woocommerce-pagination .next{font-size:24px!important;padding-bottom:4px!important}

@media(max-width:980px){
  .tn-breadcrumb-v140{width:calc(100% - 40px);margin-top:22px}
  .tax-product_cat .woocommerce-products-header,.tax-product_tag .woocommerce-products-header,.post-type-archive-product .woocommerce-products-header{margin:34px auto 42px!important;padding:0 20px}
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .tn-breadcrumb-v140{width:calc(100% - 32px);margin-top:18px}
  .tn-breadcrumb-v140 nav{gap:9px;font-size:10px;white-space:nowrap;overflow:hidden}
  .tn-breadcrumb-v140 .tn-bc-current{overflow:hidden;text-overflow:ellipsis}
  .tax-product_cat .woocommerce-products-header__title,.tax-product_tag .woocommerce-products-header__title,.post-type-archive-product .woocommerce-products-header__title{font-size:38px!important}
  .woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{float:none!important;width:100%;text-align:left}
  .woocommerce .woocommerce-ordering select{width:100%}
  .woocommerce ul.products{column-gap:12px!important;row-gap:36px!important}
  .woocommerce ul.products li.product{grid-template-rows:auto minmax(3.2em,auto) minmax(2.7em,auto) auto}
  .tn-archive-order-row{grid-template-columns:40px 50px 40px minmax(82px,1fr)!important;min-height:44px!important}
  .tn-archive-order-row .qty,.tn-archive-add{height:44px!important;min-height:44px!important}
  .tn-archive-add{padding:0 6px!important;font-size:9px!important}
  .woocommerce nav.woocommerce-pagination ul{gap:18px!important}
}


/* === v1.4.1 ARCHIVE HEADER + CARD POLISH === */
.tax-product_cat .woocommerce-products-header,.tax-product_tag .woocommerce-products-header,.post-type-archive-product .woocommerce-products-header{display:none!important}
.tn-archive-intro-v141{width:min(1400px,calc(100% - 64px));margin:28px auto 44px}
.tn-archive-intro-v141 .tn-breadcrumb-v140{width:100%;margin:0 0 54px}
.tn-archive-copy-v141{max-width:820px;margin:0 auto;text-align:center}
.tn-archive-title-v141{margin:0 auto 20px!important;text-align:center!important;font-family:Georgia,serif;font-size:clamp(42px,5vw,var(--h1-size))!important;line-height:.98!important;letter-spacing:-1.5px;color:var(--heading-color)!important}
.tn-archive-description-v141{max-width:720px;margin:0 auto;text-align:center;font-family:Arial,sans-serif;font-size:var(--body-size);line-height:var(--body-line);color:var(--body-color)}
.tn-archive-description-v141 p{margin:0 0 10px}.tn-archive-description-v141 p:last-child{margin-bottom:0}
.woocommerce ul.products li.product{grid-template-rows:auto minmax(3.1em,auto) auto auto 48px!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{grid-row:2!important}
.woocommerce ul.products li.product .price{grid-row:3!important;padding-bottom:10px!important}
.woocommerce ul.products li.product .stock,.woocommerce ul.products li.product .tn-preorder-note,.woocommerce ul.products li.product p:not(.price){grid-row:4!important;align-self:start}
.woocommerce ul.products li.product .tn-archive-fast-order{grid-row:5!important;align-self:end!important}
.tn-archive-add{border:1px solid var(--button-bg)!important;background:var(--button-bg)!important;color:var(--button-text)!important;transition:background-color .16s ease,color .16s ease,border-color .16s ease!important}
@media(hover:hover) and (pointer:fine){.tn-archive-add:hover,.tn-archive-add:focus{background:transparent!important;color:var(--button-bg)!important;border-color:var(--button-bg)!important}}
@media(max-width:980px){.tn-archive-intro-v141{width:calc(100% - 40px);margin-top:22px}.tn-archive-intro-v141 .tn-breadcrumb-v140{margin-bottom:40px}}
@media(max-width:560px){.tn-archive-intro-v141{width:calc(100% - 32px);margin-top:18px;margin-bottom:32px}.tn-archive-intro-v141 .tn-breadcrumb-v140{margin-bottom:30px}.tn-archive-title-v141{font-size:38px!important}.woocommerce ul.products li.product{grid-template-rows:auto minmax(3.2em,auto) auto auto 44px!important}}


/* === v1.4.2 NAVIGATION + MINI CART === */

/* Dropdowns: remove the hover gap and animate rather than hard display:none/block. */
.main-navigation .menu > li,
.site-header nav .menu > li,
nav .menu > li { position:relative; }

.main-navigation .sub-menu,
.site-header nav .sub-menu,
nav .menu .sub-menu{
  display:block!important;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;
  position:absolute;
  top:calc(100% - 1px);
  left:0;
  z-index:9999;
  min-width:230px;
  padding:14px 0;
  margin:0!important;
  background:var(--site-bg);
  border:1px solid rgba(0,0,0,.12);
  box-shadow:0 14px 30px rgba(0,0,0,.08);
}
.main-navigation .sub-menu:before,
.site-header nav .sub-menu:before,
nav .menu .sub-menu:before{
  content:"";position:absolute;left:0;right:0;top:-10px;height:10px;
}
.main-navigation li:hover > .sub-menu,
.main-navigation li:focus-within > .sub-menu,
.site-header nav li:hover > .sub-menu,
.site-header nav li:focus-within > .sub-menu,
nav .menu li:hover > .sub-menu,
nav .menu li:focus-within > .sub-menu,
.tn-submenu-open-v142 > .sub-menu{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
  transition-delay:0s;
}
.main-navigation .sub-menu a,
.site-header nav .sub-menu a,
nav .menu .sub-menu a{
  display:block;
  padding:10px 20px!important;
  white-space:nowrap;
  font-family:Arial,sans-serif!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:.035em;
  text-transform:uppercase;
  background:transparent!important;
}
.main-navigation .sub-menu a:hover,
.site-header nav .sub-menu a:hover,
nav .menu .sub-menu a:hover{
  text-decoration:underline;
  text-underline-offset:4px;
}

/* A small indicator beside parent menu links. */
.tn-has-submenu-v142 > a{padding-right:21px!important}
.tn-submenu-toggle-v142{
  position:absolute;right:3px;top:50%;transform:translateY(-50%);
  border:0;background:transparent;color:currentColor;padding:4px;
  font:inherit;line-height:1;cursor:pointer;
}
.tn-submenu-toggle-v142 span{display:block;transition:transform .16s ease}
.tn-submenu-open-v142 > .tn-submenu-toggle-v142 span{transform:rotate(180deg)}

/* Cart label/count */
.menu-item:has(> .tn-cart-trigger-v142){position:relative}
.tn-cart-trigger-v142{display:flex!important;align-items:center;gap:5px}
.tn-cart-count-v142{font-variant-numeric:tabular-nums}

/* Mini cart: refined, compact B2B dropdown. */
.tn-mini-cart-v142{
  position:absolute;right:0;left:auto;top:calc(100% + 12px);z-index:10000;
  width:min(390px,calc(100vw - 32px));
  padding:0;
  background:var(--site-bg);
  border:1px solid rgba(0,0,0,.15);
  box-shadow:0 18px 42px rgba(0,0,0,.12);
  visibility:hidden;opacity:0;pointer-events:none;transform:translateY(8px);
  transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;
  color:var(--body-color);
}
.tn-mini-cart-v142:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.menu-item:hover > .tn-mini-cart-v142,
.menu-item:focus-within > .tn-mini-cart-v142,
.tn-cart-open-v142 > .tn-mini-cart-v142{
  visibility:visible;opacity:1;pointer-events:auto;transform:none;transition-delay:0s
}
.tn-mini-cart-head-v142{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 20px;border-bottom:1px solid rgba(0,0,0,.12);
  font-family:Arial,sans-serif;font-size:11px;letter-spacing:.05em
}
.tn-mini-cart-items-v142{max-height:390px;overflow:auto}
.tn-mini-cart-item-v142{
  display:grid;grid-template-columns:64px 1fr 22px;gap:13px;align-items:center;
  padding:14px 20px;border-bottom:1px solid rgba(0,0,0,.09)
}
.tn-mini-cart-thumb-v142 img{display:block;width:64px!important;height:64px!important;object-fit:contain;margin:0!important}
.tn-mini-cart-copy-v142{text-align:left;min-width:0}
.tn-mini-cart-name-v142 a{
  padding:0!important;text-transform:none!important;white-space:normal!important;
  font-family:Arial,sans-serif!important;font-size:12px!important;line-height:1.35!important;font-weight:700!important;
  text-decoration:none!important
}
.tn-mini-cart-meta-v142{margin-top:5px;font-family:Arial,sans-serif;font-size:12px}
.tn-mini-cart-remove-v142{
  display:flex!important;align-items:center;justify-content:center;
  width:22px!important;height:22px!important;padding:0!important;
  border:0!important;background:transparent!important;color:var(--body-color)!important;
  font-size:18px!important;text-decoration:none!important
}
.tn-mini-cart-empty-v142{padding:24px 20px;margin:0;font-family:Arial,sans-serif;font-size:13px}
.tn-mini-cart-foot-v142{padding:17px 20px 20px}
.tn-mini-cart-total-v142{
  display:flex;justify-content:space-between;gap:20px;margin-bottom:15px;
  font-family:Arial,sans-serif;font-size:12px
}
.tn-mini-cart-actions-v142{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tn-mini-cart-button-v142{
  display:flex!important;align-items:center;justify-content:center;
  min-height:42px;padding:10px 12px!important;
  border:1px solid var(--button-bg)!important;
  font-family:Arial,sans-serif!important;font-size:10px!important;font-weight:700!important;
  line-height:1.15!important;letter-spacing:.03em;text-transform:uppercase!important;text-decoration:none!important
}
.tn-view-cart-v142{background:transparent!important;color:var(--button-bg)!important}
.tn-checkout-v142{background:var(--button-bg)!important;color:var(--button-text)!important}
@media(hover:hover) and (pointer:fine){
  .tn-view-cart-v142:hover{background:var(--button-bg)!important;color:var(--button-text)!important}
  .tn-checkout-v142:hover{background:transparent!important;color:var(--button-bg)!important}
}

/* Quick-order feedback */
.tn-archive-add.tn-added-v142{background:transparent!important;color:var(--button-bg)!important}

/* Mobile: submenu and cart are click/tap accordions, not hover fly-outs. */
@media(max-width:900px){
  .tn-has-submenu-v142 > a{padding-right:46px!important}
  .tn-submenu-toggle-v142{right:12px;width:34px;height:34px}
  .main-navigation .sub-menu,
  .site-header nav .sub-menu,
  nav .menu .sub-menu{
    position:static!important;min-width:0!important;width:100%!important;
    max-height:0;overflow:hidden;padding:0!important;border:0!important;box-shadow:none!important;
    transform:none!important;opacity:1;visibility:visible;pointer-events:auto;
    transition:max-height .22s ease!important;
  }
  .tn-submenu-open-v142 > .sub-menu{max-height:800px;padding:6px 0 10px!important}
  .tn-mini-cart-v142{
    position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto;
    max-height:calc(100vh - 32px);overflow:auto;transform:translateY(12px)
  }
}





/* === v1.4.6 NAVIGATION FIX ===
   IMPORTANT: actual header class is .navwrap (lowercase), not .navWrap.
   This replaces the original full-width mega-menu behavior on desktop. */
@media (min-width:981px){
  header .navwrap,
  header .navwrap > .shell{
    overflow:visible!important;
  }

  header .navwrap ul#menu-main.nav{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:var(--tn-menu-gap,28px)!important;
    overflow:visible!important;
  }

  header .navwrap ul#menu-main.nav > li{
    position:relative!important;
    margin:0!important;
    padding:0!important;
  }

  header .navwrap ul#menu-main.nav > li > a{
    display:block!important;
    padding:18px 0!important;
    color:var(--tn-menu-color,#222)!important;
    font-family:Arial,sans-serif!important;
    font-size:var(--tn-menu-size,11px)!important;
    font-weight:var(--tn-menu-weight,700)!important;
    letter-spacing:var(--tn-menu-spacing,0px)!important;
    text-transform:var(--tn-menu-transform,none)!important;
    text-decoration:none!important;
    white-space:nowrap!important;
  }

  header .navwrap ul#menu-main.nav > li:hover > a,
  header .navwrap ul#menu-main.nav > li:focus-within > a{color:var(--tn-menu-hover,#e98fa9)!important}
  header .navwrap ul#menu-main.nav > li.current-menu-item > a,
  header .navwrap ul#menu-main.nav > li.current-menu-parent > a,
  header .navwrap ul#menu-main.nav > li.current-menu-ancestor > a{color:var(--tn-menu-active,#e98fa9)!important}

  /* First-level dropdown: attached directly to parent, no dead hover zone. */
  header .navwrap ul#menu-main.nav > li.menu-item-has-children > ul.sub-menu{
    display:block!important;
    position:absolute!important;
    top:100%!important;
    left:50%!important;
    right:auto!important;
    bottom:auto!important;
    width:var(--tn-sub-width,360px)!important;
    min-width:var(--tn-sub-width,360px)!important;
    max-width:calc(100vw - 32px)!important;
    height:auto!important;
    margin:0!important;
    padding:8px 0!important;
    list-style:none!important;
    grid-template-columns:none!important;
    gap:0!important;
    background:var(--tn-sub-bg,#f8dfe7)!important;
    border:1px solid var(--tn-sub-border,#e5c9d2)!important;
    box-shadow:var(--tn-sub-shadow,0 16px 36px rgba(0,0,0,.10))!important;
    transform:translate(-50%,6px)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    z-index:100000!important;
    transition:opacity .14s ease,transform .14s ease,visibility 0s linear .14s!important;
  }

  header .navwrap ul#menu-main.nav > li.menu-item-has-children:hover > ul.sub-menu,
  header .navwrap ul#menu-main.nav > li.menu-item-has-children:focus-within > ul.sub-menu,
  header .navwrap ul#menu-main.nav > li.menu-item-has-children.tn-submenu-open-v142 > ul.sub-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate(-50%,0)!important;
    transition-delay:0s!important;
  }

  header .navwrap ul#menu-main.nav > li > ul.sub-menu > li{
    display:block!important;
    float:none!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  header .navwrap ul#menu-main.nav > li > ul.sub-menu > li > a{
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    padding:11px 18px!important;
    margin:0!important;
    background:transparent!important;
    color:var(--tn-sub-color,#222)!important;
    font-family:Arial,sans-serif!important;
    font-size:var(--tn-sub-size,11px)!important;
    font-weight:700!important;
    line-height:1.3!important;
    letter-spacing:.045em!important;
    text-transform:uppercase!important;
    text-decoration:none!important;
    white-space:normal!important;
  }
  header .navwrap ul#menu-main.nav > li > ul.sub-menu > li > a:hover,
  header .navwrap ul#menu-main.nav > li > ul.sub-menu > li > a:focus{
    background:var(--tn-sub-hover-bg,#fff)!important;
    color:var(--tn-sub-hover-color,#222)!important;
  }

  /* Nested submenu remains readable inside the compact dropdown. */
  header .navwrap ul#menu-main.nav > li > ul.sub-menu ul.sub-menu{
    display:block!important;
    position:static!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0 0 6px 12px!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }

  /* Desktop uses hover/focus only. */
  header .navwrap .tn-submenu-toggle-v142{display:none!important}
  header .navwrap .tn-has-submenu-v142 > a{padding-right:0!important}
}


/* === v1.4.7 MULTI-COLUMN DROPDOWNS + OPAQUE MINI CART === */
/* The cart must be a real surface: never inherit a transparent site background. */
.tn-mini-cart-v142{
  background:var(--tn-sub-bg,#f8dfe7)!important;
  opacity:0;
  isolation:isolate;
}
.menu-item:hover > .tn-mini-cart-v142,
.menu-item:focus-within > .tn-mini-cart-v142,
.tn-cart-open-v142 > .tn-mini-cart-v142{opacity:1!important}
.tn-mini-cart-head-v142,
.tn-mini-cart-items-v142,
.tn-mini-cart-foot-v142,
.tn-mini-cart-item-v142{background:var(--tn-sub-bg,#f8dfe7)!important}

@media (min-width:981px){
  /* One-column stays compact. */
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-1 > ul.sub-menu{
    width:var(--tn-sub-width,360px)!important;
    min-width:var(--tn-sub-width,360px)!important;
  }

  /* Larger dropdowns become clean grids. Width scales with the chosen column count. */
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-2 > ul.sub-menu,
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-3 > ul.sub-menu,
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-4 > ul.sub-menu{
    display:grid!important;
    align-items:start!important;
    column-gap:10px!important;
    row-gap:0!important;
    padding:12px!important;
  }
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-2 > ul.sub-menu{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:min(calc(var(--tn-sub-width,360px) * 1.65),calc(100vw - 40px))!important;
  }
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-3 > ul.sub-menu{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:min(calc(var(--tn-sub-width,360px) * 2.25),calc(100vw - 40px))!important;
  }
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-4 > ul.sub-menu{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:min(calc(var(--tn-sub-width,360px) * 2.8),calc(100vw - 40px))!important;
  }
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-2 > ul.sub-menu > li,
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-3 > ul.sub-menu > li,
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-4 > ul.sub-menu > li{
    min-width:0!important;
  }
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-2 > ul.sub-menu > li > a,
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-3 > ul.sub-menu > li > a,
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-4 > ul.sub-menu > li > a{
    padding:11px 14px!important;
  }
}


/* === v1.4.8 HEADER STACKING + SOLID DROPDOWN SURFACES ===
   Product gallery/zoom controls can have high z-index values. Keep the entire
   navigation stacking context above WooCommerce content, not just the submenu. */
header{
  position:relative!important;
  z-index:1000000!important;
  isolation:isolate!important;
}
header .navwrap{
  position:relative!important;
  z-index:1000001!important;
  overflow:visible!important;
}
@media (min-width:981px){
  header .navwrap ul#menu-main.nav,
  header .navwrap ul#menu-main.nav > li{
    overflow:visible!important;
  }
  header .navwrap ul#menu-main.nav > li.menu-item-has-children > ul.sub-menu{
    z-index:1000002!important;
    opacity:0!important;
    /* force a fully painted surface; child opacity is never used */
    background-color:var(--tn-sub-bg,#f8dfe7)!important;
    background-image:none!important;
  }
  header .navwrap ul#menu-main.nav > li.menu-item-has-children:hover > ul.sub-menu,
  header .navwrap ul#menu-main.nav > li.menu-item-has-children:focus-within > ul.sub-menu,
  header .navwrap ul#menu-main.nav > li.menu-item-has-children.tn-submenu-open-v142 > ul.sub-menu{
    opacity:1!important;
  }
  .tn-mini-cart-v142{
    z-index:1000003!important;
    background-color:var(--tn-sub-bg,#f8dfe7)!important;
    background-image:none!important;
  }
}


/* === v1.4.9 DESKTOP ALIGNMENT + MOBILE NAV UX === */
@media (min-width:981px){
  /* Broad dropdowns align with the site's content shell rather than growing left from the parent label. */
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-3 > ul.sub-menu,
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-4 > ul.sub-menu{
    position:fixed!important;
    top:auto!important;
    left:max(28px,calc((100vw - var(--max)) / 2 + 28px))!important;
    right:auto!important;
    transform:translateY(6px)!important;
    max-width:min(calc(var(--max) - 56px),calc(100vw - 56px))!important;
  }
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-3:hover > ul.sub-menu,
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-3:focus-within > ul.sub-menu,
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-3.tn-submenu-open-v142 > ul.sub-menu,
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-4:hover > ul.sub-menu,
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-4:focus-within > ul.sub-menu,
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-4.tn-submenu-open-v142 > ul.sub-menu{
    transform:translateY(0)!important;
  }
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-3 > ul.sub-menu{width:min(820px,calc(100vw - 56px))!important}
  header .navwrap ul#menu-main.nav > li.tn-menu-cols-4 > ul.sub-menu{width:min(calc(var(--max) - 56px),calc(100vw - 56px))!important}
}

@media (max-width:980px){
  header{isolation:isolate!important}
  .head{min-height:78px!important;grid-template-columns:1fr auto!important;padding-top:8px!important;padding-bottom:8px!important}
  .head > div:nth-child(2){grid-column:1;grid-row:1;justify-self:start!important}
  .side.right{grid-column:2;grid-row:1;display:flex!important;align-items:center!important;gap:10px!important}
  .side.right > a{display:none!important}
  .mobile{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
    min-width:88px!important;min-height:44px!important;padding:0 14px!important;border:1px solid var(--ink)!important;
    background:transparent!important;color:var(--ink)!important;font:700 11px/1 Arial,sans-serif!important;
    letter-spacing:.08em!important;text-transform:uppercase!important;cursor:pointer!important;border-radius:0!important
  }
  .tn-mobile-menu-icon,.tn-mobile-menu-icon:before,.tn-mobile-menu-icon:after{display:block;width:16px;height:1.5px;background:currentColor;content:"";transition:transform .18s ease,opacity .18s ease}
  .tn-mobile-menu-icon{position:relative}.tn-mobile-menu-icon:before{position:absolute;top:-5px}.tn-mobile-menu-icon:after{position:absolute;top:5px}
  body.tn-mobile-nav-open .tn-mobile-menu-icon{background:transparent}
  body.tn-mobile-nav-open .tn-mobile-menu-icon:before{top:0;transform:rotate(45deg)}
  body.tn-mobile-nav-open .tn-mobile-menu-icon:after{top:0;transform:rotate(-45deg)}

  .navwrap,.navwrap.open{
    display:block!important;position:absolute!important;left:0!important;right:0!important;top:100%!important;
    background:var(--pink)!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-8px)!important;
    transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s!important;z-index:1000005!important
  }
  .navwrap.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;transition-delay:0s!important}
  .navwrap > .shell{padding:0 20px 24px!important;max-height:calc(100vh - 100px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  .navwrap ul#menu-main.nav{display:block!important;min-height:0!important;padding:10px 0!important;margin:0!important}
  .navwrap ul#menu-main.nav > li{position:relative!important;padding:0!important;margin:0!important;border-bottom:1px solid var(--line)!important}
  .navwrap ul#menu-main.nav > li > a{display:flex!important;align-items:center!important;min-height:52px!important;padding:14px 52px 14px 2px!important;font-family:Arial,sans-serif!important;font-size:15px!important;font-weight:700!important;letter-spacing:.02em!important;text-decoration:none!important}
  .navwrap .tn-submenu-toggle-v142{
    display:flex!important;align-items:center!important;justify-content:center!important;position:absolute!important;right:0!important;top:4px!important;
    width:44px!important;height:44px!important;border:0!important;background:transparent!important;color:var(--ink)!important;font-size:0!important;cursor:pointer!important
  }
  .navwrap .tn-submenu-toggle-v142 span{display:none!important}
  .navwrap .tn-submenu-toggle-v142:before{content:"+";font:400 24px/1 Arial,sans-serif!important}
  .navwrap .tn-submenu-open-v142 > .tn-submenu-toggle-v142:before{content:"−"}
  .navwrap ul#menu-main.nav > li > ul.sub-menu{
    display:block!important;position:static!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;
    padding:0 0 0 14px!important;border:0!important;box-shadow:none!important;background:transparent!important;grid-template-columns:none!important;
    max-height:0!important;overflow:hidden!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:max-height .24s ease,opacity .18s ease!important
  }
  .navwrap ul#menu-main.nav > li.tn-submenu-open-v142 > ul.sub-menu{max-height:1600px!important;padding-bottom:12px!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .navwrap ul#menu-main.nav > li > ul.sub-menu > li{padding:0!important;margin:0!important;border:0!important}
  .navwrap ul#menu-main.nav > li > ul.sub-menu > li > a{display:flex!important;align-items:center!important;min-height:44px!important;padding:10px 4px!important;font-family:Arial,sans-serif!important;font-size:12px!important;font-weight:700!important;letter-spacing:.055em!important;text-transform:uppercase!important;text-decoration:none!important}
  .navwrap ul.sub-menu ul.sub-menu{padding:0 0 6px 14px!important;background:transparent!important}
  .navwrap ul.sub-menu ul.sub-menu a{display:flex!important;align-items:center!important;min-height:44px!important;font-family:Arial,sans-serif!important;font-size:12px!important}
  .navwrap .menu-cart-icon{border-bottom:0!important}
  .navwrap .tn-cart-trigger-v142{display:flex!important;align-items:center!important;min-height:52px!important;padding:14px 2px!important}
  .tn-mini-cart-v142{display:none!important}
  body.tn-mobile-nav-open{overflow:hidden!important}
}
@media (max-width:560px){.head{padding-left:16px!important;padding-right:16px!important}.navwrap > .shell{padding-left:16px!important;padding-right:16px!important}}
@media (prefers-reduced-motion:reduce){.navwrap,.navwrap ul.sub-menu,.tn-mobile-menu-icon,.tn-mobile-menu-icon:before,.tn-mobile-menu-icon:after{transition:none!important}}


/* === v1.5.1 MOBILE NAV REBUILD ===
   Mobile navigation is a real off-canvas drawer. This intentionally overrides
   all earlier responsive nav positioning without changing desktop navigation. */
@media (max-width:980px){
  body.tn-mobile-nav-open{overflow:hidden!important}

  header .head{
    position:relative!important;
    z-index:1000012!important;
  }

  header button.mobile{
    position:relative!important;
    z-index:1000020!important;
    background:var(--pink)!important;
  }

  header .navwrap,
  header .navwrap.open{
    display:block!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(88vw,420px)!important;
    height:100%!important;
    margin:0!important;
    padding:92px 0 24px!important;
    background:var(--pink)!important;
    border:0!important;
    border-left:1px solid var(--line)!important;
    box-shadow:-18px 0 42px rgba(0,0,0,.10)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateX(100%)!important;
    transition:transform .22s ease,opacity .18s ease,visibility 0s linear .22s!important;
    z-index:1000010!important;
  }

  header .navwrap.open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateX(0)!important;
    transition-delay:0s!important;
  }

  header .navwrap > .shell{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:0 24px!important;
    overflow:visible!important;
  }

  header .navwrap ul#menu-main.nav{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }

  header .navwrap ul#menu-main.nav > li{
    display:block!important;
    position:relative!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border-bottom:1px solid var(--line)!important;
  }

  header .navwrap ul#menu-main.nav > li > a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:54px!important;
    margin:0!important;
    padding:14px 52px 14px 0!important;
    color:var(--tn-menu-color,var(--ink))!important;
    background:transparent!important;
    font-family:Arial,sans-serif!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:1.25!important;
    letter-spacing:.02em!important;
    text-transform:none!important;
    text-decoration:none!important;
    white-space:normal!important;
  }

  header .navwrap ul#menu-main.nav > li.current-menu-item > a,
  header .navwrap ul#menu-main.nav > li.current-menu-parent > a,
  header .navwrap ul#menu-main.nav > li.current-menu-ancestor > a{
    color:var(--tn-menu-active,var(--tn-menu-hover,var(--ink)))!important;
  }

  header .navwrap .tn-submenu-toggle-v142{
    display:flex!important;
    position:absolute!important;
    top:5px!important;
    right:0!important;
    width:44px!important;
    height:44px!important;
    padding:0!important;
    align-items:center!important;
    justify-content:center!important;
    border:0!important;
    background:transparent!important;
    color:var(--ink)!important;
    cursor:pointer!important;
    z-index:2!important;
  }
  header .navwrap .tn-submenu-toggle-v142 span{display:none!important}
  header .navwrap .tn-submenu-toggle-v142:before{
    content:"+"!important;
    font:400 24px/1 Arial,sans-serif!important;
  }
  header .navwrap .tn-submenu-open-v142 > .tn-submenu-toggle-v142:before{
    content:"−"!important;
  }

  header .navwrap ul#menu-main.nav > li > ul.sub-menu{
    display:block!important;
    position:static!important;
    inset:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    columns:auto!important;
    column-count:1!important;
    grid-template-columns:none!important;
    transform:none!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
    overflow:hidden!important;
    max-height:0!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:max-height .26s ease,opacity .18s ease!important;
  }

  header .navwrap ul#menu-main.nav > li.tn-submenu-open-v142 > ul.sub-menu{
    max-height:1800px!important;
    padding:0 0 12px 16px!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  header .navwrap ul#menu-main.nav > li > ul.sub-menu > li{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }

  header .navwrap ul#menu-main.nav > li > ul.sub-menu > li > a,
  header .navwrap ul#menu-main.nav ul.sub-menu ul.sub-menu a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:44px!important;
    padding:9px 0!important;
    color:var(--tn-sub-color,var(--ink))!important;
    background:transparent!important;
    font-family:Arial,sans-serif!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1.3!important;
    letter-spacing:.055em!important;
    text-transform:uppercase!important;
    text-decoration:none!important;
    white-space:normal!important;
  }

  header .navwrap ul.sub-menu ul.sub-menu{
    display:block!important;
    position:static!important;
    margin:0!important;
    padding:0 0 4px 14px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }

  header .navwrap .menu-cart-icon{
    display:block!important;
    border-bottom:0!important;
  }
  header .navwrap .tn-cart-trigger-v142{
    display:flex!important;
    min-height:54px!important;
    align-items:center!important;
    padding:14px 0!important;
  }
  header .tn-mini-cart-v142{display:none!important}
}

@media (max-width:560px){
  header .navwrap,
  header .navwrap.open{
    width:100%!important;
    border-left:0!important;
    box-shadow:none!important;
  }
  header .navwrap > .shell{padding-left:22px!important;padding-right:22px!important}
}

@media (prefers-reduced-motion:reduce){
  header .navwrap,
  header .navwrap ul.sub-menu{transition:none!important}
}


/* === v1.5.2 ISOLATED MOBILE MENU === */
@media(max-width:980px){
  /* Desktop navigation never acts as the mobile panel anymore. */
  header .navwrap,header .navwrap.open{display:none!important}
  body.tn-mobile-v152-open{overflow:hidden!important}
  #tn-mobile-panel-v152{
    display:block!important;position:fixed!important;z-index:2147483000!important;
    top:0!important;right:0!important;bottom:0!important;width:min(90vw,430px)!important;
    height:100dvh!important;margin:0!important;padding:0!important;
    background:var(--pink)!important;color:var(--ink)!important;
    border-left:1px solid var(--line)!important;box-shadow:-18px 0 48px rgba(0,0,0,.12)!important;
    overflow:hidden!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transform:translateX(102%)!important;transition:transform .22s ease,opacity .18s ease,visibility 0s linear .22s!important
  }
  #tn-mobile-panel-v152.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateX(0)!important;transition-delay:0s!important}
  .tn-mobile-panel-head-v152{height:78px!important;padding:0 22px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;border-bottom:1px solid var(--line)!important;background:var(--pink)!important}
  .tn-mobile-panel-head-v152 strong{font:700 12px/1 Arial,sans-serif!important;letter-spacing:.08em!important}
  .tn-mobile-close-v152{display:inline-flex!important;align-items:center!important;gap:9px!important;min-height:44px!important;padding:0 13px!important;border:1px solid var(--ink)!important;background:transparent!important;color:var(--ink)!important;font:700 11px/1 Arial,sans-serif!important;letter-spacing:.07em!important;cursor:pointer!important}
  .tn-mobile-close-v152 span{font-size:24px!important;font-weight:300!important;line-height:1!important}
  .tn-mobile-nav-v152{display:block!important;height:calc(100dvh - 78px)!important;padding:6px 22px 28px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;background:var(--pink)!important}
  #tn-mobile-list-v152,#tn-mobile-list-v152 ul{display:block!important;position:static!important;width:100%!important;height:auto!important;min-height:0!important;max-width:none!important;margin:0!important;padding:0!important;list-style:none!important;columns:auto!important;transform:none!important;border:0!important;box-shadow:none!important;background:transparent!important;opacity:1!important;visibility:visible!important}
  #tn-mobile-list-v152>li{display:block!important;position:relative!important;width:100%!important;margin:0!important;padding:0!important;border-bottom:1px solid var(--line)!important}
  #tn-mobile-list-v152 li>a{display:flex!important;position:relative!important;align-items:center!important;width:100%!important;min-height:54px!important;margin:0!important;padding:14px 50px 14px 0!important;background:transparent!important;color:var(--tn-menu-color,var(--ink))!important;font-family:Arial,sans-serif!important;font-size:15px!important;font-weight:700!important;line-height:1.25!important;letter-spacing:.01em!important;text-transform:none!important;text-decoration:none!important;white-space:normal!important}
  #tn-mobile-list-v152 .tn-mobile-sub-v152{display:flex!important;position:absolute!important;z-index:3!important;top:5px!important;right:0!important;width:44px!important;height:44px!important;margin:0!important;padding:0!important;align-items:center!important;justify-content:center!important;border:0!important;background:transparent!important;color:var(--ink)!important;font:400 25px/1 Arial,sans-serif!important;cursor:pointer!important}
  #tn-mobile-list-v152 li>ul.sub-menu{display:none!important;padding:0 0 12px 15px!important}
  #tn-mobile-list-v152 li.tn-mobile-sub-open-v152>ul.sub-menu{display:block!important}
  #tn-mobile-list-v152 ul.sub-menu li{display:block!important;position:relative!important;width:100%!important;margin:0!important;padding:0!important;border:0!important}
  #tn-mobile-list-v152 ul.sub-menu li>a{min-height:44px!important;padding:9px 48px 9px 0!important;font-size:12px!important;letter-spacing:.055em!important;text-transform:uppercase!important}
  #tn-mobile-list-v152 ul.sub-menu ul.sub-menu{padding-left:14px!important}
  #tn-mobile-list-v152 .menu-cart-icon>a{padding-right:0!important}
}
@media(max-width:560px){#tn-mobile-panel-v152{width:100%!important;border-left:0!important;box-shadow:none!important}}
@media(min-width:981px){#tn-mobile-panel-v152{display:none!important}}


/* === v1.5.4 CATEGORY / SHOP REFINEMENT === */

/* Remove the long production/backorder notice from archive cards.
   Covers common WooCommerce/theme/plugin wrappers while preserving price. */
.tn-clean-product-archive-v154 ul.products li.product .stock,
.tn-clean-product-archive-v154 ul.products li.product .availability,
.tn-clean-product-archive-v154 ul.products li.product .backorder-notice,
.tn-clean-product-archive-v154 ul.products li.product .tn-backorder-message,
.tn-clean-product-archive-v154 ul.products li.product .woocommerce-product-details__short-description{
  display:none!important;
}

/* One archive heading only: hide the legacy/theme title that sits above our
   designed centred category hero. */
body.woocommerce.archive .page-title:not(.woocommerce-products-header__title),
body.post-type-archive-product .page-title:not(.woocommerce-products-header__title){
  display:none!important;
}

/* Archive hero spacing / hierarchy */
body.woocommerce.archive .woocommerce-products-header,
body.post-type-archive-product .woocommerce-products-header{
  text-align:center!important;
  margin:0 auto 46px!important;
  padding-top:24px!important;
}
body.woocommerce.archive .woocommerce-products-header__title,
body.post-type-archive-product .woocommerce-products-header__title{
  margin:0 auto 14px!important;
  text-align:center!important;
}
body.woocommerce.archive .term-description,
body.post-type-archive-product .term-description{
  max-width:720px!important;
  margin:0 auto!important;
  text-align:center!important;
}

/* Consistent product-card structure. */
body.woocommerce.archive ul.products,
body.post-type-archive-product ul.products{
  align-items:stretch!important;
}
body.woocommerce.archive ul.products li.product,
body.post-type-archive-product ul.products li.product{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
body.woocommerce.archive ul.products li.product .woocommerce-loop-product__link,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__link{
  display:flex!important;
  flex-direction:column!important;
  flex:0 0 auto!important;
}
body.woocommerce.archive ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title{
  margin-top:16px!important;
  margin-bottom:10px!important;
}
body.woocommerce.archive ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price{
  margin-top:auto!important;
  margin-bottom:14px!important;
  min-height:24px!important;
}

/* Quick-order bar: controls and CTA are visually separate but remain one unit. */
body.woocommerce.archive ul.products li.product .tn-quick-order,
body.woocommerce.archive ul.products li.product .tn-archive-quick-order,
body.woocommerce.archive ul.products li.product form.cart,
body.post-type-archive-product ul.products li.product .tn-quick-order,
body.post-type-archive-product ul.products li.product .tn-archive-quick-order,
body.post-type-archive-product ul.products li.product form.cart{
  margin-top:auto!important;
}

/* The current archive quick-order implementation renders quantity + CTA in one
   horizontal control. Give the CTA breathing room without breaking its speed. */
body.woocommerce.archive ul.products li.product .quantity + .button,
body.woocommerce.archive ul.products li.product .quantity + button,
body.post-type-archive-product ul.products li.product .quantity + .button,
body.post-type-archive-product ul.products li.product .quantity + button{
  margin-left:8px!important;
}
body.woocommerce.archive ul.products li.product .tn-qty-wrap + .button,
body.woocommerce.archive ul.products li.product .tn-qty-wrap + button,
body.post-type-archive-product ul.products li.product .tn-qty-wrap + .button,
body.post-type-archive-product ul.products li.product .tn-qty-wrap + button{
  margin-left:8px!important;
}

/* CTA hover: unmistakable inversion. */
body.woocommerce.archive ul.products li.product .button,
body.post-type-archive-product ul.products li.product .button{
  transition:background-color .16s ease,color .16s ease,border-color .16s ease!important;
}
body.woocommerce.archive ul.products li.product .button:hover,
body.woocommerce.archive ul.products li.product .button:focus-visible,
body.post-type-archive-product ul.products li.product .button:hover,
body.post-type-archive-product ul.products li.product .button:focus-visible{
  background:#fff!important;
  color:#222!important;
  border-color:#222!important;
}

/* Ensure quick-order black segments do not visually run into one another. */
body.woocommerce.archive ul.products li.product .tn-quick-order,
body.woocommerce.archive ul.products li.product .tn-archive-quick-order,
body.post-type-archive-product ul.products li.product .tn-quick-order,
body.post-type-archive-product ul.products li.product .tn-archive-quick-order{
  gap:8px!important;
}

/* Mobile/tablet archive rhythm */
@media(max-width:980px){
  body.woocommerce.archive .woocommerce-products-header,
  body.post-type-archive-product .woocommerce-products-header{margin-bottom:30px!important;padding-top:14px!important}
}


/* === v1.5.6 CATEGORY TOP === */
body.woocommerce.archive .tn-archive-intro-v141,
body.post-type-archive-product .tn-archive-intro-v141{
  width:min(1400px,calc(100% - 64px))!important;
  margin:28px auto 38px!important;
}

/* Breadcrumb: same left axis as the product grid, compact and editorial. */
body.woocommerce.archive .tn-archive-intro-v141 .tn-breadcrumb-v140,
body.post-type-archive-product .tn-archive-intro-v141 .tn-breadcrumb-v140{
  width:100%!important;
  margin:0 0 38px!important;
  color:var(--archive-bc-color)!important;
}
body.woocommerce.archive .tn-breadcrumb-v140 nav,
body.post-type-archive-product .tn-breadcrumb-v140 nav{
  gap:11px!important;
  font-family:Arial,sans-serif!important;
  font-size:var(--archive-bc-size)!important;
  font-weight:600!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
}
body.woocommerce.archive .tn-bc-arrow,
body.post-type-archive-product .tn-bc-arrow{
  font-size:15px!important;
  opacity:.7!important;
}

/* Editorial category title + optional WooCommerce category description. */
body.woocommerce.archive .tn-archive-copy-v141,
body.post-type-archive-product .tn-archive-copy-v141{
  max-width:760px!important;
  margin:0 auto!important;
  text-align:center!important;
}
body.woocommerce.archive .tn-archive-title-v141,
body.post-type-archive-product .tn-archive-title-v141{
  margin:0 auto 15px!important;
  font-size:clamp(38px,4vw,var(--archive-title-size))!important;
  line-height:1.02!important;
  color:var(--archive-title-color)!important;
}
body.woocommerce.archive .tn-archive-description-v141,
body.post-type-archive-product .tn-archive-description-v141{
  max-width:680px!important;
  color:var(--archive-desc-color)!important;
  font-size:var(--archive-desc-size)!important;
  line-height:1.55!important;
}

/* Functional toolbar: one baseline, products left / sort right. */
body.woocommerce.archive .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count{
  float:left!important;
  margin:0 0 20px!important;
  padding-top:12px!important;
  font-family:Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:var(--meta-color)!important;
}
body.woocommerce.archive .woocommerce-ordering,
body.post-type-archive-product .woocommerce-ordering{
  float:right!important;
  margin:0 0 20px!important;
}
body.woocommerce.archive .woocommerce-ordering select,
body.post-type-archive-product .woocommerce-ordering select{
  min-width:205px!important;
  height:42px!important;
  padding:0 42px 0 14px!important;
  border:1px solid var(--archive-sort-border)!important;
  background-color:transparent!important;
  color:var(--body-color)!important;
  font-family:Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:600!important;
  text-transform:uppercase!important;
  outline:none!important;
}
body.woocommerce.archive .woocommerce-ordering select:hover,
body.woocommerce.archive .woocommerce-ordering select:focus,
body.post-type-archive-product .woocommerce-ordering select:hover,
body.post-type-archive-product .woocommerce-ordering select:focus{
  border-color:var(--body-color)!important;
}

/* Pull the first product row closer to the toolbar. */
body.woocommerce.archive ul.products,
body.post-type-archive-product ul.products{
  padding-top:0!important;
  clear:both!important;
}

/* Mobile: no hero-sized dead space. */
@media(max-width:700px){
  body.woocommerce.archive .tn-archive-intro-v141,
  body.post-type-archive-product .tn-archive-intro-v141{
    width:calc(100% - 32px)!important;
    margin:18px auto 28px!important;
  }
  body.woocommerce.archive .tn-archive-intro-v141 .tn-breadcrumb-v140,
  body.post-type-archive-product .tn-archive-intro-v141 .tn-breadcrumb-v140{
    margin-bottom:26px!important;
  }
  body.woocommerce.archive .tn-archive-title-v141,
  body.post-type-archive-product .tn-archive-title-v141{
    font-size:min(var(--archive-title-size),40px)!important;
    letter-spacing:-.8px!important;
  }
  body.woocommerce.archive .woocommerce-result-count,
  body.post-type-archive-product .woocommerce-result-count{
    float:left!important;
    width:auto!important;
    padding-top:14px!important;
  }
  body.woocommerce.archive .woocommerce-ordering,
  body.post-type-archive-product .woocommerce-ordering{
    float:right!important;
    width:auto!important;
  }
  body.woocommerce.archive .woocommerce-ordering select,
  body.post-type-archive-product .woocommerce-ordering select{
    width:auto!important;
    min-width:150px!important;
  }
}
@media(max-width:480px){
  body.woocommerce.archive .woocommerce-result-count,
  body.post-type-archive-product .woocommerce-result-count,
  body.woocommerce.archive .woocommerce-ordering,
  body.post-type-archive-product .woocommerce-ordering{
    float:none!important;
    width:100%!important;
  }
  body.woocommerce.archive .woocommerce-result-count,
  body.post-type-archive-product .woocommerce-result-count{
    padding-top:0!important;
    margin-bottom:12px!important;
  }
  body.woocommerce.archive .woocommerce-ordering select,
  body.post-type-archive-product .woocommerce-ordering select{
    width:100%!important;
  }
}


/* === v1.5.7 FAST B2B ORDER FEEDBACK === */

/* Button feedback: same footprint, no layout jump. */
body.woocommerce.archive ul.products li.product .button.tn-adding-v157,
body.post-type-archive-product ul.products li.product .button.tn-adding-v157{
  opacity:.65!important;
  cursor:progress!important;
}
body.woocommerce.archive ul.products li.product .button.tn-added-v157,
body.post-type-archive-product ul.products li.product .button.tn-added-v157{
  background:#fff!important;
  color:#222!important;
  border-color:#222!important;
}

/* Small, non-blocking confirmation. It confirms success without interrupting
   someone adding many SKUs in sequence. */
.tn-cart-toast-v157{
  position:fixed!important;
  z-index:2147482500!important;
  top:92px!important;
  right:22px!important;
  width:min(390px,calc(100vw - 32px))!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:15px 16px!important;
  background:var(--button-bg,#222)!important;
  color:var(--button-text,#fff)!important;
  border:1px solid var(--button-bg,#222)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.14)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(-8px)!important;
  transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s!important;
}
.tn-cart-toast-v157.is-visible{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
  transition-delay:0s!important;
}
.tn-cart-toast-copy-v157{
  display:flex!important;
  min-width:0!important;
  flex-direction:column!important;
  gap:4px!important;
  font-family:Arial,sans-serif!important;
}
.tn-cart-toast-title-v157{
  font-size:11px!important;
  line-height:1.1!important;
  letter-spacing:.075em!important;
}
.tn-cart-toast-detail-v157{
  display:block!important;
  max-width:220px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:11px!important;
  line-height:1.3!important;
  opacity:.85!important;
}
.tn-cart-toast-link-v157{
  flex:0 0 auto!important;
  color:var(--button-text,#fff)!important;
  font-family:Arial,sans-serif!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.055em!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
  white-space:nowrap!important;
}
.tn-cart-toast-link-v157:hover{opacity:.7!important}

/* On mobile put feedback near the bottom so it does not cover navigation/header. */
@media(max-width:700px){
  .tn-cart-toast-v157{
    top:auto!important;
    right:16px!important;
    bottom:16px!important;
    left:16px!important;
    width:auto!important;
  }
  .tn-cart-toast-detail-v157{max-width:52vw!important}
}
@media(max-width:430px){
  .tn-cart-toast-v157{align-items:flex-start!important;flex-direction:column!important;gap:9px!important}
  .tn-cart-toast-detail-v157{max-width:100%!important}
}
@media(prefers-reduced-motion:reduce){
  .tn-cart-toast-v157{transition:none!important}
}


/* v1.5.8: custom AJAX feedback owns archive add-to-cart confirmation. */
body.woocommerce.archive .woocommerce-notices-wrapper .woocommerce-message,
body.post-type-archive-product .woocommerce-notices-wrapper .woocommerce-message{
  /* JS removes old success notices; avoid flash before JS runs. */
}
body.woocommerce.archive .tn-archive-add:disabled,
body.post-type-archive-product .tn-archive-add:disabled{
  opacity:.72!important;
}


/* === v1.5.9 ARCHIVE MICRO-UX CLEANUP === */

/* Never allow WooCommerce's injected View cart link to create a second row. */
body.woocommerce.archive ul.products li.product a.added_to_cart,
body.post-type-archive-product ul.products li.product a.added_to_cart{
  display:none!important;
}

/* Short result count: deliberately quieter than product/card content. */
body.woocommerce.archive .woocommerce-result-count.tn-short-count-v159,
body.post-type-archive-product .woocommerce-result-count.tn-short-count-v159{
  font-family:Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}


/* === v1.5.10 CATEGORY ALIGNMENT + MENU SEAM === */

/* Desktop menu: make the parent item fill the complete nav height so the
   dropdown begins exactly on the nav border — no pink hover/dead gap. */
@media (min-width:981px){
  header .navwrap ul#menu-main.nav > li{
    align-self:stretch!important;
    display:flex!important;
    align-items:center!important;
    position:relative!important;
  }
  header .navwrap ul#menu-main.nav > li > a{
    display:flex!important;
    align-items:center!important;
    height:100%!important;
  }
  header .navwrap ul#menu-main.nav > li.menu-item-has-children > ul.sub-menu{
    top:100%!important;
    margin-top:0!important;
  }
}

/* Sale badge colours are independent Customizer values. */
.woocommerce span.onsale,
body.woocommerce.archive span.onsale,
body.post-type-archive-product span.onsale{
  background:var(--tn-sale-badge-bg,#969900)!important;
  color:var(--tn-sale-badge-text,#fff)!important;
  border-color:var(--tn-sale-badge-bg,#969900)!important;
}

/* Product card rhythm: image -> reserved title zone -> price -> quick order.
   This aligns prices within every desktop/tablet row without fixing the whole
   card height. */
@media (min-width:701px){
  body.woocommerce.archive ul.products li.product .woocommerce-loop-product__title,
  body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title{
    min-height:3.05em!important;
    margin:16px 0 8px!important;
  }
  body.woocommerce.archive ul.products li.product .price,
  body.post-type-archive-product ul.products li.product .price{
    margin-top:0!important;
    margin-bottom:14px!important;
    min-height:26px!important;
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
  }
}

/* v1.5.10 owns the result count. */
body.woocommerce.archive .tn-result-count-v1510,
body.post-type-archive-product .tn-result-count-v1510{
  float:left!important;
  margin:0 0 20px!important;
  padding-top:12px!important;
  font-family:Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

/* === v1.5.11 MODERN B2B CART === */
.woocommerce-cart .content{max-width:1440px;padding-top:52px}.woocommerce-cart .entry-title{display:none}.tn-cart-page-v1511{font-family:Arial,sans-serif}.tn-cart-titlebar-v1511{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:26px;border-bottom:1px solid var(--line)}.tn-cart-titlebar-v1511 h1{font:700 clamp(36px,4vw,58px)/.95 Georgia,serif;margin:0 0 12px;color:var(--heading-color)}.tn-cart-titlebar-v1511 p{margin:0;font-size:13px}.tn-cart-continue-v1511,.tn-cart-remove-v1511{font-size:10px;font-weight:700;letter-spacing:.06em;text-decoration:none}.tn-cart-layout-v1511{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,.8fr);gap:54px;align-items:start;margin-top:34px}.tn-cart-items-v1511{border-top:1px solid var(--line)}.tn-cart-item-v1511{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.tn-cart-thumb-v1511 img{display:block;width:130px;height:130px;object-fit:contain;background:rgba(255,255,255,.18)}.tn-cart-copy-v1511{display:flex;flex-direction:column;justify-content:space-between;min-width:0}.tn-cart-item-top-v1511{display:flex;justify-content:space-between;gap:24px}.tn-cart-item-v1511 h2{font:700 18px/1.25 Georgia,serif;margin:2px 0 7px}.tn-cart-item-v1511 h2 a{text-decoration:none}.tn-cart-meta-v1511{font-size:11px;color:var(--meta-color);text-transform:uppercase;letter-spacing:.03em}.tn-cart-line-total-v1511{font-size:16px;white-space:nowrap}.tn-cart-item-bottom-v1511{display:flex;align-items:center;gap:18px;margin-top:18px}.tn-cart-qty-v1511{display:grid;grid-template-columns:38px 54px 38px;height:40px}.tn-cart-qty-v1511 button{border:1px solid var(--button-bg);background:var(--button-bg);color:var(--button-text);font-size:18px;cursor:pointer}.tn-cart-qty-v1511 .quantity{margin:0!important}.tn-cart-qty-v1511 .qty,.tn-cart-qty-number-v1511{width:54px!important;height:40px!important;min-height:40px!important;border:1px solid var(--button-bg)!important;border-left:0!important;border-right:0!important;background:var(--paper)!important;text-align:center;font-weight:700;display:flex;align-items:center;justify-content:center;-moz-appearance:textfield}.tn-cart-qty-v1511 .qty::-webkit-inner-spin-button,.tn-cart-qty-v1511 .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tn-native-cart-update-v1511{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}.tn-cart-summary-v1511{position:sticky;top:28px;background:rgba(255,255,255,.24);border:1px solid var(--line);padding:28px}.tn-cart-summary-v1511 h2,.tn-cart-cross-v1511>h2{font:700 18px/1.1 Arial,sans-serif;letter-spacing:.03em;margin:0 0 22px}.tn-cart-summary-row-v1511{display:flex;justify-content:space-between;gap:20px;padding:10px 0;font-size:13px}.tn-cart-grand-v1511{border-top:1px solid var(--ink);margin-top:10px;padding-top:18px;font-size:17px}.tn-cart-checkout-v1511{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:20px;background:var(--button-bg);color:var(--button-text);border:1px solid var(--button-bg);font-size:11px;font-weight:700;text-decoration:none;transition:.16s ease}.tn-cart-trust-v1511{display:grid;gap:7px;margin-top:20px;font-size:11px}.tn-cart-cross-v1511{margin-top:48px}.tn-cart-cross-grid-v1511{display:grid;gap:10px}.tn-cart-cross-item-v1511{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px;background:rgba(255,255,255,.22);border:1px solid rgba(37,36,38,.06)}.tn-cart-cross-image-v1511 img{display:block;width:76px;height:76px;object-fit:contain}.tn-cart-cross-copy-v1511{display:grid;gap:3px}.tn-cart-cross-copy-v1511 a{text-decoration:none}.tn-cart-cross-copy-v1511 strong{font:700 14px/1.2 Georgia,serif}.tn-cart-cross-copy-v1511 small{font-size:10px}.tn-cart-cross-label-v1511{font-size:9px;letter-spacing:.08em;color:var(--meta-color)}.tn-cart-cross-buy-v1511{display:flex;align-items:center;gap:14px}.tn-cart-cross-buy-v1511>strong{font-size:13px}.tn-cart-cross-add-v1511{white-space:nowrap!important;margin:0!important}.tn-cart-cross-add-v1511.added{background:transparent!important;color:var(--button-bg)!important}.tn-cart-cross-item-v1511 .added_to_cart{display:none!important}.tn-cart-update-note-v1511{font-size:10px;font-weight:700;opacity:0;transition:.2s}.tn-cart-update-note-v1511.is-visible{opacity:1}
@media(hover:hover) and (pointer:fine){.tn-cart-qty-v1511 button:hover,.tn-cart-checkout-v1511:hover,.tn-cart-cross-add-v1511:hover{background:var(--button-text)!important;color:var(--button-bg)!important}.tn-cart-remove-v1511:hover,.tn-cart-continue-v1511:hover{color:var(--link-hover)}}
@media(max-width:900px){.tn-cart-layout-v1511{grid-template-columns:1fr;gap:34px}.tn-cart-summary-v1511{position:static}.tn-cart-cross-v1511{margin-top:34px}}
@media(max-width:600px){.woocommerce-cart .content{padding:30px 16px 110px}.tn-cart-titlebar-v1511{display:block}.tn-cart-continue-v1511{display:inline-block;margin-top:18px}.tn-cart-item-v1511{grid-template-columns:86px 1fr;gap:14px;padding:18px 0}.tn-cart-thumb-v1511 img{width:86px;height:86px}.tn-cart-item-top-v1511{display:block}.tn-cart-line-total-v1511{display:block;margin-top:8px}.tn-cart-item-bottom-v1511{justify-content:space-between;gap:10px}.tn-cart-cross-item-v1511{grid-template-columns:62px 1fr}.tn-cart-cross-image-v1511 img{width:62px;height:62px}.tn-cart-cross-buy-v1511{grid-column:2;justify-content:space-between}.tn-cart-summary-v1511{padding:22px}.tn-cart-checkout-v1511{position:fixed;z-index:90;left:12px;right:12px;bottom:12px;box-shadow:0 10px 30px #0003}}


/* === v1.5.12 CHECKOUT VISUAL CLEANUP ===
   Scope deliberately limited to checkout styling.
   Swift Builder / fullwidth_text content is NOT modified.
*/

/* White functional input surfaces on the Curiositeas pink checkout */
body.woocommerce-checkout form.checkout input.input-text,
body.woocommerce-checkout form.checkout input[type="text"],
body.woocommerce-checkout form.checkout input[type="email"],
body.woocommerce-checkout form.checkout input[type="tel"],
body.woocommerce-checkout form.checkout input[type="number"],
body.woocommerce-checkout form.checkout input[type="password"],
body.woocommerce-checkout form.checkout textarea,
body.woocommerce-checkout form.checkout select,
body.woocommerce-checkout .select2-container--default .select2-selection--single,
body.woocommerce-checkout .select2-container--default .select2-selection--multiple {
    background: #fff !important;
    color: #222 !important;
    border: 1px solid rgba(34,34,34,.18) !important;
    box-shadow: none !important;
}

/* Consistent field height / breathing room */
body.woocommerce-checkout form.checkout input.input-text,
body.woocommerce-checkout form.checkout select,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
    min-height: 44px;
}

body.woocommerce-checkout form.checkout textarea {
    min-height: 88px;
}

/* Remove browser/plugin green focus treatment; retain a clear accessible focus */
body.woocommerce-checkout form.checkout input:focus,
body.woocommerce-checkout form.checkout textarea:focus,
body.woocommerce-checkout form.checkout select:focus,
body.woocommerce-checkout .select2-container--focus .select2-selection,
body.woocommerce-checkout .select2-container--open .select2-selection {
    background: #fff !important;
    border-color: #222 !important;
    outline: 1px solid #222 !important;
    outline-offset: 1px;
    box-shadow: none !important;
}

/* Payment area: white card, while keeping the overall checkout pink */
body.woocommerce-checkout #payment,
body.woocommerce-checkout .woocommerce-checkout-payment {
    background: #fff !important;
    border: 1px solid rgba(34,34,34,.10);
    box-shadow: none;
}

/* Each gateway stays clean and white */
body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-checkout #payment ul.payment_methods li {
    background: #fff !important;
}

/* Gateway explanation gets only a very subtle hierarchy */
body.woocommerce-checkout #payment div.payment_box {
    background: #f7f5f5 !important;
    color: #222 !important;
}

body.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: #f7f5f5 !important;
}

/* Terms / privacy / place-order footer belongs to the white payment card */
body.woocommerce-checkout #payment .place-order,
body.woocommerce-checkout #payment .form-row.place-order {
    background: #fff !important;
}

/* Keep the main conversion action black */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order,
body.woocommerce-checkout .woocommerce-checkout-payment .button {
    background: #222 !important;
    color: #fff !important;
    border-color: #222 !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout button#place_order:hover,
body.woocommerce-checkout .woocommerce-checkout-payment .button:hover {
    background: #fff !important;
    color: #222 !important;
    border-color: #222 !important;
}

/* Select2 dropdown itself should match the white fields */
body.woocommerce-checkout .select2-dropdown,
body.woocommerce-checkout .select2-search__field {
    background: #fff !important;
}


/* ==========================================================
   v1.5.13 — MY ACCOUNT / B2B ACCOUNT UI
   Uses existing theme colours; no Customizer defaults changed.
   ========================================================== */

body.woocommerce-account .woocommerce {
    max-width: 1320px;
    margin: 0 auto;
    padding: 64px 24px 90px;
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 42px;
    align-items: start;
}

/* Account navigation becomes a calm functional sidebar */
body.woocommerce-account .woocommerce-MyAccount-navigation {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(255,255,255,.52);
    border: 1px solid rgba(34,34,34,.10);
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 8px !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(34,34,34,.08);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
    border-bottom: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li::marker {
    content: "";
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 11px 14px;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: .055em;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
    color: #222;
    transition: background .18s ease, color .18s ease, padding-left .18s ease;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    background: rgba(255,255,255,.82);
    padding-left: 18px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
    background: #222;
    color: #fff;
}

/* Main account panel */
body.woocommerce-account .woocommerce-MyAccount-content {
    width: auto !important;
    float: none !important;
    min-width: 0;
    margin: 0 !important;
    padding: 30px 32px 34px;
    background: rgba(255,255,255,.58);
    border: 1px solid rgba(34,34,34,.10);
}

body.woocommerce-account .woocommerce-MyAccount-content > h1,
body.woocommerce-account .woocommerce-MyAccount-content > h2,
body.woocommerce-account .woocommerce-MyAccount-content > h3 {
    margin-top: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content p:first-child {
    margin-top: 0;
}

/* Woo notices / email verification */
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error {
    margin: 0 0 26px !important;
    padding: 17px 18px !important;
    background: #fff !important;
    border: 1px solid rgba(34,34,34,.12) !important;
    border-top: 3px solid #222 !important;
    color: #222 !important;
    box-shadow: none !important;
    font-family: Arial, Helvetica, sans-serif;
}

body.woocommerce-account .woocommerce-message::before,
body.woocommerce-account .woocommerce-info::before {
    color: #222 !important;
}

body.woocommerce-account .woocommerce-message .button,
body.woocommerce-account .woocommerce-info .button {
    float: right;
    margin: -7px 0 -7px 18px;
}

/* Orders table: cleaner, card-like rows */
body.woocommerce-account table.shop_table,
body.woocommerce-account table.my_account_orders {
    width: 100%;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    background: transparent !important;
    table-layout: auto;
}

body.woocommerce-account table.shop_table thead th,
body.woocommerce-account table.my_account_orders thead th {
    padding: 0 14px 8px !important;
    border: 0 !important;
    background: transparent !important;
    text-transform: uppercase;
    letter-spacing: .055em;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px;
    font-weight: 700;
    color: rgba(34,34,34,.68);
}

body.woocommerce-account table.shop_table tbody tr,
body.woocommerce-account table.my_account_orders tbody tr {
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(34,34,34,.10);
}

body.woocommerce-account table.shop_table tbody td,
body.woocommerce-account table.my_account_orders tbody td {
    padding: 15px 14px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(34,34,34,.07) !important;
    vertical-align: middle;
    background: transparent !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.4;
}

body.woocommerce-account table.shop_table tbody td:first-child,
body.woocommerce-account table.my_account_orders tbody td:first-child {
    border-left: 1px solid rgba(34,34,34,.10) !important;
}

body.woocommerce-account table.shop_table tbody td:last-child,
body.woocommerce-account table.my_account_orders tbody td:last-child {
    border-right: 1px solid rgba(34,34,34,.10) !important;
}

body.woocommerce-account table.my_account_orders .woocommerce-orders-table__cell-order-number a {
    color: #222;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Action buttons: less black mass, more hierarchy */
body.woocommerce-account .woocommerce-orders-table__cell-order-actions {
    min-width: 250px;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button,
body.woocommerce-account .woocommerce-MyAccount-content .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    margin: 2px 5px 2px 0 !important;
    padding: 10px 13px !important;
    border: 1px solid #222 !important;
    border-radius: 0 !important;
    background: #222 !important;
    color: #fff !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: .045em;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    transition: background .18s ease, color .18s ease;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .button:hover {
    background: #fff !important;
    color: #222 !important;
}

/* Pagination matches the cleaner shop navigation */
body.woocommerce-account .woocommerce-pagination {
    margin-top: 22px;
    text-align: left;
}

body.woocommerce-account .woocommerce-pagination .button,
body.woocommerce-account .woocommerce-pagination a {
    min-width: 44px;
}

/* Forms inside account: white functional surfaces */
body.woocommerce-account .woocommerce-MyAccount-content input.input-text,
body.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
body.woocommerce-account .woocommerce-MyAccount-content textarea,
body.woocommerce-account .woocommerce-MyAccount-content select,
body.woocommerce-account .woocommerce-MyAccount-content .select2-selection {
    background: #fff !important;
    color: #222 !important;
    border: 1px solid rgba(34,34,34,.18) !important;
    box-shadow: none !important;
    min-height: 44px;
}

body.woocommerce-account .woocommerce-MyAccount-content input:focus,
body.woocommerce-account .woocommerce-MyAccount-content textarea:focus,
body.woocommerce-account .woocommerce-MyAccount-content select:focus {
    border-color: #222 !important;
    outline: 1px solid #222 !important;
    outline-offset: 1px;
}

/* Account details / address cards */
body.woocommerce-account .woocommerce-Address,
body.woocommerce-account .woocommerce-customer-details,
body.woocommerce-account .woocommerce-order-details {
    background: #fff;
    border: 1px solid rgba(34,34,34,.10);
    padding: 22px;
    margin-bottom: 22px;
}

/* Mobile: navigation becomes horizontal scroll; orders become cards */
@media (max-width: 820px) {
    body.woocommerce-account .woocommerce {
        display: block;
        padding: 32px 18px 70px;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation {
        margin-bottom: 22px !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        width: max-content;
        min-width: 100%;
        gap: 0;
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto;
        border-bottom: 0;
        border-right: 1px solid rgba(34,34,34,.08);
    }

    body.woocommerce-account .woocommerce-MyAccount-navigation a {
        white-space: nowrap;
        min-height: 42px;
    }

    body.woocommerce-account .woocommerce-MyAccount-content {
        padding: 20px 16px 24px;
    }

    body.woocommerce-account table.my_account_orders {
        display: block;
    }

    body.woocommerce-account table.my_account_orders thead {
        display: none;
    }

    body.woocommerce-account table.my_account_orders tbody,
    body.woocommerce-account table.my_account_orders tr,
    body.woocommerce-account table.my_account_orders td {
        display: block;
        width: 100%;
    }

    body.woocommerce-account table.my_account_orders tbody tr {
        margin: 0 0 14px;
        padding: 8px 14px 12px;
        box-shadow: inset 0 0 0 1px rgba(34,34,34,.10);
    }

    body.woocommerce-account table.my_account_orders tbody td {
        display: grid;
        grid-template-columns: minmax(110px, 38%) 1fr;
        gap: 12px;
        padding: 9px 0 !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(34,34,34,.07) !important;
        text-align: right !important;
    }

    body.woocommerce-account table.my_account_orders tbody td::before {
        content: attr(data-title);
        text-align: left;
        text-transform: uppercase;
        letter-spacing: .045em;
        font-size: 10px;
        font-weight: 800;
        color: rgba(34,34,34,.65);
    }

    body.woocommerce-account table.my_account_orders tbody td:last-child {
        display: block;
        text-align: left !important;
        border-bottom: 0 !important;
        padding-top: 13px !important;
    }

    body.woocommerce-account table.my_account_orders tbody td:last-child::before {
        display: none;
    }

    body.woocommerce-account .woocommerce-orders-table__cell-order-actions {
        min-width: 0;
    }

    body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button {
        width: 100%;
        margin: 4px 0 !important;
    }

    body.woocommerce-account .woocommerce-message .button,
    body.woocommerce-account .woocommerce-info .button {
        float: none;
        width: 100%;
        margin: 12px 0 0 !important;
    }
}


/* ==========================================================
   v1.5.14 — MY ACCOUNT LAYOUT HOTFIX
   Corrects legacy Woo/theme floats and prevents the navigation
   and order content from separating vertically.
   ========================================================== */

@media (min-width: 821px) {
    body.woocommerce-account main .woocommerce,
    body.woocommerce-account .entry-content > .woocommerce,
    body.woocommerce-account .page-content > .woocommerce,
    body.woocommerce-account .woocommerce {
        box-sizing: border-box !important;
        width: min(1320px, calc(100% - 48px)) !important;
        max-width: 1320px !important;
        margin: 0 auto !important;
        padding: 56px 0 90px !important;

        display: grid !important;
        grid-template-columns: 250px minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        grid-auto-flow: row !important;
        column-gap: 38px !important;
        row-gap: 0 !important;
        align-items: start !important;
    }

    body.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation {
        box-sizing: border-box !important;
        display: block !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: start !important;
        width: 250px !important;
        max-width: 250px !important;
        min-width: 250px !important;
        float: none !important;
        clear: none !important;
        position: static !important;
        margin: 0 !important;
    }

    body.woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
        box-sizing: border-box !important;
        display: block !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: start !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        float: none !important;
        clear: none !important;
        position: static !important;
        margin: 0 !important;
        padding: 28px 30px 32px !important;
    }

    /* Any clearfix generated by legacy Woo themes must not become a grid item. */
    body.woocommerce-account .woocommerce > .clear,
    body.woocommerce-account .woocommerce > .clearfix {
        display: none !important;
    }
}

/* Notification should remain a horizontal strip, never collapse into a narrow column. */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 64px;
    display: flex !important;
    align-items: center !important;
    gap: 16px;
    justify-content: space-between;
    clear: both !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .button {
    flex: 0 0 auto;
    float: none !important;
    margin: 0 !important;
}

/* Orders use the available content width and cannot inherit old 70%/float rules. */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table,
body.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: both !important;
}

/* Keep columns readable. */
@media (min-width: 821px) {
    body.woocommerce-account table.my_account_orders th:nth-child(1),
    body.woocommerce-account table.my_account_orders td:nth-child(1) { width: 11%; }

    body.woocommerce-account table.my_account_orders th:nth-child(2),
    body.woocommerce-account table.my_account_orders td:nth-child(2) { width: 15%; }

    body.woocommerce-account table.my_account_orders th:nth-child(3),
    body.woocommerce-account table.my_account_orders td:nth-child(3) { width: 23%; }

    body.woocommerce-account table.my_account_orders th:nth-child(4),
    body.woocommerce-account table.my_account_orders td:nth-child(4) { width: 16%; }

    body.woocommerce-account table.my_account_orders th:nth-child(5),
    body.woocommerce-account table.my_account_orders td:nth-child(5) { width: 35%; }
}

/* Mobile reset: one clean column, then horizontally scrollable account tabs. */
@media (max-width: 820px) {
    body.woocommerce-account .woocommerce {
        width: 100% !important;
        max-width: none !important;
        display: block !important;
        margin: 0 !important;
        padding: 28px 18px 70px !important;
    }

    body.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation,
    body.woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        float: none !important;
        clear: both !important;
        position: static !important;
    }

    body.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation {
        margin: 0 0 20px !important;
    }

    body.woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
        margin: 0 !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error {
        display: block !important;
    }

    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .button {
        width: 100% !important;
        margin-top: 12px !important;
    }
}


/* ==========================================================
   v1.5.15 — HEADER / CATALOGUS DROPDOWN REGRESSION FIX
   v1.5.14 account layout must never affect header navigation.
   ========================================================== */

/* Header/nav always remains outside account layout mechanics */
body.woocommerce-account header .woocommerce,
body.woocommerce-account .site-header .woocommerce,
body.woocommerce-account .navwrap .woocommerce,
body.woocommerce-account header nav,
body.woocommerce-account .navwrap {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ensure desktop submenus can render above account content */
body.woocommerce-account header,
body.woocommerce-account .site-header,
body.woocommerce-account .navwrap,
body.woocommerce-account .navwrap .shell,
body.woocommerce-account .navwrap .nav,
body.woocommerce-account .navwrap .menu-item-has-children {
    overflow: visible !important;
}

body.woocommerce-account .navwrap {
    position: relative !important;
    z-index: 1000 !important;
}

body.woocommerce-account .navwrap .sub-menu {
    z-index: 1001 !important;
}

/* Account content must stay below an open navigation dropdown */
body.woocommerce-account main,
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
    position: relative;
    z-index: 1;
}

/* Catalogus/menu hover & focus safety net */
@media (min-width: 821px) {
    body.woocommerce-account .navwrap .menu-item-has-children:hover > .sub-menu,
    body.woocommerce-account .navwrap .menu-item-has-children:focus-within > .sub-menu,
    body.woocommerce-account .navwrap .menu-item-has-children.tn-submenu-open > .sub-menu {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}


/* ==========================================================
   v1.5.16 — CATALOGUS DROPDOWN DEFINITIVE FIX
   Do not change the nav's display mode: the header menu is flex-based.
   ========================================================== */

body.woocommerce-account header nav,
body.woocommerce-account .navwrap {
    display: revert !important;
    width: revert !important;
    max-width: revert !important;
    margin-left: revert !important;
    margin-right: revert !important;
}

/* Preserve the actual theme header geometry. */
body.woocommerce-account .navwrap,
body.woocommerce-account .navwrap .shell,
body.woocommerce-account .navwrap .nav,
body.woocommerce-account .navwrap ul.nav,
body.woocommerce-account .navwrap li.menu-item,
body.woocommerce-account .navwrap li.menu-item-has-children {
    overflow: visible !important;
}

body.woocommerce-account .navwrap {
    position: relative !important;
    z-index: 9990 !important;
}

body.woocommerce-account .navwrap ul.nav {
    position: relative;
    z-index: 9991;
}

/* Desktop submenu is positioned from its parent menu item. */
@media (min-width: 821px) {
    body.woocommerce-account .navwrap li.menu-item-has-children {
        position: relative !important;
    }

    body.woocommerce-account .navwrap li.menu-item-has-children > ul.sub-menu {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        z-index: 9999 !important;
        pointer-events: none;
    }

    body.woocommerce-account .navwrap li.menu-item-has-children:hover > ul.sub-menu,
    body.woocommerce-account .navwrap li.menu-item-has-children:focus-within > ul.sub-menu,
    body.woocommerce-account .navwrap li.menu-item-has-children.tn-submenu-open > ul.sub-menu,
    body.woocommerce-account .navwrap li.menu-item-has-children.submenu-open > ul.sub-menu,
    body.woocommerce-account .navwrap li.menu-item-has-children.menu-item-open > ul.sub-menu {
        display: grid !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}

/* Account page can never paint over the open menu. */
body.woocommerce-account main,
body.woocommerce-account #main,
body.woocommerce-account .site-main,
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
    z-index: auto !important;
}

/* Keep mobile submenu controlled by the existing mobile menu JS/CSS. */
@media (max-width: 820px) {
    body.woocommerce-account .navwrap li.menu-item-has-children > ul.sub-menu {
        position: static !important;
        z-index: auto !important;
    }
}


/* ==========================================================
   v1.5.17 — CATALOGUS ONLY DROPDOWN FIX
   Other dropdowns already work. Do not change global menu behaviour.
   Catalogus = menu-item-929 in the current WordPress menu.
   ========================================================== */

@media (min-width: 821px) {
    /* Catalogus is a wide/mega submenu; do not constrain it to the parent <li>. */
    #menu-main > #menu-item-929 {
        position: static !important;
    }

    #menu-main > #menu-item-929 > .sub-menu {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
        z-index: 9999 !important;
    }

    /* Only expose Catalogus when its own parent is active/hovered. */
    #menu-main > #menu-item-929:hover > .sub-menu,
    #menu-main > #menu-item-929:focus-within > .sub-menu,
    #menu-main > #menu-item-929.tn-submenu-open > .sub-menu {
        display: grid !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}


/* ==========================================================
   v1.5.18 — HEADER LIVE SEARCH
   ========================================================== */

.tn-search-menu-item-v158 {
    display: flex !important;
    align-items: center !important;
}

.tn-search-trigger-v158 {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 100%;
    padding: 0 10px;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    font-size: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
}

.tn-search-trigger-v158 svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
}

.tn-search-trigger-v158:hover {
    opacity: .58;
}

/* Panel attaches directly below the header/navigation line. */
.tn-live-search-panel-v158 {
    position: fixed;
    z-index: 10050;
    top: var(--tn-search-top, 0);
    left: 0;
    right: 0;
    display: none;
    background: #fff;
    border-top: 1px solid rgba(34,34,34,.15);
    border-bottom: 1px solid rgba(34,34,34,.15);
    box-shadow: 0 18px 35px rgba(0,0,0,.08);
}

.tn-live-search-panel-v158.is-open {
    display: block;
}

/* JS-independent positioning fallback; JS below updates it dynamically. */
.tn-live-search-inner-v158 {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
}

.tn-live-search-field-v158 {
    display: grid;
    grid-template-columns: 25px minmax(0,1fr) 34px;
    gap: 13px;
    align-items: center;
    min-height: 72px;
    border-bottom: 1px solid rgba(34,34,34,.12);
}

.tn-live-search-field-v158 > svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: #222;
    stroke-width: 1.5;
}

.tn-live-search-field-v158 input {
    width: 100%;
    height: 52px;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #222 !important;
    font-family: Arial,Helvetica,sans-serif !important;
    font-size: 15px !important;
    font-weight: 600;
    letter-spacing: .035em;
}

.tn-live-search-close-v158 {
    appearance: none;
    width: 34px;
    height: 34px;
    border: 0;
    background: transparent;
    color: #222;
    cursor: pointer;
    font-size: 27px;
    font-weight: 300;
    line-height: 1;
}

.tn-live-search-results-v158 {
    max-height: min(560px, calc(100vh - 190px));
    overflow-y: auto;
}

.tn-search-label-v158 {
    padding: 17px 0 9px;
    font-family: Arial,Helvetica,sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    color: rgba(34,34,34,.58);
}

.tn-search-products-v158 {
    display: grid;
}

.tn-search-result-v158 {
    display: grid;
    grid-template-columns: 64px minmax(0,1fr) auto;
    gap: 16px;
    align-items: center;
    min-height: 82px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(34,34,34,.09);
    color: #222 !important;
    text-decoration: none !important;
}

.tn-search-result-v158:hover,
.tn-search-result-v158.is-active {
    background: rgba(0,0,0,.025);
}

.tn-search-result-v158 img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    background: #f4eeee;
}

.tn-search-result-copy-v158 {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
}

.tn-search-result-copy-v158 strong {
    overflow: hidden;
    color: #222;
    font-size: 14px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tn-search-meta-v158 {
    font-family: Arial,Helvetica,sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .055em;
    color: rgba(34,34,34,.52);
}

.tn-search-price-v158 {
    padding-left: 18px;
    font-family: Arial,Helvetica,sans-serif;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.tn-search-all-v158 {
    display: block;
    padding: 17px 0 20px;
    color: #222 !important;
    font-family: Arial,Helvetica,sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .055em;
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

.tn-search-hint-v158,
.tn-search-loading-v158,
.tn-search-empty-v158 {
    padding: 24px 0 28px;
    font-family: Arial,Helvetica,sans-serif;
    font-size: 13px;
    color: rgba(34,34,34,.68);
}

/* Mobile: full-width and touch friendly. */
@media (max-width: 820px) {
    .tn-search-trigger-v158 span {
        display: none;
    }

    .tn-search-trigger-v158 {
        min-width: 42px;
        justify-content: center;
        padding: 0 8px;
    }

    .tn-live-search-inner-v158 {
        width: calc(100% - 32px);
    }

    .tn-live-search-field-v158 {
        min-height: 62px;
    }

    .tn-search-result-v158 {
        grid-template-columns: 54px minmax(0,1fr);
        min-height: 72px;
        gap: 12px;
    }

    .tn-search-result-v158 img {
        width: 54px;
        height: 54px;
    }

    .tn-search-price-v158 {
        grid-column: 2;
        padding: 0;
        margin-top: -4px;
        font-size: 11px;
    }
}


/* ==========================================================
   v1.5.21 — PRODUCT SEARCH RESULTS VISUAL CONSISTENCY
   Search results should behave like category/product archives.
   ========================================================== */

/* Hide the verbose preorder/out-of-stock explanatory copy on search cards,
   matching the cleaned-up category archive. */
body.search.post-type-archive-product ul.products li.product .stock,
body.search ul.products li.product .stock,
body.search ul.products li.product .tn-preorder-message,
body.search ul.products li.product .backorder_notification,
body.search ul.products li.product p.stock.out-of-stock {
    display: none !important;
}

/* Prevent archive images from collapsing while lazy loading. */
body.search ul.products li.product .woocommerce-loop-product__link,
body.search ul.products li.product .product-image,
body.search ul.products li.product .product-image-wrap {
    display: block;
}

body.search ul.products li.product img {
    display: block !important;
    max-width: 100%;
    height: auto;
}

/* Search result cards use the same vertical rhythm as category cards. */
body.search ul.products li.product {
    display: flex;
    flex-direction: column;
}

body.search ul.products li.product .price {
    margin-top: auto;
}



/* ==========================================================
   v1.5.23 — ARCHIVE PRE-ORDER MESSAGE
   Hide WooCommerce/SalesKing backorder explanatory copy on
   catalogue/category/search cards. Keep price + preorder CTA.
   CSS-only: no MutationObserver / DOM rescans.
   ========================================================== */
.woocommerce ul.products li.product .stock.out-of-stock,
.woocommerce ul.products li.product p.stock.out-of-stock,
.woocommerce ul.products li.product .backorder_notification,
.woocommerce ul.products li.product .available-on-backorder,
.woocommerce ul.products li.product .tn-preorder-message,
.woocommerce-page ul.products li.product .stock.out-of-stock,
.woocommerce-page ul.products li.product p.stock.out-of-stock,
.woocommerce-page ul.products li.product .backorder_notification {
    display: none !important;
}

/* Known archive copy wrappers used by preorder/backorder output. */
.woocommerce ul.products li.product .preorder-message,
.woocommerce ul.products li.product .pre-order-message,
.woocommerce ul.products li.product .wc-pre-orders-message,
.woocommerce ul.products li.product .woocommerce-backorder-message {
    display: none !important;
}


/* ==========================================================
   v1.5.24 — CLEANER 3-LAYER DESKTOP HEADER
   1 ticker / 2 logo + utilities / 3 primary navigation
   ========================================================== */
@media (min-width:981px){
  header .head{
    min-height:112px!important;
    grid-template-columns:1fr auto 1fr!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
  }
  header .head .side.left{visibility:hidden!important;}
  header .tn-header-utilities-v1524{
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:22px!important;
    font-family:Arial,sans-serif!important;
    font-size:11px!important;
    font-weight:700!important;
    letter-spacing:.02em!important;
  }
  header .tn-header-utilities-v1524 > a{
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    color:var(--tn-menu-color,#222)!important;
    text-decoration:none!important;
    white-space:nowrap!important;
  }
  header .tn-header-utilities-v1524 > a:hover{
    color:var(--tn-menu-hover,#e98fa9)!important;
  }
  .tn-util-search-icon-v1524{
    width:14px;height:14px;display:inline-block;position:relative;
    border:1.6px solid currentColor;border-radius:50%;
  }
  .tn-util-search-icon-v1524:after{
    content:"";position:absolute;width:6px;height:1.6px;background:currentColor;
    right:-5px;bottom:-2px;transform:rotate(45deg);transform-origin:left center;
  }

  /* Utilities now live beside the logo, not among collection navigation. */
  header .navwrap ul#menu-main.nav > li.tn-desktop-utility-account-v1524,
  header .navwrap ul#menu-main.nav > li.tn-desktop-utility-login-v1524,
  header .navwrap ul#menu-main.nav > li.tn-desktop-utility-cart-v1524,
  header .navwrap ul#menu-main.nav > li#tn-search-menu-item-v158{
    display:none!important;
  }

  header .navwrap ul#menu-main.nav{
    gap:30px!important;
  }
}

/* Mobile: top header stays simple; account/cart remain in the mobile menu. */
@media (max-width:980px){
  header .tn-header-utilities-v1524 > a{display:none!important;}
  header .tn-header-utilities-v1524 .mobile{display:flex!important;}
}

/* The two linked preorder sentences are not useful in product grids.
   Their dedicated BESTEL VOORUIT control remains visible. */
.woocommerce ul.products li.product a.tn-preorder-copy-hidden-v1524{
  display:none!important;
}


/* ==========================================================
   v1.5.25 — RESTORED MINI CART ON NEW HEADER
   ========================================================== */
@media (min-width:981px){
  .tn-header-cart-wrap-v1525{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
  }
  header .tn-header-cart-wrap-v1525 > .tn-mini-cart-v142{
    display:block!important;
    top:calc(100% + 14px)!important;
    right:0!important;
    left:auto!important;
    z-index:10050!important;
  }
  header .tn-header-cart-wrap-v1525:hover > .tn-mini-cart-v142,
  header .tn-header-cart-wrap-v1525:focus-within > .tn-mini-cart-v142,
  header .tn-header-cart-wrap-v1525.tn-cart-open-v142 > .tn-mini-cart-v142{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  header .tn-header-cart-v1524.tn-cart-trigger-v142{
    padding:8px 0!important;
    min-height:0!important;
  }
}

/* Product-page fast-add states: keep the button stable while AJAX runs. */
.single-product .single_add_to_cart_button.tn-adding-v157,
.single-product .single_add_to_cart_button.tn-added-v157{
  opacity:1!important;
  cursor:default!important;
}


/* ==========================================================
   v1.5.27 — HEADER ICON REFINEMENT
   Smaller search magnifier + basket icon before MANDJE.
   ========================================================== */

/* Search icon: slightly smaller and visually quieter */
.tn-header-search-v1524 svg,
.tn-header-search-v1524 .tn-search-icon,
.tn-header-search-v1524::before {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    background-size: 15px 15px !important;
}
.tn-header-search-v1524 {
    gap: 7px !important;
}

/* Basket icon for the utility cart */
.tn-header-cart-v1524::before {
    content: "" !important;
    display: inline-block !important;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    margin-right: 7px !important;
    vertical-align: -3px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23222222' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9h14l-1.2 10H6.2L5 9Z'/%3E%3Cpath d='M9 9 12 4l3 5'/%3E%3C/svg%3E") !important;
}
.tn-header-cart-v1524 {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
}


/* ==========================================================
   v1.5.28 — RAPID ORDER FEEDBACK
   ========================================================== */
.tn-cart-toast-v1528{
  position:fixed;
  z-index:12000;
  top:24px;
  right:24px;
  width:min(390px,calc(100vw - 48px));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:16px 18px;
  background:#fff;
  color:#222;
  border:1px solid rgba(34,34,34,.14);
  box-shadow:0 14px 35px rgba(0,0,0,.12);
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  font-family:Arial,Helvetica,sans-serif;
}
.tn-cart-toast-v1528.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.tn-cart-toast-copy-v1528{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.tn-cart-toast-copy-v1528 strong{
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
}
.tn-cart-toast-detail-v1528{
  overflow:hidden;
  font-size:12px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tn-cart-toast-link-v1528{
  flex:0 0 auto;
  color:#222!important;
  font-size:10px;
  font-weight:800;
  letter-spacing:.045em;
  text-decoration:underline!important;
  text-underline-offset:3px;
  white-space:nowrap;
}
.woocommerce ul.products li.product .tn-archive-add.tn-adding-v1528,
.woocommerce ul.products li.product .tn-archive-add.tn-added-v1528{
  opacity:1!important;
  min-width:inherit;
}
@media(max-width:820px){
  .tn-cart-toast-v1528{
    top:auto;
    right:16px;
    bottom:16px;
    left:16px;
    width:auto;
  }
}

/* v1.6.0 Gutenberg foundation — additive; Swift Builder untouched */
.entry-content > .alignwide{width:min(1320px,calc(100% - 48px));max-width:1320px;margin-left:auto;margin-right:auto}
.entry-content > .alignfull{width:100%;max-width:none}
.entry-content > :where(p,ul,ol,h1,h2,h3,h4,h5,h6,.wp-block-buttons,.wp-block-quote,.wp-block-details){max-width:820px;margin-left:auto;margin-right:auto}
.entry-content h1{font-size:clamp(42px,6vw,82px);line-height:.98;text-wrap:balance}
.entry-content h2{font-size:clamp(32px,4vw,58px);line-height:1.02;text-wrap:balance}
.entry-content h3{font-size:clamp(24px,2.6vw,38px);line-height:1.08;text-wrap:balance}
.entry-content p,.entry-content li{line-height:1.65}
.entry-content .is-style-tn-lead{max-width:920px;font-size:clamp(20px,2vw,28px);line-height:1.42}
.wp-block-button__link{border-radius:3px!important;padding:13px 22px!important;font-family:Arial,Helvetica,sans-serif!important;font-size:11px!important;font-weight:800!important;letter-spacing:.055em!important;text-transform:uppercase!important;transition:transform .16s ease,opacity .16s ease}
.wp-block-button__link:hover{transform:translateY(-1px);opacity:.82}
.wp-block-columns{gap:clamp(22px,3vw,48px)}
.wp-block-media-text{gap:clamp(28px,5vw,80px)}
.wp-block-media-text .wp-block-media-text__content{padding:clamp(24px,5vw,72px)}
.wp-block-cover.is-style-tn-hero{min-height:clamp(480px,72vh,760px)}
.wp-block-cover.is-style-tn-hero .wp-block-cover__inner-container{width:min(1320px,calc(100% - 48px))}
.wp-block-group.is-style-tn-section{padding:clamp(52px,7vw,110px) max(24px,calc((100vw - 1320px)/2))}
.wp-block-group.is-style-tn-card{height:100%;padding:clamp(24px,3vw,42px);border:1px solid rgba(34,34,34,.12)}
.wp-block-quote.is-style-tn-big-quote{max-width:1040px;padding:0;border:0}
.wp-block-quote.is-style-tn-big-quote p{font-size:clamp(28px,4vw,54px);line-height:1.08}
.wp-block-details{padding:18px 0;border-top:1px solid rgba(34,34,34,.16);border-bottom:1px solid rgba(34,34,34,.16)}
.wp-block-details summary{cursor:pointer;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:800}
.wp-block-table{overflow-x:auto}.wp-block-table table{width:100%;border-collapse:collapse}.wp-block-table th,.wp-block-table td{padding:14px 16px;border:1px solid rgba(34,34,34,.12)}
@media(max-width:781px){.entry-content>.alignwide,.wp-block-cover.is-style-tn-hero .wp-block-cover__inner-container{width:calc(100% - 32px)}.wp-block-group.is-style-tn-section{padding:48px 16px}}

/* v1.6.1 Editorial Gutenberg — additive only */
.is-style-tn-eyebrow{font-family:Arial,sans-serif!important;font-size:10px!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important;margin-bottom:12px!important}
.is-style-tn-display{max-width:1100px!important;font-size:clamp(48px,7.2vw,104px)!important;line-height:.91!important;letter-spacing:-.035em!important;text-wrap:balance}
.wp-block-group.is-style-tn-editorial-section{padding-top:clamp(72px,10vw,150px);padding-bottom:clamp(72px,10vw,150px)}
.wp-block-image.is-style-tn-full-image img{width:100%;min-height:clamp(440px,68vw,900px);object-fit:cover}
.wp-block-media-text.is-style-tn-editorial-split{width:min(1440px,100%);max-width:1440px;gap:0;align-items:stretch}
.wp-block-media-text.is-style-tn-editorial-split .wp-block-media-text__media{min-height:clamp(520px,58vw,820px)}
.wp-block-media-text.is-style-tn-editorial-split .wp-block-media-text__media img{width:100%;height:100%;object-fit:cover}
.wp-block-media-text.is-style-tn-editorial-split .wp-block-media-text__content{display:flex;flex-direction:column;justify-content:center;padding:clamp(46px,8vw,120px)}
.wp-block-columns.is-style-tn-values{gap:0;border-top:1px solid rgba(34,34,34,.16);border-bottom:1px solid rgba(34,34,34,.16)}
.wp-block-columns.is-style-tn-values>.wp-block-column{padding:clamp(28px,4vw,52px) clamp(18px,3vw,38px)}
.wp-block-columns.is-style-tn-values>.wp-block-column+.wp-block-column{border-left:1px solid rgba(34,34,34,.16)}
.wp-block-group.is-style-tn-statement{padding:clamp(90px,14vw,210px) 24px;text-align:center}
.wp-block-group.is-style-tn-statement h2{max-width:1120px;font-size:clamp(42px,6vw,88px);line-height:.96;letter-spacing:-.025em}
@media(max-width:781px){.wp-block-media-text.is-style-tn-editorial-split .wp-block-media-text__media{min-height:430px}.wp-block-media-text.is-style-tn-editorial-split .wp-block-media-text__content{padding:42px 20px 58px}.wp-block-columns.is-style-tn-values>.wp-block-column+.wp-block-column{border-left:0;border-top:1px solid rgba(34,34,34,.16)}}

/* ==========================================================
   v1.6.2 — FASHION EDITORIAL TYPOGRAPHY
   DM Serif Display + DM Sans. Additive override only.
   ========================================================== */
:root{--tn-font-display:'DM Serif Display',Georgia,serif;--tn-font-sans:'DM Sans',Arial,sans-serif}
body,button,input,select,textarea,.nav,.side,.woocommerce,.tn-cart-page-v1511{font-family:var(--tn-font-sans)!important}
.entry-title,.woocommerce-products-header__title,.woocommerce div.product .product_title,
.tn-archive-title-v141,.tn-cart-titlebar-v1511 h1,
.wp-block-heading.is-style-tn-display,.is-style-tn-display,
.wp-block-group.is-style-tn-statement h2,
.entry-content h1,.entry-content h2,
.woocommerce-account .entry-title{font-family:var(--tn-font-display)!important;font-weight:400!important}
/* Keep product/UI hierarchy clean rather than turning the whole shop serif */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.tn-cart-item-v1511 h2,.tn-cart-cross-copy-v1511 strong,
.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{font-family:var(--tn-font-sans)!important}
.entry-title,.woocommerce-products-header__title,.woocommerce div.product .product_title,.tn-archive-title-v141{letter-spacing:-.025em!important}


/* ==========================================================
   v1.6.3 — SHOP UI COLOR TOKENS
   Scoped to commerce controls; typography colors stay separate.
   ========================================================== */
:root{
  --tn-ui-bg:#222222;
  --tn-ui-text:#ffffff;
  --tn-ui-hover:#e99bb2;
  --tn-qty-bg:#f3f1ef;
  --tn-qty-text:#222222;
  --tn-toast-bg:#ffffff;
  --tn-toast-text:#222222;
}

/* Product-grid quantity controls: minus / number / plus */
.woocommerce ul.products li.product form.cart .quantity button,
.woocommerce ul.products li.product form.cart .tn-qty-minus,
.woocommerce ul.products li.product form.cart .tn-qty-plus,
.woocommerce ul.products li.product .tn-qty-minus,
.woocommerce ul.products li.product .tn-qty-plus {
  background:var(--tn-ui-bg)!important;
  color:var(--tn-ui-text)!important;
  border-color:var(--tn-ui-bg)!important;
}
.woocommerce ul.products li.product form.cart .quantity input.qty,
.woocommerce ul.products li.product input.qty {
  background:var(--tn-qty-bg)!important;
  color:var(--tn-qty-text)!important;
}

/* Primary commerce buttons in cards and product detail */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product button.button,
.woocommerce ul.products li.product .tn-archive-add,
.single-product .single_add_to_cart_button,
.woocommerce a.checkout-button,
.woocommerce button[name="update_cart"],
.woocommerce button[name="apply_coupon"] {
  background:var(--tn-ui-bg)!important;
  color:var(--tn-ui-text)!important;
  border-color:var(--tn-ui-bg)!important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product button.button:hover,
.woocommerce ul.products li.product .tn-archive-add:hover,
.single-product .single_add_to_cart_button:hover,
.woocommerce a.checkout-button:hover,
.woocommerce button[name="update_cart"]:hover,
.woocommerce button[name="apply_coupon"]:hover {
  background:var(--tn-ui-hover)!important;
  border-color:var(--tn-ui-hover)!important;
}

/* Rapid-order notifications: both current and legacy toast markup */
.tn-cart-toast-v1528,
#tn-cart-toast-v157,
.tn-cart-toast-v157 {
  background:var(--tn-toast-bg)!important;
  color:var(--tn-toast-text)!important;
}
.tn-cart-toast-v1528 *,
#tn-cart-toast-v157 *,
.tn-cart-toast-v157 * {
  color:var(--tn-toast-text)!important;
}
.tn-cart-toast-v1528 a,
#tn-cart-toast-v157 a,
.tn-cart-toast-v157 a {
  color:var(--tn-toast-text)!important;
}

/* Keep disabled/working states readable with chosen colors. */
.woocommerce ul.products li.product .tn-archive-add.tn-adding-v1528,
.woocommerce ul.products li.product .tn-archive-add.tn-added-v1528,
.single-product .single_add_to_cart_button.tn-adding-v157,
.single-product .single_add_to_cart_button.tn-added-v157 {
  background:var(--tn-ui-bg)!important;
  color:var(--tn-ui-text)!important;
}

/* ==========================================================
   v1.6.4 — HEADER LANGUAGE SELECTOR
   Uses GTranslate's own shortcode/translation engine, but makes
   the selector a native part of the Curiositeas header.
   ========================================================== */
.tn-language-v164{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  font-family:"DM Sans",Arial,sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:inherit;
}
.tn-language-globe-v164{
  width:15px;height:15px;border:1.4px solid currentColor;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:0;position:relative;flex:0 0 15px;
}
.tn-language-globe-v164:before,
.tn-language-globe-v164:after{content:"";position:absolute;left:2px;right:2px;border-top:1px solid currentColor}
.tn-language-globe-v164:before{top:4px}.tn-language-globe-v164:after{bottom:4px}
.tn-language-v164 .gtranslate_wrapper{display:flex!important;align-items:center!important}
.tn-language-v164 select,
.tn-language-v164 .gt_selector{
  appearance:none;-webkit-appearance:none;
  border:0!important;background:transparent!important;box-shadow:none!important;
  padding:4px 15px 4px 0!important;margin:0!important;
  min-width:42px!important;width:auto!important;height:auto!important;
  font:700 11px/1.2 "DM Sans",Arial,sans-serif!important;
  letter-spacing:.03em!important;text-transform:uppercase!important;color:inherit!important;
  cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%)!important;
  background-position:calc(100% - 7px) 50%,calc(100% - 3px) 50%!important;
  background-size:4px 4px,4px 4px!important;background-repeat:no-repeat!important;
}
.tn-language-v164 img,
.tn-language-v164 .gt-current-lang img{display:none!important}
.tn-language-v164 a{color:inherit!important;text-decoration:none!important}
.tn-language-placeholder-v164{padding-right:2px}
@media(max-width:900px){
  .tn-language-v164{order:-1}
  .tn-language-globe-v164{display:none}
  .tn-language-v164 select,.tn-language-v164 .gt_selector{font-size:10px!important;min-width:38px!important}
}

/* v1.6.5 — GTranslate compatibility fix */
.tn-language-v164 .switcher,
.tn-language-v164 .switcher .selected,
.tn-language-v164 .switcher .option{
  width:auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  font-family:"DM Sans",Arial,sans-serif!important;
}
.tn-language-v164 .switcher .selected a{
  width:auto!important;
  padding:6px 18px 6px 0!important;
  border:0!important;
  background-color:transparent!important;
  font-size:11px!important;
  font-weight:700!important;
}
.tn-language-v164 .switcher .option{
  position:absolute!important;
  z-index:99999!important;
  background:#fff!important;
  min-width:150px!important;
  padding:6px!important;
  box-shadow:0 8px 30px rgba(0,0,0,.12)!important;
}
.tn-language-v164 .switcher .option a{
  display:block!important;
  padding:7px 10px!important;
  white-space:nowrap!important;
  font-size:11px!important;
}

/* v1.6.6 — Native Header Language widget */
.tn-language-v164 .tn-header-language-widget-v166,
.tn-language-v164 .widget{margin:0!important;padding:0!important}
.tn-language-v164 .widget-title{display:none!important}
.tn-language-v164 .tn-header-language-widget-v166 > *{margin:0!important}
.tn-language-v164 .gt_float_switcher,
.tn-language-v164 .gt_switcher,
.tn-language-v164 .switcher{
  box-shadow:none!important;border:0!important;background:transparent!important;
  font-family:"DM Sans",Arial,sans-serif!important
}

/* ==========================================================
   v1.6.7 — DARK EDITORIAL FOOTER
   ========================================================== */
:root{
 --tn-footer-bg:#3a1725;--tn-footer-text:#fff;--tn-footer-heading:#e99bb2;
 --tn-footer-hover:#e99bb2;--tn-footer-bottom-bg:#241018;--tn-footer-bottom-text:#fff
}
.tn-footer-v167{margin-top:80px;font-family:"DM Sans",Arial,sans-serif}
.tn-footer-main-v167{background:var(--tn-footer-bg);color:var(--tn-footer-text)}
.tn-footer-inner-v167{max-width:1440px;margin:0 auto;padding:64px 48px 72px}
.tn-footer-grid-v167{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:48px}
.tn-footer-widget-v167{margin:0 0 28px;padding:0;background:transparent!important;border:0!important}
.tn-footer-title-v167{
 margin:0 0 22px;color:var(--tn-footer-heading)!important;
 font-family:"DM Sans",Arial,sans-serif!important;font-size:12px!important;
 line-height:1.2!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase
}
.tn-footer-v167,.tn-footer-v167 p,.tn-footer-v167 li,.tn-footer-v167 a{
 color:var(--tn-footer-text);font-size:15px;line-height:1.55
}
.tn-footer-v167 ul{list-style:none;margin:0;padding:0}
.tn-footer-v167 li{margin:0 0 12px;padding:0}
.tn-footer-v167 a{text-decoration:none!important;transition:opacity .18s ease,color .18s ease}
.tn-footer-v167 a:hover{color:var(--tn-footer-hover)!important}
.tn-footer-v167 img{max-width:190px;height:auto}
.tn-footer-bottom-v167{background:var(--tn-footer-bottom-bg);color:var(--tn-footer-bottom-text)}
.tn-footer-bottom-inner-v167{
 max-width:1440px;margin:0 auto;min-height:52px;padding:12px 48px;
 display:flex;align-items:center;justify-content:space-between;gap:28px
}
.tn-footer-copyright-v167,.tn-footer-bottom-v167 a{
 color:var(--tn-footer-bottom-text)!important;font-size:11px;line-height:1.3;
 letter-spacing:.04em;text-transform:uppercase
}
.tn-footer-bottom-widget-v167 .widget{margin:0;padding:0}
.tn-footer-bottom-widget-v167 img{max-height:24px;width:auto}
@media(max-width:980px){
 .tn-footer-grid-v167{grid-template-columns:repeat(2,1fr);gap:38px 30px}
 .tn-footer-column-1{grid-column:1/-1}
}
@media(max-width:620px){
 .tn-footer-v167{margin-top:56px}
 .tn-footer-inner-v167{padding:44px 24px 48px}
 .tn-footer-grid-v167{grid-template-columns:1fr;gap:18px}
 .tn-footer-column-1{grid-column:auto}
 .tn-footer-bottom-inner-v167{padding:16px 24px;min-height:0;align-items:flex-start;flex-direction:column}
}

/* v1.6.8 — three-column footer */
.tn-footer-grid-v167{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(40px,7vw,110px)!important;
}
@media(max-width:760px){
  .tn-footer-grid-v167{grid-template-columns:1fr!important;gap:24px!important}
  .tn-footer-column-1{grid-column:auto!important}
}

/* ==========================================================
   v1.6.9 — TRUE SEAMLESS TICKER
   Two identical measured groups; animation ends exactly where
   the second group begins, so there is no empty gap/reset.
   ========================================================== */
.tn-ticker-v1524,
.tn-ticker,
.announcement-marquee,
.tn-announcement{overflow:hidden!important}
.tn-ticker-v1524 .tn-ticker-track-v1524,
.tn-ticker .tn-ticker-track,
.announcement-marquee .marquee-track,
.tn-announcement .tn-announcement-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  width:max-content!important;
  will-change:transform;
  animation:tnSeamlessMarquee169 48s linear infinite!important;
}
.tn-marquee-set-v169{
  display:inline-flex!important;
  flex:none!important;
  align-items:center;
  white-space:nowrap!important;
}
.tn-marquee-piece-v169{display:inline-flex!important;flex:none!important;align-items:center}
@keyframes tnSeamlessMarquee169{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-1 * var(--tn-marquee-distance)),0,0)}
}
@media(prefers-reduced-motion:reduce){
 .tn-ticker-v1524 .tn-ticker-track-v1524,
 .tn-ticker .tn-ticker-track,
 .announcement-marquee .marquee-track,
 .tn-announcement .tn-announcement-track{animation:none!important}
}

/* v1.7.0 — original footer widget-area compatibility */
.tn-footer-grid-v167 > .tn-footer-column-v167 > .widget,
.tn-footer-grid-v167 > .tn-footer-column-v167 > section{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.tn-footer-grid-v167 .widget{margin:0 0 28px!important;padding:0!important;background:transparent!important;border:0!important}
.tn-footer-grid-v167 .widget-title{
  margin:0 0 22px!important;
  color:var(--tn-footer-heading)!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:12px!important;line-height:1.2!important;font-weight:700!important;
  letter-spacing:.08em!important;text-transform:uppercase!important;
}


/* ==========================================================
   v1.7.2 — FOOTER TOP GAP FIX
   Content should connect directly to the dark footer.
   Keep the separate pink copyright bar untouched.
   ========================================================== */
.tn-footer-v167{
  margin-top:0!important;
}
body > .tn-footer-v167,
#page > .tn-footer-v167,
.site > .tn-footer-v167{
  margin-top:0!important;
}
.tn-footer-v167::before{
  display:none!important;
  content:none!important;
}
.tn-footer-main-v167{
  margin-top:0!important;
  border-top:0!important;
}

/* Prevent empty legacy footer spacing immediately before the new footer. */
.site-content + .tn-footer-v167,
#main + .tn-footer-v167,
main + .tn-footer-v167{
  margin-top:0!important;
}

@media(max-width:620px){
  .tn-footer-v167{
    margin-top:0!important;
  }
}

/* ==========================================================
   v1.7.3 — STRUCTURAL FOOTER + ACTUAL SERVICE TICKER FIX
   ========================================================== */

/* Header opens <main>; footer now closes it before <footer>.
   This prevents the page/main background from becoming a band
   inside/above the footer. */
main{margin-bottom:0!important;padding-bottom:0}
main > *:last-child{margin-bottom:0}
.tn-footer-v167{margin:0!important}

/* Actual ticker classes used by header.php. */
.service{
  overflow:hidden!important;
  white-space:nowrap!important;
  background:var(--tn-ticker-bg,#252426)!important;
  color:var(--tn-ticker-text,#fff)!important;
}
.service-track{
  display:flex!important;
  width:max-content!important;
  padding:8px 0!important;
  animation:tn-service-seamless-v173 var(--tn-ticker-speed,70s) linear infinite!important;
  will-change:transform;
}
.service-group{
  display:flex!important;
  flex:none!important;
  align-items:center!important;
  white-space:nowrap!important;
}
.service-group > span{
  display:block!important;
  flex:none!important;
  padding:0 28px!important;
}
.service-separator{color:inherit!important;font:inherit!important;font-weight:inherit!important}
@keyframes tn-service-seamless-v173{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@media(prefers-reduced-motion:reduce){
  .service-track{animation:none!important}
}

/* v1.8.0 — Gutenberg system refinements */
:where(.wp-site-blocks,.entry-content) .has-bordeaux-background-color a:not(.wp-block-button__link){color:inherit}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent!important;color:var(--tn-ui-bg,#222)!important;border:1px solid currentColor!important}
.is-style-tn-editorial-split.has-media-on-the-right .wp-block-media-text__content{order:1}
.is-style-tn-editorial-split.has-media-on-the-right .wp-block-media-text__media{order:2}

/* ==========================================================
   v1.8.1 — COLLECTION PAGE + GUTENBERG PRODUCT GRID
   ========================================================== */
.tn-collection-page-v181{padding-top:var(--wp--preset--spacing--xl);padding-bottom:var(--wp--preset--spacing--l)}
.tn-square-intro-v181{margin-top:0!important;margin-bottom:var(--wp--preset--spacing--xxl)!important}
.tn-square-intro-v181 .wp-block-media-text__media{aspect-ratio:1/1;overflow:hidden;background:var(--wp--preset--color--mist)}
.tn-square-intro-v181 .wp-block-media-text__media img{width:100%!important;height:100%!important;object-fit:cover!important}
.tn-square-intro-v181 .wp-block-media-text__content{padding:clamp(32px,6vw,88px)!important}

.tn-gutenberg-products-v181{margin-top:var(--wp--preset--spacing--xl)!important;margin-bottom:var(--wp--preset--spacing--xxl)!important}
.tn-gutenberg-products-v181 ul.products{
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:48px 24px!important;margin:38px 0 0!important;padding:0!important;width:100%!important
}
.tn-gutenberg-products-v181 ul.products:before,
.tn-gutenberg-products-v181 ul.products:after{display:none!important}
.tn-gutenberg-products-v181 ul.products li.product{
 float:none!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important;
 display:flex!important;flex-direction:column!important;position:relative!important
}
.tn-gutenberg-products-v181 ul.products li.product > a:first-child{display:block!important;width:100%!important}
.tn-gutenberg-products-v181 ul.products li.product img{
 width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:contain!important;
 display:block!important;margin:0 0 20px!important;background:rgba(255,255,255,.22)
}
.tn-gutenberg-products-v181 ul.products li.product h2,
.tn-gutenberg-products-v181 ul.products li.product .woocommerce-loop-product__title{
 font-family:"DM Serif Display",Georgia,serif!important;font-size:20px!important;line-height:1.12!important;
 min-height:2.35em!important;margin:0 0 12px!important;overflow-wrap:anywhere!important
}
.tn-gutenberg-products-v181 ul.products li.product .price{
 display:block!important;margin:0 0 18px!important;min-height:25px!important;font-size:16px!important
}
.tn-gutenberg-products-v181 ul.products li.product form.cart,
.tn-gutenberg-products-v181 ul.products li.product .tn-archive-cart,
.tn-gutenberg-products-v181 ul.products li.product .tn-archive-form{
 margin-top:auto!important;width:100%!important;min-width:0!important
}
.tn-gutenberg-products-v181 ul.products li.product .tn-archive-cart-row,
.tn-gutenberg-products-v181 ul.products li.product .tn-archive-cart-controls{
 width:100%!important;min-width:0!important
}
.tn-gutenberg-products-v181 ul.products li.product .button,
.tn-gutenberg-products-v181 ul.products li.product button{
 min-width:0!important;white-space:nowrap!important
}
.tn-related-products-v181{padding-top:var(--wp--preset--spacing--l)}
@media(max-width:1024px){
 .tn-gutenberg-products-v181 ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
 .tn-square-intro-v181{grid-template-columns:1fr!important}
 .tn-gutenberg-products-v181 ul.products{grid-template-columns:1fr!important;gap:40px!important}
 .tn-gutenberg-products-v181 ul.products li.product h2,
 .tn-gutenberg-products-v181 ul.products li.product .woocommerce-loop-product__title{min-height:0!important}
}

/* ==========================================================
   v1.8.2 — PRODUCT BLOCK REBUILD + B2B HOMEPAGE
   ========================================================== */

/* Pattern instructions belong in the editor, not on the live page. */
body:not(.wp-admin) .tn-pattern-helper-v182{display:none!important}

/* Gutenberg product cards: isolate every card so controls can never run into neighbours. */
.tn-gutenberg-products-v181 ul.products{
  align-items:stretch!important;
  column-gap:28px!important;
  row-gap:56px!important;
}
.tn-gutenberg-products-v181 ul.products li.product{
  box-sizing:border-box!important;
  overflow:visible!important;
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
.tn-gutenberg-products-v181 ul.products li.product .woocommerce-loop-product__link{
  min-width:0!important;
}
.tn-gutenberg-products-v181 ul.products li.product h2,
.tn-gutenberg-products-v181 ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--tn-font-sans)!important;
  font-size:17px!important;
  line-height:1.18!important;
  min-height:2.45em!important;
  margin:0 0 10px!important;
}
.tn-gutenberg-products-v181 ul.products li.product .stock,
.tn-gutenberg-products-v181 ul.products li.product .tn-preorder-note,
.tn-gutenberg-products-v181 ul.products li.product p:not(.price){
  font-size:12px!important;
  line-height:1.45!important;
  margin:0 0 10px!important;
}
.tn-gutenberg-products-v181 .tn-archive-fast-order{
  width:100%!important;
  min-width:0!important;
  margin-top:auto!important;
  overflow:hidden!important;
}
.tn-gutenberg-products-v181 .tn-archive-order-row{
  display:grid!important;
  grid-template-columns:38px 48px 38px minmax(0,1fr)!important;
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
}
.tn-gutenberg-products-v181 .tn-archive-qbtn,
.tn-gutenberg-products-v181 .tn-archive-order-row .qty,
.tn-gutenberg-products-v181 .tn-archive-add{
  box-sizing:border-box!important;
  min-width:0!important;
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
}
.tn-gutenberg-products-v181 .tn-archive-qbtn{font-size:17px!important}
.tn-gutenberg-products-v181 .tn-archive-add{
  padding:0 6px!important;
  font-size:9px!important;
  line-height:1.05!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media(max-width:1180px) and (min-width:1025px){
 .tn-gutenberg-products-v181 .tn-archive-order-row{grid-template-columns:34px 44px 34px minmax(0,1fr)!important}
 .tn-gutenberg-products-v181 .tn-archive-add{font-size:8px!important;padding:0 4px!important}
}

/* B2B homepage */
.tn-home-hero-v182{padding-top:clamp(80px,10vw,150px)!important;padding-bottom:clamp(70px,9vw,130px)!important}
.tn-home-hero-v182 h1{max-width:1000px;margin-left:auto!important;margin-right:auto!important}
.tn-home-hero-v182 .has-lead-font-size{max-width:720px;margin-left:auto!important;margin-right:auto!important}
.tn-home-meta-v182{margin-top:28px!important;font-size:11px!important;font-weight:700!important;letter-spacing:.08em!important}
.tn-home-routes-v182{padding-top:70px!important;padding-bottom:90px!important;border-top:1px solid rgba(34,34,34,.18)}
.tn-home-routes-v182 .wp-block-column{border-top:1px solid currentColor;padding-top:22px}
.tn-home-routes-v182 h3,.tn-home-usps-v182 h3{font-family:var(--tn-font-sans)!important;font-size:18px!important}
.tn-home-story-v182{margin-bottom:120px!important}
.tn-home-story-v182 .wp-block-media-text__media{aspect-ratio:1/1;overflow:hidden;background:var(--wp--preset--color--mist)}
.tn-home-story-v182 .wp-block-media-text__media img{width:100%!important;height:100%!important;object-fit:cover!important}
.tn-home-story-v182 .wp-block-media-text__content{padding:clamp(35px,6vw,90px)!important}
.tn-home-collections-v182{margin-bottom:120px!important}
.tn-home-collections-v182 .wp-block-columns{margin-top:38px!important;gap:24px!important}
.tn-home-collections-v182 .wp-block-column h3{font-family:var(--tn-font-sans)!important;font-size:16px!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.tn-home-campaign-v182{margin-top:110px!important;margin-bottom:100px!important;background:var(--wp--preset--color--soft-pink)}
.tn-home-usps-v182{padding-bottom:100px!important;gap:36px!important}
.tn-home-usps-v182 .wp-block-column{border-top:1px solid currentColor;padding-top:20px}
.tn-home-instagram-v182{padding-bottom:100px!important}
@media(max-width:781px){
 .tn-home-routes-v182,.tn-home-usps-v182{gap:38px!important}
 .tn-home-story-v182{margin-bottom:80px!important}
 .tn-home-collections-v182{margin-bottom:80px!important}
}

/* ==========================================================
   v1.8.3 — WIDER EDITORIAL LAYOUT + BLOCK VALIDATION
   ========================================================== */

/* The theme's legacy content wrappers were still constraining Gutenberg.
   Wide patterns now use the actual viewport much more effectively. */
.entry-content > .alignwide,
.wp-block-post-content > .alignwide,
main .alignwide{
  width:min(1440px,calc(100vw - 64px))!important;
  max-width:min(1440px,calc(100vw - 64px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.entry-content > .alignfull,
.wp-block-post-content > .alignfull,
main .alignfull{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}

/* Product section itself should use the full wide canvas. */
.tn-gutenberg-products-v181{
  width:min(1440px,calc(100vw - 64px))!important;
  max-width:min(1440px,calc(100vw - 64px))!important;
}
.tn-gutenberg-products-v181 ul.products{
  width:100%!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:64px 32px!important;
}
.tn-gutenberg-products-v181 ul.products li.product h2,
.tn-gutenberg-products-v181 ul.products li.product .woocommerce-loop-product__title{
  min-height:0!important;
}

/* More room for the add-to-cart label than v1.8.2. */
.tn-gutenberg-products-v181 .tn-archive-order-row{
  grid-template-columns:44px 56px 44px minmax(110px,1fr)!important;
}
.tn-gutenberg-products-v181 .tn-archive-add{
  font-size:10px!important;
  padding:0 10px!important;
  text-overflow:clip!important;
}

/* Homepage wide sections */
.tn-home-routes-v182,
.tn-home-story-v182,
.tn-home-collections-v182,
.tn-home-usps-v182,
.tn-home-instagram-v182{
  width:min(1440px,calc(100vw - 64px))!important;
  max-width:min(1440px,calc(100vw - 64px))!important;
  margin-left:auto!important;margin-right:auto!important;
}
.tn-home-routes-v182{gap:48px!important}
.tn-home-usps-v182{gap:48px!important}

@media(max-width:1024px){
 .entry-content > .alignwide,.wp-block-post-content > .alignwide,main .alignwide,
 .tn-gutenberg-products-v181,.tn-home-routes-v182,.tn-home-story-v182,
 .tn-home-collections-v182,.tn-home-usps-v182,.tn-home-instagram-v182{
   width:calc(100vw - 40px)!important;max-width:calc(100vw - 40px)!important
 }
 .tn-gutenberg-products-v181 ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
 .entry-content > .alignwide,.wp-block-post-content > .alignwide,main .alignwide,
 .tn-gutenberg-products-v181,.tn-home-routes-v182,.tn-home-story-v182,
 .tn-home-collections-v182,.tn-home-usps-v182,.tn-home-instagram-v182{
   width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px)!important
 }
 .tn-gutenberg-products-v181 ul.products{grid-template-columns:1fr!important}
}

/* ==========================================================
   v1.8.4 — TRUE FULL-WIDTH PRODUCT GRID
   The constrained Group layout was still applying contentSize
   to the shortcode and WooCommerce wrapper inside the wide group.
   ========================================================== */

/* Break the product component out of Gutenberg's constrained inner width. */
.tn-gutenberg-products-v181.wp-block-group{
  box-sizing:border-box!important;
  width:min(1560px,calc(100vw - 80px))!important;
  max-width:min(1560px,calc(100vw - 80px))!important;
  padding-left:0!important;
  padding-right:0!important;
}
.tn-gutenberg-products-v181.wp-block-group > *,
.tn-gutenberg-products-v181 .wp-block-shortcode,
.tn-gutenberg-products-v181 .woocommerce,
.tn-gutenberg-products-v181 .woocommerce.columns-4{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* WooCommerce's legacy column widths are completely neutralised here. */
.tn-gutenberg-products-v181 ul.products,
.tn-gutenberg-products-v181 ul.products.columns-4{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:64px 36px!important;
  width:100%!important;
  max-width:none!important;
}
.tn-gutenberg-products-v181 ul.products li.product,
.tn-gutenberg-products-v181 ul.products.columns-4 li.product,
.woocommerce .tn-gutenberg-products-v181 ul.products li.product{
  box-sizing:border-box!important;
  float:none!important;
  clear:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}

/* Cards get a generous image and a full-width ordering bar. */
.tn-gutenberg-products-v181 ul.products li.product img{
  width:100%!important;
  max-width:none!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
}
.tn-gutenberg-products-v181 .tn-archive-fast-order,
.tn-gutenberg-products-v181 form.cart{
  width:100%!important;
  max-width:none!important;
}
.tn-gutenberg-products-v181 .tn-archive-order-row{
  grid-template-columns:46px 62px 46px minmax(130px,1fr)!important;
}
.tn-gutenberg-products-v181 .tn-archive-add{
  white-space:nowrap!important;
  overflow:visible!important;
  font-size:10px!important;
}

/* Heading/helper align to the same full product canvas. */
.tn-gutenberg-products-v181 > h2,
.tn-gutenberg-products-v181 > .wp-block-heading,
.tn-gutenberg-products-v181 > .is-style-tn-eyebrow,
.tn-gutenberg-products-v181 > .tn-pattern-helper-v182{
  width:100%!important;
  max-width:none!important;
}

@media(max-width:1200px){
 .tn-gutenberg-products-v181.wp-block-group{
   width:calc(100vw - 48px)!important;max-width:calc(100vw - 48px)!important
 }
 .tn-gutenberg-products-v181 ul.products,
 .tn-gutenberg-products-v181 ul.products.columns-4{
   grid-template-columns:repeat(2,minmax(0,1fr))!important
 }
}
@media(max-width:680px){
 .tn-gutenberg-products-v181.wp-block-group{
   width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px)!important
 }
 .tn-gutenberg-products-v181 ul.products,
 .tn-gutenberg-products-v181 ul.products.columns-4{
   grid-template-columns:1fr!important
 }
}

/* ==========================================================
   v1.8.5 — GUTENBERG PRODUCT CARD ISOLATION
   Reset legacy WooCommerce/theme column + flex rules inside
   Curiositeas Gutenberg product sections only.
   ========================================================== */

.tn-gutenberg-products-v181 .woocommerce.columns-4{
    display:block!important;
    width:100%!important;
    max-width:none!important;
}

.tn-gutenberg-products-v181 .woocommerce ul.products.columns-4,
.tn-gutenberg-products-v181 .woocommerce ul.products{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    column-gap:40px!important;
    row-gap:64px!important;
    width:100%!important;
    max-width:none!important;
    margin:36px 0 0!important;
    padding:0!important;
    align-items:stretch!important;
}

.tn-gutenberg-products-v181 .woocommerce ul.products.columns-4::before,
.tn-gutenberg-products-v181 .woocommerce ul.products.columns-4::after,
.tn-gutenberg-products-v181 .woocommerce ul.products::before,
.tn-gutenberg-products-v181 .woocommerce ul.products::after{
    display:none!important;
    content:none!important;
}

.tn-gutenberg-products-v181 .woocommerce ul.products.columns-4 > li.product,
.tn-gutenberg-products-v181 .woocommerce ul.products > li.product{
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    flex:0 0 auto!important;
    float:none!important;
    clear:none!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    position:relative!important;
}

.tn-gutenberg-products-v181 .woocommerce ul.products > li.product > a.woocommerce-LoopProduct-link{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
}

.tn-gutenberg-products-v181 .woocommerce ul.products > li.product img{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    object-fit:contain!important;
    margin:0 0 22px!important;
}

.tn-gutenberg-products-v181 .woocommerce ul.products > li.product .woocommerce-loop-product__title{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0 0 10px!important;
}

.tn-gutenberg-products-v181 .woocommerce ul.products > li.product .price{
    width:100%!important;
    margin:0 0 16px!important;
}

/* Push the rapid-order control to the bottom, but keep every control
   strictly inside its own product card. */
.tn-gutenberg-products-v181 .woocommerce ul.products > li.product form.cart,
.tn-gutenberg-products-v181 .woocommerce ul.products > li.product .tn-archive-fast-order,
.tn-gutenberg-products-v181 .woocommerce ul.products > li.product .tn-archive-form{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-top:auto!important;
    overflow:hidden!important;
}

.tn-gutenberg-products-v181 .tn-archive-order-row,
.tn-gutenberg-products-v181 .tn-archive-cart-row,
.tn-gutenberg-products-v181 .tn-archive-cart-controls{
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:44px 56px 44px minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    overflow:hidden!important;
}

.tn-gutenberg-products-v181 .tn-archive-order-row > *,
.tn-gutenberg-products-v181 .tn-archive-cart-row > *,
.tn-gutenberg-products-v181 .tn-archive-cart-controls > *{
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
}

.tn-gutenberg-products-v181 .tn-archive-add,
.tn-gutenberg-products-v181 .add_to_cart_button,
.tn-gutenberg-products-v181 .ajax_add_to_cart{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    padding-left:8px!important;
    padding-right:8px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

/* Do not show pattern editing instructions on the storefront. */
body:not(.wp-admin) .tn-pattern-helper-v182{
    display:none!important;
}

@media (max-width:1100px){
    .tn-gutenberg-products-v181 .woocommerce ul.products.columns-4,
    .tn-gutenberg-products-v181 .woocommerce ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media (max-width:620px){
    .tn-gutenberg-products-v181 .woocommerce ul.products.columns-4,
    .tn-gutenberg-products-v181 .woocommerce ul.products{
        grid-template-columns:1fr!important;
        row-gap:44px!important;
    }
}

/* v1.8.6 — SIMPLE EDITORIAL ABOUT PAGE */
.tn-about-v186{padding-top:clamp(70px,9vw,140px)!important;padding-bottom:clamp(45px,6vw,90px)!important}
.tn-about-v186 h1{max-width:950px!important}
.tn-about-lead-v186{max-width:760px!important}
.tn-about-hero-image-v186{margin-bottom:clamp(70px,9vw,130px)!important}
.tn-about-hero-image-v186 img{width:100%!important}
.tn-about-story-v186{margin-bottom:clamp(80px,10vw,150px)!important}
.tn-about-story-v186 .wp-block-media-text__media{aspect-ratio:1/1;overflow:hidden;background:#f4eeee}
.tn-about-story-v186 .wp-block-media-text__media img{width:100%!important;height:100%!important;object-fit:cover!important}
.tn-about-story-v186 .wp-block-media-text__content{padding:clamp(35px,6vw,90px)!important}
.tn-about-statement-v186{padding:clamp(90px,12vw,180px) 32px!important}
.tn-about-statement-v186 h2{max-width:1100px!important;margin:auto!important}
.tn-about-values-v186{padding-top:90px!important;padding-bottom:110px!important;gap:50px!important}
.tn-about-values-v186 .wp-block-column{border-top:1px solid currentColor;padding-top:20px}
.tn-about-values-v186 h3{font-family:var(--tn-font-sans)!important;font-size:20px!important}
.tn-about-cta-v186{border-top:1px solid currentColor;padding-top:55px!important;padding-bottom:120px!important}
.tn-about-cta-v186 h2{max-width:750px!important}

/* v1.8.7 — ABOUT PAGE BASED ON EXISTING CURIOSITEAS STRUCTURE */
.tn-about-original-v187{padding-top:70px!important;padding-bottom:120px!important}
.tn-about-intro-v187{gap:70px!important;align-items:flex-start!important;margin-bottom:90px!important}
.tn-about-hello-v187{font-family:var(--tn-font-sans)!important;font-size:clamp(45px,5vw,82px)!important;line-height:.84!important;letter-spacing:-.055em!important;margin:0!important}
.tn-about-intro-v187 p,.tn-about-planet-v187 p,.tn-about-bottom-v187 p{font-size:16px!important;line-height:1.45!important}
.tn-lined-heading-v187{font-size:28px!important;display:flex!important;align-items:center!important;gap:14px!important;margin-bottom:34px!important;white-space:nowrap!important}
.tn-lined-heading-v187:before,.tn-lined-heading-v187:after{content:""!important;height:1px!important;background:currentColor!important;flex:1 1 auto!important}
.tn-about-signoff-v187{font-family:"DM Serif Display",Georgia,serif!important;font-size:24px!important;font-style:italic!important;margin-top:28px!important}
.tn-about-planet-v187{gap:70px!important;align-items:center!important;margin-bottom:100px!important}
.tn-about-photo-collage-v187{position:relative!important;min-height:590px!important}
.tn-about-photo-collage-v187 figure{position:absolute!important;margin:0!important;background:#fff!important;padding:8px!important;box-sizing:border-box!important}
.tn-about-photo-collage-v187 figure img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;background:#f4eeee}
.tn-about-photo-one-v187{width:58%!important;aspect-ratio:3/4!important;right:5%!important;top:0!important}
.tn-about-photo-two-v187{width:50%!important;aspect-ratio:3/4!important;left:5%!important;bottom:0!important;z-index:2!important}
.tn-about-bottom-v187{gap:70px!important}
.tn-about-bottom-v187 .wp-block-column{min-width:0!important}
@media(max-width:900px){
 .tn-about-intro-v187,.tn-about-planet-v187,.tn-about-bottom-v187{gap:45px!important}
 .tn-about-intro-v187{flex-wrap:wrap!important}
 .tn-about-intro-v187>.wp-block-column{flex-basis:100%!important}
 .tn-about-photo-collage-v187{min-height:480px!important}
}
@media(max-width:781px){
 .tn-lined-heading-v187{font-size:24px!important;white-space:normal!important}
 .tn-about-planet-v187,.tn-about-bottom-v187{display:block!important}
 .tn-about-planet-v187>.wp-block-column,.tn-about-bottom-v187>.wp-block-column{margin-bottom:55px!important}
 .tn-about-photo-collage-v187{min-height:520px!important}
}

/* ==========================================================
   v1.8.8 — ABOUT: WIDE EDITORIAL LAYOUT
   Keep the original column structure, but use the same generous
   canvas as the shop/product patterns.
   ========================================================== */
.tn-about-original-v187.wp-block-group{
  box-sizing:border-box!important;
  width:min(1560px,calc(100vw - 80px))!important;
  max-width:min(1560px,calc(100vw - 80px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.tn-about-original-v187.wp-block-group > *{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Intro: deliberately generous 34/66 split. */
.tn-about-intro-v187{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:clamp(60px,7vw,120px)!important;
  width:100%!important;
}
.tn-about-intro-v187 > .wp-block-column:first-child{flex:0 0 34%!important}
.tn-about-intro-v187 > .wp-block-column:last-child{flex:1 1 66%!important;min-width:0!important}

/* Hello becomes part of the same DM Serif editorial language. */
.tn-about-hello-v187{
  font-family:"DM Serif Display",Georgia,serif!important;
  font-weight:400!important;
  font-size:clamp(54px,5.8vw,96px)!important;
  line-height:.88!important;
  letter-spacing:-.035em!important;
}

/* Sustainability row uses the full canvas too. */
.tn-about-planet-v187{
  width:100%!important;
  gap:clamp(70px,8vw,130px)!important;
}
.tn-about-planet-v187 > .wp-block-column:first-child{flex:0 0 52%!important}
.tn-about-planet-v187 > .wp-block-column:last-child{flex:1 1 48%!important;min-width:0!important}

/* Bottom two-column story stays 50/50 but with breathing room. */
.tn-about-bottom-v187{
  width:100%!important;
  gap:clamp(60px,7vw,110px)!important;
}
.tn-about-bottom-v187 > .wp-block-column{
  flex:1 1 0!important;
  min-width:0!important;
}

@media(max-width:1100px){
 .tn-about-original-v187.wp-block-group{
   width:calc(100vw - 48px)!important;
   max-width:calc(100vw - 48px)!important;
 }
 .tn-about-intro-v187{gap:50px!important}
 .tn-about-hello-v187{font-size:clamp(48px,7vw,74px)!important}
}
@media(max-width:781px){
 .tn-about-original-v187.wp-block-group{
   width:calc(100vw - 28px)!important;
   max-width:calc(100vw - 28px)!important;
 }
 .tn-about-intro-v187{display:block!important}
 .tn-about-intro-v187 > .wp-block-column{width:100%!important;max-width:none!important}
 .tn-about-intro-v187 > .wp-block-column:first-child{margin-bottom:55px!important}
 .tn-about-hello-v187{font-size:clamp(48px,14vw,72px)!important}
}

/* ==========================================================
   v1.8.9 — REUSABLE LINED HEADING
   Gutenberg Heading > Styles > Curiositeas Lined
   ========================================================== */
.wp-block-heading.is-style-tn-lined{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  width:100%!important;
}
.wp-block-heading.is-style-tn-lined::before,
.wp-block-heading.is-style-tn-lined::after{
  content:""!important;
  height:1px!important;
  background:currentColor!important;
  flex:1 1 40px!important;
  min-width:28px!important;
}
.wp-block-heading.is-style-tn-lined.has-text-align-left::before{flex-grow:.25!important}
.wp-block-heading.is-style-tn-lined.has-text-align-right::after{flex-grow:.25!important}

/* Global grid rule: verbose production/backorder prose never belongs on cards.
   Product detail pages retain the full explanation. */
ul.products li.product .tn-preorder-note,
ul.products li.product .tn-preorder-message,
ul.products li.product .preorder-message,
ul.products li.product .pre-order-message,
ul.products li.product .wc-pre-orders-message,
ul.products li.product .backorder-notification,
ul.products li.product .stock.out-of-stock{
  display:none!important;
}

/* Rapid-order grids use the compact toast, never Woo's large success banner. */
html.tn-has-rapid-order-grid-v1529 .woocommerce-notices-wrapper .woocommerce-message{
  display:none!important;
}

/* Mini cart is a fully opaque layer above BOTH header rows/navigation. */
header .tn-header-cart-wrap-v1525{
  z-index:2147483000!important;
}
header .tn-header-cart-wrap-v1525 > .tn-mini-cart-v142{
  z-index:2147483640!important;
  background:#f6b0b8!important;
  opacity:0!important;
  isolation:isolate!important;
  backdrop-filter:none!important;
}
header .tn-header-cart-wrap-v1525:hover > .tn-mini-cart-v142,
header .tn-header-cart-wrap-v1525:focus-within > .tn-mini-cart-v142,
header .tn-header-cart-wrap-v1525.tn-cart-open-v142 > .tn-mini-cart-v142{
  opacity:1!important;
}
header .tn-mini-cart-v142,
header .tn-mini-cart-v142 .tn-mini-cart-head-v142,
header .tn-mini-cart-v142 .tn-mini-cart-items-v142,
header .tn-mini-cart-v142 .tn-mini-cart-foot-v142,
header .tn-mini-cart-v142 .tn-mini-cart-item-v142{
  background:#f6b0b8!important;
}

/* ==========================================================
   v1.9.0 — NATIVE GUTENBERG SERVICE INFO + PARALLAX
   ========================================================== */
.wp-block-group.is-style-tn-info-card{
  border-top:1px solid currentColor!important;
  padding:24px 0 30px!important;
}
.wp-block-group.is-style-tn-info-card h3{
  margin-top:10px!important;margin-bottom:10px!important;
}
.tn-service-info-v190{gap:42px!important;margin-top:60px!important;margin-bottom:80px!important}

/* Core Cover supplies the image; theme supplies restrained parallax behavior. */
.wp-block-cover.is-style-tn-parallax{
  overflow:hidden!important;
  background-attachment:fixed!important;
  background-position:center!important;
  background-size:cover!important;
}
.wp-block-cover.is-style-tn-parallax .wp-block-cover__image-background{
  transform:scale(1.08)!important;
  min-height:112%!important;
}
.wp-block-cover.is-style-tn-parallax .wp-block-cover__inner-container{
  position:relative!important;z-index:2!important;
}
@media(max-width:900px),(prefers-reduced-motion:reduce){
 .wp-block-cover.is-style-tn-parallax{background-attachment:scroll!important}
 .wp-block-cover.is-style-tn-parallax .wp-block-cover__image-background{transform:none!important;min-height:100%!important}
}

/* Last-resort known wrappers: hidden in EVERY product grid, never on single product. */
ul.products li.product .stock.out-of-stock,
ul.products li.product p.stock.out-of-stock,
ul.products li.product .backorder_notification,
ul.products li.product .available-on-backorder,
ul.products li.product .tn-preorder-message,
ul.products li.product .tn-preorder-note,
ul.products li.product .preorder-message,
ul.products li.product .pre-order-message,
ul.products li.product .woocommerce-backorder-message{
 display:none!important;
}

/* ==========================================================
   v1.9.7 — SEMANTIC MEGA MENU LAYOUT
   ========================================================== */
@media(min-width:901px){
 body .tn-mega-parent-v191 > ul.sub-menu{
   width:100vw!important;min-width:100vw!important;max-width:none!important;
   left:0!important;right:auto!important;margin-left:calc(50% - 50vw)!important;
   padding:0!important;column-count:initial!important;
 }
 body .tn-mega-shell-v197{
   box-sizing:border-box!important;
   width:min(1560px,calc(100vw - 80px))!important;
   margin:0 auto!important;padding:34px 0 40px!important;
   display:grid!important;grid-template-columns:minmax(0,1fr) 320px!important;
   gap:70px!important;align-items:start!important;
 }
 body .tn-mega-columns-v197{
   display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
   gap:clamp(38px,4vw,72px)!important;width:100%!important;min-width:0!important;
 }
 body .tn-mega-lane-v197{min-width:0!important;width:100%!important}
 body .tn-mega-group-v197{margin:0 0 22px!important}
 body .tn-mega-title-v197{
   color:var(--tn-mega-heading-color,#fff)!important;
   font-family:var(--tn-font-sans,Arial,sans-serif)!important;
   font-size:11px!important;font-weight:800!important;line-height:1.2!important;
   letter-spacing:.09em!important;text-transform:uppercase!important;margin:0 0 10px!important;
 }
 body .tn-mega-links-v197,
 body .tn-mega-loose-v197{display:block!important;width:100%!important;min-width:0!important}
 body .tn-mega-links-v197>li,
 body .tn-mega-loose-v197>li{
   display:block!important;position:static!important;float:none!important;
   width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;
 }
 body .tn-mega-links-v197>li>a,
 body .tn-mega-loose-v197>li>a{
   display:block!important;width:100%!important;min-width:0!important;max-width:none!important;
   color:var(--tn-sub-color)!important;background:transparent!important;
   font-family:var(--tn-font-sans,Arial,sans-serif)!important;
   font-size:14px!important;font-weight:500!important;line-height:1.35!important;
   letter-spacing:0!important;text-transform:none!important;
   white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;
   padding:6px 0!important;margin:0!important;
 }
 body .tn-mega-links-v197>li>a:hover,
 body .tn-mega-loose-v197>li>a:hover{
   color:var(--tn-sub-hover-color)!important;background:transparent!important;
   text-decoration:underline!important;text-underline-offset:4px!important;
 }
 body .tn-mega-feature-v197{
   width:320px!important;min-width:320px!important;max-width:320px!important;
   position:static!important;float:none!important;
 }
 body .tn-mega-feature-v197>li{
   display:block!important;position:static!important;float:none!important;
   width:100%!important;margin:0!important;padding:0!important;
 }
 body .tn-mega-feature-v197 .tn-mega-feature-card-v191{display:block!important;width:100%!important;padding:0!important}
 body .tn-mega-feature-v197 .tn-mega-feature-image-v191{width:100%!important;aspect-ratio:16/8!important}
}
@media(max-width:900px){
 .tn-mega-shell-v197,.tn-mega-columns-v197{display:block!important}
 .tn-mega-lane-v197{display:block!important}
 .tn-mega-group-v197{margin-bottom:22px!important}
 .tn-mega-title-v197{color:var(--tn-mega-heading-color,#fff)!important;font-size:11px!important;font-weight:800!important;text-transform:uppercase!important}
}

/* ==========================================================
   v1.9.8 — PRIMARY NAV CART: icon + (quantity)
   ========================================================== */
@media(min-width:901px){
 .tn-menu-cart-v198{
   display:flex!important;
   align-items:center!important;
   margin-left:6px!important;
 }
 .tn-menu-cart-link-v198{
   display:inline-flex!important;
   align-items:center!important;
   gap:5px!important;
   padding-left:8px!important;
   padding-right:0!important;
   white-space:nowrap!important;
 }
 .tn-menu-cart-icon-v198{
   display:inline-flex!important;
   width:17px!important;
   height:17px!important;
   align-items:center!important;
   justify-content:center!important;
 }
 .tn-menu-cart-icon-v198 svg{
   display:block!important;
   width:17px!important;
   height:17px!important;
   fill:none!important;
   stroke:currentColor!important;
   stroke-width:1.45!important;
   stroke-linecap:round!important;
   stroke-linejoin:round!important;
 }
 .tn-menu-cart-count-v198{
   display:inline!important;
   font:inherit!important;
   letter-spacing:0!important;
 }
}
/* The menu version is desktop-only; preserve the existing mobile cart UX. */
@media(max-width:900px){
 .tn-menu-cart-v198{display:none!important}
}

/* ==========================================================
   v1.10.0 — SELF-CONTAINED MENU CART
   The mini-cart now physically lives inside the Contact-adjacent menu item.
   No proxy to the removed top-header cart.
   ========================================================== */
@media(min-width:901px){
 .tn-menu-cart-v198{
   position:relative!important;
   display:flex!important;
   align-items:center!important;
 }
 .tn-menu-cart-v198 > .tn-mini-cart-v142{
   display:block!important;
   position:absolute!important;
   top:calc(100% + 12px)!important;
   right:0!important;
   left:auto!important;
   width:min(390px,calc(100vw - 32px))!important;
   min-width:360px!important;
   z-index:100050!important;
   opacity:0!important;
   visibility:hidden!important;
   pointer-events:none!important;
   transform:translateY(6px)!important;
   transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
 }
 .tn-menu-cart-v198:hover > .tn-mini-cart-v142,
 .tn-menu-cart-v198:focus-within > .tn-mini-cart-v142,
 .tn-menu-cart-v198.tn-cart-open-v142 > .tn-mini-cart-v142{
   opacity:1!important;
   visibility:visible!important;
   pointer-events:auto!important;
   transform:translateY(0)!important;
 }
 .tn-menu-cart-v198 > .tn-mini-cart-v142:before{
   content:""!important;
   position:absolute!important;
   left:0!important;right:0!important;top:-14px!important;height:14px!important;
 }
}

/* v2.0.0 production baseline — obsolete mega-menu experiments removed. */

/* ==========================================================
   v2.0.1 — DEFINITIVE MEGA MENU
   WordPress hierarchy is authoritative:
   Mega parent > marked column heading > genuinely nested links.
   No automatic distribution or interpretation of loose siblings.
   ========================================================== */
@media(min-width:901px){
 body .tn-mega-parent-v191 > ul.sub-menu{
   box-sizing:border-box!important;
   display:grid!important;
   grid-template-columns:repeat(4,minmax(0,1fr)) minmax(260px,320px)!important;
   gap:clamp(32px,3vw,58px)!important;
   align-items:start!important;
   width:min(1560px,calc(100vw - 80px))!important;
   min-width:0!important;
   max-width:1560px!important;
   left:50%!important;
   right:auto!important;
   transform:translateX(-50%)!important;
   margin:0!important;
   padding:34px 38px 40px!important;
   column-count:initial!important;
   background:var(--tn-sub-bg)!important;
 }

 /* A real marked heading is one complete column. */
 body .tn-mega-parent-v191 > ul.sub-menu > li.tn-mega-heading-v191{
   display:block!important;
   position:static!important;
   float:none!important;
   width:100%!important;
   min-width:0!important;
   margin:0!important;
   padding:0!important;
 }
 body .tn-mega-parent-v191 > ul.sub-menu > li.tn-mega-heading-v191 > a{
   display:block!important;
   color:var(--tn-mega-heading-color,#fff)!important;
   background:transparent!important;
   font-family:var(--tn-font-sans,Arial,sans-serif)!important;
   font-size:11px!important;
   font-weight:800!important;
   line-height:1.2!important;
   letter-spacing:.09em!important;
   text-transform:uppercase!important;
   padding:0!important;
   margin:0 0 12px!important;
   pointer-events:none!important;
 }

 body .tn-mega-parent-v191 > ul.sub-menu > li.tn-mega-heading-v191 > ul.sub-menu{
   display:flex!important;
   flex-direction:column!important;
   position:static!important;
   inset:auto!important;
   transform:none!important;
   opacity:1!important;
   visibility:visible!important;
   pointer-events:auto!important;
   width:100%!important;
   min-width:0!important;
   max-width:none!important;
   height:auto!important;
   margin:0!important;
   padding:0!important;
   background:transparent!important;
   border:0!important;
   box-shadow:none!important;
 }
 body .tn-mega-parent-v191 > ul.sub-menu > li.tn-mega-heading-v191 > ul.sub-menu > li{
   display:block!important;
   position:static!important;
   float:none!important;
   width:100%!important;
   min-width:0!important;
   margin:0!important;
   padding:0!important;
 }
 body .tn-mega-parent-v191 > ul.sub-menu > li.tn-mega-heading-v191 > ul.sub-menu > li > a{
   display:block!important;
   width:100%!important;
   color:var(--tn-sub-color)!important;
   background:transparent!important;
   font-family:var(--tn-font-sans,Arial,sans-serif)!important;
   font-size:14px!important;
   font-weight:500!important;
   line-height:1.35!important;
   letter-spacing:0!important;
   text-transform:none!important;
   white-space:normal!important;
   padding:6px 0!important;
   margin:0!important;
 }
 body .tn-mega-parent-v191 > ul.sub-menu > li.tn-mega-heading-v191 > ul.sub-menu > li > a:hover{
   color:var(--tn-sub-hover-color)!important;
   background:transparent!important;
   text-decoration:underline!important;
   text-underline-offset:4px!important;
 }

 /* Loose direct links are invalid mega structure: don't auto-place them. */
 body .tn-mega-parent-v191 > ul.sub-menu > li:not(.tn-mega-heading-v191):not(.tn-mega-featured-v191){
   display:none!important;
 }

 /* Featured always occupies the dedicated fifth column. */
 body .tn-mega-parent-v191 > ul.sub-menu > li.tn-mega-featured-v191{
   display:block!important;
   position:static!important;
   float:none!important;
   grid-column:5!important;
   grid-row:1 / span 4!important;
   width:100%!important;
   min-width:0!important;
   margin:0!important;
   padding:0!important;
 }
 body .tn-mega-parent-v191 .tn-mega-feature-card-v191{
   display:block!important;width:100%!important;padding:0!important;
 }
 body .tn-mega-parent-v191 .tn-mega-feature-image-v191{
   display:block!important;width:100%!important;
   aspect-ratio:16/8!important;
   margin:0 0 13px!important;
   background-size:cover!important;background-position:center!important;
 }
 body .tn-mega-parent-v191 .tn-mega-feature-body-v191{
   display:block!important;width:100%!important;
 }
 body .tn-mega-parent-v191 .tn-mega-feature-body-v191 small,
 body .tn-mega-parent-v191 .tn-mega-feature-body-v191 strong,
 body .tn-mega-parent-v191 .tn-mega-feature-body-v191 span,
 body .tn-mega-parent-v191 .tn-mega-feature-body-v191 b{
   display:block!important;white-space:normal!important;
 }
 body .tn-mega-parent-v191 .tn-mega-feature-body-v191 small{font-size:10px!important;letter-spacing:.1em!important;text-transform:uppercase!important;margin-bottom:7px!important}
 body .tn-mega-parent-v191 .tn-mega-feature-body-v191 strong{font-family:var(--tn-font-serif,Georgia,serif)!important;font-size:25px!important;line-height:1.05!important;margin-bottom:7px!important}
 body .tn-mega-parent-v191 .tn-mega-feature-body-v191 span{font-size:13px!important;line-height:1.35!important;margin-bottom:11px!important}
 body .tn-mega-parent-v191 .tn-mega-feature-body-v191 b{font-size:12px!important;text-transform:uppercase!important;text-decoration:underline!important;text-underline-offset:5px!important}
}

/* v2.0.2 — Extra product information */
.single-product .tn-product-details-v202{
 margin:24px 0 8px!important;padding:22px 0 0!important;
 border-top:1px solid rgba(0,0,0,.16)!important;font-size:14px!important;line-height:1.65!important;
}
.single-product .tn-product-details-v202 p{margin:0 0 14px!important}
.single-product .tn-product-details-v202 strong{font-weight:700!important}
.single-product .tn-product-details-v202 .tn-detail-icon-v202{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 width:20px!important;min-width:20px!important;margin:0 4px 0 14px!important;
 font-size:15px!important;line-height:1!important;vertical-align:-1px!important;
}
.single-product .tn-product-details-v202 .tn-detail-icon-v202:first-child{margin-left:0!important}


/* ==========================================================
   v2.0.3 — B2B WOW LANDING PATTERN
   Uses the existing theme palette, DM Serif Display, DM Sans,
   global button styling, wide width and existing lined/parallax styles.
   ========================================================== */
.tn-wow-home-v203{overflow:hidden}
.tn-wow-hero-v203{background:var(--wp--preset--color--soft-pink,#F7E9ED)}
.tn-wow-hero-v203 .wp-block-cover__inner-container{width:100%}
.tn-wow-hero-inner-v203{
  width:min(1440px,calc(100vw - 64px))!important;
  max-width:min(1440px,calc(100vw - 64px))!important;
  margin-inline:auto!important;padding-block:clamp(80px,10vw,150px)!important
}
.tn-wow-title-v203{font-size:clamp(68px,8.4vw,138px)!important;line-height:.84!important;letter-spacing:-.035em!important;max-width:940px}
.tn-wow-lead-v203{max-width:680px;font-family:var(--wp--preset--font-family--editorial)!important;font-style:italic}
.tn-wow-strip-v203{padding:19px 24px!important;border-block:1px solid rgba(34,34,34,.14)}
.tn-wow-strip-v203 p{margin:0!important;font-size:11px!important;font-weight:700!important;letter-spacing:.075em!important}
.tn-wow-story-v203{
  width:min(1440px,calc(100vw - 64px))!important;max-width:min(1440px,calc(100vw - 64px))!important;
  margin-inline:auto!important;align-items:center!important;gap:clamp(45px,6vw,110px)!important;
  padding-block:clamp(80px,10vw,150px)!important
}
.tn-wow-image-v203{margin:0!important;min-height:520px;background:var(--wp--preset--color--mist,#F3F1EF)}
.tn-wow-image-v203 img:not([src]){display:none}
.tn-wow-story-title-v203{font-size:clamp(52px,5.4vw,90px)!important;line-height:.93!important}
.tn-wow-benefits-v203{
  width:min(1440px,calc(100vw - 64px))!important;max-width:min(1440px,calc(100vw - 64px))!important;
  margin-inline:auto!important;padding-bottom:clamp(90px,10vw,150px)!important
}
.tn-wow-benefit-columns-v203{gap:0!important;margin-top:52px!important}
.tn-wow-benefit-columns-v203>.wp-block-column{padding:4px clamp(22px,2.8vw,44px) 10px;border-right:1px solid rgba(34,34,34,.16)}
.tn-wow-benefit-columns-v203>.wp-block-column:first-child{padding-left:0}
.tn-wow-benefit-columns-v203>.wp-block-column:last-child{border-right:0;padding-right:0}
.tn-wow-benefit-columns-v203 h3{font-family:var(--wp--preset--font-family--sans)!important;font-size:18px!important;line-height:1.25!important}
.tn-wow-discover-v203{background-color:var(--wp--preset--color--bordeaux,#3A1725)}
.tn-wow-discover-v203 .wp-block-cover__inner-container{padding:70px 24px}
.tn-wow-discover-v203 .is-style-tn-eyebrow,.tn-wow-discover-title-v203{color:#fff!important}
.tn-wow-discover-title-v203{font-size:clamp(64px,7.5vw,118px)!important;line-height:.86!important}
.tn-wow-words-v203{padding:22px 24px!important;border-bottom:1px solid rgba(34,34,34,.14)}
.tn-wow-words-v203 p{font-family:var(--wp--preset--font-family--editorial)!important;font-size:clamp(22px,2.5vw,38px)!important;font-style:italic;margin:0!important}
.tn-wow-final-v203{
  width:min(1100px,calc(100vw - 64px))!important;max-width:min(1100px,calc(100vw - 64px))!important;
  margin-inline:auto!important;padding-block:clamp(90px,10vw,150px)!important
}
.tn-wow-final-v203 h2{margin-block:12px 22px!important}
@media(max-width:781px){
 .tn-wow-hero-inner-v203,.tn-wow-story-v203,.tn-wow-benefits-v203,.tn-wow-final-v203{width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important}
 .tn-wow-title-v203{font-size:clamp(56px,16vw,82px)!important}
 .tn-wow-story-v203{gap:34px!important}
 .tn-wow-image-v203{min-height:360px}
 .tn-wow-benefit-columns-v203>.wp-block-column{padding:24px 0!important;border-right:0;border-bottom:1px solid rgba(34,34,34,.16)}
 .tn-wow-benefit-columns-v203>.wp-block-column:last-child{border-bottom:0}
 .tn-wow-words-v203 p{line-height:1.5!important}
}

/* v2.0.8 — POST-FOOTER FLOW FIX
   wp_footer() outputs plugin UI after the visual footer. Some plugin
   containers can accidentally remain in normal document flow and create
   a large blank area below the copyright bar. */
html,body{margin-bottom:0!important;padding-bottom:0!important}
.tn-footer-v167{margin-bottom:0!important}

/* Utility/plugin containers known to be emitted after wp_footer().
   They are overlays/triggers/live regions, never page content. */
#glt-translate-trigger,
#glt-toolbar,
#glt-footer,
#tn-live-search-panel-v158,
#tn-mobile-panel-v152,
#inboxOverlay,
#wordfenceBox,
.tooltip-container,
.widget_shopping_cart_live_region,
.wc-block-components-notice-banner[aria-hidden="true"]{
  position:fixed!important;
  margin:0!important;
}

/* Hidden utility layers must occupy zero layout space. */
#tn-mobile-panel-v152[aria-hidden="true"],
#tn-live-search-panel-v158[aria-hidden="true"],
#inboxOverlay[style*="display: none"],
#wordfenceBox[style*="display: none"]{
  display:none!important;
}

/* Safety class applied by footer-layout-v208.js only to direct body
   children AFTER the footer that are utility/plugin nodes and still
   participate in normal flow. */
.tn-post-footer-flow-v208{
  position:fixed!important;
  margin:0!important;
}

/* ==========================================================
   v2.0.10 — EDITABLE WOW HERO + COMPACT CTA
   Cover image/overlay are controlled by native Gutenberg settings.
   No theme-level colour wash is forced onto the hero image.
   ========================================================== */
.tn-wow-hero-v203{background-color:transparent!important}
.tn-wow-hero-v203:before,.tn-wow-hero-v203:after{content:none!important}
.tn-wow-final-v203{
  padding-block:clamp(64px,6vw,96px)!important;
  min-height:0!important;
}
.tn-wow-final-v203>*:first-child{margin-top:0!important}
.tn-wow-final-v203>*:last-child{margin-bottom:0!important}
@media(max-width:781px){
 .tn-wow-final-v203{padding-block:56px!important}
}

/* ==========================================================
   v2.0.11 — PAGE TITLE SPACING
   When "Verberg paginatitel" is enabled, remove the wrapper's
   title-area top padding too. The first Gutenberg block can then
   start directly below the site header/navigation.
   ========================================================== */
body.tn-hide-page-title-v2011 .content{
  padding-top:0!important;
}
body.tn-hide-page-title-v2011 .content>article{
  margin-top:0!important;
  padding-top:0!important;
}
body.tn-hide-page-title-v2011 .content>article>:first-child{
  margin-top:0!important;
}


/* ==========================================================
   v2.0.12 — SHORTCODE PRODUCT COLUMNS + PAGE QUICK ORDER
   Respect WooCommerce [products columns="N"] on normal
   Gutenberg pages. The base theme grid is four columns, but
   shortcode-generated .columns-N classes must remain authoritative.
   ========================================================== */
@media (min-width:769px){
  .woocommerce ul.products.columns-1{grid-template-columns:minmax(0,1fr)!important}
  .woocommerce ul.products.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .woocommerce ul.products.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .woocommerce ul.products.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .woocommerce ul.products.columns-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .woocommerce ul.products.columns-6{grid-template-columns:repeat(6,minmax(0,1fr))!important}
}
@media (max-width:768px){
  .woocommerce ul.products.columns-1{grid-template-columns:minmax(0,1fr)!important}
  .woocommerce ul.products.columns-2,
  .woocommerce ul.products.columns-3,
  .woocommerce ul.products.columns-4,
  .woocommerce ul.products.columns-5,
  .woocommerce ul.products.columns-6{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:520px){
  .woocommerce ul.products.columns-1,
  .woocommerce ul.products.columns-2,
  .woocommerce ul.products.columns-3,
  .woocommerce ul.products.columns-4,
  .woocommerce ul.products.columns-5,
  .woocommerce ul.products.columns-6{grid-template-columns:minmax(0,1fr)!important}
}


/* ==========================================================
   v2.0.13 — Gutenberg vertical rhythm
   Structural spacing for normal page content. Direct children
   only, so internal layout of Cover/Columns/Groups stays intact.
   ========================================================== */
:where(.page .content article) > :where(p,ul,ol,blockquote,figure,.wp-block-buttons,.wp-block-columns,.wp-block-group,.wp-block-cover,.wp-block-gallery,.wp-block-image,.wp-block-video,.wp-block-embed,.wp-block-table,.wp-block-separator,.wp-block-shortcode,.woocommerce,.wp-block-woocommerce-product-collection){margin-block-start:0;margin-block-end:0}
:where(.page .content article) > * + *{margin-block-start:24px!important}
/* Text reads as one unit. */
:where(.page .content article) > p + p,
:where(.page .content article) > :where(ul,ol) + p,
:where(.page .content article) > p + :where(ul,ol){margin-block-start:18px!important}
/* Headings belong to what follows, but open a new section above. */
:where(.page .content article) > :where(h2,h3,h4,h5,h6){margin-block-end:0!important}
:where(.page .content article) > * + :where(h2,h3,h4,h5,h6){margin-block-start:40px!important}
:where(.page .content article) > :where(h1,h2,h3,h4,h5,h6) + :where(p,ul,ol,blockquote,.wp-block-buttons){margin-block-start:16px!important}
/* Buttons need breathing room before the next section. */
:where(.page .content article) > .wp-block-buttons + :where(h2,h3,h4,h5,h6){margin-block-start:40px!important}
/* Large visual/layout blocks mark stronger section changes. */
:where(.page .content article) > :where(figure,.wp-block-image,.wp-block-gallery,.wp-block-video,.wp-block-embed,.wp-block-cover,.wp-block-columns,.wp-block-group,.wp-block-shortcode,.woocommerce,.wp-block-woocommerce-product-collection) + :where(h2,h3,h4,h5,h6){margin-block-start:48px!important}
:where(.page .content article) > :where(p,.wp-block-buttons) + :where(.wp-block-image,.wp-block-gallery,.wp-block-video,.wp-block-embed,.wp-block-cover,.wp-block-columns,.wp-block-shortcode,.woocommerce,.wp-block-woocommerce-product-collection){margin-block-start:32px!important}
/* Separator and spacer remain intentional author controls. */
:where(.page .content article) > .wp-block-separator{margin-block:40px!important}
:where(.page .content article) > .wp-block-spacer + *{margin-block-start:0!important}
@media(max-width:700px){
  :where(.page .content article) > * + *{margin-block-start:20px!important}
  :where(.page .content article) > * + :where(h2,h3,h4,h5,h6){margin-block-start:32px!important}
  :where(.page .content article) > :where(figure,.wp-block-image,.wp-block-gallery,.wp-block-video,.wp-block-embed,.wp-block-cover,.wp-block-columns,.wp-block-group,.wp-block-shortcode,.woocommerce,.wp-block-woocommerce-product-collection) + :where(h2,h3,h4,h5,h6){margin-block-start:38px!important}
}


/* v2.0.14 — prevent an incidental desktop mega-menu hover immediately after
   navigating Home from the WooCommerce breadcrumb. */
@media (hover:hover) and (min-width:901px){
  html.tn-breadcrumb-home-nav-v2014 .nav>li.menu-item-has-children>.sub-menu,
  html.tn-breadcrumb-home-nav-v2014 #menu-main>li.menu-item-has-children>.sub-menu{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* ==========================================================
   v2.0.20 — PRODUCTION MOBILE HEADER SAFETY
   Keep the account-page navigation overlay out of document flow on
   mobile. This prevents the nav wrapper from reserving a viewport-sized
   blank area before WooCommerce account content.
   ========================================================== */
@media (max-width:980px){
  body.woocommerce-account header .navwrap,
  body.woocommerce-account header .navwrap.open{
    position:fixed!important;
  }
}

/* GTranslate is rendered deliberately inside .tn-language-v164 in the
   header. Its legacy floating trigger / loading spinner are utility UI and
   must never occupy or overlay page content. */
#glt-translate-trigger,
.goog-te-spinner-pos{
  display:none!important;
}
\n\n/* ==========================================================\n   v2.0.21 — CART FEEDBACK PRODUCTION FIX\n   One toast only, always above the site navigation, and no\n   duplicate WooCommerce “View cart” link under grid buttons.\n   ========================================================== */\n\n/* WooCommerce appends this after AJAX adds on archives AND shortcode grids.\n   Curiositeas uses its own non-blocking toast, so suppress the duplicate CTA. */\nul.products li.product a.added_to_cart.wc-forward,\nul.products li.product a.added_to_cart {\n  display:none!important;\n}\n\n/* Both supported toast variants live in the top UI layer. */\n#tn-cart-toast-v157,\n.tn-cart-toast-v157,\n#tn-cart-toast-v1528,\n.tn-cart-toast-v1528 {\n  z-index:2147483000!important;\n}\n\n/* Desktop: clear the WP admin bar when logged in, otherwise sit near the top. */\n@media (min-width:821px){\n  .tn-cart-toast-v1528{top:16px!important}\n  body.admin-bar .tn-cart-toast-v1528{top:48px!important}\n}\n@media (min-width:701px){\n  #tn-cart-toast-v157,.tn-cart-toast-v157{top:16px!important}\n  body.admin-bar #tn-cart-toast-v157,\n  body.admin-bar .tn-cart-toast-v157{top:48px!important}\n}\n\n/* Mobile remains bottom anchored so feedback never covers header/navigation. */\n@media (max-width:820px){\n  #tn-cart-toast-v1528,.tn-cart-toast-v1528{\n    top:auto!important;right:16px!important;bottom:16px!important;left:16px!important;width:auto!important;\n  }\n}\n

/* v2.0.22 — Footer menu/cart + heading colour hardening */
.tn-footer-v167 .tn-footer-grid-v167 h1,
.tn-footer-v167 .tn-footer-grid-v167 h2,
.tn-footer-v167 .tn-footer-grid-v167 h3,
.tn-footer-v167 .tn-footer-grid-v167 h4,
.tn-footer-v167 .tn-footer-grid-v167 h5,
.tn-footer-v167 .tn-footer-grid-v167 h6,
.tn-footer-v167 .tn-footer-grid-v167 .widget-title,
.tn-footer-v167 .tn-footer-grid-v167 .wp-block-heading {
  color:var(--tn-footer-heading)!important;
}
\n\n/* ==========================================================\n   v2.0.23 — MINI CART COLORS INDEPENDENT FROM NAV/SUBMENU\n   ========================================================== */\nheader .tn-mini-cart-v142,\nheader .tn-mini-cart-v142 .tn-mini-cart-head-v142,\nheader .tn-mini-cart-v142 .tn-mini-cart-items-v142,\nheader .tn-mini-cart-v142 .tn-mini-cart-foot-v142,\nheader .tn-mini-cart-v142 .tn-mini-cart-item-v142{\n  background:var(--tn-minicart-bg,#f6b0b8)!important;\n  color:var(--tn-minicart-text,#222222)!important;\n}\nheader .tn-mini-cart-v142{border-color:var(--tn-minicart-border,#222222)!important}\nheader .tn-mini-cart-v142 .tn-mini-cart-head-v142,\nheader .tn-mini-cart-v142 .tn-mini-cart-item-v142,\nheader .tn-mini-cart-v142 .tn-mini-cart-foot-v142{border-color:var(--tn-minicart-border,#222222)!important}\nheader .tn-mini-cart-v142 a,\nheader .tn-mini-cart-v142 .tn-mini-cart-name-v142 a,\nheader .tn-mini-cart-v142 .tn-mini-cart-meta-v142,\nheader .tn-mini-cart-v142 .tn-mini-cart-total-v142,\nheader .tn-mini-cart-v142 .tn-mini-cart-empty-v142,\nheader .tn-mini-cart-v142 .tn-mini-cart-remove-v142{color:var(--tn-minicart-text,#222222)!important}\nheader .tn-mini-cart-v142 .tn-mini-cart-button-v142{\n  background:var(--tn-minicart-button-bg,#222222)!important;\n  color:var(--tn-minicart-button-text,#ffffff)!important;\n  border-color:var(--tn-minicart-button-bg,#222222)!important;\n}\nheader .tn-mini-cart-v142 .tn-view-cart-v142{\n  background:transparent!important;\n  color:var(--tn-minicart-text,#222222)!important;\n  border-color:var(--tn-minicart-border,#222222)!important;\n}\n@media(hover:hover) and (pointer:fine){\n  header .tn-mini-cart-v142 .tn-mini-cart-button-v142:hover{filter:brightness(.92)}\n}\n