/* Original cart and checkout layout recovered from the project archive dated 2026-10-07.
   Kept separate from the Astro bundle so resource builds cannot discard it. */
body.no-scroll,body:has(.cart-modal.open) { overflow:hidden }
.back-page { border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;height:4rem;min-width:4rem;-webkit-transition:background-color .325s;transition:background-color .325s;width:4rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center }
.back-page:after { background:url(../../../dispo-theme/public/img/icons/arrow-right.svg) no-repeat 50%/2.7rem;content:"";height:2.7rem;-webkit-transform:rotate(180deg);transform:rotate(180deg);width:2.7rem }
@media (hover:hover) {
.back-page:hover { background-color:var(--color-bg-divider) }
}
.free-shipping { display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap }
.free-shipping__progress { background:var(--color-text-gray-2);border-radius:1rem;height:1.5rem;overflow:hidden;position:relative;width:100%;z-index:1 }
@media (max-width:559.98px) {
.free-shipping__progress { height:1rem }
}
.free-shipping__indicator { background:var(--color-text-strong);height:100%;width:var(--w) }
.free-shipping__price { font-size:1.8rem;font-weight:600;line-height:120%;margin-bottom:.5rem }
.free-shipping__price.min { -webkit-transform:translateX(-50%);transform:translateX(-50%) }
@media (max-width:1023.98px) {
.free-shipping__price { font-size:1.5rem }
}
@media (max-width:559.98px) {
.free-shipping__price { font-size:1.2rem }
}
.free-shipping .min { margin:0 auto }
.free-shipping .min:before { left:calc(50% - .4rem) }
.free-shipping .max { margin-right:0 }
.free-shipping .max:before { right:.4rem }
.free-shipping__label { font-size:1.8rem;font-weight:600;line-height:120%;padding-top:2rem;position:relative }
@media (max-width:1023.98px) {
.free-shipping__label { font-size:1.5rem }
}
@media (max-width:559.98px) {
.free-shipping__label { font-size:1.2rem;padding-top:1.2rem }
}
.free-shipping__label:before { background:var(--color-text-gray-2);border-radius:.5rem;content:"";height:3rem;position:absolute;top:-1.5rem;width:.8rem }
@media (max-width:559.98px) {
.free-shipping__label:before { height:1.5rem;top:-.9rem;width:.4rem }
}
.select2 { display:block }
.select2.select2-container--open .select2-selection--single { -webkit-box-shadow:0 4px 15px 0 rgba(0,0,0,.07);box-shadow:0 4px 15px 0 rgba(0,0,0,.07) }
.select2.select2-container--open .select2-selection__arrow { -webkit-transform:rotateX(180deg);transform:rotateX(180deg) }
.select2.select2-container--focus .select2-selection__rendered { color:var(--color-text-strong)!important }
.select2 .select2-selection--single { background:transparent;border:.1rem solid var(--color-border-gray-1);border-radius:1.5rem!important;color:var(--color-text-gray-3);display:-webkit-box;display:-ms-flexbox;display:flex;height:6rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-shadow:0 4px 15px 0 transparent;box-shadow:0 4px 15px 0 transparent;-webkit-transition:-webkit-box-shadow .325s;transition:-webkit-box-shadow .325s;transition:box-shadow .325s;transition:box-shadow .325s,-webkit-box-shadow .325s }
@media (max-width:767.98px) {
.select2 .select2-selection--single { height:4.4rem }
}
@media (max-width:559.98px) {
.select2 .select2-selection--single { border-radius:1rem!important;height:4rem }
}
.select2 .select2-selection__rendered { color:var(--color-text-gray-3)!important;font-size:1.8rem;max-width:100%;padding:0 4rem 0 2rem!important;width:100% }
@media (max-width:767.98px) {
.select2 .select2-selection__rendered { font-size:1.6rem }
}
@media (max-width:559.98px) {
.select2 .select2-selection__rendered { font-size:1.4rem }
}
.select2 .select2-selection__arrow { height:2.4rem!important;right:14px!important;top:18px!important;-webkit-transition:-webkit-transform .325s;transition:-webkit-transform .325s;transition:transform .325s;transition:transform .325s,-webkit-transform .325s;width:2.4rem!important }
@media (max-width:767.98px) {
.select2 .select2-selection__arrow { font-size:1.1rem }
}
@media (max-width:559.98px) {
.select2 .select2-selection__arrow { font-size:.9rem }
}
.select2 .select2-selection__arrow:before { background-image:url(../../../dispo-theme/public/img/icons/select-chevron.svg);background-position:50%;background-repeat:no-repeat;background-size:2.1rem;content:"";display:block;height:2.4rem;opacity:.55;pointer-events:none;-webkit-transform:rotateX(0deg);transform:rotateX(0deg);-webkit-transition:all .5s;transition:all .5s;width:2.4rem;z-index:1 }
.select2 .select2-selection__arrow b { display:none }
.select2-container .select2-dropdown { background-color:var(--color-gray-100);border:.1rem solid var(--color-border-gray-1);border-radius:1.5rem;-webkit-box-shadow:0 4px 15px 0 rgba(0,0,0,.07);box-shadow:0 4px 15px 0 rgba(0,0,0,.07);padding:2rem }
@media (max-width:559.98px) {
.select2-container .select2-dropdown { border-radius:1rem }
}
.select2-container .select2-dropdown--below { -webkit-transform:translateY(1rem);transform:translateY(1rem) }
.select2-container .select2-dropdown--above { -webkit-transform:translateY(-1rem);transform:translateY(-1rem) }
.select2-container .select2-search__field { border-color:var(--color-border-gray-1)!important;border-radius:1.5rem;font-size:1.8rem;height:3.8rem;padding:.2rem 2rem }
.select2-container .select2-results__option { border-radius:1rem;font-size:2.6rem;font-style:normal;line-height:normal;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;padding:.25rem 1rem }
@media (max-width:767.98px) {
.select2-container .select2-results__option { font-size:1.8rem }
}
.select2-container .select2-results__option.select2-results__option--highlighted { background-color:var(--color-gray-200);color:var(--color-text-muted) }
.select2-container .select2-container--default .select2-results__option[aria-selected=true],.select2-container .select2-container--default .select2-results__option[data-selected=true] { background-color:var(--color-primary) }
.select2-container .select2-results__options::-webkit-scrollbar { background-color:var(--color-gray-300);border-radius:.3rem;width:.3rem }
.select2-container .select2-results__options::-webkit-scrollbar-thumb { background:var(--color-text-strong);border-radius:.3rem }
.header__basket .cart-count { background-color:var(--color-bg-inverted);border-radius:1.6rem;color:var(--color-text-inverted);display:-webkit-box;display:-ms-flexbox;display:flex;font-size:1.1rem;font-weight:700;line-height:100%;position:absolute;right:0;top:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-shadow:0 0 0 .2rem var(--color-bg-surface);box-shadow:0 0 0 .2rem var(--color-bg-surface);height:1.6rem;justify-content:center;min-width:1.6rem;padding:0 .4rem;text-align:center }
@media (max-width:639.98px) {
.header__basket .cart-count { font-size:.9rem;height:1.4rem;min-width:1.4rem }
}
.cart-modal { backdrop-filter:none;background:rgba(0,0,0,.4);display:block;left:0;opacity:0;padding:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:9991 }
.cart-modal.open { opacity:1;pointer-events:auto }
.cart-modal .checkout__aside { margin:auto 0 auto auto;position:relative }
.cart-modal .checkout__title { display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;gap:2.8rem;justify-content:space-between }
.cart-modal .checkout__body { height:calc(var(--vh, 1vh)*100 - 14.6rem);overflow-x:hidden;overflow-y:auto;padding-bottom:15.5rem }
.cart-modal__close { cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;height:4.5rem;min-width:4.5rem;right:2rem;top:3.8rem;width:4.5rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;border-radius:50%;justify-content:center;-webkit-transition:background .325s;transition:background .325s }
@media (max-width:1279.98px) {
.cart-modal__close { right:1.2rem;top:1.8rem }
}
@media (max-width:559.98px) {
.cart-modal__close { right:1.6rem;top:2.8rem }
}
.cart-modal__close img { height:auto;width:3rem }
@media (hover:hover) {
.cart-modal__close:hover { background-color:var(--color-bg-divider) }
}
.cart-modal__foot { bottom:0;left:5rem;padding-bottom:5rem;position:absolute;right:5rem;z-index:5 }
.cart-modal__foot .button { width:100% }
.cart-modal__empty { text-align:center }
.cart-modal__empty p { color:var(--color-text-gray-1);font-size:2.8rem }
@media (max-width:1023.98px) {
.cart-modal__empty p { font-size:2.6rem }
}
@media (max-width:639.98px) {
.cart-modal__empty p { font-size:2.4rem }
}
@media (max-width:1279.98px) {
.cart-modal .checkout__aside { max-width:50rem;min-width:50rem }
.cart-modal .checkout__body { height:calc(var(--vh, 1vh)*100 - 10.6rem);padding-bottom:11rem }
.cart-modal__foot { left:2.4rem;padding-bottom:2.4rem;right:2.4rem }
}
@media (max-width:1023.98px) {
.cart-modal .checkout__aside { border-radius:3rem 0 0 3rem }
.cart-modal__foot { padding-bottom:2rem }
.cart-modal .button--order { font-size:2.2rem;min-height:4.8rem }
.cart-modal .checkout__body { padding-bottom:6rem }
}
@media (max-width:559.98px) {
.cart-modal { background:var(--color-bg-surface);padding-top:2.3rem }
.cart-modal .checkout__aside { -webkit-box-shadow:0 0 30px 0 rgba(0,0,0,.15);box-shadow:0 0 30px 0 rgba(0,0,0,.15);height:calc(var(--vh, 1vh)*100 - 2.3rem);max-width:100%;min-width:0;padding:3rem 1.5rem 4rem }
.cart-modal .checkout__aside,.cart-modal__foot { background:var(--color-bg-surface);border-radius:3rem 3rem 0 0 }
.cart-modal__foot { -webkit-box-shadow:0 0 30px 0 rgba(0,0,0,.05);box-shadow:0 0 30px 0 rgba(0,0,0,.05);left:0;padding:1rem 1.5rem;right:0 }
.cart-modal .checkout__title { padding-left:0!important }
.cart-modal__close { height:2.4rem;min-width:2.4rem;width:2.4rem }
.cart-modal .checkout__body { height:calc(var(--vh, 1vh)*100 - 13.6rem);padding-bottom:0 }
.cart-modal .button--order { font-size:1.6rem;min-height:4rem }
}
.checkout { display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;background:var(--color-gray-100);gap:10rem;justify-content:space-between;padding-bottom:4.7rem;padding-left:10rem }
.checkout .woocommerce-billing-fields__field-wrapper,.checkout .woocommerce-shipping-fields__field-wrapper { display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:1rem }
.checkout .woocommerce-shipping-fields { margin-top:3rem }
.checkout .woocommerce-additional-fields { margin-top:1.4rem }
.checkout .payment_methods label,.checkout .woocommerce-shipping-methods label { cursor:pointer }
.checkout .payment_methods li,.checkout .woocommerce-shipping-methods li { margin-top:1.5rem }
.checkout .payment_methods li input,.checkout .woocommerce-shipping-methods li input { display:none }
.checkout .payment_methods li label,.checkout .woocommerce-shipping-methods li label { cursor:pointer;font-size:1.8rem;font-weight:600;line-height:110%;padding-left:3.6rem;position:relative }
.checkout .payment_methods li label:before,.checkout .woocommerce-shipping-methods li label:before { border:.1rem solid var(--color-border-gray-1);border-radius:50%;content:"";height:2rem;left:0;position:absolute;top:.2rem;-webkit-transition:border-width .325s;transition:border-width .325s;width:2rem }
@media (max-width:559.98px) {
.checkout .payment_methods li label:before,.checkout .woocommerce-shipping-methods li label:before { top:-.1rem }
}
.checkout .payment_methods li:has(input:checked) label:before,.checkout .woocommerce-shipping-methods li:has(input:checked) label:before { border-color:var(--color-bg-inverted);border-width:.6rem }
.checkout .payment_methods-shipping-methods,.checkout .woocommerce-shipping-methods-shipping-methods { display:-webkit-box;display:-ms-flexbox;display:flex;gap:2.4rem }
@media (max-width:559.98px) {
.checkout .payment_methods-shipping-methods,.checkout .woocommerce-shipping-methods-shipping-methods { -webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:0 }
}
.checkout .payment_methods { margin-bottom:4rem }
.checkout .payment_methods .payment_box { padding-left:3.6rem }
.checkout #billing_country_field strong,.checkout #shipping_country_field strong { display:block;font-size:inherit;font-weight:inherit;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap }
.checkout .back-page { margin-top:4.8rem }
.checkout__main { padding-top:4.8rem;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin-left:0;margin-right:auto;max-width:65rem }
.checkout__aside { background:var(--color-bg-surface);border-radius:5rem 0 0 5rem;height:100%;max-width:70rem;min-height:10rem;width:100% }
.checkout__aside .checkout__title { border-bottom:.1rem solid var(--color-border-gray-1);margin-bottom:0;padding:5rem }
.checkout__aside.sticky { max-height:100vh;overflow-x:hidden;overflow-y:auto;position:sticky;top:0 }
.checkout__aside-item { padding:3rem 5rem }
.checkout__aside-item:not(:last-of-type) { border-bottom:.1rem solid var(--color-border-gray-1) }
.checkout__aside .free-shipping { margin-bottom:5rem }
.checkout__title { font-family:DegularDisplay;font-size:4rem;font-weight:900;line-height:74%;margin-bottom:3rem;text-transform:uppercase }
.checkout__subtitle { font-size:2.4rem;font-weight:600;line-height:120% }
.checkout__item { margin-bottom:5rem }
.checkout__item:last-of-type { margin-bottom:0 }
.checkout__item:first-of-type { max-width:47.5rem }
.checkout__item--payment { margin-top:5rem }
.checkout .form-field { margin:0;width:100% }
.checkout .form-field:has(.form-field__radio) { -webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2rem;margin-bottom:3rem;margin-top:3rem }
.checkout .form-field .form-field__radio:not(:last-of-type) { margin-bottom:.2rem }
.checkout .form-field+.form-field__checkbox { margin-top:3rem }
@media (max-width:559.98px) {
.checkout .form-field+.form-field__checkbox { margin-top:1rem }
}
.checkout .form-field.w-33 { width:calc(33.333% - .67rem) }
@media (max-width:639.98px) {
.checkout .form-field.w-33 { width:calc(50% - .5rem) }
}
.checkout .form-field.w-50 { width:calc(50% - .5rem) }
@media (max-width:639.98px) {
.checkout .form-field.w-50 { width:100% }
}
.checkout .form-field__checkbox a { color:var(--color-text-gray-1);text-decoration:underline }
@media (hover:hover) {
.checkout .form-field__checkbox a:hover { color:var(--color-forest-deep) }
}
.checkout .form-field__checkbox:not(:last-of-type) { margin-bottom:1.7rem }
@media (max-width:559.98px) {
.checkout .form-field__checkbox:not(:last-of-type) { margin-bottom:1rem }
}
.checkout .form-field__checkbox:last-of-type { margin-bottom:3rem }
.checkout .form-field__checkbox+.form-field { margin-top:3rem }
@media (max-width:559.98px) {
.checkout .form-field__checkbox+.form-field { margin-top:2rem }
}
.checkout__payment { display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:2rem }
.checkout .button--order { width:100% }
.checkout__product { display:-webkit-box;display:-ms-flexbox;display:flex;gap:2rem }
.checkout__product:not(:last-of-type) { margin-bottom:3rem }
.checkout__product-img { background:var(--color-gray-100);border-radius:2.2rem;height:12rem;min-width:13rem;overflow:hidden;width:13rem }
.checkout__product-img img { display:block;height:100%;-o-object-fit:cover;object-fit:cover;width:100% }
.checkout__product-inner { -webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;fap:1rem;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between }
.checkout__product-col,.checkout__product-inner { display:-webkit-box;display:-ms-flexbox;display:flex }
.checkout__product-col { -webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100% }
.checkout__product-title { color:var(--color-text-strong);font-size:2.4rem;line-height:120% }
.checkout__product-text { color:var(--color-text-muted);font-size:2.2rem;line-height:120%;margin-bottom:1.2rem }
.checkout__product-price { font-size:2.4rem;font-weight:600;line-height:normal;margin-bottom:0;margin-top:auto }
.checkout__product-remove { border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;height:3.4rem;margin-left:auto;margin-right:0;padding:0;-webkit-transition:background .325s;transition:background .325s;width:3.4rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center }
@media (hover:hover) {
.checkout__product-remove:hover { background-color:var(--color-bg-divider) }
.checkout__product-remove:hover img { -webkit-filter:brightness(.5);filter:brightness(.5) }
}
.checkout__product-remove img { height:auto;-webkit-transition:-webkit-filter .325s;transition:-webkit-filter .325s;transition:filter .325s;transition:filter .325s,-webkit-filter .325s;width:2.4rem }
.checkout__product .product-count { background:var(--color-text-gray-2);border-radius:1.2rem;margin-bottom:0;margin-top:auto;padding:0 .8rem }
.checkout__product .product-count__input { font-size:1.6rem;height:2.4rem }
.checkout__coupon { display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:1rem;margin-top:1.5rem }
.checkout__coupon-input { border-radius:2.5rem;padding:1rem 3rem;-webkit-box-flex:1;-ms-flex-positive:1;background:var(--color-gray-100);border:.1rem solid var(--color-border-gray-1);color:var(--color-text-strong);flex-grow:1;font-size:1.8rem;height:5rem;width:calc(100% - 22.5rem) }
.checkout__coupon-input::-webkit-input-placeholder { color:var(--color-text-gray-3) }
.checkout__coupon-input::-moz-placeholder { color:var(--color-text-gray-3) }
.checkout__coupon-input:-ms-input-placeholder { color:var(--color-text-gray-3) }
.checkout__coupon-input::-ms-input-placeholder { color:var(--color-text-gray-3) }
.checkout__coupon-input::placeholder { color:var(--color-text-gray-3) }
.checkout__coupon-submit { background:var(--color-button-primary);border-radius:2.5rem;color:var(--color-text-strong);font-family:DMSans;font-size:1.8rem;font-weight:400;min-width:21.5rem;text-transform:none;width:21.5rem }
.checkout__coupon-submit:disabled { background:var(--color-gray-100);border:.1rem solid var(--color-border-gray-1);opacity:1;pointer-events:none }
@media (hover:hover) {
.checkout__coupon-submit:hover { background:var(--color-button-primary-hover);color:var(--color-text-inverted) }
}
.checkout__coupon .coupon-message { border-radius:2rem;width:100% }
.checkout__info { font-size:1.8rem;font-weight:600;line-height:120%;margin-top:3rem }
.checkout__info-row { display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:1rem;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between }
.checkout__info-row:not(:last-of-type) { margin-bottom:1.5rem }
.checkout__info-row.cart-discount .woocommerce-remove-coupon { position:absolute;right:0;top:50%;-webkit-transform:translateY(-54%);transform:translateY(-54%) }
.checkout__info-row.cart-discount .checkout__info-col:last-of-type { padding-right:4.1rem;position:relative }
.checkout__info-row.shipping .checkout__info-col:first-of-type { display:none }
.checkout .woocommerce-privacy-policy-text a { color:var(--color-text-gray-1);text-decoration:underline }
@media (hover:hover) {
.checkout .woocommerce-privacy-policy-text a:hover { color:var(--color-forest-deep) }
}
.checkout__delivery { font-size:1.8rem;line-height:120%;margin-top:1.5rem;padding-left:3.4rem;position:relative }
.checkout__delivery a { color:var(--color-text-gray-1);text-decoration:underline }
@media (hover:hover) {
.checkout__delivery a:hover { color:var(--color-forest-deep) }
}
.checkout__delivery:before { background:url(../../../dispo-theme/public/img/icons/delivery-truck.svg) no-repeat 50%/auto;content:"";height:2.4rem;left:0;min-width:2.4rem;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:2.4rem }
.checkout__total { display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:1rem;-webkit-box-pack:justify;-ms-flex-pack:justify;font-size:2.4rem;font-weight:600;justify-content:space-between;line-height:120%;margin-top:3rem }
.checkout #payment { margin-top:2.8rem }
@media (max-width:1679.98px) {
.checkout__aside { max-width:60rem;min-width:60rem }
}
@media (max-width:1499.98px) {
.checkout { gap:5rem;padding-left:5rem }
.checkout__aside { max-width:55rem;min-width:55rem }
.checkout__item:first-of-type { max-width:100% }
}
@media (max-width:1279.98px) {
.checkout { gap:4rem;padding-left:4rem }
.checkout__aside { border-radius:4rem 0 0 4rem;max-width:45rem;min-width:45rem }
.checkout__aside .checkout__title,.checkout__aside-item { padding:3rem 2.4rem }
.checkout__coupon-submit { width:100% }
.checkout__product-img { height:9rem;min-width:10rem;width:10rem }
.checkout__product-title { font-size:2rem }
.checkout__product-text { font-size:1.8rem }
.checkout__title { font-size:3.6rem }
.checkout__delivery { font-size:1.5rem }
}
@media (max-width:1023.98px) {
.checkout { -ms-flex-wrap:wrap;flex-wrap:wrap;gap:3rem;padding:3rem 3rem 9rem }
.checkout__main { max-width:none;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin-top:2rem;padding-top:0 }
.checkout .back-page { -webkit-box-ordinal-group:-1;-ms-flex-order:-2;margin-top:0;order:-2 }
.checkout__aside { -webkit-box-ordinal-group:0;-ms-flex-order:-1;border-radius:3rem;max-width:100%;min-width:100%;order:-1 }
.checkout__title { font-size:3.4rem }
.checkout__coupon { -ms-flex-wrap:nowrap;flex-wrap:nowrap }
.checkout__coupon-submit { min-width:16rem;width:16rem }
.checkout .button--order { bottom:3rem;left:3rem;position:fixed;right:3rem;width:auto;z-index:9 }
}
@media (max-width:767.98px) {
.checkout__title { font-size:3.2rem }
.checkout .button--order { font-size:2rem;min-height:5.2rem }
.checkout__coupon-input { font-size:1.4rem;height:4rem;padding:.8rem 2rem }
.checkout__coupon-submit { font-size:1.4rem;min-height:4rem;min-width:10.5rem;width:10.5rem }
}
@media (max-width:559.98px) {
.checkout { background:var(--color-bg-surface);padding:5.3rem 1.5rem 4rem }
.checkout .back-page { height:2.4rem;left:1.5rem;min-width:2.4rem;position:absolute;top:5.15rem;width:2.4rem }
.checkout .back-page:after { background-size:1.8rem }
.checkout__coupon-input { height:3rem }
.checkout__coupon-submit { min-height:3rem }
.checkout__aside { background:transparent }
.checkout__aside .free-shipping { margin-bottom:3rem }
.checkout__aside-item { padding:3rem 0 }
.checkout__aside .checkout__title { border-bottom:0;margin-bottom:0;padding:0 0 0 3.4rem }
.checkout__title { font-size:3rem }
.checkout__product { gap:1rem }
.checkout__product:not(:last-of-type) { margin-bottom:2rem }
.checkout__product-img { background:var(--color-gray-200);border-radius:1.1rem;height:8rem;min-width:8rem;width:8rem }
.checkout__product-title { font-size:1.6rem }
.checkout__product-text { font-size:1.4rem }
.checkout__product-price,.checkout__subtitle { font-size:1.6rem }
.checkout__info { font-size:1.4rem }
.checkout__info-row:not(:last-of-type) { margin-bottom:1rem }
.checkout__delivery { font-size:1.2rem;margin-top:1rem }
.checkout .button--order { bottom:1rem;font-size:1.6rem;left:1.5rem;min-height:4rem;right:1.5rem }
.checkout__total { font-size:1.6rem }
.checkout .form-field:has(.form-field__radio) { gap:1.3rem;margin-bottom:2rem;margin-top:2rem }
.checkout .form-field__radio { margin-bottom:0 }
}

