/* Cart and checkout pages: WooCommerce's cart and checkout blocks dressed in the site's look.
   Base colours for inputs and buttons are in woocommerce.css; this file does layout and detail.
   WooCommerce's block CSS loads late and uses long selectors, hence the doubled classes. */

/* Page */
.wc-page{padding-top:var(--s-10)}
.wc-page .page-head{padding-bottom:var(--s-6)}
.wc-page .page-head h1{font-size:clamp(34px,4vw,48px)}
.dv-checkout .wc-page .page-head{display:none}
.wc-content .wc-block-components-sidebar-layout{margin-bottom:0}
.wc-content a:not(.wc-block-components-button){color:var(--gold)}
.wc-content .wc-block-components-product-name{color:var(--ink)!important;text-decoration:none}

/* Free-shipping bar and gift note on the cart page */
.cart-ship:empty{display:none}
.cart-ship{margin-bottom:var(--s-6);padding:16px 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);font-size:var(--fs-md)}
.cart-ship .track{margin-top:10px;height:6px;border-radius:3px;background:var(--panel-2);overflow:hidden}
.cart-ship .fill{height:100%;background:var(--gold);transition:width .4s ease}
.cart-ship b{color:var(--gold);font-weight:600}
.cart-extra{display:none}
.cart-extra.is-placed{display:block;padding:20px 0 4px}
.cart-note{position:relative}
.cart-note label{display:inline-flex;align-items:center;gap:10px;min-height:var(--tap);font-size:var(--fs-base);color:var(--ink);cursor:pointer}
.cart-note label .icon{width:20px;height:20px;color:var(--gold)}
.cart-note input{width:18px;height:18px;accent-color:var(--gold)}
.cart-note textarea{display:block;width:100%;margin-top:8px;min-height:96px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--night-2);color:var(--ink);font:inherit;font-size:var(--fs-md)}
.cart-note textarea[hidden]{display:none}
.cart-note textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(236,196,128,.18)}
.cart-note .saved{position:absolute;right:0;top:12px;font-size:var(--fs-sm);color:var(--ok)}

/* Line items: name, price, short and quiet */
.wc-content .wc-block-components-product-metadata__description{display:none}
.wc-content .wc-block-components-product-name{font-family:var(--display);font-size:18px;line-height:1.3}
.wc-content .wc-block-components-product-details{margin:4px 0 0;font-size:var(--fs-sm);color:var(--ink-3)}
.wc-content .wc-block-components-product-details__name{font-weight:400}
.wc-content .wc-block-cart-item__image img,.wc-content .wc-block-components-order-summary-item__image img{border-radius:12px;background:var(--stage);aspect-ratio:1;object-fit:cover}

/* Cart table */
.wc-block-cart .wc-block-cart-items .wc-block-cart-items__header{font-size:var(--fs-xs);letter-spacing:.12em;color:var(--ink-3)}
.wc-block-cart .wc-block-cart-items .wc-block-cart-items__row{padding:24px 0}
.wc-block-cart .wc-block-cart-items .wc-block-cart-item__image{width:96px;padding-right:20px}
.wc-block-cart .wc-block-cart-item__prices{font-size:var(--fs-md);color:var(--ink-2)}
.wc-block-cart .wc-block-cart-item__total{font-weight:600;color:var(--ink)}
.wc-block-cart .wc-block-cart-item__quantity{margin-top:12px;display:flex;align-items:center;gap:12px}
.wc-block-cart .wc-block-components-quantity-selector{width:120px;height:var(--tap);margin:0}
.wc-block-cart .wc-block-components-quantity-selector:not(:has(button)){width:auto;border:0!important}
.wc-block-cart .wc-block-components-quantity-selector:not(:has(button)) input{width:auto;padding:0;text-align:left;font-size:var(--fs-sm);color:var(--ink-3)!important;pointer-events:none}
.wc-block-cart .wc-block-components-quantity-selector:not(:has(button))::before{content:"Qty\00a0";align-self:center;font-size:var(--fs-sm);color:var(--ink-3)}
.wc-block-cart .wc-block-components-quantity-selector:not(:has(button))::after{display:none}
.wc-block-cart .wc-block-cart-item__remove-link{width:var(--tap);height:var(--tap);display:inline-grid;place-items:center;border-radius:50%;color:var(--ink-3)!important;opacity:1}
.wc-block-cart .wc-block-cart-item__remove-link:hover{color:var(--ink)!important;background:var(--panel)}

