/* =========================================================
   AGAM HERBALS — COMMERCE LAYER (v2 · homepage language)
   Cart + Checkout (WooCommerce BLOCKS) and product image zoom.

   Your Cart/Checkout pages use WooCommerce *blocks*, so the old PHP
   template override never applied. This file styles the block markup
   directly and borrows the homepage's design vocabulary:
   deep-green leaf-pattern sections, gold italic accents, the dark
   "featured" card with a gold corner bracket, ivory cards, diamond
   markers and the gold-sweep buttons.

   Everything is scoped to body.woocommerce-cart,
   body.woocommerce-checkout and body.single-product only.
   ========================================================= */

/* ---------------------------------------------------------
   1. PAGE FRAME
   --------------------------------------------------------- */
body.woocommerce-cart .site-content, body.woocommerce-cart #content, body.woocommerce-cart .ast-container,
body.woocommerce-cart #primary, body.woocommerce-cart .content-area, body.woocommerce-cart #main, body.woocommerce-cart .site-main {
    max-width: none !important; width: 100% !important;
    padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important;
    float: none !important; display: block !important;
}
body.woocommerce-cart #secondary, body.woocommerce-cart .widget-area, body.woocommerce-cart .sidebar-main { display: none !important; }

/* No gap between the navbar and the hero (cart, checkout, payment page) */
body.woocommerce-cart .site-content, body.woocommerce-checkout .site-content,
body.woocommerce-cart #content, body.woocommerce-checkout #content,
body.woocommerce-cart .ast-container, body.woocommerce-checkout .ast-container,
body.woocommerce-cart #primary, body.woocommerce-checkout #primary,
body.woocommerce-cart .content-area, body.woocommerce-checkout .content-area,
body.woocommerce-cart #main, body.woocommerce-checkout #main,
body.woocommerce-cart .site-main, body.woocommerce-checkout .site-main,
body.woocommerce-cart article, body.woocommerce-checkout article,
body.woocommerce-cart .ast-article-single, body.woocommerce-checkout .ast-article-single {
    margin-top: 0 !important; padding-top: 0 !important;
}
body.woocommerce-checkout .site-content, body.woocommerce-checkout #content, body.woocommerce-checkout .ast-container,
body.woocommerce-checkout #primary, body.woocommerce-checkout .content-area, body.woocommerce-checkout #main, body.woocommerce-checkout .site-main {
    max-width: none !important; width: 100% !important; padding-left: 0 !important; padding-right: 0 !important;
    margin-left: 0 !important; margin-right: 0 !important; float: none !important; display: block !important;
}
body.woocommerce-checkout #secondary, body.woocommerce-checkout .widget-area, body.woocommerce-checkout .sidebar-main { display: none !important; }
body.woocommerce-cart #primary, body.woocommerce-checkout #primary,
body.woocommerce-cart .site-main, body.woocommerce-checkout .site-main { margin-bottom: 0 !important; padding-bottom: 0 !important; }
body.woocommerce-cart .entry-content, body.woocommerce-checkout .entry-content { padding-top: 0 !important; margin-top: 0 !important; }
body.woocommerce-cart .agam-cx-top, body.woocommerce-checkout .agam-cx-top { margin-top: 0 !important; }

/* The hero below replaces Astra's own page title */
body.woocommerce-cart .entry-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-cart .page-header,
body.woocommerce-checkout .page-header,
body.woocommerce-cart .ast-breadcrumbs-wrapper,
body.woocommerce-checkout .ast-breadcrumbs-wrapper { display: none !important; }

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content {
    max-width: calc(var(--container) + 3rem) !important; width: 100% !important; box-sizing: border-box !important;
    margin-left: auto !important; margin-right: auto !important;
    padding: 0 1.5rem 5rem !important;
}
body.woocommerce-cart .entry-content > *:not(.agam-cx-top),
body.woocommerce-checkout .entry-content > *:not(.agam-cx-top) { max-width: 100% !important; }
body.woocommerce-cart article, body.woocommerce-checkout article { margin: 0 !important; padding: 0 !important; background: none !important; }

/* ---------------------------------------------------------
   2. HERO (deep green, leaf pattern, gold glow) — injected by functions.php
   --------------------------------------------------------- */
.agam-cx-top,
body.woocommerce-cart .entry-content > .agam-cx-top,
body.woocommerce-checkout .entry-content > .agam-cx-top {
    width: 100vw !important; max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
    margin-bottom: 3.2rem; box-sizing: border-box;
}
/* full-width trust marquee (same component as the homepage) */
.agam-cx-top .agam-trust { width: 100%; }

.agam-cx-hero {
    position: relative; overflow: hidden; isolation: isolate;
    padding: clamp(3rem, 5vw, 4.4rem) 1.5rem clamp(2.6rem, 4vw, 3.6rem);
    background:
        radial-gradient(ellipse 50% 90% at 92% 10%, rgba(176,141,79,0.28), transparent 62%),
        radial-gradient(ellipse 40% 70% at 0% 100%, rgba(107,135,112,0.22), transparent 60%),
        var(--green-deep);
    border-bottom: 1px solid rgba(212,183,127,0.35);
}
.agam-cx-hero::before {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'><g fill='none' stroke='%23ffffff' stroke-opacity='0.06' stroke-width='1'><path d='M30 190 C30 120 90 75 165 55 C145 110 100 155 30 190 Z'/><path d='M30 190 C65 165 95 130 105 90'/></g></svg>");
    background-size: 340px;
}
.agam-cx-hero-inner {
    max-width: var(--container); margin: 0 auto;
    display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: center;
}
.agam-cx-hero .agam-eyebrow { color: var(--gold-soft); margin-bottom: 1.1em; }
.agam-cx-hero h1 {
    color: #fff; font-weight: 400; letter-spacing: -0.025em; line-height: 1.06;
    font-size: clamp(2.4rem, 4.6vw, 3.7rem); margin: 0 0 0.4em;
}
.agam-cx-hero h1 em { font-style: italic; font-weight: 400; color: var(--gold-soft); }
.agam-cx-hero .agam-cx-lead { color: rgba(255,255,255,0.72); font-size: 1.1rem; line-height: 1.7; max-width: 52ch; margin: 0 0 2rem; }