/* Original shared form controls used by checkout. */
.form-field{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:1rem}
.form-field__label{font-size:2.4rem;font-weight:600;line-height:120%;width:100%}
@media (max-width:767.98px){.form-field__label{font-size:2rem}}
@media (max-width:559.98px){.form-field__label{font-size:1.6rem}}
.form-field__wrap{position:relative;width:100%}
.form-field__wrap.w-50{width:calc(50% - .5rem)}
@media (max-width:559.98px){.form-field__wrap.w-50{width:100%}}
.form-field__wrap.w-33{width:calc(33.333% - .67rem)}
@media (max-width:559.98px){.form-field__wrap.w-33{width:calc(50% - .5rem)}}
.form-field__wrap.blocked:after,.form-field__wrap.question:after{content:"";height:2rem;position:absolute;right:2rem;top:2rem;width:2rem}
@media (max-width:767.98px){.form-field__wrap.blocked:after,.form-field__wrap.question:after{right:1.2rem;top:1.2rem}}
@media (max-width:559.98px){.form-field__wrap.blocked:after,.form-field__wrap.question:after{right:1.1rem;top:1.1rem}}
.form-field__wrap.blocked input{padding-right:4.8rem}
.form-field__wrap.blocked:after{background:url(../../../dispo-theme/public/img/icons/lock.svg) no-repeat 50%/auto}
.form-field__wrap.question input{padding-right:4.8rem}
.form-field__wrap.question:after{background:url(../../../dispo-theme/public/img/icons/question.svg) no-repeat 50%/auto}
.form-field__input{background:transparent;border:.1rem solid var(--color-border-gray-1);border-radius:1.5rem;color:var(--color-text-strong);font-size:1.8rem;font-weight:400;height:6rem;line-height:120%;padding:1.8rem 2rem;width:100%}
.form-field__input::-webkit-input-placeholder{color:var(--color-text-gray-3)}
.form-field__input::-moz-placeholder{color:var(--color-text-gray-3)}
.form-field__input:-ms-input-placeholder{color:var(--color-text-gray-3)}
.form-field__input::-ms-input-placeholder{color:var(--color-text-gray-3)}
.form-field__input::placeholder{color:var(--color-text-gray-3)}
.form-field__input.w-50{width:calc(50% - .5rem)}
@media (max-width:559.98px){.form-field__input.w-50{width:100%}}
.form-field__input.w-33{width:calc(33.333% - .67rem)}
@media (max-width:559.98px){.form-field__input.w-33{width:calc(50% - .5rem)}}
@media (max-width:767.98px){.form-field__input{border-radius:1.2rem;font-size:1.6rem;height:4.4rem;padding:1.2rem 1.6rem}}
@media (max-width:559.98px){.form-field__input{border-radius:1rem;font-size:1.4rem;height:4rem}}
.form-field textarea{height:18rem;resize:none}
@media (max-width:559.98px){.form-field textarea{height:12rem}}
.form-field__radio{cursor:pointer;display:block;line-height:120%;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;min-height:2rem;padding-left:4rem;padding-top:.1rem;position:relative}
@media (max-width:767.98px){.form-field__radio{padding-left:3rem}}
@media (hover:hover){.form-field__radio:hover:before{border-color:var(--color-bg-inverted)}}
.form-field__radio-input{display:none}
.form-field__radio:before{border:.1rem solid var(--color-border-gray-1);border-radius:50%;content:"";height:2rem;left:0;position:absolute;top:0;-webkit-transition:border-width .1s,border-color .325s;transition:border-width .1s,border-color .325s;width:2rem}
.form-field__radio:has(input:checked):before{border-color:var(--color-bg-inverted);border-width:.6rem}
.form-field__radio span{font-size:1.8rem}
@media (max-width:767.98px){.form-field__radio span{font-size:1.6rem}}
@media (max-width:559.98px){.form-field__radio span{font-size:1.4rem}}
.form-field__checkbox{cursor:pointer;display:block;font-size:1.8rem;line-height:normal;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;padding-left:3rem;position:relative}
@media (max-width:767.98px){.form-field__checkbox{font-size:1.6rem}}
@media (max-width:559.98px){.form-field__checkbox{font-size:1.2rem;padding-top:.4rem}}
@media (hover:hover){.form-field__checkbox:hover:before{border-color:var(--color-bg-divider)}}
.form-field__checkbox:has(input:checked):before{background-color:var(--color-gray-300);background-size:1.2rem;border-color:var(--color-bg-divider)}
.form-field__checkbox input{display:none}
.form-field__checkbox:before{background-image:url(../../../dispo-theme/public/img/icons/check.svg);background-position:50%;background-repeat:no-repeat;background-size:0;border:.1rem solid var(--color-border-gray-1);border-radius:.4rem;content:"";height:2rem;left:0;position:absolute;top:.1rem;-webkit-transition:all .325s;transition:all .325s;width:2rem}

