*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--tc-bg);color:var(--tc-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.tc-container{width:min(calc(100% - 40px),var(--tc-container));margin-inline:auto}.tc-content-narrow{max-width:920px}.screen-reader-text{position:absolute;left:-9999px}.screen-reader-text:focus{left:12px;top:12px;z-index:9999;background:#fff;padding:10px 14px}.tc-announcement{background:var(--tc-primary);color:#fff;text-align:center;padding:8px 20px;font-size:13px;font-weight:700;letter-spacing:.02em}.tc-header{background:color-mix(in srgb,var(--tc-bg) 92%,transparent);border-bottom:1px solid rgba(20,33,61,.08);z-index:1000}.tc-sticky-header .tc-header{position:sticky;top:0;background:var(--tc-bg)}.tc-header-row{height:82px;display:flex;align-items:center;gap:24px}.tc-brand{flex:0 0 auto}.custom-logo,.tc-default-logo img{width:min(var(--tc-logo),32vw);height:auto;display:block}.tc-default-logo{display:block}.tc-site-title{font-size:24px;font-weight:850}.tc-nav{flex:1}.tc-menu,.tc-footer-menu,.tc-mobile-menu{list-style:none;margin:0;padding:0}.tc-menu{display:flex;align-items:center;justify-content:center;gap:26px}.tc-menu a{font-size:14px;font-weight:800;position:relative;padding:29px 0}.tc-menu a:after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--tc-accent);transition:.25s}.tc-menu a:hover:after{right:0}.tc-actions{display:flex;align-items:center;gap:8px}.tc-icon-btn{min-width:44px;height:44px;border:1px solid rgba(20,33,61,.12);background:#fff;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;cursor:pointer;position:relative}.tc-cart{padding:0 16px;min-width:66px;gap:7px}.tc-cart-count{background:var(--tc-accent);color:#fff;border-radius:99px;min-width:20px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;font-size:11px}.tc-search-panel{display:grid;grid-template-rows:0fr;overflow:hidden;transition:.25s;background:#fff}.tc-search-panel.is-open{grid-template-rows:1fr;border-top:1px solid rgba(20,33,61,.08)}.tc-search-panel>div{min-height:0}.tc-search-panel form{display:flex;padding:18px 0;gap:10px}.tc-search-panel input[type=search]{flex:1;border:1px solid #dfe3ea;border-radius:999px;padding:14px 18px;font-size:16px}.tc-search-panel button{border:0;border-radius:999px;background:var(--tc-primary);color:#fff;padding:0 24px;font-weight:800}.tc-main{padding:40px 0 70px;min-height:55vh}h1,h2,h3{line-height:1.12;letter-spacing:-.03em}h1{font-size:clamp(32px,5vw,60px)}button,.button,input,select,textarea{font:inherit}.woocommerce .woocommerce-breadcrumb{font-size:12px;color:#667085;margin:0 0 24px}.woocommerce-result-count{color:#667085}.tc-shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:10px 0 22px}.woocommerce .woocommerce-ordering select{border:1px solid #dfe3ea;background:#fff;padding:12px 42px 12px 14px;border-radius:999px}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(var(--tc-cols-desktop),minmax(0,1fr));gap:24px 16px;margin:28px 0!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;background:var(--tc-surface);border-radius:var(--tc-radius);overflow:hidden;position:relative;transition:transform .18s;border:1px solid rgba(20,33,61,.07);padding-bottom:14px}.woocommerce ul.products li.product:hover{transform:translateY(-2px)}.woocommerce ul.products li.product a img{margin:0 0 12px!important;aspect-ratio:4/5;object-fit:cover;background:#f5f4f1}.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 13px!important;font-size:14px!important;font-weight:800;min-height:2.3em}.woocommerce ul.products li.product .price{padding:0 13px;color:var(--tc-primary)!important;font-size:14px!important;font-weight:850!important}.woocommerce ul.products li.product .button{margin:10px 13px 0!important;width:calc(100% - 26px);text-align:center;border-radius:999px;background:var(--tc-primary);color:#fff;padding:10px 12px;font-weight:800}.woocommerce span.onsale{left:12px!important;top:12px!important;min-height:0!important;line-height:1!important;padding:8px 10px!important;border-radius:999px!important;background:var(--tc-accent)!important}.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr);gap:clamp(30px,5vw,78px)}.woocommerce div.product .woocommerce-product-gallery,.woocommerce div.product div.summary{width:auto!important;float:none!important}.woocommerce div.product .product_title{font-size:clamp(30px,4vw,54px);margin:0 0 14px}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--tc-primary)!important;font-size:24px!important;font-weight:900}.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.woocommerce div.product form.cart .variations{width:100%;margin-bottom:6px}.woocommerce div.product form.cart .variations select{width:100%;min-height:50px;border:1px solid #dfe3ea;border-radius:12px;padding:10px 12px}.woocommerce .quantity .qty{min-height:50px;border:1px solid #dfe3ea;border-radius:12px}.woocommerce div.product form.cart .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wp-element-button,.wc-block-components-button{min-height:50px;border-radius:999px!important;background:var(--tc-primary)!important;color:#fff!important;padding:13px 24px!important;font-weight:850!important;border:0!important}.woocommerce div.product .woocommerce-tabs{grid-column:1/-1}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important}.woocommerce div.product .woocommerce-tabs ul.tabs li{border-radius:999px!important;border:1px solid #e3e6eb!important;background:#fff!important}.woocommerce-cart table.cart,.woocommerce-checkout-review-order,.woocommerce form.checkout,.wc-block-cart,.wc-block-checkout{background:#fff;border-radius:var(--tc-radius);padding:clamp(16px,3vw,28px);box-shadow:0 16px 50px rgba(20,33,61,.06)}.woocommerce table.shop_table{border-color:#e8ebef!important;border-radius:var(--tc-radius)!important}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input{min-height:52px;border:1px solid #dfe3ea!important;border-radius:12px!important;padding:10px 12px!important;background:#fff}.woocommerce form .form-row label{font-weight:750}.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top:0!important;border-radius:14px;background:#fff!important;box-shadow:0 8px 30px rgba(20,33,61,.06)}.woocommerce-message{border-left:4px solid #20a36a}.woocommerce-error{border-left:4px solid #c92742}.tc-footer{background:var(--tc-primary);color:#eef1f6;padding:50px 0 20px}.tc-footer-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:30px}.tc-footer p{color:#b9c1d0}.tc-footer-menu{display:flex;flex-wrap:wrap;gap:12px 22px;justify-content:flex-end}.tc-footer-bottom{padding-top:28px;margin-top:28px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#9ba6b8}
@media(max-width:1199px){.tc-header-row{height:auto;min-height:72px;gap:12px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}.tc-brand{flex:1 1 auto}.tc-nav{order:3;flex:1 0 100%;width:100%}.tc-nav>#mega-menu-wrap-primary{width:100%}.tc-actions{margin-left:auto}.woocommerce ul.products{grid-template-columns:repeat(var(--tc-cols-tablet),minmax(0,1fr))}.woocommerce div.product{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:767px){.tc-container{width:min(calc(100% - 24px),var(--tc-container))}.tc-announcement{font-size:11px;padding:7px 12px}.tc-header-row{height:auto;min-height:64px}.tc-account{display:none}.tc-cart{min-width:52px;padding:0 10px;font-size:0}.tc-cart-count{font-size:11px}.tc-icon-btn{height:40px;min-width:40px}.tc-main{padding:24px 0 50px}.woocommerce ul.products{grid-template-columns:repeat(var(--tc-cols-mobile),minmax(0,1fr));gap:14px 10px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:13px!important;padding:0 11px!important}.woocommerce ul.products li.product .price{font-size:13px!important;padding:0 11px}.woocommerce ul.products li.product .button{margin:9px 11px 0!important;width:calc(100% - 22px);padding:10px 9px;font-size:12px}.tc-shop-toolbar{align-items:flex-start;flex-direction:column}.woocommerce div.product{display:block}.woocommerce div.product .summary{margin-top:24px}.woocommerce div.product .product_title{font-size:32px}.woocommerce div.product form.cart .button{flex:1}.woocommerce-cart table.cart .product-thumbnail{display:none}.woocommerce-cart table.cart td.actions .coupon{display:grid!important;grid-template-columns:1fr auto;width:100%;gap:8px}.woocommerce-cart table.cart td.actions .coupon .input-text{width:100%!important}.tc-footer-grid{grid-template-columns:1fr}.tc-footer-menu{justify-content:flex-start}}

/* Max Mega Menu compatibility: the plugin owns primary menu layout, dropdowns and responsive toggle. */
.tc-nav .mega-menu-wrap,.tc-nav [id^="mega-menu-wrap-"]{max-width:100%;width:100%}
@media(min-width:1200px){.woocommerce ul.products{max-width:1180px;margin-left:auto!important;margin-right:auto!important}.woocommerce ul.products li.product .button{font-size:13px}.woocommerce ul.products li.product .woocommerce-loop-product__title{line-height:1.25}.tc-main{padding-top:34px}}
.tc-icon-btn{color:var(--tc-primary)}.tc-icon-btn:hover{border-color:color-mix(in srgb,var(--tc-accent) 55%,#fff);box-shadow:0 6px 18px color-mix(in srgb,var(--tc-accent) 12%,transparent)}

/* Performance: reduce paint/layout work on long product archives. */

/* === Desktop dropdown menus: elegant hover/focus animation === */
@media (min-width:1200px){
  .tc-nav{overflow:visible}
  .tc-nav .tc-menu > li{position:relative}
  .tc-nav .tc-menu > li.menu-item-has-children > a{padding-right:18px}
  .tc-nav .tc-menu > li.menu-item-has-children > a:before{
    content:"";position:absolute;right:0;top:50%;width:6px;height:6px;
    border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
    transform:translateY(-65%) rotate(45deg);transition:transform .22s ease
  }
  .tc-nav .tc-menu > li.menu-item-has-children:hover > a:before,
  .tc-nav .tc-menu > li.menu-item-has-children:focus-within > a:before{transform:translateY(-25%) rotate(225deg)}
  .tc-nav .tc-menu > li > .sub-menu{
    list-style:none;position:absolute;z-index:1600;left:50%;top:100%;min-width:250px;
    margin:0;padding:10px;background:var(--tc-surface);border:1px solid rgba(20,33,61,.09);
    border-radius:16px;box-shadow:0 18px 48px rgba(20,33,61,.13);
    opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,12px) scale(.985);
    transform-origin:top center;transition:opacity .18s ease,transform .26s cubic-bezier(.2,.8,.2,1),visibility 0s linear .26s
  }
  .tc-nav .tc-menu > li:hover > .sub-menu,
  .tc-nav .tc-menu > li:focus-within > .sub-menu{
    opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1);transition-delay:0s
  }
  .tc-nav .tc-menu .sub-menu li{position:relative}
  .tc-nav .tc-menu .sub-menu a{display:block;padding:11px 13px;border-radius:10px;font-size:13px;font-weight:750;white-space:nowrap;transition:background .18s ease,color .18s ease,transform .18s ease}
  .tc-nav .tc-menu .sub-menu a:after{display:none}
  .tc-nav .tc-menu .sub-menu a:hover,.tc-nav .tc-menu .sub-menu a:focus{background:color-mix(in srgb,var(--tc-accent) 10%,#fff);color:var(--tc-primary);transform:translateX(2px)}

  /* Max Mega Menu: reliable hover opening on desktop. */
  .tc-nav [id^="mega-menu-wrap-"]{overflow:visible!important}
  .tc-nav [id^="mega-menu-wrap-"] .mega-menu{overflow:visible!important}
  .tc-nav [id^="mega-menu-wrap-"] .mega-menu > li.mega-menu-item{position:relative}
  .tc-nav [id^="mega-menu-wrap-"] .mega-menu > li.mega-menu-item > ul.mega-sub-menu{
    display:block!important;z-index:1700!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transform:translateY(12px) scale(.985);transform-origin:top center;
    transition:opacity .18s ease,transform .26s cubic-bezier(.2,.8,.2,1),visibility 0s linear .26s!important;
    border-radius:16px!important;border:1px solid rgba(20,33,61,.09)!important;box-shadow:0 18px 48px rgba(20,33,61,.13)!important
  }
  .tc-nav [id^="mega-menu-wrap-"] .mega-menu > li.mega-menu-item:hover > ul.mega-sub-menu,
  .tc-nav [id^="mega-menu-wrap-"] .mega-menu > li.mega-menu-item:focus-within > ul.mega-sub-menu,
  .tc-nav [id^="mega-menu-wrap-"] .mega-menu > li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu,
  .tc-nav [id^="mega-menu-wrap-"] .mega-menu > li.mega-menu-item.tc-hover-open > ul.mega-sub-menu{
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0) scale(1)!important;transition-delay:0s!important
  }
  .tc-nav [id^="mega-menu-wrap-"] .mega-sub-menu a{transition:background .18s ease,color .18s ease,transform .18s ease!important}
  .tc-nav [id^="mega-menu-wrap-"] .mega-sub-menu a:hover,.tc-nav [id^="mega-menu-wrap-"] .mega-sub-menu a:focus{transform:translateX(2px)}
}


/* === v1.3.4 — La Tribu logo palette + compact single product === */
body{background:linear-gradient(180deg,color-mix(in srgb,var(--tc-bg) 96%,#fff) 0,var(--tc-bg) 360px)}
.tc-announcement{background:var(--tc-primary);color:#fff}
.tc-header{border-bottom-color:color-mix(in srgb,var(--tc-primary) 13%,transparent)}
.tc-menu a:hover,.tc-menu .current-menu-item>a{color:var(--tc-primary)}
.tc-icon-btn{border-color:color-mix(in srgb,var(--tc-secondary) 38%,#fff);background:color-mix(in srgb,#fff 94%,var(--tc-highlight))}
.tc-icon-btn:hover{background:color-mix(in srgb,var(--tc-highlight) 22%,#fff);border-color:var(--tc-accent)}
.tc-search-panel button,.woocommerce div.product form.cart .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wp-element-button,.wc-block-components-button{background:var(--tc-primary)!important;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.tc-search-panel button:hover,.woocommerce div.product form.cart .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.wp-element-button:hover,.wc-block-components-button:hover{background:color-mix(in srgb,var(--tc-primary) 86%,var(--tc-accent))!important;box-shadow:0 8px 22px color-mix(in srgb,var(--tc-primary) 18%,transparent);transform:translateY(-1px)}
.woocommerce ul.products li.product{border-color:color-mix(in srgb,var(--tc-secondary) 24%,#fff);box-shadow:0 5px 18px color-mix(in srgb,var(--tc-primary) 5%,transparent)}
.woocommerce ul.products li.product:hover{border-color:color-mix(in srgb,var(--tc-accent) 38%,#fff);box-shadow:0 10px 24px color-mix(in srgb,var(--tc-primary) 9%,transparent)}
.woocommerce ul.products li.product a img{background:color-mix(in srgb,var(--tc-highlight) 10%,#fff)}
.woocommerce span.onsale{background:var(--tc-accent)!important;color:#fff!important}
.woocommerce .woocommerce-breadcrumb{color:color-mix(in srgb,var(--tc-text) 58%,#fff)}
.woocommerce div.product p.price,.woocommerce div.product span.price,.woocommerce ul.products li.product .price{color:var(--tc-primary)!important}
.tc-footer{background:linear-gradient(135deg,var(--tc-primary),color-mix(in srgb,var(--tc-primary) 72%,var(--tc-text)))}

/* Single product: deliberately smaller image area on desktop. */
@media (min-width:1200px){
  .single-product .woocommerce div.product{
    grid-template-columns:minmax(360px,460px) minmax(420px,1fr);
    gap:clamp(34px,4vw,64px);
    align-items:start;
    max-width:1120px;
    margin-inline:auto;
  }
  .single-product .woocommerce div.product .woocommerce-product-gallery{
    width:100%!important;
    max-width:460px;
    justify-self:center;
  }
  .single-product .woocommerce div.product .woocommerce-product-gallery__image img{
    width:100%;
    max-height:560px;
    object-fit:contain;
    background:#fff;
    border-radius:calc(var(--tc-radius) + 2px);
  }
  .single-product .woocommerce div.product .flex-control-thumbs{
    display:grid!important;
    grid-template-columns:repeat(5,1fr);
    gap:8px;
    margin-top:10px!important;
  }
  .single-product .woocommerce div.product .flex-control-thumbs li{width:auto!important;float:none!important}
  .single-product .woocommerce div.product .summary{padding-top:8px}
  .single-product .woocommerce div.product .product_title{font-size:clamp(30px,3vw,44px)}
}

/* Related products: clear visual break below the product and compact cards. */
.single-product .related.products,
.single-product .upsells.products{
  grid-column:1/-1;
  width:100%;
  max-width:1180px;
  margin:52px auto 0!important;
  padding-top:32px;
  border-top:1px solid color-mix(in srgb,var(--tc-secondary) 35%,#fff);
}
.single-product .related.products>h2,
.single-product .upsells.products>h2{
  margin:0 0 22px;
  font-size:clamp(24px,3vw,34px);
  color:var(--tc-primary);
}
.single-product .related.products ul.products,
.single-product .upsells.products ul.products{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:18px 14px;
  margin-top:0!important;
}
.single-product .related.products ul.products li.product a img,
.single-product .upsells.products ul.products li.product a img{
  aspect-ratio:4/5;
  object-fit:cover;
}
@media (max-width:1199px){
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:767px){
  .single-product .related.products,.single-product .upsells.products{margin-top:36px!important;padding-top:24px}
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 10px}
}

/* === v1.3.5 — smaller desktop gallery + instant product search === */
@media (min-width:1200px){
  .single-product .woocommerce div.product{
    grid-template-columns:minmax(300px,370px) minmax(460px,1fr);
    gap:clamp(34px,4vw,62px);
    max-width:1080px;
  }
  .single-product .woocommerce div.product .woocommerce-product-gallery{
    max-width:370px;
  }
  .single-product .woocommerce div.product .woocommerce-product-gallery__image img{
    max-height:440px;
    object-fit:contain;
  }
  .single-product .woocommerce div.product .flex-control-thumbs{
    grid-template-columns:repeat(5,minmax(0,1fr));
    max-width:340px;
    margin-inline:auto!important;
  }
}
.tc-live-search-wrap{position:relative;width:100%}
.tc-live-search-results{position:absolute;left:0;right:0;top:calc(100% - 10px);z-index:2200;background:#fff;border:1px solid color-mix(in srgb,var(--tc-secondary) 34%,#fff);border-radius:18px;box-shadow:0 18px 50px rgba(23,40,84,.16);padding:8px;max-height:min(560px,70vh);overflow:auto}
.tc-live-search-results[hidden]{display:none!important}
.tc-live-search-item{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:9px;border-radius:12px;transition:background .16s ease,transform .16s ease}
.tc-live-search-item:hover,.tc-live-search-item:focus{background:color-mix(in srgb,var(--tc-highlight) 18%,#fff);transform:translateX(2px);outline:0}
.tc-live-search-item img{width:58px;height:68px;object-fit:contain;background:#fff;border-radius:9px;border:1px solid rgba(23,40,84,.07)}
.tc-live-search-name{font-weight:800;font-size:14px;line-height:1.25;color:var(--tc-text)}
.tc-live-search-meta{font-size:11px;color:color-mix(in srgb,var(--tc-text) 58%,#fff);margin-top:3px}
.tc-live-search-price{font-weight:900;color:var(--tc-primary);font-size:13px;white-space:nowrap}
.tc-live-search-state{padding:15px 13px;color:color-mix(in srgb,var(--tc-text) 65%,#fff);font-size:13px}
@media(max-width:767px){.tc-live-search-results{position:fixed;left:12px;right:12px;top:126px;max-height:60vh}.tc-live-search-item{grid-template-columns:48px 1fr}.tc-live-search-item img{width:48px;height:56px}.tc-live-search-price{grid-column:2}}

/* WooCommerce archive titles are intentionally hidden; menu/breadcrumb provide context. */
.woocommerce.archive .woocommerce-products-header__title.page-title,.tax-product_cat .woocommerce-products-header__title.page-title,.post-type-archive-product .woocommerce-products-header__title.page-title{display:none!important}


/* === v1.4.0 — balanced gallery, white lightbox, dropdown variations === */
@media (min-width: 992px){
  body.single-product div.product.type-product{
    display:grid!important;
    grid-template-columns:360px minmax(0,1fr)!important;
    gap:46px!important;
    max-width:1060px!important;
    margin-inline:auto!important;
    align-items:start!important;
  }
  body.single-product div.product.type-product .woocommerce-product-gallery,
  body.single-product div.product.type-product div.images,
  body.single-product div.product.type-product .flex-viewport{
    width:360px!important;
    max-width:360px!important;
    min-width:360px!important;
    margin:0!important;
    overflow:hidden!important;
  }
  /* Do NOT constrain FlexSlider's wrapper width: it needs its own inline multi-slide width. */
  body.single-product div.product.type-product .woocommerce-product-gallery__wrapper{
    max-width:none!important;
  }
  body.single-product div.product.type-product .woocommerce-product-gallery__image,
  body.single-product div.product.type-product .woocommerce-product-gallery__image>a{
    width:360px!important;
    max-width:360px!important;
  }
  body.single-product div.product.type-product .woocommerce-product-gallery__image img:not(.zoomImg),
  body.single-product div.product.type-product div.images img.wp-post-image{
    display:block!important;
    width:360px!important;
    max-width:360px!important;
    height:430px!important;
    max-height:430px!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#fff!important;
    border-radius:calc(var(--tc-radius) + 2px)!important;
  }
  body.single-product div.product.type-product .flex-control-thumbs{
    width:360px!important;
    max-width:360px!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:7px!important;
    margin:10px 0 0!important;
  }
  body.single-product div.product.type-product .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important}
  body.single-product div.product.type-product .flex-control-thumbs img{height:62px!important;object-fit:contain!important;background:#fff!important}
  body.single-product div.product.type-product .summary{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  body.single-product div.product.type-product .woocommerce-tabs,
  body.single-product div.product.type-product .related,
  body.single-product div.product.type-product .upsells{grid-column:1/-1!important}
}

/* White translucent WooCommerce PhotoSwipe lightbox instead of black. */
.pswp__bg{background:rgba(255,255,255,.88)!important}
.pswp__top-bar,.pswp__caption{background:rgba(255,255,255,.72)!important}
.pswp__button{filter:invert(1);opacity:.72!important}
.pswp__caption__center{color:var(--tc-text)!important}

/* Native variation dropdowns: show selects, hide common swatch/label replacements. */
.single-product form.variations_form table.variations select{
  display:block!important;visibility:visible!important;opacity:1!important;position:static!important;
  width:min(100%,360px)!important;min-height:46px!important;padding:10px 42px 10px 14px!important;
  border:1px solid color-mix(in srgb,var(--tc-secondary) 55%,#fff)!important;border-radius:12px!important;
  background:#fff!important;color:var(--tc-text)!important;font-weight:700!important;
}
.single-product .variable-items-wrapper,
.single-product .woo-variation-swatches .variable-items-wrapper,
.single-product .cfvsw-swatches-container,
.single-product .thwvsf-wrapper-ul,
.single-product .wpcvs-terms,
.single-product .vi-wpvs-option-wrap{display:none!important}
.single-product table.variations th.label{padding:0 0 6px!important;display:block!important;text-align:left!important}
.single-product table.variations td.value{display:block!important;padding:0 0 14px!important}
.single-product .single_add_to_cart_button:disabled,
.single-product .single_add_to_cart_button.disabled{opacity:.45!important;cursor:not-allowed!important;pointer-events:none!important}

/* Variable products in catalogue / category / related product grids. */
.tc-loop-variation-form{display:grid;gap:8px;padding:0 12px 2px;margin-top:8px}
.tc-loop-variation-select{width:100%;min-height:40px;border:1px solid color-mix(in srgb,var(--tc-secondary) 45%,#fff);border-radius:10px;background:#fff;color:var(--tc-text);padding:8px 34px 8px 10px;font-size:13px;font-weight:700}
.tc-loop-add-button{width:100%!important;margin:0!important;text-align:center!important}
.tc-loop-add-button:disabled{opacity:.42!important;cursor:not-allowed!important;pointer-events:none!important}
.woocommerce ul.products li.product .tc-loop-alt-image{transition:opacity .2s ease,transform .2s ease}

@media (max-width:991px){
  .single-product form.variations_form table.variations select{width:100%!important}
}

/* v1.4.1 — homepage + search overlay + unavailable variation UX */
.tc-header{position:relative;z-index:9000;overflow:visible!important}
.tc-sticky-header .tc-header{z-index:9000}
.tc-header-row,.tc-nav,.tc-actions{overflow:visible!important}
.tc-search-panel{position:relative;z-index:9050}
.tc-search-panel.is-open{overflow:visible!important;z-index:9050}
.tc-search-panel.is-open>div,.tc-search-panel.is-open .tc-live-search-wrap,.tc-search-panel.is-open form{overflow:visible!important}
.tc-live-search-wrap{z-index:9060}
.tc-live-search-results{z-index:999999!important}

.tc-home{overflow:hidden}.tc-home-hero{padding:clamp(44px,7vw,92px) 0 54px;background:linear-gradient(135deg,color-mix(in srgb,var(--tc-bg) 82%,#fff),color-mix(in srgb,var(--tc-highlight) 20%,#fff))}.tc-home-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:clamp(32px,7vw,92px);align-items:center}.tc-home-kicker,.tc-home-heading span,.tc-home-story-main>span{display:inline-block;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900;color:var(--tc-primary);margin-bottom:12px}.tc-home-hero h1{font-size:clamp(42px,6vw,76px);max-width:850px;margin:0 0 22px;color:var(--tc-text)}.tc-home-hero-copy>p{font-size:clamp(17px,2vw,21px);max-width:700px;color:color-mix(in srgb,var(--tc-text) 72%,#fff);margin:0 0 30px}.tc-home-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.tc-home-primary{margin:0!important}.tc-home-link{font-weight:850;color:var(--tc-text)}.tc-home-brand-card{min-height:400px;border-radius:38px;background:var(--tc-surface);display:grid;place-items:center;position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--tc-primary) 10%,transparent);box-shadow:0 28px 75px rgba(23,40,84,.09)}.tc-home-brand-card .custom-logo,.tc-home-brand-card>img{width:min(78%,360px)!important;max-height:220px;object-fit:contain;position:relative;z-index:2}.tc-home-dot{position:absolute;border-radius:999px;opacity:.9}.tc-home-dot-a{width:230px;height:230px;background:color-mix(in srgb,var(--tc-accent) 78%,#fff);right:-85px;top:-65px}.tc-home-dot-b{width:170px;height:170px;background:color-mix(in srgb,var(--tc-secondary) 82%,#fff);left:-55px;bottom:-35px}.tc-home-dot-c{width:92px;height:92px;background:var(--tc-highlight);right:22%;bottom:12%}.tc-home-section{padding:clamp(54px,7vw,88px) 0}.tc-home-heading{display:flex;justify-content:space-between;gap:22px;align-items:end;margin-bottom:28px}.tc-home-heading h2{font-size:clamp(30px,4vw,48px);margin:0}.tc-home-heading>a{font-weight:850;color:var(--tc-primary);padding-bottom:6px}.tc-home-cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.tc-home-cat{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/5;background:color-mix(in srgb,var(--tc-secondary) 25%,#fff);border:1px solid rgba(23,40,84,.06)}.tc-home-cat img,.tc-home-cat-placeholder{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.tc-home-cat-placeholder{background:linear-gradient(155deg,color-mix(in srgb,var(--tc-secondary) 50%,#fff),color-mix(in srgb,var(--tc-highlight) 55%,#fff))}.tc-home-cat:hover img{transform:scale(1.035)}.tc-home-cat-overlay{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(255,255,255,.91);padding:14px 15px;border-radius:16px;display:flex;flex-direction:column;gap:2px}.tc-home-cat-overlay strong{font-size:17px}.tc-home-cat-overlay small{color:color-mix(in srgb,var(--tc-text) 60%,#fff)}.tc-home-products .woocommerce ul.products{margin-top:0!important}.tc-home-story{padding:20px 0 76px}.tc-home-story-grid{border-radius:32px;background:var(--tc-primary);color:#fff;padding:clamp(28px,5vw,58px);display:grid;grid-template-columns:1fr 1fr;gap:52px}.tc-home-story-main>span{color:var(--tc-highlight)}.tc-home-story-main h2{font-size:clamp(30px,4vw,48px);margin:0 0 16px}.tc-home-story-main p{font-size:18px;color:rgba(255,255,255,.78);margin:0}.tc-home-story-points{display:grid;gap:13px}.tc-home-story-points>div{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px 18px;display:grid;gap:3px}.tc-home-story-points strong{font-size:16px}.tc-home-story-points span{font-size:13px;color:rgba(255,255,255,.72)}.tc-home-products-last{padding-top:0}
.tc-unavailable-variations{margin:18px 0 8px}.tc-unavailable-variations label{display:block;font-weight:800;margin-bottom:7px}.tc-unavailable-variations select{width:100%;min-height:50px;border:1px solid #dfe3ea;border-radius:12px;padding:10px 12px;background:#fff;color:var(--tc-text)}.tc-unavailable-variations small{display:block;margin-top:7px;color:color-mix(in srgb,var(--tc-text) 60%,#fff)}
@media(max-width:991px){.tc-home-hero-grid{grid-template-columns:1fr}.tc-home-brand-card{min-height:280px}.tc-home-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-home-story-grid{grid-template-columns:1fr}.tc-home-story{padding-bottom:54px}}
@media(max-width:620px){.tc-home-hero{padding-top:34px}.tc-home-brand-card{min-height:230px;border-radius:26px}.tc-home-cat-grid{gap:12px}.tc-home-cat{border-radius:18px}.tc-home-heading{align-items:flex-start}.tc-home-heading>a{font-size:13px}.tc-home-story-grid{border-radius:24px;padding:26px 20px}}


/* v1.4.2 — faster/cleaner live-search presentation */
.tc-live-search-results{min-width:min(760px,calc(100vw - 40px));left:50%;right:auto;transform:translateX(-50%);padding:10px}
.tc-live-search-item{grid-template-columns:64px minmax(0,1fr) minmax(110px,auto);gap:14px;padding:10px 12px}
.tc-live-search-item>span:nth-child(2){display:flex;flex-direction:column;min-width:0}
.tc-live-search-name{display:block;font-size:15px;line-height:1.25;color:var(--tc-text);white-space:normal;overflow-wrap:anywhere}
.tc-live-search-meta{display:block!important;line-height:1.3;margin-top:4px}
.tc-live-search-price{display:block;max-width:260px;text-align:right;white-space:normal;line-height:1.25;font-size:13px;color:var(--tc-primary)}
@media(max-width:767px){.tc-live-search-results{min-width:0;left:12px;right:12px;transform:none}.tc-live-search-item{grid-template-columns:48px minmax(0,1fr)}.tc-live-search-price{grid-column:2;text-align:left;max-width:none;margin-top:4px}}

/* v1.4.7 - Strict single-product layout only. Never affects catalogue cards. */
@media (min-width: 992px) {
  body.single-product .woocommerce div.product.type-product {
    display: grid !important;
    grid-template-columns: minmax(320px, 400px) minmax(0, 1fr) !important;
    column-gap: clamp(38px, 5vw, 72px) !important;
    row-gap: 24px !important;
    align-items: start !important;
  }

  body.single-product .woocommerce div.product.type-product > .woocommerce-product-gallery,
  body.single-product .woocommerce div.product.type-product > div.images {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 400px !important;
    float: none !important;
    margin: 0 !important;
    align-self: start !important;
  }

  body.single-product .woocommerce div.product.type-product > .summary,
  body.single-product .woocommerce div.product.type-product > div.summary {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 680px !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    align-self: start !important;
  }

  body.single-product .woocommerce div.product.type-product .summary form.cart,
  body.single-product .woocommerce div.product.type-product .summary form.variations_form,
  body.single-product .woocommerce div.product.type-product .summary table.variations,
  body.single-product .woocommerce div.product.type-product .summary .single_variation_wrap {
    width: 100% !important;
    max-width: 520px !important;
    float: none !important;
    clear: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.single-product .woocommerce div.product.type-product .summary table.variations {
    margin-top: 18px !important;
    margin-bottom: 10px !important;
  }

  body.single-product .woocommerce div.product.type-product .summary form.variations_form select[name^="attribute_"],
  body.single-product .woocommerce div.product.type-product .summary form.variations_form select.woo-variation-raw-select {
    width: min(100%, 380px) !important;
    max-width: 380px !important;
  }

  body.single-product .woocommerce div.product.type-product > .woocommerce-tabs,
  body.single-product .woocommerce div.product.type-product > .related,
  body.single-product .woocommerce div.product.type-product > .upsells {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  /* Restore compact catalogue density explicitly on desktop. */
  body:not(.single-product).woocommerce ul.products,
  body:not(.single-product).woocommerce-page ul.products,
  body.single-product .related ul.products,
  body.single-product .upsells ul.products {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 24px 16px !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body:not(.single-product).woocommerce ul.products li.product,
  body:not(.single-product).woocommerce-page ul.products li.product,
  body.single-product .related ul.products li.product,
  body.single-product .upsells ul.products li.product {
    width: auto !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  body:not(.single-product).woocommerce ul.products,
  body:not(.single-product).woocommerce-page ul.products,
  body.single-product .related ul.products,
  body.single-product .upsells ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* v1.4.8 — structural single-product layout + compact desktop product grids. */
@media (min-width: 992px) {
  body.single-product .woocommerce div.product.type-product {
    display:block!important;
    max-width:1120px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.single-product .woocommerce div.product.type-product > .tc-single-main {
    display:grid!important;
    grid-template-columns:380px minmax(0,1fr)!important;
    gap:48px!important;
    align-items:start!important;
    width:100%!important;
  }
  body.single-product .tc-single-gallery-column {
    width:380px!important;
    max-width:380px!important;
    min-width:0!important;
    grid-column:1!important;
  }
  body.single-product .tc-single-summary-column {
    width:100%!important;
    max-width:640px!important;
    min-width:0!important;
    float:none!important;
    clear:none!important;
    margin:0!important;
    padding:6px 0 0!important;
    grid-column:2!important;
  }
  body.single-product .tc-single-gallery-column .woocommerce-product-gallery,
  body.single-product .tc-single-gallery-column div.images,
  body.single-product .tc-single-gallery-column .flex-viewport {
    width:380px!important;
    max-width:380px!important;
    min-width:0!important;
    float:none!important;
    margin:0!important;
  }
  body.single-product .tc-single-gallery-column .woocommerce-product-gallery__image,
  body.single-product .tc-single-gallery-column .woocommerce-product-gallery__image > a {
    width:380px!important;
    max-width:380px!important;
  }
  body.single-product .tc-single-gallery-column .woocommerce-product-gallery__image img:not(.zoomImg),
  body.single-product .tc-single-gallery-column div.images img.wp-post-image {
    width:380px!important;
    max-width:380px!important;
    height:440px!important;
    max-height:440px!important;
    object-fit:contain!important;
  }
  body.single-product .tc-single-gallery-column .flex-control-thumbs {
    width:380px!important;
    max-width:380px!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
  body.single-product .tc-single-summary-column form.cart,
  body.single-product .tc-single-summary-column form.variations_form,
  body.single-product .tc-single-summary-column table.variations,
  body.single-product .tc-single-summary-column .single_variation_wrap {
    width:100%!important;
    max-width:500px!important;
    float:none!important;
    clear:none!important;
  }
  body.single-product .tc-single-summary-column form.variations_form {
    margin-top:18px!important;
  }
  body.single-product .tc-single-summary-column .product_meta {
    margin-top:22px!important;
  }
  body.single-product .tc-single-below {
    width:100%!important;
    margin-top:42px!important;
  }

  /* Never let a catalogue card become huge, even when only 1 or 2 products exist. */
  body.woocommerce-shop ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products,
  body.post-type-archive-product ul.products,
  body.search.woocommerce ul.products,
  body.single-product .related ul.products,
  body.single-product .upsells ul.products,
  .tc-home-products ul.products {
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,220px))!important;
    gap:24px 16px!important;
    justify-content:start!important;
    align-items:start!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.woocommerce-shop ul.products li.product,
  body.tax-product_cat ul.products li.product,
  body.tax-product_tag ul.products li.product,
  body.post-type-archive-product ul.products li.product,
  body.search.woocommerce ul.products li.product,
  body.single-product .related ul.products li.product,
  body.single-product .upsells ul.products li.product,
  .tc-home-products ul.products li.product {
    width:220px!important;
    max-width:220px!important;
    min-width:0!important;
    margin:0!important;
    float:none!important;
  }
}
@media (min-width:768px) and (max-width:991px) {
  body.single-product .tc-single-main {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:28px!important}
  body.single-product .tc-single-gallery-column,
  body.single-product .tc-single-summary-column {min-width:0!important;width:100%!important;float:none!important;margin:0!important}
}
@media (max-width:767px) {
  body.single-product .tc-single-main {display:block!important}
  body.single-product .tc-single-summary-column {margin-top:24px!important}
}

/* Hard visual state for impossible purchases. */
body.single-product .single_add_to_cart_button.tc-force-disabled,
body.single-product .single_add_to_cart_button:disabled,
body.single-product .single_add_to_cart_button.disabled {
  opacity:.42!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
}


/* v1.4.9 — definitive desktop product layout and compact catalogue grids. */
@media (min-width: 992px) {
  /* Single product: only this inner wrapper controls the two-column layout. */
  body.single-product .woocommerce div.product.type-product {
    display:block!important;
    width:100%!important;
    max-width:none!important;
  }
  body.single-product .woocommerce div.product.type-product > .tc-single-main {
    display:grid!important;
    grid-template-columns:380px minmax(0,640px)!important;
    gap:48px!important;
    align-items:start!important;
    justify-content:start!important;
    width:100%!important;
    max-width:1080px!important;
    margin:0 auto!important;
  }
  body.single-product .tc-single-gallery-column {
    grid-column:1!important;
    grid-row:1!important;
    width:380px!important;
    max-width:380px!important;
    min-width:0!important;
    float:none!important;
    margin:0!important;
  }
  body.single-product .tc-single-summary-column,
  body.single-product .summary.entry-summary.tc-single-summary-column {
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    max-width:640px!important;
    min-width:0!important;
    float:none!important;
    clear:none!important;
    margin:0!important;
    padding:6px 0 0!important;
    align-self:start!important;
  }
  body.single-product .tc-single-summary-column form.cart,
  body.single-product .tc-single-summary-column form.variations_form,
  body.single-product .tc-single-summary-column table.variations,
  body.single-product .tc-single-summary-column .single_variation_wrap {
    display:block!important;
    width:100%!important;
    max-width:500px!important;
    float:none!important;
    clear:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  body.single-product .tc-single-summary-column form.cart:not(.variations_form) {
    display:flex!important;
    align-items:end!important;
    gap:12px!important;
  }
  body.single-product .tc-single-summary-column .variations_button {
    display:flex!important;
    align-items:end!important;
    gap:12px!important;
    flex-wrap:wrap!important;
  }
  body.single-product .tc-single-below {
    display:block!important;
    width:100%!important;
    max-width:1180px!important;
    margin:42px auto 0!important;
    clear:both!important;
  }

  /* Every WooCommerce product grid on desktop stays compact, including shortcodes. */
  body .woocommerce ul.products,
  body.woocommerce ul.products,
  body .wc-block-grid__products {
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,220px))!important;
    gap:24px 16px!important;
    justify-content:start!important;
    align-items:start!important;
    width:100%!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body .woocommerce ul.products li.product,
  body.woocommerce ul.products li.product {
    width:220px!important;
    max-width:220px!important;
    min-width:0!important;
    float:none!important;
    margin:0!important;
  }
  body .woocommerce ul.products li.product a img,
  body.woocommerce ul.products li.product a img {
    width:100%!important;
    max-width:220px!important;
    height:275px!important;
    object-fit:cover!important;
  }
}


/* v1.5.0 — robust single-product composition + mobile drawer. */
@media (min-width: 992px) {
  body.single-product .tc-main > .tc-container { max-width:1180px!important; }
  body.single-product .woocommerce div.product.type-product > .tc-single-main {
    display:grid!important;
    grid-template-columns:430px minmax(0,560px)!important;
    column-gap:64px!important;
    align-items:start!important;
    justify-content:center!important;
    max-width:1060px!important;
    margin:0 auto!important;
  }
  body.single-product .tc-single-gallery-column {
    grid-column:1!important; grid-row:1!important;
    width:430px!important; max-width:430px!important;
  }
  body.single-product .tc-single-summary-column,
  body.single-product .summary.entry-summary.tc-single-summary-column {
    grid-column:2!important; grid-row:1!important;
    width:100%!important; max-width:560px!important;
    margin:0!important; padding:4px 0 0!important;
    align-self:start!important;
  }
  body.single-product .tc-single-summary-column .product_title {
    margin:0 0 18px!important;
    font-size:clamp(36px,3vw,52px)!important;
  }
  body.single-product .tc-single-summary-column p.price,
  body.single-product .tc-single-summary-column span.price { margin:0 0 24px!important; }
  body.single-product .tc-single-summary-column form.variations_form,
  body.single-product .tc-single-summary-column form.cart { max-width:500px!important; }
  body.single-product .tc-single-summary-column table.variations { margin:0 0 18px!important; }
  body.single-product .tc-single-summary-column .variations_button { margin-top:12px!important; }
  body.single-product .tc-single-summary-column .product_meta { margin-top:26px!important; }

  /* Keep all catalogue/shortcode grids compact on desktop, even with only 1–2 items. */
  ul.products,
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  body.woocommerce ul.products,
  body.woocommerce-page ul.products {
    display:grid!important;
    grid-template-columns:repeat(5,220px)!important;
    gap:24px 16px!important;
    justify-content:start!important;
    align-items:start!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  ul.products > li.product,
  .woocommerce ul.products > li.product,
  .woocommerce-page ul.products > li.product {
    width:220px!important; max-width:220px!important; min-width:220px!important;
    margin:0!important; float:none!important;
  }
}

/* Mobile drawer trigger is theme-owned; Max Mega Menu stays desktop-only. */
.tc-mobile-menu-toggle{display:none;width:42px;height:42px;border:1px solid rgba(23,40,84,.13);border-radius:999px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:0;cursor:pointer}
.tc-mobile-menu-toggle span{display:block;width:18px;height:2px;background:var(--tc-text);border-radius:2px;transition:transform .22s ease,opacity .22s ease}
.tc-mobile-menu-overlay{position:fixed;inset:0;background:rgba(255,255,255,.72);backdrop-filter:blur(2px);z-index:9997}
.tc-mobile-drawer{position:fixed;z-index:9998;top:0;bottom:0;left:0;width:min(86vw,360px);background:#fff;box-shadow:18px 0 50px rgba(23,40,84,.16);transform:translateX(-105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);overflow:auto;padding:18px 18px 28px}
.tc-mobile-drawer.is-open{transform:translateX(0)}
.tc-mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(23,40,84,.09);padding:4px 2px 14px;margin-bottom:10px;color:var(--tc-text)}
.tc-mobile-drawer-head strong{font-size:18px}
.tc-mobile-menu-close{border:0;background:transparent;font-size:32px;line-height:1;color:var(--tc-primary);padding:0 6px;cursor:pointer}
.tc-mobile-menu{list-style:none;margin:0;padding:0}
.tc-mobile-menu li{position:relative;border-bottom:1px solid rgba(23,40,84,.07)}
.tc-mobile-menu li>a{display:block;padding:14px 44px 14px 4px;font-weight:850;color:var(--tc-text)}
.tc-mobile-menu .sub-menu{display:grid;grid-template-rows:0fr;overflow:hidden;list-style:none;margin:0;padding:0 0 0 14px;transition:grid-template-rows .24s ease}
.tc-mobile-menu .sub-menu>li{min-height:0}
.tc-mobile-menu li.tc-mobile-sub-open>.sub-menu{grid-template-rows:1fr}
.tc-mobile-sub-toggle{position:absolute;right:0;top:7px;width:36px;height:36px;border:0;background:transparent;color:var(--tc-primary);font-size:22px;cursor:pointer;transition:transform .22s ease}
.tc-mobile-menu li.tc-mobile-sub-open>.tc-mobile-sub-toggle{transform:rotate(180deg)}
body.tc-mobile-menu-open{overflow:hidden}

@media (max-width: 767px) {
  .tc-announcement{display:none}
  .tc-header-row{min-height:58px!important;height:58px!important;padding:5px 0!important;flex-wrap:nowrap!important}
  .tc-brand{flex:0 1 auto!important;min-width:0}
  .custom-logo,.tc-default-logo img{width:min(145px,42vw)!important;max-height:48px!important;object-fit:contain}
  .tc-nav{display:none!important}
  .tc-mobile-menu-toggle{display:inline-flex}
  .tc-actions{gap:5px!important;margin-left:auto!important}
  .tc-search-toggle,.tc-cart{height:38px!important;min-width:38px!important}
  .tc-main{padding:8px 0 32px!important}

  /* First mobile screen: product image + title + price + size + CTA all visible. */
  body.single-product .tc-main>.tc-container{width:min(calc(100% - 18px),520px)!important}
  body.single-product .woocommerce div.product.type-product,
  body.single-product .woocommerce div.product.type-product>.tc-single-main{display:block!important;margin:0!important;width:100%!important}
  body.single-product .tc-single-gallery-column{width:100%!important;max-width:none!important;margin:0!important}
  body.single-product .tc-single-gallery-column .woocommerce-product-gallery,
  body.single-product .tc-single-gallery-column div.images,
  body.single-product .tc-single-gallery-column .flex-viewport{width:100%!important;max-width:100%!important;margin:0!important}
  body.single-product .tc-single-gallery-column .woocommerce-product-gallery__image img:not(.zoomImg),
  body.single-product .tc-single-gallery-column div.images img.wp-post-image{
    width:100%!important;height:34vh!important;max-height:285px!important;min-height:190px!important;object-fit:contain!important;border-radius:16px!important
  }
  body.single-product .tc-single-gallery-column .flex-control-thumbs{display:none!important}
  body.single-product .tc-single-summary-column,
  body.single-product .summary.entry-summary.tc-single-summary-column{margin:6px 0 0!important;padding:0!important;width:100%!important;max-width:none!important}
  body.single-product .tc-single-summary-column .product_title{font-size:24px!important;line-height:1.05!important;margin:0 0 5px!important;letter-spacing:-.025em!important}
  body.single-product .tc-single-summary-column p.price,
  body.single-product .tc-single-summary-column span.price{font-size:18px!important;line-height:1.15!important;margin:0 0 8px!important}
  body.single-product .tc-single-summary-column form.variations_form,
  body.single-product .tc-single-summary-column form.cart{margin:0!important;width:100%!important;max-width:none!important}
  body.single-product .tc-single-summary-column table.variations{margin:0 0 7px!important;width:100%!important}
  body.single-product .tc-single-summary-column table.variations th.label{display:none!important}
  body.single-product .tc-single-summary-column table.variations td.value{padding:0!important;width:100%!important}
  body.single-product .tc-single-summary-column form.variations_form select[name^="attribute_"]{min-height:44px!important;height:44px!important;padding:8px 12px!important;border-radius:12px!important;font-size:15px!important}
  body.single-product .tc-single-summary-column .reset_variations{display:none!important}
  body.single-product .tc-single-summary-column .single_variation{margin:0!important;min-height:0!important}
  body.single-product .tc-single-summary-column .woocommerce-variation-price,
  body.single-product .tc-single-summary-column .woocommerce-variation-description{display:none!important}
  body.single-product .tc-single-summary-column .variations_button,
  body.single-product .tc-single-summary-column form.cart:not(.variations_form){display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;margin-top:7px!important}
  body.single-product .tc-single-summary-column .quantity .qty{width:58px!important;min-height:44px!important;height:44px!important}
  body.single-product .tc-single-summary-column .single_add_to_cart_button{width:100%!important;min-height:44px!important;height:44px!important;padding:8px 12px!important;margin:0!important}
  body.single-product .tc-single-summary-column .product_meta{display:none!important}
  body.single-product .tc-single-below{margin-top:24px!important}
}

/* === v1.5.1 — final responsive menu, cart icon, product layout and grids === */
.tc-cart{padding:0!important;width:44px!important;min-width:44px!important;gap:0!important}
.tc-cart-icon{display:block;width:21px;height:21px}
.tc-cart-count{position:absolute!important;right:-5px!important;top:-5px!important;min-width:18px!important;height:18px!important;font-size:10px!important;padding:0 4px!important}

/* Mobile accordion: completely remove closed submenus from layout to prevent overlap. */
.tc-mobile-menu .sub-menu{
  display:block!important;
  max-height:0!important;
  opacity:0!important;
  visibility:hidden!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0 0 0 14px!important;
  transform:translateY(-4px);
  transition:max-height .28s ease,opacity .18s ease,transform .22s ease,visibility 0s linear .28s!important;
}
.tc-mobile-menu li.tc-mobile-sub-open>.sub-menu{
  max-height:1200px!important;
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0);
  transition:max-height .32s ease,opacity .18s ease,transform .22s ease,visibility 0s!important;
}
.tc-mobile-menu .sub-menu>li{display:block!important;min-height:0!important;width:100%!important}
.tc-mobile-menu .sub-menu>li>a{display:block!important;padding:11px 42px 11px 4px!important;font-weight:700!important}

@media (min-width:992px){
  /* Product page: gallery left, ALL purchase information right. */
  body.single-product .woocommerce div.product.type-product{display:block!important;width:100%!important;max-width:none!important}
  body.single-product .woocommerce div.product.type-product>.tc-single-main{
    display:grid!important;
    grid-template-columns:minmax(320px,430px) minmax(0,560px)!important;
    grid-template-areas:"gallery summary"!important;
    column-gap:56px!important;
    row-gap:0!important;
    align-items:start!important;
    justify-content:center!important;
    width:100%!important;
    max-width:1080px!important;
    margin:0 auto!important;
  }
  body.single-product .tc-single-gallery-column{grid-area:gallery!important;width:100%!important;max-width:430px!important;min-width:0!important;margin:0!important;float:none!important}
  body.single-product .tc-single-summary-column,
  body.single-product .summary.entry-summary.tc-single-summary-column{grid-area:summary!important;width:100%!important;max-width:560px!important;min-width:0!important;margin:0!important;padding:0!important;float:none!important;clear:none!important}
  body.single-product .tc-single-gallery-column .woocommerce-product-gallery,
  body.single-product .tc-single-gallery-column div.images,
  body.single-product .tc-single-gallery-column .flex-viewport{width:100%!important;max-width:430px!important;float:none!important;margin:0!important}
  /* FlexSlider MUST keep its computed multi-slide wrapper width. */
  body.single-product .tc-single-gallery-column .woocommerce-product-gallery__wrapper{max-width:none!important}
  body.single-product .tc-single-gallery-column .woocommerce-product-gallery__image,
  body.single-product .tc-single-gallery-column .woocommerce-product-gallery__image>a{width:100%!important;max-width:430px!important}
  body.single-product .tc-single-gallery-column .woocommerce-product-gallery__image img:not(.zoomImg),
  body.single-product .tc-single-gallery-column div.images img.wp-post-image{width:100%!important;max-width:430px!important;height:470px!important;max-height:470px!important;object-fit:contain!important}
  body.single-product .tc-single-summary-column form.cart,
  body.single-product .tc-single-summary-column form.variations_form,
  body.single-product .tc-single-summary-column table.variations,
  body.single-product .tc-single-summary-column .single_variation_wrap{width:100%!important;max-width:500px!important;float:none!important;margin-left:0!important;margin-right:0!important}

  /* Every WooCommerce product listing: exactly 5 responsive columns. */
  body ul.products,
  body .woocommerce ul.products,
  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body .wc-block-product-template,
  body .wp-block-woocommerce-product-template{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:24px 16px!important;
    width:100%!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    align-items:stretch!important;
  }
  body ul.products>li.product,
  body .woocommerce ul.products>li.product,
  body.woocommerce ul.products>li.product,
  body.woocommerce-page ul.products>li.product,
  body .wc-block-product-template>li,
  body .wp-block-woocommerce-product-template>li{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    float:none!important;
  }
  body .woocommerce ul.products li.product a img,
  body.woocommerce ul.products li.product a img{width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:4/5!important;object-fit:cover!important}
}

@media (max-width:767px){
  .tc-cart{width:38px!important;min-width:38px!important;height:38px!important;padding:0!important}
  .tc-cart-icon{width:20px;height:20px}

  /* Every WooCommerce product listing: exactly 2 columns on phones. */
  body ul.products,
  body .woocommerce ul.products,
  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body .wc-block-product-template,
  body .wp-block-woocommerce-product-template{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px 10px!important;
    width:100%!important;
  }
  body ul.products>li.product,
  body .woocommerce ul.products>li.product,
  body.woocommerce ul.products>li.product,
  body.woocommerce-page ul.products>li.product,
  body .wc-block-product-template>li,
  body .wp-block-woocommerce-product-template>li{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    float:none!important;
  }
}

/* === v1.5.2 — authoritative catalogue + single product layout === */
@media (min-width: 992px) {
  body.single-product .woocommerce div.product.type-product,
  body.single-product div.product.type-product {
    display:block!important;
    grid-template-columns:none!important;
    gap:0!important;
    width:100%!important;
    max-width:none!important;
  }
  body.single-product div.product.type-product > .tc-single-main {
    display:grid!important;
    grid-template-columns:minmax(0,430px) minmax(0,560px)!important;
    grid-template-areas:"gallery summary"!important;
    gap:0 56px!important;
    align-items:start!important;
    justify-content:center!important;
    width:100%!important;
    max-width:1080px!important;
    margin:0 auto!important;
  }
  body.single-product .tc-single-gallery-column {
    grid-area:gallery!important;
    width:100%!important;
    max-width:430px!important;
    min-width:0!important;
    float:none!important;
    clear:none!important;
    margin:0!important;
  }
  body.single-product .tc-single-summary-column,
  body.single-product div.summary.tc-single-summary-column,
  body.single-product .summary.entry-summary.tc-single-summary-column {
    grid-area:summary!important;
    width:100%!important;
    max-width:560px!important;
    min-width:0!important;
    float:none!important;
    clear:none!important;
    margin:0!important;
    padding:0!important;
  }
  body.single-product .tc-single-below {
    display:block!important;
    width:100%!important;
    clear:both!important;
  }

  /* exactly 5 compact cards per row */
  body:not(.single-product) ul.products,
  body:not(.single-product) .woocommerce ul.products,
  body.single-product .related ul.products,
  body.single-product .upsells ul.products,
  body .tc-home-products ul.products {
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:18px 12px!important;
    width:100%!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0!important;
  }
  body:not(.single-product) ul.products > li.product,
  body:not(.single-product) .woocommerce ul.products > li.product,
  body.single-product .related ul.products > li.product,
  body.single-product .upsells ul.products > li.product,
  body .tc-home-products ul.products > li.product {
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    float:none!important;
    clear:none!important;
    margin:0!important;
    padding-bottom:10px!important;
  }
  body .woocommerce ul.products li.product a img,
  body .tc-home-products ul.products li.product a img {
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    object-fit:contain!important;
    margin-bottom:8px!important;
  }
  body .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body .tc-home-products ul.products li.product .woocommerce-loop-product__title {
    min-height:0!important;
    font-size:13px!important;
    line-height:1.2!important;
    padding:0 10px!important;
    margin:0 0 5px!important;
  }
  body .woocommerce ul.products li.product .price,
  body .tc-home-products ul.products li.product .price {
    font-size:13px!important;
    padding:0 10px!important;
  }
}

@media (max-width: 767px) {
  /* compact 2-column product lists */
  body:not(.single-product) ul.products,
  body:not(.single-product) .woocommerce ul.products,
  body.single-product .related ul.products,
  body.single-product .upsells ul.products,
  body .tc-home-products ul.products {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px 8px!important;
    padding:0!important;
    margin:14px 0!important;
  }
  body:not(.single-product) ul.products > li.product,
  body:not(.single-product) .woocommerce ul.products > li.product,
  body.single-product .related ul.products > li.product,
  body.single-product .upsells ul.products > li.product,
  body .tc-home-products ul.products > li.product {
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    float:none!important;
    clear:none!important;
    margin:0!important;
    padding-bottom:7px!important;
    border-radius:12px!important;
  }
  body .woocommerce ul.products li.product a img,
  body .tc-home-products ul.products li.product a img {
    aspect-ratio:1/1!important;
    height:auto!important;
    object-fit:contain!important;
    margin-bottom:5px!important;
  }
  body .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body .tc-home-products ul.products li.product .woocommerce-loop-product__title {
    min-height:0!important;
    font-size:11.5px!important;
    line-height:1.15!important;
    padding:0 7px!important;
    margin:0 0 3px!important;
  }
  body .woocommerce ul.products li.product .price,
  body .tc-home-products ul.products li.product .price {
    font-size:11.5px!important;
    line-height:1.15!important;
    padding:0 7px!important;
    margin-bottom:3px!important;
  }
  body .woocommerce ul.products li.product .button,
  body .tc-home-products ul.products li.product .button {
    min-height:34px!important;
    width:calc(100% - 14px)!important;
    margin:5px 7px 0!important;
    padding:7px 5px!important;
    font-size:10.5px!important;
  }

  /* single product: reduce above-the-fold height so size is immediately visible */
  body.single-product .tc-main{padding-top:4px!important}
  body.single-product .woocommerce-breadcrumb{display:none!important}
  body.single-product .tc-single-gallery-column .woocommerce-product-gallery__image img:not(.zoomImg),
  body.single-product .tc-single-gallery-column div.images img.wp-post-image {
    height:205px!important;
    min-height:0!important;
    max-height:205px!important;
    object-fit:contain!important;
  }
  body.single-product .tc-single-summary-column,
  body.single-product .summary.entry-summary.tc-single-summary-column {margin-top:2px!important}
  body.single-product .tc-single-summary-column .product_title {
    font-size:20px!important;
    line-height:1.05!important;
    margin:0 0 3px!important;
  }
  body.single-product .tc-single-summary-column p.price,
  body.single-product .tc-single-summary-column span.price {
    font-size:17px!important;
    margin:0 0 4px!important;
  }
  body.single-product .tc-single-summary-column form.variations_form,
  body.single-product .tc-single-summary-column form.cart {margin-top:0!important}
  body.single-product .tc-single-summary-column table.variations {margin:0 0 4px!important}
  body.single-product .tc-single-summary-column table.variations td,
  body.single-product .tc-single-summary-column table.variations th {padding-top:0!important;padding-bottom:0!important}
}

/* === v1.5.3 — definitive gallery + catalogue/related grids === */
/* Never use content-visibility on WooCommerce cards: it caused blank cards on some mobiles. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product{
  content-visibility:visible!important;
  contain:none!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Single product gallery: preserve FlexSlider's own wrapper geometry. */
body.single-product .tc-single-gallery-column .woocommerce-product-gallery,
body.single-product .tc-single-gallery-column div.images,
body.single-product .tc-single-gallery-column .flex-viewport{
  overflow:hidden!important;
}
body.single-product .tc-single-gallery-column .woocommerce-product-gallery__wrapper{
  max-width:none!important;
  min-width:0!important;
  /* Do not set width here: FlexSlider computes it dynamically for all slides. */
}
body.single-product .tc-single-gallery-column .woocommerce-product-gallery__image,
body.single-product .tc-single-gallery-column .woocommerce-product-gallery__image>a{
  min-width:0!important;
}
body.single-product .tc-single-gallery-column .woocommerce-product-gallery__image img:not(.zoomImg){
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
}

@media (min-width:992px){
  /* ALL product lists, including related products and plugin-refreshed archives: 5 compact cards. */
  body .woocommerce ul.products,
  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body ul.products,
  body.single-product .related ul.products,
  body.single-product .upsells ul.products,
  body .tc-home-products ul.products{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,220px))!important;
    grid-auto-flow:row!important;
    gap:18px 12px!important;
    justify-content:start!important;
    align-items:start!important;
    width:100%!important;
    max-width:1148px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0!important;
  }
  body .woocommerce ul.products>li.product,
  body.woocommerce ul.products>li.product,
  body.woocommerce-page ul.products>li.product,
  body ul.products>li.product,
  body.single-product .related ul.products>li.product,
  body.single-product .upsells ul.products>li.product,
  body .tc-home-products ul.products>li.product{
    display:block!important;
    width:220px!important;
    max-width:220px!important;
    min-width:0!important;
    float:none!important;
    clear:none!important;
    margin:0!important;
    visibility:visible!important;
    opacity:1!important;
  }
  body .woocommerce ul.products li.product a img,
  body.single-product .related ul.products li.product a img,
  body.single-product .upsells ul.products li.product a img,
  body .tc-home-products ul.products li.product a img{
    display:block!important;
    width:100%!important;
    max-width:220px!important;
    height:250px!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    margin:0 0 8px!important;
  }
  body.single-product .related,
  body.single-product .upsells{
    width:100%!important;
    max-width:1148px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media (max-width:767px){
  /* Product archives and related products: always visible, 2 cards per row. */
  body .woocommerce ul.products,
  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body ul.products,
  body.single-product .related ul.products,
  body.single-product .upsells ul.products,
  body .tc-home-products ul.products{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:12px 8px!important;
    width:100%!important;
    padding:0!important;
    visibility:visible!important;
    opacity:1!important;
  }
  body .woocommerce ul.products>li.product,
  body.woocommerce ul.products>li.product,
  body.woocommerce-page ul.products>li.product,
  body ul.products>li.product,
  body.single-product .related ul.products>li.product,
  body.single-product .upsells ul.products>li.product,
  body .tc-home-products ul.products>li.product{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    float:none!important;
    clear:none!important;
    margin:0!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
  }
}

/* === v1.5.4 — stable first-paint product grids + compact mobile cards === */
/* Product grids are CSS-only so they do not resize after JavaScript/AJAX initialisation. */
@media (min-width:992px){
  body:not(.single-product) .woocommerce ul.products,
  body:not(.single-product).woocommerce ul.products,
  body:not(.single-product).woocommerce-page ul.products,
  body.single-product .tc-single-below section.related.products ul.products,
  body.single-product .tc-single-below section.upsells.products ul.products,
  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products,
  body .tc-home-products .woocommerce ul.products{
    display:grid!important;
    grid-template-columns:repeat(5,210px)!important;
    grid-auto-columns:210px!important;
    grid-auto-flow:row!important;
    gap:18px 14px!important;
    justify-content:start!important;
    align-items:start!important;
    width:100%!important;
    max-width:1106px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0!important;
    list-style:none!important;
  }
  body:not(.single-product) .woocommerce ul.products > li.product,
  body:not(.single-product).woocommerce ul.products > li.product,
  body:not(.single-product).woocommerce-page ul.products > li.product,
  body.single-product .tc-single-below section.related.products ul.products > li.product,
  body.single-product .tc-single-below section.upsells.products ul.products > li.product,
  body.single-product .related.products ul.products > li.product,
  body.single-product .upsells.products ul.products > li.product,
  body .tc-home-products .woocommerce ul.products > li.product{
    display:flex!important;
    flex-direction:column!important;
    width:210px!important;
    min-width:210px!important;
    max-width:210px!important;
    height:auto!important;
    float:none!important;
    clear:none!important;
    margin:0!important;
    box-sizing:border-box!important;
    align-self:start!important;
  }
  body .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
  body .woocommerce ul.products li.product a.woocommerce-loop-product__link{
    display:block!important;
    width:100%!important;
  }
  body .woocommerce ul.products li.product a img,
  body .tc-home-products ul.products li.product a img{
    width:100%!important;
    height:235px!important;
    max-width:210px!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0 0 7px!important;
  }
  body.single-product .tc-single-below .related.products,
  body.single-product .tc-single-below .upsells.products{
    width:100%!important;
    max-width:1106px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.single-product .tc-single-below .related.products > h2,
  body.single-product .tc-single-below .upsells.products > h2{
    margin-bottom:18px!important;
  }
}

@media (max-width:767px){
  body:not(.single-product) .woocommerce ul.products,
  body:not(.single-product).woocommerce ul.products,
  body:not(.single-product).woocommerce-page ul.products,
  body.single-product .tc-single-below section.related.products ul.products,
  body.single-product .tc-single-below section.upsells.products ul.products,
  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products,
  body .tc-home-products .woocommerce ul.products{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px 8px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    align-items:start!important;
    list-style:none!important;
  }
  body .woocommerce ul.products > li.product,
  body .tc-home-products ul.products > li.product{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    padding:7px!important;
    float:none!important;
    clear:none!important;
    box-sizing:border-box!important;
    visibility:visible!important;
    opacity:1!important;
    content-visibility:visible!important;
    contain:none!important;
  }
  body .woocommerce ul.products li.product a img,
  body .tc-home-products ul.products li.product a img{
    width:100%!important;
    height:142px!important;
    max-height:142px!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    margin:0 0 5px!important;
  }
  body .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body .tc-home-products ul.products li.product .woocommerce-loop-product__title{
    font-size:12px!important;
    line-height:1.15!important;
    min-height:0!important;
    margin:3px 0 4px!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  body .woocommerce ul.products li.product .price,
  body .tc-home-products ul.products li.product .price{
    font-size:11.5px!important;
    line-height:1.2!important;
    margin:0 0 4px!important;
  }
  body .woocommerce ul.products li.product .tc-loop-variation-form{
    display:grid!important;
    gap:5px!important;
    padding:0!important;
    margin:4px 0 0!important;
  }
  body .woocommerce ul.products li.product .tc-loop-variation-form label,
  body .woocommerce ul.products li.product .tc-loop-variation-form .tc-loop-variation-label{
    font-size:10px!important;
    line-height:1!important;
    margin:0!important;
  }
  body .woocommerce ul.products li.product .tc-loop-variation-select{
    min-height:36px!important;
    height:36px!important;
    padding:5px 25px 5px 7px!important;
    border-radius:8px!important;
    font-size:11px!important;
  }
  body .woocommerce ul.products li.product .button,
  body .woocommerce ul.products li.product .tc-loop-add-button,
  body .tc-home-products ul.products li.product .button{
    min-height:36px!important;
    height:36px!important;
    padding:7px 5px!important;
    margin:0!important;
    border-radius:10px!important;
    font-size:10.5px!important;
    line-height:1.05!important;
    white-space:normal!important;
  }
  /* PhotoSwipe: backdrop is intentionally clickable; JS closes on tap outside image. */
  .pswp__bg{cursor:pointer!important}
}

/* === v1.5.5 — authoritative catalogue grid + compact mobile cards === */
/* Keep the validated single-product information layout untouched. */
@media (min-width:992px){
  html body:not(.single-product) main ul.products,
  html body:not(.single-product) #primary ul.products,
  html body:not(.single-product) .site-main ul.products,
  html body:not(.single-product) .woocommerce ul.products,
  html body.woocommerce:not(.single-product) ul.products,
  html body.woocommerce-page:not(.single-product) ul.products,
  html body.single-product section.related.products ul.products,
  html body.single-product section.upsells.products ul.products,
  html body.single-product .tc-single-below ul.products,
  html body .tc-home-products ul.products{
    display:grid!important;
    grid-template-columns:repeat(5, minmax(0, 210px))!important;
    grid-auto-columns:210px!important;
    grid-auto-flow:row!important;
    gap:18px 14px!important;
    justify-content:start!important;
    align-items:start!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:0!important;
    float:none!important;
    clear:both!important;
  }
  html body:not(.single-product) ul.products > li.product,
  html body.single-product section.related.products ul.products > li.product,
  html body.single-product section.upsells.products ul.products > li.product,
  html body.single-product .tc-single-below ul.products > li.product,
  html body .tc-home-products ul.products > li.product{
    display:flex!important;
    flex-direction:column!important;
    grid-column:auto!important;
    width:210px!important;
    min-width:210px!important;
    max-width:210px!important;
    margin:0!important;
    float:none!important;
    clear:none!important;
    box-sizing:border-box!important;
  }
  html body:not(.single-product) ul.products > li.product:nth-child(n),
  html body.single-product section.related.products ul.products > li.product:nth-child(n),
  html body.single-product section.upsells.products ul.products > li.product:nth-child(n){
    margin-right:0!important;
    margin-left:0!important;
    clear:none!important;
  }
}

/* Centre every Add to cart control without moving the validated product details. */
html body .woocommerce a.button,
html body .woocommerce button.button,
html body .woocommerce input.button,
html body .tc-loop-add-button,
html body.single-product .single_add_to_cart_button{
  text-align:center!important;
  justify-content:center!important;
  align-items:center!important;
}
html body .woocommerce ul.products li.product .button,
html body .woocommerce ul.products li.product .tc-loop-add-button{
  display:flex!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
html body.single-product .tc-single-summary-column .woocommerce-variation-add-to-cart,
html body.single-product .tc-single-summary-column form.cart:not(.variations_form){
  justify-content:center!important;
}

@media (max-width:767px){
  html body:not(.single-product) main ul.products,
  html body:not(.single-product) #primary ul.products,
  html body:not(.single-product) .site-main ul.products,
  html body:not(.single-product) .woocommerce ul.products,
  html body.woocommerce:not(.single-product) ul.products,
  html body.woocommerce-page:not(.single-product) ul.products,
  html body.single-product section.related.products ul.products,
  html body.single-product section.upsells.products ul.products,
  html body .tc-home-products ul.products{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px 6px!important;
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    margin:0!important;
  }
  html body .woocommerce ul.products > li.product,
  html body.woocommerce ul.products > li.product,
  html body.woocommerce-page ul.products > li.product,
  html body.single-product section.related.products ul.products > li.product,
  html body.single-product section.upsells.products ul.products > li.product,
  html body .tc-home-products ul.products > li.product{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:5px!important;
    float:none!important;
    clear:none!important;
  }
  html body .woocommerce ul.products li.product a img,
  html body .tc-home-products ul.products li.product a img{
    height:112px!important;
    max-height:112px!important;
    width:100%!important;
    object-fit:contain!important;
    margin:0 0 3px!important;
  }
  html body .woocommerce ul.products li.product .woocommerce-loop-product__title,
  html body .tc-home-products ul.products li.product .woocommerce-loop-product__title{
    font-size:11px!important;
    line-height:1.1!important;
    margin:2px 0 3px!important;
    -webkit-line-clamp:2!important;
  }
  html body .woocommerce ul.products li.product .price,
  html body .tc-home-products ul.products li.product .price{
    font-size:10.5px!important;
    line-height:1.1!important;
    margin:0 0 3px!important;
  }
  html body .woocommerce ul.products li.product .tc-loop-variation-form{
    gap:3px!important;
    margin-top:2px!important;
  }
  html body .woocommerce ul.products li.product .tc-loop-variation-form label,
  html body .woocommerce ul.products li.product .tc-loop-variation-label{
    font-size:9px!important;
  }
  html body .woocommerce ul.products li.product .tc-loop-variation-select{
    height:31px!important;
    min-height:31px!important;
    padding:3px 22px 3px 6px!important;
    font-size:10px!important;
    border-radius:7px!important;
  }
  html body .woocommerce ul.products li.product .button,
  html body .woocommerce ul.products li.product .tc-loop-add-button,
  html body .tc-home-products ul.products li.product .button{
    height:31px!important;
    min-height:31px!important;
    padding:4px!important;
    font-size:9.5px!important;
    line-height:1!important;
    border-radius:8px!important;
  }
}

/* v1.5.7 — definitive catalogue grid. Broad selectors are intentional because
   BeRocket/WooCommerce can replace the loop wrapper after the initial render. */
@media (min-width: 992px) {
  body:not(.single-product) ul.products,
  body.single-product section.related ul.products,
  body.single-product section.upsells ul.products,
  body .tc-home-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(5, 210px) !important;
    grid-auto-flow: row !important;
    gap: 18px 14px !important;
    justify-content: start !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    list-style: none !important;
  }
  body:not(.single-product) ul.products > li.product,
  body.single-product section.related ul.products > li.product,
  body.single-product section.upsells ul.products > li.product,
  body .tc-home-products ul.products > li.product {
    display: flex !important;
    flex-direction: column !important;
    width: 210px !important;
    min-width: 210px !important;
    max-width: 210px !important;
    height: auto !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    box-sizing: border-box !important;
  }
  body:not(.single-product) ul.products > li.product a img,
  body.single-product section.related ul.products > li.product a img,
  body.single-product section.upsells ul.products > li.product a img,
  body .tc-home-products ul.products > li.product a img {
    width: 100% !important;
    height: 235px !important;
    max-height: 235px !important;
    object-fit: contain !important;
  }
}

@media (max-width: 767px) {
  body:not(.single-product) ul.products,
  body.single-product section.related ul.products,
  body.single-product section.upsells ul.products,
  body .tc-home-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    grid-auto-flow: row !important;
    gap: 6px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body:not(.single-product) ul.products > li.product,
  body.single-product section.related ul.products > li.product,
  body.single-product section.upsells ul.products > li.product,
  body .tc-home-products ul.products > li.product {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 3px !important;
    float: none !important;
    clear: none !important;
    box-sizing: border-box !important;
    content-visibility: visible !important;
    contain: none !important;
  }
  body:not(.single-product) ul.products > li.product a img,
  body.single-product section.related ul.products > li.product a img,
  body.single-product section.upsells ul.products > li.product a img,
  body .tc-home-products ul.products > li.product a img {
    width: 100% !important;
    height: 82px !important;
    max-height: 82px !important;
    object-fit: contain !important;
    margin: 0 0 2px !important;
  }
  body:not(.single-product) ul.products > li.product .woocommerce-loop-product__title,
  body.single-product section.related ul.products > li.product .woocommerce-loop-product__title,
  body.single-product section.upsells ul.products > li.product .woocommerce-loop-product__title {
    font-size: 9.5px !important;
    line-height: 1.05 !important;
    margin: 1px 0 2px !important;
  }
  body:not(.single-product) ul.products > li.product .price,
  body.single-product section.related ul.products > li.product .price,
  body.single-product section.upsells ul.products > li.product .price {
    font-size: 9px !important;
    line-height: 1.05 !important;
    margin: 0 0 2px !important;
  }
  body:not(.single-product) ul.products > li.product .tc-loop-variation-select,
  body.single-product section.related ul.products > li.product .tc-loop-variation-select,
  body.single-product section.upsells ul.products > li.product .tc-loop-variation-select {
    height: 27px !important;
    min-height: 27px !important;
    font-size: 8.5px !important;
    padding-top: 2px !important;
    padding-bottom: 2px !important;
  }
  body:not(.single-product) ul.products > li.product .button,
  body:not(.single-product) ul.products > li.product .tc-loop-add-button,
  body.single-product section.related ul.products > li.product .button,
  body.single-product section.related ul.products > li.product .tc-loop-add-button,
  body.single-product section.upsells ul.products > li.product .button,
  body.single-product section.upsells ul.products > li.product .tc-loop-add-button {
    height: 28px !important;
    min-height: 28px !important;
    font-size: 8.5px !important;
    padding: 3px !important;
  }
}

/* v1.5.9 — definitive product-loop layout loaded in the HEAD.
   This intentionally overrides every older loop rule in this stylesheet so
   there is no head -> footer layout swap while the page is loading. */
@media (min-width: 992px) {
  html body:not(.single-product) main ul.products,
  html body:not(.single-product) #primary ul.products,
  html body:not(.single-product) .site-main ul.products,
  html body.woocommerce:not(.single-product) ul.products,
  html body.woocommerce-page:not(.single-product) ul.products,
  html body.single-product section.related.products ul.products,
  html body.single-product section.upsells.products ul.products,
  html body.single-product .tc-single-below ul.products,
  html body .tc-home-products ul.products {
    display:grid!important;
    grid-template-columns:repeat(5,210px)!important;
    grid-auto-columns:210px!important;
    grid-auto-flow:row!important;
    gap:18px 14px!important;
    justify-content:start!important;
    align-items:start!important;
    width:100%!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0!important;
    float:none!important;
    clear:both!important;
    list-style:none!important;
  }
  html body:not(.single-product) main ul.products > li.product,
  html body:not(.single-product) #primary ul.products > li.product,
  html body:not(.single-product) .site-main ul.products > li.product,
  html body.woocommerce:not(.single-product) ul.products > li.product,
  html body.woocommerce-page:not(.single-product) ul.products > li.product,
  html body.single-product section.related.products ul.products > li.product,
  html body.single-product section.upsells.products ul.products > li.product,
  html body.single-product .tc-single-below ul.products > li.product,
  html body .tc-home-products ul.products > li.product {
    display:flex!important;
    flex-direction:column!important;
    grid-column:auto!important;
    grid-row:auto!important;
    width:210px!important;
    min-width:210px!important;
    max-width:210px!important;
    height:auto!important;
    margin:0!important;
    padding:8px!important;
    float:none!important;
    clear:none!important;
    box-sizing:border-box!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
  }
  html body:not(.single-product) ul.products > li.product a img,
  html body.single-product section.related.products ul.products > li.product a img,
  html body.single-product section.upsells.products ul.products > li.product a img,
  html body.single-product .tc-single-below ul.products > li.product a img,
  html body .tc-home-products ul.products > li.product a img {
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:235px!important;
    max-height:235px!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0 0 8px!important;
  }
}

@media (max-width: 767px) {
  html body:not(.single-product) main ul.products,
  html body:not(.single-product) #primary ul.products,
  html body:not(.single-product) .site-main ul.products,
  html body.woocommerce:not(.single-product) ul.products,
  html body.woocommerce-page:not(.single-product) ul.products,
  html body.single-product section.related.products ul.products,
  html body.single-product section.upsells.products ul.products,
  html body.single-product .tc-single-below ul.products,
  html body .tc-home-products ul.products {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    gap:16px!important;
    align-items:start!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
    clear:both!important;
    list-style:none!important;
  }
  html body:not(.single-product) ul.products > li.product,
  html body.woocommerce:not(.single-product) ul.products > li.product,
  html body.woocommerce-page:not(.single-product) ul.products > li.product,
  html body.single-product section.related.products ul.products > li.product,
  html body.single-product section.upsells.products ul.products > li.product,
  html body.single-product .tc-single-below ul.products > li.product,
  html body .tc-home-products ul.products > li.product {
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:460px!important;
    height:auto!important;
    margin:0 auto!important;
    padding:12px!important;
    float:none!important;
    clear:none!important;
    box-sizing:border-box!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    content-visibility:visible!important;
    contain:none!important;
  }
  html body:not(.single-product) ul.products > li.product a img,
  html body.single-product section.related.products ul.products > li.product a img,
  html body.single-product section.upsells.products ul.products > li.product a img,
  html body.single-product .tc-single-below ul.products > li.product a img,
  html body .tc-home-products ul.products > li.product a img {
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:250px!important;
    max-height:250px!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0 0 9px!important;
  }
  html body ul.products > li.product .woocommerce-loop-product__title {
    font-size:15px!important;
    line-height:1.2!important;
    min-height:0!important;
    margin:4px 0 5px!important;
  }
  html body ul.products > li.product .price {
    font-size:14px!important;
    line-height:1.2!important;
    margin:0 0 7px!important;
  }
  html body ul.products > li.product .tc-loop-variation-form {
    display:grid!important;
    gap:7px!important;
    margin:5px 0 0!important;
    padding:0!important;
  }
  html body ul.products > li.product .tc-loop-variation-select {
    width:100%!important;
    min-height:42px!important;
    height:42px!important;
    padding:8px 34px 8px 10px!important;
    border-radius:10px!important;
    font-size:13px!important;
  }
  html body ul.products > li.product .button,
  html body ul.products > li.product .tc-loop-add-button {
    display:flex!important;
    width:100%!important;
    min-height:44px!important;
    height:44px!important;
    margin:0!important;
    padding:8px 10px!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    border-radius:11px!important;
    font-size:13px!important;
    line-height:1.1!important;
  }

  /* Slightly larger main image on the validated mobile single-product layout. */
  body.single-product .tc-single-gallery-column .woocommerce-product-gallery__image img:not(.zoomImg),
  body.single-product .tc-single-gallery-column div.images img.wp-post-image {
    height:38vh!important;
    max-height:320px!important;
    min-height:220px!important;
    object-fit:contain!important;
  }
}


/* v1.6.0 — final mobile sizing and centered add-to-cart.
   Kept after all previous rules so the validated desktop layout remains untouched. */
@media (max-width: 767px) {
  html body:not(.single-product) ul.products > li.product,
  html body.woocommerce:not(.single-product) ul.products > li.product,
  html body.woocommerce-page:not(.single-product) ul.products > li.product,
  html body.single-product section.related.products ul.products > li.product,
  html body.single-product section.upsells.products ul.products > li.product,
  html body.single-product .tc-single-below ul.products > li.product,
  html body .tc-home-products ul.products > li.product {
    max-width:480px!important;
    padding:14px!important;
  }

  html body:not(.single-product) ul.products > li.product a img,
  html body.single-product section.related.products ul.products > li.product a img,
  html body.single-product section.upsells.products ul.products > li.product a img,
  html body.single-product .tc-single-below ul.products > li.product a img,
  html body .tc-home-products ul.products > li.product a img {
    height:285px!important;
    max-height:285px!important;
  }

  html body ul.products > li.product .button,
  html body ul.products > li.product .tc-loop-add-button {
    width:min(88%,360px)!important;
    max-width:360px!important;
    margin:8px auto 0!important;
    align-self:center!important;
    justify-content:center!important;
    text-align:center!important;
  }

  body.single-product .tc-single-gallery-column .woocommerce-product-gallery__image img:not(.zoomImg),
  body.single-product .tc-single-gallery-column div.images img.wp-post-image {
    height:42vh!important;
    max-height:350px!important;
    min-height:245px!important;
    object-fit:contain!important;
  }

  body.single-product .tc-single-summary-column .woocommerce-variation-add-to-cart,
  body.single-product .tc-single-summary-column form.cart:not(.variations_form) {
    justify-content:center!important;
  }
  body.single-product .tc-single-summary-column .single_add_to_cart_button {
    max-width:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* === v1.6.1 — final mobile readability + configurable color filter === */
.tc-color-filter{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  width:100%;
  margin:4px 0 18px;
  padding:12px 14px;
  border:1px solid rgba(23,40,84,.09);
  border-radius:16px;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 28px rgba(23,40,84,.06);
}
.tc-color-filter-title{font-size:14px;font-weight:850;color:var(--tc-text);margin-right:2px}
.tc-color-filter-swatches{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.tc-color-filter-swatch{
  position:relative;
  display:inline-flex;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:999px;
  background:var(--tc-swatch);
  border:3px solid #fff;
  box-shadow:0 0 0 1px rgba(23,40,84,.14),0 4px 10px rgba(23,40,84,.10);
  transition:transform .18s ease,box-shadow .18s ease;
}
.tc-color-filter-swatch:hover{transform:translateY(-2px) scale(1.06);box-shadow:0 0 0 2px rgba(23,40,84,.18),0 7px 16px rgba(23,40,84,.14)}
.tc-color-filter-swatch.is-active{box-shadow:0 0 0 3px var(--tc-text),0 7px 16px rgba(23,40,84,.15);transform:scale(1.06)}
.tc-color-filter-swatch.is-active::after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:900;font-size:14px;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.tc-color-filter-reset{margin-left:auto;font-size:12px;font-weight:800;color:var(--tc-primary);text-decoration:none}

@media (max-width:767px){
  /* Bigger, easier-to-read product information while keeping one full card per row. */
  html body ul.products > li.product .woocommerce-loop-product__title,
  html body .woocommerce ul.products > li.product .woocommerce-loop-product__title,
  html body .tc-home-products ul.products > li.product .woocommerce-loop-product__title{
    font-size:18px!important;
    line-height:1.18!important;
    margin:7px 0 7px!important;
    font-weight:850!important;
  }
  html body ul.products > li.product .price,
  html body .woocommerce ul.products > li.product .price,
  html body .tc-home-products ul.products > li.product .price{
    font-size:17px!important;
    line-height:1.2!important;
    margin:0 0 10px!important;
    font-weight:850!important;
  }
  html body ul.products > li.product .tc-loop-variation-form,
  html body .woocommerce ul.products > li.product .tc-loop-variation-form{
    gap:8px!important;
    margin-top:6px!important;
  }
  html body ul.products > li.product .tc-loop-variation-form label,
  html body .woocommerce ul.products > li.product .tc-loop-variation-form label,
  html body ul.products > li.product .tc-loop-variation-label{
    font-size:14px!important;
    line-height:1.1!important;
    font-weight:800!important;
  }
  html body ul.products > li.product .tc-loop-variation-select,
  html body .woocommerce ul.products > li.product .tc-loop-variation-select{
    min-height:50px!important;
    height:50px!important;
    padding:9px 38px 9px 13px!important;
    border-radius:12px!important;
    font-size:16px!important;
  }
  html body ul.products > li.product .button,
  html body ul.products > li.product .tc-loop-add-button,
  html body .woocommerce ul.products > li.product .button,
  html body .woocommerce ul.products > li.product .tc-loop-add-button{
    width:min(92%,390px)!important;
    min-height:52px!important;
    height:52px!important;
    padding:10px 14px!important;
    margin:10px auto 0!important;
    border-radius:13px!important;
    font-size:16px!important;
    line-height:1.1!important;
    font-weight:850!important;
  }

  /* Same readability on the mobile single-product purchase panel. */
  body.single-product .tc-single-summary-column .product_title{
    font-size:28px!important;
    line-height:1.08!important;
    margin-bottom:7px!important;
  }
  body.single-product .tc-single-summary-column p.price,
  body.single-product .tc-single-summary-column span.price{
    font-size:22px!important;
    line-height:1.15!important;
    margin-bottom:10px!important;
  }
  body.single-product .tc-single-summary-column form.variations_form select[name^="attribute_"]{
    min-height:50px!important;
    height:50px!important;
    font-size:17px!important;
    padding:9px 14px!important;
  }
  body.single-product .tc-single-summary-column .single_add_to_cart_button{
    min-height:52px!important;
    height:52px!important;
    font-size:17px!important;
    font-weight:850!important;
  }

  .tc-color-filter{gap:10px;margin:2px 0 14px;padding:10px 12px;border-radius:14px}
  .tc-color-filter-title{font-size:13px;width:100%;margin:0}
  .tc-color-filter-swatches{gap:10px}
  .tc-color-filter-swatch{width:32px;height:32px;flex-basis:32px}
  .tc-color-filter-reset{margin-left:0}
}

/* === v1.6.2 — mobile purchase information: deliberately larger and authoritative === */
@media (max-width:767px){
  /* Product cards / category / related products. */
  html body:not(.single-product) ul.products > li.product .woocommerce-loop-product__title,
  html body:not(.single-product) ul.products > li.product h2.woocommerce-loop-product__title,
  html body.single-product section.related ul.products > li.product .woocommerce-loop-product__title,
  html body.single-product section.upsells ul.products > li.product .woocommerce-loop-product__title,
  html body .tc-home-products ul.products > li.product .woocommerce-loop-product__title{
    font-size:20px!important;
    line-height:1.2!important;
    font-weight:850!important;
    letter-spacing:-.015em!important;
    margin:10px 0 8px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  html body:not(.single-product) ul.products > li.product .price,
  html body:not(.single-product) ul.products > li.product .price .amount,
  html body.single-product section.related ul.products > li.product .price,
  html body.single-product section.upsells ul.products > li.product .price,
  html body .tc-home-products ul.products > li.product .price{
    font-size:19px!important;
    line-height:1.2!important;
    font-weight:900!important;
    margin:0 0 11px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  html body:not(.single-product) ul.products > li.product .tc-loop-variation-form,
  html body.single-product section.related ul.products > li.product .tc-loop-variation-form,
  html body.single-product section.upsells ul.products > li.product .tc-loop-variation-form{
    padding:0 12px 4px!important;
    gap:9px!important;
  }
  html body:not(.single-product) ul.products > li.product .tc-loop-variation-form label,
  html body:not(.single-product) ul.products > li.product .tc-loop-variation-label,
  html body.single-product section.related ul.products > li.product .tc-loop-variation-label,
  html body.single-product section.upsells ul.products > li.product .tc-loop-variation-label{
    font-size:16px!important;
    line-height:1.15!important;
    font-weight:850!important;
  }
  html body:not(.single-product) ul.products > li.product .tc-loop-variation-select,
  html body:not(.single-product) ul.products > li.product select,
  html body.single-product section.related ul.products > li.product .tc-loop-variation-select,
  html body.single-product section.upsells ul.products > li.product .tc-loop-variation-select{
    min-height:54px!important;
    height:54px!important;
    font-size:18px!important;
    line-height:1.15!important;
    font-weight:750!important;
    padding:10px 42px 10px 14px!important;
    border-radius:13px!important;
  }
  html body:not(.single-product) ul.products > li.product .button,
  html body:not(.single-product) ul.products > li.product .tc-loop-add-button,
  html body.single-product section.related ul.products > li.product .button,
  html body.single-product section.related ul.products > li.product .tc-loop-add-button,
  html body.single-product section.upsells ul.products > li.product .button,
  html body.single-product section.upsells ul.products > li.product .tc-loop-add-button{
    min-height:56px!important;
    height:56px!important;
    font-size:18px!important;
    line-height:1.1!important;
    font-weight:900!important;
    padding:10px 16px!important;
    margin:10px auto 2px!important;
    width:calc(100% - 24px)!important;
    max-width:390px!important;
  }

  /* Single product purchase panel. */
  html body.single-product .tc-single-summary-column .product_title,
  html body.single-product div.product .summary .product_title{
    font-size:30px!important;
    line-height:1.08!important;
    font-weight:900!important;
    margin:0 0 9px!important;
  }
  html body.single-product .tc-single-summary-column p.price,
  html body.single-product .tc-single-summary-column span.price,
  html body.single-product div.product .summary p.price,
  html body.single-product div.product .summary span.price,
  html body.single-product div.product .summary .price .amount{
    font-size:24px!important;
    line-height:1.15!important;
    font-weight:900!important;
    margin-bottom:12px!important;
  }
  html body.single-product .tc-single-summary-column form.cart .variations label,
  html body.single-product div.product .summary form.cart .variations label{
    font-size:17px!important;
    font-weight:850!important;
  }
  html body.single-product .tc-single-summary-column form.cart select,
  html body.single-product div.product .summary form.cart select{
    min-height:56px!important;
    height:56px!important;
    font-size:19px!important;
    line-height:1.15!important;
    font-weight:750!important;
    padding:10px 42px 10px 14px!important;
  }
  html body.single-product .tc-single-summary-column .single_add_to_cart_button,
  html body.single-product div.product .summary .single_add_to_cart_button{
    min-height:58px!important;
    height:58px!important;
    font-size:19px!important;
    line-height:1.1!important;
    font-weight:900!important;
    padding:11px 18px!important;
  }
}


/* v1.6.6 — navigation must always stay above live-search results. */
.tc-header .tc-header-row{position:relative!important;z-index:1200000!important;overflow:visible!important}
.tc-header .tc-nav{position:relative!important;z-index:1200100!important;overflow:visible!important}
.tc-header .tc-nav [id^="mega-menu-wrap-"],
.tc-header .tc-nav .mega-menu,
.tc-header .tc-nav .mega-sub-menu,
.tc-header .tc-nav .tc-menu,
.tc-header .tc-nav .tc-menu .sub-menu{z-index:1200200!important}
.tc-header .tc-search-panel{z-index:10000!important}
.tc-header .tc-live-search-wrap{z-index:10010!important}
.tc-header .tc-live-search-results{z-index:10020!important}
@media(max-width:767px){
  .tc-mobile-menu-overlay{z-index:1300000!important}
  .tc-mobile-drawer{z-index:1300001!important}
}

/* === v1.6.7 - archive product gallery thumbnails + La Tribu U accent === */
:root{--tc-tribu-u:#70a8b0}
html body .woocommerce ul.products li.product .price,
html body .woocommerce ul.products li.product .price ins,
html body .woocommerce ul.products li.product .price .amount{color:var(--tc-tribu-u)!important}
html body .woocommerce ul.products li.product .tc-loop-add-button,
html body .woocommerce ul.products li.product a.button,
html body .woocommerce ul.products li.product button.button{background:var(--tc-tribu-u)!important;border-color:var(--tc-tribu-u)!important;color:#fff!important}
.tc-loop-gallery{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:start;width:100%}
.tc-loop-gallery-main{min-width:0;position:relative}
.tc-loop-gallery-main>img{display:block;width:100%;height:auto;margin:0!important}
.tc-loop-gallery-dots{display:flex;flex-direction:column;gap:7px;padding-top:2px;position:relative;z-index:4}
.tc-loop-gallery-dot{appearance:none;-webkit-appearance:none;width:38px;height:38px;min-width:38px;padding:2px;border:1px solid #d8d8d8;border-radius:50%;background:#fff;overflow:hidden;cursor:pointer;transition:border-color .15s ease,transform .15s ease}
.tc-loop-gallery-dot:hover,.tc-loop-gallery-dot.is-active{border:2px solid var(--tc-tribu-u);transform:scale(1.04)}
.tc-loop-gallery-dot img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;margin:0!important}
@media(max-width:767px){.tc-loop-gallery{grid-template-columns:46px minmax(0,1fr);gap:9px}.tc-loop-gallery-dot{width:42px;height:42px;min-width:42px}}
