/* Tartufo del Re: cart redesign and requested shop refinements, 8 Nov 2026. */
.cartOverlay .outerSelector, #checkout_all .outerSelector,
.classicCart #transportmethodsdiv .radiocheckmark {
    border-color: #6e6e6e !important; background: #fff !important;
}
#checkout_all input[type="radio"], .classicCart input[type="radio"], .cartOverlay input[type="radio"] { accent-color: #808c89 !important; }
#checkout_all #paymentsList .checkoutPaymentLabel input[type="radio"] { accent-color: #808c89 !important; }
.classicCart button, #checkout_all button, .cartOverlay button,
.classicCart input[type="submit"], #checkout_all input[type="submit"], .cartOverlay input[type="submit"] { border-radius: 30px !important; }
.classicCart #continue .addToCartButton:not(:disabled):hover,
.cartOverlay .addToCartButton:not(:disabled):hover,
#checkout_all .checkoutPrepaymentButton:not(:disabled):hover,
#checkout_all #checkout_continue_button:not(.buynow):not(:disabled):hover { background: #595959 !important; border-color: #595959 !important; }
#checkout_all #checkout_continue_button.buynow:not(:disabled):hover { background: #631013 !important; border-color: #631013 !important; }
#checkout_all .reviewblock .content { font-size: 1rem; }
#checkout_all #cart_side .quantityrow select { font-size: .8em !important; padding: 8px !important; }
#checkout_all:has(#review) #cart_side .quantityrow select { background-color: #f7f7f7 !important; }
#checkout_all > #cart_side, #checkout_all #checkout_side_cart,
#checkout_all #checkout_side_sums, #checkout_all #checkout_side_total,
#checkout_all #cart_side .checkout_side_section, #checkout_all #cart_side .side_cart_item { background: #f7f7f7 !important; }
#checkout_all #checkout_side_total { color: #222 !important; }
#checkout_all #cart_side .small, #checkout_all #cart_side a { color: inherit; }
.ui-datepicker td:not(.ui-datepicker-unselectable):not(.ui-state-disabled) a.ui-state-default { border: 0 !important; }
.price { margin-top: 10px; font-size: 1rem; }
ul.articlesList li.category_article h2.title { font-size: 1.3rem !important; }
.categoryContent h1 { font-weight: bold; font-size: 2rem; font-family: Didot, Avenir, 'OpenSans', Arial, sans-serif; }
.reviewCompactTaxHint { margin: 0 0 12px; font-size: .85rem; color: #666; }
#reviewCart .reviewCompactShipping { display: flex; justify-content: space-between; gap: 16px; margin-top: 14px; font-size: .9rem; }
#reviewCart .reviewCompactShipping a { text-decoration: underline; color: inherit; }
#reviewCart .reviewCompactTotal small { font-size: .8em; font-weight: normal; }
@media (min-width: 1030px) {
    #checkout_all:has(#review) { align-items: start; }
    #checkout_all:has(#review) > #cart_side { align-self: start; margin-top: 0 !important; }
    #checkout_all #review .reviewrow > .reviewcolumn { margin-top: 0; }
    #checkout_all #review .reviewcolumn > .reviewblock:first-child { margin-top: 0; }
    #checkout_all #review .checkoutReviewContent { padding-top: 0; }
}
@media (max-width: 767px) {
    .orderConfirmation .orderConfirmationSummary dd { font-size: 14px !important; }
}
/* Cart: calm two-column arrangement matching the supplied screen design. */
.classicCart { max-width: 1240px; margin: 0 auto 64px; }
.classicCart .cartContinueShopping { margin: 18px 0 36px; font-size: 1rem; }
.classicCart #cartcontainer { grid-template-columns: minmax(0, 1.57fr) minmax(340px, 1fr); column-gap: 36px; row-gap: 22px; align-items: start; }
.classicCart .cartPageHeading { margin: 0 0 52px; }
.classicCart .cartPageHeading h1 { font-size: 2.15rem; font-weight: 700; line-height: 1.2; margin: 0; }
.classicCart .carttable th { padding-bottom: 14px; font-size: .9rem; border-color: #d3d3d3; }
.classicCart .carttable th:first-child { width: 90px; }
.classicCart .carttable th.priceTD { width: 144px; }
.classicCart .carttable td { padding-top: 26px; padding-bottom: 26px; border-color: #ddd; }
.classicCart .carttable td.pos { padding-right: 16px; }
.classicCart .carttable td.pos img { width: 78px; height: 84px; }
.classicCart .art_title, .classicCart .rowprice { font-size: 1.15rem; font-weight: 400; }
.classicCart .art_title .subtitle { font-size: .85rem; margin-top: 4px; }
.classicCart .item_delete { margin-top: 18px; font-size: .85rem; }
.classicCart .compareprice { display: block; font-size: .85rem; }
.classicCart .cartItemsSubtotal { padding-top: 22px; font-size: 1rem; }
.classicCart .quantityrow { margin-top: 16px; }
.classicCart .quantityrow button { background: #fff; color: #222; }
.classicCart #cartcontainer > #checkoutdiv { background-color: #e5eae6; padding: 20px 18px; border: 0; }
.cartVisuallyHidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.classicCart .cartSummaryRow { display: flex; justify-content: space-between; gap: 16px; font-size: 1rem; line-height: 1.5; }
.classicCart .cartSummaryRow > :last-child { white-space: nowrap; }
.classicCart .cartSummaryRow:first-of-type { font-weight: 500; }
.classicCart .cartShippingRow { margin-top: 4px; font-size: .9rem; }
.classicCart .cartShippingRow a { color: inherit; text-decoration: none; }
.classicCart .cartShippingRow a:hover { text-decoration: underline; }
.classicCart .cartShippingOptions { margin-top: 12px; font-size: .85rem; }
.classicCart .cartShippingOptions > summary { color: #555; cursor: pointer; }
.classicCart #transportmethodstitle { display: none; }
.classicCart #transportmethodsdiv { margin-bottom: 0; }
.classicCart .cartVouchersDiv { border: 0; padding: 18px 0 8px; }
.classicCart .cartVouchersDiv > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none; font-size: .95rem; }
.classicCart .cartVouchersDiv > summary::-webkit-details-marker { display: none; }
.classicCart .cartVouchersDiv > summary::after { content: ''; width: 9px; height: 9px; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); margin-right: 4px; }
.classicCart .cartVouchersDiv[open] > summary::after { transform: rotate(225deg); }
.classicCart #cartVoucherForm { padding-top: 16px; }
.classicCart #cartVoucherSubmit { flex: 0 0 auto; padding: 10px 14px; border: 1px solid #777; background: #7f8b7e; color: #fff; font: inherit; font-size: 14px; cursor: pointer; }
.classicCart #cartVoucherSubmit:not(:disabled):hover { background: #687467; }
.classicCart .cartGrandTotal { border: 0; padding: 18px 0 0; align-items: baseline; font-size: 1rem; }
.classicCart .cartGrandTotal > .left { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: baseline; }
.classicCart .cartTaxHint { display: inline; margin: 0; font-size: .9rem; }
.classicCart #continue { margin-top: 28px; }
.classicCart .cartServiceHints p { margin: 18px 0 0; font-size: .9rem; line-height: 1.5; }
.classicCart .cartServiceHints p:first-child { margin-top: 22px; }
.classicCart .cartServiceHints span { margin-right: 8px; font-size: 1.2em; }
.classicCart .cartSecureHint { grid-column: 2; margin: 0; font-size: .95rem; text-align: center; }
.classicCart #continue .addToCartButton { text-transform: uppercase; font-size: 1rem !important; letter-spacing: .08em; }
@media (max-width: 899px) {
    .classicCart #cartcontainer { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .classicCart .cartSecureHint { grid-column: 1; }
    .classicCart .cartPageHeading { margin-bottom: 28px; }
    .classicCart .cartPageHeading h1 { font-size: 1.9rem; }
}
@media (max-width: 540px) {
    .classicCart .carttable th:first-child { width: 54px; }
    .classicCart .carttable th.priceTD { width: 108px; }
    .classicCart .carttable td.pos { padding-right: 8px; }
    .classicCart .carttable td.pos img { width: 46px; height: 60px; }
    .classicCart .art_title, .classicCart .rowprice { font-size: .9rem; }
    .classicCart .art_title .subtitle, .classicCart .compareprice { font-size: .75rem; }
    .classicCart .carttable td.text { padding-right: 8px; }
    .classicCart .carttable td { padding-block: 20px; }
}
/* Native modal drawer provides focus containment, Escape and focus restoration. */
html.shippingDrawerOpen { overflow: hidden; }
.shippingDrawer { box-sizing: border-box; position: fixed; inset: 0 0 0 auto; margin: 0; padding: 24px; width: min(540px, 100vw); max-width: 100vw; height: 100dvh; max-height: 100dvh; border: 0; background: #fff; color: #222; overflow: auto; }
.shippingDrawer::backdrop { background: rgb(0 0 0 / .45); }
.shippingDrawerHeader { position: sticky; top: -24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #fff; padding: 12px 0 20px; z-index: 1; }
.shippingDrawerHeader h2 { font-size: 1.3rem; margin: 0; }
.shippingDrawerClose { flex: 0 0 40px; width: 40px; height: 40px; border: 1px solid #ddd; border-radius: 30px; background: #fff; color: #222; font-size: 26px; cursor: pointer; }
.shippingDrawerContent { font-size: 1rem; line-height: 1.6; overflow-wrap: anywhere; }
.shippingDrawerContent img, .shippingDrawerContent table { max-width: 100%; }
.shippingDrawerContent .staticContent { padding: 0; width: auto; margin: 0; }
.shippingDrawerContent a { color: inherit; text-decoration: underline; }
.shippingDrawer button:focus-visible, .shippingDrawer a:focus-visible, .classicCart summary:focus-visible { outline: 2px solid #808c89; outline-offset: 3px; }

@media (min-width: 1030px) {
    #checkout_all:has(#review) > #cart_side { margin-top: var(--review-cart-top, 92px) !important; }
    #checkout_all #review [data-block="address"] { margin-top: 0; }
    #checkoutcontent[data-review-stripe="true"] > .checkoutReviewContent { grid-column: 1; grid-row: 1; }
    #checkoutcontent[data-review-stripe="true"] > #checkout-payment-panel {
        grid-column: 1; grid-row: 2; margin: 28px 0 0; padding: 0; width: 100%; max-width: 100%;
    }
    #checkout_all:has(#checkoutcontent[data-review-stripe="true"]) > #cart_side {
        grid-column: 2; grid-row: 1 / span 2;
    }
}
.classicCart .cartDeliveryHint { display: flex; align-items: start; gap: 10px; }
.classicCart .cartDeliveryHint svg { flex-shrink: 0; margin-top: 2px; }
#checkout_all .saveaddressbutton:not(:disabled):hover,
#checkout_all .paymentButton:not(:disabled):hover { background-color: #595959 !important; border-color: #595959 !important; }
#checkout_all .checkout_continue_button:not(:disabled):hover { background-color: #631013 !important; }

.classicCart .cartServiceHints { text-align: left; }
.classicCart .cartGrandTotal > .right { font-weight: 400; }
.shippingDrawerContent .helpContent { box-sizing: border-box; float: none; width: 100%; max-width: 100%; margin: 0; padding: 0; }

#checkout_all:has(#review) select { background-color: #f7f7f7 !important; }
#checkout_all #paymentsList .checkoutPaymentLabel input[type="radio"] {
    appearance: none !important; box-sizing: border-box; border: 1px solid #6e6e6e; border-radius: 50%; background: #fff !important;
}
#checkout_all #paymentsList .checkoutPaymentLabel input[type="radio"]:checked {
    background: radial-gradient(circle, #808c89 0 5px, #fff 5.5px) !important;
}

@media (min-width: 1030px) {
    #checkout_all:has(#review) { display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 0 30px; max-width: none; }
    #checkout_all:has(#review) > #checkoutcontent:not([data-review-stripe="true"]) { width: auto; margin: 0; }
    #checkout_all:has(#review) > #cart_side { width: auto; min-width: 0; padding: 20px; box-sizing: border-box; }
    #checkout_all:has(#review) .mobileOnly { display: none !important; }
}

.art_info .price, ul.articlesList li.category_article .price { margin-top: 10px !important; font-size: 1rem !important; }

@media (max-width: 1029px) {
    #checkout_all, #checkout_all:has(#checkoutcontent[data-review-stripe="true"]) { display: block !important; width: 100%; max-width: 100%; box-sizing: border-box; }
    #checkout_all > #checkoutcontent:not([data-review-stripe="true"]) { display: block; width: 100%; max-width: 100%; margin: 0; }
    #checkout_all > #checkoutcontent[data-review-stripe="true"] { display: contents; }
    #checkout_all .checkoutReviewContent, #checkout_all .reviewrow, #checkout_all .reviewcolumn,
    #checkout_all .reviewblock, #checkout_all .reviewExtrablock { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; }
    #checkout_all > #cart_side { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; margin: 28px 0 0 !important; padding: 16px; border: 0; }
    #checkout_all #checkout-payment-panel { width: 100%; max-width: 100%; box-sizing: border-box; }
    #checkout_all textarea { box-sizing: border-box; width: 100%; max-width: 100%; }
}

.cartOverlay .radiocheckmark, #checkout_all .radiocheckmark,
.cartOverlay .outerradio, #checkout_all .outerradio { background-color: #fff !important; border-color: #6e6e6e !important; }
.cartOverlay .saveCommentButton:not(:disabled):hover { background: #595959 !important; border-color: #595959 !important; }

/* Review reauthorization: payment and purchase must occupy separate grid rows.
   Match the payment-layout selectors so the later review overrides win. */
@media (min-width: 1030px) {
    #checkout_all > #checkoutcontent[data-review-stripe="true"] > .checkoutReviewContent {
        grid-column: 1; grid-row: 1 / span 2;
    }
    #checkout_all > #checkoutcontent[data-review-stripe="true"] > #checkout-payment-panel[data-review-active="true"] {
        grid-column: 2; grid-row: 1;
        margin: var(--review-payment-top, 92px) 0 24px;
        padding: 0; min-width: 0;
    }
    #checkout_all:has(> #checkoutcontent[data-review-stripe="true"]) > #cart_side {
        grid-column: 2; grid-row: 2;
        margin-top: 0 !important;
    }
}

/* A floating mobile purchase bar must not cover a required wallet confirmation.
   Return to the existing sticky behavior once the wallet is confirmed/hidden. */
@media (max-width: 899px) {
    #checkout_all:has(#paypal-review-approval paypal-button:not([hidden])) .checkoutMobilePurchaseSlot,
    #checkout_all:has(#checkout-payment-panel[data-review-active="true"] #stripe-review-express-checkout:not([hidden])) .checkoutMobilePurchaseSlot {
        height: auto !important;
    }
    #checkout_all:has(#paypal-review-approval paypal-button:not([hidden])) .checkoutMobilePurchase,
    #checkout_all:has(#checkout-payment-panel[data-review-active="true"] #stripe-review-express-checkout:not([hidden])) .checkoutMobilePurchase {
        position: static !important;
        width: 100% !important;
        transform: none !important;
        box-shadow: none;
    }
}

