#product #content{position:relative;max-width:570px;margin:0 auto}@media screen and (max-width: 767px){#product #content:before,#product #content:after{content:'';width:300%;height:1px;background:var(--gray-light-second);position:absolute;left:-100%;z-index:1}}@media screen and (max-width: 767px) and (max-width: 575px){#product #content:before,#product #content:after{width:calc(100% + 30px);left:-15px}}@media screen and (max-width: 767px){#product #content:before{top:0}#product #content:after{bottom:0}}#product .product-container{margin-top:15px}#product .title-product.with_brand{display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-pack:justify;-webkit-box-pack:justify;justify-content:space-between}#product .title-product.with_brand h1{margin-right:15px;flex: 1;}#product .title-product.with_brand a{width: 100px;}#product .title-product.with_brand img{width: 100%;height: initial;}#product h1{font-size:36px;font-weight:700;line-height:normal;text-transform:none}#product .infos-product{display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center}#product .infos-product p{padding-right:15px;font-size:14px;color:var(--gray);margin-bottom:0}#product .infos-product p+p{padding-left:15px;border-left:1px solid var(--gray-light-second)}@media screen and (max-width: 500px){#product .infos-product p{padding-right:10px}#product .infos-product p+p{padding-left:10px}}#product .infos-product p.grade .status{color:var(--brand-primary);font-weight:700}#product .infos-product p.grade .status-icon{display:inline-block;margin:0 4px;position:relative;top:-3px}#product .infos-product p.grade .status-icon span{display:inline-block;vertical-align:bottom;width:4px;height:14px;background:#00796B}#product .infos-product p.grade .status-icon span+span{margin-left:2px}#product .infos-product p.grade .status-icon span:nth-child(1){height:8px}#product .infos-product p.grade .status-icon span:nth-child(2){height:10px}#product .infos-product p.grade .status-icon span:nth-child(3){height:12px}#product .infos-product p.grade .status-icon.new span{background:var(--brand-primary)}#product .infos-product p.grade .status-icon.statut1 span:nth-child(1){background:var(--brand-primary)}#product .infos-product p.grade .status-icon.statut2 span:nth-child(1),#product .infos-product p.grade .status-icon.statut2 span:nth-child(2){background:var(--brand-primary)}#product .infos-product p.grade .status-icon.statut3 span:nth-child(1),#product .infos-product p.grade .status-icon.statut3 span:nth-child(2),#product .infos-product p.grade .status-icon.statut3 span:nth-child(3){background:var(--brand-primary)}#product .infos-product p.grade i{font-size:16px;vertical-align:sub;cursor:pointer;color:var(--brand-primary)}.product-price{display:inline-block;color:var(--brand-primary)}#product-description-short{margin-top:15px}#product-description-short *{font-size:16px;color:var(--gray-darker)}#product-description-short ul,#product-description-short ol{padding-left:0;list-style-position:inside}#product-description-short ul{list-style-type:disc}.product-description img{max-width:100%;height:auto}.product-description *{font-size:16px;color:var(--gray-darker)}.product-description ul,.product-description ol{padding-left:0.75rem;list-style-position:inside}.product-description ul{list-style-type:disc}.product-description .wrapper-video{overflow:hidden;padding-bottom:56.25%;position:relative;height:0}.product-description .wrapper-video iframe{left:0;top:0;height:100%;width:100%;position:absolute}.product-description .wrapper-video+.wrapper-video{margin-top:15px}.input-color{position:absolute;width:100%;height:100%;left:0;top:0;z-index:1;cursor:pointer;opacity:0}.input-container{position:relative}.input-radio{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.input-color:hover+span,.input-radio:hover+span{color:var(--brand-primary);border:1px solid var(--brand-primary)}.input-color:checked+span,.input-radio:checked+span{color:var(--brand-primary);border:2px solid var(--brand-primary)}.input-color:checked+.color-label .color-name,.input-radio:checked+.color-label .color-name{font-weight:700}.color-label,.radio-label{display:block;padding:10px 15px;font-weight:700;background:var(--white);border:1px solid #616161;border-radius:4px;text-align:center;font-size:16px;transition:0.3s all ease-in-out}.color-label{padding:2px}.color-label .color{width:100%;height:44px;border-radius:2px;display:block;margin:0;border:0}.color-label .color-name{font-size:14px;font-weight:400}.product-actions .control-label{display:block;width:100%;margin-bottom:0.375rem;color:#424242;font-size:14px}.product-actions .add-to-cart{height:2.75rem;line-height:2.75rem;padding:0 50px}.product-actions .add-to-cart .material-icons{margin-left:0;margin-right:5px;font-size:24px;vertical-align:middle;position:relative;top:-2px}.current-price .prix-hotmer{font-family:var(--font-cursive);font-weight:700;font-size:20px;color:var(--brand-primary);margin-right:5px}.current-price .price{font-size:30px;font-weight:700;color:var(--gray-darker)}.current-price .product-discount{color:var(--gray-darker);margin-left:5px;font-size:14px}.current-price .product-discount .regular-price{font-weight:700;text-decoration:line-through}.product-quantity{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:15px}.product-quantity .qty,.product-quantity .add{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;}.product-quantity .qty{margin-right:15px}@media screen and (min-width: 768px) and (max-width: 991px){.product-quantity{display:block}.product-quantity .add{width:100%}.product-quantity .add .add-to-cart{width:100%}}@media screen and (max-width: 420px){.product-quantity{display:block}.product-quantity .add{width:100%}.product-quantity .add .add-to-cart{width:100%}}.product-quantity #quantity_wanted{width:3rem;height:2.75rem;padding:0.175rem 0.5rem;color:var(--gray-darker);background-color:var(--white);border-radius:4px 0 0 4px;border-color:var(--gray-light-second);text-align:center}.product-quantity .input-group-btn-vertical{width:auto}.product-quantity .input-group-btn-vertical .btn{padding:0.5rem 0.6875rem}.product-quantity .input-group-btn-vertical .btn i{position: initial;font-size:1rem}.product-quantity .input-group-btn-vertical .bootstrap-touchspin-up{border-radius:0 4px 0 0;border-color:var(--gray-light-second)}.product-quantity .input-group-btn-vertical .bootstrap-touchspin-down{border-radius:0 0 4px 0;border-color:var(--gray-light-second)}.product-quantity .btn-touchspin{height:1.438rem}.product-discounts{margin-bottom:1.5rem}.product-discounts:empty{display:none}.product-discounts>.product-discounts-title{font-size:var(--font-size-sm);font-weight:700}.product-discounts>.table-product-discounts thead tr th{width:33%;padding:var(--small-space) var(--medium-space);text-align:center;background:var(--white);border:0.3125rem var(--gray-light) solid}.product-discounts>.table-product-discounts tbody tr{background:var(--gray-lighter)}.product-discounts>.table-product-discounts tbody tr:nth-of-type(even){background:var(--white)}.product-discounts>.table-product-discounts tbody tr td{padding:var(--small-space) var(--medium-space);text-align:center;border:0.3125rem var(--gray-light) solid}.product-prices{margin-bottom:10px}.product-prices > .product-discount{display: none;}.product-prices .tax-shipping-delivery-label{font-size:0.8125rem;color:var(--gray)}.product-prices .tax-shipping-delivery-label .delivery-information{padding:0 0 0 2px;font-weight:700}.product-prices .tax-shipping-delivery-label .delivery-information::before{padding:0 2px 0 0;content:"-"}.voucher{margin-bottom:15px}.voucher .product-voucher{background:var(--brand-danger);color:var(--white);font-size:20px;font-weight:700;text-align:center;padding:10px;width:100%;border-radius:4px}.voucher .product-voucher .discount{font-size:14px;color:var(--gray-darker);background-color:var(--discount-color);display:inline-block;padding:0px 5px}.voucher .product-voucher .voucher-code{display:block;margin-top:5px;font-family:var(--font-cursive);color:var(--discount-color)}.voucher .product-voucher .line-voucher{display:block}.voucher .product-voucher .line-voucher+.line-voucher{margin-top:5px}.voucher .voucher-info{font-size:12px;margin-top:5px;line-height:normal}#product-availability:empty,.product-minimal-quantity:empty,.product-additional-info:empty{display:none}.product-unit-price{margin-bottom:0;font-size:var(--font-size-xs);color:var(--brand-primary)}.block-help .title-help{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:5px}.block-help .title-help p{font-family:var(--font-custom);font-size:30px;font-weight:700;color:var(--brand-primary);margin-bottom:0;margin-left:15px;width:calc(100% - 80px);line-height:normal}@media screen and (max-width: 500px){.block-help .title-help p{font-size:26px}}.block-help .img-help{width:80px;height:80px;border-radius:50%;border:2px solid #BB3E03}.block-help .img-help img{border:2px solid var(--white);display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.block-help .info-help{line-height:normal;padding-left:95px}@media screen and (min-width: 768px) and (max-width: 991px){.block-help .info-help{padding-left:0}}@media screen and (max-width: 500px){.block-help .info-help{padding-left:0}}.block-help .info-help p{font-family:var(--font-cursive);font-weight:700;font-size:24px;color:#424242;margin-bottom:0}.block-help .info-help p span{color:var(--gray-darker)}.block-help .links-help{display:inline-block;margin-top:5px;position:relative;padding-right:50px;min-width:200px}.block-help .links-help:after{content:'';width:38px;height:43px;background:url(../img/arrow.png) no-repeat center center;position:absolute;right:0;bottom:5px;z-index:1}.block-help .links-help a{display:inline-block;color:var(--brand-primary);transition:0.3s opacity ease-in-out}.block-help .links-help a i{font-size:24px}.block-help .links-help a:hover{opacity:0.7}.block-help .links-help a+a{margin-left:15px}.tabs,.tabs-avis{margin-top:2rem}.tabs .tab-pane,.tabs-avis .tab-pane{padding-top:var(--medium-space)}.tabs .tab-pane .collapse-toggle,.tabs-avis .tab-pane .collapse-toggle{display:none;width:100%;height:50px;position:absolute;left:0;top:0;z-index:1;opacity:0;cursor:pointer}.tabs .nav-tabs,.tabs-avis .nav-tabs{border:none;border-bottom:1px solid var(--brand-primary);display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.tabs .nav-tabs .nav-link,.tabs-avis .nav-tabs .nav-link{color:#616161;font-weight:400;border:0;border-bottom:3px solid transparent;margin:0;transition:0.3s all ease-in-out}.tabs .nav-tabs .nav-link.active,.tabs-avis .nav-tabs .nav-link.active{font-weight:700;color:var(--gray-darker);border:none;border-bottom:var(--brand-primary) 3px solid}.tabs .nav-tabs .nav-link:hover,.tabs-avis .nav-tabs .nav-link:hover{color:var(--gray-darker);border:none;border-bottom:var(--brand-primary) 3px solid}.tabs .nav-tabs .nav-item,.tabs-avis .nav-tabs .nav-item{text-align:center;width:100%;margin:0}.tabs .nav-tabs .nav-item+.nav-item,.tabs-avis .nav-tabs .nav-item+.nav-item{margin-left:0}.product-cover{position:relative;margin-bottom:var(--medium-space);border:1px solid var(--gray-light-second);border-radius:4px;overflow:hidden}.product-cover .img-cover{display:-webkit-box;display:-ms-flexbox;display:flex;overflow-x:auto;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.product-cover .img-cover div{scroll-snap-align:start;-ms-flex-negative:0;flex-shrink:0;width:100%}@media screen and (min-width: 768px){.product-cover .img-cover div{display:none}.product-cover .img-cover div#image-1{display:block}}.product-cover .img-cover img{max-width:100%;height:auto;background:var(--white)}.product-cover .layer{position:absolute;top:0;left:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;text-align:center;cursor:pointer;background:#000;background:rgba(0,0,0,0.6);opacity:0;transition:opacity 0.7s ease-in-out}.product-cover .layer:hover{opacity:1}.product-cover .layer .zoom-in{font-size:3.125rem;color:var(--btn-primary-color)}.product-cover .indicator-image{display:none}@media screen and (max-width: 767px){.product-cover .indicator-image{display:block}}.product-cover .indicator-image i{z-index:1;position:absolute;top:calc(50% - 24px);cursor:pointer;font-size:48px;color:var(--white);text-shadow:0 2px 2px rgba(0,0,0,0.5)}.product-cover .indicator-image i.prev{left:0}.product-cover .indicator-image i.next{right:0}.product-cover .control-images{display:none;position:absolute;bottom:7px;left:0;right:0;text-align:center;z-index:2}.product-cover .control-images>a{display:inline-block;vertical-align:middle;margin:0 4px;width:12px;height:12px;border-radius:50%;background:#9E9E9E;transition:0.3s background ease-in-out;cursor:pointer}.product-cover .control-images>a.active,.product-cover .control-images>a:hover{background:var(--brand-primary)}#product-modal .modal-content{padding:0;background:transparent;border:none}#product-modal .modal-content .modal-body{display:-webkit-box;display:-ms-flexbox;display:flex;margin-left:-30%}#product-modal .modal-content .modal-body .product-cover-modal{background:var(--white)}#product-modal .modal-content .modal-body .image-caption{width:800px;padding:0.625rem 1.25rem;background:var(--white);border-top:var(--gray-light) 1px solid}#product-modal .modal-content .modal-body .image-caption p{margin-bottom:0}#product-modal .modal-content .modal-body .thumbnails{position:relative}#product-modal .modal-content .modal-body .mask{position:relative;z-index:1;max-height:49.38rem;margin-top:2.188rem;overflow:hidden}#product-modal .modal-content .modal-body .mask.nomargin{margin-top:0}#product-modal .modal-content .modal-body .product-images{margin-left:var(--extra-large-space)}#product-modal .modal-content .modal-body .product-images img{width:9.25rem;cursor:pointer;background:var(--white)}#product-modal .modal-content .modal-body .product-images img:hover{border:var(--brand-primary) 3px solid}#product-modal .modal-content .modal-body .arrows{position:absolute;top:0;right:var(--large-space);z-index:0;width:100%;height:100%;color:var(--white);text-align:center;cursor:pointer}#product-modal .modal-content .modal-body .arrows .arrow-up{position:absolute;top:-2rem;opacity:0.2}#product-modal .modal-content .modal-body .arrows .arrow-down{position:absolute;bottom:-2rem}#product-modal .modal-content .modal-body .arrows i{display:inline;font-size:6.25rem}.product-images>li.thumb-container{display:inline-block}.product-images>li.thumb-container>.thumb{border:1px solid var(--gray-light-second);margin-bottom:var(--small-space);border-radius:4px;cursor:pointer;transition:0.3s border-color ease-in-out}.images-container .product-images>li.thumb-container>.thumb{margin-right:0.8125rem}.product-images>li.thumb-container>.thumb.selected,.product-images>li.thumb-container>.thumb:hover{border-color:var(--brand-primary)}#main .images-container .js-qv-mask{overflow:hidden;white-space:nowrap}#main .images-container .js-qv-mask.scroll{width:calc(100% - 60px);margin:0 auto}.scroll-box-arrows{display:none}.scroll-box-arrows.scroll{display:block}.scroll-box-arrows i{position:absolute;bottom:1.625rem;height:100px;line-height:100px;cursor:pointer}.scroll-box-arrows .left{left:0}.scroll-box-arrows .right{right:0}#product-availability{display:block;font-weight:700;margin-bottom:15px;font-size:14px}#product-availability .material-icons{font-size:18px;line-height:inherit;vertical-align:sub}#product-availability .product-delivery{font-size:12px;text-transform:uppercase;color:var(--white);border-radius:4px;margin-left:10px;display:inline-block;padding:2px 5px}#product-availability.product-available{color:var(--brand-success)}#product-availability.product-available .product-delivery{background:var(--brand-success)}#product-availability.product-unavailable{color:var(--brand-danger)}#product-availability.product-unavailable .product-delivery{background:var(--brand-danger)}#product-availability.product-available .product-delivery.available-later{background:var(--brand-warning);}#product-availability.product-last-items{color:var(--brand-warning)}#product-availability.product-last-items .product-delivery{background:var(--brand-warning)}.product-combinations-block{position:relative;margin-bottom:20px;display:block}.product-combinations-block>p{font-weight:700;color:var(--brand-primary);cursor:pointer;margin-bottom:0}.product-combinations-block>p i{font-size:18px;vertical-align:sub}.product-combinations-block>p span{text-decoration:underline}.product-combinations-block>p:hover span{text-decoration:none}.product-combinations-block.active .triangle-combination,.product-combinations-block.active .triangle2-combination,.product-combinations-block.active .product-combinations{opacity:1;visibility:visible}.product-combinations-block .close-combination{position:absolute;right:5px;top:40px;z-index:3;cursor:pointer;display:none;opacity:0;visibility:hidden;transition:0.3s all ease-in-out}@media screen and (max-width: 767px){.product-combinations-block.active .triangle-combination,.product-combinations-block.active .triangle2-combination,.product-combinations-block.active .product-combinations,.product-combinations-block.active .close-combination{opacity:1;visibility:visible}.product-combinations-block .close-combination{display:block}}.triangle-combination{width:48px;height:48px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:4px;border:1px solid var(--gray-light-second);box-shadow:0 6px 10px rgba(0,0,0,0.16);background:var(--white);position:absolute;top:30px;left:-5px;z-index:1;opacity:0;visibility:hidden;transition:0.3s all ease-in-out}@media screen and (max-width: 767px){.triangle-combination{left:15px}}.triangle2-combination{width:0;height:0;border-style:solid;border-width:0 11px 9px 11px;border-color:transparent transparent var(--white) transparent;position:absolute;top:24px;left:8px;z-index:3;opacity:0;visibility:hidden;transition:0.3s all ease-in-out}@media screen and (max-width: 767px){.triangle2-combination{left:28px}}.product-combinations{width:570px;border-radius:4px;border:1px solid var(--gray-light-second);box-shadow:0 6px 10px rgba(0,0,0,0.16);position:absolute;right:0;top:calc(100% + 12px);z-index:2;visibility:hidden;opacity:0;transition:0.3s all ease-in-out;max-height:300px;overflow-y:auto}@media screen and (max-width: 767px){.product-combinations{width:100%}}.product-combinations .product-combinations-nav{display: flex;padding: 10px 15px 5px;background-color: #FFF;z-index: 1;}.product-combinations .product-combinations-nav .product-combinations-nav-item{font-weight:700;color:var(--brand-primary);cursor:pointer;margin-right: 15px;}.product-combinations .product-combinations-nav .product-combinations-nav-item.active{text-decoration: underline;}.product-combinations .product-combinations-tab{display: none;}.product-combinations .product-combinations-tab.active{display: block;}.product-combinations .product-combinations-tab.dispo-shop{padding: 15px;background-color: #FFF;}.product-combinations .delivery-combination{width:100%;background:var(--white);padding:15px 15px 0;position:relative;z-index:2}.product-combinations .delivery-combination p{margin-bottom:5px;font-weight:700;color:var(--brand-success)}.product-combinations .delivery-combination p i{font-size:18px;vertical-align:sub;margin-right:3px}.product-combinations .delivery-combination p.no-stock{color:var(--brand-danger)}.product-combinations .delivery-combination p.available-later{color:var(--brand-warning)}.product-combinations .delivery-combination>div{display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.product-combinations .delivery-combination>div+p{margin-top:10px}.product-combinations:after{content:'';width:100%;height:20px;position:absolute;left:0;top:-20px;z-index:1}.product-combinations .combination{margin-bottom:15px;margin-right:15px;width:95px;border:1px solid #616161;border-radius:4px;padding:2px;cursor:pointer;transition:0.3s all ease-in-out}.product-combinations .combination:hover{border-color:var(--brand-primary);opacity:0.7}@media screen and (min-width: 768px){.product-combinations .combination:nth-child(5n+5){margin-right:0}}@media screen and (min-width: 487px) and (max-width: 767px){.product-combinations .combination:nth-child(4n+4){margin-right:0}}@media screen and (min-width: 377px) and (max-width: 486px){.product-combinations .combination:nth-child(3n+3){margin-right:0}}@media screen and (max-width: 376px){.product-combinations .combination:nth-child(2n+2){margin-right:0}}.product-combinations .combination>div{display:inline-block;vertical-align:middle;width:42px;text-align:center}.product-combinations .combination>div.full-combination{width:100%}.product-combinations .combination>div+div{border-left:1px solid #616161;margin-left:2px;padding-left:2px}.product-combinations .combination>div .color{width:42px;height:18px;display:block;border-radius:2px}.product-combinations .combination>div .color+.name{font-size:10px;font-weight:400;color:#424242}.product-combinations .combination>div .texture{background-size:cover}.product-combinations .combination>div .name{line-height:26px;font-size:14px;font-weight:700;color:var(--gray-darker);display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#product-details .label{font-size:var(--font-size-base);font-weight:400;color:var(--gray-darker)}.product-features dl.data-sheet{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.product-features dl.data-sheet dd.value,.product-features dl.data-sheet dt.name{-webkit-box-flex:1;-ms-flex:1 0 40%;flex:1 0 40%;min-height:2.5rem;padding:var(--small-space);font-weight:400;text-transform:capitalize;word-break:normal;background:#F5F5F5;margin:0;font-size:15px}.product-features dl.data-sheet dd.value:nth-of-type(even),.product-features dl.data-sheet dt.name:nth-of-type(even){background:var(--white)}.product-features dl.data-sheet dt.name{font-weight:700;text-align:right}.product-variants>.product-variants-item{margin:15px 0 3px}.product-variants>.product-variants-item select{width:auto;padding-right:1.875rem;background-color:var(--white)}.product-variants>.product-variants-item ul{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.product-variants>.product-variants-item ul li{margin-right:12px;margin-bottom:12px}.product-variants>.product-variants-item ul li label{position:relative;display:block}.product-variants>.product-variants-item .color{margin-top:0;margin-left:0}.product-customization{margin:var(--extra-large-space) 0}.product-customization .product-customization-item{margin:var(--medium-space) 0}.product-customization .product-message{width:100%;height:3.125rem;padding:0.625rem;resize:none;background:var(--gray-light);border:none}.product-customization .product-message:focus{background-color:var(--white);outline:0.1875rem solid var(--brand-primary)}.product-customization .file-input{position:absolute;left:0;z-index:1;width:100%;height:2.625rem;overflow:hidden;cursor:pointer;opacity:0}.product-customization .customization-message{margin-top:20px}.product-customization .custom-file{position:relative;display:block;width:100%;height:2.625rem;margin-top:var(--medium-space);line-height:2.625rem;color:var(--gray);text-indent:0.625rem;background:var(--gray-light)}.product-customization .custom-file button{position:absolute;top:0;right:0;z-index:0}.product-customization small{color:var(--gray)}.product-pack{margin-top:var(--extra-large-space)}.product-pack .pack-product-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.product-pack .pack-product-container .pack-product-name{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;font-size:0.875rem;color:var(--gray)}.product-pack .pack-product-container .pack-product-quantity{padding-left:var(--small-space);border-left:var(--gray-light) 2px solid}.product-pack .pack-product-container .pack-product-name,.product-pack .pack-product-container .pack-product-price,.product-pack .pack-product-container .pack-product-quantity{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.product-refresh{margin-top:var(--medium-space)}.social-sharing{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;margin-top:1.5rem}.social-sharing ul{margin-bottom:0}.social-sharing li{display:inline-block;width:2.5rem;height:2.5rem;margin-left:0.5rem;cursor:pointer;background-color:var(--white);background-repeat:no-repeat;background-position:0.25rem 0.25rem;background-size:2rem 2rem;border-radius:50%;transition:all 0.2s ease-in}.social-sharing li a{display:block;width:100%;height:100%;overflow:hidden;text-indent:100%;white-space:nowrap}.social-sharing li a:hover{color:transparent}.products-selection{margin-bottom:var(--medium-space)}.products-selection .title{color:var(--gray)}#product .occasion-products-block{border:1px solid var(--brand-primary);padding:7px 10px;border-radius:4px;position:relative}#product .occasion-products-block .title_block{display:inline-block;vertical-align:middle;font-family:var(--font-cursive);margin:0;padding:0;border:0;font-size:24px;font-weight:700;line-height:32px;width:calc(100% - 95px)}#product .occasion-products-block .title_block span{font-size:30px}#product .occasion-products-block .collapse-toggle{width:100%;height:50px;position:absolute;left:0;top:0;z-index:1;opacity:0;cursor:pointer}#product .occasion-products-block .collapse-toggle:checked ~ .products-occasions{display:block}#product .occasion-products-block .collapse-toggle:checked ~ .show-occasion-block:before{content:attr(data-less)}#product .occasion-products-block .show-occasion-block{border-right:1px solid var(--brand-primary);font-size:24px;font-weight:700;color:var(--brand-primary);width:32px;line-height:32px;padding-left:5px;display:inline-block;vertical-align:middle}#product .occasion-products-block .show-occasion-block:before{content:attr(data-more);display:block}#product .occasion-products-block>img{display:inline-block;vertical-align:middle;margin:0 10px}#product .occasion-products-block .products-occasions{margin-top:7px;border-top:1px solid var(--brand-primary);display:none}#product .product-occasion-miniature .thumbnail-container .title-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;margin-bottom:15px}#product .product-occasion-miniature .thumbnail-container .title-product h2{margin-bottom:0}#product .product-occasion-miniature .thumbnail-container .title-product h2 a{display:block;font-size:14px;font-weight:700;color:var(--gray-darker);text-decoration:none;line-height:normal}#product .product-occasion-miniature .thumbnail-container .title-product .infos-product{-ms-flex-negative:0;flex-shrink:0;margin-left:15px}#product .product-occasion-miniature .thumbnail-container .infos-product{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}#product .product-occasion-miniature .thumbnail-container .infos-product .img_product{border:1px solid var(--gray-light-second);border-radius:4px;overflow:hidden;-ms-flex-negative:0;flex-shrink:0;margin-right:20px}#product .product-occasion-miniature .thumbnail-container .infos-product .img_product a{display:block}#product .product-occasion-miniature .thumbnail-container .infos-product .img_product a img{max-width:100%;height:auto}#product .product-occasion-miniature .thumbnail-container .infos-product .description-product{width:100%}#product .product-occasion-miniature .thumbnail-container .infos-product .description-product p{font-size:16px;padding:0;margin-bottom:10px}#product .product-occasion-miniature .thumbnail-container .infos-product .description-product .btn-more{display:block;font-size:14px;font-weight:700;color:var(--gray-darker);transition:0.3s color ease-in-out}#product .product-occasion-miniature .thumbnail-container .infos-product .description-product .btn-more i{margin-left:10px;transition:0.3s color ease-in-out}#product .product-occasion-miniature .thumbnail-container .infos-product .description-product .btn-more:hover{color:var(--brand-primary)}#product .product-occasion-miniature .thumbnail-container .infos-product .description-product .btn-more:hover i{color:var(--brand-primary)}#product .product-occasion-miniature .thumbnail-container .infos-product .price_actions-product{margin-top:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}#product .product-occasion-miniature .thumbnail-container .infos-product .price_actions-product>div{width:100%}#product .product-occasion-miniature .thumbnail-container .infos-product .price_actions-product form{-ms-flex-negative:0;flex-shrink:0;margin-left:15px}#product .product-occasion-miniature .thumbnail-container .infos-product .price_actions-product form .btn-primary{width:48px;height:48px;padding:0}#product .product-occasion-miniature .thumbnail-container .infos-product .price_actions-product form .btn-primary i{font-size:24px;margin:0}#product .product-occasion-miniature .thumbnail-container .infos-product .block-price{margin-bottom:5px}#product .product-occasion-miniature .thumbnail-container .infos-product .block-price .discount-product{display:inline-block;vertical-align:middle;padding:0.3125rem 0.4375rem;font-size:14px;font-weight:700;color:var(--gray-darker);text-transform:uppercase;background:var(--discount-color);margin-right:5px}#product .product-occasion-miniature .thumbnail-container .infos-product .block-price .price{display:inline-block;vertical-align:middle;font-size:24px;font-weight:700;color:var(--gray-darker);margin-right:5px}#product .product-occasion-miniature .thumbnail-container .infos-product .block-price .regular-price{display:inline-block;vertical-align:middle;font-size:14px;font-weight:700;color:var(--gray-darker);text-decoration:line-through;margin-top:5px;margin-right:5px}#product .product-occasion-miniature .thumbnail-container .infos-product .product-availability{display:block;font-weight:700;font-size:14px}#product .product-occasion-miniature .thumbnail-container .infos-product .product-availability .material-icons{font-size:18px;line-height:inherit;vertical-align:sub}#product .product-occasion-miniature .thumbnail-container .infos-product .product-availability.product-available{color:var(--brand-success)}#product .product-occasion-miniature .thumbnail-container .infos-product .product-availability.product-unavailable{color:var(--brand-danger)}#product .product-occasion-miniature .thumbnail-container .infos-product .product-availability.product-last-items{color:var(--brand-warning)}.product-comment-list-item{background:#F9F9F9;margin-bottom:5px}.product-comment-list-item .comment-infos .comment-author{font-weight:800;color:var(--gray-darker)}.product-comment-list-item .comment-buttons i{color:var(--brand-primary)}.btn-comment{border:1px solid transparent;padding:0.5rem 1.25rem;font-weight:700;font-size:16px;text-transform:uppercase;border:0;background:var(--brand-primary);color:var(--white);transition:0.3s all ease-in-out}.btn-comment .material-icons{font-size:16px;margin-left:5px;vertical-align:sub}.btn-comment:hover,.btn-comment:active,.btn-comment:hover:active,.btn-comment:active:focus,.btn-comment:focus{background:var(--brand-primary-hover)}.btn-comment:disabled:hover,.btn-comment:disabled:active,.btn-comment:disabled:hover:active,.btn-comment:disabled:active:focus,.btn-comment:disabled:focus,.btn-comment.disabled:hover,.btn-comment.disabled:active,.btn-comment.disabled:hover:active,.btn-comment.disabled:active:focus,.btn-comment.disabled:focus{background:var(--brand-primary)}@media screen and (max-width: 500px){.btn-comment{white-space:normal;height:auto}}@media (max-width: 991px){.product-cover{border:0;border-radius:0}.product-cover img{width:100%;height:auto}#product-modal .modal-content .modal-body{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-left:0}#product-modal .modal-content .modal-body img.product-cover-modal{width:100%}#product-modal .modal-content .modal-body .arrows{display:none}#product-modal .modal-content .modal-body .image-caption{width:100%}.product-images>li.thumb-container>.thumb:not(.selected){border:none}.tabs .nav-tabs{display:none}.tabs .tab-pane{border:1px solid var(--gray-light-second);padding:8px;position:relative;opacity:1;display:block !important}.tabs .tab-pane+.tab-pane{margin-top:18px}.tabs .tab-pane .collapse-toggle{display:block}.tabs .tab-pane .collapse-toggle:hover ~ .title_block{opacity:0.7}.tabs .tab-pane .collapse-toggle:checked ~ div:not(.modal){display:block}.tabs .title_block{border:0;padding:0;margin:0;font-size:24px;font-family:var(--font-cursive);color:var(--brand-primary);line-height:32px;cursor:pointer;transition:0.3s opacity ease-in-out}.tabs .title_block img{display:none}.tabs .title_block+div{margin-top:15px;padding:0 5px;display:none}}
#product .iqitsizechart-btn{text-decoration: underline;font-size: 15px;font-weight: 700;color: var(--brand-primary);cursor: pointer;margin-top: 10px;}#product .iqitsizechart-btn:hover{text-decoration: none;}#product .iqitsizechart-btn .fa-table{display: inline-block;width: 18px;height: 18px;margin-right: 2px;}#product #iqitsizecharts-modal .rte-content{text-align: center;}#product #iqitsizecharts-modal .rte-content img{display: block;max-width: 100%;height: auto;}
@media (max-width: 768px){
    .scroll-box-arrows.scroll{display: none;}
}
.productWithAccessories .product-variants,
#product .product-container #group_accessories {
    border: 1px solid var(--gray-light-second);
    padding: 1.25rem;
    border-radius: 4px;
    background: none;
}
.productWithAccessories .product-variants>.product-variants-item {
    margin: 0;
    display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 1em;
}
.productWithAccessories .product-variants>.product-variants-item + .product-variants-item {
    margin-top: 1em;
}
#product .product-container #group_accessories h3 {
    margin-top: 0;
    display: none;
}
#product .product-container #group_accessories .option-row + .option-row {
    border-top: 1px solid #ccc;
	padding-top: 1rem;
    margin-top: 10px;
}
#product .product-container #group_accessories .option-row table {
    margin-bottom: 0;
}
#product .product-container #group_accessories .check_radio_table tr:hover {
    background: none;
}
.productWithAccessories .product-actions .control-label,
#product .product-container #group_accessories h4 {
    font-size: 1em;
	text-transform: capitalize;
	margin: 0;
	cursor: pointer;
    font-weight: normal;
    color: #000;
    width: auto;
}
.product-container #group_accessories .hsma_product-cover {
    margin: 0;
}
.productWithAccessories {}