/* progress: Cart → Checkout → Confirmation (a real sequence) */
.agam-cx-steps { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 0; list-style: none; margin: 0; padding: 0; }
.agam-cx-step { display: inline-flex; align-items: center; gap: 0.7rem; font-family: var(--font-body); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.42); margin: 0; }
.agam-cx-step::before {
    content: ""; width: 9px; height: 9px; transform: rotate(45deg); flex: 0 0 auto;
    border: 1px solid rgba(212,183,127,0.55); background: transparent;
}
.agam-cx-step + .agam-cx-step::after { content: none; }
.agam-cx-step + .agam-cx-step { margin-left: 0; }
.agam-cx-step-line { display: inline-block; width: 44px; height: 1px; background: rgba(212,183,127,0.35); margin: 0 1rem; }
.agam-cx-step.is-done { color: var(--gold-soft); }
.agam-cx-step.is-done::before { background: var(--gold-soft); border-color: var(--gold-soft); }
.agam-cx-step.is-active { color: #fff; }
.agam-cx-step.is-active::before { background: var(--gold); border-color: var(--gold); box-shadow: 0 0 0 4px rgba(176,141,79,0.25); }

/* rotating seal (same motif as the homepage hero) */
.agam-cx-seal {
    width: 124px; height: 124px; border-radius: 50%; padding: 8px; box-sizing: border-box;
    background: var(--cream);
    box-shadow: 0 18px 36px -14px rgba(0,0,0,0.5), 0 0 0 1px rgba(176,141,79,0.35) inset;
    animation: agam-spin 34s linear infinite;
}
.agam-cx-seal svg { width: 100%; height: 100%; display: block; }
.agam-cx-seal text { font-family: var(--font-body); font-size: 8.6px; font-weight: 600; letter-spacing: 0.28em; fill: var(--green); text-transform: uppercase; }
.agam-cx-seal .agam-seal-center { font-family: var(--font-display); font-size: 22px; font-style: italic; fill: var(--gold-deep); letter-spacing: 0; }
@media (prefers-reduced-motion: reduce) { .agam-cx-seal { animation: none; } }

/* trust strip under the hero */
.agam-cx-trust { background: var(--ivory); border-bottom: 1px solid var(--line-cream); padding: 1.35rem 1.5rem; }
.agam-cx-trust-inner { max-width: var(--container); margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem 2rem; }
.agam-cx-trust-item { display: inline-flex; align-items: center; gap: 0.8em; font-family: var(--font-body); font-size: 0.74rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--green); }
.agam-cx-trust-item svg { width: 22px; height: 22px; stroke: var(--gold); stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }

/* help card at the bottom */
.agam-cx-help {
    margin-top: 3.4rem; position: relative; overflow: hidden;
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 2rem;
    padding: 2rem 2.2rem; border-radius: var(--r-lg);
    background: var(--ivory); border: 1px solid var(--line-cream); box-shadow: var(--sh-sm);
}
.agam-cx-help::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: linear-gradient(180deg, var(--gold), var(--gold-deep)); }
.agam-cx-help h3 { font-size: 1.35rem; margin: 0 0 0.3em; }
.agam-cx-help p { margin: 0; max-width: 52ch; font-size: 0.98rem; }
.agam-cx-help-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; }

@media (max-width: 800px) {
    .agam-cx-hero-inner { grid-template-columns: 1fr; }
    .agam-cx-seal { display: none; }
    .agam-cx-step-line { width: 22px; margin: 0 0.6rem; }
    .agam-cx-trust-inner { justify-content: flex-start; }
}

/* ---------------------------------------------------------
   3. BLOCK BUTTON RESET
   --------------------------------------------------------- */
body.woocommerce-cart .wc-block-components-quantity-selector__button,
body.woocommerce-cart .wc-block-components-panel__button,
body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart .wc-block-components-button.is-link,
body.woocommerce-checkout .wc-block-components-panel__button,
body.woocommerce-checkout .wc-block-components-button.is-link,
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button,
body.woocommerce-checkout .wc-block-components-address-card__edit {
    background: none !important; background-image: none !important;
    box-shadow: none !important; transform: none !important; border: 0 !important;
    border-radius: 0; letter-spacing: normal !important; text-transform: none !important;
    font-family: var(--font-body) !important; padding: 0;
    color: var(--green) !important; cursor: pointer;
}
body.woocommerce-cart .wc-block-components-quantity-selector__button:hover,
body.woocommerce-cart .wc-block-cart-item__remove-link:hover,
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:hover {
    color: var(--gold-deep) !important; background: none !important; transform: none !important; box-shadow: none !important;
}

/* ---------------------------------------------------------
   4. PRIMARY BUTTONS
   Checkout "Place Order": green with gold sweep (light column)
   Cart "Proceed": gold on the dark totals card
   --------------------------------------------------------- */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-totals-coupon__button,