#checkout_all #paypal-review-approval { order: -1; width: 100%; max-width: 100%; margin: 0 auto 24px; padding: 0; box-sizing: border-box; }
#checkout_all #paypal-review-approval p { margin: 0 0 24px; font-size: 16px; }
#checkout_all #paypal-review-approval paypal-button { display: block; width: 100%; }
#checkout_all #paypal-review-approval paypal-button[hidden] { display: none; }

/* The PayPal purchase button replaces the regular purchase button while approval is required. */
#checkout_all:has(#paypal-review-approval paypal-button:not([hidden])) :is(#checkout_continue_button, .checkout_continue_button),
#checkout_all:has(#paypal-review-approval paypal-button:not([hidden])) .reviewOrderButtonDiv { display: none !important; }

/* Keep the legal acceptance text clear of the purchase controls on all devices. */
#checkout_all #termsdiv .column.termsinfotext {
    box-sizing: border-box;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

/* Final checkout: clean review cards and equal spacing around legal acceptance. */
#checkout_all .reviewblock { border: solid 1px #c3c3c3 !important; }
#checkout_all #termsdiv { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
#checkout_all #termsdiv .checkoutrow { margin-top: 0 !important; margin-bottom: 0 !important; }
#checkout_all #termsdiv .column.termsinfotext { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 20px !important; padding-bottom: 20px !important; }
#checkout_all[data-paypal-purchase-visible="true"] :is(#checkout_continue_button, .checkout_continue_button),
#checkout_all[data-paypal-purchase-visible="true"] .reviewOrderButtonDiv { display: none !important; visibility: hidden !important; }