/* Totals and order summary: a panel, as in the drawer */
.wc-block-cart .wc-block-cart__sidebar>.wp-block-woocommerce-cart-order-summary-block,
.wc-block-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-checkout .checkout-order-summary-block-fill-wrapper{padding:8px 20px 4px;border:1px solid var(--line)!important;border-radius:var(--r-lg);background:var(--panel)}
.wc-block-cart .wc-block-cart__totals-title{display:block;margin:0;padding:16px 0 12px!important;font-family:var(--display)!important;font-size:22px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;text-align:left!important;color:var(--ink)}
.wc-content .wc-block-components-totals-wrapper{padding:14px 0!important;border-top:1px solid var(--line)!important}
.wc-content .wc-block-components-totals-wrapper:empty{display:none}
.wc-content .wc-block-components-totals-item{color:var(--ink-2);font-size:var(--fs-md)}
.wc-content .wc-block-components-totals-footer-item{color:var(--ink)}
.wc-content .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-family:var(--display);font-size:22px;font-weight:400}
.wc-content .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:22px;font-weight:600}
.wc-content .wc-block-components-totals-item__description{font-size:var(--fs-sm);color:var(--ink-3)}
.wc-content .wc-block-components-panel__button{font-size:var(--fs-md);padding-block:10px!important;margin:0!important}
.wc-content .wc-block-components-panel__button-icon{fill:var(--ink-3)}
.wc-content .wc-block-components-totals-coupon__form{gap:8px}
.wc-block-cart .wc-block-cart__submit{margin:20px 0 0}
.wc-block-cart .wc-block-cart__submit-button{width:100%}
.wc-block-cart .wc-block-cart__payment-options{padding:0}

/* Phone: WooCommerce pins the cart's checkout button to the bottom of the screen */
.wc-block-cart .wc-block-cart__submit-container--sticky{padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom,0px));background:var(--drawer);border-top:1px solid var(--line)}
.wc-block-cart .wc-block-cart__submit-container--sticky::before{display:none}

/* Checkout steps */
.wc-block-checkout .wc-block-components-checkout-step{margin-bottom:var(--s-8)}
.wc-block-checkout .wc-block-components-checkout-step__heading{margin:0 0 16px}
.wc-block-checkout .wc-block-components-checkout-step__title{font-size:24px!important;color:var(--ink)}
.wc-block-checkout .wc-block-components-checkout-step__heading-content a{color:var(--gold)}
.wc-block-checkout .wc-block-checkout__guest-checkout-notice{margin-top:8px;font-size:var(--fs-sm)}
.wc-block-checkout .wc-block-components-address-form__address_2-toggle{color:var(--gold);font-size:var(--fs-md)}
.wc-block-checkout .wc-block-components-address-card{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--night-2);color:var(--ink-2)}
.wc-block-checkout .wc-block-components-address-card__edit{color:var(--gold)}
.wc-block-checkout .wc-block-checkout__no-payment-methods-notice{margin:0}
/* Stripe loads its methods a moment after the page; hold this notice back so it does not flash first. */
/* While they load (up to 15s on a cold first visit), the box reads "Loading payment options…" in calm colors
   instead of the error; only if nothing has loaded by then does the real notice show. */
