/* CABOUX-TCHOUX 1.2.0 — Native WooCommerce single product, isolated layout */
body.caboux-product-page #main-header,body.caboux-product-page #top-header,body.caboux-product-page #main-footer,body.caboux-product-page .et-l--header,body.caboux-product-page .et-l--footer{display:none!important}
body.caboux-product-page #page-container{padding-top:0!important}
body.caboux-product-page #main-content,body.caboux-product-page #main-content>.container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.caboux-product-main{min-height:70vh;font-family:'Trebuchet MS',Arial,sans-serif;color:#263640;background:#fff}
.caboux-product-main *{box-sizing:border-box}
.caboux-product-container{width:min(1440px,94%);margin:0 auto}
.caboux-product-intro{background:radial-gradient(circle at 89% 10%,#e8ffd9,transparent 36%),linear-gradient(115deg,#fff8f1,#f6efff);padding:27px 0 25px}
.caboux-product-eyebrow{color:#eb1641!important;font-size:12px!important;font-weight:900;letter-spacing:.15em;margin:0 0 12px!important}
.caboux-product-trail .woocommerce-breadcrumb{margin:0!important;color:#4f6067;font-size:14px}
.caboux-product-trail a{color:#38537d;text-decoration:none}.caboux-product-trail a:hover{text-decoration:underline}
.caboux-product-shell{padding:36px 0 58px}
.caboux-product-main .woocommerce-notices-wrapper{margin-bottom:18px}
.caboux-product-main .product.type-product{display:flow-root!important;width:100%!important;margin:0!important}
.caboux-product-main .woocommerce div.product div.images,.caboux-product-main div.product div.images{float:left!important;width:46%!important;margin:0 4% 30px 0!important;max-width:100%!important}
.caboux-product-main .woocommerce div.product div.summary,.caboux-product-main div.product div.summary{float:right!important;width:50%!important;margin:0!important;padding:4px 0 22px!important}
.caboux-product-main div.product div.images .woocommerce-product-gallery__wrapper{background:#f8f8fd;border:1px solid #eee7f0;border-radius:20px;overflow:hidden}
.caboux-product-main div.product div.images .woocommerce-product-gallery__image img{width:100%;height:auto;object-fit:contain}
.caboux-product-main div.product div.images .flex-control-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0!important;padding:0!important;list-style:none}
.caboux-product-main div.product div.images .flex-control-thumbs li{width:calc(25% - 8px)!important;border-radius:12px;overflow:hidden;border:1px solid #e6e2ec}
.caboux-product-main div.product .product_title{font-size:clamp(27px,2.7vw,39px)!important;line-height:1.16!important;color:#26343c!important;font-weight:900!important;margin:0 0 15px!important;padding:0!important}
.caboux-product-main div.product .summary>.price,.caboux-product-main div.product .summary>.price *{font-size:clamp(23px,2vw,30px)!important;font-weight:900!important;color:#20814e!important}
.caboux-product-main .woocommerce-product-details__short-description{font-size:16px;line-height:1.7;color:#3a4851;margin:14px 0 19px}
.caboux-product-main .stock{color:#20814e!important;font-weight:700}
.caboux-product-main form.cart{display:block!important;padding:22px!important;background:#fbf9fe;border:1px solid #ece7f1;border-radius:17px;margin:23px 0!important}
.caboux-product-main form.cart .variations{width:100%;border:0;margin:0 0 10px}
.caboux-product-main form.cart .variations tr{display:block;margin-bottom:13px}.caboux-product-main form.cart .variations th,.caboux-product-main form.cart .variations td{display:block;width:100%;text-align:left;padding:0!important;border:0}
.caboux-product-main form.cart .variations label{display:block;font-size:14px;font-weight:900;color:#26343c;margin:0 0 5px}
.caboux-product-main form.cart select{width:100%;max-width:100%;min-height:44px;border:1px solid #d9d3df;background:white;border-radius:10px;padding:8px 12px;font-size:15px}
.caboux-product-main form.cart .reset_variations{display:inline-block;margin-top:8px;font-size:13px}
.caboux-product-main .single_variation_wrap .woocommerce-variation-price{margin:14px 0}.caboux-product-main .single_variation_wrap .woocommerce-variation-price .price{color:#20814e!important;font-weight:900;font-size:22px!important}
.caboux-product-main form.cart .quantity{margin:0 12px 10px 0!important}.caboux-product-main form.cart .qty{border:1px solid #ddd5e1;background:white;border-radius:10px;min-width:75px;padding:12px 7px;height:47px}
.caboux-product-main div.product form.cart .button,.caboux-product-main .single_add_to_cart_button{background:#ed153b!important;color:#fff!important;border:0!important;border-radius:13px!important;padding:15px 22px!important;min-height:47px;font-size:15px!important;font-weight:900!important;line-height:1.2!important;box-shadow:0 5px 0 #b91b3b;transition:transform .15s,box-shadow .15s}
.caboux-product-main .single_add_to_cart_button:hover{transform:translateY(-1px);box-shadow:0 7px 0 #b91b3b}
.caboux-product-main .product_meta{font-size:13px;color:#62707b;line-height:1.8;border-top:1px solid #ebe5ee;padding-top:15px}
.caboux-product-main .woocommerce-tabs{clear:both!important;padding-top:32px!important;margin:0 0 40px!important}
.caboux-product-main .woocommerce-tabs ul.tabs{border-bottom:1px solid #ece8f0!important;display:flex;gap:8px;flex-wrap:wrap;padding:0!important;margin:0 0 24px!important}
.caboux-product-main .woocommerce-tabs ul.tabs:before,.caboux-product-main .woocommerce-tabs ul.tabs li:after,.caboux-product-main .woocommerce-tabs ul.tabs li:before{display:none!important}
.caboux-product-main .woocommerce-tabs ul.tabs li{border:1px solid #eae3ef!important;border-radius:11px 11px 0 0!important;background:#faf6ff!important;margin:0!important;padding:0!important}
.caboux-product-main .woocommerce-tabs ul.tabs li a{padding:10px 17px!important;font-weight:800!important;color:#33444b!important}
.caboux-product-main .woocommerce-tabs .panel{margin:0 0 35px!important;line-height:1.75;color:#36474d;max-width:100%!important}
.caboux-product-main .woocommerce-tabs h2,.caboux-product-main .related.products h2,.caboux-product-main .upsells.products h2{font-size:clamp(22px,2vw,29px)!important;line-height:1.2!important;color:#273640!important;margin:0 0 20px!important}
.caboux-product-main .related.products,.caboux-product-main .upsells.products{clear:both;padding:25px 0}
.caboux-product-main ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0!important;padding:0!important}
.caboux-product-main ul.products:before,.caboux-product-main ul.products:after{display:none!important}
.caboux-product-main ul.products li.product{width:auto!important;float:none!important;margin:0!important;padding:0 0 16px!important;border:1px solid #eae7ef;border-radius:16px;overflow:hidden;background:white;min-width:0}
.caboux-product-main ul.products li.product img{width:100%!important;height:210px!important;object-fit:contain;background:#f7f7fb;margin:0 0 14px!important}
.caboux-product-main ul.products li.product .woocommerce-loop-product__title{font-size:16px!important;line-height:1.4!important;padding:0 14px!important;margin:0 0 7px!important;font-weight:800!important}
.caboux-product-main ul.products li.product .price{padding:0 14px;color:#20814e!important;font-weight:800!important}
.caboux-product-main ul.products li.product .button{margin:10px 14px 0!important;border:0!important;background:#f3eaff!important;color:#55368f!important;border-radius:9px!important;font-weight:800!important;font-size:12px!important}
.caboux-product-after{background:#f9f5fc;border-top:1px solid #eae4ef;padding:22px 0}.caboux-product-after .caboux-product-container{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-weight:800}.caboux-product-after a{color:#7041a8}
@media(max-width:900px){.caboux-product-main ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.caboux-product-main div.product div.images,.caboux-product-main div.product div.summary{float:none!important;width:100%!important;margin:0 0 23px!important}}
@media(max-width:600px){.caboux-product-container{width:92%}.caboux-product-shell{padding:22px 0 35px}.caboux-product-intro{padding:17px 0}.caboux-product-main ul.products{gap:10px}.caboux-product-main ul.products li.product img{height:150px!important}.caboux-product-main form.cart{padding:15px!important}.caboux-product-main .woocommerce-tabs ul.tabs{display:flex!important}.caboux-product-after .caboux-product-container{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.caboux-product-main *{transition:none!important;animation:none!important}}

/* v1.2.1 : gallery less dominant on desktop, original aspect ratio preserved. */
@media(min-width:901px){
 .caboux-product-main div.product div.images,
 .caboux-product-main .woocommerce div.product div.images{width:37%!important;margin:0 4% 30px 0!important}
 .caboux-product-main div.product div.summary,
 .caboux-product-main .woocommerce div.product div.summary{width:59%!important}
 .caboux-product-main div.product div.images .woocommerce-product-gallery__image img{max-height:460px!important;width:100%!important;height:auto!important;object-fit:contain!important}
}
.caboux-product-merchant-note{margin:12px 0;padding:12px 14px;border-left:4px solid #eab14e;border-radius:8px;background:#fff9e9;color:#4e402a;font-size:13px;line-height:1.5}

/* Caboux-Tchoux v1.2.2 — accessible WooCommerce swatches, native selects retained */
.caboux-product-main .variations select.caboux-swatches-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}
.caboux-swatches{display:flex;flex-wrap:wrap;gap:9px;margin:8px 0 15px}
.caboux-swatches .caboux-swatch{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;min-width:49px;min-height:42px;padding:9px 13px;background:white;color:#29343a;border:2px solid #e0dce8;border-radius:12px;font-size:14px;font-weight:800;line-height:1.2;transition:border-color .15s,box-shadow .15s,background .15s}
.caboux-swatches .caboux-swatch:hover:not(:disabled){border-color:#a66bd4;background:#fcf8ff}
.caboux-swatches .caboux-swatch.is-selected{border-color:#e91e4b;box-shadow:0 0 0 2px #ffe0e8;background:#fff8fb;color:#9d1236}
.caboux-swatches .caboux-swatch:focus-visible{outline:3px solid #2599d4;outline-offset:3px}
.caboux-swatches .caboux-swatch:disabled{opacity:.38;cursor:not-allowed;text-decoration:line-through;background:#f1f0f2}
.caboux-swatches-color .caboux-swatch{flex-direction:column;gap:5px;min-width:75px;padding:8px 9px}
.caboux-swatch-dot{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border:1px solid rgba(0,0,0,.18);border-radius:50%;font-size:10px;color:#25333f}
.caboux-swatch-unknown{background:linear-gradient(130deg,#f2dcff,#d7f5ff)}
.caboux-swatch-label{font-size:11px;line-height:1.25;text-align:center;max-width:100px}
@media(max-width:600px){.caboux-swatches{gap:7px}.caboux-swatches .caboux-swatch{min-height:42px;padding:8px 10px}.caboux-swatches-color .caboux-swatch{min-width:69px}}