body.woocommerce-checkout .wc-block-components-totals-coupon__button {
    position: relative; display: flex !important; align-items: center; justify-content: center; gap: 0.8em;
    width: 100%; min-height: 3.7rem; padding: 1.15em 2em !important;
    border: 1px solid var(--green) !important; border-radius: 2px !important;
    background-color: var(--green) !important;
    background-image: linear-gradient(120deg, var(--gold) 0%, var(--gold-deep) 100%) !important;
    background-repeat: no-repeat !important; background-position: left center !important; background-size: 0% 100% !important;
    color: #fff !important; font-family: var(--font-body) !important;
    font-size: 0.76rem !important; font-weight: 600 !important; letter-spacing: 0.2em !important; text-transform: uppercase !important;
    text-decoration: none !important; cursor: pointer;
    box-shadow: 0 12px 26px -12px rgba(42,70,50,0.6) !important;
    transition: background-size 0.55s var(--ease), border-color 0.4s var(--ease), color 0.4s var(--ease), transform 0.35s var(--ease), box-shadow 0.35s var(--ease) !important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button::before,
body.woocommerce-cart .wc-block-cart__submit-button::before {
    content: ""; width: 6px; height: 6px; background: var(--gold-soft); transform: rotate(45deg); flex: 0 0 auto;
    transition: transform 0.55s var(--ease), background 0.4s var(--ease);
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-cart .wc-block-cart__submit-button:hover {
    background-size: 100% 100% !important; border-color: var(--gold-deep) !important;
    transform: translateY(-3px) !important; box-shadow: 0 20px 38px -14px rgba(176,141,79,0.65) !important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover::before,
body.woocommerce-cart .wc-block-cart__submit-button:hover::before { transform: rotate(225deg); background: #fff; }
body.woocommerce-cart .wc-block-cart__submit-button:focus-visible,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
body.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text { color: inherit !important; }

/* Cart "Proceed to Checkout" — gold, sits on the dark card */
body.woocommerce-cart .wc-block-cart__submit-button {
    background-color: var(--gold-soft) !important; border-color: var(--gold-soft) !important; color: var(--green-deep) !important;
    background-image: linear-gradient(120deg, #fff 0%, #fff 100%) !important;
    box-shadow: 0 14px 30px -12px rgba(0,0,0,0.55) !important;
}
body.woocommerce-cart .wc-block-cart__submit-button::before { background: var(--green); }
body.woocommerce-cart .wc-block-cart__submit-button:hover { border-color: #fff !important; color: var(--green-deep) !important; }
body.woocommerce-cart .wc-block-cart__submit-button:hover::before { background: var(--gold-deep); }

/* Coupon apply — quiet outline */
body.woocommerce-cart .wc-block-components-totals-coupon__button,
body.woocommerce-checkout .wc-block-components-totals-coupon__button {
    width: auto; min-height: 3.1rem; padding: 0.9em 1.5em !important;
    background-color: transparent !important; box-shadow: none !important;
    background-image: linear-gradient(120deg, var(--gold-soft) 0%, var(--gold-soft) 100%) !important;
    color: var(--gold-soft) !important; border-color: rgba(212,183,127,0.55) !important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__button:hover,
body.woocommerce-checkout .wc-block-components-totals-coupon__button:hover { color: var(--green-deep) !important; background-size: 100% 100% !important; border-color: var(--gold-soft) !important; }
body.woocommerce-cart .wc-block-components-totals-coupon__button .wc-block-components-button__text,
body.woocommerce-checkout .wc-block-components-totals-coupon__button .wc-block-components-button__text { color: inherit !important; }

/* ---------------------------------------------------------
   5. CART — items
   --------------------------------------------------------- */
body.woocommerce-cart .wc-block-components-sidebar-layout { gap: 0; align-items: flex-start; }
body.woocommerce-cart .wc-block-components-main.wc-block-cart__main { padding-right: 2.6rem !important; box-sizing: border-box; overflow-x: hidden; }

body.woocommerce-cart table.wc-block-cart-items {
    width: 100%; border-collapse: separate; border-spacing: 0; margin: 0 !important;
    background: var(--ivory); border: 1px solid var(--line-cream);
    border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh-md);
    border-top: 3px solid var(--gold-soft);
}
body.woocommerce-cart table.wc-block-cart-items thead th,
body.woocommerce-cart .wc-block-cart-items__header th,
body.woocommerce-cart .wc-block-cart-items__header-image,
body.woocommerce-cart .wc-block-cart-items__header-product,
body.woocommerce-cart .wc-block-cart-items__header-total {
    padding: 1.2rem 1.7rem !important; background: transparent;
    font-family: var(--font-body); font-size: 0.72rem !important; font-weight: 600 !important;
    letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-deep) !important;
    border-bottom: 1px solid var(--line) !important;
}
body.woocommerce-cart .wc-block-cart-items__row td { padding: 1.9rem 1.7rem !important; vertical-align: top; border-top: 1px solid var(--line-cream) !important; }
body.woocommerce-cart .wc-block-cart-items__row:first-child td { border-top: none !important; }
body.woocommerce-cart .wc-block-cart-items__row { transition: background 0.3s var(--ease); }
body.woocommerce-cart .wc-block-cart-items__row:hover { background: rgba(244,237,219,0.4); }

body.woocommerce-cart .wc-block-cart-item__image { width: 124px; }
body.woocommerce-cart .wc-block-cart-item__image a { display: block; }
body.woocommerce-cart .wc-block-cart-item__image img {
    width: 100% !important; max-width: 104px; aspect-ratio: 1 / 1; object-fit: cover;
    border-radius: var(--r-md); background: linear-gradient(168deg, #FBF7EC, #F1E8D2);
    box-shadow: 0 0 0 1px var(--line), 0 12px 24px -14px rgba(23,43,29,0.3);
}
body.woocommerce-cart .wc-block-components-product-name {
    font-family: var(--font-display) !important; font-size: 1.28rem !important; font-weight: 500 !important;
    line-height: 1.28; letter-spacing: -0.01em; color: var(--green) !important; text-decoration: none !important;
    display: inline-block; margin-bottom: 0.4em;
}
body.woocommerce-cart .wc-block-components-product-name:hover { color: var(--gold-deep) !important; }
body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-components-product-price { font-family: var(--font-body); font-size: 0.92rem; color: var(--text-soft); }
body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price,
body.woocommerce-cart .wc-block-cart-item__total { font-family: var(--font-display); font-size: 1.3rem; font-weight: 500; color: var(--green); }
body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-metadata__description { font-size: 0.86rem; color: var(--text-soft); }

body.woocommerce-cart .wc-block-cart-item__quantity { margin-top: 1rem; display: flex; align-items: center; gap: 1.2rem; }
body.woocommerce-cart .wc-block-components-quantity-selector {
    width: auto; height: 2.7rem; background: #fff; overflow: hidden; box-shadow: none !important;
    border: 1px solid var(--line-strong) !important; border-radius: 999px !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector::after { display: none !important; }
body.woocommerce-cart .wc-block-components-quantity-selector__input {
    font-family: var(--font-body); font-weight: 600; font-size: 0.95rem; color: var(--green);
    width: 2.6rem !important; min-width: 0; background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector__button {
    width: 2.5rem; min-width: 2.5rem; height: 100%; display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.1rem; opacity: 1 !important; transition: background 0.25s var(--ease);
}
body.woocommerce-cart .wc-block-components-quantity-selector__button:hover { background: var(--cream-soft) !important; }
body.woocommerce-cart .wc-block-cart-item__remove-link {
    font-size: 0.8rem !important; color: var(--text-soft) !important;
    text-decoration: underline !important; text-underline-offset: 3px; text-decoration-color: var(--line-strong);
}
body.woocommerce-cart .wc-block-cart-item__remove-link:hover { color: #A2402B !important; }

/* Mobile: the item table is 3 real <table> columns (image / product / total). Below
   ~680px there isn't room for all three side-by-side without forcing the table wider
   than the screen — that overflow is what was eating the left/right padding and
   making the page look off-centre. Stack each row into one column instead. */
@media (max-width: 680px) {
    body.woocommerce-cart table.wc-block-cart-items,
    body.woocommerce-cart table.wc-block-cart-items tbody,
    body.woocommerce-cart .wc-block-cart-items__row,
    body.woocommerce-cart .wc-block-cart-items__row td {
        display: block !important; width: 100% !important; box-sizing: border-box !important;
    }
    body.woocommerce-cart table.wc-block-cart-items thead { display: none !important; }
    body.woocommerce-cart .wc-block-cart-items__row {
        padding: 1.3rem 1.1rem !important; border-top: 1px solid var(--line-cream) !important;
    }
    body.woocommerce-cart .wc-block-cart-items__row:first-child { border-top: none !important; }
    body.woocommerce-cart .wc-block-cart-items__row td { padding: 0 !important; border-top: none !important; }
    body.woocommerce-cart .wc-block-cart-items__row td:not(:last-child) { margin-bottom: 0.9rem; }
    body.woocommerce-cart .wc-block-cart-item__image { width: 100%; margin-bottom: 0; }
    body.woocommerce-cart .wc-block-cart-item__image img { max-width: 84px; }
    body.woocommerce-cart .wc-block-cart-item__total {
        display: flex !important; align-items: baseline; justify-content: space-between;
        padding-top: 0.9rem !important; border-top: 1px dashed var(--line-cream);
    }
}

/* ---------------------------------------------------------
   6. DARK "FEATURED" SUMMARY CARD — cart totals + checkout order summary
   (same treatment as the homepage's featured category card)
   --------------------------------------------------------- */
body.woocommerce-cart .wc-block-cart__sidebar { position: static !important; padding: 0 !important; margin: 0 !important; align-self: flex-start; }
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block { margin: 0 !important; }
body.woocommerce-cart .wc-block-components-sidebar-layout { margin-bottom: 0 !important; }
body.woocommerce-cart .wc-block-components-sidebar-layout::after { content: ""; display: block; clear: both; }
body.woocommerce-checkout .wc-block-checkout__sidebar { position: sticky; top: 118px; padding: 0 !important; }

body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    position: relative; overflow: hidden; isolation: isolate;
    padding: 2.2rem 2rem 2rem !important; border-radius: var(--r-lg);
    border: 1px solid rgba(212,183,127,0.22) !important;
    background:
        radial-gradient(ellipse 80% 45% at 100% 0%, rgba(176,141,79,0.22), transparent 65%),
        var(--green);
    box-shadow: 0 28px 52px -20px rgba(23,43,29,0.45);
    color: rgba(255,255,255,0.78);
}
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block::before,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block::before {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'><g fill='none' stroke='%23ffffff' stroke-opacity='0.06' stroke-width='1'><path d='M30 190 C30 120 90 75 165 55 C145 110 100 155 30 190 Z'/><path d='M30 190 C65 165 95 130 105 90'/></g></svg>");
    background-size: 300px;
}
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block::after,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block::after {
    content: ""; position: absolute; top: 1.2rem; right: 1.2rem; width: 42px; height: 42px; pointer-events: none;
    border-top: 1px solid var(--gold-soft); border-right: 1px solid var(--gold-soft); opacity: 0.55;
}

/* inherit the light text inside the dark card (inputs/labels excluded) */
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block :is(span, p, div, h2, h3, dt, dd),
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block :is(span, p, div, h2, h3, dt, dd) { color: inherit; }

body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
    display: block; padding: 0 0 1.1rem !important; margin: 0 !important;
    font-family: var(--font-display) !important; font-size: 1.55rem !important; font-weight: 400 !important;
    letter-spacing: -0.015em !important; text-transform: none !important; text-align: left !important;
    color: #fff !important; border-bottom: 1px solid rgba(255,255,255,0.14);
}
body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper {
    border-top: 1px solid rgba(255,255,255,0.14) !important; padding: 1.1rem 0 !important;
}
body.woocommerce-cart .wc-block-components-totals-wrapper:first-child,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper:first-child { border-top: none !important; }

body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item__label { font-family: var(--font-body); font-size: 0.92rem; color: rgba(255,255,255,0.72) !important; }
body.woocommerce-cart .wc-block-components-totals-item__value,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item__value { font-family: var(--font-body); font-size: 0.98rem; font-weight: 600; color: #fff !important; }
body.woocommerce-cart .wc-block-components-totals-item__description,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item__description { color: rgba(255,255,255,0.6) !important; font-size: 0.82rem; }

/* grand total */
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-family: var(--font-display); font-size: 1.25rem; font-weight: 400; font-style: italic; color: var(--gold-soft) !important;
}
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-family: var(--font-display); font-size: 2.1rem; font-weight: 400; letter-spacing: -0.02em; color: #fff !important;
}

/* coupon panel */
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block .wc-block-components-panel__button,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button {
    width: 100%; display: flex !important; justify-content: space-between; align-items: center; text-align: left;
    font-size: 0.92rem !important; font-weight: 500; padding: 0.2rem 0 !important; color: rgba(255,255,255,0.88) !important;
}
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block .wc-block-components-panel__button svg,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button svg { fill: var(--gold-soft); }
body.woocommerce-cart .wc-block-components-totals-coupon__form,
body.woocommerce-checkout .wc-block-components-totals-coupon__form { gap: 0.6rem; margin-top: 0.9rem; align-items: stretch; }
body.woocommerce-cart .wc-block-components-totals-coupon__form input { background: rgba(255,255,255,0.96) !important; }
body.woocommerce-cart .wc-block-cart__submit-container { padding-top: 0.6rem !important; }
body.woocommerce-cart .wc-block-components-shipping-calculator-address__button,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block a:not(.wc-block-cart__submit-button) { color: var(--gold-soft) !important; }

/* checkout summary items */
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title { padding: 0 !important; border: none !important; margin-bottom: 0.3rem; }
body.woocommerce-checkout .wc-block-components-order-summary { padding: 0 !important; }
body.woocommerce-checkout .wc-block-components-order-summary-item { padding: 1.1rem 0 !important; border-bottom: 1px solid rgba(255,255,255,0.12); }
body.woocommerce-checkout .wc-block-components-order-summary-item:last-child { border-bottom: none; }
body.woocommerce-checkout .wc-block-components-order-summary-item__image { width: 64px; }
body.woocommerce-checkout .wc-block-components-order-summary-item__image > img { border-radius: var(--r-sm); border: 1px solid rgba(255,255,255,0.18) !important; background: rgba(255,255,255,0.08); }
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
    background: var(--gold) !important; color: #fff !important; border: 2px solid var(--green) !important; box-shadow: none !important; font-weight: 700;
}
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-product-name {
    font-family: var(--font-display) !important; font-size: 1.02rem !important; font-weight: 500 !important;
    line-height: 1.3 !important; letter-spacing: -0.005em; color: #fff !important; margin: 0 0 0.25rem; display: block; text-decoration: none !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-metadata { font-family: var(--font-body); font-size: 0.84rem !important; color: rgba(255,255,255,0.62) !important; }
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price { font-family: var(--font-body); font-size: 0.98rem !important; font-weight: 600; color: var(--gold-soft) !important; }

/* ---------------------------------------------------------
   7. FORM FIELDS
   --------------------------------------------------------- */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-block-components-textarea,
body.woocommerce-checkout .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 {
    font-family: var(--font-body) !important; font-size: 0.98rem !important; color: var(--ink) !important;
    background: #fff !important; border: 1px solid var(--line-strong) !important;
    border-radius: var(--r-sm) !important; box-shadow: none !important;
    transition: border-color 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-textarea:focus,
body.woocommerce-checkout .wc-blocks-components-select__select:focus,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
body.woocommerce-cart .wc-block-components-text-input input:focus {
    outline: none !important; border-color: var(--gold) !important; box-shadow: 0 0 0 3px rgba(176,141,79,0.22) !important;
}
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-blocks-components-select__label,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control label { font-family: var(--font-body); color: var(--text-soft) !important; }
body.woocommerce-checkout .wc-block-components-text-input.has-error input { border-color: #B3402A !important; box-shadow: 0 0 0 3px rgba(179,64,42,0.12) !important; }
body.woocommerce-checkout .wc-block-components-validation-error,
body.woocommerce-checkout .wc-block-components-validation-error > p { color: #A2402B !important; font-family: var(--font-body); font-size: 0.8rem; }
body.woocommerce-checkout .wc-block-components-text-input.has-error label { color: #A2402B !important; }

/* ---------------------------------------------------------
   8. CHECKOUT — numbered step cards
   --------------------------------------------------------- */
body.woocommerce-checkout .wc-block-components-sidebar-layout { gap: 0; align-items: flex-start; }
body.woocommerce-checkout .wc-block-components-main.wc-block-checkout__main { padding-right: 2.6rem !important; box-sizing: border-box; }

body.woocommerce-checkout .wc-block-checkout__form { counter-reset: agamstep; }
body.woocommerce-checkout .wc-block-components-checkout-step {
    counter-increment: agamstep; position: relative;
    background: var(--ivory); border: 1px solid var(--line-cream) !important; border-top: 3px solid var(--gold-soft) !important;
    border-radius: var(--r-lg); padding: 2.1rem 2.2rem 2rem !important;
    margin: 0 0 1.5rem !important; box-shadow: var(--sh-md);
}
body.woocommerce-checkout .wc-block-components-checkout-step__container { padding: 0 !important; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading { margin: 0 0 1.6rem !important; }
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-title.wc-block-components-checkout-step__title {
    display: flex; align-items: center; gap: 0.95rem;
    font-family: var(--font-display) !important; font-size: 1.6rem !important; font-weight: 500 !important;
    line-height: 1.2 !important; letter-spacing: -0.015em !important; text-transform: none !important; color: var(--green) !important; margin: 0 !important;
}
body.woocommerce-checkout .wc-block-components-checkout-step__title::before {
    content: counter(agamstep); flex: 0 0 auto; display: grid; place-items: center;
    width: 2.5rem; height: 2.5rem; border-radius: 50%;
    background: var(--cream-soft); border: 1px solid var(--gold-soft);
    font-family: var(--font-display); font-style: italic; font-size: 1.1rem; font-weight: 400; color: var(--gold-deep); letter-spacing: 0;
}
body.woocommerce-checkout .wc-block-components-checkout-step__description { font-size: 0.92rem; color: var(--text-soft); margin-top: 0.6rem; }

/* payment options — ONE border per option (outer box only) */
body.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
    border: 1px solid var(--line-strong) !important; border-radius: var(--r-md) !important;
    background: #fff; margin: 0 0 0.75rem !important; box-shadow: none !important; overflow: hidden;
    transition: border-color 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
/* the inner row of an accordion option must NOT draw its own border */
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option-checked {
    border: 0 !important; box-shadow: none !important; background: transparent !important; margin: 0 !important; border-radius: 0 !important;
}
body.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control__option-checked,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    border-color: var(--green) !important; box-shadow: 0 0 0 1px var(--green) !important;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content { padding: 0 1.2rem 1.1rem !important; font-family: var(--font-body); font-size: 0.9rem; color: var(--text-soft); }
body.woocommerce-checkout .wc-block-components-radio-control__label { font-family: var(--font-body); font-weight: 500; color: var(--ink); }
body.woocommerce-checkout .wc-block-components-radio-control__input:checked { border-color: var(--green) !important; }
body.woocommerce-checkout .wc-block-components-radio-control__input:checked::before { background: var(--green) !important; }
body.woocommerce-checkout .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--green) !important; border-color: var(--green) !important; }
body.woocommerce-checkout .wc-block-components-checkbox__mark { fill: #fff !important; }
body.woocommerce-checkout .wc-block-components-checkbox__label { font-family: var(--font-body); font-size: 0.92rem; color: var(--text); }

/* terms + actions */
body.woocommerce-checkout .wc-block-checkout__terms { font-family: var(--font-body); font-size: 0.85rem; line-height: 1.6; color: var(--text-soft); margin: 1.6rem 0 1.4rem !important; }
body.woocommerce-checkout .wc-block-checkout__terms a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
body.woocommerce-checkout .wc-block-checkout__actions { padding: 0 !important; align-items: center; gap: 1.2rem; }
body.woocommerce-checkout .wc-block-checkout__actions_row { align-items: center; }
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button { font-size: 0.85rem !important; text-decoration: none !important; white-space: nowrap; }

/* ---------------------------------------------------------
   7b. FORM SPACING — one consistent rhythm for every field
   Fixes cramped floating labels and uneven gaps.
   --------------------------------------------------------- */
body.woocommerce-checkout .wc-block-components-address-form,
body.woocommerce-checkout .wc-block-components-address-form__row { gap: 0 1rem; }
body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-blocks-components-select,
body.woocommerce-checkout .wc-block-components-country-input,
body.woocommerce-checkout .wc-block-components-state-input,
body.woocommerce-checkout .wc-block-components-combobox { margin-top: 1.05rem !important; margin-bottom: 0 !important; position: relative; }
body.woocommerce-checkout .wc-block-components-checkout-step__content > .wc-block-components-text-input:first-child,
body.woocommerce-checkout .wc-block-components-checkout-step__container > .wc-block-components-text-input:first-child { margin-top: 0 !important; }

/* inputs: fixed height, room for the floated label */
body.woocommerce-checkout .wc-block-components-text-input input[type],
body.woocommerce-checkout .wc-block-components-text-input input {
    height: 3.75rem !important; padding: 1.55rem 1rem 0.4rem !important; line-height: 1.4 !important; box-sizing: border-box !important;
}
/* label: sits centred when empty, floats small at the top when active */
body.woocommerce-checkout .wc-block-components-text-input label {
    position: absolute !important; left: 1rem !important; right: 1rem; top: 1.18rem !important;
    margin: 0 !important; padding: 0 !important; transform: none !important; transform-origin: left top;
    font-size: 0.98rem !important; line-height: 1.4 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    pointer-events: none; transition: top 0.2s var(--ease), font-size 0.2s var(--ease) !important;
}
body.woocommerce-checkout .wc-block-components-text-input.is-active label,
body.woocommerce-checkout .wc-block-components-text-input input:focus + label,
body.woocommerce-checkout .wc-block-components-text-input input:not(:placeholder-shown) + label {
    top: 0.5rem !important; font-size: 0.74rem !important; letter-spacing: 0.02em;
}

/* select / country / state */
body.woocommerce-checkout .wc-blocks-components-select__container { position: relative; border-radius: var(--r-sm); }
body.woocommerce-checkout .wc-blocks-components-select__select {
    height: 3.75rem !important; padding: 1.55rem 2.6rem 0.4rem 1rem !important; line-height: 1.4 !important; box-sizing: border-box !important; margin: 0 !important;
}
body.woocommerce-checkout .wc-blocks-components-select__label {
    position: absolute !important; left: 1rem !important; top: 0.5rem !important; margin: 0 !important; padding: 0 !important;
    transform: none !important; font-size: 0.74rem !important; line-height: 1.4 !important; letter-spacing: 0.02em; pointer-events: none;
}
body.woocommerce-checkout .wc-blocks-components-select__expand { right: 1rem !important; top: 50% !important; transform: translateY(-50%); fill: var(--green); }

/* combobox variant (some countries use it for State) */
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input { height: 3.75rem !important; padding: 1.55rem 2.6rem 0.4rem 1rem !important; box-sizing: border-box !important; }
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control label { left: 1rem !important; top: 0.5rem !important; font-size: 0.74rem !important; transform: none !important; }

/* validation + helper links */
body.woocommerce-checkout .wc-block-components-validation-error { margin-top: 0.4rem !important; padding-left: 0.2rem; }
body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle {
    display: inline-block; margin-top: 1rem; font-family: var(--font-body); font-size: 0.9rem; font-weight: 500;
    color: var(--green) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--gold-soft);
}
body.woocommerce-checkout .wc-block-components-checkbox { margin-top: 1rem; }
body.woocommerce-checkout .wc-block-components-address-card { border-radius: var(--r-md); border-color: var(--line-strong) !important; background: #fff; }

/* the "Add a note" row is not a numbered step — keep it a slim card */
body.woocommerce-checkout .wc-block-checkout__add-note { counter-increment: none !important; padding: 1.2rem 1.7rem !important; border-top-width: 1px !important; box-shadow: var(--sh-sm); }
body.woocommerce-checkout .wc-block-checkout__add-note .wc-block-components-checkout-step__heading { display: none; }
body.woocommerce-checkout .wc-block-checkout__add-note .wc-block-components-checkout-step__container { margin: 0; }
body.woocommerce-checkout .wc-block-checkout__add-note .wc-block-components-checkbox { margin-top: 0; }

/* hide summary rows that render empty (they left a blank gap in the dark card) */
body.woocommerce-cart .wc-block-components-totals-wrapper:has(> :only-child:empty),
body.woocommerce-checkout .wc-block-components-totals-wrapper:has(> :only-child:empty),
body.woocommerce-cart .wc-block-components-totals-wrapper:empty,
body.woocommerce-checkout .wc-block-components-totals-wrapper:empty { display: none !important; }

/* ---------------------------------------------------------
   9. ORDER RECEIVED (thank-you) — keep it in the same family
   --------------------------------------------------------- */
body.woocommerce-checkout .woocommerce-order { max-width: 820px; margin: 0 auto; }
body.woocommerce-order-received .woocommerce-notice--success {
    font-family: var(--font-display); font-size: 1.5rem; color: var(--green);
    padding: 1.6rem 1.8rem; background: var(--ivory); border: 1px solid var(--line-cream); border-left: 3px solid var(--gold); border-radius: var(--r-md); margin-bottom: 1.6rem;
}
body.woocommerce-checkout ul.order_details {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1rem; list-style: none; padding: 0; margin: 0 0 2rem;
}
body.woocommerce-checkout ul.order_details li {
    padding: 1.1rem 1.2rem; background: var(--ivory); border: 1px solid var(--line-cream); border-radius: var(--r-md);
    font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-deep); border-right: 1px solid var(--line-cream);
}
body.woocommerce-checkout ul.order_details li strong { display: block; margin-top: 0.4em; font-family: var(--font-display); font-size: 1.1rem; letter-spacing: 0; text-transform: none; color: var(--green); }

/* ---------------------------------------------------------
   10. RESPONSIVE
   --------------------------------------------------------- */
@media (max-width: 900px) {
    body.woocommerce-cart .wc-block-components-main.wc-block-cart__main,
    body.woocommerce-checkout .wc-block-components-main.wc-block-checkout__main { padding-right: 0 !important; }
    body.woocommerce-cart .wc-block-cart__sidebar,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        position: static; margin: 2rem 0 0 !important; width: 100% !important; max-width: 100% !important;
        box-sizing: border-box !important;
    }
    body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
    body.woocommerce-cart .wc-block-cart__submit-container,
    body.woocommerce-checkout .wc-block-checkout__actions {
        margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; box-sizing: border-box !important;
    }
    body.woocommerce-checkout .wc-block-components-checkout-step { padding: 1.6rem 1.25rem 1.5rem !important; }
    .agam-cx-top { margin-bottom: 2.2rem; }
}
@media (max-width: 600px) {
    body.woocommerce-cart table.wc-block-cart-items { border-radius: var(--r-md); }
    body.woocommerce-cart .wc-block-cart-items__row td { padding: 1.2rem 1rem !important; }
    body.woocommerce-cart .wc-block-cart-item__image { width: 84px; }
    .agam-cx-help { padding: 1.6rem 1.3rem; }
}

/* Belt-and-braces: force the side gutter and each step's card padding to hold
   at every mobile width, in case any block/plugin default tries to bleed the
   checkout form edge-to-edge below this size. */
@media (max-width: 480px) {
    body.woocommerce-cart .entry-content,
    body.woocommerce-checkout .entry-content {
        padding-left: 1rem !important; padding-right: 1rem !important;
    }
    body.woocommerce-checkout .wc-block-checkout__form,
    body.woocommerce-checkout .wc-block-components-main.wc-block-checkout__main,
    body.woocommerce-cart .wc-block-components-main.wc-block-cart__main {
        width: 100% !important; max-width: 100% !important;
        margin-left: 0 !important; margin-right: 0 !important;
        padding-left: 0 !important; padding-right: 0 !important;
        box-sizing: border-box !important;
    }
    body.woocommerce-checkout .wc-block-components-checkout-step {
        padding: 1.4rem 1.1rem 1.3rem !important;
        margin-left: 0 !important; margin-right: 0 !important;
        width: 100% !important; box-sizing: border-box !important;
    }
}

/* =========================================================
   PRODUCT PAGE — HOVER ZOOM
   The image scales up from wherever the cursor is (driven by
   js/agam-premium.js which sets transform-origin). Desktop
   pointers only; touch devices get the tap-to-open lightbox.
   ========================================================= */
body.single-product div.product .woocommerce-product-gallery__image { overflow: hidden !important; }
body.single-product div.product .woocommerce-product-gallery.agam-zoomable .woocommerce-product-gallery__image a { cursor: zoom-in; }
body.single-product div.product .woocommerce-product-gallery.agam-zoomable .woocommerce-product-gallery__image img {
    transition: transform 0.45s var(--ease) !important; will-change: transform;
}
body.single-product div.product .woocommerce-product-gallery.agam-zoomable .woocommerce-product-gallery__image.is-zooming img {
    transform: scale(2.5) !important;
    transition: transform 0.35s var(--ease) !important;
}
body.single-product div.product .woocommerce-product-gallery.agam-zoomable .woocommerce-product-gallery__image.is-zooming a { cursor: zoom-in; }

/* subtle hint chip */
body.single-product div.product .woocommerce-product-gallery.agam-zoomable::after {
    content: "Hover to zoom"; position: absolute; left: 16px; top: 16px; z-index: 5;
    padding: 0.5em 1em; border-radius: 999px;
    background: rgba(255,253,247,0.92); color: var(--green);
    font-family: var(--font-body); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.08em;
    box-shadow: 0 0 0 1px var(--line); pointer-events: none;
    opacity: 1; transition: opacity 0.3s var(--ease);
}
body.single-product div.product .woocommerce-product-gallery.agam-zoomable:has(.is-zooming)::after { opacity: 0; }
body.single-product div.product .woocommerce-product-gallery.agam-zoomable.agam-no-image::after { display: none; }

/* lightbox trigger (magnifier) — tidy to match the theme */
body.single-product div.product .woocommerce-product-gallery__trigger {
    position: absolute !important; top: 14px !important; right: 14px !important; z-index: 6 !important;
    width: 40px !important; height: 40px !important; border-radius: 50% !important;
    background: rgba(255,253,247,0.94) !important; box-shadow: 0 0 0 1px var(--line) !important;
    display: flex !important; align-items: center; justify-content: center; text-indent: 0;
}
body.single-product div.product .woocommerce-product-gallery__trigger:hover { background: var(--green) !important; }
body.single-product div.product .woocommerce-product-gallery__trigger:hover::before { border-color: #fff !important; }
body.single-product div.product .woocommerce-product-gallery__trigger:hover::after { background: #fff !important; }

@media (hover: none), (pointer: coarse) {
    body.single-product div.product .woocommerce-product-gallery.agam-zoomable::after { display: none; }
}

/* =========================================================
   RELATED PRODUCTS — small polish (behaviour is in the JS)
   ========================================================= */
body.single-product .related.products ul.products li.product { transition: transform 0.4s var(--ease); }
@media (prefers-reduced-motion: reduce) {
    body.single-product div.product .woocommerce-product-gallery.agam-zoomable .woocommerce-product-gallery__image img { transition: none !important; }
}

/* =========================================================
   CHECKOUT — MOBILE ORDER SUMMARY (one copy, premium card)
   WooCommerce renders the summary twice on small screens:
   (A) .checkout-order-summary-block-fill-wrapper  - inside the form, always open
   (B) the collapsible one in the sidebar, below the form
   We keep (A) as a light "step" card, and hide (B).
   ========================================================= */

/* Hide the duplicate (B) whenever the in-form copy (A) exists */
body.woocommerce-checkout .wc-block-components-sidebar-layout:has(.checkout-order-summary-block-fill-wrapper) .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { display: none !important; }
body.woocommerce-checkout .wc-block-components-sidebar-layout:has(.checkout-order-summary-block-fill-wrapper) .wc-block-checkout__sidebar { margin: 0 !important; padding: 0 !important; min-height: 0; }
/* fallback for browsers without :has() */
body.woocommerce-checkout .wc-block-components-sidebar-layout:is(.is-mobile, .is-small, .is-medium) .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { display: none !important; }
body.woocommerce-checkout .wc-block-components-sidebar-layout:is(.is-mobile, .is-small, .is-medium) .wc-block-checkout__sidebar { margin: 0 !important; padding: 0 !important; }

/* (A) the kept copy: light ivory step card, same family as steps 1-3 */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper {
    position: relative; overflow: visible; isolation: auto;
    background: var(--ivory) !important; background-image: none !important; color: var(--text);
    border: 1px solid var(--line-cream) !important; border-top: 3px solid var(--gold-soft) !important; border-radius: var(--r-lg);
    padding: 1.7rem 1.25rem 1.3rem !important; margin: 0 0 1.5rem !important; box-shadow: var(--sh-md);
    width: 100% !important; box-sizing: border-box !important;
}
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper::before,
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper::after { display: none !important; content: none !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper :is(span, p, div, h2, h3, dt, dd) { color: var(--text); }

/* heading: green display type + numbered gold badge (readable now) */
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-step__heading { margin: 0 0 1.2rem !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-title,
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-step__title { color: var(--green) !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-step__title::before { color: var(--gold-deep) !important; }

/* inner box: remove WooCommerce's extra border/padding */
body.woocommerce-checkout .checkout-order-summary-block-fill { border: 0 !important; border-radius: 0 !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary { padding: 0 !important; margin: 0 !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-item,
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-coupon { padding-left: 0 !important; padding-right: 0 !important; }

/* product row: image | name + price | line total */
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item {
    display: grid !important; grid-template-columns: 64px minmax(0, 1fr) auto; column-gap: 0.9rem; align-items: start;
    padding: 0.2rem 0 1.1rem !important; border-bottom: 1px solid var(--line) !important; margin: 0 !important;
}
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item__image { width: 64px; padding: 0 !important; margin: 0 !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item__image > img { width: 100%; border-radius: var(--r-sm); border: 1px solid var(--line-cream) !important; background: #fff !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item__quantity { background: var(--gold) !important; color: #fff !important; border: 2px solid var(--ivory) !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item__description { padding: 0 !important; min-width: 0; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-product-name { color: var(--green) !important; font-size: 1.02rem !important; line-height: 1.3 !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item__individual-prices { color: var(--text-soft) !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item__total-price { color: var(--green) !important; font-weight: 700; white-space: nowrap; }
/* the long product description makes a narrow, tall column on phones — hide it here */
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item__description .wc-block-components-product-metadata,
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-product-metadata__description { display: none !important; }

/* totals */
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-wrapper { border-top: 1px solid var(--line) !important; padding: 0.95rem 0 !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-wrapper:first-child { border-top: 0 !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-item__label { color: var(--text-soft) !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-item__value { color: var(--ink) !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-item__description { color: var(--text-soft) !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-panel__button { color: var(--green) !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-panel__button svg { fill: var(--gold-deep) !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-coupon__form input { background: #fff !important; }

/* spacing around the Place order button */
body.woocommerce-checkout .wc-block-checkout__actions { margin-top: 0.4rem !important; }
body.woocommerce-checkout .wc-block-checkout__terms { margin-top: 0.4rem !important; }

/* tiny screens */
@media (max-width: 420px) {
    body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item { grid-template-columns: 56px minmax(0, 1fr); }
    body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item__total-price { grid-column: 2; margin-top: 0.3rem; }
    body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item__image { width: 56px; }
}

/* =========================================================
   CHECKOUT MOBILE — round 2
   1rem page gutter, tighter cards, readable total, clean payment options
   ========================================================= */

/* --- Payment options: one clean border per option, real gap between them (all sizes) --- */
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
body.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control-accordion-option {
    border: 1px solid var(--line-strong) !important; border-radius: var(--r-md) !important; background: #fff !important;
    margin: 0 0 0.8rem !important; padding: 0 !important; box-shadow: none !important; outline: 0 !important; overflow: hidden;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option:last-child,
body.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control__option:last-child { margin-bottom: 0 !important; }
/* nothing inside an option may draw its own border / shadow */
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option-layout,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label-group,
body.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control__option .wc-block-components-radio-control__option-layout {
    border: 0 !important; box-shadow: none !important; background: transparent !important; outline: 0 !important; margin: 0 !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__option { padding: 1rem 1.1rem 1rem 3.1rem !important; }
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option { padding-top: 1rem !important; padding-bottom: 1rem !important; }
body.woocommerce-checkout .wc-block-components-radio-control__option-checked,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option:has(input:checked),
body.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control__option:has(input:checked) { border-color: var(--green) !important; box-shadow: 0 0 0 1px var(--green) !important; }
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content { border: 0 !important; padding: 0 1.1rem 1rem 3.1rem !important; box-shadow: none !important; }

/* --- Order summary: simpler, receipt-style --- */
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-step__title::before { display: none !important; }
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-step__heading {
    margin: 0 0 0.9rem !important; padding: 0 0 0.85rem; border-bottom: 1px solid var(--line-strong);
}
body.woocommerce-checkout .checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-step__title { font-size: 1.4rem !important; }
/* always three columns: image | name+price | line total  (undo the earlier narrow-screen stacking) */
@media (max-width: 420px) {
    body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item { grid-template-columns: 58px minmax(0, 1fr) auto !important; column-gap: 0.75rem; }
    body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item__total-price { grid-column: auto !important; margin-top: 0 !important; }
    body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item__image { width: 58px !important; }
}
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item__total-price { text-align: right; align-self: start; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-order-summary-item__total-price * { text-align: right; }
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-product-name { font-size: 0.98rem !important; }

/* other value/label children too */
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-item__value * { color: inherit; }

/* --- PHONE LAYOUT: 1rem gutter (hero banner stays full-bleed), compact cards --- */
@media (max-width: 600px) {
    body.woocommerce-checkout .entry-content { padding-left: 1rem !important; padding-right: 1rem !important; }
    body.woocommerce-checkout .entry-content .wp-block-woocommerce-checkout,
    body.woocommerce-checkout .entry-content .wc-block-checkout,
    body.woocommerce-checkout .entry-content .wc-block-components-sidebar-layout,
    body.woocommerce-checkout .entry-content .wc-block-checkout__form,
    body.woocommerce-checkout .entry-content .wc-block-components-main,
    body.woocommerce-checkout .entry-content .wc-block-checkout__main,
    body.woocommerce-checkout .entry-content .wc-block-checkout__sidebar,
    body.woocommerce-checkout .entry-content .wc-block-checkout__actions,
    body.woocommerce-checkout .entry-content .wc-block-checkout__terms,
    body.woocommerce-checkout .entry-content .agam-cx-help {
        margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important;
        width: 100% !important; max-width: 100% !important; box-sizing: border-box !important;
    }
    body.woocommerce-checkout .wc-block-components-checkout-step { padding: 1.25rem 0.95rem 1.1rem !important; border-radius: var(--r-md); margin-bottom: 1rem !important; }
    body.woocommerce-checkout .wc-block-components-checkout-step__heading { margin-bottom: 1.1rem !important; }
    body.woocommerce-checkout .wc-block-components-checkout-step__title { font-size: 1.35rem !important; gap: 0.7rem; }
    body.woocommerce-checkout .wc-block-components-checkout-step__title::before { width: 2.1rem; height: 2.1rem; font-size: 1rem; }
    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper {
        padding: 1.2rem 0.95rem 1rem !important; border-radius: var(--r-md); margin-bottom: 1rem !important;
    }
    body.woocommerce-checkout .wc-block-checkout__terms { padding: 0 0.3rem !important; width: calc(100% - 0.6rem) !important; }
    body.woocommerce-checkout .wc-block-components-radio-control__option { padding-left: 2.8rem !important; padding-right: 0.9rem !important; }
    body.woocommerce-checkout .wc-block-components-radio-control-accordion-content { padding-left: 2.8rem !important; padding-right: 0.9rem !important; }
    body.woocommerce-checkout .entry-content .agam-cx-help { padding: 1.4rem 1.25rem 1.4rem 1.4rem !important; }
}

/* =========================================================
   CHECKOUT MOBILE — round 3: GRAND TOTAL
   Calm "receipt" total: label left, amount right, on a soft
   cream panel with a gold hairline. (Dark button below it
   stays the single strong element.) !important padding is
   needed because the ≤768px reset in style.css zeroes the
   footer-item padding, which is what made the old bar look
   cramped with text glued to its edges.
   ========================================================= */
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item) {
    border-top: 0 !important; padding: 0.4rem 0 0 !important;
}
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-footer-item {
    display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 1rem;
    width: 100% !important; box-sizing: border-box !important;
    margin: 0.6rem 0 0 !important; padding: 1.05rem 1.1rem !important;
    background: linear-gradient(180deg, #fffaf0 0%, #f7efde 100%) !important;
    border: 1px solid rgba(176,141,79,0.38) !important; border-radius: var(--r-md) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.8) !important;
}
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-footer-item .wc-block-components-totals-item__label * {
    font-family: var(--font-body) !important; font-style: normal !important; font-weight: 600 !important;
    font-size: 0.78rem !important; letter-spacing: 0.16em; text-transform: uppercase;
    color: var(--green) !important; margin: 0 !important;
}
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-footer-item .wc-block-components-totals-item__value * {
    font-family: var(--font-display) !important; font-style: normal !important; font-weight: 500 !important;
    font-size: 1.7rem !important; line-height: 1.1; letter-spacing: -0.01em; white-space: nowrap;
    color: var(--green-deep) !important; text-align: right;
}
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-footer-item .wc-block-components-totals-item__description {
    color: var(--text-soft) !important; font-size: 0.78rem !important;
}

/* help card: the two buttons (WhatsApp / Email) are plain text links, no border box */
.agam-cx-help .agam-btn,
.agam-cx-help .agam-btn--ghost {
    border: 0 !important; box-shadow: none !important; background: transparent !important;
    padding-left: 0.2rem !important; padding-right: 0.2rem !important;
}
.agam-cx-help-actions { gap: 0.4rem 1.6rem; }

/* payment options: kill WooCommerce's extra outline drawn around the WHOLE list
   (it is a ::after on the radio-control wrapper, which showed as a thin box
   behind/around both options). Each option keeps its own single border. */
body.woocommerce-checkout .wc-block-components-radio-control,
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked,
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control,
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion {
    border: 0 !important; box-shadow: none !important; outline: 0 !important; background: transparent !important;
}
body.woocommerce-checkout .wc-block-components-radio-control::before,
body.woocommerce-checkout .wc-block-components-radio-control::after,
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked::before,
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked::after,
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion::before,
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion::after {
    content: none !important; display: none !important; border: 0 !important; box-shadow: none !important;
}

/* =========================================================
   COUPON ROW — "Enter code" + "Apply" same height (desktop + mobile)
   The big Apply button was only stretching to match the input's
   margin-top (1.05rem, inherited from the generic text-input rule).
   Remove that margin and give both a single fixed height; Apply is
   a compact button (width follows its text).
   ========================================================= */
body.woocommerce-checkout .wc-block-components-totals-coupon__form,
body.woocommerce-cart .wc-block-components-totals-coupon__form {
    display: flex !important; flex-wrap: nowrap !important; align-items: stretch !important; gap: 0.6rem !important;
}
body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-text-input,
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input {
    margin: 0 !important; flex: 1 1 auto; min-width: 0;
}
body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-text-input input,
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input input {
    height: 3.5rem !important;
}
body.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button,
body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
    flex: 0 0 auto !important; width: auto !important; min-width: 0 !important;
    height: 3.5rem !important; min-height: 3.5rem !important; max-height: 3.5rem !important;
    margin: 0 !important; padding: 0 1.3rem !important; align-self: flex-start !important;
    font-size: 0.72rem !important; letter-spacing: 0.16em !important;
}
/* mobile light card: make "Apply" readable (gold-on-ivory was nearly invisible) */
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-coupon__button {
    color: var(--green) !important; border-color: var(--line-strong) !important;
}
body.woocommerce-checkout .checkout-order-summary-block-fill .wc-block-components-totals-coupon__button:hover {
    color: #fff !important; border-color: var(--green) !important;
}