.wc-block-checkout .wc-block-checkout__no-payment-methods-notice{position:relative}
.wc-block-checkout .wc-block-checkout__no-payment-methods-notice>*{animation:dv-pay-wait-hide 0s linear 15s both}
.wc-block-checkout .wc-block-checkout__no-payment-methods-notice::before{content:"Loading payment options\2026";position:absolute;inset:-1px -1px -1px -3px;z-index:1;display:flex;align-items:center;padding:0 18px;border:1px solid var(--line);border-radius:inherit;background:var(--panel);color:var(--ink-3);font-size:var(--fs-sm);animation:dv-pay-wait-label 1.4s ease-in-out infinite alternate,dv-pay-wait-gone 0s linear 15s forwards}
@keyframes dv-pay-wait-hide{from{visibility:hidden}to{visibility:visible}}
@keyframes dv-pay-wait-label{from{opacity:.55}to{opacity:1}}
@keyframes dv-pay-wait-gone{to{visibility:hidden}}
.wc-block-checkout .wc-block-checkout__terms{margin:0 0 20px;padding-top:20px;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-3)}
.wc-block-checkout .wc-block-checkout__terms a{color:var(--ink-2);text-decoration:underline}
.wc-block-checkout .wc-block-checkout__actions_row{flex-direction:column;align-items:stretch;gap:16px}
.wc-block-checkout .wc-block-components-checkout-place-order-button{width:100%;font-size:var(--fs-lg)}
.wc-block-checkout .wc-block-components-checkout-return-to-cart-button{color:var(--ink-3)!important;font-size:var(--fs-md);padding-left:0}
.wc-block-checkout .wc-block-components-checkout-return-to-cart-button svg{fill:currentColor}
.wc-block-checkout .wc-block-components-checkout-place-order-button::after{content:"";display:none}

/* WooCommerce indents everything inside its sidebar; the panel already has padding */
.wc-content .wc-block-components-sidebar .wc-block-components-panel,
.wc-content .wc-block-components-sidebar .wc-block-components-totals-coupon,
.wc-content .wc-block-components-sidebar .wc-block-components-totals-item,
.wc-content .wc-block-components-checkout-order-summary__title,
.wc-content .checkout-order-summary-block-fill .wc-block-components-totals-item,
.wc-content .checkout-order-summary-block-fill .wc-block-components-panel,
.wc-content .wc-block-components-order-summary{padding-left:0!important;padding-right:0!important}
.wc-block-checkout .checkout-order-summary-block-fill-wrapper{margin-bottom:var(--s-6)}
.wc-block-checkout .checkout-order-summary-block-fill-wrapper>h2{margin:0;padding:16px 0 4px;font-family:var(--display);font-size:22px;font-weight:400}

/* Order summary items */
.wc-content .wc-block-components-checkout-order-summary__title{padding:16px 0 12px;margin:0}
.wc-content .wc-block-components-checkout-order-summary__title-text{font-family:var(--display);font-size:22px;color:var(--ink)}
.wc-content .wc-block-components-checkout-order-summary__title-price{font-weight:600}
.wc-content .wc-block-components-order-summary{padding:0!important}
.wc-content .wc-block-components-order-summary .wc-block-components-order-summary-item{padding:12px 0;align-items:flex-start}
.wc-content .wc-block-components-order-summary-item__image{width:64px;flex:none}
.wc-content .wc-block-components-order-summary-item__image>img{width:64px;max-width:64px}
.wc-content .wc-block-components-order-summary-item__quantity{min-width:22px;height:22px;border:0!important;border-radius:11px;background:var(--gold)!important;color:var(--gold-ink)!important;box-shadow:0 0 0 2px var(--panel)!important;font-size:12px;font-weight:600}
.wc-content .wc-block-components-order-summary-item__description{padding:0 12px 0 18px}
.wc-content .wc-block-components-order-summary-item__description .wc-block-components-product-name{font-size:16px}
.wc-content .wc-block-components-order-summary-item__individual-prices{display:none}
.wc-content .wc-block-components-order-summary-item__total-price{font-weight:600;color:var(--ink)}
.wc-content .wc-block-components-order-summary-item__total-price .wc-block-components-product-details{display:none}
.wc-content .wc-block-components-order-summary-item__description .wc-block-components-product-details{display:block}

/* Gift note from the cart, under the order summary */
.co-gift-note{display:none}
.co-gift-note.is-placed{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin-top:16px;padding:16px 20px;border:1px solid var(--gold-line);border-radius:var(--r-lg);background:var(--panel);font-size:var(--fs-md)}
.co-gift-note .icon{color:var(--gold)}
.co-gift-note b{color:var(--ink);font-weight:600}
.co-gift-note p{margin:4px 0 6px;color:var(--ink-2);font-family:var(--display);font-style:italic;overflow-wrap:anywhere}
.co-gift-note a{font-size:var(--fs-sm);color:var(--gold);text-decoration:underline}