/* ══════════════════════════════════════════════════════════
   PDP — Refonte page produit (maquette)
   ══════════════════════════════════════════════════════════ */

#product .pdp-section { padding: 0 0 24px; }

#product .product-container.pdp-layout {
  display: grid;
  /* minmax(0, 1fr) et non 1fr : `1fr` vaut `minmax(auto, 1fr)`, dont le minimum
     est la largeur min-content du contenu. Un seul descendant trop large (après
     un rafraîchissement AJAX, un module réinjecte un carrousel non initialisé
     dans la colonne info) suffisait alors à faire exploser la piste — colonne
     info à 75 000 px, galerie écrasée à 74 px. */
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 56px;
  padding: 24px 0 48px;
  align-items: start;
  margin-top: 0;
}

#product .product-container.pdp-layout > .col-xs-12{ grid-column: 1 / -1; }

#product .pdp-gallery-col,
#product .pdp-gallery {
  position: sticky;
  top: 0px;
}

#product .pdp-gallery-col,
#product .pdp-info-col { min-width: 0; }

#product #content {
  max-width: none;
  margin: 0;
}

#product #content:before,
#product #content:after { display: none; }

/* ── Gallery ── */
#product .product-cover.pdp-main-img {
  position: relative;
  aspect-ratio: 1 / 1;
  background: #f9fafb;
  border: 1px solid var(--gray-200, #e8e8e8);
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
}