/* Checkout uses a dedicated header without the storefront navigation. */
body.woocommerce-checkout:not(.woocommerce-order-received) main { padding-top: 0; }

/* Original phone selector and dropdown styles. */
.phone-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;gap:1rem;position:relative;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;z-index:3}
.phone-wrapper.open{z-index:6}
.phone-wrapper.open .phone-dropdown{opacity:1;pointer-events:auto}
.phone-wrapper.open .phone-selected{-webkit-box-shadow:0 4px 15px 0 rgba(0,0,0,.07);box-shadow:0 4px 15px 0 rgba(0,0,0,.07)}
.phone-wrapper.open .phone-selected:after{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}
.phone-wrapper .phone-selected{background:var(--color-gray-100);border:.1rem solid var(--color-border-gray-1);border-radius:1.5rem;-webkit-box-shadow:0 0 0 0 transparent;box-shadow:0 0 0 0 transparent;display:-webkit-box;display:-ms-flexbox;display:flex;height:6rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;font-size:1.8rem;gap:.5rem;min-width:9rem;padding:1rem 5.5rem 1rem 1rem;position:relative;-webkit-transition:-webkit-box-shadow .325s;transition:-webkit-box-shadow .325s;transition:box-shadow .325s;transition:box-shadow .325s,-webkit-box-shadow .325s}
@media (max-width:767.98px){.phone-wrapper .phone-selected{font-size:1.6rem;height:4.4rem}}
@media (max-width:559.98px){.phone-wrapper .phone-selected{border-radius:1rem;height:4rem}}
.phone-wrapper .phone-selected:after{background-image:url(../../../dispo-theme/public/img/icons/select-chevron.svg);background-position:50%;background-repeat:no-repeat;background-size:1.8rem;content:"";height:2.4rem;opacity:.55;pointer-events:none;position:absolute;right:1rem;top:1.8rem;-webkit-transform:rotateX(0deg);transform:rotateX(0deg);-webkit-transition:all .5s;transition:all .5s;width:2.4rem;z-index:1}
@media (max-width:767.98px){.phone-wrapper .phone-selected:after{top:1rem}}
@media (max-width:559.98px){.phone-wrapper .phone-selected:after{top:.8rem}}
.phone-wrapper .phone-selected span:first-of-type{font-family:Twemoji Country Flags}
.phone-wrapper .phone-dropdown,.phone-wrapper input[type=tel]{opacity:0;pointer-events:none;position:absolute}
.phone-wrapper .phone-dropdown{background:var(--color-gray-100);border:.1rem solid var(--color-border-gray-1);border-radius:1.5rem;-webkit-box-shadow:0 .6rem 2.3rem 0 rgba(0,0,0,.07);box-shadow:0 .6rem 2.3rem 0 rgba(0,0,0,.07);left:0;margin-top:1rem;padding:1.5rem .7rem;top:100%;-webkit-transition:opacity .325s;transition:opacity .325s}
@media (max-width:559.98px){.phone-wrapper .phone-dropdown{width:100%}}
.phone-wrapper .phone-dropdown .phone-list{max-height:22.5rem;overflow-x:hidden;overflow-y:auto;padding-right:1.6rem}
.phone-wrapper .phone-dropdown .phone-list::-webkit-scrollbar{background-color:var(--color-gray-300);border-radius:.3rem;width:.3rem}
.phone-wrapper .phone-dropdown .phone-list::-webkit-scrollbar-thumb{background:var(--color-text-strong);border-radius:.3rem}
.phone-wrapper .phone-dropdown li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:1rem;cursor:pointer;font-size:2.6rem;gap:.7rem;height:3.6rem;line-height:120%;padding:0 .7rem;-webkit-transition:background .325s,color .325s;transition:background .325s,color .325s}
.phone-wrapper .phone-dropdown li:not(:last-of-type){margin-bottom:1.2rem}
@media (max-width:767.98px){.phone-wrapper .phone-dropdown li{font-size:2rem}}
@media (hover:hover){.phone-wrapper .phone-dropdown li:hover{background:var(--color-gray-200);color:var(--color-text-muted)}}
.phone-wrapper .phone-dropdown li span:first-of-type{font-family:Twemoji Country Flags}
.phone-wrapper .phone-input-ui{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}
@font-face{font-display:swap;font-family:TwemojiCountryFlags;font-style:normal;font-weight:400;src:url(../../../dispo-theme/public/fonts/TwemojiCountryFlags.woff2) format("woff2")}