/* Phone: the checkout summary folds into a panel at the top */
@media (max-width:699px){
  .wc-page{padding-top:var(--s-6)}
  .wc-block-checkout .wc-block-components-checkout-order-summary__title{padding:14px 0}
  .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block{margin-bottom:var(--s-6)}
  .wc-block-checkout .wc-block-components-checkout-step__title{font-size:22px!important}
  .wc-block-cart .wc-block-cart-items .wc-block-cart-item__image{width:84px;padding-right:16px}
  .wc-block-cart .wc-block-cart__sidebar>.wp-block-woocommerce-cart-order-summary-block{margin-top:var(--s-6)}
  .cart-ship{padding:14px 16px}
}
.wc-block-checkout .checkout-order-summary-block-fill{border:0!important;padding:0!important;margin:0!important}

/* ------------------------------------------------------------------------------------------
   Checkout: two columns, laid out like Shopify's checkout (form left, order summary on a panel to
   the right), because shoppers already know it. Same night palette as the rest of the site; the
   form sits on the night colour, the summary on a slightly lighter panel.
   ------------------------------------------------------------------------------------------ */
body.dv-checkout{
  --co-link:var(--gold); --co-focus:var(--gold); --co-r:10px;
  --co-field:var(--night-2); --co-side:var(--panel);
  background:var(--night);
}
.dv-checkout .wc-page{max-width:none;padding:0}
.dv-checkout .wc-content a:not(.wc-block-components-button){color:var(--co-link)}

/* Header: logo and cart, nothing else */
.dv-checkout .hdr-co{position:static;background:var(--night);border-bottom:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none}
.dv-checkout .hdr-co .hdr-in{height:72px;padding:0 var(--gutter)}
.dv-checkout .co-cart{display:inline-grid;place-items:center;width:var(--tap);height:var(--tap);color:var(--co-link)}
.dv-checkout .co-cart .icon{width:24px;height:24px}

/* Policy links under the form */
.ftr-co{border-top:1px solid var(--line);background:var(--night)}
.ftr-co-in{display:flex;flex-wrap:wrap;gap:4px 18px;padding:16px var(--gutter) calc(20px + env(safe-area-inset-bottom,0px))}
.ftr-co-in a{min-height:36px;display:inline-flex;align-items:center;font-size:var(--fs-sm);color:var(--co-link);text-decoration:underline}

/* Type: section titles in the site's serif, the rest plain and readable */
.dv-checkout .wc-block-components-title.wc-block-components-title,
.dv-checkout .wc-block-components-checkout-step__title{font-family:var(--display)!important;font-weight:400!important;font-size:24px!important;letter-spacing:0;color:var(--ink)}
.dv-checkout .wc-block-checkout .wc-block-components-checkout-step{margin-bottom:28px}
.dv-checkout .wc-block-checkout .wc-block-components-checkout-step__heading{margin:0 0 14px}
.dv-checkout .wc-block-components-checkout-step__heading-content{font-size:var(--fs-md)}
.dv-checkout .wc-content .wc-block-components-product-name{font-family:var(--body);font-size:14px;font-weight:600;line-height:1.35}
.dv-checkout .wc-content .wc-block-components-product-details{font-size:13px}

/* Fields: dark, thin border, gold focus ring */
.dv-checkout .wc-block-components-text-input input[type],
.dv-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
.dv-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.dv-checkout .wc-block-components-textarea{border-radius:var(--co-r)!important;border-color:var(--line-strong)!important;background:var(--co-field)!important;color:var(--ink)!important}
.dv-checkout .wc-blocks-components-select .wc-blocks-components-select__container{border-radius:var(--co-r);background:var(--co-field)}
.dv-checkout .wc-block-components-text-input input[type]:focus,
.dv-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus{border-color:var(--co-focus)!important;box-shadow:0 0 0 1px var(--co-focus)!important}
.dv-checkout .wc-block-components-text-input label,.dv-checkout .wc-blocks-components-select .wc-blocks-components-select__label{color:var(--ink-3)!important}
.dv-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{background:var(--co-field);border-color:var(--line-strong);border-radius:4px}
.dv-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--gold);border-color:var(--gold)}
.dv-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:var(--gold-ink)}
.dv-checkout .wc-block-components-address-card{background:var(--co-field);color:var(--ink);border-radius:var(--co-r)}