#product .product-cover.pdp-main-img .img-cover {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Carrousel : toutes les images sont des slides (`> div#image-N`) d'un rail à
     défilement natif (scroll-snap), comme le legacy sur mobile mais à TOUTES les
     largeurs (le legacy masquait les slides au-dessus de 768px). Navigation :
     balayage, flèches .indicator-image et dots .control-images (handlers du
     bundle) ; l'état actif des dots suit le défilement (assets/js/theme.js). */
  align-items: stretch;
  justify-content: flex-start;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

#product .product-cover.pdp-main-img .img-cover::-webkit-scrollbar { display: none; }

/* `.product-cover .img-cover div { display: none }` au-dessus de 768px (legacy) */
#product .product-cover.pdp-main-img .img-cover > div {
  display: block;
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
  height: 100%;
  scroll-snap-align: center;
  scroll-snap-stop: always;
}

#product .product-cover.pdp-main-img .img-cover img,
#product .product-cover.pdp-main-img .js-qv-product-cover {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 32px;
  max-width: 100%;
  background: transparent;
}

#product .pdp-main-img .product-flags {
  position: absolute;
  top: 10px;
  left: 10px;
  width: auto;
  pointer-events: none;
}
#product .pdp-main-img .product-flags li.product-flag{
    top: 0;
    left: 0;
    margin-top: 0;
}

