/*
Theme Name: Sovanna Client Portal
Template: twentytwentyfive
Description: Sovanna Wellness look for the WooCommerce client portal — same palette, type and header as sovannawellness.com. Source: luminex-setup/tools/proxmox/sovanna-portal-theme.
Version: 4.0
*/
:root { --cream: #F7EFE1; --cream-2: #F1E7D4; --indigo: #2B4B7E; --indigo-dark: #1F3760; --bronze: #C08A54; --bark: #4A3A30; --stone: #ADA79A; --amber: #E9B145; --line: #E6D9C3; --card: #F1E7D4; --field: #EDE2CB; }
body { background: var(--cream); color: var(--bark); }
a { text-underline-offset: 3px; }
/* header */
.sov-header { padding-left: 0; padding-right: 0; }
.sov-footer .wp-block-group p, .sov-footer h2 { text-align: left; }
.sov-header { background: var(--cream-2); border-bottom: 2px solid var(--line); }
.sov-header .wp-block-navigation a { font-weight: 700; text-decoration: none; padding: 4px 0; font-size: .95rem; border-bottom: 3px solid transparent; }
.sov-header .wp-block-navigation a:hover, .sov-header .wp-block-navigation .current-menu-item > a { border-bottom-color: var(--bronze); }
.sov-phone { background: var(--indigo); color: #fff !important; border-radius: 12px; padding: 8px 16px; font-size: .95rem; text-decoration: none !important; font-weight: 700; display: inline-block; }
.sov-phone:hover { background: var(--indigo-dark); }
.sov-tag { font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--bronze); font-weight: 700; }
/* footer */
.sov-footer { background: var(--indigo-dark); color: #F7EFE1; }
.sov-footer a { color: #fff; }
/* WooCommerce surfaces */
.woocommerce-store-notice, p.demo_store { background: var(--indigo) !important; color: #F7EFE1 !important; font-family: inherit; position: static !important; margin: 0; padding: 10px 16px; font-size: .95rem; box-sizing: border-box; width: 100%; max-width: 100%; left: 0; }  /* a strip at the top, never a bar that covers buttons */
.woocommerce-store-notice a { color: var(--amber) !important; }
.wc-block-components-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button,
.wp-block-button__link, .wc-block-components-product-button .wp-block-button__link, .single_add_to_cart_button, button.button, .woocommerce-button, .woocommerce-Button, .wc-block-components-totals-coupon__button, .wp-element-button {
  background: var(--indigo) !important; color: #fff !important; border-color: var(--indigo) !important; border-radius: 10px !important; font-weight: 700 !important; }
.wc-block-components-button:hover, .wp-element-button:hover, .single_add_to_cart_button:hover, button.button:hover, .woocommerce-button:hover { background: var(--indigo-dark) !important; }
.wc-block-components-button.outlined, .wc-block-components-product-button .added_to_cart { background: transparent !important; color: var(--indigo) !important; }
.wc-block-components-product-price, .price, .wc-block-grid__product-price, .woocommerce-Price-amount, .wc-block-components-totals-item__value { color: var(--indigo); }
.wc-block-components-product-price .wc-block-components-product-price__value, .price bdi { font-family: "Playfair Display", Georgia, serif; font-weight: 600; }
.wp-block-post-title a, .wc-block-components-product-name, .wc-block-grid__product-title { color: var(--indigo); font-family: "Playfair Display", Georgia, serif; }
.wc-block-components-product-image img, .wp-block-woocommerce-product-image img, .woocommerce-product-gallery img { border-radius: 14px; border: 1px solid var(--line); background: var(--cream); }
.wp-block-woocommerce-product-collection .wc-block-product, .wc-block-grid__product { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 18px; }
.sovanna-pro { background: var(--card); border-left: 5px solid var(--bronze); padding: 12px 16px; border-radius: 0 10px 10px 0; }
.sovanna-stock, p.stock { color: var(--indigo); font-weight: 700; }
p.stock.out-of-stock { color: #a33; }
/* forms: login, register, checkout, account */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .wc-block-components-text-input input, .wc-block-components-textarea textarea, .wc-block-components-select select, .wc-block-components-form .wc-block-components-text-input input {
  background: var(--field); border: 1px solid #D8C9AC; border-radius: 10px; padding: 12px 14px; font-size: 1rem; color: var(--bark); }
.woocommerce form .form-row input.input-text:focus, .wc-block-components-text-input input:focus { outline: 3px solid var(--amber); outline-offset: 2px; border-color: var(--bronze); }
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { background: var(--card); border: 1px solid var(--line) !important; border-radius: 16px; padding: 24px !important; box-sizing: border-box; max-width: 100%; }
.woocommerce .col2-set { display: flex; flex-wrap: wrap; gap: 24px; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { float: none; width: auto; flex: 1 1 320px; max-width: none; }
.woocommerce .col2-set h2 { margin-top: 0; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 10px 0; border-bottom: 1px solid var(--line); text-decoration: none; font-weight: 600; color: var(--indigo); }
.woocommerce-MyAccount-navigation li.is-active a { color: var(--bronze); }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { border-radius: 12px; border-color: var(--bronze); background: var(--cream-2); color: var(--bark); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--bronze); }
.wc-block-cart, .wc-block-checkout { color: var(--bark); }
.wc-block-cart__main, .wc-block-checkout__main, .wc-block-cart__sidebar, .wc-block-checkout__sidebar { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 20px 24px; box-sizing: border-box; }
.wc-block-components-sidebar .wc-block-components-totals-wrapper, .wc-block-components-order-summary, .wc-block-components-totals-coupon, .wc-block-components-panel { background: transparent; border-radius: 0; }
.wc-block-components-totals-wrapper, .wc-block-components-order-summary-item, .wc-block-cart-items__row, .wc-block-cart-items__header { border-color: var(--line) !important; }
.wc-block-cart-items__header, .wc-block-components-sidebar .wc-block-components-title, .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--indigo); }
.wc-block-components-totals-footer-item { background: var(--cream); border-radius: 10px; padding-inline: 12px; }
.wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--indigo); font-family: "Playfair Display", Georgia, serif; }
.wc-block-cart-item__image img { border-radius: 10px; border: 1px solid var(--line); }
.wc-block-components-quantity-selector { border-color: var(--line); border-radius: 10px; }
.wc-block-components-notice-banner.is-success, .wc-block-components-notice-banner.is-info { background: var(--cream-2); border-color: var(--bronze); color: var(--bark); }
.wc-block-components-notice-banner.is-success > svg, .wc-block-components-notice-banner.is-info > svg { background: var(--bronze); fill: #fff; }
.wc-block-components-notice-banner a { color: var(--indigo); }
.wc-block-components-checkout-step, .wc-block-components-checkout-step__container { color: var(--bark); }
.wc-block-components-radio-control__option, .wc-block-components-checkbox { color: var(--bark); }
.wc-block-components-radio-control__input:checked { border-color: var(--indigo) !important; background: var(--indigo) !important; }
.wc-block-components-shipping-rates-control__package, .wc-block-components-payment-method-label { color: var(--bark); }
.wc-block-cart__submit-container { background: transparent; }
.wc-block-components-checkout-step__title, .wc-block-components-title { font-family: "Playfair Display", Georgia, serif; color: var(--indigo); }
table.shop_table, .woocommerce-orders-table { background: var(--card); border: 1px solid var(--line) !important; border-radius: 14px; }
table.shop_table th { color: var(--indigo); }
.wc-block-components-product-metadata__description, .woocommerce-product-details__short-description { color: var(--bark); }
.wc-block-components-radio-control__input:checked::before, .wc-block-components-radio-control__input:checked { border-color: var(--indigo); }
.wc-block-components-radio-control__input:checked::before { background: var(--indigo); }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--indigo); border-color: var(--indigo); }
.wc-block-components-order-summary, .wc-block-checkout__sidebar .wc-block-components-panel { border: 0; }
.wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block { border: 0 !important; }

/* no white surfaces anywhere: WooCommerce block internals that default to white */
.wc-block-components-quantity-selector, .wc-block-components-totals-coupon__input input, .wc-block-components-panel__button, .wc-block-components-dropdown-selector, .wc-block-components-combobox, .wc-block-components-country-input, .wc-block-components-state-input, .wc-block-components-address-form__phone input,
.wc-block-components-shipping-rates-control__package, .wc-block-components-radio-control, .wc-block-components-payment-method-label, .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control-accordion-content, .wc-block-components-checkout-order-summary__content, .wc-block-components-order-summary-item, .wc-block-components-order-summary__button, .wc-block-components-panel__content,
.woocommerce-checkout-review-order-table, .woocommerce-MyAccount-orders, .woocommerce-Addresses .woocommerce-Address, .woocommerce-address-fields, .wc-block-components-notice-banner, .woocommerce-message, .woocommerce-info, .woocommerce-error { background: var(--card) !important; }
.wc-block-components-text-input input, .wc-block-components-textarea textarea, .wc-block-components-combobox .components-combobox-control__input, .wc-block-components-country-input input, .wc-block-components-state-input input, .wc-block-components-state-input select, .wc-block-components-select select, .wc-block-components-totals-coupon__input input, .wc-block-components-quantity-selector input { background: var(--field) !important; color: var(--bark); }
.wc-block-components-radio-control__option, .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option { border-color: var(--line) !important; }
.wc-block-components-order-summary-item__image img, .wc-block-cart-item__image img { background: var(--cream); }
/* My account: the account menu on the left, content beside it on the right (operator, 2026-09-15) */
.woocommerce-account .woocommerce, .woocommerce-account .wp-block-woocommerce-classic-shortcode .woocommerce { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
.woocommerce-account .woocommerce-MyAccount-navigation { order: 1; flex: 0 0 240px; width: 240px; float: none; }
.woocommerce-account .woocommerce-MyAccount-content { order: 2; flex: 1 1 420px; width: auto; float: none; min-width: 0; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper, .woocommerce-account .woocommerce > .col2-set { flex: 1 1 100%; }
@media (max-width: 760px) { .woocommerce-account .woocommerce-MyAccount-navigation { flex-basis: 100%; width: auto; } }
.woocommerce-orders-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.woocommerce-orders-table th, .woocommerce-orders-table td { padding: 12px 10px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.woocommerce-orders-table th { color: var(--indigo); }
.woocommerce-orders-table .woocommerce-button { padding: 8px 14px !important; font-size: .9rem !important; }
.woocommerce-orders-table__cell-order-actions { white-space: nowrap; }
.woocommerce-orders-table__cell-order-actions a.woocommerce-button, .woocommerce-MyAccount-orders td.woocommerce-orders-table__cell-order-actions .button { display: inline-block !important; margin: 0 6px 0 0 !important; width: auto; }
/* pickers: selectWoo/select2 on the classic forms, the native select in block checkout */
.select2-container .select2-selection--single, .select2-container--default .select2-selection--single { background: var(--field); border: 1px solid #D8C9AC; border-radius: 10px; height: auto; padding: 9px 14px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--bark); line-height: 1.5; padding-left: 0; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; right: 10px; }
.select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: var(--indigo) transparent transparent transparent; }
.select2-container--open .select2-selection--single { outline: 3px solid var(--amber); outline-offset: 2px; }
.select2-dropdown { background: var(--card); border: 1px solid #D8C9AC; border-radius: 10px; overflow: hidden; box-shadow: 0 10px 30px rgba(74,58,48,.18); }
.select2-search--dropdown { padding: 8px; }
.select2-search--dropdown .select2-search__field { background: var(--field) !important; border: 1px solid #D8C9AC !important; border-radius: 8px; color: var(--bark); padding: 8px 10px; }
.select2-results__option { color: var(--bark); padding: 8px 14px; }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--indigo) !important; color: #fff !important; }
.select2-container--default .select2-results__option[aria-selected=true], .select2-container--default .select2-results__option[data-selected=true] { background: var(--cream); color: var(--bark); }
.wc-blocks-components-select__select, .wc-block-components-select select, select, .woocommerce form .form-row select { background: var(--field) !important; color: var(--bark); border: 1px solid #D8C9AC; border-radius: 10px; }
select option, .wc-blocks-components-select__select option { background: var(--field); color: var(--bark); }
.wc-blocks-components-select__container { background: transparent; }
/* sweep 2026-09-15 (lab/portal-whitescan.js): the last white surfaces */
.wc-blocks-components-select__container, .wc-blocks-components-select__select { background: var(--field) !important; border-color: #D8C9AC !important; border-radius: 10px; }
.wc-block-components-checkbox__input, .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox], .wc-block-components-radio-control__input, input[type=checkbox], input[type=radio] { background: var(--field) !important; border: 1px solid #B8A585 !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked, input[type=checkbox]:checked { background: var(--indigo) !important; border-color: var(--indigo) !important; }
.wc-block-components-radio-control__input:checked { border-color: var(--indigo) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--indigo) !important; }
.wc-block-components-textarea, .wc-block-components-textarea textarea, .wc-block-checkout__add-note textarea, .wc-block-components-order-note textarea, textarea { background: var(--field) !important; border: 1px solid #D8C9AC !important; border-radius: 10px; color: var(--bark); }
.wc-block-components-address-form__address_2-hidden-input, input.qty, .quantity input, .woocommerce-product-gallery__trigger { background: var(--field) !important; border-color: #D8C9AC; border-radius: 10px; }
.wc-block-mini-cart__drawer, .wc-block-components-drawer, .wc-block-components-drawer__screen-overlay { background: var(--cream) !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer, .wc-block-mini-cart__products-table, .wc-block-mini-cart__empty-cart-wrapper { background: var(--cream) !important; }
img.zoomImg { background: transparent !important; }
.wc-block-components-combobox .components-combobox-control__suggestions-container, .components-form-token-field__suggestions-list, .wc-block-components-combobox-control ul { background: var(--card) !important; color: var(--bark); }
.components-form-token-field__suggestion.is-selected { background: var(--indigo) !important; color: #fff !important; }
/* shop toolbar: "Default sorting" select and the result count */
.woocommerce-ordering select, .wc-block-catalog-sorting select, select.orderby, .wc-block-components-sort-select__select, .wp-block-woocommerce-catalog-sorting select, .woocommerce-ordering .orderby { background: var(--field) !important; color: var(--bark) !important; border: 1px solid #C8B79A !important; border-radius: 10px !important; padding: 10px 36px 10px 14px !important; font: inherit; }
.woocommerce-ordering select:focus, .wc-block-catalog-sorting select:focus { outline: 3px solid var(--amber); outline-offset: 2px; border-color: var(--bronze) !important; }
.woocommerce-result-count, .wc-block-components-product-results-count, .wp-block-woocommerce-product-results-count { color: var(--bark); }
.woocommerce-ordering, .wc-block-catalog-sorting { background: transparent !important; }
/* cart quantity stepper: same tone as the card it sits on, indigo controls */
.wc-block-components-quantity-selector, .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input, .wc-block-components-quantity-selector input, .quantity input.qty, input.qty { background: var(--cream) !important; color: var(--bark) !important; border-color: #C8B79A !important; }
.wc-block-components-quantity-selector { border: 1px solid #C8B79A !important; border-radius: 10px !important; overflow: hidden; }
.wc-block-components-quantity-selector::after { border-color: #C8B79A !important; box-shadow: none !important; }
.wc-block-components-quantity-selector button, .wc-block-components-quantity-selector__button { background: var(--card) !important; color: var(--indigo) !important; opacity: 1 !important; font-weight: 700; }
.wc-block-components-quantity-selector button:hover { background: var(--indigo) !important; color: #fff !important; }
.wc-block-components-quantity-selector input:focus { outline: 3px solid var(--amber); outline-offset: -2px; }
.wc-block-cart-item__remove-link, .wc-block-components-product-metadata__remove { color: var(--indigo); }
/* classic checkout (needed for the address book): payment box, order table, address-book selects */
.woocommerce-checkout #payment, #payment { background: var(--card) !important; border-radius: 14px; border: 1px solid var(--line); }
.woocommerce-checkout #payment div.payment_box, #payment div.payment_box { background: var(--field) !important; color: var(--bark) !important; border-radius: 10px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--field) !important; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--line) !important; }
.woocommerce-checkout #payment ul.payment_methods li { color: var(--bark); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--line) !important; }
.woocommerce table.shop_table tfoot th, .woocommerce table.shop_table thead th, .woocommerce table.shop_table tfoot td { color: var(--indigo); background: var(--cream-2); }
.woocommerce form .form-row.woocommerce-validated .select2-container, .woocommerce form .form-row.woocommerce-validated input.input-text, .woocommerce form .form-row.woocommerce-validated select { border-color: #8fb996; }
.woocommerce form .form-row.woocommerce-invalid .select2-container, .woocommerce form .form-row.woocommerce-invalid input.input-text, .woocommerce form .form-row.woocommerce-invalid select { border-color: #E0674F; }
.woocommerce form .form-row.woocommerce-invalid label { color: #a33; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { background: transparent; border: 0; padding: 0; }
.wc-address-book-address, .address_book .wc-address-book-address, .woocommerce-Addresses .woocommerce-Address { background: var(--card) !important; border: 1px solid var(--line); border-radius: 14px; padding: 18px; }
.wc-address-book-add-new-address, .add-new-address { color: var(--indigo); font-weight: 700; }
.wc-address-book-address-default-label { background: var(--field) !important; color: var(--indigo) !important; border: 1px solid #C8B79A; border-radius: 999px; }
#place_order { min-height: 56px; }
/* Addresses: only the two address books (each marks its default) — the duplicate "default addresses" block above them is hidden */
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-Addresses, .woocommerce-account .woocommerce-MyAccount-content > .woocommerce-Addresses + .address_book ~ p:first-of-type { display: none; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type { display: none; }
.address_book { margin-top: 8px; } .address_book + .address_book { margin-top: 28px; }
.address_book h2, .address_book h3 { font-size: 1.3rem; } .address_book .wc-address-book-address { margin-bottom: 12px; }
.wc-address-book-address .button, .address_book .button { min-height: 40px; padding: 8px 14px; font-size: .9rem; }
/* sign-in and register forms: compact */
.woocommerce-form-login, .woocommerce-form-register { padding: 18px !important; max-width: 26rem; }
.woocommerce-form-login .form-row input.input-text, .woocommerce-form-register .form-row input.input-text { padding: 10px 12px; font-size: 1rem; }
.woocommerce-form-login label, .woocommerce-form-register label { font-size: .95rem; }
.woocommerce-form-login .button, .woocommerce-form-register .button { min-height: 44px !important; padding: 8px 18px !important; font-size: 1rem !important; }
.woocommerce-account .col2-set h2 { font-size: 1.4rem; }

/* scale-down 2026-09-16 */
.wp-block-post-title, h1.wp-block-post-title, .woocommerce-products-header__title { font-size: clamp(1.7rem, 3.5vw, 2.3rem) !important; }
.wc-block-components-product-name, .wp-block-post-title a { font-size: 1.05rem; }
.wp-block-button__link, .wc-block-components-button, .single_add_to_cart_button, button.button, .woocommerce-button { padding: 10px 18px !important; font-size: .95rem !important; min-height: 42px; }
.wp-block-woocommerce-product-collection .wc-block-product, .wc-block-grid__product { padding: 14px; }
.wc-block-cart__main, .wc-block-checkout__main, .wc-block-cart__sidebar, .wc-block-checkout__sidebar, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { padding: 16px 20px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { padding: 10px 12px; font-size: .95rem; }
/* audit 2026-09-16: nothing user-facing under 15px */
.wc-block-components-totals-item__description, .wc-block-mini-cart__products-table .wc-block-components-product-metadata__description, .wc-block-components-product-metadata__description p, .wc-block-mini-cart .wc-block-components-product-name, .select2-container--default .select2-selection--single .select2-selection__rendered, a.showcoupon, .woocommerce-store-notice__dismiss-link { font-size: .95rem !important; }
.wc-block-cart__submit-container, .wc-block-components-notices__snackbar { max-width: 100%; box-sizing: border-box; }
/* the browser shows its own password reveal; no second eye (operator, 2026-09-16) */
.woocommerce form .show-password-input, .woocommerce form .password-input .show-password-input { display: none !important; } .woocommerce form .password-input input { padding-right: 12px; }
/* type scale = sovannawellness.com (styles.css): 16px root, 1rem body, same heading clamps, 1rem nav/buttons/fields (2026-09-16) */
html { font-size: 16px !important; } body, .wp-site-blocks, .wp-block-post-content, .woocommerce, .entry-content { font-size: 1rem !important; line-height: 1.55; }
h1, .wp-block-post-title, h1.wp-block-post-title, .woocommerce-products-header__title { font-size: clamp(1.4rem, 2.6vw, 1.6rem) !important; }
h2, .woocommerce h2, .woocommerce-account .col2-set h2 { font-size: clamp(1.15rem, 2vw, 1.25rem) !important; } h3, .woocommerce h3 { font-size: 1.05rem !important; }
.sov-header .wp-block-navigation a, input, select, textarea, .select2-container--default .select2-selection--single .select2-selection__rendered { font-size: 1rem !important; } .wp-element-button, .button, button, .wc-block-components-button { font-size: .95rem !important; }
.wc-block-components-product-name, .wp-block-post-title a, .wc-block-grid__product-title { font-size: 1.1rem !important; }
.wc-block-components-totals-item, .wc-block-components-order-summary-item__description, .woocommerce-orders-table td, .woocommerce-orders-table th { font-size: 1rem; }
/* same canvas as the site (68rem), smaller product cards and gallery (operator, 2026-09-16: "product and shop pages are not like the other pages") */
.wp-block-woocommerce-product-collection .wc-block-product-template, .wc-block-grid__products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 16px !important; }
@media (max-width: 900px) { .wp-block-woocommerce-product-collection .wc-block-product-template, .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.wp-block-woocommerce-product-collection .wc-block-product, .wc-block-grid__product { padding: 12px !important; } .wc-block-components-product-image img, .wp-block-woocommerce-product-image img { max-height: 200px; width: auto; margin: 0 auto; display: block; }
.wc-block-components-product-name, .wp-block-post-title a, .wc-block-grid__product-title { font-size: 1rem !important; line-height: 1.3; }
.woocommerce div.product div.summary { width: 100% !important; } .woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 1.25rem !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: .95rem; padding: 8px 0; } .woocommerce-breadcrumb { font-size: .9rem; }
.sov-header .wp-block-site-logo img, .sov-header img.custom-logo { max-height: 56px; width: auto; }
.woocommerce div.product div.images img, .woocommerce-product-gallery img, .woocommerce-product-gallery .wp-post-image { max-height: none !important; width: 100% !important; height: auto; }
.woocommerce div.product div.images, .woocommerce-product-gallery { width: 100% !important; max-width: 400px; }
/* the shop is a working screen for professionals (operator, 2026-09-16: "the cart and checkout page is large"): 15px body, tighter fields and tables */
body, .wp-site-blocks, .wp-block-post-content, .woocommerce, .entry-content { font-size: .95rem !important; }
.woocommerce form .form-row { margin-bottom: 8px; padding: 0; } .woocommerce form .form-row label { font-size: .9rem; margin-bottom: 2px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single, .woocommerce-checkout .form-row .select2-selection { padding: 7px 10px !important; min-height: 38px; font-size: .95rem !important; line-height: 1.4; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 24px !important; font-size: .95rem !important; } .select2-container--default .select2-selection--single .select2-selection__arrow { height: 36px; }
.woocommerce-checkout h3, .woocommerce-checkout h2, .woocommerce-checkout #order_review_heading { font-size: 1.1rem !important; margin: 14px 0 8px; }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-notice { padding: 10px 14px 10px 44px !important; font-size: .9rem; margin-bottom: 14px; } .woocommerce-info::before, .woocommerce-message::before { top: 10px; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 8px 10px; font-size: .95rem; } .woocommerce table.shop_table { margin-bottom: 14px; }
#payment .payment_box, .woocommerce-checkout #payment div.payment_box { padding: 10px 14px; font-size: .9rem; } #payment ul.payment_methods li { padding: 8px 12px; } .woocommerce-privacy-policy-text, .woocommerce-terms-and-conditions-wrapper { font-size: .85rem; }
/* PayPal SDK v6 renders one custom element per method: lay them out in a row (operator, 2026-09-16) */
.ppc-button-wrapper, #ppc-button-ppcp-gateway, #ppc-button-ppcp-gateway-v6, #ppc-button-ppcp-card-button-gateway-v6 { max-width: 100%; }
#ppc-button-ppcp-gateway-v6, #ppc-button-ppcp-card-button-gateway-v6 { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: flex-end; height: auto !important; }
#ppc-button-ppcp-gateway-v6 > *, #ppc-button-ppcp-card-button-gateway-v6 > * { flex: 0 0 230px !important; width: 230px !important; max-width: 230px !important; height: 48px !important; max-height: 48px !important; min-height: 0 !important; aspect-ratio: auto !important; overflow: hidden; display: block; margin: 0 !important; } .woocommerce-checkout #payment { margin-top: 10px; }
.wc-block-components-totals-item__label, .wc-block-components-totals-item__value, .wc-block-formatted-money-amount { font-size: 1rem !important; } .wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .wc-block-components-totals-footer-item .wc-block-formatted-money-amount { font-size: 1.05rem !important; }
.wc-block-cart .wc-block-components-product-name { font-size: 1rem !important; } .wc-block-cart-items__header { font-size: .8rem; } .wc-block-cart .wc-block-components-product-metadata__description { font-size: .85rem; } .wc-block-components-sidebar-layout .wc-block-components-sidebar, .wc-block-components-sidebar-layout .wc-block-components-main { padding: 12px 16px; }
.wc-block-components-checkout-step__title, .wc-block-components-order-summary__button-text { font-size: 1.05rem !important; } .wc-block-components-notice-banner { font-size: .9rem; padding: 10px 14px; }
.sov-header .wp-block-navigation a { font-size: .95rem !important; } .sov-tag { font-size: .75rem; }
.select2-container .select2-selection--single, .woocommerce-checkout .select2-container .select2-selection--single { height: 38px !important; padding: 6px 10px !important; } .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 24px !important; padding-left: 0 !important; }
/* payment methods as a row of tabs (operator, 2026-09-16): PayPal or Venmo | Credit or debit card; the chosen one opens below */
#payment ul.payment_methods { display: flex !important; flex-wrap: wrap; align-items: flex-start; gap: 10px; padding: 0 !important; border: 0 !important; margin: 0 0 12px !important; list-style: none; }
#payment ul.payment_methods li.wc_payment_method { display: contents; }
#payment ul.payment_methods li.wc_payment_method > label { flex: 1 1 220px; order: 1; display: flex !important; align-items: center; gap: 10px; padding: 10px 14px !important; margin: 0; border: 2px solid var(--line); border-radius: 12px; background: var(--card); cursor: pointer; font-weight: 700; color: var(--indigo); }
#payment ul.payment_methods li.wc_payment_method > input:checked + label, #payment ul.payment_methods li.wc_payment_method:has(input:checked) > label { border-color: var(--indigo); background: var(--field); }
#payment ul.payment_methods li.wc_payment_method > input[type=radio] { position: absolute; opacity: 0; width: 0; height: 0; } #payment ul.payment_methods li.wc_payment_method label img { max-height: 24px; margin-left: auto; }
#payment ul.payment_methods li.wc_payment_method .payment_box { flex: 1 1 100%; order: 2; margin: 0 !important; }
#payment ul.payment_methods li.wc_payment_method .payment_box:empty, #payment ul.payment_methods li.wc_payment_method .payment_box:has(> p:only-child:empty) { display: none !important; }
.wc-block-components-checkout-payment-methods__notice, #payment .payment_box p:empty { display: none; }
#ppcp-credit-card-gateway .form-row, .ppcp-credit-card-gateway .form-row, #payment .ppcp-card-fields .form-row { margin-bottom: 8px; } #payment .payment_box.payment_method_ppcp-credit-card-gateway { padding: 12px 14px !important; }
#payment ul.payment_methods::before, #payment ul.payment_methods::after, #payment ul.payment_methods li::before, #payment ul.payment_methods li::after { display: none !important; content: none !important; }
/* one centred row of pills: card | PayPal | Venmo (operator's mock-up, 2026-09-16); the radio list is kept but hidden */
#payment ul.payment_methods li.wc_payment_method > label { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden; }   /* off-screen, not display:none: WooCommerce only honours a radio it considers visible */
#payment ul.payment_methods { gap: 0; margin: 0 !important; } #payment ul.payment_methods li.wc_payment_method .payment_box { display: none; }
body.sov-pay-card #payment ul.payment_methods li.wc_payment_method .payment_box.payment_method_square_credit_card, body.sov-pay-card #payment ul.payment_methods li.wc_payment_method .payment_box.payment_method_ppcp-credit-card-gateway { display: block !important; }
/* Square's card form (the card gateway since 2026-09-16): its hosted iframes sit in .wc-square-credit-card-hosted-field; same field look as the rest of the checkout */
#payment .payment_box.payment_method_square_credit_card { padding: 12px 14px !important; } #payment .payment_box.payment_method_square_credit_card .form-row { margin-bottom: 8px; } #payment .payment_box.payment_method_square_credit_card .wc-square-credit-card-hosted-field, #payment .payment_box.payment_method_square_credit_card .sq-card-wrapper, #payment .payment_box.payment_method_square_credit_card #wc-square-credit-card-container { background: var(--field); border: 1px solid #C8B79A; border-radius: 10px; min-height: 40px; } #payment .payment_box.payment_method_square_credit_card .sq-card-wrapper .sq-card-iframe-container { border-radius: 10px; } #payment .payment_box.payment_method_square_credit_card fieldset { border: 0; padding: 0; margin: 0; } #payment .payment_box.payment_method_square_credit_card .wc-square-credit-card-payment-form .form-row label { font-size: .9rem; color: var(--bark); }
.ppc-button-wrapper { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; margin-top: 12px; } #ppc-button-ppcp-gateway-v6 { justify-content: center !important; flex: 0 0 auto; }
.sov-card-pill { flex: 0 0 230px !important; width: 230px !important; height: 48px !important; border: 0; border-radius: 24px; background: #0070ba; color: #fff; font: 700 1rem/1 Karla, "Helvetica Neue", Arial, sans-serif; cursor: pointer; padding: 0 16px; }
.sov-card-pill:hover { background: #005ea6; } .sov-card-pill.is-on { background: var(--indigo); box-shadow: 0 0 0 3px var(--amber); }
body.sov-pay-card #ppc-button-ppcp-gateway-v6 paypal-button, body.sov-pay-card #ppc-button-ppcp-gateway-v6 venmo-button { opacity: .55; }
#payment .place-order { text-align: center; }
/* select2 pickers (address book, state) read like the other fields: same height, font and vertical centring in every browser */
.woocommerce-checkout .select2-container .select2-selection--single, .select2-container .select2-selection--single { height: 38px !important; padding: 0 34px 0 10px !important; display: flex !important; align-items: center; box-sizing: border-box; border: 1px solid #C8B79A !important; border-radius: 10px !important; background: var(--field) !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { font: inherit !important; font-size: .95rem !important; line-height: 1.4 !important; padding: 0 !important; margin: 0 !important; color: var(--bark) !important; height: auto !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 36px !important; top: 0 !important; right: 6px !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--indigo) !important; } .select2-dropdown { background: var(--field) !important; border-color: #C8B79A !important; font-size: .95rem; } .select2-search--dropdown .select2-search__field { background: var(--cream) !important; border-color: #C8B79A !important; }
/* the card pill speaks with the PayPal buttons' voice */
.sov-card-pill { font: 500 17px/1 "Helvetica Neue", Helvetica, Arial, sans-serif !important; letter-spacing: .01em; }
/* payment pills sit between the order table and the details box: choose → card fields / notes → Place order (operator, 2026-09-16) */
#order_review { display: flex; flex-direction: column; } #order_review > table.shop_table { order: 0; } #order_review > .ppc-button-wrapper { order: 1; margin: 18px 0 12px; } #order_review > #payment { order: 2; }
.ppc-button-wrapper::before { content: "How would you like to pay?"; flex-basis: 100%; text-align: center; font-family: "Playfair Display", Georgia, serif; font-size: 1.1rem; color: var(--indigo); margin-bottom: 2px; }
body.sov-pay-card .sov-card-pill::after { content: " ▾"; }
/* coupon entry inside the order table */
.sov-coupon { display: flex; gap: 8px; align-items: center; max-width: 24rem; } .sov-coupon input { flex: 1; font: inherit; font-size: .95rem; padding: 7px 10px; border: 1px solid #C8B79A; border-radius: 10px; background: var(--field); color: var(--bark); min-width: 0; text-transform: uppercase; }
.sov-coupon .button { min-height: 36px; padding: 6px 14px; font-size: .9rem; } .sov-coupon-row th { font-weight: 700; color: var(--indigo); }
.woocommerce-form-coupon-toggle, form.checkout_coupon { display: none !important; }
.sov-coupon input.is-bad { border-color: #B4432E !important; } .sov-coupon-row th { vertical-align: middle; } .sov-coupon-msg { display: block; font-weight: 400; font-size: .85rem; color: #3E8C5E; margin-top: 2px; } .sov-coupon-msg.is-bad { color: #B4432E; }