/* Shipping method and payment: options in one bordered box, as on Shopify */
.dv-checkout .wc-block-components-radio-control--highlight-checked,
.dv-checkout .wc-block-components-radio-control{border-radius:var(--co-r)}
.dv-checkout .wc-block-components-radio-control__option{color:var(--ink)}
.dv-checkout .wc-block-components-radio-control__input{background:var(--co-field)!important;border-color:var(--line-strong)!important}
.dv-checkout .wc-block-components-radio-control__input:checked{border-color:var(--gold)!important}
.dv-checkout .wc-block-components-radio-control__input:checked::before{background:var(--gold)!important}
.dv-checkout .wc-block-components-radio-control--highlight-checked::after{border-color:var(--line-strong)!important}
.dv-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.dv-checkout .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted{box-shadow:inset 0 0 0 1px var(--gold);border-radius:var(--co-r);background:var(--panel-2)}
/* One solid navy panel for the options; the chosen one a shade lighter with a gold edge. No
   see-through gold tint: over the page's warm glow it turned brown next to Stripe's navy fields. */
.dv-checkout .wc-block-components-radio-control--highlight-checked,
.dv-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control{background:var(--panel)}
.dv-checkout .wc-block-components-radio-control-accordion-option,
.dv-checkout .wc-block-components-radio-control__option{background:transparent}
.dv-checkout .wc-block-components-radio-control-accordion-content{background:transparent;color:var(--ink-2)}

.dv-checkout .wc-block-components-shipping-rates-control__no-results-notice,
.dv-checkout .wc-block-checkout__no-shipping-placeholder{padding:16px;border-radius:var(--co-r);background:var(--panel);color:var(--ink-3);font-size:var(--fs-md)}
.dv-checkout .wc-block-components-notice-banner{border-radius:var(--co-r)!important;background:var(--panel)!important;color:var(--ink)!important}
.dv-checkout .wc-block-components-notice-banner.is-error{background:rgba(240,138,126,.08)!important;border-color:rgba(240,138,126,.4)!important;border-left:1px solid rgba(240,138,126,.4)!important}
.dv-checkout .wc-block-components-notice-banner>svg{fill:var(--error)}

/* Pay now */
.dv-checkout .wc-block-checkout__terms{border-top:0;padding-top:0;font-size:var(--fs-sm)}
.dv-checkout .wc-block-components-checkout-place-order-button{border-radius:var(--co-r)!important;min-height:58px;font-size:19px!important;font-weight:600}

