/* Shared site surfaces. Tokens are defined once in style.css. */
body.al-shop :is(.al-lp,.al-lp-footer,.al-lp-subnav){--lp-cream:var(--al-surface);--lp-radius:var(--al-radius)}

/* Cards and panels keep the same ivory surface across every page type. */
body.al-shop :is(.catalog-card,.al-side-card,.al-trust,.al-contact-card,.al-facts,.al-origin,.al-lp-hero>a,.al-lp-promo,.al-lp-goal,.al-lp-feature-photo,.al-lp-product-card,.al-lp-about-card,.al-lp-about-teaser,.al-lp-blog-callout,.al-tax-goal-card,.catalog-goal-hero,.catalog-subfilters,.al-tax-panel,.demo-lightbox,.al-market ul){
    background:var(--al-surface);border-radius:var(--al-radius);
}
body.al-shop.woocommerce ul.products li.product,
body.al-shop .woocommerce ul.products li.product,
body.al-shop.woocommerce .related ul.products li.product,
body.al-shop.woocommerce div.product .woocommerce-tabs{
    background:var(--al-surface);border-radius:var(--al-radius);
}
body.al-shop :is(.al-topbar,.al-footer,.al-lp-footer){background:var(--al-surface)}
body.al-shop :is(.al-footer,.al-lp-footer){border-radius:var(--al-radius) var(--al-radius) 0 0}
body.al-shop .al-lp-blog-callout{padding:28px;margin-block:20px}
body.al-shop .catalog-card{border-color:#e5e1d7}

/* Photographs retain their colors; their containers follow the shared corners. */
body.al-shop :is(.catalog-card .catalog-photo,.al-lp-promo>img,.al-lp-shortcut-photo,.al-lp-goal-photo,.al-lp-feature-photo,.al-lp-about-card>img,.al-tax-goal-card>img,.catalog-goal-hero img){border-radius:var(--al-radius)}
body.al-shop .al-tax-goal-card>img{border-radius:var(--al-radius) var(--al-radius) 0 0}
/* Product card photos meet the ivory content along a straight bottom edge. */
body.al-shop .al-lp-product-card>.al-lp-product-image{border-radius:var(--al-radius) var(--al-radius) 0 0}
body.al-shop .al-lp-product-card>.al-lp-product-image>img{border-radius:inherit}
body.al-shop :is(.demo-main-wrap,.demo-thumb){background:#fff;border-radius:var(--al-radius)}
body.al-shop.woocommerce div.product div.images :is(.woocommerce-product-gallery__image,.flex-control-thumbs li){background:#fff;border-radius:var(--al-radius)}

/* Forms and buttons use the same radius; action and state colors remain legible. */
body.al-shop :is(input:where(:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden])),select,textarea,.al-swatch,.al-small-add,.al-outline-button,.al-tax-goal-links a,.al-tax-caffeine,.al-tax-goals-menu summary,.al-lp-button,.catalog-card>.button){border-radius:var(--al-radius)}
body.al-shop :is(input:where(:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden])),select,textarea,.al-swatch,.al-small-add,.al-outline-button){background:var(--al-surface)}
body.al-shop .al-swatch[aria-pressed=true]{background:var(--al-surface);border-color:var(--al-red);box-shadow:inset 0 0 0 1px var(--al-red)}
body.al-shop .al-swatch:hover{border-color:var(--al-red)}
body.al-shop .al-search-form{background:var(--al-surface);border-radius:var(--al-radius)}
body.al-shop .al-search-form input[type=search]{border-radius:var(--al-radius) 0 0 var(--al-radius)}
body.al-shop .al-search-form button{border-radius:0 var(--al-radius) var(--al-radius) 0}
body.al-shop .al-lp-newsletter{background:var(--al-surface);border-radius:var(--al-radius)}
body.al-shop .al-lp-newsletter input{border-radius:var(--al-radius) 0 0 var(--al-radius);padding-left:18px;background:#fff}
body.al-shop .al-lp-newsletter button{border-radius:0 var(--al-radius) var(--al-radius) 0}
body.al-shop.woocommerce .quantity .qty{border-radius:0}
body.al-shop .al-qty-step:first-of-type{border-radius:var(--al-radius) 0 0 var(--al-radius)}
body.al-shop .al-qty-step:last-of-type{border-radius:0 var(--al-radius) var(--al-radius) 0}

/* WooCommerce cart, checkout and account panels, including block-based forms. */
body.al-shop form.checkout #customer_details,
body.al-shop #order_review,
body.al-shop :is(.woocommerce-cart-form,.cart_totals,.woocommerce-form-login,.woocommerce-form-register,.woocommerce-MyAccount-content,.woocommerce-order-details,.woocommerce-customer-details,.wc-block-components-sidebar,.wp-block-woocommerce-cart-order-summary-block,.wp-block-woocommerce-checkout-order-summary-block,.wc-block-checkout__contact-fields,.wc-block-checkout__shipping-fields,.wc-block-checkout__billing-fields,.wc-block-checkout__payment-method){
    background:var(--al-surface);border:1px solid #e5e1d7;border-radius:var(--al-radius);padding:24px;box-sizing:border-box;
}
body.al-shop .woocommerce-checkout #payment{background:var(--al-surface);border-radius:var(--al-radius)}
body.al-shop :is(table.shop_table,.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-account .woocommerce-MyAccount-navigation){background:var(--al-surface);border-radius:var(--al-radius)}
body.al-shop :is(.wc-block-components-button,.wc-block-components-checkout-place-order-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button){border-radius:var(--al-radius)}
body.al-shop .wc-block-components-text-input input,
body.al-shop .wc-block-components-combobox-control input,
body.al-shop .wc-block-components-textarea{border-radius:var(--al-radius);background:var(--al-surface)}

@media(max-width:767px){
    body.al-shop .al-search-form input[type=search]{border-radius:var(--al-radius)}
    body.al-shop .al-tax-panel{padding:14px 18px;border:1px solid #e5e1d7}
    body.al-shop .al-details-shell{background:var(--al-surface);border-radius:var(--al-radius);padding:16px}
    body.al-shop.woocommerce div.product .woocommerce-tabs{border-radius:var(--al-radius)}
    body.al-shop .al-lp-blog-callout{padding:22px}
    body.al-shop :is(.woocommerce-cart-form,.cart_totals,#order_review,.woocommerce-MyAccount-content,.wc-block-components-sidebar){padding:18px}
}
/* Nested WooCommerce summaries share one padded panel on narrow screens. */
body.al-shop .wc-block-components-sidebar :is(.wp-block-woocommerce-cart-order-summary-block,.wp-block-woocommerce-checkout-order-summary-block){padding:0;border:0;background:transparent;border-radius:0}
body.al-shop .wc-blocks-components-select__container{border-radius:var(--al-radius);background:var(--al-surface)}
@media(max-width:600px){
    body.al-shop .wc-block-cart table.wc-block-cart-items{width:100%;min-width:0}
    body.al-shop .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row{grid-template-columns:64px minmax(0,1fr);column-gap:12px}
    body.al-shop .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image{grid-column:1;grid-row:1/3;padding-right:0}
    body.al-shop .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product{grid-column:2;grid-row:1;min-width:0}
    body.al-shop .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total{grid-column:2;grid-row:2;text-align:left;padding-top:8px}
    body.al-shop .wc-block-cart-item__total-price-and-sale-badge-wrapper{align-items:flex-start}
}

@media(max-width:600px){body.al-shop .checkout-order-summary-block-fill-wrapper{padding:18px}body.al-shop .wc-block-components-checkout-order-summary__title-text{font-size:16px;line-height:1.4;overflow-wrap:normal}}

/* Consistent catalog actions */
body.al-shop .catalog-card>a.button,.al-shop.woocommerce ul.products li.product .button{background:#222222;color:#fff;border-color:#222222;transition:background-color 200ms ease,border-color 200ms ease}
body.al-shop .catalog-card>a.button:hover,.al-shop.woocommerce ul.products li.product .button:hover{background:#444;color:#fff;border-color:#444}
body.al-shop .catalog-card>a.button:focus-visible,.al-shop.woocommerce ul.products li.product .button:focus-visible{outline:3px solid #222;outline-offset:4px}

/* Keep the cart badge inside a usable touch target on every header size. */
.al-header .al-cart-link{min-width:44px;min-height:44px;justify-content:center}
