/* ==========================================================================
   Cart / checkout / My Account — 2026-10-30
   Loaded only on is_cart() / is_checkout() / is_account_page().
   ========================================================================== */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
    --gx-ink: #111111;
    --gx-muted: #6b6760;
    --gx-line: #e7e1d6;
    --gx-soft: #faf8f4;
    --gx-gold: #b8934b;
    --gx-radius: 8px;
    background: #fff;
}

/* ---------- page frame ---------- */
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content,
body.woocommerce-account .site-content { display: block; }

body.woocommerce-cart .content-area,
body.woocommerce-checkout .content-area,
body.woocommerce-account .content-area { width: 100%; float: none; }

body.woocommerce-cart .inside-article,
body.woocommerce-checkout .inside-article,
body.woocommerce-account .inside-article {
    max-width: 1180px;
    margin: 0 auto;
    padding: 36px 24px 72px !important;
    background: transparent;
    box-sizing: border-box;
}

body.woocommerce-cart .entry-content .alignwide,
body.woocommerce-checkout .entry-content .alignwide {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: auto !important;
    max-width: none !important;
}

body.woocommerce-cart .entry-header,
body.woocommerce-account .entry-header { margin: 0 0 22px; padding: 0; }

body.woocommerce-cart .entry-title,
body.woocommerce-account .entry-title {
    margin: 0;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: .01em;
    color: var(--gx-ink);
}
/* Shopify-style checkout: no big page title, the form starts right away */
body.woocommerce-checkout .entry-header { display: none; }
body.woocommerce-checkout .inside-article { padding-top: 28px !important; }

/* ---------- shared form controls ---------- */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-cart .wc-block-components-text-input input {
    border: 1px solid #d6cfc2 !important;
    border-radius: 6px !important;
    background-color: #fff !important;
    box-shadow: none !important;
    color: var(--gx-ink) !important;
}
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.woocommerce-cart .wc-block-components-text-input input:focus {
    border-color: var(--gx-ink) !important;
    box-shadow: 0 0 0 1px var(--gx-ink) !important;
    outline: none !important;
}
/* country / state: same look in every browser (the list itself is the browser's native picker) */
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__container { height: 52px; border-radius: 6px; }
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select {
    -webkit-appearance: none !important;
    appearance: none !important;
    height: 52px !important;
    padding: 18px 40px 4px 12px !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    background-image: none !important;
}
body.woocommerce-checkout .wc-blocks-components-select__expand { right: 12px; fill: var(--gx-muted); pointer-events: none; }