/* Order summary */
.dv-checkout .wc-block-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
.dv-checkout .wc-block-checkout .checkout-order-summary-block-fill-wrapper{padding:0;border:0!important;border-radius:0;background:none}
.dv-checkout .wc-content .wc-block-components-checkout-order-summary__title-text{font-family:var(--display);font-size:22px;font-weight:400}
.dv-checkout .wc-content .wc-block-components-checkout-order-summary__title{padding-left:0!important;padding-right:0!important;border-top:0!important}
.dv-checkout .wc-content .wc-block-components-checkout-order-summary__title-text{margin-left:0}
.dv-checkout .wc-block-checkout .wc-block-components-address-form__address_2-toggle{color:var(--co-link)}
.dv-checkout .wc-content .wc-block-components-order-summary .wc-block-components-order-summary-item{padding:8px 0;align-items:center}
.dv-checkout .wc-content .wc-block-components-order-summary-item__image{width:64px;height:64px;border:1px solid var(--line);border-radius:var(--co-r);background:var(--stage)}
.dv-checkout .wc-content .wc-block-components-order-summary-item__image>img{width:62px;max-width:62px;height:62px;border-radius:var(--co-r);background:none;object-fit:contain}
.dv-checkout .wc-content .wc-block-components-order-summary-item__quantity{top:-9px;right:-9px;min-width:22px;height:22px;background:var(--ink-3)!important;color:var(--night)!important;box-shadow:none!important}
.dv-checkout .wc-content .wc-block-components-order-summary-item__description{padding:0 12px 0 16px}
.dv-checkout .wc-content .wc-block-components-order-summary-item__total-price{font-size:14px;font-weight:500}
.dv-checkout .wc-content .wc-block-components-totals-wrapper{border-top:0!important;padding:8px 0!important}
.dv-checkout .wc-content .wc-block-components-totals-coupon .wc-block-components-panel__button{display:none}
.dv-checkout .wc-content .wc-block-components-totals-coupon__content{padding:0}
.dv-checkout .wc-content .wc-block-components-totals-coupon__form{display:flex;flex-wrap:nowrap;gap:10px;align-items:stretch}
.dv-checkout .wc-content .wc-block-components-totals-coupon__form>:first-child{flex:1 1 auto;min-width:0;margin:0}
.dv-checkout .wc-content .wc-block-components-totals-coupon__button{min-height:50px;height:auto;margin:0;flex:none;width:auto;padding:0 18px;border-radius:var(--co-r)!important;border:1px solid var(--line-strong)!important;background:var(--panel-2)!important;color:var(--ink-2)!important;font-weight:600}
.dv-checkout .wc-content .wc-block-components-totals-item{font-size:14px;color:var(--ink)}
.dv-checkout .wc-content .wc-block-components-totals-item__description{font-size:12px}
.dv-checkout .wc-content .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-family:var(--display);font-size:22px;font-weight:400}
.dv-checkout .wc-content .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:19px;font-weight:600}
.dv-checkout .wc-content .wc-block-components-totals-footer-item .wc-block-components-totals-item__value::before{content:var(--dv-cur-code,"USD");margin-right:8px;font-size:12px;font-weight:400;color:var(--ink-3);vertical-align:2px}
.dv-checkout .co-gift-note.is-placed{background:var(--night-2);border-color:var(--line);border-radius:var(--co-r)}
.dv-checkout .co-gift-note .icon{color:var(--co-link)}

/* Desktop: two halves, the summary panel runs to the right edge */
@media (min-width:1000px){
  body.dv-checkout{background:linear-gradient(90deg,var(--night) 50%,var(--line) 50%,var(--line) calc(50% + 1px),var(--co-side) calc(50% + 1px))}
  .dv-checkout .hdr-co .hdr-in{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;max-width:none}
  .dv-checkout .hdr-co .brand{justify-self:end;width:min(100%,644px);padding:0 64px 0 24px}
  .dv-checkout .hdr-co .co-cart{justify-self:start;margin-left:min(calc(50vw - 68px),488px)}
  .dv-checkout .wp-block-woocommerce-checkout{padding:0}
  .dv-checkout .wc-block-checkout.wc-block-components-sidebar-layout{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0}
  .dv-checkout .wc-block-checkout .wc-block-checkout__main{justify-self:end;width:min(100%,644px);padding:40px 64px 48px 24px;box-sizing:border-box}
  .dv-checkout .wc-block-checkout .wc-block-checkout__sidebar{width:auto;max-width:528px;padding:40px 24px 48px 44px;box-sizing:border-box;position:static;top:auto}
  .dv-checkout .wc-block-checkout .wc-block-checkout__sidebar>.wp-block-woocommerce-checkout-order-summary-block{position:sticky;top:24px}
  .ftr-co{display:grid;grid-template-columns:1fr 1fr;border-top:0;background:none}
  .ftr-co-in{justify-self:end;width:min(100%,644px);box-sizing:border-box;margin:0;padding:16px 64px 32px 24px;border-top:1px solid var(--line)}
}

/* Phone and tablet: summary in a panel bar at the top, form below */
@media (max-width:999px){
  .dv-checkout .wp-block-woocommerce-checkout{padding:0 var(--gutter)}
  .dv-checkout .wc-block-checkout .wc-block-checkout__sidebar{width:auto;margin:0 calc(-1 * var(--gutter)) 24px;padding:0 var(--gutter);background:var(--panel);border-bottom:1px solid var(--line)}
  .dv-checkout .wc-block-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block{margin:0;border-top:0!important}
  .dv-checkout .wc-content .wc-block-components-checkout-order-summary__title{padding:16px 0}
  .dv-checkout .wc-content .wc-block-components-checkout-order-summary__title-text{color:var(--co-link);font-weight:500;font-size:15px}
  .dv-checkout .wc-content .wc-block-components-checkout-order-summary__title-price{font-size:17px;font-weight:600}
  .dv-checkout .wc-block-checkout .checkout-order-summary-block-fill-wrapper{margin:0 0 20px;padding:4px 16px 8px;border-radius:var(--co-r);background:var(--panel)}
  .dv-checkout .wc-block-checkout .checkout-order-summary-block-fill-wrapper>h2{font-family:var(--body);font-size:18px;font-weight:600}
  .dv-checkout .co-gift-note.is-placed{margin:0 0 16px}
}