#product .scroll-box-arrows { display: none !important; }

/* ── Info column ── */
#product .pdp-brand {
  font-size: .74rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--gray-500, #888);
  letter-spacing: .08em;
  margin-bottom: 4px;
}

#product .pdp-brand a {
  color: inherit;
  text-decoration: none;
}

#product .pdp-brand a:hover { color: var(--primary, #7A6352); }

#product .pdp-brand-logo { display: none; }

#product h1.pdp-title,
#product .pdp-title {
  font-size: 1.7rem;
  font-weight: 900;
  color: #1a1a2e;
  line-height: 1.15;
  margin: 6px 0 10px;
  text-transform: none;
}

#product .title-product.with_brand {
  display: block;
}

#product .title-product.with_brand h1 { margin-right: 0;margin-bottom: 0; }

#product .infos-product {
  margin-bottom: 12px;
}

#product .infos-product p {
  font-size: .78rem;
  color: var(--gray-500, #888);
}

/* Note produit : markup rendu par product.tpl (étoiles serveur + lien ancre). */
#product .pdp-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}

#product .pdp-rating .pdp-rating-count {
  font-size: .8rem;
  line-height: 1;
  color: var(--gray-500, #888);
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

#product .pdp-rating .pdp-rating-count:hover { color: var(--primary, #7A6352); }

/* ── Price row ── */
#product .pdp-price-alma-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 18px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--gray-200, #e8e8e8);
}

#product .pdp-price-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
@media (max-width: 768px) {
  #product .pdp-price-row {
    flex: 100%;
  }
}

#product .product-prices { margin-bottom: 0; }

#product .pdp-price-line {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}

#product .pdp-price-line .price-new,
#product .pdp-price-line .price,
#product .current-price .price {
  font-size: 1.7rem;
  font-weight: 900;
  color: var(--primary, #7A6352);
  font-family: inherit;
  /* hsmultiaccessoriespro formate avec des espaces simples (« 1 238,00 € »). */
  white-space: nowrap;
}

#product .pdp-price-line .price-old,
#product .pdp-price-line .regular-price {
  font-size: .95rem;
  color: var(--gray-500, #888);
  text-decoration: line-through;
  font-weight: 600;
  white-space: nowrap;
}

#product .pdp-discount {
  background: var(--promo, #e63946);
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 4px;
}

#product .current-price .prix-hotmer,
#product .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#product .pdp-alma-widget {
  display: inline-flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid var(--gray-200, #e8e8e8);
  border-radius: 12px;
  padding: 12px 16px;
  background: #fff;
  flex-shrink: 0;
}

#product .pdp-alma-widget:empty { display: none; }
#product .pdp-alma-widget .alma-pp-container {
  display: block;
  width: 100%;
  min-width: 0;
  float: none;
  margin: 0;
}

#product .pdp-alma-widget .alma-widget-container {
  max-width: 320px;
  min-width: 0;
  font-size: .85rem;
  color: #333;
}

#product .pdp-alma-widget .alma-widget-container p{
    font-size: 14px;
}

#product .pdp-alma-widget .alma-widget-container:empty { display: none; }


#product .pdp-alma-widget .alma-pp-container ._widgetContainer_v4hon_1{
    max-width: 180px;
}

#product .pdp-alma-widget .alma-payment-plans-container {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  max-width: 100%;
  width: initial;
}

#product .pdp-alma-widget .alma-payment-plans-container .alma-payment-plans-eligibility-line{
    align-items: center;
}

#product .pdp-alma-widget .alma-pp-container img.logo {
  height: 18px !important;
  vertical-align: middle;
}

