:root { --apple-blue: #0071e3; --apple-red: #ff3b30; --apple-gray-bg: #f5f5f7; --apple-gray-border: #d2d2d7; --apple-text: #1d1d1f; }

        .wc-pao-addons-container { opacity: 0 !important; visibility: hidden !important; transform: translateY(15px) !important; }
        body.doc2-ui-ready .wc-pao-addons-container { opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important; transition: opacity 0.5s ease-out, transform 0.5s ease-out !important; }

        form.cart .wc-pao-addon-wrap:not(.doc2-super-box) { position: relative !important; }
        form.cart .wc-pao-addon-wrap:not(.doc2-super-box) input[type="radio"],
        form.cart .wc-pao-addon-wrap:not(.doc2-super-box) input[type="checkbox"] { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; opacity: 0 !important; z-index: 99 !important; cursor: pointer !important; margin: 0 !important; padding: 0 !important; }

        form.cart label::before, form.cart label::after, form.cart .wc-pao-addon-field-label::before,
        form.cart .single_add_to_cart_button.button.alt, form.cart .product-addon-totals { display: none !important; }
        form.cart .wc-pao-addon-wrap { border: none !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; margin-bottom: 12px !important; }

        /* ── RESPONSIVE GLOBAL — tout s'adapte, rien ne déborde ── */
        form.cart * { box-sizing: border-box !important; max-width: 100% !important; }
        form.cart .wc-pao-addon-wrap:not(.doc2-super-box) label { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 14px 18px !important; background: #ffffff !important; border-radius: 12px !important; border: 1px solid var(--apple-gray-border) !important; box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important; transition: all 0.3s ease !important; cursor: pointer !important; font-weight: 600 !important; color: var(--apple-text) !important; margin: 0 !important; width: 100% !important; gap: 10px !important; flex-wrap: nowrap !important; overflow: hidden !important; }
        form.cart .d2t-icon-wrap { flex: 0 0 32px !important; width: 32px !important; height: 32px !important; min-width: 32px !important; max-width: 32px !important; flex-grow: 0 !important; flex-shrink: 0 !important; }
        form.cart .wc-pao-addon-wrap:not(.doc2-super-box) label > .d2t-icon-wrap ~ *:not(.wc-pao-addon-price) { flex: 1 1 auto !important; min-width: 0 !important; overflow-wrap: break-word !important; white-space: normal !important; font-size: clamp(11px, 1.4vw, 15px) !important; }
        form.cart .wc-pao-addon-price { display: flex !important; flex-direction: column !important; align-items: flex-end !important; gap: 2px !important; flex: 0 0 auto !important; max-width: 45% !important; min-width: 0 !important; text-align: right !important; }
        form.cart .d2t-eco-badge { white-space: normal !important; flex-wrap: wrap !important; max-width: 100% !important; font-size: clamp(7px, 0.9vw, 9px) !important; padding: 1px 5px !important; line-height: 1.3 !important; }
        form.cart .d2t-eco-badge img { height: 10px !important; flex-shrink: 0 !important; }
        form.cart .d2t-price-row { display: flex !important; align-items: center !important; gap: 3px !important; flex-wrap: nowrap !important; white-space: nowrap !important; }
        form.cart .d2t-price-old { font-size: 11px !important; }
        form.cart .d2t-price-new { font-size: clamp(11px, 1.3vw, 14px) !important; font-weight: 700 !important; }
        /* Virer le paragraphe Apporter / Envoyer */
        form.cart .wc-pao-addon-wrap p { display: none !important; }
        form.cart .wc-pao-addon-wrap:not(.doc2-super-box) label:hover { border-color: var(--apple-red) !important; transform: translateY(-3px) !important; box-shadow: 0 8px 20px rgba(0,0,0,0.15) !important; }
        form.cart .wc-pao-addon-wrap.is-selected:not(.doc2-super-box) label { border: 2px solid var(--apple-blue) !important; box-shadow: 0 0 0 1px var(--apple-blue) !important; background: #fff !important; transform: translateY(0) !important; }

        form.cart .wc-pao-addon-price { display: flex !important; flex-direction: column !important; align-items: flex-end !important; gap: 3px !important; flex-shrink: 0 !important; flex-grow: 0 !important; margin-left: 8px !important; max-width: 45% !important; }
        form.cart .wc-pao-addon-price * { max-width: 100% !important; }
        form.cart .wc-pao-addon-price::before { content: none !important; }
        form.cart .d2t-eco-badge { display: inline-flex !important; align-items: center !important; gap: 4px !important; background: #fff !important; border: 0.5px solid #20bb50 !important; border-radius: 20px !important; padding: 2px 6px !important; font-size: 9px !important; font-weight: 600 !important; color: #20bb50 !important; white-space: nowrap !important; max-width: 100% !important; overflow: hidden !important; }
        form.cart .d2t-eco-badge img { height: 11px !important; width: auto !important; flex-shrink: 0 !important; }
        form.cart .d2t-price-row { display: inline-flex !important; align-items: center !important; gap: 4px !important; flex-wrap: nowrap !important; justify-content: flex-end !important; }
        form.cart .d2t-price-old { font-size: 11px !important; color: #999 !important; text-decoration: line-through !important; text-decoration-thickness: 1px !important; font-weight: 400 !important; }
        form.cart .d2t-price-arrow { font-size: 10px !important; color: #20bb50 !important; font-weight: 700 !important; }
        form.cart .d2t-price-new { font-size: 14px !important; font-weight: 700 !important; color: #1d1d1f !important; white-space: nowrap !important; }

        form.cart .wc-pao-addon-wrap.doc2-super-box { background-color: #ffffff !important; border: 1px solid var(--apple-gray-border) !important; border-radius: 12px !important; padding: 22px 28px !important; overflow: visible !important; box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important; display: block !important; width: 100% !important; box-sizing: border-box !important; transition: all 0.3s ease !important; margin-bottom: 12px !important; }
        form.cart .wc-pao-addon-wrap.doc2-super-box:hover { border-color: var(--apple-red) !important; transform: translateY(-3px) !important; box-shadow: 0 8px 20px rgba(0,0,0,0.15) !important; }
        form.cart .wc-pao-addon-wrap.doc2-super-box.doc2-box-active { border: 2px solid var(--apple-blue) !important; box-shadow: 0 0 0 1px var(--apple-blue) !important; transform: translateY(0) !important; }
        form.cart .doc2-super-box .doc2-hide-title { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; margin-bottom: 12px !important; pointer-events: none !important; display: block !important; color: var(--apple-text) !important; font-weight: 600 !important; }

        /* Masquer tous les messages natifs WC PAO et WC Bookings */
        .wc-pao-validation-notice { display: none !important; }
        .woocommerce-booking-error { display: none !important; }
        .wc-bookings-booking-form .wc-booking-error { display: none !important; }
        form.cart h2 { font-size: 22px !important; font-weight: 700 !important; }
        form.cart input.wc-pao-addon-custom-text { display: block !important; width: 100% !important; height: 50px !important; padding: 0 20px !important; background: var(--apple-gray-bg) !important; border-radius: 8px !important; border: 1.5px solid transparent !important; font-size: 15px !important; font-weight: 600 !important; color: var(--apple-text) !important; outline: none !important; transition: border-color 0.2s ease !important; }
        .apple-input-wrapper { position: relative !important; width: 100% !important; margin: 0 !important; }
        .apple-input-wrapper.is-active input.wc-pao-addon-custom-text { background: var(--apple-gray-bg) !important; border-color: var(--apple-blue) !important; }
        .apple-input-wrapper.is-active .apple-fake-placeholder { opacity: 0 !important; visibility: hidden !important; }
        .apple-fake-placeholder { position: absolute; left: 20px; right: 0; top: 0; bottom: 0; display: flex; align-items: center; pointer-events: none; overflow: hidden; transition: opacity 0.2s ease; }
        .apple-placeholder-fixed { color: #999; font-size: 14px; padding-right: 12px; flex-shrink: 0; position: relative; z-index: 2; }
        .apple-placeholder-anim { color: #aaa; font-size: 14px; white-space: nowrap; position: relative; z-index: 2; }

        form.cart .doc2-swatches-grid { display: flex !important; flex-wrap: wrap !important; gap: 28px !important; align-items: center !important; margin-top: 8px !important; border: none !important; padding: 8px !important; }
        form.cart a.wc-pao-addon-image-swatch { border-radius:50% !important; clip-path:circle(50% at 50% 50%) !important; border:none !important; background:transparent !important; padding:0 !important; margin-right:12px !important; display:inline-block !important; transition:transform 0.3s ease !important; box-shadow:none !important; position:relative; z-index:100 !important; }
        form.cart a.doc2-color-btn img { border-radius:50% !important; width:48px !important; height:48px !important; display:block !important; border:2px solid #e2e8f0 !important; padding:2px !important; background-color:#fff !important; transition:border-color 0.3s ease, border-width 0.1s ease !important; box-sizing:border-box !important; object-fit:cover !important; }
        form.cart a.doc2-color-btn:hover, form.cart a.doc2-color-btn.selected { transform:scale(1.1) !important; }
        form.cart a.doc2-color-btn:hover img { border-color:#ff0000 !important; }
        form.cart a.doc2-color-btn.selected img { border-color:#007aff !important; border-width:3px !important; }
        .d2t-lv-card.sel-ap, .d2t-lv-card.sel-en { border: 2px solid var(--apple-blue) !important; box-shadow: 0 0 0 3px rgba(0,113,227,0.2) !important; background: #fff !important; transform: translateY(0) !important; }
        form.cart a.doc2-shipping-btn { border-radius: 12px !important; clip-path: none !important; }
        form.cart a.doc2-shipping-btn img { border-radius: 12px !important; width: 65px !important; height: auto !important; display: block !important; border: 2px solid #e2e8f0 !important; padding: 6px !important; background-color: #fff !important; transition: all 0.3s ease !important; box-sizing: border-box !important; }
        form.cart a.doc2-shipping-btn:hover, form.cart a.doc2-shipping-btn.selected { transform: translateY(-4px) !important; }
        form.cart a.doc2-shipping-btn:hover img { border-color: #ff0000 !important; box-shadow: none !important; }
        form.cart a.doc2-shipping-btn.selected img { border-color: #007aff !important; border-width: 2px !important; box-shadow: 0 0 0 1px #007aff !important; }
        form.cart .wc-pao-addon-image-swatch-selected-swatch { width: 100% !important; display: block !important; margin-top: 10px !important; font-size: 14px !important; font-weight: 500 !important; color: var(--apple-text) !important; clear: both !important; }

        #live-recap-container { background: #fff !important; border-radius: 14px !important; border: 1px solid #e5e5e7 !important; box-shadow: 0 4px 16px rgba(0,0,0,0.10) !important; margin: 30px 0 130px 0 !important; width: 100% !important; box-sizing: border-box; overflow: hidden; padding: 0 !important; }
        .recap-head { padding: 14px 18px; background: #0071e3; border-bottom: none; display: flex !important; justify-content: space-between !important; align-items: flex-start !important; }
        .recap-head-left { flex: 1; }
        .recap-head-ref { font-size: 10px; font-weight: 500; color: rgba(255,255,255,0.7); background: rgba(255,255,255,0.15); border-radius: 5px; padding: 2px 7px; white-space: nowrap; flex-shrink: 0; margin-top: 2px; line-height: 1.2; }
        .recap-main-title { font-size: 11px; font-weight: 700; text-transform: uppercase; color: rgba(255,255,255,0.7); letter-spacing: 0.5px; display: block; }
        .recap-model-name { font-size: 14px; font-weight: 700; color: #fff; display: block; margin-top: 2px; }
        .recap-sep { padding: 6px 18px; background: #f9f9f9; font-size: 10px; font-weight: 700; text-transform: uppercase; color: #86868b; letter-spacing: 0.4px; border-bottom: 0.5px solid #ebebeb; border-top: 0.5px solid #ebebeb; }
        .recap-row { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 12px 18px !important; border-bottom: 0.5px solid #ebebeb !important; font-size: 13px; color: #1d1d1f; gap: 12px; background: #fff; }
        .recap-row:last-child { border-bottom: none !important; }
        .d2t-recap-remove { background: none; border: none; color: #c7c7cc; font-size: 13px; cursor: pointer; padding: 0 0 0 8px; line-height: 1; flex-shrink: 0; transition: color .15s; }
        .d2t-recap-remove:hover { color: #e63030; }
        .d2t-recap-modifier { background: none; border: 0.5px solid #0071e3; color: #0071e3; font-size: 9px; font-weight: 600; border-radius: 5px; padding: 2px 6px; cursor: pointer; white-space: nowrap; transition: all .15s; }
        .d2t-recap-modifier:hover { background: #0071e3; color: #fff; }
        .recap-eco-tag { display: inline-flex; align-items: center; gap: 3px; background: #fff; border: 0.5px solid #20bb50; border-radius: 20px; padding: 1px 7px; font-size: 9px; font-weight: 700; color: #20bb50; white-space: nowrap; }
        .recap-price-old { font-size: 12px; color: #999; text-decoration: line-through; text-decoration-thickness: 1px; }
        .recap-price-new { font-size: 14px; font-weight: 700; color: #1d1d1f; }
        .recap-mode { padding: 8px 18px 10px 18px; background: #f0faf4; border-top: 1px solid #34c759; }
        .recap-mode-title { font-size: 12px; font-weight: 700; color: #1a7a3a; }
        .recap-mode-sub { font-size: 11px; color: #2e9e50; margin-top: 2px; margin-bottom: 4px; }

        #apple-floating-dock { position: fixed !important; bottom: 20px !important; left: 50% !important; transform: translateX(-50%) translateY(200px); width: 100% !important; max-width: 1240px !important; box-sizing: border-box !important; background: rgba(255,255,255,0.98) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; border: 1px solid var(--apple-gray-border) !important; border-radius: 18px !important; padding: 12px 50px !important; z-index: 100 !important; box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important; transition: transform 0.4s cubic-bezier(0.16,1,0.3,1) !important; }
        body.dock-open #apple-floating-dock { transform: translateX(-50%) translateY(0) !important; }
        .dock-price-label { font-size: 12px; font-weight: 600; color: #86868b; display: block; margin-bottom: 2px; }
        .dock-price-val { font-size: 28px; font-weight: 700; color: #000; letter-spacing: -1px; line-height: 1.1; }
        .dock-ttc { font-size: 13px; font-weight: 600; color: #86868b; margin-left: 5px; }
        .btn-apple-reserve { background: #d1d1d6 !important; color: #fff !important; border-radius: 12px !important; height: 46px !important; padding: 0 50px !important; border: none !important; font-weight: 700 !important; font-size: 16px !important; cursor: pointer !important; transition: background 0.3s ease, transform 0.6s ease !important; }
        .btn-apple-reserve.ready { background: var(--apple-blue) !important; animation: d2t-pulse-btn 1.8s ease-in-out infinite !important; }
        .btn-apple-reserve.ready:active { transform: scale(0.94) !important; animation: none !important; }
        @keyframes d2t-pulse-btn { 0%{transform:scale(1);box-shadow:0 0 0 0 rgba(0,113,227,0.4)} 50%{transform:scale(1.04);box-shadow:0 0 0 8px rgba(0,113,227,0)} 100%{transform:scale(1);box-shadow:0 0 0 0 rgba(0,113,227,0)} }

        /* ── NUMÉROS DE MODÈLES + REF ── */
        .reassurance { display: none !important; }
        p.ref { display: none !important; }
        span[style*="background:#0071e3"][style*="Certifié"],
        .recap-mode span[style*="0071e3"],
        .d2t-lv-step-li span[style*="0071e3"],
        .d2t-lv-body span[style*="0071e3"] { line-height: 1.2 !important; height: auto !important; } */
        #wc-bookings-booking-form { display: none !important; }
        #wc-bookings-booking-form .wc-bookings-date-picker-timezone-block,
        #wc-bookings-booking-form .booking_reservation_cost,
        #wc-bookings-booking-form .wc-bookings-date-picker-date-fields,
        #wc-bookings-booking-form .wc-bookings-date-picker-date-label,
        #wc-bookings-booking-form span.label,
        #wc-bookings-booking-form .timezone-details,
        #wc-bookings-booking-form .wc-bookings-booking-cost { display: none !important; }
        #wc-bookings-booking-form .block-picker { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 10px !important; max-height: 200px !important; overflow-y: scroll !important; padding: 14px !important; background: #f5f5f7 !important; list-style: none !important; margin-top: 8px !important; scrollbar-width: auto !important; scrollbar-color: #c7c7cc #f5f5f7 !important; }
        #wc-bookings-booking-form .block-picker::-webkit-scrollbar { width: 6px !important; display: block !important; }
        #wc-bookings-booking-form .block-picker::-webkit-scrollbar-track { background: #e5e5e7 !important; border-radius: 3px !important; }
        #wc-bookings-booking-form .block-picker::-webkit-scrollbar-thumb { background: #b0b0b5 !important; border-radius: 3px !important; }
        #wc-bookings-booking-form .block-picker li { display: block !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }
        #wc-bookings-booking-form .block-picker li a { display: block !important; text-align: center !important; padding: 10px 4px !important; border-radius: 12px !important; border: 1.5px solid #e0e0e0 !important; font-size: 13px !important; font-weight: 600 !important; color: #1d1d1f !important; background: #fff !important; text-decoration: none !important; }
        #wc-bookings-booking-form .block-picker li a { transition: all 0.15s ease !important; }
        #wc-bookings-booking-form .block-picker li a:hover { background: #e8f1fb !important; border-color: #0071e3 !important; color: #0071e3 !important; transform: scale(1.04) !important; }
        #wc-bookings-booking-form .block-picker li.selected a { background: #0071e3 !important; color: #fff !important; border-color: #0071e3 !important; }

        /* ── CARDS LIVRAISON ── */
        #d2t-livraison-wrap { display: none; width: 100%; margin-bottom: 12px; box-sizing: border-box; }
        #d2t-livraison-wrap.show { display: block; }
        .d2t-lv-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); align-items: stretch; gap: 12px; margin-bottom: 12px; }
        @media(max-width:600px){ .d2t-lv-cards { grid-template-columns: 1fr !important; } }
        .d2t-ou-sep { display: none !important; }
        form.cart .wc-pao-addon-wrap.doc2-super-box .doc2-hide-title { display: none !important; }
        /* Masquer les swatches Apporter/Envoyer — les cartes les remplacent */
        form.cart a.doc2-shipping-btn { display: none !important; }
        form.cart .wc-pao-addon-image-swatch-selected-swatch { display: none !important; }
        /* Masquer le wrap livraison entier si toutes les images sont shipping */
        form.cart .doc2-super-box.d2t-shipping-wrap { display: none !important; }
        /* Fix overflow texte cartes */
        .d2t-lv-head { min-width: 0; overflow: visible !important; }
        .d2t-lv-head-text { min-width: 0 !important; flex: 1 1 0 !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; }
        .d2t-lv-cname { white-space: normal !important; word-break: break-word !important; line-height: 1.3 !important; width: 100% !important; }
        .d2t-lv-csub { white-space: normal !important; word-break: break-word !important; width: 100% !important; }
        .d2t-lv-step-li { white-space: normal !important; word-break: break-word !important; min-width: 0 !important; }
        .d2t-lv-step-li span { min-width: 0 !important; word-break: break-word !important; }
        .d2t-lv-step-li > div { min-width: 0 !important; word-break: break-word !important; overflow: visible !important; }
        .d2t-lv-step-li > div > div { overflow: visible !important; }
        .d2t-lv-step-li > div > div > div { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; overflow: visible !important; }
        .d2t-lv-rdv-tag { display: inline-flex !important; align-self: flex-start !important; width: auto !important; max-width: 100% !important; box-sizing: border-box !important; flex-wrap: wrap !important; gap: 4px !important; overflow: hidden !important; padding: 4px 8px !important; margin-top: 6px !important; }
        .d2t-lv-rdv-tag-en { display: inline-flex !important; align-self: flex-start !important; width: auto !important; max-width: 100% !important; box-sizing: border-box !important; flex-wrap: wrap !important; gap: 4px !important; overflow: hidden !important; padding: 4px 8px !important; margin-top: 6px !important; }
        .d2t-lv-rdv-tag span, .d2t-lv-rdv-tag-en span { white-space: normal !important; word-break: break-word !important; min-width: 0 !important; }
        .d2t-lv-rdv-tag svg, .d2t-lv-rdv-tag-en svg { flex-shrink: 0 !important; }
        .d2t-lv-addr { overflow: hidden !important; max-width: 100% !important; }
        .d2t-lv-addr-row { flex-wrap: nowrap !important; }
        .d2t-lv-addr-row svg.d2t-lv-badge-svg { flex-shrink: 0 !important; flex-grow: 0 !important; align-self: flex-start !important; width: 14px !important; }
        .d2t-lv-addr-line { white-space: normal !important; word-break: break-word !important; }
        .d2t-lv-mb { overflow: hidden !important; }
        .d2t-lv-pills { flex-wrap: wrap !important; }
        .d2t-lv-card { border-radius: 14px; overflow: hidden; border: 1px solid var(--apple-gray-border); cursor: pointer; background: #fff; box-sizing: border-box; display: flex; flex-direction: column; box-shadow: 0 4px 12px rgba(0,0,0,0.1); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); min-width: 0; word-break: break-word; overflow-wrap: break-word; }
        .d2t-lv-head { padding: 14px 16px 10px; display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
        .d2t-lv-head-text { min-width: 0; flex: 1; overflow: hidden; }
        .d2t-lv-cname { font-size: 15px; font-weight: 700; color: #1d1d1f; white-space: normal; word-break: break-word; }
        .d2t-lv-csub { font-size: 12px; color: #86868b; margin-top: 2px; white-space: normal; }
        .d2t-lv-body { padding: 0 16px 14px; flex: 1; display: flex; flex-direction: column; min-width: 0; }
        .d2t-lv-steps { list-style: none; display: flex; flex-direction: column; gap: 6px; flex: 1; }
        .d2t-lv-step-li { display: flex; align-items: flex-start; gap: 6px; font-size: 11px; color: #86868b; line-height: 1.4; min-width: 0; word-break: break-word; }
        .d2t-lv-step-li b { color: #1d1d1f; font-weight: 600; min-width: 12px; flex-shrink: 0; padding-top: 1px; }
        .d2t-lv-step-li span, .d2t-lv-step-li div { min-width: 0; word-break: break-word; flex: 1; }
        .d2t-lv-card:hover { border-color: var(--apple-red) !important; transform: translateY(-3px) !important; box-shadow: 0 8px 20px rgba(0,0,0,0.15) !important; }
        .d2t-lv-card.sel-ap { border: 2px solid var(--apple-blue) !important; box-shadow: 0 0 0 1px var(--apple-blue) !important; background: #fff !important; transform: translateY(0) !important; }
        .d2t-lv-card.sel-ap:hover { border-color: var(--apple-blue) !important; transform: translateY(0) !important; box-shadow: 0 0 0 1px var(--apple-blue) !important; }
        .d2t-lv-card.sel-en { border: 2px solid var(--apple-blue) !important; box-shadow: 0 0 0 1px var(--apple-blue) !important; background: #fff !important; transform: translateY(0) !important; }
        .d2t-lv-card.sel-en:hover { border-color: var(--apple-blue) !important; transform: translateY(0) !important; box-shadow: 0 0 0 1px var(--apple-blue) !important; }
        .d2t-lv-card.d2t-grayed { opacity: 0.35; filter: grayscale(20%); }
        .d2t-lv-card.d2t-grayed:hover { opacity: 0.7; filter: none; border-color: #ff3b30; transform: translateY(-3px); box-shadow: 0 8px 20px rgba(255,59,48,0.10); }
        @keyframes d2t-pulse-ap { 0%{transform:translateY(0) scale(1)} 50%{transform:translateY(-5px) scale(1.02)} 100%{transform:translateY(-2px) scale(1)} }
        @keyframes d2t-pulse-en { 0%{transform:translateY(0) scale(1)} 50%{transform:translateY(-5px) scale(1.02)} 100%{transform:translateY(-2px) scale(1)} }
        .d2t-lv-card.sel-en .d2t-lv-step-li { color: #2e7d32 !important; }
        .d2t-lv-card.sel-en .d2t-lv-step-li b { color: #1a5c28 !important; }
        .d2t-lv-card.sel-en .d2t-lv-mb { background: #ddf5e2 !important; border-color: #a0d9af !important; }
        .d2t-lv-card.sel-en .d2t-lv-addr-name { color: #1a5c28 !important; }
        .d2t-lv-card.sel-en .d2t-lv-addr-line { color: #52a06b !important; }
        .d2t-lv-icon { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform 0.2s ease; }
        .d2t-lv-icon svg { width: 18px; height: 18px; }
        .d2t-lv-card:hover .d2t-lv-icon, .d2t-lv-card.sel-ap .d2t-lv-icon, .d2t-lv-card.sel-en .d2t-lv-icon { transform: scale(1.12); }
        .d2t-lv-rdv-tag { display: inline-flex; align-items: flex-start; flex-wrap: wrap; gap: 4px; background: #0071e3; border-radius: 8px; padding: 4px 7px; margin-top: 6px; margin-left: -2px; max-width: 100%; box-sizing: border-box; }
        .d2t-lv-rdv-tag-en { display: inline-flex; align-items: flex-start; flex-wrap: wrap; gap: 4px; background: #34c759; border-radius: 8px; padding: 4px 7px; margin-top: 6px; margin-left: -2px; max-width: 100%; box-sizing: border-box; }
        .d2t-lv-rdv-tag-en svg { width: 13px; height: 13px; flex-shrink: 0; }
        .d2t-lv-rdv-tag-en span { font-size: 10px; font-weight: 600; color: #fff; white-space: normal; word-break: break-word; }
        .d2t-lv-rdv-tag svg { width: 11px; height: 11px; flex-shrink: 0; }
        .d2t-lv-rdv-tag span { font-size: 10px; font-weight: 600; color: #fff; white-space: normal; word-break: break-word; }
        .d2t-lv-step-li b { color: #1d1d1f; font-weight: 600; min-width: 12px; flex-shrink: 0; padding-top: 1px; }
        .d2t-lv-addr { margin-top: 3px; min-width: 0; overflow: hidden; }
        .d2t-lv-addr-row { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
        .d2t-lv-addr-name { font-size: 11px; font-weight: 600; color: #1d1d1f; white-space: nowrap; }
        .d2t-lv-badge-svg { width: 14px; height: 14px; flex-shrink: 0; vertical-align: middle; }
        .d2t-lv-addr-line { font-size: 10px; color: #86868b; margin-top: 1px; }
        .d2t-lv-mb { margin-top: auto; padding: 8px 10px; border-radius: 10px; }
        .d2t-lv-mb-ap { background: #e8f1fb; border: 0.5px solid #b5d4f4; }
        .d2t-lv-mb-en { background: #f0faf4; border: 0.5px solid #c5e8cc; }
        .d2t-lv-pills { display: flex; justify-content: center; flex-wrap: nowrap; gap: 10px; margin-bottom: 8px; align-items: center; white-space: nowrap; }
        .d2t-lv-pill { display: flex; align-items: center; gap: 3px; font-size: 10px; font-weight: 600; }
        .d2t-lv-pill svg { width: 11px; height: 11px; flex-shrink: 0; }
        .d2t-lv-pill-ap { color: #0c447c; }
        .d2t-lv-pill-en { color: #1a7a3a; }
        .d2t-lv-logo-row { display: flex; align-items: center; justify-content: center; padding-top: 7px; border-top: 0.5px solid rgba(0,0,0,0.07); }
        .d2t-lv-logo-row img { height: 32px; width: auto; filter: drop-shadow(0 4px 12px rgba(0,0,0,0.1)); }
        #d2t-model-block img[alt="QualiRépar"] { filter: drop-shadow(0 4px 12px rgba(0,0,0,0.1)); }
        form.cart .d2t-eco-badge img { filter: drop-shadow(0 3px 8px rgba(0,0,0,0.12)); }

        /* ── BANDES CONFIRMATION ── */
        .d2t-conf-ap { display: none !important; height: 0; margin: 0; padding: 0; border: 0; overflow: hidden; }
        @keyframes d2t-slidedown { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }
        .d2t-conf-ap.active { display: none !important; }
        .d2t-conf-en { display: none !important; height: 0; margin: 0; padding: 0; border: 0; overflow: hidden; }
        .d2t-conf-en.active { display: none !important; }
        .d2t-conf-en.active { display: none !important; }
        .d2t-conf-head-ap { display: flex; align-items: center; justify-content: space-between; padding: 13px 16px; background: #f0faf4; }
        .d2t-conf-head-en { display: flex; align-items: center; justify-content: space-between; padding: 13px 16px; background: #f0faf4; }
        .d2t-conf-left { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1; }
        .d2t-chk-green { width: 26px; height: 26px; border-radius: 50%; background: #34c759; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
        .d2t-chk-blue { width: 26px; height: 26px; border-radius: 50%; background: #0071e3; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
        .d2t-chk-green svg, .d2t-chk-blue svg { width: 13px; height: 13px; }
        .d2t-conf-txt-ap { font-size: 14px; font-weight: 700; color: #1a7a3a; }
        .d2t-conf-sub-ap { font-size: 11px; color: #2e9e50; margin-top: 1px; }
        .d2t-conf-txt-en { font-size: 14px; font-weight: 700; color: #1a7a3a; }
        .d2t-conf-sub-en { font-size: 11px; color: #2e9e50; margin-top: 1px; }
        .d2t-btn-mod { font-size: 11px; font-weight: 600; color: #2e9e50; border: 1px solid #34c759; border-radius: 8px; padding: 4px 12px; background: transparent; cursor: pointer; white-space: nowrap; flex-shrink: 0; display: none; }
        .d2t-badge-strip { display: flex; align-items: center; padding: 8px 16px; background: #eef4ff; border-top: 1px solid #c5d8f8; gap: 8px; flex-wrap: wrap; }
        .d2t-strip-left { display: flex; align-items: center; gap: 6px; flex: 1; flex-wrap: wrap; }
        .d2t-shopico { width: 20px; height: 20px; background: #0071e3; border-radius: 5px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
        .d2t-shopico svg { width: 11px; height: 11px; }
        .d2t-sname { font-size: 9px; font-weight: 700; color: #0c447c; white-space: nowrap; }
        .d2t-vsep { width: 1px; height: 12px; background: #c5d8f8; flex-shrink: 0; }
        .d2t-bis { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
        .d2t-bi { display: flex; align-items: center; gap: 3px; font-size: 9px; font-weight: 500; color: #185fa5; white-space: nowrap; }
        .d2t-bi svg { width: 10px; height: 10px; flex-shrink: 0; }

        /* ── CAPSULE RDV ── */
        #d2t-rdv-capsule { display: none; flex-direction: column; padding: 0; background: #f0faf4; border: 1px solid #34c759; border-radius: 14px; margin-top: 10px; box-sizing: border-box; width: 100%; overflow: hidden; }
        #d2t-rdv-capsule .d2t-rdv-row { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; }
        #d2t-rdv-capsule .d2t-capsule-left { display: flex; align-items: center; gap: 10px; }
        #d2t-rdv-capsule .d2t-check { width: 28px; height: 28px; border-radius: 50%; background: #34c759; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
        #d2t-rdv-capsule .d2t-check svg { width: 14px; height: 14px; display: block; }
        #d2t-rdv-capsule .d2t-rdv-text { font-size: 13px; font-weight: 600; color: #1a7a3a; }
        #d2t-rdv-capsule .d2t-rdv-sub { font-size: 11px; color: #2e9e50; margin-top: 1px; }
        #d2t-rdv-capsule .d2t-modif-btn { font-size: 12px; font-weight: 600; color: #2e9e50; border: 1px solid #34c759; border-radius: 8px; padding: 5px 12px; background: transparent; cursor: pointer; white-space: nowrap; }
        #d2t-rdv-capsule .d2t-modif-btn:hover { background: #e6f7ec; }
        #d2t-rdv-capsule .d2t-badge-row { display: flex; align-items: center; justify-content: space-between; padding: 8px 16px; background: #eef4ff; border-top: 1px solid #c5d8f8; flex-wrap: wrap; gap: 8px; }
        #d2t-rdv-capsule .d2t-badge-left { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
        #d2t-rdv-capsule .d2t-shop { display: flex; align-items: center; gap: 6px; }
        #d2t-rdv-capsule .d2t-shop-icon { width: 22px; height: 22px; background: #0071e3; border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
        #d2t-rdv-capsule .d2t-shop-icon svg { width: 12px; height: 12px; }
        #d2t-rdv-capsule .d2t-shop-name { font-size: 11px; font-weight: 700; color: #0c447c; letter-spacing: 0.2px; }
        #d2t-rdv-capsule .d2t-vsep { width: 1px; height: 16px; background: #c5d8f8; flex-shrink: 0; }
        #d2t-rdv-capsule .d2t-badge-items { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
        #d2t-rdv-capsule .d2t-bi { display: flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 500; color: #185fa5; }
        #d2t-rdv-capsule .d2t-bi svg { width: 12px; height: 12px; flex-shrink: 0; }
        #d2t-rdv-capsule .d2t-qr-logo { height: 38px; width: auto; display: block; flex-shrink: 0; }