.product-info form.cart{display:flex;flex-direction:column;margin:0}.product-info .btn-product-cta{margin-top:16px}.woocommerce-Reviews p.stars{display:flex;flex-direction:row;gap:4px;margin:6px 0 10px;line-height:1}.woocommerce-Reviews p.stars a{display:inline-block;font-size:0;width:28px;height:28px;cursor:pointer;text-decoration:none;position:relative}.woocommerce-Reviews p.stars a::before{content:'★';font-size:24px;color:var(--gray-border,#E0D9CE);transition:color .15s;position:absolute;top:0;left:0;line-height:1}.woocommerce-Reviews p.stars>span{display:flex;flex-direction:row;gap:4px;line-height:1}.woocommerce-Reviews p.stars a:hover::before,.woocommerce-Reviews p.stars a:has(~ a:hover)::before{color:var(--gold,#F5A320)}.woocommerce-Reviews p.stars.selected a.active::before,.woocommerce-Reviews p.stars.selected a:has(~ a.active)::before{color:var(--gold,#F5A320)}.woocommerce-Reviews p.stars.star-1 a.star-1::before,.woocommerce-Reviews p.stars.star-2 a.star-1::before,.woocommerce-Reviews p.stars.star-2 a.star-2::before,.woocommerce-Reviews p.stars.star-3 a.star-1::before,.woocommerce-Reviews p.stars.star-3 a.star-2::before,.woocommerce-Reviews p.stars.star-3 a.star-3::before,.woocommerce-Reviews p.stars.star-4 a.star-1::before,.woocommerce-Reviews p.stars.star-4 a.star-2::before,.woocommerce-Reviews p.stars.star-4 a.star-3::before,.woocommerce-Reviews p.stars.star-4 a.star-4::before,.woocommerce-Reviews p.stars.star-5 a.star-1::before,.woocommerce-Reviews p.stars.star-5 a.star-2::before,.woocommerce-Reviews p.stars.star-5 a.star-3::before,.woocommerce-Reviews p.stars.star-5 a.star-4::before,.woocommerce-Reviews p.stars.star-5 a.star-5::before{color:var(--gold,#F5A320)}.woocommerce-Reviews .star-rating,.sc-review-highlights .star-rating{overflow:hidden;position:relative;display:inline-block;height:1.3em;line-height:1.3;font-size:15px;width:5.6em;font-family:inherit;letter-spacing:.12em;flex-shrink:0}.woocommerce-Reviews .star-rating::before,.sc-review-highlights .star-rating::before{content:'★★★★★';color:var(--gray-border,#E0D9CE);position:absolute;top:0;left:0}.woocommerce-Reviews .star-rating span,.sc-review-highlights .star-rating span{overflow:hidden;position:absolute;top:0;left:0;height:100%;font-size:0;white-space:nowrap}.woocommerce-Reviews .star-rating span::before,.sc-review-highlights .star-rating span::before{content:'★★★★★';font-size:15px;letter-spacing:.12em;position:absolute;top:0;left:0;color:var(--gold,#F5A320)}#reviews{padding:32px 40px;margin-top:0;background:transparent;border:none;position:relative;z-index:1}#reviews #comments,#reviews .comment-respond{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;border-radius:0!important}#reviews .comment-body{background:var(--white,#fff);border:1px solid var(--gray-border,#E0D9CE);border-radius:12px;padding:16px 18px;box-shadow:0 2px 10px rgba(0,0,0,.05)}#reviews #review_form_wrapper{margin-top:24px}@media (max-width:768px){#reviews{padding:20px 16px}}#reviews #respond .comment-reply-title{display:none}#reviews .comment-body{background:#fff!important;box-shadow:0 2px 10px rgba(0,0,0,.05)!important}#reviews #review_form_wrapper.comment-form-wrap{background:#fff!important;border:1px solid var(--gray-border,#E0D9CE)!important;border-radius:16px!important;padding:20px 22px!important}#reviews p.stars{display:inline-flex!important;flex-direction:row!important;gap:4px!important;line-height:1!important}#reviews p.stars a,#reviews p.stars a *{font-size:0!important}#reviews p.stars a::before{font-size:24px!important;line-height:1!important}#reviews .comment-meta .star-rating{font-size:15px!important}#reviews .comment-list{margin-bottom:14px!important}#reviews #review_form_wrapper{margin-top:10px!important}.country-select{position:relative}.country-select-btn{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1.5px solid var(--gray-border,#E0D9CE);border-radius:var(--radius-btn,10px);background:var(--white,#fff);cursor:pointer;font-size:14px;color:var(--navy,#373248);font-family:var(--font-body,'Poppins',sans-serif);user-select:none;min-height:44px;width:100%;text-align:left;transition:border-color .15s}.country-select-btn:hover,.country-select-btn:focus{border-color:var(--navy,#373248);outline:none}.country-select-arrow{margin-left:auto;font-size:10px;color:#999;flex-shrink:0}.country-select-dropdown{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--white,#fff);border:1.5px solid var(--navy,#373248);border-radius:10px;max-height:240px;overflow-y:auto;z-index:200;box-shadow:0 8px 24px rgba(0,0,0,0.12)}.country-select.open .country-select-dropdown{display:block}.country-option{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;cursor:pointer;color:var(--navy,#373248);font-family:var(--font-body,'Poppins',sans-serif);transition:background .1s}.country-option:hover{background:var(--cream,#F5F0E8)}.country-option.active{background:var(--cream,#F5F0E8);font-weight:600}.cart-summary-card{position:relative;z-index:1}.cart-page .ph-card,.cart-layout .ph-card{position:relative;z-index:1}.cart-form-card input[type="text"],.cart-form-card input[type="email"],.cart-form-card input[type="tel"],.cart-form-card textarea{width:100%;box-sizing:border-box}.cart-promo-applied{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:#2e7d32;padding:6px 0}.fp-hero{margin-top:-90px;padding-top:110px;position:relative;z-index:1}@media (max-width:768px){.fp-hero{margin-top:-80px;padding-top:96px}}.review-form-head{display:flex;align-items:center;justify-content:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:8px}.review-form-head .comment-form-title{margin:0;line-height:1}.review-form-head .comment-form-rating{margin:0;display:flex;align-items:center;transform:translateY(-4px)}.review-form-head .comment-form-rating .stars{margin:0!important;line-height:1}.review-form-head .comment-form-rating .stars a{height:24px}.compte-content .woocommerce-notices-wrapper:empty{display:none}.compte-content>.db-card:first-child,.compte-content>.compte-card:first-child{margin-top:0}.db-order-row .order-status,.compte-content .order-status{border-radius:6px}.compte-addresses{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width:767px){.compte-addresses{grid-template-columns:1fr}}.compte-address-card .compte-address-body{font-family:var(--font-body);font-size:14px;line-height:1.7;color:var(--navy)}.compte-address-card .db-card-head{margin-bottom:10px}.compte-address-empty{color:var(--gray-text);font-size:14px;margin:0 0 12px}.compte-nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;background:#b0475a;color:#fff;border-radius:50%;font-family:var(--font-body);font-size:11px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center}.woocommerce-EditAccountForm .woocommerce-password-strength{margin-top:8px;padding:7px 12px;border-radius:8px;font-family:var(--font-body);font-size:13px;font-weight:600;text-align:left;line-height:1.4}.woocommerce-EditAccountForm .woocommerce-password-strength.strong{background:#e6f4ea;color:#1e7e42}.woocommerce-EditAccountForm .woocommerce-password-strength.good{background:#eaf1fb;color:#2b5bab}.woocommerce-EditAccountForm .woocommerce-password-strength.short,.woocommerce-EditAccountForm .woocommerce-password-strength.bad{background:#fdecea;color:#c0392b}.woocommerce-EditAccountForm .woocommerce-password-hint{display:block;margin-top:6px;font-family:var(--font-body);font-size:12.5px;color:var(--gray-text);line-height:1.55}.woocommerce-EditAccountForm .btn{margin-top:4px}.woocommerce-EditAccountForm{display:flex;flex-direction:column;gap:10px}.compte-address-form .woocommerce-address-fields__field-wrapper{display:flex;flex-wrap:wrap;gap:0 20px}.compte-address-form p.form-row{display:flex;flex-direction:column;flex:1 1 100%;margin:0 0 14px}.compte-address-form p.form-row-first,.compte-address-form p.form-row-last{flex:1 1 calc(50% - 10px)}.compte-address-form p.form-row label{font-family:var(--font-head);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:0.3px;color:var(--navy);margin-bottom:6px}.compte-address-form p.form-row label .required{color:var(--gold);border:0;text-decoration:none}.compte-address-form .woocommerce-input-wrapper{display:block;width:100%}.compte-address-form .input-text,.compte-address-form select{width:100%;padding:13px 16px;box-sizing:border-box;border:1.5px solid var(--gray-border);border-radius:10px;font-family:var(--font-body);font-size:15px;background:#fff;color:var(--navy)}.compte-address-form .input-text:focus,.compte-address-form select:focus{border-color:var(--navy);outline:none}@media (max-width:600px){.compte-address-form p.form-row-first,.compte-address-form p.form-row-last{flex:1 1 100%}}.vo-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.vo-header .vo-order-num{font-family:var(--font-head);font-size:24px;font-weight:900;color:var(--navy)}.vo-header .vo-order-date{font-family:var(--font-body);font-size:13px;color:var(--gray-text);margin-top:2px}.vo-note{padding:8px 0;border-bottom:1px solid var(--gray-border)}.vo-note-date{font-size:12px;color:var(--gray-text)}.vo-note-text{font-family:var(--font-body);font-size:14px;color:var(--navy)}.woocommerce-order-details,.woocommerce-customer-details{background:#fff;border:1px solid #A3A3A3;border-radius:20px;padding:20px 24px}.woocommerce-order-details>h2,.woocommerce-customer-details>h2{font-family:var(--font-head);font-size:22px;font-weight:900;color:var(--navy);margin:0 0 14px}.woocommerce-table--order-details{width:100%;border-collapse:collapse}.woocommerce-table--order-details th,.woocommerce-table--order-details td{padding:10px 0;font-family:var(--font-body);font-size:14px;color:var(--navy);text-align:left;border-bottom:1px solid var(--gray-border);vertical-align:top}.woocommerce-table--order-details thead th{font-weight:700}.woocommerce-table--order-details tfoot th{text-align:left;font-weight:700}.woocommerce-table--order-details td.product-total,.woocommerce-table--order-details .woocommerce-table__product-total,.woocommerce-table--order-details tfoot td{text-align:right;white-space:nowrap}.woocommerce-table--order-details tfoot tr:last-child th,.woocommerce-table--order-details tfoot tr:last-child td{font-family:var(--font-head);font-size:16px;font-weight:900}.woocommerce-table--order-details a{color:var(--navy);text-decoration:none;font-weight:600}.woocommerce-table--order-details a:hover{text-decoration:underline}.woocommerce-customer-details address{font-family:var(--font-body);font-size:14px;line-height:1.7;color:var(--navy);font-style:normal;border:0;padding:0}.woocommerce-customer-details .woocommerce-columns--addresses{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width:600px){.woocommerce-customer-details .woocommerce-columns--addresses{grid-template-columns:1fr}}.woocommerce-MyAccount-content .order-again a.button{display:inline-flex;padding:10px 20px;background:transparent;color:var(--navy);border:2px solid var(--navy);border-radius:10px;font-family:var(--font-head);font-weight:700;font-size:15px;text-decoration:none;margin-top:8px}.compte-content mark{background:transparent;color:inherit}.compte-address-form .select2-container--default .select2-selection--single{height:auto;min-height:49px;padding:6px 16px;box-sizing:border-box;border:1.5px solid var(--gray-border);border-radius:10px;background:#fff;display:flex;align-items:center}.compte-address-form .select2-container--default .select2-selection--single .select2-selection__rendered{padding:0;color:var(--navy);font-family:var(--font-body);font-size:15px;line-height:1.4}.compte-address-form .select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;top:0;right:12px}.compte-address-form .select2-container--default.select2-container--focus .select2-selection--single,.compte-address-form .select2-container--default.select2-container--open .select2-selection--single{border-color:var(--navy)}.select2-dropdown{border:1.5px solid var(--navy);border-radius:12px;overflow:hidden}.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--navy)}.select2-search--dropdown .select2-search__field{border:1.5px solid var(--gray-border);border-radius:8px;padding:8px}.compte-address-card .compte-address-line{margin-top:4px}.compte-address-card .compte-address-line span{font-weight:700}.woocommerce-table--order-details tfoot tr:last-child th,.woocommerce-table--order-details tfoot tr:last-child td{border-bottom:0}.sc-review-photos-field{margin-top:4px}.sc-review-photos-hint{font-weight:400;font-size:12px;color:var(--gray-text,#666)}.sc-review-photos-field input[type="file"]{display:block;width:100%;font-size:13px;color:var(--gray-text,#666);padding:10px 12px;background:var(--cream,#FBF9F3);border:1px dashed var(--gray-border,#E0D9CE);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s}.sc-review-photos-field input[type="file"]:hover,.sc-review-photos-field input[type="file"]:focus{border-color:var(--gold,#F5A320);background:#fff}.sc-review-photos-field input[type="file"]::file-selector-button{font-family:inherit;font-size:13px;font-weight:700;color:#fff;background:var(--navy,#373248);border:0;border-radius:8px;padding:7px 14px;margin-right:12px;cursor:pointer;transition:background .15s}.sc-review-photos-field input[type="file"]::file-selector-button:hover{background:var(--navy-light,#4a4560)}.sc-review-photos-preview{margin:6px 0 0;font-size:12px;color:var(--gray-text,#666);min-height:1em}.sc-review-photos-preview.is-error{color:#c0392b;font-weight:600}.sc-review-photos{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.sc-review-photo{display:block;line-height:0;border-radius:10px;overflow:hidden;border:1px solid var(--gray-border,#E0D9CE);cursor:zoom-in;transition:transform .15s,border-color .15s,box-shadow .15s}.sc-review-photo:hover{transform:translateY(-2px);border-color:var(--gold,#F5A320);box-shadow:0 6px 16px rgba(55,50,72,.16)}.sc-review-photo-img{width:132px;height:132px;object-fit:cover;display:block}@media (max-width:600px){.sc-review-photos{gap:8px}.sc-review-photo-img{width:104px;height:104px}}.sc-lightbox{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;background:rgba(24,21,34,.92);padding:24px;opacity:0;transition:opacity .18s}.sc-lightbox.is-open{display:flex;opacity:1}.sc-lightbox img{max-width:min(92vw,1100px);max-height:88vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5);object-fit:contain}.sc-lightbox-close,.sc-lightbox-prev,.sc-lightbox-next{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:999px;width:46px;height:46px;font-size:24px;line-height:1;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center}.sc-lightbox-close:hover,.sc-lightbox-prev:hover,.sc-lightbox-next:hover{background:var(--gold,#F5A320)}.sc-lightbox-close{top:20px;right:20px;font-size:20px}.sc-lightbox-prev{left:20px}.sc-lightbox-next{right:20px}.sc-lightbox-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.82);font-size:13px;letter-spacing:.04em}@media (max-width:600px){.sc-lightbox-prev,.sc-lightbox-next{width:40px;height:40px;font-size:20px}.sc-lightbox-prev{left:8px}.sc-lightbox-next{right:8px}}.sc-flash{position:fixed;bottom:24px;right:24px;z-index:10000;display:flex;align-items:flex-start;gap:12px;max-width:min(360px,calc(100vw - 32px));padding:14px 16px;background:var(--navy,#373248);color:#fff;border-radius:12px;border-left:4px solid #46C46E;box-shadow:0 12px 32px rgba(0,0,0,.26);transform:translateY(90px);opacity:0;transition:transform .28s cubic-bezier(.2,.8,.3,1),opacity .28s;pointer-events:none}.sc-flash.show{transform:translateY(0);opacity:1;pointer-events:auto}.sc-flash-icon{flex-shrink:0;width:22px;height:22px;margin-top:1px;border-radius:50%;background:#46C46E;color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.sc-flash-body{flex:1;min-width:0}.sc-flash-title{display:block;font-size:14px;font-weight:800;line-height:1.3}.sc-flash-text{display:block;margin-top:2px;font-size:13px;font-weight:400;line-height:1.4;color:rgba(255,255,255,.82)}.sc-flash-close{flex-shrink:0;background:none;border:0;color:rgba(255,255,255,.6);font-size:16px;line-height:1;padding:2px 4px;cursor:pointer;transition:color .15s}.sc-flash-close:hover{color:#fff}@media (max-width:600px){.sc-flash{left:16px;right:16px;bottom:16px;max-width:none}}.sc-review-pending{font-size:12px;font-style:normal;font-weight:700;color:#9A6B00;background:#FFF4DB;border:1px solid #F5D68A;border-radius:999px;padding:2px 10px;white-space:nowrap}.woocommerce-Reviews .comment-list.sc-reviews-grid{list-style:none;padding:0;margin:0 0 32px;display:flex;flex-direction:column;gap:16px}.woocommerce-Reviews .comment-list.sc-reviews-grid>.comment-item{margin:0}.woocommerce-Reviews .comment-list .sc-review-photos{display:flex;flex-wrap:wrap;gap:10px}.woocommerce-Reviews .comment-list .sc-review-photo-img{width:132px;height:132px;aspect-ratio:auto}@media (max-width:600px){.woocommerce-Reviews .comment-list .sc-review-photo-img{width:104px;height:104px}}.sc-review-highlights{margin:0;position:relative}.sc-review-highlights-grid{display:flex;gap:12px;align-items:start;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;scroll-padding:0 10px;padding:12px 10px 0;margin:0 -10px;scrollbar-width:none;-ms-overflow-style:none}.sc-review-highlights-grid::-webkit-scrollbar{display:none}.sc-review-highlights-grid{--sc-hl-cols:5;--sc-hl-gap:12px}.sc-hl-card{flex:0 0 calc((100% - (var(--sc-hl-cols) - 1) * var(--sc-hl-gap)) / var(--sc-hl-cols));scroll-snap-align:start}.sc-hl-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:40px;height:40px;border:0;border-radius:50%;background:var(--navy,#373248);box-shadow:0 3px 12px rgba(0,0,0,.28);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,opacity .15s,visibility .15s}.sc-hl-nav:hover{background:var(--navy-light,#4a4560)}.sc-hl-prev{left:-18px}.sc-hl-next{right:-18px}.sc-hl-next svg{transform:rotate(180deg)}.sc-hl-nav[hidden]{display:none}.sc-hl-card{min-width:0;background:#fff;border:1px solid #A3A3A3;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px}.sc-hl-meta{display:flex;align-items:center;gap:5px;min-width:0;flex-wrap:nowrap}.sc-hl-author{flex:0 1 auto;min-width:0;font-size:14px;font-weight:700;color:var(--navy,#373248);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-hl-date{font-size:12px;color:var(--gray-text,#666);flex-shrink:0;white-space:nowrap}.sc-hl-card .star-rating{flex-shrink:0;font-size:15px;width:5.6em;letter-spacing:.12em}.sc-hl-text{margin:0;font-size:14px;line-height:1.6;color:var(--navy,#373248);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(3 * 1.6em)}.sc-hl-card .star-rating span::before{font-size:15px;letter-spacing:.12em}.sc-hl-card::before{content:'';position:absolute;inset:0;background-image:url('../img/site/background-space-cake.png');background-image:image-set(url('../img/site/background-space-cake.webp') type('image/webp'),url('../img/site/background-space-cake.png') type('image/png'));background-repeat:repeat;background-size:180px auto;opacity:.6;pointer-events:none;z-index:0;border-radius:inherit}.sc-hl-meta,.sc-hl-text,.sc-hl-photo{position:relative;z-index:1}.sc-hl-card{position:relative}.sc-hl-pin{position:absolute;top:-8px;right:-8px;z-index:3;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 1px 4px rgba(0,0,0,.18);font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:.75;pointer-events:none}.sc-hl-photo{margin-top:auto}.sc-hl-img{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;display:block;border-radius:8px}@media (max-width:1365px){.sc-review-highlights-grid{--sc-hl-cols:4}}@media (max-width:1024px){.sc-review-highlights-grid{--sc-hl-cols:3}.sc-hl-nav{width:36px;height:36px}.sc-hl-prev{left:-14px}.sc-hl-next{right:-14px}}@media (max-width:768px){.sc-review-highlights-grid{--sc-hl-cols:2}}@media (max-width:600px){.sc-review-highlights-grid{--sc-hl-cols:1;--sc-hl-gap:10px;gap:10px}.sc-hl-nav{width:34px;height:34px}.sc-hl-prev{left:-6px}.sc-hl-next{right:-6px}}.flavor-discount-banner{background:#f3f7ea;border:2px dashed #a8c97a;border-radius:12px;padding:10px 14px;font-size:13.5px;line-height:1.45;color:#3f5320}.flavor-discount-banner strong{color:#2f3e18}.product-thumb--flavor{cursor:pointer;text-decoration:none;position:relative;display:block;transition:transform .12s ease}.product-thumb--flavor:hover{transform:translateY(-2px)}.product-thumb--flavor .product-thumb-inner{background:#fff;opacity:1}.product-thumb--flavor.is-current .product-thumb-inner{border:1px solid #a3a3a3}.product-thumb--flavor .product-thumb-inner img{object-fit:contain;padding:6px}.product-thumb--flavor:not(.is-current) .product-thumb-inner{opacity:.72}.product-thumb--flavor:hover .product-thumb-inner{opacity:1}@media (max-width:768px){.product-info{padding-bottom:16px}}@media (max-width:600px){.product-trust-badges{margin-top:-12px}}.cart-shipping-info .bw-parcel-point{display:block;margin-top:6px;padding:8px 10px;background:#F5F0E8;border:1px solid #E0D9CE;border-left:3px solid #F5A320;border-radius:8px;font-family:var(--font-body);font-size:13px;line-height:1.5;color:var(--navy)}.cart-shipping-info [class^="bw-parcel-client-"]{font-size:13px;font-weight:700}.cart-shipping-info [class^="bw-parcel-name-"]{font-size:13px;font-weight:700;color:var(--navy);text-transform:uppercase}.cart-shipping-info [class^="bw-parcel-address-"]{display:block;margin-top:2px;font-size:12.5px;font-weight:400;color:var(--gray-text);font-style:normal;text-transform:uppercase}.cart-shipping-info .bw-select-parcel{display:inline-block;margin-top:6px;font-size:12.5px;color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.cart-shipping-info .bw-select-parcel:hover{opacity:.7}.cart-shipping-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.cart-shipping-head .cart-shipping-name-col{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.cart-shipping-head .cart-shipping-name{flex:1 1 auto;min-width:0}.cart-shipping-head .cart-shipping-desc{margin:0}.cart-shipping-head .cart-shipping-price{flex-shrink:0;white-space:nowrap;margin-left:auto;text-align:right}.cart-shipping-price-note{display:block;margin-top:3px;font-family:var(--font-body);font-size:10.5px;font-weight:400;color:var(--gray-text);white-space:nowrap;text-align:right}
/* Ajustements panier 27/08 : code promo aligné sur les champs coordonnées + récap resserré */
.cart-promo #sc-promo-code{border-radius:10px !important}
.cart-summary-rows{gap:4px !important}

/* Ajustements panier 27/08 (suite) : radius 10px sur stepper quantité + bouton Appliquer/promo */
.cart-qty{border-radius:10px !important}
.cart-promo-btn{border-radius:10px !important}

/* Aligner horizontalement le titre Récapitulatif sur le nom de l article (27/08) */
.cart-summary-title{margin-top:-12px !important}

/* Réduire de 20% la croix rouge de suppression article (27/08) : 26->20.8, 13->10.4, 7->5.6 */
.cart-card-remove{width:20.8px !important;height:20.8px !important;font-size:10.4px !important;border-radius:5.6px !important}

/* Bloc article panier (27/08) : stepper quantité -20% + espace meta<->stepper réduit */
.cart-qty-btn{padding:6.4px 12.8px !important;font-size:14.4px !important}
.cart-qty-val{font-size:14.4px !important;min-width:25.6px !important}
.cart-card-bottom{margin-top:-8px !important}

/* Bloc article panier : -10% padding bas uniquement (27/08) : 20px -> 18px */
.cart-card{padding-bottom:10px !important}

/* Remonter le bloc prix (total + prix/unité) de 10px dans le bloc article (27/08) */
.cart-card-bottom{align-items:flex-end !important}
/* Articles blog (30/08) : cadre rouge de mise en garde .encadre-urgence
   (brouillon 2664 « Edibles THC et enfants »), sans CSS jusqu'ici -> cadre nu. */
.encadre-urgence {
  background: #FFF4F2;
  border: 2px solid #C0392B;
  border-radius: 14px;
  padding: 22px 26px;
  margin: 28px 0;
}
.encadre-urgence > *:first-child { margin-top: 0; }
.encadre-urgence > *:last-child { margin-bottom: 0; }
@media (max-width: 600px) {
  .encadre-urgence { padding: 16px 18px; }
}

/* Articles blog (30/08) : évite qu'un H2 (ou tout enfant à margin-top) en
   tête de contenu ne « fuite » son margin-top hors de .article-body (margin
   collapsing, .article-body n'a ni border-top ni padding-top). Ce collapse
   pousse toute la boîte .article-body vers le bas -> gros espace visible
   entre le H1 et le contenu, variable selon ce par quoi l'article commence.
   Un padding-top minime bloque le collapse sans ajouter d'espace visible
   perceptible (les deux boîtes .article-header/.article-body sont déjà
   jointives, bordure du bas/haut retirée des deux côtés). */
.article-body { padding-top: 4px; }

/* Formulaires : le <br> entre label et champ est rendu comme un flex-item par
   Chrome (ligne vide => gros espace) alors que Firefox l ignore. .form-group est
   deja en flex column, le <br> est superflu : on le neutralise pour un rendu
   identique Chrome/Firefox. */
.form-group br { display: none; }

/* Reduit l espace entre le CTA (Envoyer) et le bas de la carte formulaire
   (padding-bas de .contact-card etait 2%% desktop / 24px mobile => trop grand). */
.contact-card { padding-bottom: 10px; }

/* <br> superflu apres le bouton Envoyer (dans le <form>, hors form-group) :
   ajoutait une ligne vide entre le CTA et le bas de la carte. */
.contact-card form br { display: none; }

/* Ligne intermediaire "parfum" des cartes produit (ex: cones) : taille entre le
   titre principal (grand) et le sous-titre (petit). */
.product-card-title-flavor{display:block;font-size:min(38px,calc((100vw - 50px)*.094));letter-spacing:0;line-height:1;margin-top:2px;color:#373248}

/* Prix barré (comparaison) sur les cartes produit : a gauche du prix, barre en
   rouge bordeaux (meme couleur que les bulles panier .cart-badge #b0475a). */
.product-card-price-old{color:#6b6b6b;font-weight:500;font-size:.86em;text-decoration:line-through;text-decoration-color:#b0475a;text-decoration-thickness:2px;margin-right:6px}

/* Upsell tiroir (30/08) : chevron a GAUCHE du "+" pour deplier les autres
   parfums de la meme famille (une suggestion = un seul parfum affiche par
   defaut, cf. sc_upsell_produits()). Le "+" des parfums freres reutilise
   exactement .sc-upsell-ajout, donc le meme point d'entree AJAX et la meme
   remise -5% (cf. inc/upsell-tiroir.php, inc/panier-ajax.php).
   Chaque parfum frere reprend integralement le markup + les classes de la
   carte upsell principale (.sc-upsell-carte/-img/-info/-nom/-prix*) : meme
   look, pas de mini-liste texte a part. */
.sc-upsell-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}

/* Chevron : retouche 30/08 sur retour utilisateur, trop discret et mal
   place. Meme gabarit que le bouton "+" (32px) pour rester lisible et
   aligne, fond creme + bordure navy pleine (pas 1.5px gris quasi invisible)
   pour signaler clairement un element cliquable. */
.sc-upsell-chevron{width:32px;height:32px;box-sizing:border-box;flex-shrink:0;border:2px solid var(--navy);border-radius:50%;background:var(--cream);color:var(--navy);display:flex;align-items:center;justify-content:center;transition:transform .18s ease,background .2s,color .2s}
.sc-upsell-chevron-i{display:block;width:11px;height:11px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.sc-upsell-chevron:hover,.sc-upsell-chevron:focus-visible{background:var(--navy);color:#fff;outline:none}
.sc-upsell-chevron.is-open{transform:rotate(180deg)}

.sc-upsell-freres{list-style:none;margin:8px 0 0;padding:10px 0 0;border-top:1px dashed var(--gray-border);display:flex;flex-direction:column;gap:8px}
.sc-upsell-freres[hidden]{display:none}
/* .sc-upsell-frere ajoute juste le pli visuel a .sc-upsell-carte (fond
   legerement distinct pour marquer la sous-liste sans casser le style). */
.sc-upsell-frere{background:#fff;border:1px solid var(--gray-border)}
@media (max-width:900px){
  /* main.min.css met le flex:0 0 88% + scroll-snap sur .sc-upsell-carte
     (mobile = scroll horizontal, 1 carte = 1 point d'ancrage). Le wrapper
     .sc-upsell-item porte desormais la carte + la liste depliable : c'est
     donc lui qui doit devenir le point d'ancrage, pas la carte seule. La
     regle .sc-upsell-piste .sc-upsell-carte ne visant que les enfants
     DIRECTS de la piste, les .sc-upsell-frere (dans <ul> puis <li>) n'en
     heritent pas : elles gardent le gabarit fixe de .sc-upsell-carte. */
  .sc-upsell-item{flex:0 0 88%;scroll-snap-align:start}
  .sc-upsell-piste .sc-upsell-carte{flex:0 0 auto;min-height:62px}
}

/* [TEST] Home hero : bloc texte pleine largeur, au-dessus du GIF (z-index).
   Le GIF garde sa taille, positionné en absolu à droite, derrière le texte. */
body.home .hero-inner{grid-template-columns:1fr;position:relative}
body.home .hero-text-col{position:relative;z-index:2}
body.home .hero-img-wrap{position:absolute;top:50%;right:0;transform:translateY(-50%);z-index:1;margin:0;pointer-events:none}

/* Bloc produit phare : titre H2 + sous-titre H3 (nom produit) + label best-seller H3. */
.ph-title{line-height:1;margin-bottom:2px}
.ph-subtitle{font-family:var(--font-head);font-size:24px;font-weight:900;color:#373248;line-height:1.1;margin:0 0 16px}
.ph-adorer{margin-top:0}

/* [TEST] Mobile : bulles catégories en CARROUSEL horizontal swipeable.
   Chaque bouton garde sa largeur naturelle + typo d'origine ; la ligne dépasse
   et se swipe (Cannabutter apparaît en glissant). Les 5 restent dans le DOM. */
@media (max-width:600px){
  .cat-grid{
    display:flex;
    grid-template-columns:none;
    gap:10px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    padding-bottom:6px;
    scrollbar-width:none;
  }
  .cat-grid::-webkit-scrollbar{display:none}
  .cat-card{
    flex:0 0 auto;
    scroll-snap-align:start;
    min-height:54px;
    padding:10px 20px;
  }
  .cat-titre{font-size:24px;white-space:nowrap}
}

/* Home hero mobile : 2e paragraphe repliable ("Voir plus") pour gagner de la
   place. Le contenu reste dans le DOM (indexé par Google, SEO-neutre en
   mobile-first) et reste dépliable par l'utilisateur (pas du cloaking). */
.hero-toggle{display:none}
@media (max-width:600px){
  .hero-body .hero-more{display:none}
  .hero-body.sc-open .hero-more{display:block}
  .hero-toggle{display:inline-block;margin-top:6px;background:none;border:0;padding:2px 0;color:#373248;font-family:var(--font-body);font-size:15px;font-weight:700;text-decoration:underline;cursor:pointer}
}

/* Home : fix ombre survol catégories (la carte passe au-dessus des sections
   voisines) + espacement resserré hero -> catégories -> produit phare. */
.cat-card:hover{z-index:3}
.cat-section{margin-top:-8px;padding-bottom:12px}

/* H1 hero « Bienvenue chez Space Cake ! » : reste sur une seule ligne
   (évite que le « ! » revienne à la ligne sur mobile étroit). */
.hero h1{white-space:nowrap}

/* CTA produit phare « DÉCOUVRIR SPACE CAKE… » : une ligne, texte qui REMPLIT la
   largeur (padding quasi nul + taille fluide sans plafonner trop tôt). */
.ph-content .btn-full{
  white-space:nowrap !important;
  font-size:clamp(13px,5.2vw,24px) !important;
  padding-left:2px !important;
  padding-right:2px !important;
}

/* Titres .why-inner (« Qu'est-ce qu'un Space Cake ? », « Pourquoi choisir… ? ») :
   restent sur une ligne, le « ? » ne revient plus seul sur mobile étroit. */
.why-inner h2{white-space:nowrap}

/* ===== Tableaux d'article (RESTAURÉ depuis session space-cake) : en-tête crème,
   zébrage lignes paires, hover doré, 1re colonne en gras, colonnes numériques
   alignées à droite (tabular-nums), bordures arrondies, scroll horizontal mobile,
   variante .tbl-2col, figures/légendes. ===== */
.article-body table{width:100%;border-collapse:separate;border-spacing:0;margin:28px 0;font-family:var(--font-body,'Poppins',sans-serif);font-size:15px;line-height:1.45;background:var(--white,#fff);border:1px solid var(--gray-border,#E0D9CE);border-radius:var(--radius-card,16px);overflow:hidden}
.article-body table thead th{background:var(--cream,#FBF9F3);color:var(--navy,#373248);font-family:var(--font-head,'Phudu',sans-serif);font-weight:700;font-size:14px;letter-spacing:.01em;text-align:left;padding:14px 16px;border-bottom:2px solid var(--gray-border,#E0D9CE);vertical-align:bottom}
.article-body table tbody td{padding:12px 16px;color:var(--navy,#373248);border-bottom:1px solid var(--gray-border,#E0D9CE);vertical-align:top}
.article-body table tbody tr:last-child td{border-bottom:none}
.article-body table tbody tr:nth-child(even) td{background:rgba(251,249,243,.55)}
.article-body table tbody tr:hover td{background:rgba(245,163,32,.07)}
.article-body table tbody td:first-child{font-weight:600}
.article-body table thead th:not(:first-child),.article-body table tbody td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.article-body table strong{color:var(--navy,#373248);font-weight:700}
.article-body table caption{caption-side:bottom;padding:10px 4px 0;font-size:13px;color:var(--gray-text,#666);text-align:left}
.article-body table.tbl-2col thead th:not(:first-child),.article-body table.tbl-2col tbody td:not(:first-child){text-align:left}
.article-body table.tbl-2col th:last-child,.article-body table.tbl-2col td:last-child{width:34%}
@media (max-width:768px){
  .article-body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:14px;border-radius:12px}
  .article-body table thead th,.article-body table tbody td{padding:11px 13px;white-space:nowrap}
  .article-body table tbody td:first-child{white-space:normal;min-width:130px}
  .article-body table.tbl-2col th:last-child,.article-body table.tbl-2col td:last-child{width:auto}
}
.article-body figure{margin:30px 0;padding:0}
.article-body figure img{width:100%;height:auto;display:block;border-radius:var(--radius-card,16px);background:var(--white,#fff)}
.article-body figcaption{margin-top:10px;font-size:13px;line-height:1.5;color:var(--gray-text,#666);font-family:var(--font-body,'Poppins',sans-serif);text-align:left}

/* Vidéo YouTube responsive dans le contenu catégorie (ex: /huiles-thc). */
.sc-video{position:relative;width:100%;max-width:720px;margin:0 auto 24px;aspect-ratio:16/9;border-radius:14px;overflow:hidden}
.sc-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Chatwoot : ancrer la bulle + la fenêtre de chat en HAUT à droite (au lieu de bas droite).
   Éléments injectés par le SDK dans le DOM de la page (pas l'iframe) -> repositionnables en CSS.
   NB : cible des classes Chatwoot, à revérifier lors d'une grosse MAJ du widget. */
.woot-widget-bubble, .woot-widget-bubble.woot-widget--expanded, .woot-widget-bubble.woot--close { top: 90px !important; bottom: auto !important; }
.woot-widget-holder { top: 150px !important; bottom: auto !important; }
@media (max-width: 668px){
  .woot-widget-bubble, .woot-widget-bubble.woot-widget--expanded { top: 74px !important; }
  .woot-widget-holder { top: 0 !important; }
}

/* TEST /cones-thc : H1 centré, aligné sur la ligne du fil d'Ariane, pour récupérer
   l'espace vertical perdu en haut du bloc. Scopé aux 4 catégories produit (cones/gummies/huiles/sirops). */
body:is(.term-cones-thc,.term-gummies-thc,.term-huiles-thc,.term-sirops-thc) .category-card .product-desc-block{position:relative;padding-top:22px}
body:is(.term-cones-thc,.term-gummies-thc,.term-huiles-thc,.term-sirops-thc) .category-card .product-desc-block>h1{text-align:center;margin:0 0 12px}
body:is(.term-cones-thc,.term-gummies-thc,.term-huiles-thc,.term-sirops-thc) .category-card .category-breadcrumb{
  position:absolute;left:40px;top:27px;height:35px;margin:0;display:flex;align-items:center;
}
@media (max-width:768px){
  body:is(.term-cones-thc,.term-gummies-thc,.term-huiles-thc,.term-sirops-thc) .category-card .category-breadcrumb{
    position:static;left:auto;top:auto;height:auto;margin:0 0 8px;justify-content:center;
  }
  body:is(.term-cones-thc,.term-gummies-thc,.term-huiles-thc,.term-sirops-thc) .category-card .product-desc-block{padding-top:20px}
  body:is(.term-cones-thc,.term-gummies-thc,.term-huiles-thc,.term-sirops-thc) .category-card .category-breadcrumb{left:auto}
}

/* Chatwoot : garder la bulle SOUS le panier latéral (overlay z-index 1099 / drawer 1100),
   tout en restant au-dessus du contenu normal. */
html body .woot-widget-bubble, html body .woot-widget-holder, html body #cw-bubble-holder, html body .woot--bubble-holder { z-index: 1098 !important; }

/* Section AVIS home : passage à une grille flate 3 colonnes (au lieu de 2 colonnes
   masonry codées en dur) + bouton "Afficher plus d'avis" progressif (SEO : les
   cartes masquées restent dans le HTML, display:none uniquement). */
.reviews-grid.reviews-grid--flat {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  align-items: start;
}
.review-card.review-hidden { display: none; }
.reviews-more-wrap { display: flex; justify-content: center; margin-top: 30px; }
.reviews-more-btn { cursor: pointer; }
@media (max-width: 1000px) {
  .reviews-grid.reviews-grid--flat { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .reviews-grid.reviews-grid--flat { grid-template-columns: 1fr; }
}

/* Avis — CORRECTIF : masonry en gardant la largeur d'origine des cartes (~520px),
   cartes serrées à hauteurs différentes (comme avant). La section s'élargit pour
   accueillir une 3e colonne quand la place le permet (3 cols écran large, 2 sinon, 1 mobile).
   Remplace la grille rigide repeat(3,1fr) qui rétrécissait les cartes. */
.reviews-section .container{max-width:1330px}
.reviews-grid.reviews-grid--flat{
  display:block;
  grid-template-columns:none;
  columns:416px 3;
  column-gap:20px;
}
.reviews-grid.reviews-grid--flat .review-card{
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  width:100%;
  margin:0 0 20px;
}

/* Avis : format d'image uniforme 3:4 (comme les originaux 500x667), recadrage propre
   via object-fit pour toutes les photos, y compris les futurs uploads de ratios variés. */
.review-img{aspect-ratio:3/4;background:#f2efe9}
.review-img img{width:100%;height:100%;object-fit:cover;display:block}

/* Avis MOBILE (<=768px) : 2 colonnes masonry (au lieu du carrousel). Optimise la longueur,
   garde le "Afficher plus" (12 visibles + reste masqué). */
@media (max-width:768px){
  .reviews-grid.reviews-grid--flat{
    display:block;
    columns:2;
    column-gap:14px;
  }
  .reviews-grid.reviews-grid--flat .review-card{
    width:100%;
    max-width:none;
    margin:0 0 14px;
    break-inside:avoid;
    scroll-snap-align:none;
  }
}

/* Avis : réduire l'espace entre la date et le bas de la carte.
   - la date, quand elle est le dernier élément (cartes SANS image), perd sa marge basse (16px)
   - padding bas de carte resserré (20 -> 14px). */
.review-card{padding:14px}
.review-card .review-date:last-child{margin-bottom:0}
.review-card .review-meta-row:last-child{margin-bottom:0}
.review-card .review-meta-row:last-child .review-date{margin-bottom:0}

/* Avis : date à la même taille que la note (13px), et resserrage en-tête -> texte. */
.review-date{font-size:13px}
.review-header{margin-bottom:6px}
/* Titres home : espace titre -> paragraphe uniformisé à 14px (H1 hero + les 2 H2 why). */
.hero h1{margin-bottom:14px}
.why-inner h2{margin-bottom:14px}

/* Avis : date alignée à gauche, en gris clair. Image au-dessus de la date (cf. markup),
   petit espace image -> date. */
.review-date{text-align:left;color:#9a9a9a}
.review-img{margin-bottom:8px}

/* Avis : ligne date + gamme produit (lien de maillage interne).
   Date à gauche, gamme discrète alignée à droite sur la même ligne. */
.review-meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.review-meta-row .review-date{margin-bottom:0}
.review-gamme{font-size:12px;font-weight:400;color:#5b6b82;text-decoration:none;white-space:nowrap}
.review-gamme:hover{color:#2f3d52;text-decoration:underline}

/* Chatwoot : pastille verte "sonar" (pulse) après le libellé "Disponible" de la bulle.
   Cible l'élément du label injecté par le SDK dans la page. */
#woot-widget--expanded__text{display:inline-flex!important;align-items:center;gap:8px}
#woot-widget--expanded__text::after{
  content:"";flex:0 0 auto;width:9px;height:9px;border-radius:50%;
  background:#2ecc71;box-shadow:0 0 0 0 rgba(46,204,113,.7);
  animation:sc-online-pulse 1.8s ease-out infinite;
}
@keyframes sc-online-pulse{
  0%{box-shadow:0 0 0 0 rgba(46,204,113,.7)}
  70%{box-shadow:0 0 0 9px rgba(46,204,113,0)}
  100%{box-shadow:0 0 0 0 rgba(46,204,113,0)}
}

/* Chatwoot MOBILE (<=768px) : bulle icône en BAS à droite, sans le texte "Disponible",
   mais on garde la pastille verte sonar. (Desktop reste en haut à droite avec le texte.) */
@media (max-width:768px){
  .woot-widget-bubble,
  .woot-widget-bubble.woot-widget--expanded,
  .woot-widget-bubble.woot--close{
    top:auto!important;bottom:16px!important;
  }
  .woot-widget-holder{top:0!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;height:100%!important;max-height:100vh!important;border-radius:0!important}
  /* masque le libellé, garde l'icône + le rond sonar */
  #woot-widget--expanded__text{font-size:0!important;gap:0!important}
  #woot-widget--expanded__text::after{margin-left:4px}
}

/* Panier : masquer le montant courant sur la jauge quand la livraison gratuite est ATTEINTE.
   Dans ce cas l'élément passe en "right:-8px" (sinon "left:X%") -> détection CSS pure,
   marche au rendu serveur ET après maj JS. Redondant une fois l'objectif atteint. */
#cart-drawer-shipping-current[style*="right"]{display:none!important}

/* Panier MOBILE : resserrer le footer (haut du bloc -> total, et total -> CTA "Finaliser"). */
@media (max-width:768px){
  .cart-drawer-footer{padding-top:6px!important}
  #cart-drawer-remise:empty,#cart-drawer-promo-msg:empty{display:none!important}
  .cart-drawer-footer .btn-primary{margin-top:6px!important}
}

/* Panier CTA : taille pilotée en CSS (l'inline 30px a été retiré du header).
   Desktop conservé ~28px ; mobile réduit. */
#cart-drawer .cart-drawer-footer .btn-primary{font-size:28px!important}

/* ===== Panier MOBILE (<=768px) : retouches ===== */
@media (max-width:768px){
  /* espace jauge -> premier article resserré */
  .cart-drawer-shipping-bar{padding-bottom:22px!important}
  /* prix de la jauge dans la typo des titres (Phudu) comme le total/articles */
  .cart-drawer-shipping-current,.cart-drawer-shipping-goal-price{font-family:var(--font-head)!important}
  /* trait sous "Découvre la gamme" supprimé */
  .sc-upsell-titre{border-bottom:none!important;padding-bottom:0!important}
  /* typos réduites : titre panier, total, CTA */
  .cart-drawer-title{font-size:22px!important}
  .cart-drawer-total{font-size:22px!important}
  #cart-drawer .cart-drawer-footer .btn-primary{font-size:18px!important;padding:14px!important}
  /* code promo réaffiché (au-dessus du total, ordre déjà bon dans le markup) */
  .cart-drawer-promo{display:flex!important}
}

/* Panier : ZONE DE TRANSITION tablette/petit desktop (768-1200px) où le tiroir est étroit
   (35vw plafonné à min-width 320px) mais les polices desktop restaient grandes -> compression
   des titres. On applique les typos compactes dès 1200px pour lisser la transition. */
@media (max-width:1200px){
  .cart-drawer-title{font-size:22px!important}
  .cart-drawer-total{font-size:22px!important}
  .cart-drawer-shipping-msg{font-size:17px!important}
  .sc-upsell-titre{font-size:22px!important}
  #cart-drawer .cart-drawer-footer .btn-primary{font-size:18px!important}
}

/* Panier : livraison gratuite ATTEINTE -> plus de labels sous la jauge, donc on retire
   l'espace réservé (padding bas) entre la jauge et le premier article.
   Détection CSS : l'icône passe en "right:-Xpx" quand atteint (sinon "left:X%"). */
.cart-drawer-shipping-bar:has(#cart-drawer-shipping-icon[style*="right"]){padding-bottom:8px!important}

/* Panier : sur MOBILE (phone, tiroir plein écran <=767px), restaurer la typo d'origine
   du titre "Mon panier" (28px) et du CTA (30px) — annule la réduction précédente.
   La zone transition 768-1200px reste compacte pour ne pas recompresser. */
@media (max-width:767px){
  .cart-drawer-title{font-size:28px!important}
  #cart-drawer .cart-drawer-footer .btn-primary{font-size:30px!important}
}

/* Pages à formulaire (contact, devenir revendeur, affiliation...) : réduire l'espace
   entre le paragraphe d'intro et le bloc formulaire (.affiliation-form margin-top 32 -> 14). */
.affiliation-form{margin-top:14px!important}

/* Articles : resserrer fil d'Ariane -> H1, et H1 -> premier contenu (paragraphe OU photo,
   ex. guide). Chaîne d'espaces réduite (breadcrumb, H1, padding header, padding 1er élément). */
.article-breadcrumb{margin-bottom:4px!important}
.article-h1{margin-bottom:6px!important}
.article-header-inner{padding-bottom:2px!important}
.article-header{padding-bottom:6px!important}
.article-body>*:first-child{padding-top:0!important}

/* Articles : un titre saisi en gras dans l'éditeur (Gutenberg) rend <h2><strong>...</strong>.
   .article-body strong{font-weight:700} rabaissait alors le titre à 700 au lieu de 900.
   -> le gras DANS un titre garde le poids du titre. */
.article-body h1 strong,.article-body h2 strong,.article-body h3 strong{font-weight:inherit}

/* Hero home : fix responsive du 1er paragraphe.
   - on neutralise les <br> manuels (calés pour le plein écran -> chevauchement en réduisant)
   - on impose une largeur max au paragraphe entier pour qu'il ne passe jamais sous le GIF
   - sous 900px : GIF masqué, hero en 1 colonne, texte pleine largeur. */
.hero-body br{display:none}
.hero-body p{max-width:90%}
@media (max-width:900px){
  .hero-img-wrap{display:none!important}
  .hero-inner{grid-template-columns:1fr!important}
  .hero-body p{max-width:none}
}

/* Home : carrousel produits « Découvre nos produits » -> 3 cartes visibles (au lieu de 4)
   sur desktop uniquement. En dessous de 900px, on garde 2 puis 1 (règles de base). */
@media (min-width:901px){
  .home-produits .boutique-piste>.product-card{flex:0 0 calc((100% - 48px)/3)}
}

/* Home carrousel : « Remise multi-parfums… » réduit et sur UNE seule ligne (cartes étroites).
   cqw = relatif à la largeur de la carte (container-type déjà posé sur .boutique-piste .product-card). */
.home-produits .product-card-multi{font-size:clamp(9px,3.7cqw,12.5px)!important;white-space:nowrap;line-height:1.3}

/* Home carrousel : marge interne sous le CTA réduite (20 -> 10px), scopé à la home. */
.home-produits .product-card-body{padding-bottom:10px}

/* Home : élargissement du bloc PRODUIT PHARE (1120 -> 1200px), sans toucher au contenu.
   Reste fluide en dessous (le container garde son padding latéral). */
.ph-section .container{max-width:1160px}

/* Produit phare : réduire le min-height de l'image (560 -> 500px) pour diminuer le vide
   sous la note CTA (le bloc élargi rendait le texte plus court que l'image). */
.ph-image{min-height:340px}

/* Produit phare : plafonner la hauteur de l'image (carré 600px en width:100% => trop haut
   quand le bloc s'élargit, ce qui laissait du vide sous le texte). Desktop uniquement.
   Ainsi c'est le TEXTE qui pilote la hauteur du bloc, plus de vide sous la note. */
@media (min-width:769px){
  .ph-image img{max-height:430px!important;object-fit:contain}
}

/* Home carrousel (bloc 3) : largeur alignée sur le bloc 2 (1160px), titre supprimé,
   flèches qui flanquent les produits (une à gauche du 1er, une à droite du dernier),
   centrées verticalement. */
.home-produits .container{max-width:1200px}
.home-produits-wrap{position:relative}
.home-produits-wrap .boutique-piste{width:100%}
.home-produits .boutique-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5}
.home-produits .boutique-nav-prev{left:-46px}
.home-produits .boutique-nav-next{right:-46px}
@media (max-width:1320px){
  .home-produits .boutique-nav-prev{left:2px}
  .home-produits .boutique-nav-next{right:2px}
}

/* Produit phare : miniatures parfum réduites d'~30% (scopé home, ne touche pas les fiches produit). */
.ph-media .product-thumbs-carrousel .product-thumb{
  width:calc(((100% - 20px)/3) * 0.7)!important;
  flex:0 0 calc(((100% - 20px)/3) * 0.7)!important;
}

/* Produit phare : miniatures centrées, photo remontée, espace photo->miniatures réduit. */
.ph-media{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:3%}
.ph-media .product-thumbs{justify-content:center}
.ph-media .ph-image{flex:0 0 auto;height:430px;min-height:0;margin:0}
.ph-media .product-thumbs-carrousel{margin-top:-8px!important}

/* Produit phare : retirer le contour de la vignette courante (les 3 miniatures sans bordure). */
.ph-media .product-thumb--flavor.is-current .product-thumb-inner{border:none!important}

/* Home carrousel : cartes FIXES au survol (pas de zoom image, pas de soulèvement/ombre). */
.home-produits .product-card,
.home-produits .product-card:hover{transform:none!important;box-shadow:none!important}
.home-produits .product-card-img img,
.home-produits .product-card:hover .product-card-img img,
.home-produits .product-card:hover .pc-img-compact{transform:none!important;transition:none!important}

/* Home carrousel : marge basse alignée sur les autres sections (52px -> 20px). */
.home-produits{margin-bottom:20px!important}

/* Home : bloc « qu'est-ce / pourquoi » -> suite de la progression de largeur (1240px). */
.why-section .container{max-width:1240px}

/* Home : section des 3 photos -> suite de la progression de largeur (1280px). */
.photos-section .container{max-width:1280px}

/* Home : espace header -> bloc « Bienvenue » ramené à 11px (= espace bandeau navy -> header). */
.hero{padding-top:11px!important}

/* Home : uniformiser l'espacement bas de la section 3 photos (40 -> 20px) comme les autres blocs. */
.photos-section{padding-bottom:20px!important}

/* Home : tous les espaces inter-blocs uniformisés à 11px (option A). */
.hero{padding-bottom:11px!important}
.ph-section{padding-bottom:11px!important}
.home-produits{margin-bottom:11px!important}
.why-section{padding-bottom:11px!important}
.photos-section{padding-bottom:11px!important}

/* Home : un peu plus d'espace au-dessus de la section 3 photos (gap why->photos ~23px). */
.photos-section{padding-top:12px!important}

/* Home : réduire l'espace entre les 3 photos et le titre avis « Ils ont tous validé… »
   (reviews padding-top 50 -> 11px). */
.reviews-section{padding-top:11px!important}

/* Home avis : même espace sous le titre « Ils ont tous validé… » qu'au-dessus (~22px). */
.reviews-section .section-title{margin-bottom:22px!important}

/* FAQ : 2 colonnes de 4, largeur alignée sur les avis (1330px). Empilé sur mobile. */
.home .faq-list{max-width:1370px!important;display:flex!important;flex-direction:row!important;gap:20px;align-items:flex-start}
.home .faq-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}
@media (max-width:1350px){ .home .faq-list{flex-direction:column!important;max-width:900px!important;margin-left:auto!important;margin-right:auto!important} .home .faq-col{width:100%!important;flex:none!important} }

/* FAQ : container élargi à la largeur des avis (1330px) — sinon le faq-list était plafonné à 1120. */
.home .faq-section .container{max-width:1370px}

/* Home : gap réduit entre « Afficher plus d'avis » et le titre FAQ (~22px). */
.reviews-section{padding-bottom:11px!important}
.faq-section{padding-top:11px!important}
/* Confiance : 4 blocs en 2x2 (grille de base 1fr 1fr conservée). */


/* Confiance : espacements alignés sur le rythme home (~22px).
   FAQ -> titre (trust padding-top), et titre -> 4 cartes (section-title bas + grid top). */
.trust-section{padding-top:22px!important}
.trust-section .section-title{margin-bottom:22px!important}
.trust-grid{margin-top:0!important}

/* Produit phare MOBILE (<=768px) : neutraliser les réglages desktop (flex-end, image 430px fixe)
   qui cassaient l'empilement. On empile image -> miniatures -> contenu, comme la fiche produit. */
@media (max-width:768px){
  .ph-media{display:block!important;padding-bottom:0!important}
  .ph-media .ph-image{height:auto!important;min-height:unset!important;flex:none!important;margin:0!important}
  .ph-media .product-thumbs-carrousel{margin-top:-6px!important}
  .ph-media .product-thumbs-carrousel .product-thumb{width:26vw!important;flex:0 0 26vw!important}
}

/* Produit phare MOBILE (<=768px) : suite fix.
   - image principale bornée (ne déborde plus)
   - espace miniatures -> contenu (annule le margin-top:-40px du contenu)
   - CTA centré */
@media (max-width:768px){
  .ph-media .ph-image img{width:100%!important;height:auto!important;max-height:55vh!important;object-fit:contain}
  .ph-section .ph-content{margin-top:-4px!important}
  .ph-content .btn-full{display:block!important;width:100%!important;text-align:center!important;margin-left:auto!important;margin-right:auto!important}
}

/* Produit phare MOBILE : centrer les miniatures de force (une règle thème les remettait à gauche). */
@media (max-width:768px){
  .ph-media .product-thumbs{justify-content:center!important}
  .ph-media .product-thumbs-carrousel,.ph-media .product-thumbs-fenetre{justify-content:center!important}
}

/* Produit phare MOBILE : centrage robuste des miniatures (fenêtre en largeur auto) + CTA qui ne déborde plus. */
@media (max-width:768px){
  .ph-media .product-thumbs-carrousel{display:flex!important;justify-content:center!important}
  .ph-media .product-thumbs-fenetre{flex:0 1 auto!important;width:auto!important;max-width:100%!important;overflow:visible!important}
  .ph-media .product-thumbs{width:auto!important;justify-content:center!important}
  .ph-content .btn-full{white-space:normal!important;font-size:22px!important;box-sizing:border-box!important;max-width:100%!important;padding:16px 12px!important}
}

/* Produit phare : CTA à la même taille que les autres CTA (24px desktop). Mobile reste 18px. */
@media (min-width:769px){ .ph-content .btn.btn-full{font-size:24px!important} }


/* Home carrousel : listes déroulantes (sélecteur quantité) en typo Phudu. */
.home-produits .product-card-select,
.home-produits .product-card-select option{font-family:var(--font-head)!important}
.home-produits .product-card-select{font-size:16px!important;font-weight:800!important}

/* Pages (articles, blog, contact, revendeur, boutique...) : resserrer header->contenu et
   contenu->footer à ~11px, comme la home. */
.contact-page{padding-top:11px!important;padding-bottom:11px!important}
.page-boutique{padding-top:11px!important;padding-bottom:11px!important}
.article-page{padding-top:11px!important}
.article-page .page-wrapper{margin-bottom:11px!important}

/* ============================================================
   Layout .article-page (articles, blog, recette, contact, revendeur)
   Source unique de vérité : 2 tokens pilotent tout.
   - --ap-inset : marge intérieure latérale de tous les cadres
   - --ap-gap   : écart vertical entre les cadres
   Modifier une valeur ici = tout le template suit, en cohérence.
   (!important conservé pour battre les styles de base recettes.css /
    recipe.css, dont certains sont eux-mêmes en !important.)
   ============================================================ */
.article-page{ --ap-inset:25px; --ap-gap:11px; }

/* Marge intérieure latérale uniforme sur tous les cadres */
.article-page .article-header-inner{padding-top:var(--ap-inset)!important;padding-left:var(--ap-inset)!important;padding-right:var(--ap-inset)!important}
.article-page .article-body{padding-left:var(--ap-inset)!important;padding-right:var(--ap-inset)!important;padding-bottom:var(--ap-inset)!important}
.article-page .jump-wrap{padding-left:var(--ap-inset)!important;padding-right:var(--ap-inset)!important}
.article-page .post-recipe{padding-left:var(--ap-inset)!important;padding-right:var(--ap-inset)!important;padding-bottom:0!important}
.article-page .wprm-recipe-container{margin:var(--ap-gap) var(--ap-inset)!important}
.article-page .sc-recipe-card{margin:0!important} /* la carte remplit son conteneur */
.article-page .cbd-disclaimer,
.article-page .similar-recipes,
.article-page .comments-block{margin-left:var(--ap-inset)!important;margin-right:var(--ap-inset)!important}

/* Écart vertical uniforme (--ap-gap) entre les cadres de la page */
.article-page .chef-notes,
.article-page .nutrition-block,
.article-page .faq-block,
.article-page .similar-recipes,
.article-page .comments-block,
.article-page .cbd-disclaimer{margin-top:var(--ap-gap)!important;margin-bottom:var(--ap-gap)!important}

/* Bandeau promo défilant : ⚡ a une avance nulle dans Phudu → superposition
   au raccord de boucle. On isole chaque emoji dans un inline-block avec la
   pile emoji SANS Phudu pour que le navigateur tombe directement sur la
   police emoji système. */
.promo-bar-track .pb-emoji{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji','Twemoji Mozilla',sans-serif;display:inline-block;min-width:1.1em;text-align:center}

/* TEST contact/revendeur (et blog) : padding interne 25px partout, comme les articles. */
.contact-card{padding:25px!important}

/* Plan du site : resserrer l'espacement entre les liens. */
.sitemap-list li{padding-top:1px!important;padding-bottom:1px!important;margin-bottom:0!important;line-height:1.35!important}

/* Panier desktop : descendre un peu le champ code promo (trop haut). */
@media (min-width:769px){ .cart-drawer-promo{margin-top:12px!important;margin-bottom:4px!important} }

/* Pages catégories produits : même typo de select que le carrousel home. */
body:is(.term-cones-thc,.term-gummies-thc,.term-huiles-thc,.term-sirops-thc) .product-card-select,
body:is(.term-cones-thc,.term-gummies-thc,.term-huiles-thc,.term-sirops-thc) .product-card-select option{font-family:var(--font-head)!important}
body:is(.term-cones-thc,.term-gummies-thc,.term-huiles-thc,.term-sirops-thc) .product-card-select{font-size:16px!important;font-weight:800!important}

/* Vidéos YouTube : wrapper responsive 16:9 autonome (indépendant du support responsive-embeds). */
.sc-video-embed{position:relative;width:100%;padding-top:56.25%;margin:16px 0 28px;border-radius:12px;overflow:hidden}
.sc-video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Catégorie : ligne texte 50% (gauche) + vidéo 50% (droite). */
.sc-cat-vrow{display:flex;gap:32px;align-items:flex-start;margin:0 0 24px}
.sc-cat-vrow .sc-cat-vtext{flex:1 1 50%;min-width:0}
.sc-cat-vrow .sc-cat-vtext>*:first-child{margin-top:0}
.sc-cat-vrow .sc-video{flex:1 1 50%;max-width:none;margin:0}
@media(max-width:768px){.sc-cat-vrow{flex-direction:column;gap:16px}.sc-cat-vrow .sc-cat-vtext,.sc-cat-vrow .sc-video{flex:1 1 auto;width:100%}}

/* Page panier : même espacement header->contenu->footer que les autres pages (11px). */
.cart-page{padding-top:11px!important;padding-bottom:11px!important}

/* Panier : espacement vertical de la colonne gauche (articles <-> coordonnées) à 11px. */
.cart-items-col{gap:11px!important}

/* Panier : écart horizontal colonne gauche <-> récap droite à 11px. */
.cart-layout{gap:11px!important}

/* Page compte : espacement 11px (header->contenu->footer + gap colonnes), comme panier/home. */
.compte-page{padding-top:11px!important;padding-bottom:11px!important}
.compte-layout{gap:11px!important}

/* Page adresses : écart entre les 2 blocs adresse à 11px. */
.compte-addresses{gap:11px!important}

/* Compte : étirer la sidebar gauche pour aligner son bas avec le bas de la colonne droite (parrainage). */
.compte-layout{align-items:stretch!important}

/* Badge "EN STOCK" carte produit (haut gauche, en face du badge 25MG/NOUVEAU) + rond sonar vert.
   Réutilise l'animation sc-online-pulse du chat. Home carrousel pour l'instant. */
.product-card-stock{position:absolute;top:14px;right:14px;z-index:2;display:inline-flex;align-items:center;gap:7px;background:var(--navy);color:#fff;font-family:var(--font-head);font-weight:800;font-size:15px;letter-spacing:1px;padding:2px 10px;border-radius:8px}
.product-card-stock::after{content:"";flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:#2ecc71;box-shadow:0 0 0 0 rgba(46,204,113,.7);animation:sc-online-pulse 1.8s ease-out infinite}

/* Home : réduire légèrement l'image du cône pour que le badge EN STOCK (haut droite) ne la chevauche pas. */
.home-produits .product-card-img[href*="cones-thc"] img{transform:scale(0.92)!important;transform-origin:center bottom}

/* Home : descendre les cubes citron (gummies) de 15px dans le carrousel. */
.home-produits .product-card-img[href*="gummies-thc-magic-cubes"] img{transform:translateY(20px)!important}

/* Home carrousel : désactiver le zoom image au survol, en gardant les réglages cône/cubes. */
.home-produits .product-card:hover .product-card-img img{transform:none!important}
.home-produits .product-card:hover .product-card-img[href*="cones-thc"] img{transform:scale(0.92)!important;transform-origin:center bottom}
.home-produits .product-card:hover .product-card-img[href*="gummies-thc-magic-cubes"] img{transform:translateY(20px)!important}

/* Home carrousel : cannabutter réduit + descendu de 10px (repos + survol). */
.home-produits .product-card-img[href*="cannabutter"] img{transform:scale(0.92) translateY(30px)!important}
.home-produits .product-card:hover .product-card-img[href*="cannabutter"] img{transform:scale(0.92) translateY(30px)!important}

/* Pages catégorie (.products-grid) : mêmes réglages images que le carrousel home. */
.products-grid .product-card-img[href*="cones-thc"] img{transform:scale(0.92)!important;transform-origin:center bottom}
.products-grid .product-card-img[href*="gummies-thc-magic-cubes"] img{transform:translateY(20px)!important}
.products-grid .product-card-img[href*="cannabutter"] img{transform:scale(0.92) translateY(30px)!important}
.products-grid .product-card:hover .product-card-img img{transform:none!important}
.products-grid .product-card:hover .product-card-img[href*="cones-thc"] img{transform:scale(0.92)!important;transform-origin:center bottom}
.products-grid .product-card:hover .product-card-img[href*="gummies-thc-magic-cubes"] img{transform:translateY(20px)!important}
.products-grid .product-card:hover .product-card-img[href*="cannabutter"] img{transform:scale(0.92) translateY(30px)!important}

/* Badge « BIENTÔT DISPONIBLE » : même style que EN STOCK mais rond sonar ROUGE. */
.product-card-stock--out::after{background:#e74c3c!important;box-shadow:0 0 0 0 rgba(231,76,60,.7);animation:sc-soon-pulse 1.8s ease-out infinite}
@keyframes sc-soon-pulse{0%{box-shadow:0 0 0 0 rgba(231,76,60,.7)}70%{box-shadow:0 0 0 9px rgba(231,76,60,0)}100%{box-shadow:0 0 0 0 rgba(231,76,60,0)}}

/* Produit épuisé : CTA "Ajouter au panier" désactivé (non cliquable). */
.product-card-cta-oos{opacity:.55;cursor:not-allowed;pointer-events:none}

/* Bandeau promo : pas de gros trou entre répétitions (espacement géré dans le texte) + vitesse -20%. */
.promo-bar-track{animation-duration:72s!important}
.promo-bar-track span{padding:0!important}

/* Pages catégorie : 11px entre les blocs (titre -> grille -> carte SEO -> FAQ). */
.page-boutique .boutique-header{margin-bottom:11px!important}
.page-boutique .category-card--content{margin-top:11px!important}
.page-boutique .product-faq{margin-top:11px!important}

/* Pages catégorie : carte d'en-tête (H1/chapo) -> grille = 11px. */
.page-boutique .category-card:not(.category-card--content){margin-bottom:11px!important}

/* Pages catégorie : écart entre les cartes produit de la grille = 11px. */
.page-boutique .products-grid{gap:11px!important}

/* Home : avis en masonry 3 colonnes (comme l'origine), écart 11px UNIFORME vertical + horizontal
   (une grille laissait des trous verticaux car les cartes ont des hauteurs différentes). */
.home .reviews-grid{display:block!important;column-count:3;column-gap:11px}
.home .reviews-grid .review-card{break-inside:avoid;-webkit-column-break-inside:avoid;width:100%;margin:0 0 11px!important}
@media(max-width:1000px){.home .reviews-grid{column-count:2}}
@media(max-width:640px){.home .reviews-grid{column-count:1}}

/* Home : 11px entre les cartes du carrousel (largeur recalculée) et entre les blocs Qu'est-ce/Pourquoi. */
.home-produits .boutique-piste{gap:11px!important}
@media(min-width:901px){.home-produits .boutique-piste>.product-card{flex:0 0 calc((100% - 22px)/3)!important}}
.why-section .why-grid{gap:11px!important}

/* Home : écart entre les 4 cartes de réassurance (bas de page) à 11px. */
.trust-section .trust-grid{gap:11px!important}


/* Carrousel home : flèches en rond navy plein, chevron blanc, plus gros. */
.home-produits .boutique-nav-btn{width:38px;height:38px;background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important;font-size:26px;font-weight:900}
.home-produits .boutique-nav-btn:hover{background:#2a2733!important;color:#fff!important}
.home-produits .boutique-nav-btn:disabled{opacity:.35;background:var(--navy)!important;color:#fff!important}

/* Produit phare : écart sous-titre "Les cônes au chocolat..." -> paragraphe = 12px
   (NE PAS toucher l'écart titre -> sous-titre). */
.home .ph-subtitle{margin-bottom:12px!important}

/* Home : réduire l'espace entre le dernier paragraphe et le CTA des blocs why. */
.why-section .why-ctas{padding-top:12px!important}

/* Home : marge interne des cartes why en 20px fixe (au lieu de 4%). */
.why-section .why-card{padding:20px!important}

/* Fiche produit : 11px entre le header (menu) et le bloc produit, + avant footer (cohérence). */
.product-page{padding-top:11px!important;padding-bottom:11px!important}

/* Fiche produit desktop : 11px entre remise multi -> paliers, entre les 4 paliers, et paliers -> CTA. */
@media (min-width:769px){
  .flavor-discount-banner{margin-bottom:-5px!important} /* flex-gap 16px - 5 = 11px, sans toucher titre/prix */
  .tiers-grid{gap:11px!important}
  .product-info .btn-product-cta{margin-top:11px!important}
}

/* Fiche produit : réduire la marge interne haut/bas des paliers (test). */
.tier-option{padding-top:10px!important;padding-bottom:10px!important}

/* Fiche produit desktop : aligner le bas des miniatures parfums sur le bas de la colonne droite
   (badges réassurance). La colonne galerie s'étire, les miniatures sont ancrées en bas. */
@media (min-width:769px){
  .product-gallery-col{align-self:stretch!important;position:static!important}
  .product-gallery-col .product-thumbs-carrousel{margin-top:auto!important}
}

/* Fiche produit desktop : réduire un peu l'image principale pour que la colonne galerie
   soit plus courte que la colonne droite -> les miniatures remontent et s'alignent sur les badges. */
@media (min-width:769px){
  .product-gallery{min-height:400px!important}
  .product-main-img-wrap img{max-height:440px!important}
}


/* Recettes (single-recette) : écart entre paragraphes réduit à 0 (au lieu de 1em = 15px). TEST 12/09. */
.single-recette .article-body p{margin-bottom:0!important}

/* Home MOBILE : gap hero→produit phare = même que header→hero (~3px). */
@media (max-width:768px){
  .hero{padding-bottom:3px!important}
}