/* ── Description ── */
#product .pdp-desc {
  font-size: .88rem;
  color: #444;
  line-height: 1.65;
  margin-bottom: 24px;
  margin-top: 0;
}

#product .pdp-desc * {
  font-size: inherit;
  color: inherit;
}

/* ── Variants ── */
#product .product-variants.pdp-options-row {
  display: flex;
  gap: 36px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

#product .pdp-option-group {
  margin-bottom: 22px;
}

#product .pdp-option-label {
  display: block;
  font-size: .82rem;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 10px;
  width: 100%;
  text-transform: none;
}

#product .pdp-color-select,
#product .product-variants .form-control-select {
  min-width: 180px;
  border: 1.5px solid var(--gray-200, #e8e8e8);
  border-radius: 8px;
  padding: 10px 14px;
  font-size: .85rem;
  font-weight: 600;
  color: #1a1a1a;
  height: auto;
  background-color: #FFF;
}

#product .pdp-color-select:focus,
#product .product-variants .form-control-select:focus {
  border-color: var(--accent, #5AADD4);
  outline: none;
}

#product .pdp-size-list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

#product .pdp-size,
#product .radio-label.pdp-size {
  min-width: 48px;
  height: 40px;
  padding: 0 10px;
  border: 1.5px solid var(--gray-200, #e8e8e8);
  border-radius: 8px;
  font-size: .82rem;
  font-weight: 700;
  color: #333;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: border-color .2s, background .2s, color .2s;
  text-align: center;
}

#product .input-radio:hover + .pdp-size{
    border-color: var(--primary, #7A6352);
}
#product .input-radio:checked + .pdp-size,
#product .pdp-size.active {
  background: var(--primary, #7A6352);
  border-color: var(--primary, #7A6352);
  color: #fff;
}

#product .input-radio:checked + .radio-label.pdp-size {
  border-width: 1.5px;
}

/* Taille hors stock (Hotmer + fournisseur) : `.is-oos` posée par le template, rendu
   de `.pdp-size:disabled` de la maquette. Elle reste cliquable (pas de `disabled`) :
   une fois choisie, c'est le style `:checked` / `.active` qui reprend la main. */
#product .input-radio:not(:checked) + .pdp-size.is-oos,
#product .input-radio:not(:checked):hover + .pdp-size.is-oos {
  color: var(--gray-200, #e8e8e8);
  border-color: var(--gray-200, #e8e8e8);
  background: var(--gray-100, #f5f5f5);
  text-decoration: line-through;
}

#product .color-label {
  border-radius: 8px;
  border: 1.5px solid var(--gray-200, #e8e8e8);
  padding: 4px;
}

#product .input-color:checked + .color-label {
  border-color: var(--primary, #7A6352);
}

/* ── Stock popover ── */
#product .product-combinations-block.pdp-stock-check {
  position: relative;
  margin-bottom: 0;
}

/* <button> depuis la refonte : il faut réhériter la police. */
#product .pdp-stock-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 15px;
  border-radius: 50px;
  border: 1.5px solid var(--gray-200, #e8e8e8);
  font-family: inherit;
  font-size: .82rem;
  font-weight: 700;
  color: #1a1a1a;
  background: #fff;
  transition: border-color .2s, background .2s;
  margin: 0;
  cursor: pointer;
  text-align: left;
}

#product .pdp-stock-link span { text-decoration: none; }

#product .pdp-stock-link:hover,
#product .product-combinations-block.active .pdp-stock-link,
#product .product-combinations-block.open .pdp-stock-link {
  border-color: var(--accent, #5AADD4);
  background: #f0f7fc;
}

#product .pdp-stock-eye {
  width: 17px;
  height: 17px;
  flex-shrink: 0;
  color: var(--accent, #5AADD4);
}

#product .pdp-stock-chevron {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: var(--gray-500, #888);
  transition: transform .2s;
}

#product .product-combinations-block.active .pdp-stock-chevron,
#product .product-combinations-block.open .pdp-stock-chevron {
  transform: rotate(180deg);
}

#product .triangle-combination,
#product .triangle2-combination { display: none; }

#product .product-combinations.pdp-stock-popover {
  /* .product-combinations n'a pas de fond en legacy : le blanc venait de
     .delivery-combination, remplacée par la matrice. */
  background: #fff;
  /* Vraie modale : centrée dans la fenêtre, voile gris derrière
     (.product-combinations-block.open::before). */
  position: fixed;
  z-index: 1060;
  top: 50%;
  left: 50%;
  right: auto;
  transform: translate(-50%, -50%);
  width: 920px;
  min-width: 0;
  max-width: 92vw;
  max-height: 86vh;
  border: 0;
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(10, 22, 40, .28);
  padding: 26px;
  overflow-y: auto;
}

#product .product-combinations-block.open::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 1055;
  background: rgba(17, 24, 39, .55);
}

body.pdp-stock-open { overflow: hidden; }

#product .pdp-stock-popover-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

#product .pdp-stock-popover-title {
  font-size: .95rem;
  font-weight: 800;
  color: #1a1a2e;
}

/* Désormais dans .pdp-stock-popover-head : en flux, plus en absolute (elle
   se superposait au bouton « Voir les stocks disponibles »). Les !important
   ne sont pas nécessaires, la spécificité #product + 2 classes suffit à
   battre les règles legacy display:none / visibility:hidden. */
#product .close-combination.pdp-stock-popover-close {
  position: static;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--gray-500, #888);
  cursor: pointer;
  opacity: 1;
  visibility: visible;
  z-index: 4;
}

#product .close-combination.pdp-stock-popover-close svg {
  width: 14px;
  height: 14px;
}

#product .close-combination.pdp-stock-popover-close:hover {
  background: var(--gray-100, #f5f5f5);
  color: #1a1a1a;
}

#product .product-combinations-nav.pdp-stock-tabs {
  display: inline-flex;
  background: var(--gray-100, #f5f5f5);
  border-radius: 50px;
  padding: 4px;
  gap: 2px;
  margin-bottom: 20px;
}

#product .product-combinations-nav-item.pdp-stock-tab {
  padding: 7px 18px;
  border-radius: 50px;
  font-size: .8rem;
  font-weight: 700;
  color: var(--gray-500, #888);
  text-decoration: none;
  margin: 0;
}

#product .product-combinations-nav-item.pdp-stock-tab.active {
  background: #fff;
  color: #1a1a2e;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .1);
  text-decoration: none;
}

#product .product-combinations .combination {
  border-radius: 8px;
  border: 1.5px solid var(--gray-200, #e8e8e8);
}

/* ── Add to cart ── */
#product .pdp-buy-row {
  display: flex;
  gap: 12px;
  margin-bottom: 24px;
  align-items: stretch;
}

#product .pdp-buy-row-full {
  margin-top: 0;
  margin-bottom: 0;
  justify-content: flex-start;
}

#product .pdp-buy-row .add-to-cart {
  flex: 1;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  height: auto;
  line-height: normal;
  padding: 12px 30px;
  border-radius: 8px;
  font-weight: 700;
  font-size: .92rem;
}

#product .pdp-buy-row-full .add-to-cart {
  flex: none;
  min-width: 260px;
}

#product .qty-stepper {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--gray-200, #e8e8e8);
  border-radius: 50px;
  flex-shrink: 0;
  overflow: hidden;
  margin-right: 0;
}

#product .qty-stepper .input-group-btn-vertical {
  display: flex;
  flex-direction: column;
}

#product .qty-stepper .btn-touchspin {
  width: 44px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 700;
  color: var(--primary, #7A6352);
  background: transparent;
  border: none;
  padding: 0;
}

#product .qty-stepper .btn-touchspin:hover {
  background: var(--gray-100, #f5f5f5);
}

#product .qty-stepper #quantity_wanted {
  width: 40px;
  min-width: 30px;
  height: 44px;
  border: none;
  border-radius: 0;
  text-align: center;
  font-weight: 800;
  font-size: 1rem;
  color: #1a1a1a;
  background: transparent;
  padding: 0;
  -moz-appearance: textfield;
}

#product .qty-stepper #quantity_wanted::-webkit-outer-spin-button,
#product .qty-stepper #quantity_wanted::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

#product .pdp-pack-section {
  margin-bottom: 20px;
  padding-top: 32px;
  border-top: 1px solid var(--gray-200, #e8e8e8);
}

/* Titre du bloc « produits complémentaires ». Le <h4> du module partage la
   même règle : son nom de groupe (BO) EST le titre de section, on n'en ajoute
   pas un second. Deux id pour battre le legacy
   `#product .product-container #group_accessories h4`. */
#product .pdp-pack-title,
#product .pdp-pack-section #group_accessories h4 {
  display: block;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #1a1a2e;
  margin: 0 0 12px;
  cursor: default;
}

#product .pdp-pack-title span,
#product .pdp-pack-section #group_accessories h4 .group_nb,
#product .pdp-pack-section #group_accessories h4 .group_price {
  font-weight: 600;
  color: var(--gray-500, #888);
  text-transform: none;
  letter-spacing: 0;
}

/* ── Accordion tabs ── */
#product .tabs.pdp-accordion {
  margin-top: 2rem;
  border-top: 1px solid var(--gray-200, #e8e8e8);
}

#product .tabs.pdp-accordion .nav-tabs {
  display: none;
}

#product .tabs.pdp-accordion .tab-content {
  border: none;
  padding: 0;
}

#product .tabs.pdp-accordion .tab-pane {
  display: block !important;
  opacity: 1;
  padding: 0;
  border: none;
  position: relative;
}

#product .tabs.pdp-accordion .tab-pane + .tab-pane {
  margin-top: 0;
}

#product .tabs.pdp-accordion .pdp-acc-item {
  border-bottom: 1px solid var(--gray-200, #e8e8e8);
}

#product .tabs.pdp-accordion .pdp-acc-head {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 2px;
  font-size: .88rem;
  font-weight: 700;
  color: #1a1a1a;
  border: none;
  margin: 0;
  cursor: pointer;
  background: none;
  font-family: inherit;
}

