body.wc3dc-custom-product{background:#03224C!important;color:#fff;font-family:'Inter',system-ui,sans-serif;margin:0!important}
body.wc3dc-custom-product .site-main,body.wc3dc-custom-product main.site-main,body.wc3dc-custom-product .entry-content,body.wc3dc-custom-product #content,body.wc3dc-custom-product #primary,body.wc3dc-custom-product .site-content,body.wc3dc-custom-product .page-content,body.wc3dc-custom-product .e-con,body.wc3dc-custom-product .elementor-location-archive,body.wc3dc-custom-product .product{padding:0!important;margin:0!important;max-width:none!important;width:100%!important;background:#03224C!important}
body.wc3dc-custom-product .entry-header,body.wc3dc-custom-product .entry-title{display:none!important}

.sp-wrapper{padding:48px 24px 80px;box-sizing:border-box}
.sp-wrapper *{box-sizing:border-box}
.sp-container{max-width:1280px;margin:0 auto}

.sp-breadcrumbs{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.4);margin-bottom:48px}
.sp-breadcrumbs a{color:inherit;text-decoration:none}
.sp-breadcrumbs a:hover{color:#ffd600}
.sp-sep{font-weight:400}
.sp-current{color:#ffd600}

.sp-main{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;margin-bottom:96px;align-items:start}
@media(max-width:900px){.sp-main{grid-template-columns:1fr;gap:40px}}

.sp-gallery{display:flex;flex-direction:column;gap:16px}
.sp-main-img{aspect-ratio:1/1;background:#fff;border:1px solid rgba(255,255,255,.05);overflow:hidden;display:flex;align-items:center;justify-content:center}
.sp-main-img img{width:100%;height:100%;object-fit:contain;transition:transform .4s ease;padding:8px;box-sizing:border-box}
.sp-main-img:hover img{transform:scale(1.03)}
.sp-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px}
body.wc3dc-custom-product .sp-thumb,body.wc3dc-custom-product button.sp-thumb{aspect-ratio:1/1!important;background:#fff!important;border:1px solid rgba(255,255,255,.08)!important;padding:4px!important;cursor:pointer!important;overflow:hidden!important;transition:border-color .2s,transform .2s!important;outline:none!important;box-shadow:none!important;border-radius:0!important;display:block!important;width:auto!important;margin:0!important}
body.wc3dc-custom-product .sp-thumb img{width:100%!important;height:100%!important;object-fit:contain!important;opacity:.7;transition:opacity .2s;display:block}
body.wc3dc-custom-product .sp-thumb:hover,body.wc3dc-custom-product button.sp-thumb:hover{border-color:rgba(255,214,0,.4)!important;background:#021533!important;outline:none!important;box-shadow:none!important;transform:translateY(-2px)}
body.wc3dc-custom-product .sp-thumb:hover img{opacity:.9}
body.wc3dc-custom-product .sp-thumb:focus,body.wc3dc-custom-product .sp-thumb:focus-visible,body.wc3dc-custom-product .sp-thumb:active,body.wc3dc-custom-product button.sp-thumb:focus,body.wc3dc-custom-product button.sp-thumb:focus-visible,body.wc3dc-custom-product button.sp-thumb:active{outline:none!important;box-shadow:none!important;background:#021533!important}
body.wc3dc-custom-product .sp-thumb.active,body.wc3dc-custom-product button.sp-thumb.active{border-color:#ffd600!important;outline:none!important;box-shadow:0 0 0 1px #ffd600 inset!important}
body.wc3dc-custom-product .sp-thumb.active img{opacity:1}

.sp-info{display:flex;flex-direction:column;gap:20px}
.sp-tag{display:inline-block;background:#ffd600;color:#03224C;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:3px;padding:6px 14px;align-self:flex-start}
.sp-title{font-size:clamp(2rem,4vw,3.5rem);font-weight:950;text-transform:uppercase;letter-spacing:-1.5px;line-height:.95;margin:0;color:#fff}
.sp-price{font-size:36px;font-weight:900;color:#ffd600;font-style:italic;letter-spacing:-1px;line-height:1}
.sp-price del{color:rgba(255,255,255,.3);font-size:.6em;margin-right:12px;font-weight:400}
.sp-price ins{text-decoration:none;color:#ffd600;background:none}
.sp-short-desc{font-size:14px;line-height:1.7;color:rgba(255,255,255,.6);padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}
.sp-short-desc p{margin:0 0 8px}

.sp-cart-wrap{padding:24px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}

/* WooCommerce form overrides — quantité + boutons en style 3DSIFY */
.sp-cart-wrap form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:0}
.sp-cart-wrap .quantity{display:flex;align-items:stretch;background:#021533;border:1px solid rgba(255,255,255,.12)}
.sp-cart-wrap .quantity label{display:none}
.sp-cart-wrap .quantity input.qty{width:64px!important;height:54px;background:transparent!important;border:none!important;color:#fff!important;text-align:center;font-size:16px!important;font-weight:900!important;border-radius:0!important;outline:none!important;-moz-appearance:textfield}
.sp-cart-wrap .quantity input.qty::-webkit-outer-spin-button,.sp-cart-wrap .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.sp-cart-wrap button.single_add_to_cart_button,.sp-cart-wrap input.single_add_to_cart_button{flex:1;min-width:200px;background:#ffd600!important;color:#03224C!important;border:none!important;border-radius:0!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:3px!important;padding:0 32px!important;height:54px;cursor:pointer;transition:all .25s ease;box-shadow:none!important;text-shadow:none!important}
.sp-cart-wrap button.single_add_to_cart_button:hover,.sp-cart-wrap input.single_add_to_cart_button:hover{background:#fff!important;color:#03224C!important;transform:translateY(-2px);box-shadow:0 5px 15px rgba(255,214,0,.25)!important}

/* Bouton custom Personnaliser 3D (ajouté via hook woocommerce_before_add_to_cart_button) */
.sp-cart-wrap .wc3dc-customize-btn,.sp-cart-wrap .wc3dc-3d-btn,.sp-cart-wrap a.wc3dc-trigger,.sp-cart-wrap button.wc3dc-trigger{display:inline-flex;align-items:center;justify-content:center;flex:1;min-width:200px;background:transparent!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;border-radius:0!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:3px!important;padding:0 32px!important;height:54px;cursor:pointer;text-decoration:none;transition:all .25s ease}
.sp-cart-wrap .wc3dc-customize-btn:hover,.sp-cart-wrap .wc3dc-3d-btn:hover,.sp-cart-wrap a.wc3dc-trigger:hover,.sp-cart-wrap button.wc3dc-trigger:hover{border-color:#ffd600!important;color:#ffd600!important;background:rgba(255,214,0,.05)!important}

/* Variations select (couleurs, tailles) */
.sp-cart-wrap table.variations{margin:0 0 16px;width:100%}
.sp-cart-wrap table.variations td,.sp-cart-wrap table.variations th{padding:8px 0;background:transparent;border:none;color:#fff}
.sp-cart-wrap table.variations th{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:2px;color:#ffd600;width:120px}
.sp-cart-wrap table.variations select{background:#021533!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;padding:10px 12px!important;border-radius:0!important;width:100%}
.sp-cart-wrap .reset_variations{color:rgba(255,255,255,.4);font-size:11px;text-transform:uppercase;letter-spacing:1px;text-decoration:none}

.sp-tech-labels{display:flex;flex-wrap:wrap;gap:8px}
.sp-tech-label{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.1);padding:6px 12px}

.sp-meta{display:flex;flex-direction:column;gap:8px;padding:16px 0;border-top:1px solid rgba(255,255,255,.05)}
.sp-meta-row{display:flex;gap:16px;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}
.sp-meta-lbl{color:rgba(255,255,255,.4);font-weight:700;min-width:90px}
.sp-meta-val{color:#fff;font-weight:900}

.sp-reassure{display:flex;flex-direction:column;gap:14px;padding:20px 24px;background:#021533;border:1px solid rgba(255,255,255,.06)}
.sp-reassure-item{display:flex;align-items:center;gap:14px;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}
.sp-reassure-num{color:#ffd600;font-weight:950;font-size:14px;font-style:italic;min-width:24px}
.sp-reassure-txt{color:rgba(255,255,255,.7);font-weight:700}

/* Tabs */
.sp-tabs{margin-bottom:96px}
.sp-tab-headers{display:flex;gap:0;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:32px;flex-wrap:wrap}
body.wc3dc-custom-product .sp-tab-btn,body.wc3dc-custom-product button.sp-tab-btn{background:transparent!important;background-color:transparent!important;border:none!important;border-radius:0!important;color:rgba(255,255,255,.4)!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:2.5px!important;padding:18px 28px!important;cursor:pointer!important;position:relative!important;transition:color .2s!important;outline:none!important;box-shadow:none!important;text-shadow:none!important;font-family:inherit!important}
body.wc3dc-custom-product .sp-tab-btn:hover,body.wc3dc-custom-product button.sp-tab-btn:hover{color:#fff!important;background:transparent!important;outline:none!important;box-shadow:none!important;border:none!important}
body.wc3dc-custom-product .sp-tab-btn:focus,body.wc3dc-custom-product .sp-tab-btn:focus-visible,body.wc3dc-custom-product .sp-tab-btn:active,body.wc3dc-custom-product button.sp-tab-btn:focus,body.wc3dc-custom-product button.sp-tab-btn:focus-visible,body.wc3dc-custom-product button.sp-tab-btn:active{outline:none!important;box-shadow:none!important;border:none!important;background:transparent!important}
body.wc3dc-custom-product .sp-tab-btn.active,body.wc3dc-custom-product button.sp-tab-btn.active{color:#ffd600!important;background:transparent!important;border:none!important;outline:none!important;box-shadow:none!important}
.sp-tab-btn.active::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#ffd600}
.sp-tab-panel{display:none;font-size:15px;line-height:1.7;color:rgba(255,255,255,.75)}
.sp-tab-panel.active{display:block;animation:spFade .3s ease}
@keyframes spFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.sp-tab-panel p{margin:0 0 16px}
.sp-tab-panel a{color:#ffd600}

.sp-specs{width:100%;border-collapse:collapse}
.sp-specs th,.sp-specs td{padding:14px 20px;text-align:left;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}
.sp-specs th{color:#ffd600;font-weight:900;text-transform:uppercase;letter-spacing:1.5px;width:30%;font-size:11px}
.sp-specs td{color:#fff;font-weight:500}

/* Related */
.sp-related{padding-top:48px;border-top:1px solid rgba(255,255,255,.08)}
.sp-related-title{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:950;text-transform:uppercase;letter-spacing:-1px;margin:0 0 40px;color:#fff}
.sp-related-title span{color:#ffd600;font-style:italic}
.sp-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}
.sp-rel-card{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit}
.sp-rel-img{aspect-ratio:1/1;background:#fff;border:1px solid rgba(255,255,255,.05);overflow:hidden}
.sp-rel-img img{width:100%;height:100%;object-fit:contain;transition:transform .4s ease,filter .3s;padding:8px;box-sizing:border-box}
.sp-rel-card:hover .sp-rel-img img{transform:scale(1.05);filter:grayscale(.3)}
.sp-rel-name{font-size:14px;font-weight:900;text-transform:uppercase;color:#fff;margin:0;letter-spacing:.5px;transition:color .2s}
.sp-rel-card:hover .sp-rel-name{color:#ffd600}
.sp-rel-price{font-size:14px;font-weight:900;color:#ffd600;font-style:italic}
.sp-rel-price del{color:rgba(255,255,255,.3);font-weight:400;margin-right:6px}
.sp-rel-price ins{text-decoration:none;color:#ffd600;background:none}

/* Notices WC (mises au design 3DSIFY) */
body.wc3dc-custom-product .woocommerce-notices-wrapper .woocommerce-message,body.wc3dc-custom-product .woocommerce-notices-wrapper .woocommerce-info,body.wc3dc-custom-product .woocommerce-notices-wrapper .woocommerce-error{background:#021533!important;border:1px solid rgba(255,255,255,.1)!important;border-left:4px solid #ffd600!important;color:#fff!important;border-radius:0!important;box-shadow:none!important;padding:16px 24px!important;margin-bottom:24px!important}
body.wc3dc-custom-product .woocommerce-notices-wrapper .woocommerce-message::before,body.wc3dc-custom-product .woocommerce-notices-wrapper .woocommerce-info::before,body.wc3dc-custom-product .woocommerce-notices-wrapper .woocommerce-error::before{display:none!important}
body.wc3dc-custom-product .woocommerce-notices-wrapper a.button{background:#ffd600!important;color:#03224C!important;border:none!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:2px!important;padding:10px 20px!important;font-size:11px!important}
