/* Checkout only: native forms, totals, hooks and payment integrations stay intact. */
body.ec27-checkout { --ec-checkout-red: #ff0028; --ec-checkout-border: #dce1e6; color: #171b1e; }
body.ec27-checkout #columns > .row { display: flex; flex-wrap: wrap; }
body.ec27-checkout #center_column { width: 100%; order: 1; min-width: 0; }
body.ec27-checkout #left_column, body.ec27-checkout #right_column { width: 100%; order: 2; margin-top: 28px; }
body.ec27-checkout #center_column .page-heading { color: #171b1e; font-size: 27px; line-height: 1.3; font-weight: 700; text-transform: none; border: 0; padding: 0; margin: 12px 0 22px; }
body#order.ec27-checkout.order-step-0 #columns > .breadcrumb { margin-bottom: 8px; }
body#order.ec27-checkout.order-step-0 #center_column #cart_title { margin-top: 0; margin-bottom: 8px; }
body.ec27-checkout #cart_title .heading-counter { float: none; display: inline-block; margin-left: 14px; color: #626971; font-size: 14px; font-weight: 400; }
body.ec27-checkout #order_step { display: flex; width: 100%; padding: 0; margin: 0 0 26px; border: 1px solid var(--ec-checkout-border); border-radius: 8px; background: white; overflow: hidden; counter-reset: checkout-step; }
body.ec27-checkout #order_step li { flex: 1; float: none; width: auto; min-width: 0; border: 0; border-right: 1px solid var(--ec-checkout-border); background: #fff; box-shadow: none; border-radius: 0; counter-increment: checkout-step; }
body.ec27-checkout #order_step li:last-child { border-right: 0; }
body.ec27-checkout #order_step li > a, body.ec27-checkout #order_step li > span { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 64px; padding: 12px 8px; border: 0; background: none; color: #626971; font-size: 15px; font-weight: 600; text-shadow: none; box-shadow: none; }
body.ec27-checkout #order_step li > a:before, body.ec27-checkout #order_step li > span:before { content: counter(checkout-step); display: inline-flex; align-items: center; justify-content: center; position: static; width: 27px; height: 27px; flex: 0 0 27px; border: 1px solid #dce1e6; border-radius: 50%; background: #f7f8fa; font-size: 13px; transform: none; }
body.ec27-checkout #order_step li:before, body.ec27-checkout #order_step li:after, body.ec27-checkout #order_step li > a:after, body.ec27-checkout #order_step li > span:after { display: none; }
body.ec27-checkout #order_step li.step_current { background: #fff2f4; }
body.ec27-checkout #order_step li.step_current > span { color: #d80022; }
body.ec27-checkout #order_step li.step_current > span:before { background: var(--ec-checkout-red); border-color: var(--ec-checkout-red); color: white; }
body.ec27-checkout #order_step li.step_done a { color: #171b1e; }
body.ec27-checkout #order_step li.step_done a:hover { background: #f7f8fa; }
body.ec27-checkout #center_column .box { background: white; border: 1px solid var(--ec-checkout-border); border-radius: 8px; padding: 24px; box-shadow: none; }
body.ec27-checkout #center_column .page-subheading { color: #171b1e; font-size: 19px; font-weight: 700; text-transform: none; line-height: 1.4; margin: 0 0 20px; padding: 0 0 14px; border-bottom: 1px solid var(--ec-checkout-border); }
body.ec27-checkout #center_column label { font-weight: 600; color: #31383e; }
body.ec27-checkout #center_column .form-control { background: #fff; border: 1px solid #cdd3da; border-radius: 5px; box-shadow: none; color: #171b1e; min-height: 44px; padding: 10px 12px; font-size: 16px; }
body.ec27-checkout #center_column textarea.form-control { min-height: 100px; }
body.ec27-checkout #center_column .form-group { margin-bottom: 18px; }
body.ec27-checkout #center_column :is(input, select, textarea, a, button, summary):focus-visible { outline: 2px solid var(--ec-checkout-red); outline-offset: 3px; }
body.ec27-checkout #center_column .form-control:focus { border-color: var(--ec-checkout-red); }
body.ec27-checkout #center_column .form-error .form-control { border-color: #c82032; }
body.ec27-checkout #center_column .button, body.ec27-checkout #center_column button.btn { background: var(--ec-checkout-red); color: white; border: 1px solid var(--ec-checkout-red); border-radius: 6px; font-size: 15px; font-weight: 700; line-height: 1.4; padding: 12px 20px; box-shadow: none; text-shadow: none; height: auto; white-space: normal; }
body.ec27-checkout #center_column .button span, body.ec27-checkout #center_column button.btn span { padding: 0; border: 0; background: none; box-shadow: none; color: inherit; }
body.ec27-checkout #center_column .button:hover, body.ec27-checkout #center_column button.btn:hover { background: #dc0023; border-color: #dc0023; }
body.ec27-checkout #center_column .button-exclusive { background: transparent; border: 0; padding: 12px 0; color: #363d44; font-weight: 600; }
body.ec27-checkout #center_column .button-exclusive:hover { background: transparent; color: #d80022; }
body.ec27-checkout #center_column .cart_navigation { margin: 22px 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
body.ec27-checkout #center_column .cart_navigation:before, body.ec27-checkout #center_column .cart_navigation:after { display: none; }
body.ec27-checkout #order-detail-content { overflow: visible; border: 0; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary { display: grid; grid-template-columns: minmax(0, 1fr) 350px; align-items: start; gap: 24px; border: 0; background: transparent; margin: 0 0 26px; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary { border-collapse: separate; border-spacing: 0; border-radius: 0; overflow: visible; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tbody { grid-column: 1; grid-row: 1; min-width: 0; display: block; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tbody > tr.cart_item { display: grid; grid-template-columns: 105px minmax(0, 1fr) 125px; gap: 8px 18px; padding: 20px; background: white; border: 1px solid var(--ec-checkout-border); border-radius: 8px; margin-bottom: 12px; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tbody > tr > td { border: 0; background: transparent; padding: 0; width: auto; min-width: 0; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary td:before { display: none; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_product { grid-column: 1; grid-row: 1 / 4; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_product img { width: 100%; max-width: 105px; height: 115px; object-fit: contain; border: 0; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_description { grid-column: 2; grid-row: 1; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .product-name { margin: 0 0 8px; line-height: 1.4; font-size: 16px; font-weight: 600; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .product-name a { color: #171b1e; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary:not(.ec27-payment-summary) .product-name { margin-bottom: 0; font-size: 14px; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary:not(.ec27-payment-summary) .product-name a { font-size: inherit; line-height: inherit; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_description small { display: block; color: #626971; font-size: 12px; line-height: 1.6; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary:not(.ec27-payment-summary) .cart_description > small:not(.cart_ref):has(> a) { width: fit-content; max-width: 100%; margin-top: 6px; padding: 6px 9px; border: 1px solid #ffd0d8; border-radius: 5px; background: #fff1f3; color: #31383e; font-weight: 600; white-space: normal; overflow-wrap: anywhere; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary:not(.ec27-payment-summary) .cart_description > small:not(.cart_ref) > a { color: inherit; }
body.ec27-checkout #order-detail-content #cart_summary .ec27-cart-warranty { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; color: #31383e; font-size: 13px; line-height: 1.4; font-weight: 600; }
body.ec27-checkout #order-detail-content #cart_summary .ec27-cart-warranty i { color: #ff0028; font-size: 16px; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_avail { grid-column: 2; grid-row: 2; text-align: left; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_avail .label { border: 0; border-radius: 4px; padding: 4px 7px; font-weight: 500; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_unit { grid-column: 2; grid-row: 3; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_unit ul { text-align: left; margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 5px 8px; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_unit .price { font-size: 15px; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_unit .old-price { font-size: 13px; color: #757d86; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_unit .price-percent-reduction { font-size: 11px; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_delete { grid-column: 3; grid-row: 1; text-align: right; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_quantity_delete { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; color: #626971; border: 1px solid var(--ec-checkout-border); border-radius: 5px; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_quantity_delete:hover { color: #d80022; border-color: #ff0028; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_quantity { grid-column: 3; grid-row: 2; display: flex; justify-content: flex-end; align-items: center; gap: 5px; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_quantity_input { width: 38px; min-height: 34px; height: 34px; padding: 3px; margin: 0; text-align: center; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_quantity_button { display: flex; gap: 4px; margin: 0; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_quantity_button a { display: inline-flex; align-items: center; justify-content: center; padding: 0; width: 32px; height: 34px; border: 1px solid #cdd3da; border-radius: 5px; background: #fff; color: #171b1e; box-shadow: none; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_quantity_button a span { display: contents; border: 0; background: none; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_quantity_button a:hover { border-color: #ff0028; color: #ff0028; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_quantity_button .icon-plus:before { content: "\f067"; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_quantity_button .icon-minus:before { content: "\f068"; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_total { grid-column: 3; grid-row: 3; text-align: right; align-self: end; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_total .price { color: #e00025; font-size: 19px; font-weight: 700; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tfoot { display: block; grid-column: 2; grid-row: 1; padding: 22px; border: 1px solid var(--ec-checkout-border); border-radius: 8px; background: #fff; min-width: 0; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tfoot > tr { display: flex; flex-wrap: wrap; align-items: center; width: 100%; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tfoot > tr > td { display: block; border: 0; padding: 10px 0; background: none; font-size: 14px; width: auto; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tfoot > tr > td:not(.price):not(#cart_voucher) { flex: 1; text-align: left; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tfoot > tr > td.price { text-align: right; margin-left: auto; padding-left: 12px; white-space: nowrap; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .ec27-summary-title th { padding: 0 0 16px; margin-bottom: 8px; background: none; border: 0; border-bottom: 1px solid var(--ec-checkout-border); width: 100%; font-size: 21px; color: #171b1e; text-align: left; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary #cart_voucher { flex: 0 0 100%; width: 100%; padding: 8px 0 18px; }
body.ec27-checkout #cart_voucher #voucher { margin: 0; }
body.ec27-checkout #cart_voucher fieldset { display: flex; flex-wrap: wrap; gap: 8px; }
body.ec27-checkout #cart_voucher fieldset > label { width: 100%; margin: 0; font-size: 14px; }
body.ec27-checkout #cart_voucher .form-control { width: 100%; max-width: 100%; margin: 0; }
body.ec27-checkout #cart_voucher .form-group { flex: 1; min-width: 0; margin: 0; }
body.ec27-checkout #cart_voucher button { padding: 10px 14px; }
body.ec27-checkout #order-detail-content #cart_summary #total_shipping.ec27-shipping-free { color: #189c4c; font-weight: 600; }
body.ec27-checkout #cart_voucher .ec27-cart-code { width: 100%; }
body.ec27-checkout #cart_voucher .ec27-cart-code > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; list-style: none; cursor: pointer; padding: 8px 0; color: #31383e; font-size: 14px; font-weight: 600; }
body.ec27-checkout #cart_voucher .ec27-cart-code > summary::-webkit-details-marker { display: none; }
body.ec27-checkout #cart_voucher .ec27-cart-code > summary:after { content: "\f107"; font-family: FontAwesome; color: #ff0028; font-size: 18px; }
body.ec27-checkout #cart_voucher .ec27-cart-code[open] > summary:after { content: "\f106"; }
body.ec27-checkout #cart_voucher .ec27-cart-code #voucher { padding-top: 8px; }
body.ec27-checkout #order-detail-content #cart_summary .ec27-checkout-reassurance { display: block; border-top: 1px solid var(--ec-checkout-border); margin-top: 14px; padding-top: 16px; }
body.ec27-checkout #order-detail-content #cart_summary .ec27-checkout-reassurance p { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; color: #171b1e; font-size: 14px; line-height: 1.4; font-weight: 600; }
body.ec27-checkout #order-detail-content #cart_summary .ec27-checkout-reassurance p:last-child { margin-bottom: 0; }
body.ec27-checkout #order-detail-content #cart_summary .ec27-checkout-reassurance i { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; color: #ff0028; font-size: 22px; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tfoot > tr.ec27-grand-total { background: #fff2f5; border: 0; border-radius: 6px; padding: 5px 12px; margin-top: 12px; flex-wrap: nowrap; gap: 8px; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .ec27-grand-total .total_price_container span { color: #171b1e; font-size: 18px; line-height: 1.25; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .ec27-grand-total #total_price_container { padding-left: 0; background: transparent; font-size: 27px; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .ec27-cart-actions { border-top: 0; margin-top: 10px; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_navigation > .button-exclusive { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 12px 8px; border: 1px solid #ff0028 !important; border-radius: 6px; color: #ff0028 !important; background: #fff !important; font-size: 14px; line-height: 1.4; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_navigation > .button-exclusive:hover { background: #fff2f5 !important; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_navigation > .button-exclusive i { color: #ff0028; }
@media (max-width: 374px) {
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tfoot > tr.ec27-grand-total { padding: 5px 8px; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .ec27-grand-total .total_price_container span { font-size: 15px; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .ec27-grand-total #total_price_container { font-size: 23px; }
}
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary #total_price_container { font-size: 25px; color: #e00025; font-weight: 700; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_total_price:last-of-type { border-top: 1px solid var(--ec-checkout-border); }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .ec27-cart-actions { border-top: 0; margin-top: 10px; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .ec27-cart-actions > td { flex: 0 0 100%; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_navigation { display: flex; flex-direction: column; margin: 8px 0; gap: 8px; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_navigation > a { width: 100%; text-align: center; }
body.ec27-checkout .ec27-checkout-security { text-align: center; color: #626971; margin: 8px 0 0; font-size: 12px; }
body.ec27-checkout .ec27-checkout-security i { margin-right: 5px; }
body.ec27-checkout .ec27-checkout-extra { margin: 16px 0; border: 1px solid var(--ec-checkout-border); border-radius: 6px; background: white; }
body.ec27-checkout .ec27-checkout-extra > summary { cursor: pointer; padding: 17px 20px; font-size: 16px; font-weight: 600; color: #31383e; }
body.ec27-checkout .ec27-checkout-extra > form, body.ec27-checkout .ec27-checkout-extra > div { padding: 0 20px 20px; }
body.ec27-checkout .ec27-checkout-extra [hidden] { display: none !important; }
body.ec27-checkout #compare_shipping { border: 0; margin: 0; padding: 12px 0; }
body.ec27-checkout #print-quotation { margin: 0; }
body.ec27-checkout #print-quotation input:not([type=checkbox]):not([type=radio]), body.ec27-checkout #print-quotation select { max-width: 100%; min-height: 40px; border: 1px solid #cdd3da; border-radius: 4px; margin: 5px; }
body.ec27-checkout #create-account_form, body.ec27-checkout #login_form { min-height: 315px; }
body.ec27-checkout #create-account_form .form_content, body.ec27-checkout #login_form .form_content { padding: 0; }
body.ec27-checkout #create-account_form .form-control, body.ec27-checkout #login_form .form-control { max-width: 100%; }
body.ec27-checkout .ec27-newsletter-choice label { font-size: 14px; font-weight: 400; color: #616b75; line-height: 1.5; }
body.ec27-checkout .addresses .address { background: #fff; border: 1px solid var(--ec-checkout-border); border-radius: 6px; padding: 20px; }
/* Expose the native address select instead of Uniform's legacy sprite. */
body.ec27-checkout .addresses div.selector { width: 100% !important; max-width: 420px; height: 46px; padding: 0; border: 0; background: none; overflow: visible; }
body.ec27-checkout .addresses div.selector > span { display: none; }
body.ec27-checkout .addresses select.address_select { position: static; opacity: 1; width: 100%; min-width: 0; max-width: 420px; height: 46px; padding: 10px 40px 10px 14px; border: 1px solid #cdd3da; border-radius: 6px; background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23616b75' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; color: #292d32; font-size: 16px; line-height: 24px; appearance: none; -webkit-appearance: none; box-shadow: none; cursor: pointer; }
body.ec27-checkout .addresses select.address_select:hover { border-color: #8b959f; }
body.ec27-checkout .addresses select.address_select:focus { border-color: var(--ec-checkout-red); }
body.ec27-checkout .addresses .ec27-address-native { display: none !important; }
body.ec27-checkout .ec27-address-picker { position: relative; width: 100%; max-width: 420px; }
body.ec27-checkout .ec27-address-trigger { position: relative; display: block; width: 100%; min-height: 46px; padding: 10px 42px 10px 14px; border: 1px solid #cdd3da; border-radius: 6px; background: #fff; color: #292d32; font-size: 16px; line-height: 24px; text-align: left; white-space: normal; cursor: pointer; }
body.ec27-checkout .ec27-address-trigger::after { content: ''; position: absolute; right: 17px; top: 50%; margin-top: -2px; width: 8px; height: 8px; border-right: 2px solid #616b75; border-bottom: 2px solid #616b75; transform: translateY(-50%) rotate(45deg); pointer-events: none; }
body.ec27-checkout .ec27-address-trigger[aria-expanded=true] { border-color: var(--ec-checkout-red); }
body.ec27-checkout .ec27-address-options { position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 50; max-height: 240px; overflow-y: auto; padding: 5px; border: 1px solid #dce1e6; border-radius: 6px; background: #fff; box-shadow: 0 5px 16px #00000014; }
body.ec27-checkout .ec27-address-options[hidden] { display: none; }
body.ec27-checkout .ec27-address-options button { display: block; width: 100%; padding: 10px 12px; border: 0; border-radius: 4px; background: #fff; color: #292d32; font-size: 16px; line-height: 24px; text-align: left; white-space: normal; cursor: pointer; }
body.ec27-checkout .ec27-address-options button[aria-selected=true] { background: #fff2f5; color: #ed0024; font-weight: 600; }
body.ec27-checkout .ec27-address-options button:hover, body.ec27-checkout .ec27-address-options button:focus { background: #f3f5f7; outline: none; box-shadow: inset 3px 0 #ed0024; }
body.ec27-checkout .addresses .address li { line-height: 1.6; }
body.ec27-checkout .addresses .address .page-subheading { padding-bottom: 12px; }
body.ec27-checkout #center_column .delivery_option { border: 1px solid var(--ec-checkout-border); border-radius: 6px; margin-bottom: 12px; background: white; overflow: hidden; }
body.ec27-checkout #center_column .delivery_option:has(input.delivery_option_radio:checked) { border-color: #ff0028; background: #fff7f8; }
body.ec27-checkout #center_column .delivery_option .resume { margin: 0; border: 0; background: transparent; }
body.ec27-checkout #center_column .delivery_option .resume td { padding: 18px 14px; border: 0; background: transparent; vertical-align: middle; }
body.ec27-checkout #center_column .delivery_option .order_carrier_logo { display: block; width: 180px; max-width: 100%; height: 90px; max-height: 90px; object-fit: contain; }
body.ec27-checkout #center_column .delivery_option .resume td.delivery_option_logo { width: 208px; }
body.ec27-checkout #center_column .delivery_option .delivery_option_price { font-size: 17px; font-weight: 700; }
body.ec27-checkout #carrier_area .checkbox { margin: 18px 0; }
body.ec27-checkout #HOOK_PAYMENT .payment_module a { border: 1px solid var(--ec-checkout-border); border-radius: 6px; background-color: #fff; color: #171b1e; box-shadow: none; text-transform: none; font-size: 17px; }
body.ec27-checkout #HOOK_PAYMENT .payment_module a:hover { border-color: #ff0028; background-color: #fff7f8; }
body.ec27-checkout #HOOK_PAYMENT .payment_module a,
body.ec27-checkout #HOOK_PAYMENT .ec27-stripe-choice > summary,
body.ec27-checkout #HOOK_ADVANCED_PAYMENT .payment_module_adv {
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 17px; font-weight: 600; font-style: normal; line-height: 1.5;
    letter-spacing: 0; text-transform: none; color: #171b1e;
}
body.ec27-checkout #HOOK_PAYMENT .payment_module a > span:not([class*="icon"]):not(.fa),
body.ec27-checkout #HOOK_ADVANCED_PAYMENT .payment_option_cta {
    font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit;
    text-transform: none; letter-spacing: 0;
}
@media (max-width: 767px) {
    body.ec27-checkout #HOOK_PAYMENT .payment_module a,
    body.ec27-checkout #HOOK_PAYMENT .ec27-stripe-choice > summary,
    body.ec27-checkout #HOOK_ADVANCED_PAYMENT .payment_module_adv { font-size: 15px; }
}
/* Reset global table borders and legacy mobile floats only for the cart layout. */
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > :is(tbody, tfoot) > tr > :is(td, th) { border-left: 0 !important; border-right: 0 !important; float: none; min-height: 0; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tfoot > tr.unvisible { display: none; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tfoot > tr { background: transparent; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tfoot td:empty { display: none; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_avail { display: block; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_delete { position: static; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_quantity_button { display: flex; }
body.ec27-checkout #center_column .button-exclusive, body.ec27-checkout #center_column .button-exclusive:hover { background: transparent !important; color: #363d44 !important; border-color: transparent !important; transform: none; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_quantity_button a { background: white !important; color: #171b1e !important; border-color: #cdd3da !important; transform: none; }
body.ec27-checkout #cart_voucher h4 { flex: 0 0 100%; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; text-transform: none; margin: 0; padding: 0; }
body.ec27-checkout #cart_voucher #discount_name { width: 0; flex: 1; min-width: 0; height: 44px; }
body.ec27-checkout #cart_voucher fieldset > button { flex: 0 0 auto; margin: 0; }
body.ec27-checkout #create-account_form .form_content, body.ec27-checkout #login_form .form_content { border: 0; border-radius: 0; }
body.ec27-checkout #center_column .box .account_creation { border: 0; border-radius: 0; box-shadow: none; padding: 0; }
body.ec27-checkout .progress:has([data-meter]) { max-width: 100%; }
#HOOK_PAYMENT .ec27-stripe-choice { margin: 0 0 16px; border: 1px solid #dce1e6; border-radius: 6px; background: #fff; overflow: hidden; }
#HOOK_PAYMENT .ec27-stripe-choice > summary { display: flex; align-items: center; gap: 12px; padding: 20px; min-height: 76px; cursor: pointer; color: #24292e; font-size: 17px; font-weight: 600; list-style: none; }
#HOOK_PAYMENT .ec27-stripe-choice > summary::-webkit-details-marker { display: none; }
#HOOK_PAYMENT .ec27-stripe-choice > summary .icon-credit-card { color: #ff0028; }
#HOOK_PAYMENT .ec27-stripe-choice > summary .icon-chevron-down { margin-left: auto; font-size: 14px; }
#HOOK_PAYMENT .ec27-stripe-choice[open] > summary { background: #fff5f7; border-bottom: 1px solid #e0e4e8; }
#HOOK_PAYMENT .ec27-stripe-choice[open] > summary .icon-chevron-down { transform: rotate(180deg); }
#HOOK_PAYMENT .ec27-stripe-choice > summary:focus-visible { outline: 2px solid #ff0028; outline-offset: -3px; }
#HOOK_PAYMENT .ec27-stripe-choice:has(> summary:hover),
#HOOK_PAYMENT .ec27-stripe-choice:has(> summary:focus-visible) { border-color: #ff0028; }
#HOOK_PAYMENT .ec27-stripe-choice > summary:hover,
#HOOK_PAYMENT .ec27-stripe-choice > summary:focus-visible { background-color: #fff7f8; }
#HOOK_PAYMENT .ec27-stripe-choice:not([open]) > .stripe-payment-form { display: none !important; }
/* Stripe fields remain mounted, but only the selected payment option is visible. */
#HOOK_ADVANCED_PAYMENT .payment_module:not(.payment_selected) + .payment_option_form:has(.stripe-payment-form) { display: none !important; }
body.ec27-checkout #csoc-container { border: 0; background: transparent; padding: 12px 0; margin: 14px 0; }
body.ec27-checkout #csoc-container .product-container { width: 330px; max-width: 100%; min-height: 0 !important; height: auto !important; border: 1px solid var(--ec-checkout-border); border-radius: 6px; padding: 14px; display: flex; align-items: center; gap: 14px; }
body.ec27-checkout #csoc-container .left-block { flex: 0 0 85px; width: 85px !important; }
body.ec27-checkout #csoc-container .product-image-container { padding: 0; border: 0; }
body.ec27-checkout #csoc-container .product_img_link img { width: 85px; height: 110px; object-fit: contain; border: 0; }
body.ec27-checkout #csoc-container .right-block { min-width: 0; }
body.ec27-checkout #csoc-container .button { font-size: 13px; padding: 9px 10px; }
body.ec27-checkout #csoc-container .content_price { margin-bottom: 10px; }
body.ec27-checkout #csoc-container .ec27-cart-related-name { display: block; font-size: 13px; font-weight: 600; line-height: 1.4; margin-bottom: 10px; color: #171b1e; }
body.ec27-checkout #ordermsg { display: flex; flex-wrap: wrap; gap: 18px 0; margin: 24px -15px 0; }
body.ec27-checkout #ordermsg > br { display: none; }
body.ec27-checkout #center_column .checkbox label { font-weight: 400; line-height: 1.5; }
body.ec27-checkout #center_column input[type=checkbox], body.ec27-checkout #center_column input[type=radio] { accent-color: #ff0028; }
body.ec27-checkout #center_column .ec27-newsletter-choice input[type=checkbox] { accent-color: #fff0f3; }
body.ec27-checkout #center_column .page-heading .heading-counter { float: none; display: block; margin-top: 8px; font-size: 14px; font-weight: 400; }
body.ec27-checkout #center_column #cart_title .heading-counter { display: inline-block; }
body.ec27-checkout .paiement_block { overflow: visible; border: 0; background: transparent; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-payment-summary > tbody ~ tbody { grid-row: 2; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_discount { display: flex; align-items: center; gap: 12px; padding: 14px; margin-top: 10px; border: 1px solid var(--ec-checkout-border); border-radius: 6px; background: #fff; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_discount_name { flex: 1; }
body.ec27-checkout #HOOK_PAYMENT .payment_module a { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 20px 44px 20px 20px; min-height: 88px; line-height: 1.5; }
body.ec27-checkout #HOOK_PAYMENT .payment_module a img { max-width: 86px; height: auto; object-fit: contain; margin: 0; }
body.ec27-checkout #center_column .delivery_option .resume { table-layout: auto; width: 100%; height: auto; }
body.ec27-checkout #center_column .delivery_option .resume td { border: 0 !important; }
body.ec27-checkout #center_column .delivery_option > div { padding: 0; margin-bottom: 0; }
body.ec27-checkout #center_column .delivery_option .resume tr.selected { border: 0; background: transparent; box-shadow: none; }
body.ec27-checkout #order-detail-content #cart_summary.ec27-payment-summary .cart_quantity:before { content: attr(data-title); display: inline; margin-right: 6px; font-size: 12px; font-weight: 400; }
body.ec27-checkout #center_column .delivery_option .resume td.delivery_option_radio { width: 42px; }
body.ec27-checkout #center_column .delivery_option .resume td.delivery_option_logo { width: 115px; }
body.ec27-checkout #center_column .delivery_option .resume td.delivery_option_logo:empty { display: none; }
body.ec27-checkout #center_column .delivery_option .resume td.delivery_option_price { width: 120px; text-align: right; }
body.ec27-checkout #carrier_area .order_carrier_content { padding: 0; border: 0; background: transparent; }
body.ec27-checkout #carrier_area .carrier_title { font-size: 16px; font-weight: 600; margin: 0 0 16px; }
body.ec27-checkout #carrier_area .order_carrier_content .box { border: 0; background: transparent; padding: 8px 0; }
body.ec27-checkout .table-bordered { border: 1px solid var(--ec-checkout-border); }
body.ec27-checkout .table-bordered > thead > tr > th { background: #f2f4f6; color: #31383e; border-color: #dce1e6; }
body.ec27-checkout .table-bordered > tbody > tr > td { border-color: #dce1e6; }
/* Visible cart tools; keep the module's native AJAX visibility and calculations. */
body.ec27-checkout #left_column:empty, body.ec27-checkout #right_column:empty { display: none; }
body.ec27-checkout .ec27-checkout-extras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; margin: 20px 0 26px; }
body.ec27-checkout .ec27-checkout-extras .ec27-checkout-extra { margin: 0; min-width: 0; border: 1px solid #dce1e6; border-left: 3px solid #ff0028; overflow: hidden; }
body.ec27-checkout .ec27-checkout-extra > summary { display: flex; align-items: center; gap: 12px; list-style: none; min-height: 66px; padding: 16px 18px; background: #fff2f4; color: #171b1e; font-size: 17px; line-height: 1.4; font-weight: 700; }
body.ec27-checkout .ec27-checkout-extra > summary::-webkit-details-marker { display: none; }
body.ec27-checkout .ec27-checkout-extra > summary > i { display: inline-flex; align-items: center; justify-content: center; width: 32px; flex: 0 0 32px; color: #ff0028; font-size: 24px; }
body.ec27-checkout .ec27-checkout-extra > summary:after { content: "\f107"; font-family: FontAwesome; font-size: 21px; color: #d80022; margin-left: auto; flex: 0 0 16px; text-align: center; }
body.ec27-checkout .ec27-checkout-extra[open] > summary:after { content: "\f106"; }
body.ec27-checkout .ec27-checkout-extra > summary:hover { background: #ffe5e9; }
body.ec27-checkout .ec27-checkout-extra[open] > summary { border-bottom: 1px solid #f1dbe0; }
body.ec27-checkout #center_column #compare_shipping_form { border: 0; border-radius: 0; padding: 18px; margin: 0; background: #fff; }
body.ec27-checkout #compare_shipping { display: flex; flex-wrap: wrap; align-items: start; gap: 16px; min-width: 0; padding: 0; }
body.ec27-checkout #center_column #compare_shipping > .form-group { flex: 1 1 180px; min-width: 0; margin: 0; }
body.ec27-checkout #compare_shipping label { display: block; float: none; width: auto; text-align: left; margin: 0 0 6px; font-size: 13px; }
body.ec27-checkout #center_column #compare_shipping .form-control { width: 100%; max-width: none; height: 44px; min-height: 44px; margin: 0; background-color: #fff; }
body.ec27-checkout #compare_shipping div.selector { width: 100% !important; height: 44px; padding: 0; border: 0; background: none; overflow: visible; }
body.ec27-checkout #compare_shipping div.selector span { display: none; }
body.ec27-checkout #compare_shipping div.selector select { position: static; opacity: 1; min-width: 0; width: 100%; appearance: auto; cursor: pointer; }
body.ec27-checkout #ec27-shipping-postcode-help { display: block; margin-top: 5px; color: #626971; font-size: 11px; line-height: 1.4; }
body.ec27-checkout #compare_shipping > :is(#availableCarriers, #carriercompare_errors, #SE_AjaxDisplay, #noCarrier, .SE_SubmitRefreshCard) { flex: 0 0 100%; width: 100%; min-width: 0; margin: 0; }
body.ec27-checkout #compare_shipping > br { display: none; }
body.ec27-checkout #SE_AjaxDisplay { padding: 10px 0; text-align: center; color: #626971; font-size: 13px; }
body.ec27-checkout #SE_AjaxDisplay img { width: 20px; height: 20px; }
body.ec27-checkout #SE_AjaxDisplay br { display: none; }
body.ec27-checkout #SE_AjaxDisplay p { display: inline; margin-left: 8px; }
body.ec27-checkout #availableCarriers_table { width: 100%; table-layout: fixed; margin: 0; border: 1px solid #dce1e6; border-radius: 5px; }
body.ec27-checkout #availableCarriers_table :is(th, td) { padding: 10px 12px; vertical-align: middle; border-left: 0 !important; border-right: 0 !important; border-top: 1px solid #e5e8ec; border-bottom: 0; line-height: 1.45; overflow-wrap: anywhere; }
body.ec27-checkout #availableCarriers_table th { font-size: 11px; font-weight: 600; background: #f4f5f7; color: #626971; white-space: nowrap; overflow-wrap: normal; }
body.ec27-checkout #availableCarriers_table td { background: #fff; }
body.ec27-checkout #availableCarriers_table .carrier_name { width: 174px; text-align: left; }
body.ec27-checkout #availableCarriers_table .carrier_name label { margin: 0; }
body.ec27-checkout #availableCarriers_table .carrier_name img { width: 150px; max-width: 100%; height: 76px; max-height: 76px; object-fit: contain; }
body.ec27-checkout #availableCarriers_table .carrier_infos { font-size: 12px; color: #4d555d; }
body.ec27-checkout #availableCarriers_table .carrier_price { width: 95px; text-align: right; white-space: nowrap; }
body.ec27-checkout #availableCarriers_table .carrier_price .price { color: #d80022; font-size: 16px; font-weight: 700; }
body.ec27-checkout #compare_shipping .alert { padding: 12px; font-size: 13px; border-radius: 5px; }
body.ec27-checkout #print-quotation { padding: 18px; }
body.ec27-checkout #print-quotation > br { display: none; }
body.ec27-checkout #print-quotation #customer-information form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
body.ec27-checkout #print-quotation #customer-information .form-group { margin: 0; min-width: 0; float: none; width: auto; }
body.ec27-checkout #print-quotation #customer-information .clearfix { display: none; }
body.ec27-checkout #print-quotation #customer-information label { display: block; margin-bottom: 4px; font-size: 13px; }
body.ec27-checkout #print-quotation #customer-information input:not([type=hidden]) { width: 100%; margin: 0; padding: 8px 10px; font-size: 16px; }
@media (max-width: 767px) {
    body.ec27-checkout .ec27-checkout-extras { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    body.ec27-checkout .ec27-checkout-extra > summary { min-height: 64px; padding: 14px 12px; font-size: 16px; gap: 8px; }
    body.ec27-checkout #center_column #compare_shipping_form, body.ec27-checkout #print-quotation { padding: 14px; }
    body.ec27-checkout #compare_shipping { gap: 12px; }
    body.ec27-checkout #center_column #compare_shipping > .form-group { flex-basis: 130px; }
    body.ec27-checkout #availableCarriers_table :is(th, td) { padding: 9px 6px; }
    body.ec27-checkout #availableCarriers_table .carrier_name { width: 140px; }
    body.ec27-checkout #availableCarriers_table .carrier_name img { width: 130px; max-width: 100%; }
    body.ec27-checkout #availableCarriers_table .carrier_price { width: 76px; }
    body.ec27-checkout #availableCarriers_table .carrier_price .price { font-size: 14px; }
    body.ec27-checkout #compare_shipping #availableCarriers_table { display: block; border: 0; }
    body.ec27-checkout #compare_shipping #availableCarriers_table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    body.ec27-checkout #compare_shipping #availableCarriers_table tbody { display: block; width: 100%; }
    body.ec27-checkout #compare_shipping #availableCarriers_table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 12px; padding: 12px 0; border-top: 1px solid #e5e8ec; }
    body.ec27-checkout #compare_shipping #availableCarriers_table tbody td { display: block; width: auto; padding: 0; border: 0; }
    body.ec27-checkout #compare_shipping #availableCarriers_table .carrier_name { grid-column: 1; grid-row: 1; }
    body.ec27-checkout #compare_shipping #availableCarriers_table .carrier_price { grid-column: 2; grid-row: 1; align-self: center; }
    body.ec27-checkout #compare_shipping #availableCarriers_table .carrier_infos { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 991px) {
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tfoot { grid-column: 1; grid-row: 2; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-payment-summary:has(> tbody ~ tbody) > tfoot { grid-row: 3; }
}
@media (max-width: 767px) {
    body.ec27-checkout #center_column .page-heading { font-size: 23px; margin-bottom: 18px; }
    body.ec27-checkout #cart_title .heading-counter { display: block; margin: 6px 0 0; }
    body.ec27-checkout #center_column #cart_title .heading-counter { display: block; }
    body.ec27-checkout #order_step { margin-bottom: 20px; }
    body.ec27-checkout #order_step li > a, body.ec27-checkout #order_step li > span { flex-direction: column; gap: 6px; min-height: 78px; padding: 10px 2px; font-size: 10px; line-height: 1.3; }
    body.ec27-checkout #order_step li > a:before, body.ec27-checkout #order_step li > span:before { width: 24px; height: 24px; flex-basis: 24px; font-size: 12px; }
    body.ec27-checkout #center_column .box { padding: 18px; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tbody > tr.cart_item { grid-template-columns: 65px minmax(0, 1fr) 110px; padding: 14px; gap: 10px; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_product img { height: 85px; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_description { grid-column: 2 / 4; padding-right: 28px; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_delete { grid-row: 1; grid-column: 3; justify-self: end; align-self: start; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_quantity_delete { width: 26px; height: 28px; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .product-name { font-size: 14px; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_avail { grid-column: 1 / 3; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_avail .label { display: inline-block; max-width: 100%; white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_unit { grid-column: 1 / 3; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_quantity { grid-column: 3; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_product { grid-row: 1; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary > tfoot { padding: 18px; }
    body.ec27-checkout #order-detail-content #cart_summary.ec27-cart-summary .cart_total .price { font-size: 18px; }
    body.ec27-checkout #center_column .cart_navigation > .button { width: 100%; text-align: center; }
    body.ec27-checkout #center_column .cart_navigation > .button-exclusive { width: 100%; text-align: center; order: 2; }
    body.ec27-checkout #create-account_form, body.ec27-checkout #login_form { min-height: 0; }
    body.ec27-checkout #center_column .delivery_option .resume td { padding: 12px 6px; }
    body.ec27-checkout #center_column .delivery_option .resume td.delivery_option_radio { width: 32px; }
    body.ec27-checkout #center_column .delivery_option .resume td.delivery_option_logo { width: auto; }
    body.ec27-checkout #center_column .delivery_option .resume td.delivery_option_price { width: 76px; font-size: 14px; }
    body.ec27-checkout #center_column .delivery_option .resume:not(.delivery_option_carrier), body.ec27-checkout #center_column .delivery_option .resume:not(.delivery_option_carrier) tbody { display: block; width: 100%; }
    body.ec27-checkout #center_column .delivery_option .resume:not(.delivery_option_carrier) tr { display: grid; width: 100%; grid-template-columns: 24px minmax(0, 1fr) 76px; gap: 4px 8px; padding: 14px; box-shadow: none; }
    body.ec27-checkout #center_column .delivery_option .resume:not(.delivery_option_carrier) td { display: block; width: auto; padding: 0; min-width: 0; }
    body.ec27-checkout #center_column .delivery_option .resume:not(.delivery_option_carrier) .delivery_option_radio { grid-column: 1; grid-row: 1 / 3; align-self: center; }
    body.ec27-checkout #center_column .delivery_option .resume:not(.delivery_option_carrier) .delivery_option_logo { grid-column: 2; grid-row: 1; }
    body.ec27-checkout #center_column .delivery_option .resume:not(.delivery_option_carrier) td:nth-child(3) { grid-column: 2; grid-row: 2; font-size: 13px; line-height: 1.5; }
    body.ec27-checkout #center_column .delivery_option .resume:not(.delivery_option_carrier) td.delivery_option_price { grid-column: 3; grid-row: 1 / 3; align-self: center; }
    body.ec27-checkout #center_column .delivery_option .resume:not(.delivery_option_carrier) div.delivery_option_price { font-size: 14px; }
    body.ec27-checkout #center_column .delivery_option .order_carrier_logo { width: 140px; max-width: 100%; height: 80px; max-height: 80px; }
    body.ec27-checkout #HOOK_PAYMENT .payment_module a { font-size: 15px; }
}

/* Bank-wire uses a background icon: reserve its space beside the label. */
body.ec27-checkout #HOOK_PAYMENT .payment_module a.bankwire {
  padding-left: 76px;
  background-size: 36px auto;
  background-position: 20px center;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  body.ec27-checkout #HOOK_PAYMENT .payment_module a.bankwire {
    padding-left: 64px;
    background-size: 30px auto;
    background-position: 16px center;
  }
}

/* Quote from the current cart, within the "Votre commande" totals card. */
body.ec27-checkout #cart_summary .ec27-cart-actions .ecdp-cart-quote { margin: 14px 0 0; }
body.ec27-checkout #cart_summary .ecdp-cart-quote > a { display: block; width: 100%; white-space: normal; border: 1px solid #ff0028; border-radius: 6px; background: #fff1f3; color: #d80022; text-align: center; }
body.ec27-checkout #cart_summary .ecdp-cart-quote > a > span { display: block; padding: 11px 10px; border: 0; background: none; font-size: 14px; line-height: 1.45; white-space: normal; color: inherit; }
body.ec27-checkout #cart_summary .ecdp-cart-quote > a:hover, body.ec27-checkout #cart_summary .ecdp-cart-quote > a:focus { background: #ffe3e9; color: #c00020; }
body.ec27-checkout #cart_summary .ecdp-cart-quote > p { margin: 8px 0 0; color: #626971; font-size: 12px; line-height: 1.5; }

/* Highlight the AJAX warranty section with the theme's shield pictogram. */
body.ec27-checkout #egwarrantyplus-block .egwarrantyplus-title { display: flex; align-items: center; gap: 12px; }
body.ec27-checkout #egwarrantyplus-block .egwarrantyplus-title::before { content: ""; display: block; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; background: #fff1f3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff0028' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4 6v6c0 5 8 9 8 9s8-4 8-9V6z'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E") center / 24px 24px no-repeat; }

/* Compact secondary quote action beneath the main checkout action. */
body.ec27-checkout #center_column #cart_summary .ecdp-cart-quote { margin: 10px 0 0; padding: 10px; border-radius: 6px; }
body.ec27-checkout #center_column #cart_summary .ecdp-cart-quote > a.button { min-height: 0; height: auto; padding: 8px 10px; font-size: 13px; line-height: 1.35; background: #fff1f3; color: #d80022; }
body.ec27-checkout #center_column #cart_summary .ecdp-cart-quote > a.button > span { padding: 0; font-size: inherit; line-height: inherit; }
body.ec27-checkout #center_column #cart_summary .ecdp-cart-quote > a.button:hover, body.ec27-checkout #center_column #cart_summary .ecdp-cart-quote > a.button:focus { background: #ffe3e9; }
body.ec27-checkout #center_column #cart_summary .ecdp-cart-quote > p { margin: 6px 0 0; font-size: 11px; line-height: 1.4; }

/* Clear, accessible packaging and terms choices in one panel. */
body.ec27-checkout #carrier_area .ec27-checkout-preferences {
    margin: 24px 0;
    padding: 20px;
    border: 1px solid #d3d9df;
    border-radius: 12px;
    background: #fff;
    color: #30363b;
}
body.ec27-checkout #carrier_area .ec27-checkout-preferences .carrier_title {
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: 700;
    color: #252a2f;
}
body.ec27-checkout #carrier_area .ec27-checkout-preferences .checkbox {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
}
body.ec27-checkout #carrier_area .ec27-checkout-preferences .box {
    margin: 18px 0 0;
    padding: 18px 0 0;
    border: 0;
    border-top: 1px solid #e0e4e8;
    background: transparent;
    box-shadow: none;
}
body.ec27-checkout #carrier_area .ec27-checkout-preferences label {
    padding: 0;
    font-size: 16px;
    font-weight: 500;
    color: #30363b;
    cursor: pointer;
}
body.ec27-checkout #carrier_area .ec27-checkout-preferences .recyclable label { display: flex; align-items: flex-start; gap: 12px; }
body.ec27-checkout #carrier_area .ec27-checkout-preferences .checker,
body.ec27-checkout #carrier_area .ec27-checkout-preferences .checker > span { display: contents; }
body.ec27-checkout #carrier_area .ec27-checkout-preferences input[type=checkbox] {
    appearance: auto;
    -webkit-appearance: checkbox;
    position: static !important;
    opacity: 1 !important;
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px;
    margin: 2px 0 0 !important;
    accent-color: #ff0028;
    cursor: pointer;
}
body.ec27-checkout #carrier_area .ec27-checkout-preferences .box .checkbox { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 12px; row-gap: 6px; align-items: start; }
body.ec27-checkout #carrier_area .ec27-checkout-preferences label[for=cgv],
body.ec27-checkout #carrier_area .ec27-checkout-preferences .iframe { grid-column: 2; }
body.ec27-checkout #carrier_area .ec27-checkout-preferences .iframe { font-size: 14px; color: #c60020; text-decoration: underline; text-underline-offset: 3px; }
body.ec27-checkout #carrier_area .ec27-checkout-preferences input:focus-visible { outline: 2px solid #30363b; outline-offset: 3px; }
@media (max-width: 767px) {
    body.ec27-checkout #carrier_area .ec27-checkout-preferences { padding: 16px; }
}