#product .tabs.pdp-accordion .pdp-acc-head img { display: none; }

#product .tabs.pdp-accordion .pdp-acc-head span {
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--gray-500, #888);
  transition: transform .2s;
}

#product .tabs.pdp-accordion .pdp-acc-item.open .pdp-acc-head span {
  transform: rotate(45deg);
}

#product .tabs.pdp-accordion .collapse-toggle {
  display: none;
}

#product .tabs.pdp-accordion .pdp-acc-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height .25s ease;
}

#product .tabs.pdp-accordion .pdp-acc-item.open .pdp-acc-body {
  max-height: 2000px;
}

#product .tabs.pdp-accordion .pdp-acc-body-inner {
  padding: 0 2px 18px;
  font-size: .84rem;
  color: #555;
  line-height: 1.65;
}

#product .tabs.pdp-accordion .product-description * {
  font-size: .84rem;
  color: #555;
}

#product .pdp-specs {
  width: 100%;
  border-collapse: collapse;
  font-size: .82rem;
}

#product .pdp-specs tr {
  border-bottom: 1px solid var(--gray-200, #e8e8e8);
}

#product .pdp-specs tr:last-child { border-bottom: none; }

#product .pdp-specs td {
  padding: 9px 2px;
  color: #555;
  background: transparent;
  min-height: 0;
  text-align: left;
  text-transform: none;
  font-weight: 400;
}

#product .pdp-specs td:first-child {
  font-weight: 700;
  color: #1a1a1a;
  width: 45%;
}

/* ── Accessories ── */
#product .product-accessories.products-section {
  padding: 36px 0;
}

#product .product-accessories .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

#product .product-accessories .section-title {
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #525252;
  margin: 0;
  padding: 0;
  border: none;
  font-family: inherit;
}

#product .product-accessories .products-track {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
}

/* ── Mobile sticky CTA ── */
#product .pdp-mobile-cta {
  display: none;
}

@media (max-width: 900px) {
  #product .product-container.pdp-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    padding-top: 12px;
  }

  #product .pdp-gallery-col,
  #product .pdp-gallery {
    position: static;
  }

  #product .pdp-mobile-cta {
    display: flex;
    align-items: center;
    gap: 14px;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 150;
    background: #fff;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -4px 20px rgba(0, 0, 0, .12);
    border-top: 1px solid var(--gray-200, #e8e8e8);
    transition: transform .25s ease, visibility .25s;
  }

  /* Masquée tant que le bouton d'ajout du bloc d'achat est à l'écran (theme.js) */
  #product .pdp-mobile-cta.is-hidden {
    transform: translateY(100%);
    visibility: hidden;
    pointer-events: none;
  }

  #product .pdp-mobile-cta-price { flex-shrink: 0; }

  #product .pdp-mobile-cta-price .price-new {
    font-size: 1.1rem;
    font-weight: 900;
    color: var(--primary, #7A6352);
    white-space: nowrap;
  }

  #product .pdp-mobile-add-cart {
    flex: 1;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 8px;
  }

  body#product { padding-bottom: 78px; }

  #product .product-combinations.pdp-stock-popover {
    position: fixed;
    min-width: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 92vw;
    max-width: 92vw;
    max-height: 80vh;
  }
}

@media (max-width: 640px) {
  #product .pdp-options-row,
  #product .product-variants.pdp-options-row {
    flex-direction: column;
    gap: 0;
  }

  #product .pdp-buy-row-full {
    flex-direction: column;
    align-items: stretch;
  }

  #product .pdp-buy-row-full .qty-stepper { align-self: flex-start; }

  #product .pdp-buy-row-full .add-to-cart {
    min-width: 0;
    width: 100%;
  }

  #product .product-accessories .products-track {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 901px) and (max-width: 1199px) {
  #product .product-accessories .products-track {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}



/* ══════════════════════════════════════════════════════════
   PDP — Avis clients / pack / accordéon en colonne (maquette)
   ══════════════════════════════════════════════════════════ */

/* Si productcomments venait à être rebranché sur displayProductAdditionalInfo,
   son bloc ne doit pas doubler celui de .pdp-rating (cf. bloc « Info column »). */
#product .product-additional-info .pdp-rating-block { display: none; }

/* ── Accordéon : désormais dans la colonne info ── */
#product .pdp-info .tabs.pdp-accordion {
  margin-top: 26px;
  clear: both;
}

/* ── PDP pack — produits complémentaires (hsmultiaccessoriespro) ──
   La table du module est conservée (son JS remonte en parents('tr'|'td'|
   'table')) et transformée en grille de cartes.                        */
#product .pdp-pack-section #group_accessories {
  border: none;
  padding: 0;
  background: none;
}

#product .pdp-pack-section #group_accessories .option-row + .option-row {
  border-top: none;
  padding-top: 18px;
  margin-top: 18px;
}

#product .pdp-pack-section #group_accessories h4 .material-icons { display: none; }

#product .pdp-pack-section .accessories_table_price { margin-bottom: 12px; }

#product .pdp-pack-section .check_radio_table {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  margin: 0;
  border: none;
  background: none;
}

#product .pdp-pack-section .check_radio_table tbody { display: contents; }

#product .pdp-pack-section .check_radio_table tr {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 4px 6px;
  position: relative;
  border: 1.5px solid var(--gray-200, #e8e8e8);
  border-radius: 8px;
  padding: 9px;
  background: #fff;
  transition: border-color .2s, opacity .2s;
}

#product .pdp-pack-section .check_radio_table tr:hover { background: #fff; }

#product .pdp-pack-section .check_radio_table td {
  display: block;
  border: none;
  padding: 0;
  vertical-align: top;
  background: none;
  /* Le module pose des largeurs de colonnes de table (#group_accessories
     .select_box { width: 10% }, .checkbox_radio_image { width: 15% }) qui
     l'emportent sur l'étirement de la grille : la cellule image tombait à 26px. */
  width: auto;
  max-width: none;
}

/* Les enfants de la cellule « infos » deviennent des items de la carte */
#product .pdp-pack-section .check_radio_table td:last-child { display: contents; }

#product .pdp-pack-section .check_radio_table td.select_box {
  grid-column: 1;
  grid-row: 1;
  padding-top: 2px;
}

#product .pdp-pack-section .check_radio_table .accessory_item {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--primary, #7A6352);
  cursor: pointer;
}

#product .pdp-pack-section .check_radio_table .block_accessory_name {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  font-size: .7rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.25;
}

#product .pdp-pack-section .check_radio_table .block_accessory_name a {
  color: inherit;
  text-decoration: none;
}

#product .pdp-pack-section .check_radio_table .block_accessory_name a:hover {
  color: var(--primary, #7A6352);
}

#product .pdp-pack-section .check_radio_table .accessory_price {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  align-items: baseline;
  gap: 4px;
  flex-wrap: wrap;
  font-size: .72rem;
  font-weight: 700;
  color: var(--primary, #7A6352);
}

#product .pdp-pack-section .check_radio_table .accessory_price .line_though {
  order: 2;
  color: var(--gray-500, #888);
  text-decoration: line-through;
  font-weight: 600;
  font-size: .64rem;
}

#product .pdp-pack-section .check_radio_table .accessory_price .discount_price { order: 1; }

#product .pdp-pack-section .check_radio_table td.checkbox_radio_image {
  grid-column: 1 / -1;
  grid-row: 3;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 6px 0;
  background: #f9fafb;
  border-radius: 6px;
  overflow: hidden;
}

#product .pdp-pack-section .check_radio_table .hsma_images-container,
#product .pdp-pack-section .check_radio_table .hsma_product-cover,
#product .pdp-pack-section .check_radio_table .product_img_link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  max-width: 100%;
}

#product .pdp-pack-section .check_radio_table .accessory_image {
  max-width: 100%;
  max-height: 54px;
  width: auto;
  height: auto;
  object-fit: contain;
  padding: 4px;
}

/* Quantité par accessoire : absente de la maquette. L'input reste dans le DOM
   (pricetable.js lit .custom_quantity pour le total), il est seulement masqué. */
#product .pdp-pack-section .check_radio_table .ma_block_qty {
  display: none;
}

#product .pdp-pack-section .check_radio_table .custom_quantity {
  width: 46px;
  height: 28px;
  border: 1.5px solid var(--gray-200, #e8e8e8);
  border-radius: 6px;
  text-align: center;
  font-size: .7rem;
  font-weight: 700;
  color: #1a1a1a;
  background: #fff;
}

/* Déclinaison de l'accessoire (select injecté par le module) */
#product .pdp-pack-section .check_radio_table td:last-child > span:not(.accessory_price) {
  grid-column: 1 / -1;
  grid-row: 5;
}

/* Deux id dans le sélecteur : le module pose
   `#product #group_accessories .option-row table select { width: 50% }`. */
#product .pdp-pack-section #group_accessories .check_radio_table select {
  width: 100%;
  border: 1.5px solid var(--gray-200, #e8e8e8);
  border-radius: 6px;
  padding: 6px 8px;
  font-size: .7rem;
  font-family: inherit;
  color: #333;
  background: #fff;
  height: auto;
  outline: none;
}

#product .pdp-pack-section .check_radio_table select:focus { border-color: var(--accent, #5AADD4); }

/* Noms longs : la maquette garde des cartes compactes. */
#product .pdp-pack-section .check_radio_table .block_accessory_name a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#product .pdp-pack-section .check_radio_table tr:has(.accessory_item:checked) {
  border-color: var(--primary, #7A6352);
}

#product .pdp-pack-section .check_radio_table tr:not(:has(.accessory_item:checked)) {
  opacity: .55;
}

#product .pdp-pack-section .accessories_table_price_content {
  width: 100%;
  font-size: .78rem;
}

/* Le select de déclinaison passe sous l'image, comme la maquette. */
#product .pdp-pack-section .check_radio_table td:last-child > span:not(.accessory_price) {
  grid-row: 4;
}