/* buttons */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-cart .wc-block-components-button:not(.is-link):not(.wc-block-components-totals-coupon__button),
body.woocommerce-checkout .wc-block-components-button:not(.is-link):not(.wc-block-components-totals-coupon__button) {
    min-height: 54px;
    border-radius: 6px !important;
    background: var(--gx-ink) !important;
    color: #fff !important;
    border: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    box-shadow: none !important;
}
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover { background: #2b2620 !important; }

/* ---------- CART ---------- */
/* two columns only when WooCommerce itself uses the wide layout (.is-large); narrower containers stack */
body.woocommerce-cart .wc-block-components-sidebar-layout { margin: 0; }
body.woocommerce-cart .wc-block-components-sidebar-layout.is-large { gap: 40px; flex-wrap: nowrap; }
body.woocommerce-cart .wc-block-components-sidebar-layout.is-large .wc-block-components-main { padding-right: 0 !important; width: 62% !important; }
body.woocommerce-cart .wc-block-components-sidebar-layout.is-large .wc-block-components-sidebar { padding-left: 0 !important; width: 38% !important; }
body.woocommerce-cart .wc-block-components-sidebar-layout:not(.is-large) .wc-block-components-main,
body.woocommerce-cart .wc-block-components-sidebar-layout:not(.is-large) .wc-block-components-sidebar { width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
body.woocommerce-cart .wc-block-components-sidebar-layout:not(.is-large) .wp-block-woocommerce-cart-totals-block { position: static; margin-top: 22px; }

body.woocommerce-cart table.wc-block-cart-items { margin: 0; border: 0; }
body.woocommerce-cart table.wc-block-cart-items th {
    padding: 0 0 12px !important;
    font-size: 11px !important;
    font-weight: 600;
    letter-spacing: .14em;
    color: var(--gx-muted);
    border-bottom: 1px solid var(--gx-line) !important;
}
body.woocommerce-cart table.wc-block-cart-items { border-collapse: collapse; }
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row { border-bottom: 1px solid var(--gx-line); }
body.woocommerce-cart table.wc-block-cart-items td { border: 0 !important; padding: 22px 0 !important; vertical-align: top; }
body.woocommerce-cart .wc-block-cart-item__image { width: 104px; padding-right: 18px !important; }
body.woocommerce-cart .wc-block-cart-item__image img { width: 100%; aspect-ratio: 1; object-fit: contain; background: var(--gx-soft); border-radius: var(--gx-radius); }
body.woocommerce-cart .wc-block-components-product-name {
    color: var(--gx-ink) !important;
    text-decoration: none !important;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
}
body.woocommerce-cart .wc-block-components-product-name:hover { text-decoration: underline !important; text-underline-offset: 3px; }
/* the long product description under each line made the cart look unfinished */
body.woocommerce-cart .wc-block-components-product-metadata__description,
body.woocommerce-checkout .wc-block-components-product-metadata__description { display: none; }
body.woocommerce-cart .wc-block-cart-item__prices { margin: 4px 0 8px; font-size: 14px; }
body.woocommerce-cart .wc-block-components-sale-badge {
    background: #f6f1e7 !important;
    border: 0 !important;
    color: #6d5428 !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 600;
    padding: 3px 9px !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector { border-radius: 6px; border-color: #d6cfc2; width: 112px; }
body.woocommerce-cart .wc-block-cart-item__remove-link { font-size: 12px !important; color: var(--gx-muted) !important; }
body.woocommerce-cart .wc-block-cart-item__total { font-size: 15px; font-weight: 600; }

/* summary card */
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
    position: sticky;
    top: 110px;
    padding: 24px !important;
    background: var(--gx-soft);
    border: 1px solid var(--gx-line);
    border-radius: 12px;
    box-sizing: border-box;
}
body.woocommerce-cart .wc-block-cart__totals-title {
    padding: 0 0 14px !important;
    font-size: 12px !important;
    letter-spacing: .14em;
    color: var(--gx-ink) !important;
    border-bottom: 1px solid var(--gx-line);
    text-align: left !important;
}
body.woocommerce-cart .wc-block-components-totals-wrapper { border-color: var(--gx-line) !important; padding-left: 0 !important; padding-right: 0 !important; }
body.woocommerce-cart .wc-block-components-totals-item,
body.woocommerce-cart .wc-block-components-panel__button,
body.woocommerce-cart .wc-block-components-totals-coupon__button { padding-left: 0 !important; padding-right: 0 !important; }
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 18px !important; font-weight: 600 !important; }

/* express buttons (WooPay / Google Pay / Apple Pay / Amazon Pay): full width, stacked, never clipped */
body.woocommerce-cart .wc-block-cart__payment-options,
body.woocommerce-cart .wc-block-components-express-payment,
body.woocommerce-checkout .wc-block-components-express-payment { width: 100%; max-width: 100%; overflow: visible; }
.wc-block-components-express-payment .wc-block-components-express-payment__event-buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-template-columns: none !important;
}
.wc-block-components-express-payment .wc-block-components-express-payment__event-buttons > li {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    min-height: 48px;
}
.wc-block-components-express-payment .wc-block-components-express-payment__event-buttons > li > *,
.wc-block-components-express-payment .wc-block-components-express-payment__event-buttons iframe,
.wc-block-components-express-payment .wc-block-components-express-payment__event-buttons button { width: 100% !important; max-width: 100% !important; }
body.woocommerce-cart .wc-block-cart__payment-options { margin-top: 18px; }
body.woocommerce-cart .wc-block-components-express-payment-continue-rule { margin: 16px 0 !important; font-size: 12px; color: var(--gx-muted); text-transform: uppercase; letter-spacing: .1em; }

/* pay-later messages: smaller and calmer */
body.woocommerce-cart .wc-block-components-totals-wrapper .wcpay-payment-method-messaging,
body.woocommerce-cart #payment-method-message,
body.woocommerce-cart .ppcp-messages { font-size: 12px; }

/* empty cart */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block { text-align: center; padding: 30px 0; }
body.woocommerce-cart .wc-block-cart__empty-cart__title { font-size: 22px !important; font-weight: 500; }

@media (max-width: 781px) {
    body.woocommerce-cart .inside-article,
    body.woocommerce-checkout .inside-article,
    body.woocommerce-account .inside-article { padding: 22px 16px 56px !important; }
    body.woocommerce-cart .entry-title,
    body.woocommerce-account .entry-title { font-size: 22px; }
    body.woocommerce-cart .wc-block-components-sidebar-layout { flex-direction: column; gap: 22px; }
    body.woocommerce-cart .wc-block-components-main,
    body.woocommerce-cart .wc-block-components-sidebar { width: 100% !important; }
    body.woocommerce-cart table.wc-block-cart-items thead { display: none; }
    /* each line becomes a two-column card: image | name, price, quantity, line total — nothing can run off screen */
    body.woocommerce-cart table.wc-block-cart-items,
    body.woocommerce-cart table.wc-block-cart-items tbody { display: block; width: 100%; }
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row {
        display: grid !important;
        grid-template-columns: 84px minmax(0, 1fr);
        column-gap: 14px;
        padding: 16px 0;
    }
    body.woocommerce-cart table.wc-block-cart-items td { display: block; padding: 0 !important; width: auto !important; min-width: 0; }
    body.woocommerce-cart .wc-block-cart-item__image { width: 84px !important; padding-right: 0 !important; }
    body.woocommerce-cart .wc-block-cart-item__product { grid-column: 2; }
    body.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__total { grid-column: 2 !important; grid-row: 2 !important; justify-self: start !important; align-self: start !important; position: static !important; margin-top: 10px; padding-left: 0 !important; text-align: left !important; }
    body.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__product { grid-column: 2 !important; grid-row: 1 !important; }
    body.woocommerce-cart table.wc-block-cart-items td.wc-block-cart-item__image { grid-column: 1 !important; grid-row: 1 / span 2 !important; }
    body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price { position: static !important; }
    body.woocommerce-cart .wc-block-cart__sidebar,
    body.woocommerce-cart .wp-block-woocommerce-cart-totals-block { position: static; padding: 18px !important; border-radius: 10px; }
    body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper { flex-direction: row !important; align-items: center !important; justify-content: flex-start; gap: 8px; flex-wrap: wrap; }
    body.woocommerce-checkout .inside-article { padding-top: 12px !important; }
}

/* ---------- CHECKOUT ---------- */
body.woocommerce-checkout .wc-block-components-sidebar-layout { margin: 0; }
body.woocommerce-checkout .wc-block-components-sidebar-layout.is-large { gap: 48px; flex-wrap: nowrap; }
body.woocommerce-checkout .is-large .wc-block-checkout__main { width: 58% !important; padding-right: 0 !important; }
body.woocommerce-checkout .wc-block-components-sidebar-layout:not(.is-large) .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-components-sidebar-layout:not(.is-large) .wc-block-checkout__sidebar { width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; position: static; background: none; border: 0; }
body.woocommerce-checkout .is-large .wc-block-checkout__sidebar {
    width: 42% !important;
    padding: 24px !important;
    background: var(--gx-soft);
    border: 1px solid var(--gx-line);
    border-radius: 12px;
    box-sizing: border-box;
    align-self: flex-start;
    position: sticky;
    top: 110px;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block { border: 0 !important; padding: 0 !important; }
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title { padding-left: 0 !important; padding-right: 0 !important; }
body.woocommerce-checkout .wc-block-components-checkout-order-summary__content .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-order-summary { padding-left: 0 !important; padding-right: 0 !important; }
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    letter-spacing: 0;
}
body.woocommerce-checkout .wc-block-components-checkout-step { margin-bottom: 32px !important; }
body.woocommerce-checkout .wc-block-components-checkout-step__container::after { display: none; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading-container { margin-bottom: 14px; }

/* express checkout box */
body.woocommerce-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content {
    padding: 18px 16px 16px !important;
    border-radius: 0 0 10px 10px !important;
    border-color: var(--gx-line) !important;
}
body.woocommerce-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::before,
body.woocommerce-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container::after { border-color: var(--gx-line) !important; }

/* payment methods: card-style accordion */
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked,
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control { border-radius: 10px; overflow: hidden; }
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option { border-color: var(--gx-line) !important; }
body.woocommerce-checkout .wc-block-components-radio-control__option { padding-top: 16px !important; padding-bottom: 16px !important; }
body.woocommerce-checkout .wc-block-components-radio-control__input:checked { border-color: var(--gx-ink) !important; }
body.woocommerce-checkout .wc-block-components-radio-control__input:checked::before { background: var(--gx-ink) !important; }
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content { padding-bottom: 18px !important; }
/* payment-method logos: never show a broken image box */
body.woocommerce-checkout .wc-block-components-payment-method-icons img,
body.woocommerce-checkout .wc-block-components-payment-method-icon { max-height: 24px; width: auto; }
body.woocommerce-checkout .wc-block-components-payment-method-icons img:not([src]),
body.woocommerce-checkout .wc-block-components-payment-method-icons img[src=""] { display: none; }

/* order summary in the sidebar */
body.woocommerce-checkout .wc-block-components-order-summary-item__image img { border-radius: 6px; background: #fff; }
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity { background: var(--gx-ink) !important; color: #fff !important; border: 0 !important; }
body.woocommerce-checkout .wc-block-components-totals-wrapper { border-color: var(--gx-line) !important; }
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 18px !important; font-weight: 600 !important; }

body.woocommerce-checkout .wc-block-checkout__terms { font-size: 12px; color: var(--gx-muted); }
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button { color: var(--gx-muted) !important; font-size: 14px; }

@media (max-width: 781px) {
    body.woocommerce-checkout .wc-block-components-sidebar-layout { flex-direction: column; gap: 0; }
    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-checkout__sidebar { width: 100% !important; }
    body.woocommerce-checkout .wc-block-checkout__sidebar { position: static; padding: 0 !important; background: none; border: 0; }
    /* mobile order-summary toggle at the top: framed like Shopify's "Show order summary" bar */
    body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
        padding: 14px 16px !important;
        background: var(--gx-soft);
        border: 1px solid var(--gx-line);
        border-radius: 10px;
    }
    body.woocommerce-checkout .wc-block-components-checkout-order-summary__content { padding: 4px 4px 0; }
    body.woocommerce-checkout .wc-block-checkout__actions_row { flex-direction: column-reverse; gap: 14px; }
    body.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button { width: 100%; }
}

/* ---------- MY ACCOUNT: login / register ---------- */
body.galosom-auth-page .entry-header { text-align: center; margin-bottom: 26px; }
.galosom-auth { max-width: 470px; margin: 0 auto; }
.galosom-auth__tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid var(--gx-line);
    margin-bottom: 26px;
}
.galosom-auth__tabs button {
    position: relative;
    padding: 14px 8px !important;
    background: none !important;
    border: 0 !important;
    color: var(--gx-muted) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: .12em;
    text-transform: uppercase;
    cursor: pointer;
}
.galosom-auth__tabs button[aria-selected="true"] { color: var(--gx-ink) !important; }
.galosom-auth__tabs button[aria-selected="true"]::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: -1px;
    height: 2px;
    background: var(--gx-ink);
}
.galosom-auth .u-columns.col2-set { display: block; width: auto; margin: 0; }
.galosom-auth .u-columns .col-1,
.galosom-auth .u-columns .col-2 { float: none !important; width: 100% !important; max-width: none; margin: 0; padding: 0; }
.galosom-auth.is-tabbed[data-tab="login"] [data-pane="register"],
.galosom-auth.is-tabbed[data-tab="register"] [data-pane="login"] { display: none; }
.galosom-auth:not(.is-tabbed) [data-pane="register"] { margin-top: 40px; }
.galosom-auth.is-tabbed .galosom-auth__pane > h2 {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.galosom-auth__pane > h2 { font-size: 20px; font-weight: 600; margin: 0 0 6px; }
.galosom-auth__lead { margin: 0 0 22px; color: var(--gx-muted); font-size: 14px; text-align: center; }
.galosom-auth form.woocommerce-form-login,
.galosom-auth form.woocommerce-form-register {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
}
.galosom-auth .form-row { margin: 0 0 16px !important; padding: 0 !important; }
.galosom-auth label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 500; color: var(--gx-ink); }
.galosom-auth label .required { color: var(--gx-gold); }
.galosom-auth input.input-text,
.woocommerce .galosom-auth form .form-row input.input-text {
    width: 100%;
    height: 50px;
    padding: 0 14px;
    border: 1px solid #d6cfc2 !important;
    border-radius: 6px !important;
    background: #fff !important;
    font-size: 15px;
    box-shadow: none !important;
    box-sizing: border-box;
}
.galosom-auth input.input-text:focus,
.woocommerce .galosom-auth form .form-row input.input-text:focus { border-color: var(--gx-ink) !important; box-shadow: 0 0 0 1px var(--gx-ink) !important; outline: none; }
.galosom-auth .password-input { display: block; position: relative; }
.galosom-auth .show-password-input { top: 50% !important; transform: translateY(-50%); right: 12px !important; }
.galosom-auth .woocommerce-form-login .form-row:last-of-type { display: flex; flex-direction: column; gap: 14px; }
.galosom-auth .woocommerce-form-login__rememberme { display: inline-flex !important; align-items: center; gap: 8px; margin: 0 !important; font-weight: 400 !important; color: var(--gx-muted) !important; order: 2; }
.galosom-auth button.button,
.galosom-auth .woocommerce-button {
    order: 1;
    width: 100%;
    min-height: 52px;
    margin: 4px 0 0 !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: var(--gx-ink) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.galosom-auth button.button:hover { background: #2b2620 !important; }
.galosom-auth .lost_password { margin: 4px 0 0; text-align: center; font-size: 13px; }
.galosom-auth .lost_password a,
.galosom-auth .woocommerce-privacy-policy-text a { color: var(--gx-ink); text-underline-offset: 3px; }
.galosom-auth .woocommerce-privacy-policy-text p,
.galosom-auth .woocommerce-form-register > p:not(.form-row) { font-size: 12.5px; line-height: 1.6; color: var(--gx-muted); margin: 0 0 16px; }
.galosom-auth__perks {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 34px 0 0;
    padding: 20px 0 0;
    border-top: 1px solid var(--gx-line);
    list-style: none;
}
.galosom-auth__perks li { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; font-size: 12px; color: var(--gx-muted); }
.galosom-auth__perks .galosom-account-icon { width: 22px; height: 22px; color: var(--gx-gold); }
body.galosom-auth-page .woocommerce-notices-wrapper { max-width: 470px; margin: 0 auto; }

/* ---------- MY ACCOUNT: logged in ---------- */
body.woocommerce-account:not(.galosom-auth-page) .entry-content > .woocommerce {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 44px;
    align-items: start;
}
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; margin: 0 !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
    padding: 8px;
    list-style: none;
    background: var(--gx-soft);
    border: 1px solid var(--gx-line);
    border-radius: 12px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; border: 0 !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 8px;
    color: var(--gx-ink) !important;
    font-size: 14px;
    text-decoration: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #fff; }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #fff; font-weight: 600; box-shadow: 0 1px 2px rgba(0,0,0,.05); }
body.woocommerce-account .woocommerce-MyAccount-navigation .galosom-account-icon { width: 19px; height: 19px; flex: 0 0 19px; color: var(--gx-gold); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px !important; padding-top: 6px !important; border-top: 1px solid var(--gx-line) !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--gx-muted) !important; }

.galosom-account-hello h2 { margin: 0 0 4px; font-size: 24px; font-weight: 500; }
.galosom-account-hello p { margin: 0 0 26px; color: var(--gx-muted); font-size: 14px; }
.galosom-account-hello a { color: var(--gx-ink); text-underline-offset: 3px; }
.galosom-account-last {
    display: block;
    margin: 0 0 22px;
    padding: 18px 20px;
    border: 1px solid var(--gx-line);
    border-radius: 12px;
    color: var(--gx-ink) !important;
    text-decoration: none !important;
    transition: border-color .2s;
}
.galosom-account-last:hover { border-color: var(--gx-ink); }
.galosom-account-last__label { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--gx-muted); }
.galosom-account-last__row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: 14px; }
.galosom-account-last__total { margin-inline-start: auto; font-weight: 600; }
.galosom-account-last mark.order-status { padding: 3px 10px; border-radius: 999px; background: #f1eee8; color: var(--gx-ink); font-size: 12px; }
.galosom-account-last mark.status-completed { background: #e6f2e8; color: #22663a; }
.galosom-account-last mark.status-processing { background: #f6f1e7; color: #6d5428; }

.galosom-account-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; }
.galosom-account-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 22px 20px;
    border: 1px solid var(--gx-line);
    border-radius: 12px;
    background: #fff;
    color: var(--gx-ink) !important;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none !important;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}
.galosom-account-card:hover { border-color: var(--gx-ink); box-shadow: 0 6px 18px rgba(0,0,0,.06); transform: translateY(-1px); }
.galosom-account-card .galosom-account-icon { width: 26px; height: 26px; color: var(--gx-gold); }

/* inner pages: orders table, addresses, details */
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table { border: 1px solid var(--gx-line); border-radius: 12px; border-collapse: separate; border-spacing: 0; overflow: hidden; font-size: 14px; }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th { background: var(--gx-soft); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th { padding: 14px 16px; border-color: var(--gx-line); }
body.woocommerce-account .woocommerce-MyAccount-content .button,
body.woocommerce-account .woocommerce-MyAccount-content button[type=submit] {
    border-radius: 6px !important;
    background: var(--gx-ink) !important;
    color: #fff !important;
    padding: 10px 18px !important;
    font-size: 13px !important;
    font-weight: 600;
}
body.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address { float: none !important; width: auto !important; padding: 20px; border: 1px solid var(--gx-line); border-radius: 12px; }
body.woocommerce-account .woocommerce-MyAccount-content input.input-text,
body.woocommerce-account .woocommerce-MyAccount-content select { min-height: 46px; border: 1px solid #d6cfc2; border-radius: 6px; padding: 0 12px; background: #fff; }

@media (max-width: 860px) {
    body.woocommerce-account:not(.galosom-auth-page) .entry-content > .woocommerce { grid-template-columns: 1fr; gap: 22px; }
    body.woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        gap: 6px;
        overflow-x: auto;
        padding: 6px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
    body.woocommerce-account .woocommerce-MyAccount-navigation li a { white-space: nowrap; padding: 10px 12px; gap: 8px; font-size: 13px; }
    body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0 !important; padding: 0 !important; border: 0 !important; }
    .galosom-account-cards { grid-template-columns: 1fr 1fr; gap: 10px; }
    .galosom-account-card { padding: 18px 16px; font-size: 14px; }
    body.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tr { display: block; padding: 6px 0; border-bottom: 1px solid var(--gx-line); }
}

/* medium-width containers (tablets, narrow windows): same framed summary bar as on phones */
body.woocommerce-checkout .wc-block-components-sidebar-layout:not(.is-large) .wc-block-components-checkout-order-summary__title {
    padding: 14px 16px !important;
    background: var(--gx-soft);
    border: 1px solid var(--gx-line);
    border-radius: 10px;
}

/* ---------- lost password / set password / reset password (2026-10-31) ---------- */
body.woocommerce-lost-password .entry-content > .woocommerce {
    max-width: 470px;
    margin: 0 auto;
}
body.woocommerce-lost-password .entry-content > .woocommerce::before {
    content: "";
    display: block;
    width: 52px;
    height: 52px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: var(--gx-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8934b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / 24px no-repeat;
    border: 1px solid var(--gx-line);
}
body.woocommerce-lost-password form.lost_reset_password {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
body.woocommerce-lost-password form.lost_reset_password > p:first-of-type,
body.woocommerce-lost-password .woocommerce > p {
    margin: 0 0 22px;
    color: var(--gx-muted);
    font-size: 14px;
    line-height: 1.6;
    text-align: center;
}
body.woocommerce-lost-password form.lost_reset_password .form-row {
    float: none !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
}
body.woocommerce-lost-password form.lost_reset_password label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 500; color: var(--gx-ink); }
body.woocommerce-lost-password form.lost_reset_password label .required { color: var(--gx-gold); }
body.woocommerce-lost-password .woocommerce form .form-row input.input-text,
body.woocommerce-lost-password form.lost_reset_password input.input-text {
    width: 100%;
    height: 50px;
    padding: 0 14px;
    border: 1px solid #d6cfc2 !important;
    border-radius: 6px !important;
    background: #fff !important;
    font-size: 15px;
    box-shadow: none !important;
    box-sizing: border-box;
}
body.woocommerce-lost-password form.lost_reset_password input.input-text:focus { border-color: var(--gx-ink) !important; box-shadow: 0 0 0 1px var(--gx-ink) !important; outline: none; }
body.woocommerce-lost-password .password-input { display: block; position: relative; }
body.woocommerce-lost-password .show-password-input { top: 50% !important; transform: translateY(-50%); right: 12px !important; }
body.woocommerce-lost-password form.lost_reset_password button.button {
    width: 100%;
    min-height: 52px;
    margin: 6px 0 0 !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: var(--gx-ink) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: .1em;
    text-transform: uppercase;
}
body.woocommerce-lost-password form.lost_reset_password button.button:hover { background: #2b2620 !important; }
body.woocommerce-lost-password form.lost_reset_password button.button:disabled { opacity: .45; }
body.woocommerce-lost-password .woocommerce-password-strength {
    margin-top: 8px;
    padding: 8px 12px !important;
    border-radius: 6px;
    font-size: 12.5px !important;
    text-align: left !important;
}
body.woocommerce-lost-password .woocommerce-password-hint { display: block; margin-top: 6px; font-size: 12px; color: var(--gx-muted); line-height: 1.5; }
body.woocommerce-lost-password .woocommerce-notices-wrapper,
body.woocommerce-lost-password .woocommerce-error,
body.woocommerce-lost-password .woocommerce-message,
body.woocommerce-lost-password .woocommerce-info,
body.woocommerce-lost-password .wc-block-components-notice-banner { max-width: 470px; margin-left: auto !important; margin-right: auto !important; border-radius: 8px; font-size: 14px; }
.galosom-auth-back { display: block; margin-top: 18px; text-align: center; font-size: 13px; }
.galosom-auth-back a { color: var(--gx-ink); text-underline-offset: 3px; }

/* ---------- express-pay placeholders (2026-10-31) ----------
   While PayPal / Apple Pay / Google Pay / Amazon Pay are still loading, each slot shows a soft grey bar
   instead of an empty gap; the real (opaque) button covers it once ready. The list keeps room for
   two buttons so the form below does not jump when the slower ones arrive. */
.wc-block-components-express-payment .wc-block-components-express-payment__event-buttons { min-height: 106px; }
.wc-block-components-express-payment .wc-block-components-express-payment__event-buttons > li {
    position: relative;
    border-radius: 6px;
    background: linear-gradient(90deg, #f1eee8 0%, #faf8f4 45%, #f1eee8 90%) 0 0 / 300% 100%;
    animation: gx-express-shimmer 1.4s ease-in-out infinite;
}
@keyframes gx-express-shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }
@media (prefers-reduced-motion: reduce) {
    .wc-block-components-express-payment .wc-block-components-express-payment__event-buttons > li { animation: none; }
}
/* no floating chat button over the payment buttons on the checkout page */
body.woocommerce-checkout .galosom-whatsapp { display: none !important; }

/* ---------- My Account grid: fixed placement (2026-10-31) ----------
   Pages that print a notices wrapper before the navigation (edit address, account details…) pushed the
   navigation into the content column; on phones the scrolling tab row made the grid 790px wide. */
body.woocommerce-account:not(.galosom-auth-page) .entry-content > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
body.woocommerce-account:not(.galosom-auth-page) .entry-content > .woocommerce > .woocommerce-MyAccount-navigation { grid-column: 1; min-width: 0; }
body.woocommerce-account:not(.galosom-auth-page) .entry-content > .woocommerce > .woocommerce-MyAccount-content { grid-column: 2; min-width: 0; }
body.woocommerce-account:not(.galosom-auth-page) .entry-content > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
@media (max-width: 860px) {
    body.woocommerce-account:not(.galosom-auth-page) .entry-content > .woocommerce { grid-template-columns: minmax(0, 1fr); }
    body.woocommerce-account:not(.galosom-auth-page) .entry-content > .woocommerce > .woocommerce-MyAccount-navigation { grid-column: 1; }
    body.woocommerce-account:not(.galosom-auth-page) .entry-content > .woocommerce > .woocommerce-MyAccount-content { grid-column: 1; }
}
body.woocommerce-account .woocommerce-MyAccount-content { overflow-wrap: anywhere; }
body.woocommerce-account .woocommerce-MyAccount-content form .form-row-first,
body.woocommerce-account .woocommerce-MyAccount-content form .form-row-last { width: calc(50% - 8px); }
body.woocommerce-account .woocommerce-MyAccount-content form .form-row { margin-bottom: 14px; }
body.woocommerce-account .woocommerce-MyAccount-content form .form-row input.input-text,
body.woocommerce-account .woocommerce-MyAccount-content form .form-row select { width: 100%; box-sizing: border-box; }
body.woocommerce-account .woocommerce-MyAccount-content legend,
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 { font-size: 20px; font-weight: 600; margin: 24px 0 12px; }
body.woocommerce-account .woocommerce-MyAccount-content fieldset { margin: 20px 0; padding: 16px; border: 1px solid var(--gx-line); border-radius: 10px; }

/* ---------- Order received (thank-you) + View order (2026-10-31) ---------- */
body.woocommerce-order-received .woocommerce-order { max-width: 860px; margin: 0 auto; }
body.woocommerce-order-received .woocommerce-thankyou-order-received {
    margin: 8px 0 26px;
    padding: 64px 0 0;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
    color: var(--gx-ink);
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3E%3Ccircle cx='26' cy='26' r='25' fill='%23f6f1e7' stroke='%23b8934b' stroke-width='1.5'/%3E%3Cpath d='m16 27 7 7 13-15' fill='none' stroke='%23b8934b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center top / 52px no-repeat;
}
body.woocommerce-order-received ul.woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0;
    margin: 0 0 34px;
    padding: 0;
    list-style: none;
    border: 1px solid var(--gx-line);
    border-radius: 12px;
    background: var(--gx-soft);
    overflow: hidden;
}
body.woocommerce-order-received ul.woocommerce-order-overview li {
    margin: 0;
    padding: 14px 18px;
    border: 0;
    border-right: 1px solid var(--gx-line);
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--gx-muted);
    overflow-wrap: anywhere;
}
body.woocommerce-order-received ul.woocommerce-order-overview li:last-child { border-right: 0; }
body.woocommerce-order-received ul.woocommerce-order-overview li strong {
    display: block;
    margin-top: 4px;
    font-size: 15px;
    letter-spacing: 0;
    text-transform: none;
    color: var(--gx-ink);
}
body.woocommerce-order-received .woocommerce-order h2,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details__title,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title { font-size: 20px; font-weight: 600; margin: 30px 0 12px; }
body.woocommerce-order-received .woocommerce-order table.shop_table,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details table.shop_table {
    width: 100%;
    border: 1px solid var(--gx-line);
    border-radius: 12px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    font-size: 14px;
}
body.woocommerce-order-received .woocommerce-order table.shop_table th,
body.woocommerce-order-received .woocommerce-order table.shop_table td { padding: 14px 18px; border: 0; border-top: 1px solid var(--gx-line); background: #fff; }
body.woocommerce-order-received .woocommerce-order table.shop_table thead th { border-top: 0; background: var(--gx-soft); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--gx-muted); }
body.woocommerce-order-received .woocommerce-order table.shop_table tfoot th { font-weight: 500; color: var(--gx-muted); }
body.woocommerce-order-received .woocommerce-order table.shop_table tfoot tr:nth-last-child(2) td,
body.woocommerce-order-received .woocommerce-order table.shop_table tfoot tr:nth-last-child(2) th { font-size: 16px; font-weight: 600; color: var(--gx-ink); }
body.woocommerce-order-received .woocommerce-order table.shop_table td.product-name a,
body.woocommerce-account .woocommerce-order-details td.product-name a { color: var(--gx-ink); text-decoration: none; font-weight: 500; }
body.woocommerce-order-received .woocommerce-order table.shop_table td.product-total,
body.woocommerce-order-received .woocommerce-order table.shop_table tfoot td { text-align: right; }
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
body.woocommerce-account .woocommerce-customer-details .woocommerce-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column,
body.woocommerce-account .woocommerce-customer-details .woocommerce-column { float: none !important; width: auto !important; margin: 0; }
body.woocommerce-order-received .woocommerce-customer-details address,
body.woocommerce-account .woocommerce-customer-details address {
    margin: 0;
    padding: 18px 20px;
    border: 1px solid var(--gx-line) !important;
    border-radius: 12px;
    font-style: normal;
    font-size: 14px;
    line-height: 1.7;
}
body.woocommerce-order-received .woocommerce-order > p,
body.woocommerce-order-received .woocommerce-order .woocommerce-notice { text-align: center; }
@media (max-width: 600px) {
    body.woocommerce-order-received ul.woocommerce-order-overview { grid-template-columns: 1fr 1fr; }
    body.woocommerce-order-received ul.woocommerce-order-overview li { border-right: 0; border-bottom: 1px solid var(--gx-line); }
    body.woocommerce-order-received .woocommerce-thankyou-order-received { font-size: 20px; }
    body.woocommerce-order-received .woocommerce-order table.shop_table th,
    body.woocommerce-order-received .woocommerce-order table.shop_table td { padding: 12px 14px; }
}
/* WooCommerce clearfix pseudo-elements would take a grid cell */
body.woocommerce-order-received ul.woocommerce-order-overview::before,
body.woocommerce-order-received ul.woocommerce-order-overview::after,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns::before,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns::after,
body.woocommerce-account .woocommerce-customer-details .woocommerce-columns::before,
body.woocommerce-account .woocommerce-customer-details .woocommerce-columns::after,
body.woocommerce-account .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-Addresses::after,
body.woocommerce-account:not(.galosom-auth-page) .entry-content > .woocommerce::before,
body.woocommerce-account:not(.galosom-auth-page) .entry-content > .woocommerce::after { content: none !important; display: none !important; }

/* simple passwords (2026-10-31): no strength meters */
body.woocommerce-checkout .wc-block-components-password-strength,
body.woocommerce-checkout .wc-block-components-password-strength__meter,
body.woocommerce-checkout .wc-block-components-password-strength__result,
body.woocommerce-account .woocommerce-password-strength,
body.woocommerce-account .woocommerce-password-hint { display: none !important; }
