/*
Theme Name: TN Generation WooCommerce
Theme URI: https://tn-generation.fr/
Author: TN Generation migration
Description: Reconstruction initiale du thème Shopify Dawn pour WooCommerce. Nécessite configuration des menus et import du catalogue.
Version: 38.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: tn-generation
*/
:root{--tn-black:#101010;--tn-accent:#7d3de1}*{box-sizing:border-box}body{margin:0;color:var(--tn-black);font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input{font:inherit}.tn-announcement{background:#141414;color:#fff;text-align:center;padding:10px 14px;font-size:13px;font-weight:700}.tn-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid #e9e9e9;background:#fff}.tn-logo{font-weight:900;font-size:26px;text-decoration:none;letter-spacing:-1.3px}.tn-header nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}.tn-header nav a{text-decoration:none;font-size:14px}.tn-actions{display:flex;gap:16px;align-items:center}.tn-actions a{text-decoration:none}.tn-main{min-height:50vh}.tn-section{max-width:1240px;margin:0 auto;padding:48px 24px}.tn-section h2{font-size:32px;margin:0 0 28px}.tn-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.tn-products.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tn-product{min-width:0}.tn-product img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;background:#f4f4f4}.tn-product a{text-decoration:none}.tn-product h3{font-size:15px;font-weight:500}.tn-product .price{font-size:14px}.tn-empty{color:#666;background:#f7f7f7;padding:24px}.tn-view-all{display:inline-block;margin-top:28px;border:1px solid #111;padding:12px 22px;text-decoration:none}.tn-video-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tn-video-grid video{width:100%;aspect-ratio:9/16;object-fit:cover;background:#111}.tn-footer{background:#101010;color:#fff;padding:45px 24px}.tn-footer-inner{max-width:1240px;margin:auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.tn-footer a{color:#fff}.tn-page{max-width:1240px;margin:40px auto;padding:0 24px}.tn-page .woocommerce{max-width:100%}.tn-mobile-toggle{display:none}.tn-badge{display:block;font-size:12px;color:#777;margin-top:4px}@media(max-width:800px){.tn-header{padding:16px;flex-wrap:wrap}.tn-mobile-toggle{display:block;border:0;background:none;font-size:25px}.tn-header nav{display:none;width:100%;order:3}.tn-header nav.open{display:block}.tn-header nav ul{display:block}.tn-header nav li{padding:12px 0;border-top:1px solid #eee}.tn-products,.tn-products.cols-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tn-section{padding:30px 16px}.tn-section h2{font-size:25px}.tn-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.tn-header{min-height:80px}.tn-logo img{max-width:160px;max-height:65px}.tn-actions a{display:inline-flex;position:relative;align-items:center;justify-content:center}.tn-actions svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tn-actions small{position:absolute;right:-10px;top:-10px;background:#111;color:#fff;border-radius:50%;min-width:17px;text-align:center;font-size:10px}.tn-footer{background:#171719;color:#fff}.tn-footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:35px}.tn-footer-inner h3{font-size:15px}.tn-footer-inner p,.tn-footer-inner li{font-size:13px;color:#ddd}.tn-footer-bottom{max-width:1240px;margin:35px auto 0;padding-top:20px;border-top:1px solid #555;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#ccc}.tn-section .tn-empty{border:1px dashed #ccc}.tn-hero{width:100%}.tn-info-slider{z-index:99}@media(max-width:800px){.tn-footer-inner{grid-template-columns:repeat(2,1fr)}.tn-footer-bottom{flex-wrap:wrap}.tn-header{min-height:65px}}
/* v0.3 header, menu, cart and minimal footer */
.tn-header{position:relative;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:95px;padding:15px clamp(22px,6vw,120px);gap:25px}.tn-header>.tn-logo{grid-column:1;grid-row:1;justify-self:start}.tn-desktop-nav{grid-column:2;grid-row:1}.tn-desktop-nav ul,.tn-menu-panel ul{display:flex;list-style:none;gap:30px;margin:0;padding:0}.tn-desktop-nav a{text-decoration:none;white-space:nowrap;font-size:16px}.tn-actions{grid-column:3;grid-row:1;justify-self:end;display:flex;gap:24px}.tn-actions button{border:0;background:transparent;cursor:pointer;position:relative;padding:5px}.tn-actions svg{width:29px;height:29px;fill:none;stroke:#111;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}.tn-actions small{position:absolute;right:-7px;bottom:-4px;background:#111;color:white;border-radius:50%;min-width:18px;height:18px;display:grid;place-items:center;font-size:11px}.tn-mobile-toggle{display:none}.tn-logo img{max-width:175px;max-height:70px;object-fit:contain}.tn-footer{background:white!important;color:#111!important;display:flex;align-items:center;justify-content:center;padding:48px 20px;min-height:170px}.tn-footer img{max-width:150px;max-height:100px;object-fit:contain}.tn-footer a{text-decoration:none;color:#111}.tn-overlay{position:fixed;inset:0;background:rgba(0,0,0,.46);z-index:9998}.tn-overlay[hidden]{display:none}.tn-lock{overflow:hidden}.tn-cart-panel{position:fixed;z-index:9999;right:0;top:0;bottom:0;width:min(540px,calc(100vw - 30px));background:#fff;transform:translateX(105%);transition:transform .28s ease;box-shadow:-2px 0 8px #0001}.tn-cart-panel.is-open{transform:translateX(0)}.tn-cart-content{height:100%;display:flex;flex-direction:column;padding:26px 24px 20px}.tn-cart-top{display:flex;justify-content:space-between;align-items:flex-start}.tn-cart-top h2{font-size:30px;font-weight:850;margin:0 0 30px}.tn-cart-x{background:none;border:0;font-size:43px;font-weight:200;line-height:1;cursor:pointer;color:#111}.tn-cart-labels{display:flex;justify-content:space-between;color:#777;letter-spacing:.12em;font-size:13px;padding:0 0 20px;border-bottom:1px solid #ddd}.tn-cart-items{overflow-y:auto;flex:1;padding-top:22px}.tn-cart-item{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:18px;position:relative;margin-bottom:28px}.tn-cart-thumb img{width:112px;height:112px;object-fit:contain;background:#f6f6f6}.tn-cart-name{font-weight:800;font-size:19px;line-height:1.3;text-decoration:none;display:block}.tn-cart-unit,.tn-cart-meta{color:#666;margin-top:10px;font-size:16px}.tn-cart-line-total{white-space:nowrap;font-weight:650}.tn-cart-qty{display:inline-flex;align-items:center;border:1px solid #aaa;margin-top:12px;height:43px}.tn-cart-qty button{border:0;background:white;width:42px;height:40px;cursor:pointer;font-size:21px}.tn-cart-qty span{min-width:32px;text-align:center}.tn-cart-remove{background:none;border:0;cursor:pointer;font-size:22px;margin-left:12px}.tn-cart-bottom{border-top:1px solid #ccc;padding-top:20px;margin-top:auto}.tn-cart-total{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:23px}.tn-cart-total span{color:#555}.tn-cart-bottom p{font-size:14px;color:#555;line-height:1.6}.tn-dark-btn{background:#111;color:#fff;border:0;text-decoration:none;display:block;width:100%;text-align:center;padding:19px 12px;font-weight:700;cursor:pointer;font-size:17px}.tn-cart-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px}.tn-cart-empty h2{font-size:30px;text-align:center;font-weight:850}.tn-cart-empty .tn-dark-btn{max-width:330px}.tn-cart-content>.tn-cart-x{position:absolute;right:25px;top:25px}.tn-menu-panel{display:none}.tn-search-panel{position:fixed;z-index:10001;top:100px;left:0;right:0;background:#fff;padding:25px;box-shadow:0 6px 15px #0002}.tn-search-panel[hidden]{display:none}.tn-search-panel form{display:flex;max-width:800px;margin:auto;gap:12px}.tn-search-panel input{flex:1;padding:12px}.tn-search-panel button{cursor:pointer}
@media(max-width:850px){.tn-header{display:grid;grid-template-columns:1fr auto 1fr;padding:17px 22px;min-height:90px}.tn-mobile-toggle{display:flex;grid-column:1;grid-row:1;flex-direction:column;gap:7px;border:0;background:transparent;padding:6px;justify-self:start;cursor:pointer}.tn-mobile-toggle span{display:block;width:29px;height:1.7px;background:#111}.tn-header>.tn-logo{grid-column:2;grid-row:1;justify-self:center}.tn-logo img{max-width:155px;max-height:75px}.tn-desktop-nav{display:none!important}.tn-actions{grid-column:3;grid-row:1;gap:15px}.tn-actions svg{width:28px;height:28px}.tn-menu-panel{display:block;position:fixed;inset:0;background:#fff;z-index:9999;transform:translateX(-105%);transition:transform .27s ease;overflow-y:auto}.tn-menu-panel.is-open{transform:translateX(0)}.tn-mobile-head{height:120px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:15px 25px}.tn-mobile-head .tn-logo{grid-column:2}.tn-menu-close{grid-column:1;grid-row:1;justify-self:start;background:none;border:0;font-size:48px;font-weight:200;cursor:pointer}.tn-menu-panel nav{padding:20px 45px}.tn-menu-panel ul{display:block}.tn-menu-panel li{margin:0 0 35px}.tn-menu-panel a{text-decoration:none;font-size:27px}.tn-cart-panel{width:calc(100vw - 28px)}.tn-cart-content{padding:25px 22px}.tn-cart-item{grid-template-columns:95px minmax(0,1fr) auto;gap:13px}.tn-cart-thumb img{width:95px;height:95px}.tn-cart-name{font-size:17px}.tn-cart-line-total{font-size:15px}.tn-cart-top h2{font-size:29px}.tn-cart-total{font-size:20px}}


/* V4: overrides independent of earlier theme rules. */
html body .tn-footer{background:#fff!important;color:#111!important;display:flex!important;justify-content:center!important;align-items:center!important;min-height:170px!important;padding:45px 20px!important}
html body .tn-footer a{color:#111!important;text-decoration:none!important}html body .tn-footer img{max-width:165px;height:auto}
html body .tn-header{display:grid!important;grid-template-columns:1fr auto 1fr!important;background:#fff!important;align-items:center!important;position:relative!important;z-index:80!important}
html body .tn-header .tn-actions{grid-column:3!important;display:flex!important;align-items:center!important;justify-self:end!important}
html body .tn-actions button{background:transparent!important;border:0!important;box-shadow:none!important;min-width:32px!important;min-height:32px!important;padding:3px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;position:relative!important;color:#111!important}
html body .tn-actions svg{display:block!important;width:27px!important;height:27px!important;stroke:#111!important;stroke-width:1.5!important;fill:none!important}
html body .tn-actions .tn-cart-count{display:grid!important;place-items:center!important;background:#111!important;color:white!important;border-radius:50%!important;position:absolute!important;right:-6px!important;bottom:-5px!important;top:auto!important;min-width:19px!important;height:19px!important;font-size:11px!important}
html body .tn-overlay[hidden],html body .tn-search-panel[hidden]{display:none!important}
html body .tn-menu-panel,html body .tn-cart-panel{position:fixed!important;top:0!important;bottom:0!important;background:#fff!important;z-index:99999!important;overflow-y:auto!important;visibility:hidden!important;pointer-events:none!important;transition:transform .25s ease,visibility 0s linear .25s!important;box-shadow:none!important}
html body .tn-menu-panel{left:0!important;right:auto!important;width:min(100vw,650px)!important;transform:translateX(-105%)!important;display:block!important}
html body .tn-cart-panel{right:0!important;left:auto!important;width:min(540px,calc(100vw - 28px))!important;transform:translateX(105%)!important}
html body .tn-menu-panel.is-open,html body .tn-cart-panel.is-open{visibility:visible!important;pointer-events:auto!important;transform:translateX(0)!important;transition:transform .25s ease,visibility 0s!important}
html body .tn-overlay:not([hidden]){position:fixed!important;inset:0!important;z-index:99998!important;background:rgba(0,0,0,.48)!important}
html body .tn-menu-panel nav ul{display:block!important;list-style:none!important;margin:0!important;padding:0!important}
html body .tn-menu-panel nav li{list-style:none!important;margin:0 0 32px!important;padding:0!important}
html body .tn-menu-panel nav a{text-decoration:none!important;font-size:27px!important;color:#111!important}
html body .tn-menu-panel .tn-mobile-head{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;min-height:115px!important;padding:15px 26px!important}
html body .tn-menu-panel .tn-menu-close{grid-column:1!important;grid-row:1!important;justify-self:start!important;background:transparent!important;border:0!important;font-size:44px!important}
html body .tn-menu-panel .tn-mobile-head .tn-logo{grid-column:2!important;grid-row:1!important}
html body .tn-menu-panel nav{padding:35px 45px!important}
html body .tn-cart-content{height:100%!important;display:flex!important;flex-direction:column!important;padding:26px 24px!important}
html body .tn-cart-empty{height:100%!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important}
html body .tn-cart-empty .tn-dark-btn{background:#111!important;color:#fff!important;border:0!important;padding:20px!important;max-width:330px!important}
@media(min-width:851px){html body .tn-header .tn-mobile-toggle{display:none!important}html body .tn-header .tn-desktop-nav{display:block!important;grid-column:2!important}html body .tn-header>.tn-logo{grid-column:1!important}}
@media(max-width:850px){html body .tn-header{grid-template-columns:1fr auto 1fr!important;padding:16px 22px!important}html body .tn-header .tn-mobile-toggle{display:flex!important;grid-column:1!important;grid-row:1!important;flex-direction:column!important;gap:7px!important;justify-self:start!important;border:0!important;background:transparent!important}html body .tn-header .tn-mobile-toggle span{display:block!important;background:#111!important;width:29px!important;height:2px!important}html body .tn-header>.tn-logo{grid-column:2!important;grid-row:1!important;justify-self:center!important}html body .tn-header .tn-desktop-nav{display:none!important}html body .tn-menu-panel{width:100vw!important}html body .tn-header .tn-actions{grid-column:3!important;grid-row:1!important}}


/* V5 — Search opens as a separate, full-width row UNDER the header. */
html body .tn-header{position:relative!important;z-index:80!important}
html body .tn-search-panel{position:relative!important;top:auto!important;left:auto!important;right:auto!important;z-index:79!important;width:100%!important;display:block!important;background:#fff!important;padding:24px 24px 30px!important;box-shadow:none!important;border:0!important;transform:none!important;overflow:visible!important}
html body .tn-search-panel[hidden]{display:none!important}
html body .tn-search-panel form{display:flex!important;align-items:center!important;justify-content:center!important;gap:24px!important;max-width:1450px!important;width:100%!important;margin:0 auto!important}
html body .tn-search-field{position:relative!important;flex:1 1 auto!important;min-width:0!important;height:68px!important;border:1px solid #777!important;background:#fff!important;display:flex!important;flex-direction:column!important;justify-content:center!important;padding:9px 60px 9px 24px!important}
html body .tn-search-field label{font-size:17px!important;line-height:1.2!important;color:#555!important;pointer-events:none!important}
html body .tn-search-field input[type=search]{display:block!important;flex:1!important;width:100%!important;min-width:0!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin:0!important;font-size:17px!important;color:#111!important;border-radius:0!important}
html body .tn-search-panel button{border:0!important;background:transparent!important;color:#111!important;box-shadow:none!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}
html body .tn-search-submit{position:absolute!important;right:18px!important;top:50%!important;transform:translateY(-50%)!important;width:30px!important;height:30px!important}
html body .tn-search-panel svg{width:29px!important;height:29px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.5!important;stroke-linecap:round!important}
html body .tn-search-close{flex:0 0 34px!important;width:34px!important;height:44px!important}
html body .tn-search-close svg{width:33px!important;height:33px!important;stroke-width:1.25!important}
@media(max-width:850px){html body .tn-search-panel{padding:32px 18px 30px!important}html body .tn-search-panel form{gap:17px!important}html body .tn-search-field{height:76px!important;padding-left:20px!important;padding-right:52px!important}html body .tn-search-field label,html body .tn-search-field input[type=search]{font-size:16px!important}}

/* V7: logo 25 % plus petit dans le header, le menu mobile et le footer. */
.tn-header .tn-logo img,.tn-menu-panel .tn-logo img{display:block;width:auto;max-width:131.25px;max-height:51px;object-fit:contain}.tn-footer{background:#fff!important}.tn-footer .tn-logo img,.tn-footer img{display:block;width:auto;max-width:123.75px;max-height:75px;object-fit:contain}@media(max-width:850px){.tn-header .tn-logo img,.tn-menu-panel .tn-logo img{max-width:108.75px;max-height:43.5px}}

/* V8 : dimensions fixes prioritaires du vrai logo, sur toutes les zones. */
html body .tn-header a.tn-logo img,
html body .tn-menu-panel a.tn-logo img,
html body .tn-mobile-head a.tn-logo img {
  width: 95px !important;
  max-width: 95px !important;
  height: auto !important;
  max-height: 48px !important;
  object-fit: contain !important;
}
html body footer.tn-footer a img,
html body .tn-footer img {
  width: 90px !important;
  max-width: 90px !important;
  height: auto !important;
  max-height: 52px !important;
  object-fit: contain !important;
}
@media (max-width: 850px) {
  html body .tn-header a.tn-logo img,
  html body .tn-menu-panel a.tn-logo img,
  html body .tn-mobile-head a.tn-logo img {
    width: 80px !important;
    max-width: 80px !important;
    max-height: 41px !important;
  }
  html body footer.tn-footer a img,
  html body .tn-footer img {
    width: 80px !important;
    max-width: 80px !important;
    max-height: 46px !important;
  }
}


/* V9: hard dimensions for logo and its container; loaded after ALL previous inline CSS. */
html body header.tn-header > a.tn-logo,
html body aside.tn-menu-panel .tn-mobile-head > a.tn-logo,
html body footer.tn-footer > a {display:inline-flex!important;flex:0 0 auto!important;width:70px!important;max-width:70px!important;height:auto!important;min-width:0!important;align-items:center!important;justify-content:center!important;font-size:0!important;line-height:0!important}
html body header.tn-header > a.tn-logo > img,
html body aside.tn-menu-panel .tn-mobile-head > a.tn-logo > img,
html body footer.tn-footer > a > img {display:block!important;width:70px!important;max-width:70px!important;min-width:0!important;height:auto!important;max-height:none!important;object-fit:contain!important;transform:none!important}
@media(max-width:850px){html body header.tn-header > a.tn-logo,html body aside.tn-menu-panel .tn-mobile-head > a.tn-logo{width:60px!important;max-width:60px!important}html body header.tn-header > a.tn-logo > img,html body aside.tn-menu-panel .tn-mobile-head > a.tn-logo > img{width:60px!important;max-width:60px!important}}

/* V11: grilles collections Shopify, images haute résolution et formulaire Contact */
.tn-archive-v11{max-width:1320px;margin:0 auto;padding:34px 24px 65px;min-height:400px}
.tn-archive-v11 h1{font-size:clamp(34px,4vw,52px);font-weight:900;margin:0 0 65px;line-height:1.12}
.tn-archive-v11 .woocommerce-products-header{display:none}
.tn-archive-v11 ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:26px 12px!important;clear:both;margin:28px 0 0!important;padding:0!important}
.tn-archive-v11 ul.products:before,.tn-archive-v11 ul.products:after{display:none!important}
.tn-archive-v11 ul.products li.product{float:none!important;width:auto!important;margin:0!important;min-width:0!important;list-style:none}
.tn-archive-v11 ul.products li.product a img{width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:contain;background:#f5f5f5;margin:0 0 16px!important;image-rendering:auto}
.tn-archive-v11 ul.products li.product .woocommerce-loop-product__title{font-size:16px!important;font-weight:800!important;color:#111;line-height:1.35;padding:0!important}
.tn-archive-v11 ul.products li.product .price{font-size:17px!important;color:#111!important;margin:12px 0!important}
.tn-archive-v11 ul.products li.product .onsale{background:#111!important;color:#fff!important;border-radius:20px!important;min-height:0!important;line-height:1.5!important;padding:4px 14px!important;top:auto!important;bottom:90px!important;left:12px!important;right:auto!important}
.tn-archive-v11 .woocommerce-result-count{float:right!important;margin:0 0 24px!important}
.tn-archive-v11 .woocommerce-ordering{float:right!important;margin:0 20px 24px 0!important}
.tn-products .tn-product img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;image-rendering:auto}
.tn-contact-v11{max-width:920px;margin:0 auto;padding:45px 24px 90px}
.tn-contact-v11 h1{font-size:clamp(40px,5vw,64px);font-weight:900;margin:0 0 125px}
.tn-contact-v11 form{display:flex;flex-direction:column;gap:24px}
.tn-contact-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tn-contact-v11 input:not([type=hidden]),.tn-contact-v11 textarea{border:1px solid #888;border-radius:0;background:#fff;padding:17px 24px;width:100%;font:600 18px Arial,sans-serif;box-sizing:border-box;color:#111}
.tn-contact-v11 textarea{resize:vertical;min-height:130px}
.tn-contact-v11 button{align-self:flex-start;border:0;background:#111;color:#fff;padding:18px 36px;font-size:17px;font-weight:600;cursor:pointer;margin-top:22px}
.tn-contact-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:850px){.tn-archive-v11 ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 12px!important}.tn-archive-v11 h1{margin-bottom:40px}.tn-contact-v11 h1{margin-bottom:60px}.tn-contact-row{grid-template-columns:1fr;gap:24px}}

/* V12: fiche produit fidèle à la structure Shopify */
.single-product .tn-page{max-width:1400px;margin:0 auto;padding:42px 25px}
.single-product .woocommerce div.product{display:flow-root!important}
.single-product .woocommerce div.product div.images{width:63%!important;float:left!important;margin:0 0 35px!important}
.single-product .woocommerce div.product div.summary{width:33%!important;float:right!important;margin:0 0 35px!important}
.single-product .woocommerce div.product div.images img{width:100%!important;height:auto!important;object-fit:contain;background:#f5f5f5}
.single-product .woocommerce div.product div.images .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px!important}
.single-product .woocommerce div.product div.images .flex-control-thumbs li{float:none!important;width:100%!important}
.single-product .woocommerce div.product .product_title{font-size:clamp(32px,3.5vw,52px)!important;font-weight:900!important;line-height:1.15!important;margin:0 0 22px!important}
.single-product .woocommerce div.product p.price{font-size:23px!important;color:#111!important;font-weight:800!important}
.single-product .woocommerce div.product .variations{margin:24px 0 16px!important}
.single-product .woocommerce div.product .variations th,.single-product .woocommerce div.product .variations td{display:block!important;text-align:left!important;padding:5px 0!important}
.single-product .woocommerce div.product .variations select{border:1px solid #999;border-radius:4px;padding:12px;min-height:48px;max-width:100%}
.single-product .woocommerce div.product form.cart{display:flex!important;flex-wrap:wrap!important;gap:12px!important}
.single-product .woocommerce div.product form.cart .variations,.single-product .woocommerce div.product form.cart .single_variation_wrap{width:100%!important}
.single-product .woocommerce div.product form.cart .single_variation_wrap .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:12px}
.single-product .woocommerce div.product form.cart .quantity{margin:0 0 12px!important}
.single-product .woocommerce div.product form.cart .quantity input{height:48px;border:1px solid #aaa}
.single-product .woocommerce div.product form.cart button.single_add_to_cart_button{display:block!important;flex:1 0 100%!important;width:100%!important;background:#fff!important;color:#111!important;border:1px solid #111!important;border-radius:0!important;min-height:54px!important;font-size:16px!important;font-weight:700!important}
.single-product .woocommerce div.product .summary #tn-info-tn-wp-5,.single-product .woocommerce div.product .summary #tn-atc-reviews-tn-wp-6{max-width:100%!important;margin-top:25px!important}
.single-product .woocommerce div.product .tn-related-wide{clear:both!important;width:100%!important;padding:55px 0 35px!important}
.single-product .woocommerce div.product .tn-related-wide>h2{text-align:left!important;font-size:32px!important;font-weight:900!important}
.single-product .tn-related-wide ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
.single-product .tn-related-wide ul.products li.product{width:auto!important;float:none!important;margin:0!important}
.single-product .tn-related-wide ul.products li.product img{width:100%!important;aspect-ratio:1;object-fit:contain;background:#f5f5f5}
.single-product .woocommerce div.product .woocommerce-tabs{clear:both!important}
@media(max-width:850px){.single-product .tn-page{padding:18px 15px}.single-product .woocommerce div.product div.images,.single-product .woocommerce div.product div.summary{width:100%!important;float:none!important}.single-product .woocommerce div.product .product_title{font-size:34px!important}.single-product .tn-related-wide ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* V13 : pages collections independantes */
.tn-v13-archive{max-width:1400px;margin:0 auto;padding:40px 24px 60px}.tn-v13-archive h1{font-size:clamp(34px,4vw,52px);font-weight:900;margin:0 0 70px}.tn-v13-controls{display:flex;align-items:center;gap:26px;margin-bottom:35px;flex-wrap:wrap;font-size:15px}.tn-v13-controls form{margin-left:auto}.tn-v13-controls select{padding:10px;border:0;background:white}.tn-v13-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tn-v13-card a{color:#111;text-decoration:none}.tn-v13-photo{position:relative;aspect-ratio:1;background:#f5f5f5}.tn-v13-photo img{width:100%;height:100%;object-fit:contain}.tn-v13-sale{position:absolute;bottom:12px;left:12px;background:#111;color:#fff;border-radius:30px;padding:6px 16px;font-size:13px}.tn-v13-card h2{font-size:16px;font-weight:900;margin:15px 0 8px}.tn-v13-price{font-size:17px;font-weight:800}.tn-v13-price del{font-size:14px;color:#555;font-weight:400;margin-right:10px}@media(max-width:800px){.tn-v13-archive{padding:24px 15px}.tn-v13-archive h1{margin-bottom:35px}.tn-v13-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tn-v13-controls{gap:12px}.tn-v13-controls form{margin-left:0}}

/* V14 : catalogues sobres, sans barre de tri/filtre, 4 produits par rangée desktop. */
html body main.tn-v13-archive .tn-v13-controls,html body .tn-archive-v11 .woocommerce-result-count,html body .tn-archive-v11 .woocommerce-ordering{display:none!important}
html body main.tn-v13-archive .tn-v13-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:28px 12px!important;width:100%!important;align-items:start!important}
html body main.tn-v13-archive .tn-v13-grid>.tn-v13-card{display:block!important;min-width:0!important;max-width:none!important;width:auto!important;margin:0!important;float:none!important;grid-column:auto!important}
html body main.tn-v13-archive .tn-v13-photo{display:block!important;width:100%!important;aspect-ratio:1!important;overflow:hidden!important;background:#f5f5f5}
html body main.tn-v13-archive .tn-v13-photo img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important}
html body main.tn-v13-archive h1{margin-bottom:70px!important}
@media(max-width:850px){html body main.tn-v13-archive .tn-v13-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 10px!important}html body main.tn-v13-archive h1{margin-bottom:32px!important}}

/* V15 : CSS fort et anti-cache ; cartes uniformes sur toutes les pages collection. */
html body .tn-v13-archive .tn-v13-grid,html body .tn-v15-archive .tn-v15-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px 12px!important;align-items:start!important;grid-auto-flow:row!important;width:100%!important}
html body .tn-v13-archive .tn-v13-grid>*,html body .tn-v15-archive .tn-v15-grid>*,html body .tn-v15-related-grid>*{min-width:0!important;width:auto!important;max-width:none!important;margin:0!important;float:none!important;grid-column:auto!important;position:static!important;clear:none!important}
html body .tn-v15-card a{color:#111!important;text-decoration:none!important}
html body .tn-v15-photo{position:relative!important;background:#f5f5f5!important;aspect-ratio:1!important;overflow:hidden!important}
html body .tn-v15-photo img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important}
html body .tn-v15-card h3{font-size:16px!important;font-weight:900!important;line-height:1.3!important;margin:15px 0 10px!important}
html body .tn-v15-sale{position:absolute!important;left:12px!important;bottom:12px!important;color:white!important;background:#111!important;border-radius:20px!important;font-size:13px!important;padding:5px 14px!important}
html body .tn-v15-price,html body .tn-v15-price *,html body .tn-v13-price,html body .tn-v13-price *,html body .tn-product .price,html body .tn-product .price *,html body .woocommerce div.product p.price,html body .woocommerce div.product p.price *,html body .woocommerce ul.products li.product .price,html body .woocommerce ul.products li.product .price *{color:#111!important;opacity:1!important}
html body .tn-v15-price del,html body .tn-v13-price del,html body .woocommerce .price del{color:#111!important;opacity:1!important;font-weight:400!important}
html body .tn-v15-archive .woocommerce-result-count,html body .tn-v15-archive .woocommerce-ordering,html body .tn-v15-archive .woocommerce-loop-product__link+.button,html body .tn-v15-archive .add_to_cart_button{display:none!important}
html body .single-product .woocommerce-tabs,html body .single-product #tab-description,html body .single-product #tab-additional_information,html body .single-product #tab-reviews,html body .single-product .related.products,html body .single-product .upsells.products{display:none!important}
html body .single-product .tn-page{max-width:1400px!important;width:100%!important;margin:30px auto!important;padding:0 24px!important}
html body .single-product .tn-page .woocommerce div.product{display:flow-root!important}
html body .single-product .tn-v15-after-product{clear:both!important;display:block!important;width:100%!important;padding:38px 0 50px!important}
html body .single-product .tn-v15-related h2{font-size:32px!important;font-weight:900!important;text-align:left!important;margin:0 0 32px!important}
html body .single-product .tn-v15-related-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;align-items:start!important}
html body .single-product .tn-v15-fullwidth{position:relative!important;left:50%!important;right:50%!important;margin-left:-50vw!important;margin-right:-50vw!important;width:100vw!important;max-width:100vw!important;clear:both!important;overflow:hidden!important}
html body .single-product .tn-v15-fullwidth>section,html body .single-product .tn-v15-fullwidth>div{max-width:none!important;width:100%!important}
@media(max-width:850px){html body .tn-v13-archive .tn-v13-grid,html body .tn-v15-archive .tn-v15-grid,html body .single-product .tn-v15-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 10px!important}html body .single-product .tn-page{padding:0 14px!important}html body .single-product .tn-v15-related h2{font-size:26px!important}}

/* V16 : carrousel horizontal, variantes en pastilles et largeur reelle */
html body.single-product .tn-page{max-width:none!important;padding:0!important;margin:0!important;width:100%!important}
html body.single-product .tn-page>.woocommerce{max-width:none!important;width:100%!important}
html body.single-product .tn-page .woocommerce div.product{max-width:none!important;width:100%!important;margin:0!important}
html body.single-product .tn-page .woocommerce div.product>div.images{margin-left:max(20px,calc((100vw - 1400px)/2))!important;width:min(56%,800px)!important}
html body.single-product .tn-page .woocommerce div.product>div.summary{margin-right:max(20px,calc((100vw - 1400px)/2))!important;width:min(35%,490px)!important}
html body.single-product .tn-v15-after-product{max-width:1400px!important;margin:0 auto!important;padding:42px 24px!important;box-sizing:border-box!important}
html body.single-product .tn-v16-carousel-shell{position:relative!important;display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;min-width:0!important}
html body.single-product .tn-v15-related-grid{display:flex!important;flex-wrap:nowrap!important;gap:14px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;overscroll-behavior-inline:contain!important;min-width:0!important;flex:1!important;align-items:stretch!important}
html body.single-product .tn-v15-related-grid::-webkit-scrollbar{display:none}
html body.single-product .tn-v15-related-grid>.tn-v15-card{flex:0 0 calc((100% - 42px)/4)!important;min-width:0!important;max-width:none!important;scroll-snap-align:start!important;display:block!important}
html body.single-product .tn-v16-prev,html body.single-product .tn-v16-next{flex:0 0 40px!important;width:40px!important;height:40px!important;border:1px solid #ddd!important;border-radius:50%!important;background:white!important;color:#111!important;font-size:30px!important;cursor:pointer!important;padding:0!important;line-height:1!important}
html body.single-product .tn-v15-fullwidth{width:100%!important;max-width:none!important;margin:0!important;left:auto!important;right:auto!important;position:static!important;overflow:visible!important;clear:both!important}
html body.single-product .tn-v15-fullwidth>section,html body.single-product .tn-v15-fullwidth>div{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
html body.single-product .woocommerce div.product p.price,html body.single-product .woocommerce div.product p.price *,html body.single-product .woocommerce div.product span.price,html body.single-product .woocommerce div.product span.price *,html body.single-product .woocommerce-variation-price *,html body.single-product .woocommerce .amount{color:#111!important}
html body.single-product .tn-v16-variation{display:flex!important;flex-wrap:wrap!important;gap:10px!important;max-width:440px!important}
html body.single-product .tn-v16-variation select{position:absolute!important;clip-path:inset(50%)!important;width:1px!important;height:1px!important;overflow:hidden!important}
html body.single-product .tn-v16-size{background:#fff!important;color:#111!important;border:1px solid #999!important;border-radius:30px!important;min-width:70px!important;min-height:43px!important;padding:8px 15px!important;font-size:16px!important;font-weight:600!important;cursor:pointer!important}
html body.single-product .tn-v16-size.selected{background:#111!important;color:#fff!important;border-color:#111!important}
html body.single-product .tn-v16-size:disabled{opacity:.3!important;cursor:not-allowed!important}
html body.single-product form.cart .quantity{display:inline-flex!important;align-items:center!important;border:1px solid #aaa!important;height:52px!important;margin-bottom:12px!important}
html body.single-product form.cart .quantity input.qty{border:0!important;width:58px!important;height:48px!important;text-align:center!important;appearance:textfield!important;-moz-appearance:textfield!important}
html body.single-product form.cart .quantity input.qty::-webkit-inner-spin-button,html body.single-product form.cart .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important}
html body.single-product .tn-v16-minus,html body.single-product .tn-v16-plus{border:0!important;background:white!important;color:#111!important;width:43px!important;height:48px!important;font-size:20px!important;cursor:pointer!important}
html body.single-product form.cart button.single_add_to_cart_button{width:100%!important;flex:0 0 100%!important;background:#fff!important;color:#111!important;border:1px solid #111!important;border-radius:0!important;min-height:55px!important;box-shadow:none!important}
@media(max-width:850px){html body.single-product .tn-page .woocommerce div.product>div.images,html body.single-product .tn-page .woocommerce div.product>div.summary{width:calc(100% - 30px)!important;float:none!important;margin:16px 15px!important}html body.single-product .tn-v15-related-grid>.tn-v15-card{flex-basis:calc((100% - 10px)/2)!important}html body.single-product .tn-v16-prev,html body.single-product .tn-v16-next{flex-basis:28px!important;width:28px!important;height:34px!important;font-size:24px!important}html body.single-product .tn-v15-after-product{padding:30px 12px!important}html body.single-product .tn-v16-size{min-width:65px!important}}

/* V17 — Fiche produit alignée sur les captures Shopify (sans panneau gris). */
html body.single-product,html body.single-product main.tn-main,html body.single-product .tn-page,html body.single-product .tn-page .woocommerce,html body.single-product .tn-page .woocommerce div.product,html body.single-product .tn-page .woocommerce div.product .summary{background:#fff!important;background-color:#fff!important}
html body.single-product .tn-page .woocommerce div.product{display:grid!important;grid-template-columns:minmax(0,1.92fr) minmax(0,.98fr)!important;column-gap:42px!important;align-items:start!important;max-width:1320px!important;margin:42px auto 0!important;padding:0 24px!important;box-sizing:border-box!important;float:none!important}
html body.single-product .tn-page .woocommerce div.product>div.images{grid-column:1!important;grid-row:1!important;float:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;min-width:0!important}
html body.single-product .tn-page .woocommerce div.product>div.summary{grid-column:2!important;grid-row:1!important;float:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;min-width:0!important}
html body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper{margin:0!important}
html body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image{background:#f5f5f5!important;overflow:hidden!important}
html body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img{width:100%!important;height:auto!important;object-fit:contain!important;display:block!important}
html body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__trigger{right:12px!important;left:auto!important;top:12px!important}
html body.single-product .woocommerce div.product .summary h1.product_title{font-size:clamp(30px,3vw,48px)!important;line-height:1.22!important;font-weight:900!important;letter-spacing:0!important;margin:8px 0 20px!important;color:#111!important}
html body.single-product .woocommerce div.product .summary p.price{margin:0 0 16px!important;font-size:20px!important;font-weight:700!important}
html body.single-product .woocommerce div.product .summary p.price *,html body.single-product .woocommerce div.product .summary p.price,html body.single-product .woocommerce div.product .summary .woocommerce-variation-price *{color:#111!important;text-decoration-color:#111!important}
html body.single-product .woocommerce div.product .summary .onsale,html body.single-product .woocommerce div.product .images .onsale,html body.single-product .woocommerce div.product>span.onsale{background:#111!important;color:#fff!important;border-radius:20px!important;font-size:13px!important;min-width:0!important;min-height:0!important;line-height:1.4!important;padding:5px 12px!important;box-shadow:none!important}
html body.single-product .woocommerce div.product .summary form.variations_form{margin:18px 0 0!important}
html body.single-product .woocommerce div.product .summary table.variations,html body.single-product .woocommerce div.product .summary table.variations tbody,html body.single-product .woocommerce div.product .summary table.variations tr,html body.single-product .woocommerce div.product .summary table.variations td{display:block!important;width:100%!important;background:#fff!important;border:0!important;padding:0!important;margin:0!important}
html body.single-product .woocommerce div.product .summary table.variations th{display:block!important;text-align:left!important;padding:0 0 11px!important;background:#fff!important;border:0!important;font-size:15px!important;font-weight:500!important}
html body.single-product .woocommerce div.product .summary table.variations .reset_variations{display:none!important}
html body.single-product .tn-v16-variation{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px 10px!important;max-width:350px!important;margin:0 0 24px!important}
html body.single-product .tn-v16-size{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:39px!important;height:39px!important;padding:5px 8px!important;border:1px solid #999!important;border-radius:24px!important;background:#fff!important;color:#111!important;font-size:14px!important;line-height:1!important;font-weight:600!important;box-shadow:none!important}
html body.single-product .tn-v16-size.selected{background:#111!important;color:#fff!important;border-color:#111!important}
html body.single-product .woocommerce div.product .summary form.cart .quantity{height:51px!important;margin:8px 0 25px!important;float:none!important;background:#fff!important}
html body.single-product .woocommerce div.product .summary form.cart button.single_add_to_cart_button{display:block!important;float:none!important;width:100%!important;min-height:54px!important;margin:0 0 12px!important;font-size:17px!important;font-weight:600!important;text-transform:none!important}
html body.single-product .woocommerce div.product .summary .product_meta{display:none!important}
html body.single-product .woocommerce div.product .summary .woocommerce-variation-availability{color:#111!important}
@media(max-width:850px){html body.single-product .tn-page .woocommerce div.product{display:block!important;padding:0 15px!important;margin:20px auto 0!important}html body.single-product .tn-page .woocommerce div.product>div.images,html body.single-product .tn-page .woocommerce div.product>div.summary{width:100%!important;margin:0 0 25px!important}html body.single-product .woocommerce div.product .summary h1.product_title{font-size:32px!important}html body.single-product .tn-v16-variation{grid-template-columns:repeat(4,minmax(0,1fr))!important;max-width:350px!important}}


/* V18 : correctifs mobile, sans débordement horizontal */
@media(max-width:850px){
 html,body{max-width:100%;overflow-x:clip!important}
 html body #tn-one-piece .tn-products.cols-3{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
 html body #tn-one-piece .tn-product{min-width:0!important;width:100%!important}
 html body.single-product .tn-page{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow:visible!important}
 html body.single-product .tn-page>.woocommerce{width:100%!important;max-width:100%!important}
 html body.single-product .tn-page .woocommerce div.product{display:flex!important;flex-direction:column!important;width:100%!important;max-width:100%!important;margin:0!important;padding:22px 16px 0!important;gap:0!important;min-width:0!important;box-sizing:border-box!important}
 html body.single-product .tn-page .woocommerce div.product>div.images,
 html body.single-product .tn-page .woocommerce div.product>div.summary{display:block!important;position:relative!important;float:none!important;clear:both!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0 0 24px!important;padding:0!important;box-sizing:border-box!important;flex:none!important}
 html body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper{width:100%!important;max-width:100%!important}
 html body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image{width:100%!important;max-width:100%!important}
 html body.single-product .woocommerce div.product div.images img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important}
 html body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__trigger{left:12px!important;right:auto!important;top:12px!important}
 html body.single-product .woocommerce div.product span.onsale,
 html body.single-product .woocommerce div.product .onsale{position:absolute!important;left:12px!important;right:auto!important;top:12px!important;bottom:auto!important;z-index:4!important;transform:none!important;margin:0!important;min-width:0!important;width:auto!important;max-width:calc(100% - 24px)!important;background:#111!important;color:#fff!important;border-radius:20px!important;padding:5px 12px!important;font-size:12px!important;line-height:1.4!important;white-space:nowrap!important}
 html body.single-product .woocommerce div.product .summary h1.product_title{font-size:clamp(27px,7vw,37px)!important;line-height:1.17!important;overflow-wrap:break-word!important;margin:8px 0 20px!important}
 html body.single-product .woocommerce div.product .summary p.price,
 html body.single-product .woocommerce div.product .summary p.price *,
 html body.single-product .woocommerce div.product .summary p.price del,
 html body.single-product .woocommerce div.product .summary p.price ins,
 html body.single-product .woocommerce div.product .summary .woocommerce-variation-price,
 html body.single-product .woocommerce div.product .summary .woocommerce-variation-price *{color:#111!important;text-decoration-color:#111!important;opacity:1!important}
 html body.single-product .woocommerce div.product .summary table.variations{display:block!important;width:100%!important;max-width:100%!important;table-layout:fixed!important}
 html body.single-product .woocommerce div.product .summary table.variations tbody,
 html body.single-product .woocommerce div.product .summary table.variations tr,
 html body.single-product .woocommerce div.product .summary table.variations th,
 html body.single-product .woocommerce div.product .summary table.variations td{display:block!important;width:100%!important;max-width:100%!important;float:none!important;clear:both!important;padding:0!important;margin:0!important;box-sizing:border-box!important;text-align:left!important}
 html body.single-product .woocommerce div.product .summary table.variations th{margin:0 0 12px!important}
 html body.single-product .woocommerce div.product .summary table.variations td{margin-bottom:20px!important}
 html body.single-product .woocommerce div.product .summary table.variations .reset_variations{display:none!important}
 html body.single-product .tn-v16-variation{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
 html body.single-product .tn-v16-size{width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important;padding:5px 2px!important;font-size:14px!important;border-radius:24px!important}
 html body.single-product .woocommerce div.product .summary form.cart{width:100%!important;max-width:100%!important;min-width:0!important}
 html body.single-product .woocommerce div.product .summary form.cart .single_variation_wrap{width:100%!important;max-width:100%!important}
 html body.single-product .woocommerce div.product .summary form.cart button.single_add_to_cart_button{max-width:100%!important}
 html body.single-product .tn-v15-after-product{width:100%!important;max-width:100%!important;margin:0 auto!important;padding:26px 12px!important;box-sizing:border-box!important}
 html body.single-product .tn-v16-carousel-shell{width:100%!important;max-width:100%!important;gap:5px!important;min-width:0!important}
 html body.single-product .tn-v15-related-grid{gap:8px!important;min-width:0!important;max-width:100%!important}
 html body.single-product .tn-v15-related-grid>.tn-v15-card{flex:0 0 calc((100% - 8px)/2)!important;min-width:0!important}
 html body.single-product .tn-v15-related-grid .tn-v15-card h3{font-size:13px!important;line-height:1.25!important}
 html body.single-product .tn-v15-related-grid .tn-v15-price{font-size:13px!important}
}

/* V19 — correctifs ciblés fiche produit et débordement mobile */
html{overflow-x:hidden!important}body{overflow-x:hidden!important;width:100%!important;max-width:100%!important}
body *{box-sizing:border-box}
body .tn-main,body .tn-page,body .tn-section,body .tn-v15-after-product,body .tn-v16-carousel-shell,body .tn-v15-related,body .tn-v15-related-grid{min-width:0;max-width:100%}
body .tn-video-grid,body .tn-info-slider,body .tn-v15-after-product,body .tn-v15-related{max-width:100%}
body.single-product .woocommerce div.product .summary .price,body.single-product .woocommerce div.product .summary .price *,body.single-product .woocommerce div.product .summary .woocommerce-variation-price,body.single-product .woocommerce div.product .summary .woocommerce-variation-price *,body.single-product .woocommerce div.product .summary .price del,body.single-product .woocommerce div.product .summary .price ins{color:#111!important;-webkit-text-fill-color:#111!important;text-decoration-color:#111!important;opacity:1!important}
body.single-product .woocommerce div.product .summary .price ins{text-decoration:none!important}
body.single-product .woocommerce div.product .product_meta,body.single-product .woocommerce div.product .reset_variations,body.single-product .woocommerce div.product a.reset_variations{display:none!important}
body.single-product .woocommerce div.product .summary table.variations,body.single-product .woocommerce div.product .summary table.variations tbody,body.single-product .woocommerce div.product .summary table.variations tr,body.single-product .woocommerce div.product .summary table.variations th,body.single-product .woocommerce div.product .summary table.variations td{display:block!important;width:100%!important;max-width:100%!important;float:none!important;clear:both!important;text-align:left!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
body.single-product .woocommerce div.product .summary table.variations th{margin-bottom:10px!important}
body.single-product .woocommerce div.product .summary .tn-v16-variation{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;width:100%!important;max-width:100%!important;margin:0!important}
body.single-product .woocommerce div.product .summary .tn-v16-size{min-width:0!important;width:100%!important;max-width:100%!important;font-size:14px!important;padding:7px 2px!important;height:39px!important;min-height:39px!important;line-height:1.1!important;border-radius:24px!important}
body.single-product .woocommerce div.product div.images{min-width:0!important;max-width:100%!important;overflow:hidden!important}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery{max-width:100%!important;min-width:0!important;overflow:hidden!important}
body.single-product .woocommerce div.product div.images .flex-viewport{max-width:100%!important;overflow:hidden!important}
body.single-product .woocommerce div.product div.images .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;list-style:none!important;margin:14px 0 0!important;padding:0!important;width:100%!important;max-width:100%!important;overflow:hidden!important}
body.single-product .woocommerce div.product div.images .flex-control-thumbs li{float:none!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
body.single-product .woocommerce div.product div.images .flex-control-thumbs img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:1!important;object-fit:contain!important;background:#f5f5f5!important;opacity:1!important}
body.single-product .woocommerce div.product div.images .flex-control-thumbs img.flex-active{outline:2px solid #111!important;outline-offset:-2px!important}
@media(max-width:850px){
 body.single-product .tn-page .woocommerce div.product{padding:22px 16px 0!important;max-width:100%!important;overflow:hidden!important}
 body.single-product .woocommerce div.product .summary{background:#fff!important;min-width:0!important;max-width:100%!important;padding:0!important}
 body.single-product .woocommerce div.product .summary table.variations th,body.single-product .woocommerce div.product .summary table.variations td{display:block!important;width:100%!important}
 body.single-product .woocommerce div.product .summary .tn-v16-variation{grid-template-columns:repeat(4,minmax(0,1fr))!important;max-width:100%!important}
 body.single-product .woocommerce div.product .summary .tn-v16-size{font-size:13px!important}
 body.single-product .tn-v15-after-product{overflow:hidden!important;width:100%!important;max-width:100%!important;padding:24px 12px!important}
 body.single-product .tn-v16-carousel-shell{overflow:hidden!important;max-width:100%!important}
 body.single-product .tn-v15-related-grid{overflow-x:auto!important;overflow-y:hidden!important;max-width:100%!important;scrollbar-width:none}
 body.single-product .tn-v15-related-grid>.tn-v15-card{min-width:0!important}
 body .tn-video-grid,body .tn-info-slider{max-width:100%!important;overflow:hidden!important}
}

/* V20: structural layout fix, no horizontal overflow and consistent white surfaces */
html,body{width:100%;max-width:100%;overflow-x:clip!important}
body .tn-header{position:sticky!important;top:0!important;z-index:9990!important;background:#fff!important}
body.admin-bar .tn-header{top:32px!important}
body.home .tn-section,body.home .tn-products,body.home .tn-collection,body.home .tn-main{background-color:#fff!important}
body.single-product .woocommerce div.product .summary,body.single-product .woocommerce div.product .summary form.cart{background:#fff!important}
body.single-product .woocommerce div.product .summary .price,body.single-product .woocommerce div.product .summary .price *,body.single-product .woocommerce div.product .summary .price del *,body.single-product .woocommerce div.product .summary .price ins *,body.single-product .woocommerce div.product .summary .woocommerce-variation-price *{color:#111!important;-webkit-text-fill-color:#111!important;opacity:1!important}
body.single-product .woocommerce div.product .summary .reset_variations,body.single-product .woocommerce div.product .summary .product_meta{display:none!important}
/* Move label into its own block with JS as WooCommerce table layout may be overridden by plugins. */
body.single-product .woocommerce div.product .summary .tn-v20-size-label{display:block!important;width:100%!important;clear:both!important;margin:20px 0 12px!important;color:#555!important;font-weight:600!important;font-size:15px!important}
body.single-product .woocommerce div.product .summary table.variations{display:block!important;width:100%!important;max-width:100%!important;margin:0 0 14px!important;border:0!important}
body.single-product .woocommerce div.product .summary table.variations tbody,body.single-product .woocommerce div.product .summary table.variations tr,body.single-product .woocommerce div.product .summary table.variations td{display:block!important;width:100%!important;max-width:100%!important;float:none!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important}
body.single-product .woocommerce div.product .summary table.variations th{display:none!important}
body.single-product .woocommerce div.product .summary .tn-v16-variation{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0 0 14px!important}
body.single-product .woocommerce div.product .summary .tn-v16-size{min-width:0!important;max-width:100%!important;width:100%!important;height:40px!important;min-height:40px!important;padding:5px 2px!important;font-size:14px!important;border-radius:24px!important}
body.single-product .woocommerce div.product .summary form.cart .quantity{max-width:100%!important}
body.single-product .woocommerce div.product .summary form.cart button.single_add_to_cart_button{max-width:100%!important}
@media(max-width:850px){
 body.single-product .tn-page .woocommerce div.product{display:flex!important;flex-direction:column!important;gap:0!important;width:100%!important;max-width:100%!important;padding:20px 16px 0!important;margin:0!important;box-sizing:border-box!important}
 body.single-product .tn-page .woocommerce div.product>div.images,body.single-product .tn-page .woocommerce div.product>div.summary{width:100%!important;max-width:100%!important;min-width:0!important;margin:0 0 22px!important;padding:0!important;float:none!important;box-sizing:border-box!important}
 body.single-product .woocommerce div.product .summary form.cart,body.single-product .woocommerce div.product .summary .single_variation_wrap{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important}
 body.single-product .woocommerce div.product .summary .tn-v16-variation{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important}
 body.single-product .woocommerce div.product .summary .tn-v16-size{font-size:13px!important}
 body.single-product .tn-v15-after-product{width:100%!important;max-width:100%!important;overflow:hidden!important}
 body.single-product .tn-v15-related-grid{overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain!important}
}
@media(max-width:782px){body.admin-bar .tn-header{top:0!important}}


/* V21 — corrections verified at source, overrides scoped to product page. */
/* Force black prices, including WooCommerce price elements outside .summary. */
html body.single-product .woocommerce div.product p.price,
html body.single-product .woocommerce div.product p.price :is(span,bdi,del,ins),
html body.single-product .woocommerce div.product p.price :is(del,ins) *,
html body.single-product .woocommerce div.product .woocommerce-variation-price,
html body.single-product .woocommerce div.product .woocommerce-variation-price *,
html body.single-product .woocommerce div.product .summary .price,
html body.single-product .woocommerce div.product .summary .price *{
 color:#111!important;-webkit-text-fill-color:#111!important;opacity:1!important;text-decoration-color:#111!important;
}
html body.single-product .woocommerce div.product .summary .price ins,
html body.single-product .woocommerce div.product .summary .price ins *{text-decoration:none!important}
/* One native 'Tailles' heading above all size pills, never a duplicate. */
html body.single-product .woocommerce div.product form.variations_form table.variations,
html body.single-product .woocommerce div.product form.variations_form table.variations tbody,
html body.single-product .woocommerce div.product form.variations_form table.variations tr,
html body.single-product .woocommerce div.product form.variations_form table.variations th,
html body.single-product .woocommerce div.product form.variations_form table.variations td{
 display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;float:none!important;clear:both!important;position:static!important;box-sizing:border-box!important;margin-left:0!important;padding-left:0!important;
}
html body.single-product .woocommerce div.product form.variations_form table.variations th{display:block!important;text-align:left!important;margin:0 0 12px!important;padding:0!important;font-size:15px!important}
html body.single-product .woocommerce div.product form.variations_form table.variations td{margin:0 0 12px!important;padding:0!important}
html body.single-product .woocommerce div.product .tn-v20-size-label{display:none!important}
html body.single-product .woocommerce div.product form.variations_form .reset_variations,
html body.single-product .woocommerce div.product .product_meta{display:none!important}
html body.single-product .woocommerce div.product form.variations_form .tn-v16-variation{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
html body.single-product .woocommerce div.product form.variations_form .tn-v16-size{width:100%!important;min-width:0!important;max-width:100%!important;height:40px!important;padding:4px 2px!important;font-size:14px!important}
html body.single-product .woocommerce div.product .summary form.cart{width:100%!important;max-width:100%!important;padding:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}
html body.single-product .woocommerce div.product .summary form.cart button.single_add_to_cart_button{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
/* Keep related products a real horizontal slider; 1.5 visible cards on phones. */
@media(max-width:850px){
 html body.single-product .tn-v15-after-product{padding:28px 16px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
 html body.single-product .tn-v16-carousel-shell{position:relative!important;display:block!important;width:100%!important;max-width:100%!important;overflow:hidden!important;padding:0!important}
 html body.single-product .tn-v15-related-grid{display:flex!important;flex-wrap:nowrap!important;gap:10px!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;box-sizing:border-box!important}
 html body.single-product .tn-v15-related-grid>.tn-v15-card{flex:0 0 calc((100% - 10px)/1.5)!important;width:calc((100% - 10px)/1.5)!important;min-width:0!important;max-width:none!important;scroll-snap-align:start!important}
 html body.single-product .tn-v16-prev,html body.single-product .tn-v16-next{position:absolute!important;top:32%!important;z-index:3!important;background:#fff!important;border-radius:50%!important;box-shadow:0 1px 6px #0002!important}
 html body.single-product .tn-v16-prev{left:3px!important}html body.single-product .tn-v16-next{right:3px!important}
 html body.single-product .tn-page .woocommerce div.product{padding-left:16px!important;padding-right:16px!important}
 html body.single-product .woocommerce div.product .summary form.cart button.single_add_to_cart_button{margin-left:0!important;margin-right:0!important}
}
@media(min-width:851px){
 html body.single-product .tn-v15-related-grid>.tn-v15-card{flex:0 0 calc((100% - 42px)/4)!important;width:calc((100% - 42px)/4)!important}
}

/* V22 - Uniquement prix fiche produit : montant actuel et ancien prix noirs. */
body.single-product .woocommerce div.product .price,
body.single-product .woocommerce div.product .price *,
body.single-product .woocommerce div.product .woocommerce-variation-price,
body.single-product .woocommerce div.product .woocommerce-variation-price *,
body.single-product .woocommerce div.product .summary .amount,
body.single-product .woocommerce div.product .summary .amount * {
 color:#111 !important; -webkit-text-fill-color:#111 !important;
 text-decoration-color:#111 !important; opacity:1 !important;
}


/* V24 — Product summary alignment. One native label, full-width size rows. */
body.single-product .tn-page .woocommerce div.product > .summary,
body.single-product .tn-page .woocommerce div.product > div.summary {box-sizing:border-box!important;min-width:0!important;overflow:visible!important;text-align:left!important;}
body.single-product .woocommerce div.product .summary > h1.product_title {display:block!important;position:static!important;float:none!important;clear:both!important;width:100%!important;order:0!important;margin:0 0 18px!important;text-align:left!important;}
body.single-product .woocommerce div.product .summary > .price {display:block!important;float:none!important;clear:both!important;width:100%!important;margin:0 0 20px!important;text-align:left!important;}
body.single-product .woocommerce div.product .summary form.variations_form,
body.single-product .woocommerce div.product .summary form.cart {display:block!important;float:none!important;clear:both!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;}
body.single-product .woocommerce div.product .summary form.variations_form table.variations {display:block!important;width:100%!important;max-width:100%!important;border:0!important;margin:0 0 16px!important;table-layout:auto!important;border-collapse:collapse!important;}
body.single-product .woocommerce div.product .summary form.variations_form table.variations tbody,
body.single-product .woocommerce div.product .summary form.variations_form table.variations tr {display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;}
body.single-product .woocommerce div.product .summary form.variations_form table.variations th.label,
body.single-product .woocommerce div.product .summary form.variations_form table.variations th {display:block!important;float:none!important;clear:both!important;width:100%!important;max-width:100%!important;margin:0 0 12px!important;padding:0!important;text-align:left!important;vertical-align:top!important;font-size:15px!important;font-weight:600!important;}
body.single-product .woocommerce div.product .summary form.variations_form table.variations td.value,
body.single-product .woocommerce div.product .summary form.variations_form table.variations td {display:block!important;float:none!important;clear:both!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;text-align:left!important;box-sizing:border-box!important;}
body.single-product .woocommerce div.product .summary form.variations_form .tn-v16-variation {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;box-sizing:border-box!important;}
body.single-product .woocommerce div.product .summary form.variations_form .tn-v16-size {box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;}
body.single-product .woocommerce div.product .summary .tn-v20-size-label,
body.single-product .woocommerce div.product .summary form.variations_form .reset_variations {display:none!important;}
body.single-product .woocommerce div.product .summary .price,body.single-product .woocommerce div.product .summary .price *,body.single-product .woocommerce div.product .summary .woocommerce-variation-price,body.single-product .woocommerce div.product .summary .woocommerce-variation-price * {color:#111!important;-webkit-text-fill-color:#111!important;}
@media(max-width:850px){body.single-product .tn-page .woocommerce div.product {padding-left:16px!important;padding-right:16px!important;}body.single-product .tn-page .woocommerce div.product > div.summary {margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;width:100%!important;max-width:100%!important;}body.single-product .woocommerce div.product .summary form.cart button.single_add_to_cart_button {width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;}}

/* V25 — Desktop reference: compact sticky navigation and clean product layout. */
html {scroll-padding-top:90px;}
html body {overflow-x:clip;}
html body header.tn-header {position:sticky!important;top:0!important;z-index:9997!important;min-height:76px!important;height:76px!important;max-height:76px!important;padding:8px clamp(20px,6vw,110px)!important;gap:20px!important;align-content:center!important;box-sizing:border-box!important;background:#fff!important;}
html body header.tn-header > .tn-logo,html body header.tn-header > .tn-desktop-nav,html body header.tn-header > .tn-actions{align-self:center!important;}
html body header.tn-header .tn-desktop-nav a{font-size:14px!important;}
html body header.tn-header .tn-actions{gap:18px!important;}
html body header.tn-header .tn-actions svg{width:24px!important;height:24px!important;}
html body.admin-bar header.tn-header{top:32px!important;}
html body.single-product .tn-page {max-width:1380px!important;width:100%!important;margin:32px auto 0!important;padding:0 28px!important;box-sizing:border-box!important;}
html body.single-product .tn-page .woocommerce div.product{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(340px,1fr)!important;column-gap:38px!important;align-items:start!important;max-width:100%!important;margin:0!important;padding:0!important;}
html body.single-product .tn-page .woocommerce div.product > div.images{grid-column:1!important;grid-row:1!important;width:100%!important;max-width:100%!important;float:none!important;margin:0!important;padding:0!important;min-width:0!important;}
html body.single-product .tn-page .woocommerce div.product > div.summary{grid-column:2!important;grid-row:1!important;width:100%!important;max-width:100%!important;float:none!important;margin:0!important;padding:0!important;min-width:0!important;background:#fff!important;}
html body.single-product .woocommerce div.product .summary h1.product_title{display:block!important;visibility:visible!important;opacity:1!important;position:static!important;float:none!important;clear:both!important;order:initial!important;font-size:clamp(30px,3vw,46px)!important;line-height:1.15!important;font-weight:800!important;margin:0 0 22px!important;letter-spacing:-.02em!important;color:#111!important;}
html body.single-product .woocommerce div.product .summary .price{margin:0 0 18px!important;line-height:1.5!important;}
html body.single-product .woocommerce div.product .summary .price,html body.single-product .woocommerce div.product .summary .price *,html body.single-product .woocommerce div.product .summary .woocommerce-variation-price *{color:#111!important;-webkit-text-fill-color:#111!important;text-decoration-color:#111!important;}
html body.single-product .woocommerce div.product .summary form.variations_form table.variations,html body.single-product .woocommerce div.product .summary form.variations_form table.variations tbody,html body.single-product .woocommerce div.product .summary form.variations_form table.variations tr,html body.single-product .woocommerce div.product .summary form.variations_form table.variations th,html body.single-product .woocommerce div.product .summary form.variations_form table.variations td{display:block!important;float:none!important;clear:both!important;width:100%!important;max-width:100%!important;margin-left:0!important;padding-left:0!important;}
html body.single-product .woocommerce div.product .summary form.variations_form table.variations th.label{margin-bottom:12px!important;text-align:left!important;}
html body.single-product .woocommerce div.product .summary form.variations_form .tn-v16-variation{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;}
html body.single-product .woocommerce div.product .summary form.variations_form .tn-v16-size{height:39px!important;min-height:39px!important;font-size:13px!important;}
html body.single-product .woocommerce div.product .summary form.cart button.single_add_to_cart_button{margin-left:0!important;margin-right:0!important;width:100%!important;}
html body.single-product .tn-page .woocommerce div.product > :not(.images):not(.summary){grid-column:1/-1!important;}
@media(max-width:850px){
 html body header.tn-header{height:70px!important;min-height:70px!important;max-height:70px!important;padding:8px 16px!important;grid-template-columns:1fr auto 1fr!important;}
 html body.admin-bar header.tn-header{top:0!important;}
 html body.single-product .tn-page{margin:18px auto 0!important;padding:0 16px!important;}
 html body.single-product .tn-page .woocommerce div.product{display:flex!important;flex-direction:column!important;gap:0!important;width:100%!important;padding:0!important;}
 html body.single-product .tn-page .woocommerce div.product > div.images,html body.single-product .tn-page .woocommerce div.product > div.summary{width:100%!important;max-width:100%!important;margin:0 0 20px!important;padding:0!important;}
 html body.single-product .woocommerce div.product .summary h1.product_title{font-size:clamp(28px,7vw,39px)!important;margin:0 0 18px!important;}
 html body.single-product .woocommerce div.product .summary form.variations_form .tn-v16-size{font-size:13px!important;}
}

/* V26 — Full-bleed ONLY for the three bottom custom sections on product pages.
   The product grid, product information, order information and related slider
   retain their own centered constrained layouts. */
html body.single-product .tn-page .woocommerce .tn-v15-fullwidth {
  display:block!important;
  position:relative!important;
  left:50%!important;
  right:auto!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:0!important;
  padding:0!important;
  clear:both!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
html body.single-product .tn-page .woocommerce .tn-v15-fullwidth > .tn-videos,
html body.single-product .tn-page .woocommerce .tn-v15-fullwidth > .tn-reviews,
html body.single-product .tn-page .woocommerce .tn-v15-fullwidth > .tn-reassurance {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
/* Prevent viewport-wide panels from causing sideways page scrolling. */
html body.single-product {overflow-x:clip!important;}
@media(max-width:850px){
 html body.single-product .tn-page .woocommerce .tn-v15-fullwidth{
   left:50%!important;width:100vw!important;max-width:100vw!important;
   margin-left:-50vw!important;padding:0!important;
 }
}

/* V27: the three bottom custom sections live as siblings of .tn-page.
   No viewport breakout tricks are applied to the product page or its contents. */
html body.single-product > .tn-v27-bottom-fullbleed {
  display:block!important; position:relative!important;
  width:100%!important; max-width:none!important;
  margin:0!important; padding:0!important;
  left:auto!important; right:auto!important;
  clear:both!important; box-sizing:border-box!important;
}
html body.single-product > .tn-v27-bottom-fullbleed > section {
  display:block!important; width:100%!important; max-width:none!important;
  margin-left:0!important; margin-right:0!important;
  box-sizing:border-box!important;
}


/* V28 — true viewport-width breakout for ONLY the three bottom sections.
   The wrapper is a sibling of .tn-page; the product and recommendations
   retain their existing centered widths. 100vw is intentional here because
   width:100% was relative to a constrained ancestor in the previous build. */
html body.single-product .tn-v27-bottom-fullbleed {
  position:relative!important;
  display:block!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:100vw!important;
  min-width:100vw!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  clear:both!important;
}
html body.single-product .tn-v27-bottom-fullbleed > #tn-videos-tn-wp-2,
html body.single-product .tn-v27-bottom-fullbleed > #tn-reviews-tn-wp-3,
html body.single-product .tn-v27-bottom-fullbleed > .tn-reassurance,
html body.single-product .tn-v27-bottom-fullbleed > section {
  position:relative!important;
  left:auto!important;
  transform:none!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
html body.single-product {overflow-x:clip!important;}

/* V29 — restore the reassurance grid without changing full-bleed layout.
   V28 used display:block!important on every bottom section, overriding
   custom-5.php's original four-column grid. */
html body.single-product .tn-v27-bottom-fullbleed > #tn-reassurance-tn-wp-4 {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  width:100%!important;
  max-width:none!important;
  gap:0!important;
}
@media (max-width:749px) {
  html body.single-product .tn-v27-bottom-fullbleed > #tn-reassurance-tn-wp-4 {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* V30 — Never display the "Effacer" link under size choices. */
html body.single-product form.variations_form a.reset_variations,
html body.single-product form.variations_form .reset_variations,
html body.single-product .woocommerce-variation-add-to-cart a.reset_variations,
html body.single-product a.reset_variations {
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
}

/* V31 — label aligned with product title/price/cart, pills on their own row.
   The native WooCommerce label is visually replaced by JS without changing select values. */
html body.single-product .woocommerce div.product .summary form.variations_form .tn-v31-size-heading {
 display:block!important;position:static!important;float:none!important;clear:both!important;
 width:100%!important;max-width:100%!important;box-sizing:border-box!important;
 margin:0 0 14px!important;padding:0!important;text-align:left!important;
 color:#111!important;font-size:15px!important;font-weight:600!important;line-height:1.5!important;
}
html body.single-product .woocommerce div.product .summary form.variations_form table.variations {
 display:block!important;float:none!important;clear:both!important;position:static!important;
 width:100%!important;max-width:100%!important;min-width:0!important;
 margin:0 0 16px!important;padding:0!important;box-sizing:border-box!important;
 border:0!important;border-spacing:0!important;
}
html body.single-product .woocommerce div.product .summary form.variations_form table.variations tbody,
html body.single-product .woocommerce div.product .summary form.variations_form table.variations tr,
html body.single-product .woocommerce div.product .summary form.variations_form table.variations td.value {
 display:block!important;float:none!important;clear:both!important;position:static!important;
 width:100%!important;max-width:100%!important;min-width:0!important;
 margin:0!important;padding:0!important;box-sizing:border-box!important;text-align:left!important;
}
html body.single-product .woocommerce div.product .summary form.variations_form.tn-v31-ready table.variations th.label {display:none!important;}
html body.single-product .woocommerce div.product .summary form.variations_form .tn-v16-variation {
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 width:100%!important;max-width:100%!important;min-width:0!important;
 margin:0!important;padding:0!important;gap:9px!important;box-sizing:border-box!important;
}
@media(max-width:850px){
 html body.single-product .woocommerce div.product .summary form.variations_form .tn-v31-size-heading{margin-bottom:14px!important;}
}

/* V32 — extra vertical breathing room between the size label and pills.
   Padding is used rather than margin to prevent margin collapsing. */
body.single-product form.variations_form .tn-v31-size-heading,
body.single-product .summary form.variations_form .tn-v31-size-heading,
html body.single-product .woocommerce div.product .summary form.variations_form .tn-v31-size-heading {
  display:block!important;
  padding-bottom:22px!important;
  margin-bottom:0!important;
  box-sizing:border-box!important;
}

/* V36 — Product page Add to cart: black background, white label. */
html body.single-product .woocommerce div.product .summary form.cart button.single_add_to_cart_button,
html body.single-product .woocommerce div.product .summary form.cart button.single_add_to_cart_button:hover,
html body.single-product .woocommerce div.product .summary form.cart button.single_add_to_cart_button:focus,
html body.single-product .woocommerce div.product .summary form.cart button.single_add_to_cart_button:active {
  background:#111!important; background-color:#111!important; color:#fff!important;
  border-color:#111!important; opacity:1!important; text-shadow:none!important;
}
html body.single-product .woocommerce div.product .summary form.cart button.single_add_to_cart_button:disabled {
  background:#111!important;color:#fff!important;border-color:#111!important;
}

/* V37 — final override: WooCommerce single-product add-to-cart buttons. */
body.single-product button.single_add_to_cart_button,
body.single-product form.cart .single_add_to_cart_button,
body.single-product .woocommerce button.button.single_add_to_cart_button,
body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button,
body.single-product .woocommerce div.product .summary form.cart button.single_add_to_cart_button,
body.single-product button.single_add_to_cart_button:hover,
body.single-product button.single_add_to_cart_button:focus,
body.single-product button.single_add_to_cart_button:active,
body.single-product button.single_add_to_cart_button:disabled {
  background: #111 !important;
  background-color: #111 !important;
  background-image: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border-color: #111 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
body.single-product button.single_add_to_cart_button *,
body.single-product button.single_add_to_cart_button:hover * { color:#fff!important; -webkit-text-fill-color:#fff!important; }

/* V38 — Product add-to-cart: ensure BOTH the actual background and text remain visible. */
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button.button,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button.alt,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button:hover,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button:focus,
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button:disabled {
 background:#111!important;background-color:#111!important;background-image:none!important;
 color:#fff!important;-webkit-text-fill-color:#fff!important;
 border:1px solid #111!important;opacity:1!important;visibility:visible!important;
 text-indent:0!important;font-size:17px!important;line-height:1.4!important;
}
html body.single-product form.cart button.single_add_to_cart_button::before,
html body.single-product form.cart button.single_add_to_cart_button::after{background:transparent!important;}

/* V39 — Search follows the sticky header at every scroll position. */
html body .tn-search-panel{position:fixed!important;top:var(--tn-search-top,76px)!important;left:0!important;right:0!important;width:100%!important;z-index:9996!important;box-sizing:border-box!important;max-height:calc(100dvh - var(--tn-search-top,76px))!important;overflow-y:auto!important;}
html body .tn-search-panel[hidden]{display:none!important;}
@media(max-width:850px){html body .tn-search-panel{top:var(--tn-search-top,70px)!important;}}