.checkoutOrderLoading[hidden] { display: none !important; }
.checkoutOrderLoading { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; background: rgb(255 255 255 / .92); padding: 24px; box-sizing: border-box; }
.checkoutOrderLoadingContent { text-align: center; color: #222; font-size: 1rem; }
.checkoutOrderSpinner { display: inline-block; width: 46px; height: 46px; box-sizing: border-box; border: 5px solid #ead4d4; border-top-color: #630c0c; border-radius: 50%; animation: checkoutOrderSpin .8s linear infinite; }
@keyframes checkoutOrderSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .checkoutOrderSpinner { animation-duration: 2s; } }

/* Address cards keep their thin outline; the payment/status block remains borderless. */
#checkout_all #review .reviewblock[data-block="address"],
#checkout_all #review .reviewblock[data-block="addressDelivery"] { border: 1px solid #c3c3c3 !important; }
/* Cover theme purchase controls placed outside the main checkout container too. */
body:has(#checkout_all[data-paypal-purchase-visible="true"]) :is(#checkout_continue_button, .checkout_continue_button) { display: none !important; visibility: hidden !important; }

/* Non-card controls and the purchase/legal area deliberately have no frame. */
#checkout_all #activateExtraAddressDiv,
#checkout_all #releaseAuthorizationBlock,
#checkout_all #releaseAuthorizationBlock .reviewblock,
#checkout_all .releaseAuthorizationBlock,
#checkout_all .reviewblock.releaseBlock,
#checkout_all #paypal-review-approval,
#checkout_all #checkout-payment-panel,
#checkout_all .reviewExtrablock { border: 0 !important; }
#checkout_all #paypal-review-phone-error { color: #630c0c; margin: 0 0 20px; text-align: left; }
#checkout_all #paypal-review-phone-error[hidden] { display: none !important; }

/* Checkout and calendar refinements, 10 November 2026. */
#checkout_all #review .reviewblock { width: 380px; max-width: 100%; }
#checkout_all form.addressform input:not([type="checkbox"]):not([type="radio"]),
#checkout_all form.addressform select,
#checkout_all form.addressform textarea { border-radius: 8px !important; }
#checkout_all #review #activateExtraAddressDiv { border: 0; padding: 12px 24px; margin-top: 0; }
#checkout_all #review [data-block="address"] #releaseAuthorizationBlock { margin-top: 24px; }
#checkout_all #review [data-block="address"] .releaseBlock { width: 100%; margin: 0; padding: 0; border: 0; }
#checkout_all #review [data-block="address"] .releaseAuthorizationBlock > div { display: flex; align-items: flex-start; gap: 8px; }
#checkout_all #review [data-block="address"] .releaseText { flex: 1; }
#checkout_all #review [data-block="address"] .releaseText .alert { font-size: .8em; text-align: center; }
#checkout_all #checkout-payment-panel[data-review-active="true"],
#checkout_all #checkout-payment-panel[data-review-active="true"] #stripe-review-controls,
#checkout_all #checkout-payment-panel[data-review-active="true"] #stripe-review-controls > .content,
#checkout_all #checkout-payment-panel[data-review-active="true"] #stripe-review-status {
    border: 0 !important; box-shadow: none !important; outline: 0; background: transparent;
}
#checkout_all:has(#review) #cart_side > .checkout_side_buttondiv { margin: 0 !important; padding: 30px 0 !important; }
#checkout_all:has(#review) #cart_side > #termsdiv { margin-bottom: 0; }
#checkout_all #checkout_continue_button.buynow,
#checkout_all .checkout_continue_button {
    display: flex; justify-content: center; align-items: center;
    text-align: center; box-sizing: border-box; text-indent: 0; gap: 0;
}
#checkout_all #checkout_continue_button[hidden],
#checkout_all .checkout_continue_button[hidden] { display: none !important; }
#checkout_all:has(#review) #cart_side > .checkoutReviewVoucher {
    display: block !important; visibility: visible !important; order: -3; width: auto;
}
#checkout_all:has(#review) .checkoutReviewVoucher .inputDiv { display: flex; }
#checkout_all #cart_side .quantityrow select { font-size: 1em !important; padding: 10px !important; }
#checkout_all .checkoutMobilePurchase #checkout_continue_button { margin-top: 30px; margin-bottom: 30px; }
.checkoutHeaderCart { display: inline-flex; align-items: center; gap: 5px; margin-right: 20px; color: inherit; text-decoration: none; }
.shopcontrols.extra { align-items: center; }
.cartOverlay .outerSelector, #checkout_all .outerSelector {
    display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
    border-radius: 50%; border: 1px solid #adadac !important; width: 25px; height: 25px; flex: 0 0 25px;
}
#sideCartCheckoutError { color: #b32025; font-size: 14px; margin-bottom: 12px; }
.classicCart .cartSecureHint { grid-column: 1 / -1; text-align: center; }
.classicCart .cartSecurityIcon { display: block; margin: 0 auto 10px; color: #65735d; }
.classicCart .cartSecureHint p { margin: 6px 0; }
.classicCart .cartAcceptedLabel { font-size: 12px; color: #666; margin-top: 16px; }
.cartPaymentBadges { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.paymentBadge { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 28px; padding: 3px 10px; border: 1px solid #e3e3e3; border-radius: 5px; background: white; color: #222; font: 600 12px/1.2 Arial, sans-serif; }
.paypalBadge { color: #003087; font-style: italic; }
.googlePayG { color: #4285f4; font-weight: 700; font-size: 16px; }
/* Restyle the existing jQuery datepicker; selectable dates and callbacks stay intact. */
#ui-datepicker-div.ui-datepicker, #selectDateContainer .ui-datepicker {
    box-sizing: border-box; width: 320px; max-width: calc(100vw - 32px);
    padding: 16px; border: 1px solid #e6e2df; border-radius: 16px;
    background: #fff; box-shadow: 0 12px 32px #33221b1a;
    color: #272422; font-family: inherit;
}
#selectDateContainer .ui-datepicker { width: 100%; margin-top: 14px; box-shadow: 0 4px 16px #33221b0a; }
.ui-datepicker .ui-datepicker-header { padding: 8px 0 16px; border: 0; border-radius: 0; background: transparent; color: #272422; }
.ui-datepicker .ui-datepicker-title { font-size: 16px; font-weight: 700; line-height: 28px; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { top: 8px; width: 28px; height: 28px; border: 1px solid #e7e2de; border-radius: 50%; cursor: pointer; background: #faf8f6; }
.ui-datepicker .ui-datepicker-prev { left: 0; }
.ui-datepicker .ui-datepicker-next { right: 0; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { background: #f1e9e4; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { background-image: none; text-indent: -9999px; overflow: visible; }
.ui-datepicker .ui-datepicker-prev span::after, .ui-datepicker .ui-datepicker-next span::after { content: ''; position: absolute; width: 6px; height: 6px; top: 4px; left: 5px; border: solid #514740; border-width: 0 1.5px 1.5px 0; transform: rotate(135deg); }
.ui-datepicker .ui-datepicker-next span::after { transform: rotate(-45deg); left: 3px; }
.ui-datepicker table { width: 100%; border-collapse: separate; border-spacing: 3px; margin: 0; }
.ui-datepicker th { padding: 7px 0; color: #867b74; font-size: 11px; font-weight: 600; text-transform: uppercase; }
.ui-datepicker td { padding: 0; border: 0; }
.ui-datepicker td a.ui-state-default, .ui-datepicker td span.ui-state-default { display: flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 34px; padding: 5px; border: 0 !important; border-radius: 8px; text-align: center; font-size: 13px; }
.ui-datepicker td:not(.ui-datepicker-unselectable):not(.ui-state-disabled) a.ui-state-default { background: #eef2e9 !important; color: #34422d !important; }
.ui-datepicker td:not(.ui-datepicker-unselectable):not(.ui-state-disabled) a.ui-state-default:hover { background: #dae3d1 !important; }
.ui-datepicker td:not(.ui-datepicker-unselectable):not(.ui-state-disabled) a.ui-state-active { background: #7c1316 !important; color: #fff !important; }
.ui-datepicker td.ui-datepicker-today a:not(.ui-state-active) { box-shadow: inset 0 0 0 1px #a8b698; }
.ui-datepicker td.ui-state-disabled { opacity: .4; }
.ui-datepicker td.ui-state-disabled span { background: transparent; color: #a79d97; }
.ui-datepicker a:focus-visible { outline: 2px solid #7c1316; outline-offset: 2px; }
@media (max-width: 767px) {
    .shopcontrols.extra:has(.checkoutHeaderCart) { display: flex; }
    .checkoutHeaderCart { margin-right: 14px; }
    #checkout_all #review .reviewblock { width: 380px; max-width: 100%; }
}

/* Desktop review refinements: 10 November 2026. */
@media (min-width: 900px) {
    #checkout_all #checkout-payment-panel[data-review-active="true"] #stripe-review-status {
        background-color: #dee6e4 !important;
    }
    #checkout_all:has(#review) #cart_side > .checkoutReviewVoucher {
        box-sizing: border-box; width: 100% !important;
        margin: 0 0 2px !important; padding: 10px 10px;
    }
    #checkout_all .checkoutReviewVoucher summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
    #checkout_all .checkoutReviewVoucher summary::after {
        content: ''; float: none; flex: 0 0 10px; width: 10px; height: 10px;
        margin: -5px 4px 0 0; border: solid currentColor; border-width: 0 2px 2px 0;
        transform: rotate(45deg);
    }
    #checkout_all .checkoutReviewVoucher[open] summary::after { transform: rotate(225deg); margin-top: 5px; }
    #checkout_all #checkout_continue_button.buynow,
    #checkout_all .checkout_continue_button.buynow {
        display: flex !important; align-items: center; justify-content: center;
        box-sizing: border-box; text-align: center !important; text-indent: 0 !important;
        padding-inline: 20px !important; line-height: 1.3; min-height: 50px; height: auto;
    }
}
/* Wallet purchase controls replace every shop purchase copy, including theme AJAX updates. */
body:has(#checkout_all #checkout-payment-panel[data-review-active="true"]:not([hidden]) #stripe-review-express-checkout:not([hidden])) :is(#checkout_continue_button, .checkout_continue_button),
body:has(#checkout_all #paypal-review-approval:not([hidden]) paypal-button:not([hidden])) :is(#checkout_continue_button, .checkout_continue_button),
#checkout_all #checkout_continue_button[hidden], #checkout_all .checkout_continue_button[hidden] {
    display: none !important;
}

/* Final desktop spacing and liability tooltip. */
@media (min-width: 900px) {
    #checkout_all #checkout-payment-panel[data-review-active="true"] #stripe-review-status { background-color: #dee6e4 !important; }
    #checkout_all:has(#review) #termsdiv { position: relative; top: -10px; }
    #checkout_all:has(#review) #checkout_continue_button.buynow { position: relative; top: -20px; }
    #checkout_all:has(#review) #checkout_side_sums { padding-top: 10px !important; }
}
#checkout_all .releaseInfo { position: relative; display: inline-flex; vertical-align: middle; margin-left: 6px; }
#checkout_all .releaseInfoButton { display: inline-flex; align-items: center; justify-content: center; padding: 0; width: 18px; height: 18px; min-width: 18px; border: 0; background: transparent; color: inherit; cursor: help; line-height: 1; }
#checkout_all .releaseInfoHint { display: none; position: absolute; z-index: 30; right: 0; bottom: calc(100% + 8px); box-sizing: border-box; width: max-content; max-width: 240px; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; background: #fff; color: #222; box-shadow: 0 4px 16px #0002; font-size: 13px; font-weight: 400; line-height: 1.4; text-align: left; }
#checkout_all .releaseInfo:hover .releaseInfoHint,
#checkout_all .releaseInfo:focus-within .releaseInfoHint { display: block; }
#checkout_all .releaseInfoButton:focus-visible { outline: 2px solid #7c1316; outline-offset: 3px; }

/* Desktop voucher height and explicit space between legal text and purchase. */
@media (min-width: 900px) {
    #checkout_all:has(#review) .checkoutReviewVoucher input { box-sizing: border-box; height: 45px; min-height: 45px; padding-block: 10px; }
    #checkout_all:has(#review) #termsdiv { top: 0; }
    #checkout_all:has(#review) #termsdiv .column.termsinfotext { padding-bottom: 0 !important; }
    #checkout_all:has(#review) #cart_side > .checkout_side_buttondiv { padding-top: 40px !important; }
    #checkout_all:has(#review) #checkout_continue_button.buynow { top: 0; margin-top: 0 !important; }
}