/* Accessoire indisponible : la case est disabled et le module ajoute un
   <span class="forbidden_ordering" title="Rupture de stock"> vide (glyphe
   Material). On le rend sous forme de libellé, à partir de son title. */
#product .pdp-pack-section .check_radio_table .forbidden_ordering {
  display: block;
  margin-top: 4px;
  font-size: .62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #c0392b;
}

#product .pdp-pack-section .check_radio_table .forbidden_ordering::before {
  content: attr(title);
}

#product .pdp-pack-section .check_radio_table tr:has(.accessory_item:disabled) {
  background: #fcfcfc;
}

#product .pdp-pack-section .check_radio_table tr:has(.accessory_item:disabled) .accessory_item,
#product .pdp-pack-section .check_radio_table tr:has(.accessory_item:disabled) .block_accessory_name a {
  cursor: not-allowed;
}

#product .pdp-pack-section #group_accessories > h3:empty { display: none; }

/* Groupe déplié d'office. Le style inline `display: none` vient du
   sous-template non surchargeable du module (`$is_show_group`, piloté par le
   réglage « replier/déplier » du groupe en BO) : seul un !important le bat.
   Conséquence assumée : le titre ne replie plus le groupe (la maquette n'a pas
   d'accordéon ici, et l'icône +/- est masquée). */
#product .pdp-pack-section .content_group { display: block !important; }

/* ── Icônes SVG de la galerie et du popover stock ── */
#product .product-cover .indicator-image i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 0;
}

#product .product-cover .indicator-image i svg {
  width: 22px;
  height: 22px;
}

/* ── Carrousel : flèches et dots ──
   Les flèches (legacy : sous 768px seulement) sont affichées à toutes les largeurs,
   puisque les miniatures ne sont plus là pour changer d'image. */
#product .product-cover .indicator-image { display: block; }

#product .product-cover .indicator-image i {
  top: calc(50% - 20px);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 1px 6px rgba(0, 0, 0, .18);
  color: #1a1a1a;
  text-shadow: none;
  transition: background .2s, color .2s;
}

#product .product-cover .indicator-image i:hover { background: #fff; color: var(--primary, #7A6352); }
#product .product-cover .indicator-image i.prev { left: 10px; }
#product .product-cover .indicator-image i.next { right: 10px; }

#product .product-cover .indicator-image i svg {
  width: 20px;
  height: 20px;
}

/* Dots : les liens .control-images du bundle (legacy : display none, pastilles de 12px).
   Le conteneur laisse passer les clics (il couvre le bas de l'image), les dots non. */
#product .product-cover .control-images {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  bottom: 12px;
  pointer-events: none;
}

#product .product-cover .control-images > a {
  position: relative;
  display: block;
  margin: 0;
  width: 8px;
  height: 8px;
  border-radius: 8px;
  background: #cfd3d8;
  pointer-events: auto;
  transition: width .25s, background .25s;
}

/* Zone de clic élargie autour de chaque dot */
#product .product-cover .control-images > a::before {
  content: '';
  position: absolute;
  inset: -12px -4px;
}

#product .product-cover .control-images > a.active,
#product .product-cover .control-images > a:hover {
  background: var(--primary, #7A6352);
}

#product .product-cover .control-images > a.active { width: 22px; }

/* Appareils tactiles : le calque de zoom (.layer, 100 % de l'image, masqué sous
   768px) recouvrirait le rail et bloquerait le balayage sur tablette. */
@media (hover: none) {
  #product .product-cover .layer { pointer-events: none; }
}

#product .product-cover .layer .zoom-in {
  width: 34px;
  height: 34px;
}

#product .delivery-combination .pdp-stock-icon {
  width: 16px;
  height: 16px;
  vertical-align: -3px;
  margin-right: 4px;
}

/* ── Neutralisation de l'ancien encadré « acheter ensemble » ── */
#product .productWithAccessories .product-variants.pdp-options-row {
  border: none;
  padding: 0;
  background: none;
}

#product .productWithAccessories .product-variants.pdp-options-row > .product-variants-item.pdp-option-group {
  display: block;
  margin: 0 0 22px;
}

#product .productWithAccessories .product-variants.pdp-options-row > .product-variants-item + .product-variants-item {
  margin-top: 0;
}

#product .productWithAccessories .product-actions .control-label.pdp-option-label {
  font-size: .82rem;
  font-weight: 700;
  color: #1a1a1a;
  text-transform: none;
  width: 100%;
}

/* ── Section avis clients (maquette) ── */
/* Bandeau pleine largeur porté par la section elle-même. L'ancienne version
   passait par ::before en z-index:-1 : la section ne créant pas de contexte
   d'empilement, le pseudo-élément était peint DERRIÈRE le fond blanc opaque
   de #wrapper, donc invisible. box-shadow + clip-path débordent horizontalement
   sans déborder verticalement, et ne créent pas de bloc conteneur pour les
   modales (elles sont sorties de la section depuis le rendu serveur des avis). */
#product .reviews-section {
  position: relative;
  margin-top: 8px;
  padding: 28px 0 40px;
  background: #f9fafb;
  box-shadow: 0 0 0 100vw #f9fafb;
  clip-path: inset(0 -100vw);
}


#product .reviews-title {
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #1a1a2e;
  margin-bottom: 20px;
}

#product .reviews-section .reviews-inner {
  display: flex;
  gap: 52px;
  align-items: flex-start;
}

#product .reviews-section .reviews-summary {
  flex-shrink: 0;
  min-width: 190px;
}

#product .reviews-section .big-score {
  font-size: 3.4rem;
  font-weight: 900;
  color: #525252;
  line-height: 1;
}

#product .reviews-section .based-on {
  font-size: .75rem;
  color: var(--gray-500, #888);
  margin-top: 6px;
}

#product .reviews-section .post-product-comment {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 14px;
  padding: 9px 16px;
  border-radius: 50px;
  font-size: .78rem;
  font-weight: 700;
}

#product .reviews-section .reviews-content {
  flex: 1;
  min-width: 0;
}

#product .reviews-section .reviews-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

#product .reviews-section .review-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: var(--radius, 8px);
  padding: 20px;
  border: 1px solid var(--gray-200, #e8e8e8);
  box-shadow: var(--shadow, 0 2px 10px rgba(0, 0, 0, .06));
  margin: 0;
  width: auto;
}

#product .reviews-section .review-card .comment-infos {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  padding: 0;
  border: none;
  width: auto;
}

#product .reviews-section .review-card .comment-date {
  font-size: .68rem;
  color: var(--gray-500, #888);
}

#product .reviews-section .review-card .comment-content {
  flex: 1;
  padding: 0;
  border: none;
  width: auto;
}

#product .reviews-section .review-card .review-title {
  display: block;
  font-size: .82rem;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 6px;
}

#product .reviews-section .review-card .comment-content p {
  font-size: .82rem;
  color: #444;
  line-height: 1.6;
  margin-bottom: 12px;
}

#product .reviews-section .review-card .review-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
}

#product .reviews-section .review-card .author {
  font-size: .75rem;
  font-weight: 700;
  color: var(--primary, #7A6352);
}

/* ── Produits similaires : aligner le header sur la maquette ── */
#product .product-accessories .section-header .section-title { padding: 0; }

@media (max-width: 1024px) {
  #product .reviews-section .reviews-track { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  #product .reviews-section .reviews-inner {
    flex-direction: column;
    gap: 24px;
  }

  #product .reviews-section .reviews-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    min-width: 0;
  }

  #product .reviews-section .based-on { margin-top: 0; }

  #product .reviews-section .post-product-comment { margin-top: 0; }
}

@media (max-width: 640px) {
  #product .pdp-pack-section .check_radio_table { grid-template-columns: 1fr; }

  #product .reviews-section .reviews-track { grid-template-columns: 1fr; }
}

#product .product-variants.pdp-options-row {
  gap: 0 24px;
}

#product .product-variants.pdp-options-row > .pdp-option-group ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 480px) {
  #product .product-variants.pdp-options-row > .pdp-option-group,
  #product .product-variants.pdp-options-row > .pdp-option-group:only-child {
    flex-basis: 100%;
    max-width: 100%;
  }
}

/* ── Popover stock : matrice de disponibilité (maquette) ── */
#product .pdp-stock-matrix-wrap {
  border: 1px solid var(--gray-200, #e8e8e8);
  border-radius: 10px;
  overflow: auto;
}

#product .pdp-stock-matrix {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}

#product .pdp-stock-matrix th,
#product .pdp-stock-matrix td {
  padding: 10px 6px;
  text-align: center;
  border-bottom: 1px solid var(--gray-200, #e8e8e8);
  border-right: none;
  vertical-align: middle;
}

#product .pdp-stock-matrix thead th {
  background: #f9fafb;
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--gray-500, #888);
  white-space: nowrap;
}

#product .pdp-stock-matrix tbody tr:last-child td,
#product .pdp-stock-matrix tbody tr:last-child th { border-bottom: none; }

#product .pdp-stock-matrix tbody tr:hover { background: #fafbfc; }

#product .pdp-stock-matrix th[scope="row"],
#product .pdp-stock-matrix thead th:first-child {
  text-align: left;
  padding-left: 14px;
  font-size: .74rem;
  font-weight: 700;
  color: #1a1a1a;
  background: #f9fafb;
  white-space: nowrap;
  text-transform: none;
  letter-spacing: 0;
}

#product .pdp-stock-cell.is-missing {
  color: var(--gray-200, #e8e8e8);
  font-weight: 700;
}

/* La cellule reste une .combination : le clic sélectionne la déclinaison. */
#product .product-combinations .combination.pdp-stock-cell-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: background .15s;
}

#product .product-combinations .combination.pdp-stock-cell-btn:hover,
#product .product-combinations .combination.pdp-stock-cell-btn:focus-visible {
  background: var(--gray-100, #f5f5f5);
  opacity: 1;
}