/* ---------- Pay for an order (woocommerce/checkout/form-pay.php) ---------- */
.dv-checkout.woocommerce-order-pay .wc-page{max-width:1080px;margin:0 auto;padding:var(--s-10) max(var(--gutter),env(safe-area-inset-left,0px)) var(--s-16)}
#order_review.pay{padding:0;border-radius:0;background:none}
.pay-head{max-width:640px;margin:0 0 var(--s-8)}
.pay-head h1{font-size:clamp(30px,4vw,44px);line-height:var(--lh-tight);margin:0 0 12px}
.pay-head p{margin:0;color:var(--ink-2)}
.pay-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--s-6);align-items:start}
.pay-card{padding:24px;border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line)}
.pay-card h2{font-family:var(--body);font-size:var(--fs-lg);font-weight:600;margin:0 0 16px}
.pay-items{list-style:none;margin:0;padding:0}
.pay-items li{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.pay-items li:first-child{padding-top:0}
.pay-items .pic{width:64px;height:64px;border-radius:var(--r-sm);background:var(--stage);overflow:hidden;display:flex;align-items:center;justify-content:center}
.pay-items .pic img{width:100%;height:100%;object-fit:contain}
.pay-items .nm{font-weight:500;min-width:0}
.pay-items .nm small{display:block;margin-top:2px;font-weight:400;font-size:var(--fs-sm);color:var(--ink-3)}
.pay-items .nm .wc-item-meta{margin:4px 0 0;padding:0;list-style:none;font-size:var(--fs-sm);color:var(--ink-3)}
.pay-items .nm .wc-item-meta p{display:inline;margin:0}
.pay-items .amt{font-variant-numeric:tabular-nums;white-space:nowrap}
.pay-totals{margin:12px 0 0}
.pay-totals .row{display:flex;justify-content:space-between;gap:16px;padding:6px 0;font-size:var(--fs-md);color:var(--ink-2)}
.pay-totals dt,.pay-totals dd{margin:0}
.pay-totals dd{font-variant-numeric:tabular-nums;text-align:right}
.pay-totals .row-order_total{margin-top:6px;padding-top:12px;border-top:1px solid var(--line);font-size:var(--fs-lg);font-weight:600;color:var(--ink)}
.pay-totals .row-order_total dd small{display:block;font-size:var(--fs-xs);font-weight:400;color:var(--ink-3)}
.pay #payment{background:none;border-radius:0}
.pay #payment ul.payment_methods{margin:0 0 16px;padding:0;border:0;list-style:none;display:grid;gap:10px}
.pay #payment ul.payment_methods li{margin:0;padding:14px 16px;border:1px solid var(--line-strong);border-radius:var(--r-md)}
.pay #payment ul.payment_methods li:has(input:checked){border-color:var(--gold);background:var(--gold-soft)}
.pay #payment ul.payment_methods li label{font-weight:500;cursor:pointer}
.pay #payment .payment_box{margin:10px 0 0;padding:0;background:none;color:var(--ink-2);font-size:var(--fs-md)}
.pay #payment .payment_box::before{display:none}
.pay #payment .form-row{margin:0;padding:0}
.pay .woocommerce-privacy-policy-text{font-size:var(--fs-sm);color:var(--ink-3);margin-bottom:16px}
.pay #place_order{width:100%;float:none}
.pay-none{margin:0 0 8px;padding:14px 16px;border:1px solid var(--line-strong);border-radius:var(--r-md);color:var(--ink-2)}
.pay-safe{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:var(--fs-sm);color:var(--ink-3)}
.pay-safe .icon{width:16px;height:16px;flex:none}
@media (max-width:820px){
  .pay-grid{grid-template-columns:1fr}
  .pay-card{padding:18px}
}
/* One column: no split background or footer */
@media (min-width:1000px){
  body.dv-checkout.woocommerce-order-pay{background:var(--night)}
  .woocommerce-order-pay .ftr-co{display:block;border-top:1px solid var(--line)}
  .woocommerce-order-pay .ftr-co-in{width:auto;max-width:1080px;margin:0 auto;padding:16px var(--gutter) 32px;border-top:0}
}

/* One frame, not two. WooCommerce draws the group's frame with 4px corners and the chosen option
   gets our 10px gold edge, so the grey frame showed at the corners and beside the gold. The frame
   now has the same corners, options are square except at the group's ends, and the chosen option
   sits above the frame so its edge is pure gold. */
.dv-checkout .wc-block-components-radio-control--highlight-checked::after{border-radius:var(--co-r)!important;z-index:0}
.dv-checkout .wc-block-components-radio-control--highlight-checked>*{border-radius:0!important}
.dv-checkout .wc-block-components-radio-control--highlight-checked>:first-child{border-top-left-radius:var(--co-r)!important;border-top-right-radius:var(--co-r)!important}
.dv-checkout .wc-block-components-radio-control--highlight-checked>:last-child{border-bottom-left-radius:var(--co-r)!important;border-bottom-right-radius:var(--co-r)!important}
.dv-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.dv-checkout .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted{position:relative;z-index:1}
.dv-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted::after,
.dv-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted+.wc-block-components-radio-control-accordion-option::after,
.dv-checkout .wc-block-components-radio-control__option--checked-option-highlighted::after,
.dv-checkout .wc-block-components-radio-control__option--checked-option-highlighted+.wc-block-components-radio-control__option::after{display:none}
/* Kevin, Nov 1: the group's frame and the lines between rows in gold, so the edge doesn't switch
   from gold to grey where the chosen option ends; the chosen option in full gold. (White was tried
   and set back.) */
.dv-checkout .wc-block-components-radio-control--highlight-checked::after{border-color:rgba(236,196,128,.8)!important}
.dv-checkout .wc-block-components-radio-control-accordion-option::after,
.dv-checkout .wc-block-components-radio-control__option::after{background:rgba(236,196,128,.4)!important}

/* Address check (address-check.js): Google suggestions under the street field, and the USPS note
   under the shipping address. */
.dv-checkout #shipping-fields .wc-block-components-text-input{position:relative}
.dv-addr-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);margin:0;padding:6px;list-style:none;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--night-2);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.dv-addr-list li[data-i]{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:calc(var(--r-md) - 4px);cursor:pointer;line-height:1.3}
.dv-addr-list li[data-i]:hover,.dv-addr-list li.is-on{background:rgba(236,196,128,.12)}
.dv-addr-main{color:var(--ink);font-size:var(--fs-md)}
.dv-addr-sub{color:var(--ink-3);font-size:var(--fs-sm)}
.dv-addr-by{padding:6px 12px 2px;text-align:right;color:var(--ink-3);font-size:11px}
.dv-addr-note{grid-column:1/-1;flex:1 1 100%;margin-top:14px;padding:16px 18px;border:1px solid var(--gold-line);border-radius:var(--r-lg);background:var(--panel);font-size:var(--fs-md)}
.dv-addr-note[data-status="unsure"],.dv-addr-note[data-status="unit"]{border-color:rgba(236,160,128,.55)}
.dv-addr-note p{margin:0}
.dv-addr-line{margin-top:8px!important;padding-left:12px;border-left:2px solid var(--gold);color:var(--ink);line-height:1.45}
.dv-addr-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.dv-addr-btn{min-height:44px;padding:0 18px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:transparent;color:var(--ink);font:inherit;font-size:var(--fs-md);cursor:pointer}
.dv-addr-btn.is-main{border-color:var(--gold);background:var(--gold);color:var(--gold-ink);font-weight:600}
.dv-addr-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.dv-addr-note.is-flash{animation:dvAddrFlash .9s ease}
@keyframes dvAddrFlash{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 4px rgba(236,196,128,.35)}}
@media (prefers-reduced-motion:reduce){.dv-addr-note.is-flash{animation:none}}
@media (max-width:480px){.dv-addr-btn{flex:1 1 100%}}