/* SelectWoo owns the field border; its wrapper must not add input padding. */
.checkout .form-field .select2-selection--single {
    position: relative;
}
.checkout .form-field .select2-selection__arrow {
    top: 50% !important;
    margin-top: -1.2rem;
}

/* Compact carrier cards and pickup selector, scoped to the checkout summary. */
.checkout .dispo-shipping-packages .woocommerce-shipping-methods li {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 10px;
    padding: 12px 14px;
    border: 1px solid var(--color-border-gray-1);
    border-radius: 16px;
}
.checkout .dispo-shipping-packages .woocommerce-shipping-methods li:has(input:checked) {
    background: var(--color-bg-surface);
    border-color: var(--color-text-strong);
}
.checkout .dispo-shipping-packages .woocommerce-shipping-methods label {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 44px;
    padding-left: 32px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
}
.checkout .dispo-shipping-packages .woocommerce-shipping-methods label:before {
    top: 12px;
}
.checkout .dispo-shipping-packages label .amount {
    margin-left: auto;
    white-space: nowrap;
    font-weight: 600;
}
.checkout .packetery-widget-button-wrapper {
    flex-basis: 100%;
    min-width: 0;
}
.checkout .packeta-widget.after-rate {
    margin: 0;
    padding: 0;
}
.checkout .packeta-widget.after-rate .packeta-widget-button {
    display: flex;
    align-items: center;
    gap: 10px;
}
.checkout .packeta-widget.after-rate .packeta-widget-button img {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    margin: 0;
    border-radius: 6px;
}
body .checkout .packeta-widget.after-rate .packeta-widget-button button.button.alt {
    width: auto;
    flex: 1;
    min-width: 0;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid var(--color-text-strong);
    border-radius: 24px;
    background: var(--color-text-strong);
    color: var(--color-bg-surface);
    font-family: DMSans, sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    text-transform: none;
    letter-spacing: normal;
    cursor: pointer;
}
body .checkout .packeta-widget.after-rate .packeta-widget-button button.button.alt:hover {
    background: var(--color-bg-surface);
    color: var(--color-text-strong);
}
body .checkout .packeta-widget.after-rate .packeta-widget-button button.button.alt:focus-visible {
    outline: 2px solid var(--color-text-strong);
    outline-offset: 3px;
}
.checkout .packeta-widget.after-rate p {
    font-size: 14px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.checkout .packeta-widget.after-rate .packeta-widget-place:not(:empty),
.checkout .packeta-widget.after-rate .packeta-widget-selected-address:not(:empty) {
    margin: 12px 0 2px;
    font-weight: 600;
}
.checkout .dispo-packeta-loading {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    line-height: 1.4;
}
.checkout .packeta-widget-button[aria-busy=true] button {
    cursor: progress;
    opacity: .7;
}
@media (max-width:559.98px) {
    .checkout .dispo-shipping-packages .woocommerce-shipping-methods li {
        padding: 10px;
    }
    .checkout .dispo-shipping-packages .woocommerce-shipping-methods label {
        font-size: 14px;
    }
}

/* Selected address values use the input text color; only prompts stay muted. */
.checkout .select2 .select2-selection__rendered {
    color: var(--color-text-strong) !important;
}
.checkout .select2 .select2-selection__placeholder {
    color: var(--color-text-gray-3) !important;
}

/* Delivery first, with optional separate billing and one contact block. */
.checkout .woocommerce-shipping-fields { margin-top: 0; }
.checkout #dispo-billing-address[hidden],
.checkout #ship-to-different-address-checkbox { display: none !important; }
.checkout .dispo-billing-same-row { margin: 24px 0; }
.checkout .dispo-billing-same-row label { display: flex; gap: 10px; align-items: center; line-height: 1.4; }
.checkout .dispo-checkout-contact { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.checkout .dispo-checkout-contact .form-row { width: 100%; }
.checkout .dispo-phone-selected { flex: 0 0 auto; }
.checkout .dispo-phone-country[hidden] { display: none !important; }
.checkout .dispo-phone-selected:focus-within {
    outline: 2px solid var(--color-text-strong);
    outline-offset: 2px;
}
.checkout .dispo-phone-wrapper > input:not([type=hidden]) { flex: 1; min-width: 0; }
@media (max-width:559.98px) {
    .checkout .dispo-billing-same-row { margin: 20px 0; }
}

.checkout .dispo-billing-same-row input[type=checkbox] {
    display: block;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 0;
    opacity: 1;
    position: static;
}
.checkout .dispo-billing-same-row label::before,
.checkout .dispo-billing-same-row label span::before { content: none; }

.checkout .dispo-billing-same-row label { padding: 0; min-height: 44px; }

/* Branded phone-country popover: flags, full country names and dial codes. */
.checkout button.dispo-phone-selected {
    color: var(--color-text-strong);
    font-family: DMSans, sans-serif;
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
}
.checkout .dispo-phone-dropdown {
    z-index: 20;
    width: min(360px, 100%);
    padding: 10px;
    background: var(--color-bg-surface);
}
.checkout .dispo-phone-dropdown[hidden],
.checkout .dispo-phone-dropdown [hidden] { display: none !important; }
.checkout .dispo-phone-search {
    width: 100%;
    height: 44px;
    padding: 8px 12px;
    font-size: 14px;
    margin-bottom: 8px;
}
.checkout .dispo-phone-dropdown .phone-list { margin: 0; padding: 0 4px 0 0; max-height: 260px; list-style: none; }
.checkout .dispo-phone-dropdown li { padding: 0; height: auto; margin: 0; }
.checkout .dispo-phone-dropdown li:not(:last-of-type) { margin-bottom: 2px; }
.checkout .dispo-phone-option {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 44px;
    padding: 8px 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--color-text-strong);
    font-family: DMSans, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    text-transform: none;
    text-align: left;
    cursor: pointer;
}
.checkout .dispo-phone-option:hover,
.checkout .dispo-phone-option:focus-visible,
.checkout .dispo-phone-option[aria-selected=true] { background: var(--color-bg-divider); }
.checkout .dispo-phone-option:focus-visible { outline: 2px solid var(--color-text-strong); outline-offset: -2px; }
.checkout .dispo-phone-name { flex: 1; min-width: 0; }
.checkout .dispo-phone-dial { white-space: nowrap; }
.checkout .dispo-phone-flag { font-family: TwemojiCountryFlags, sans-serif; font-size: 18px; }
.checkout .dispo-phone-empty { margin: 12px; font-size: 14px; }
.checkout .dispo-phone-selected span:first-of-type,
.checkout .dispo-phone-dropdown .dispo-phone-option .dispo-phone-flag {
    font-family: TwemojiCountryFlags, sans-serif;
}

/* Keep carrier radios keyboard accessible while labels draw the branded controls. */
.checkout .dispo-shipping-packages .woocommerce-shipping-methods input[type="radio"] {
    display: block;
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
.checkout .dispo-shipping-packages .woocommerce-shipping-methods li:has(input:focus-visible) label {
    outline: 2px solid var(--color-text-strong);
    outline-offset: 3px;
    border-radius: 8px;
}

/* Align threshold prices, ticks and labels to monetary positions in every language. */
.free-shipping { display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto }
.free-shipping__progress { grid-area:2 / 1 }
.free-shipping__price { grid-area:1 / 1 }
.free-shipping__label { grid-area:3 / 1 }
.free-shipping .min { margin:0;position:relative;left:var(--shipping-position);transform:translateX(-50%);width:max-content;max-width:70%;text-align:center }
.free-shipping .max { margin:0;justify-self:end;text-align:right }
.free-shipping__price.min,.free-shipping__price.max { margin-bottom:.5rem }
.free-shipping__label:not(.reached)::before { opacity:.45 }
.free-shipping__label.reached::before { background:var(--color-text-strong) }
.cart-modal .cart-modal__notice {
  display: block;
  flex: none;
  width: auto;
  min-width: 0;
  box-sizing: border-box;
  margin: 1.6rem var(--cart-content-gutter) 0;
  padding: 12px 14px;
  border: 1px solid #b83a3a;
  border-radius: 12px;
  background: #fff2ef;
  color: #82302a;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: normal;
  white-space: normal;
  overflow-wrap: anywhere;
}
.cart-modal { --cart-content-gutter: 5rem; }
.cart-modal .cart-modal__notice + .checkout__aside-item { padding-top: 2rem; }
/* Keep the heading below a visible WordPress toolbar, including after errors. */
body .cart-modal,
body .cart-modal.open {
  top: var(--cart-toolbar-offset, 0px);
  height: calc(100dvh - var(--cart-toolbar-offset, 0px));
}
@media (max-width: 1279.98px) {
  .cart-modal { --cart-content-gutter: 2.4rem; }
}
@media (max-width: 559.98px) {
  .cart-modal { --cart-content-gutter: 0px; }
}