#product .pdp-stock-cell-btn .select-combination {
  display: none;
}

#product .stock-dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

#product .stock-dot.ok { background: var(--success); }
#product .stock-dot.mid { background: #e08a1f; }
#product .stock-dot.ko { background: #d64545; opacity: .4; }

/* ── Popover stock : table à un seul groupe / dispo shop ── */
#product .pdp-stock-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--gray-200, #e8e8e8);
  border-radius: 10px;
}

#product .pdp-stock-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .76rem;
  margin: 0;
}

#product .pdp-stock-table th,
#product .pdp-stock-table td {
  padding: 11px 14px;
  text-align: left;
  border-bottom: 1px solid var(--gray-200, #e8e8e8);
  white-space: nowrap;
}

#product .pdp-stock-table thead th {
  background: #f9fafb;
  font-size: .66rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--gray-500, #888);
}

#product .pdp-stock-table tbody tr:last-child td { border-bottom: none; }

/* .combination porte des styles legacy (largeur fixe, bordure, marges) pensés
   pour les pastilles : sur une ligne de tableau, on les neutralise. */
#product .product-combinations .pdp-stock-table tbody tr.combination {
  cursor: pointer;
  width: auto;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
}
#product .pdp-stock-table tbody tr:hover { background: #fafbfc; }

#product .pdp-stock-table td:first-child {
  font-weight: 700;
  color: #1a1a1a;
  background: #f9fafb;
}

#product .stock-status {
  display: inline-flex;
  align-items: center;
  padding: 4px 11px;
  border-radius: 50px;
  font-size: .72rem;
  font-weight: 700;
  white-space: nowrap;
}

#product .stock-status.ok { background: #e8f7ee; color: #218a4c; }
#product .stock-status.mid { background: #fef3e2; color: #c97a17; }
#product .stock-status.ko { background: #fdecea; color: #c0392b; }

#product .pdp-stock-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 14px;
  font-size: .74rem;
  color: var(--gray-500, #888);
}

#product .pdp-stock-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

#product .pdp-stock-legend .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

#product .pdp-stock-legend .dot.ok { background: var(--success); }
#product .pdp-stock-legend .dot.mid { background: #e08a1f; }
#product .pdp-stock-legend .dot.ko { background: #d64545; }

/* ── Stepper quantité : le markup vient de bootstrap-touchspin, on le remet
   à plat (− valeur +) sans toucher aux classes écoutées par le JS. ── */
#product .qty-stepper .input-group.bootstrap-touchspin {
  display: flex;
  align-items: center;
  width: auto;
  border: none;
  background: none;
}

#product .qty-stepper .bootstrap-touchspin-prefix,
#product .qty-stepper .bootstrap-touchspin-postfix { display: none !important; }

/* Le groupe vertical de touchspin devient transparent : ses deux boutons
   passent en enfants directs du flex, l'un avant l'input, l'autre après. */
#product .qty-stepper .input-group-btn-vertical {
  display: contents;
}

#product .qty-stepper .btn-touchspin {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--primary, #7A6352);
  box-shadow: none;
  transition: background .15s, color .15s;
}

#product .qty-stepper .bootstrap-touchspin-down { order: -1; }
#product .qty-stepper .bootstrap-touchspin-up { order: 1; }

#product .qty-stepper .btn-touchspin:hover { background: var(--gray-100, #f5f5f5); }
#product .qty-stepper .btn-touchspin:active { background: var(--gray-200, #e8e8e8); color: var(--accent, #5AADD4); }

#product .qty-stepper .btn-touchspin .material-icons {
  font-family: var(--font-custom, 'Montserrat', sans-serif);
  font-size: 0;
  line-height: 1;
  width: auto;
  height: auto;
}

/* Les glyphes viennent de .material-icons : on force la police du thème,
   sinon « + » / « − » ne s'affichent que via la fallback de Material Icons. */
#product .qty-stepper .btn-touchspin .touchspin-up::after,
#product .qty-stepper .btn-touchspin .touchspin-down::after {
  font-family: var(--font-custom, 'Montserrat', sans-serif);
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
}

#product .qty-stepper .btn-touchspin .touchspin-up::after { content: '+'; }
#product .qty-stepper .btn-touchspin .touchspin-down::after { content: '\2212'; }

/* ── Bouton « Ajouter au panier » ── */
#product .pdp-buy-row .add-to-cart {
  text-transform: none;
  letter-spacing: .03em;
}

#product .pdp-buy-row .add-to-cart:disabled,
#product .pdp-buy-row .add-to-cart[disabled] {
  background: var(--gray-200, #e8e8e8);
  color: var(--gray-500, #888);
  opacity: 1;
  cursor: not-allowed;
}

#product .pdp-buy-row .add-to-cart:disabled svg,
#product .pdp-buy-row .add-to-cart[disabled] svg { opacity: .6; }

#product .product-minimal-quantity {
  font-size: .78rem;
  color: var(--gray-500, #888);
  margin: 10px 0 0;
}

/* ── Étoiles rendues côté serveur ── */
.pdp-stars {
  position: relative;
  display: inline-block;
  color: var(--gray-200, #e8e8e8);
  font-size: 1.1rem;
  letter-spacing: 1px;
  line-height: 1;
  white-space: nowrap;
}

.pdp-stars::before {
  content: '★★★★★';
  position: absolute;
  left: 0;
  top: 0;
  width: var(--pdp-stars-fill, 0%);
  overflow: hidden;
  color: #f4a800;
  white-space: nowrap;
}

#product .pdp-rating .pdp-stars { font-size: .92rem; }
#product .reviews-section .review-card .pdp-stars { font-size: .9rem; }
#product .reviews-section .reviews-summary .pdp-stars { margin-top: 6px; }

#product .reviews-empty {
  font-size: .82rem;
  color: var(--gray-500, #888);
  margin: 0;
}

/* CTA mobile désactivé (produit non commandable) */
#product .pdp-mobile-cta .pdp-mobile-add-cart:disabled,
#product .pdp-mobile-cta .pdp-mobile-add-cart[disabled] {
  background: var(--gray-200, #e8e8e8);
  color: var(--gray-500, #888);
  opacity: 1;
  cursor: not-allowed;
}

/* ══════════════════════════════════════════════════════════
   PDP — Correctifs d'espacement et de fond (écarts maquette)
   ══════════════════════════════════════════════════════════ */

/* ── Variantes : les <li> portent un margin legacy qui double le gap flex ──
   `.product-variants > .product-variants-item ul li { margin-right: 12px;
   margin-bottom: 12px }` s'ajoutait au gap de 8px de .pdp-size-list. */
#product .product-variants.pdp-options-row > .pdp-option-group ul > li {
  margin: 0;
  padding: 0;
  float: none;
  list-style: none;
}

#product .product-variants.pdp-options-row > .pdp-option-group ul > li > label {
  margin: 0;
  display: flex;
}

/* Le shorthand legacy `.product-variants-item { margin: 15px 0 3px }` remettait
   une marge haute que la maquette n'a pas. */
#product .product-variants.pdp-options-row > .pdp-option-group {
  margin: 0 0 22px;
}

/* ── Onglet « Dispo shop » : table du module amstockmagasin au style maquette ── */
#product .product-combinations-tab.dispo-shop {
  padding: 0;
  background: none;
}

#product .am-stock-magasin-table {
  width: 100%;
  max-width: 100%;
  max-height: none;
  border-collapse: collapse;
  font-size: .76rem;
  margin: 0;
}

#product .am-stock-magasin-table th,
#product .am-stock-magasin-table td {
  padding: 10px 14px;
  text-align: left;
  border: none;
  border-bottom: 1px solid var(--gray-200, #e8e8e8);
  white-space: nowrap;
  vertical-align: middle;
}

/* En-tête collant : le module le pose sur <thead> (peu fiable), on le remet
   sur les <th> et on garde le défilement dans le conteneur, pas sur la table
   (max-height sur <table> n'est pas fiable). */
#product .am-stock-magasin-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f9fafb;
  font-size: .66rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--gray-500, #888);
}

#product .am-stock-magasin-table thead::after { display: none; }

#product .product-combinations-tab.dispo-shop .pdp-stock-table-wrap {
  overflow: auto;
}

#product .am-stock-magasin-table tbody th {
  font-size: .74rem;
  font-weight: 700;
  color: #1a1a1a;
  background: #f9fafb;
}

#product .am-stock-magasin-table tbody tr:last-child th,
#product .am-stock-magasin-table tbody tr:last-child td { border-bottom: none; }

#product .am-stock-magasin-table tbody tr:hover { background: #fafbfc; }

#product .am-stock-magasin-table tbody span {
  display: inline-flex;
  align-items: center;
  padding: 4px 11px;
  border-radius: 50px;
  font-size: .72rem;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}

#product .am-stock-magasin-table tbody .available { background: #e8f7ee; color: #218a4c; }
#product .am-stock-magasin-table tbody .available_later { background: #fef3e2; color: #c97a17; }
#product .am-stock-magasin-table tbody .unavailable { background: #fdecea; color: #c0392b; }

#product .am-stock-magasin-table tbody span i.material-icons { display: none; }
#product .product-additional-info .ets_crosssell_block { display: none; }

/* ── Alertes dispo fiche (#product-availability, aligné panier .cart-item-stock-alert) ── */
#product #product-availability.pdp-avail-alert {
  display: block;
  margin-bottom: 5px;
}

#product #product-availability.pdp-avail-alert .pdp-avail-alert__label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: .74rem;
  font-weight: 700;
}

#product #product-availability.pdp-avail-alert .pdp-avail-alert__icon {
  flex-shrink: 0;
  width: 13px;
  height: 13px;
}

#product #product-availability.pdp-avail-alert--low .pdp-avail-alert__label {
  color: #d9750c;
}

#product #product-availability.pdp-avail-alert--out .pdp-avail-alert__label {
  color: var(--brand-danger, #e63946);
}

#product #product-availability.pdp-avail-alert .material-icons {
  display: none;
}
