/* Jade — supplemental styles for the WordPress port.
   FAQ rebuilt as native <details> (no JS), matched to the design card aesthetic. */
.jw-faq-acc { border: var(--border-card); border-radius: var(--radius-lg); overflow: hidden; background: var(--surface-card); }
.jw-faq-acc details { border-bottom: 1px solid var(--border-soft); }
.jw-faq-acc details:last-child { border-bottom: 0; }
.jw-faq-acc summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 20px 24px; font-family: var(--font-display); font-weight: 500; font-size: 18px;
  color: var(--text-heading);
}
.jw-faq-acc summary::-webkit-details-marker { display: none; }
.jw-faq-acc summary:hover { background: var(--surface-soft); }
.jw-faq-acc .jw-faq-chev { flex-shrink: 0; display: inline-flex; color: var(--accent-gold); transition: transform var(--dur-base, .25s) var(--ease-soft, ease); }
.jw-faq-acc details[open] .jw-faq-chev { transform: rotate(180deg); }
.jw-faq-acc .jw-faq-a { padding: 0 24px 22px; color: var(--text-body); font-family: var(--font-body); font-size: 16px; line-height: 1.7; }

/* Imagify/LiteSpeed wraps <img> in <picture>, which collapses object-fit cover
   sizing inside aspect-ratio photo frames. Flatten the wrapper so .jw-photo img
   (width/height 100% + object-fit cover) resolves against the .jw-photo box.
   Scope to .jw-photo only — the .jw-cover picture is absolutely positioned and
   must keep its own box (display:contents would drop its positioning + rotate). */
.jw-photo picture { display: contents; }

/* Cover image: Imagify moves the .jw-cover class onto the <picture>, so the
   absolute positioning lands on the wrapper; make the inner <img> fill it. */
.jw-cover img { display: block; width: 100%; height: auto; }

/* Buttons wired via data-href should show a pointer */
[data-href] { cursor: pointer; }

/* Header account icon — teal, coral on hover. */
.jw-site .jw-account-icon { display: inline-flex; align-items: center; justify-content: center; color: var(--text-heading); padding: 6px; border-radius: 999px; cursor: pointer; }
.jw-site .jw-account-icon:hover, .jw-site .jw-account-icon:focus { color: var(--action-primary); background: none; }

/* Footer Instagram link — cream, gold on hover. */
.jw-site .jw-foot-social { color: var(--text-on-dark) !important; }
.jw-site .jw-foot-social:hover { color: var(--accent-gold) !important; }

/* Product page (/store/) — only the active variant panel is shown */
.jw-pdp-panel { display: none; }
.jw-pdp-panel.is-active { display: block; }

/* Reusable CTA buttons (designed thank-you, etc.) — coral pill, never magenta. */
.jw-site .jw-cta {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--action-primary); color: #fff !important;
  border: none; border-radius: 999px; font-family: var(--font-body); font-weight: 700;
  font-size: 15px; padding: 13px 26px; text-decoration: none; cursor: pointer;
  box-shadow: var(--shadow-sm); transition: background .2s ease, transform .15s ease;
}
.jw-site .jw-cta:hover, .jw-site .jw-cta:focus { background: var(--action-primary-hover) !important; color: #fff !important; transform: translateY(-1px); }
.jw-site .jw-cta--secondary { background: transparent; color: var(--text-heading) !important; border: 1.5px solid var(--text-heading); box-shadow: none; }
.jw-site .jw-cta--secondary:hover, .jw-site .jw-cta--secondary:focus { background: var(--text-heading) !important; color: var(--cream-50) !important; }

/* Thank-you product thumbnail — fixed frame (overrides theme img height rules). */
.jw-site .jw-ty-thumb { width: 74px; height: 96px; flex-shrink: 0; border-radius: 6px; overflow: hidden; box-shadow: var(--shadow-book); }
.jw-site .jw-ty-thumb img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: 50% 25%; display: block; }
.jw-site .jw-ty-thumb picture { display: contents; }

/* ---- WooCommerce block Cart & Checkout — brand styling ---- */
.woocommerce-checkout .entry-title, .woocommerce-cart .entry-title { font-family: var(--font-display); color: var(--text-heading); }
.wc-block-components-title, .wc-block-components-checkout-step__title { font-family: var(--font-display) !important; color: var(--text-heading) !important; }
.wc-block-components-text-input input, .wc-block-components-text-input textarea,
.wc-block-components-select select, .wc-blocks-components-select select {
  border-radius: 10px !important; border-color: var(--border-soft) !important; font-family: var(--font-body) !important;
}
.wc-block-components-text-input input:focus { border-color: var(--text-heading) !important; box-shadow: 0 0 0 1px var(--text-heading) !important; }
/* Primary block buttons (Place Order, Proceed to Checkout) → coral pill, never magenta */
.wc-block-checkout .wc-block-components-button.contained,
.wc-block-cart .wc-block-components-button.contained,
.wc-block-components-checkout-place-order-button {
  background: var(--action-primary) !important; color: #fff !important; border: none !important;
  border-radius: 999px !important; font-family: var(--font-body) !important; font-weight: 700 !important;
}
.wc-block-checkout .wc-block-components-button.contained:hover,
.wc-block-checkout .wc-block-components-button.contained:focus,
.wc-block-cart .wc-block-components-button.contained:hover,
.wc-block-cart .wc-block-components-button.contained:focus,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-checkout-place-order-button:focus {
  background: var(--action-primary-hover) !important; color: #fff !important;
}
.wc-block-components-checkout-place-order-button span,
.wc-block-cart .wc-block-components-button.contained span { color: #fff !important; }
/* Order summary card */
.wc-block-components-sidebar { background: var(--surface-card); border: 1px solid var(--border-soft); border-radius: 16px; }

/* ---- WooCommerce My Account — match the designed dashboard ---- */
.woocommerce-account .entry-title,
.woocommerce-account .woocommerce h2 { font-family: var(--font-display) !important; color: var(--text-heading) !important; }
/* logged-in: sidebar nav + content (only when the nav is present) */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
  display: grid; grid-template-columns: 240px 1fr; gap: 30px; align-items: start; max-width: 1080px; margin: 0 auto;
}
@media (max-width: 782px) { .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-columns: 1fr; } }
/* override WC default float + 35%/65% widths so the grid controls layout */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; margin: 0 !important; }
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation { grid-column: 1 !important; }
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-content { grid-column: 2 !important; }
@media (max-width: 782px) {
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content { grid-column: auto !important; }
}
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; background: var(--surface-card); border: 1px solid var(--border-soft); border-radius: 16px; overflow: hidden; }
.woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--border-soft); }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 13px 18px; font-family: var(--font-body); font-weight: 600; font-size: 15px; color: var(--text-body); text-decoration: none; }
.woocommerce-MyAccount-navigation li a:hover { background: var(--surface-soft); color: var(--text-heading); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--surface-soft); color: var(--text-heading); box-shadow: inset 3px 0 0 var(--action-primary); }
.woocommerce-MyAccount-content { background: var(--surface-card); border: 1px solid var(--border-soft); border-radius: 16px; padding: 28px; color: var(--text-body); font-family: var(--font-body); }
.woocommerce-account .woocommerce-MyAccount-content table { width: 100%; border-collapse: collapse; }
.woocommerce-account .woocommerce-MyAccount-content table th { font-family: var(--font-body); font-weight: 700; font-size: 12.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); border-bottom: 1px solid var(--border-soft); padding: 10px 12px; text-align: left; }
.woocommerce-account .woocommerce-MyAccount-content table td { border-bottom: 1px solid var(--border-soft); padding: 12px; color: var(--text-body); }
/* login / register form cards */
.woocommerce-account .woocommerce form.login, .woocommerce-account .woocommerce form.register {
  background: var(--surface-card); border: 1px solid var(--border-soft); border-radius: 16px; padding: 28px; max-width: 460px;
}
.woocommerce-account label { font-family: var(--font-body); color: var(--text-heading); }
.woocommerce-account input.input-text, .woocommerce-account input[type="password"] { border: 1px solid var(--border-soft) !important; border-radius: 10px !important; }
.woocommerce-account input.input-text:focus, .woocommerce-account input[type="password"]:focus { border-color: var(--text-heading) !important; box-shadow: 0 0 0 1px var(--text-heading) !important; }

/* ---- Classic checkout — designed cards ---- */
.woocommerce-checkout .woocommerce-billing-fields {
  background: var(--surface-card); border: 1px solid var(--border-soft); border-radius: 16px; padding: 26px;
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading { font-family: var(--font-display) !important; color: var(--text-heading) !important; }
.woocommerce-checkout #order_review {
  background: var(--surface-card); border: 1px solid var(--border-soft); border-radius: 16px; padding: 24px;
}
.woocommerce-checkout #customer_details .input-text,
.woocommerce-checkout #customer_details select,
.woocommerce-checkout .select2-selection { border: 1px solid var(--border-soft) !important; border-radius: 10px !important; }
.woocommerce-checkout #customer_details .input-text:focus { border-color: var(--text-heading) !important; box-shadow: 0 0 0 1px var(--text-heading) !important; }
.woocommerce-checkout #place_order { width: 100% !important; border-radius: 999px !important; padding: 14px 26px !important; }
.jw-secure-note { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-muted); margin: 0 0 14px; }
.jw-secure-note svg { color: var(--success); flex-shrink: 0; }

/* ---- My Account — user card + dashboard quick-actions (match design) ---- */
.jw-acct-user-card { display: flex; align-items: center; gap: 12px; background: var(--surface-card); border: 1px solid var(--border-soft); border-radius: 16px; padding: 16px; margin-bottom: 16px; }
.jw-acct-user-card .jw-avatar { width: 44px; height: 44px; border-radius: 999px; background: var(--surface-alt); color: var(--teal-800); display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-body); font-weight: 700; flex-shrink: 0; }
.jw-acct-user-card__name { font-family: var(--font-display); font-weight: 600; color: var(--text-heading); font-size: 16px; line-height: 1.2; }
.jw-acct-user-card__email { font-size: 13px; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jw-acct-quick-wc { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
@media (max-width: 600px) { .jw-acct-quick-wc { grid-template-columns: 1fr; } }
.jw-acct-quick-wc a { display: block; background: var(--surface-soft); border: 1px solid var(--border-soft); border-radius: 14px; padding: 18px; text-decoration: none; transition: border-color .2s ease, transform .15s ease; }
.jw-acct-quick-wc a:hover { border-color: var(--text-heading); transform: translateY(-2px); background: var(--surface-soft); }
.jw-acct-quick-wc .jw-acct-ico { display: inline-flex; color: var(--text-heading); margin-bottom: 10px; }
.jw-acct-quick-wc__title { display: block; font-family: var(--font-display); font-weight: 600; color: var(--text-heading); font-size: 16px; }
.jw-acct-quick-wc__text { display: block; font-size: 13px; color: var(--text-muted); margin-top: 4px; }
/* nav links as icon rows */
.woocommerce-MyAccount-navigation li a { display: flex; align-items: center; gap: 10px; }
.woocommerce-MyAccount-navigation li a::before { content: ""; width: 18px; height: 18px; flex-shrink: 0; background: currentColor; opacity: .85; -webkit-mask: center/contain no-repeat var(--ic); mask: center/contain no-repeat var(--ic); }
.woocommerce-MyAccount-navigation li:not([class*="--"]) a::before { display: none; }

/* Order-received: hide default WC blocks so only the designed thank-you shows. */
.woocommerce-order-received .woocommerce-thankyou-order-received,
.woocommerce-order-received .woocommerce-order-overview,
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received .entry-title,
.woocommerce-order-received .page-title { display: none !important; }

/* Make sure the ported sections never inherit Elementor widget padding */
.elementor-widget-html .jw-site > section { margin: 0; }

/* Nav-link hover — force the on-brand teal text + gold underline (overrides any
   theme/WooCommerce default link-hover colour). */
.jw-site .jw-nav__link:hover, .jw-site .jw-nav__link:focus,
.jw-site .jw-nav__link:focus-visible, .jw-site .jw-nav__link:active { color: var(--text-heading) !important; background: none !important; }
.jw-site .jw-mobile-menu__link:hover, .jw-site .jw-mobile-menu__link:focus,
.jw-site .jw-mobile-menu__link:focus-visible, .jw-site .jw-mobile-menu__link:active { color: var(--text-heading) !important; }

/* The theme's reset.css sets a magenta (#CC3366) background + white text on
   button:hover AND button:focus. Neutralize it for the ported design's buttons
   across every interactive state, using the same teal as the top-menu hover. */

/* Product icon thumbnails — teal icon + border in every state, keep card bg. */
.jw-site .jw-thumb:hover, .jw-site .jw-thumb:focus,
.jw-site .jw-thumb:focus-visible, .jw-site .jw-thumb:active {
  color: var(--text-heading) !important;
  border-color: var(--text-heading) !important;
  background: var(--surface-card) !important;
}
/* Selected thumbnail — teal accent border (not coral/orange). */
.jw-site .jw-thumb[data-active="1"] {
  border-color: var(--text-heading) !important;
  color: var(--text-heading) !important;
}

/* Logo / wordmark (top-left) — keep brand teal in every state, no magenta fill. */
.jw-site .jw-wordmark:hover, .jw-site .jw-wordmark:focus,
.jw-site .jw-wordmark:focus-visible, .jw-site .jw-wordmark:active {
  color: var(--text-heading) !important; background: none !important;
}

/* "Back to the shop" link — teal text, no magenta fill. */
.jw-site .jw-back:hover, .jw-site .jw-back:focus,
.jw-site .jw-back:focus-visible, .jw-site .jw-back:active {
  color: var(--text-heading) !important; background: none !important;
}

/* Inactive variant tabs — teal accent (active tab keeps its selected state). */
.jw-site .jw-variant-tab:not([data-active="1"]):hover,
.jw-site .jw-variant-tab:not([data-active="1"]):focus,
.jw-site .jw-variant-tab:not([data-active="1"]):focus-visible,
.jw-site .jw-variant-tab:not([data-active="1"]):active {
  color: var(--text-heading) !important;
  border-color: var(--text-heading) !important;
  background: var(--surface-soft) !important;
}

/* Footer links — gold text on hover, no magenta fill. */
.jw-site .jw-foot-link:hover, .jw-site .jw-foot-link:focus,
.jw-site .jw-foot-link:focus-visible, .jw-site .jw-foot-link:active {
  color: var(--accent-gold) !important;
  background: none !important;
}

/* Legal-page TOC / see-also links — teal text (+ design's gold underline), no magenta fill. */
.jw-site .jw-toc-link:hover, .jw-site .jw-toc-link:focus,
.jw-site .jw-toc-link:focus-visible, .jw-site .jw-toc-link:active {
  color: var(--text-heading) !important;
  background: none !important;
}

/* WooCommerce buttons → brand coral pill (default is purple/grey). */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce input.button,
.woocommerce input.button.alt,
.single_add_to_cart_button {
  background-color: var(--action-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius-pill, 999px) !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  text-transform: none !important;
  padding: 12px 26px !important;
  box-shadow: var(--shadow-sm);
  transition: background-color .2s ease, transform .15s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .button:hover,
.woocommerce input.button:hover,
.woocommerce input.button.alt:hover,
.single_add_to_cart_button:hover {
  background-color: var(--action-primary-hover) !important;
  transform: translateY(-1px);
}
/* WooCommerce price + product title on brand */
.woocommerce div.product .product_title { font-family: var(--font-display); color: var(--text-heading); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--text-heading); font-weight: 700; }

/* My Account nav icons */
.woocommerce-MyAccount-navigation-link--dashboard a { --ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%273%27%20width%3D%277%27%20height%3D%279%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%273%27%20width%3D%277%27%20height%3D%275%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%2712%27%20width%3D%277%27%20height%3D%279%27%2F%3E%3Crect%20x%3D%273%27%20y%3D%2716%27%20width%3D%277%27%20height%3D%275%27%2F%3E%3C%2Fsvg%3E"); }
.woocommerce-MyAccount-navigation-link--orders a { --ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M7.5%204.27l9%205.15%27%2F%3E%3Cpath%20d%3D%27M21%208a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73l7%204a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016Z%27%2F%3E%3Cpath%20d%3D%27M3.3%207l8.7%205%208.7-5%27%2F%3E%3Cpath%20d%3D%27M12%2022V12%27%2F%3E%3C%2Fsvg%3E"); }
.woocommerce-MyAccount-navigation-link--downloads a { --ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M21%2015v4a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-4%27%2F%3E%3Cpolyline%20points%3D%277%2010%2012%2015%2017%2010%27%2F%3E%3Cline%20x1%3D%2712%27%20y1%3D%2715%27%20x2%3D%2712%27%20y2%3D%273%27%2F%3E%3C%2Fsvg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-address a { --ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%2010c0%206-8%2012-8%2012s-8-6-8-12a8%208%200%200%201%2016%200Z%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2710%27%20r%3D%273%27%2F%3E%3C%2Fsvg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-account a { --ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M19%2021v-2a4%204%200%200%200-4-4H9a4%204%200%200%200-4%204v2%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%277%27%20r%3D%274%27%2F%3E%3C%2Fsvg%3E"); }
.woocommerce-MyAccount-navigation-link--customer-logout a { --ic: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%2021H5a2%202%200%200%201-2-2V5a2%202%200%200%201%202-2h4%27%2F%3E%3Cpolyline%20points%3D%2716%2017%2021%2012%2016%207%27%2F%3E%3Cline%20x1%3D%2721%27%20y1%3D%2712%27%20x2%3D%279%27%20y2%3D%2712%27%2F%3E%3C%2Fsvg%3E"); }

/* Classic checkout — 2-column (details left, order right) */
.woocommerce-checkout form.checkout {
  display: grid; grid-template-columns: 1.25fr 0.75fr; column-gap: 32px; align-items: start; max-width: 1060px; margin: 0 auto;
}
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 0 12px; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; }
.woocommerce-checkout #customer_details .col-1 { float: none !important; width: 100% !important; }
.woocommerce-checkout #customer_details .col-2 { display: none !important; }
@media (max-width: 860px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; }
}

/* My Account — user card in sidebar (col1) above nav; content spans col2 */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { grid-template-rows: auto 1fr; row-gap: 16px; }
.woocommerce-account .jw-acct-user-card { grid-column: 1 !important; grid-row: 1 !important; margin-bottom: 0 !important; }
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation { grid-column: 1 !important; grid-row: 2 !important; }
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-content { grid-column: 2 !important; grid-row: 1 / span 2 !important; }

/* Breathing room above the footer on WooCommerce pages (checkout/cart/account/order-received) */
.woocommerce-checkout .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-account .woocommerce,
.woocommerce-order-received .woocommerce { margin-bottom: 80px; }

/* Top breathing room on WooCommerce pages (title was flush under the header) */
.woocommerce-checkout:not(.woocommerce-order-received) .site-main,
.woocommerce-cart .site-main,
.woocommerce-account .site-main { padding-top: 44px; }
.woocommerce-order-received .page-header { display: none !important; }

/* Dashboard grid uses `margin:0 auto` which zeroed the bottom gap — restore it */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) { margin-bottom: 80px !important; }

/* Footer wordmark sits on the teal footer — keep it cream on hover (header rule was turning it teal-on-teal = invisible) */
.jw-site .jw-footer .jw-wordmark:hover, .jw-site .jw-footer .jw-wordmark:focus,
.jw-site .jw-footer .jw-wordmark:focus-visible, .jw-site .jw-footer .jw-wordmark:active { color: var(--text-on-dark) !important; }

/* Footer copyright + Instagram link on one centered line */
.jw-site .jw-footer__legal > span:not(.jw-foot-placeholder) { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }

/* Block cart — bottom spacing to match other pages + totals card inner padding */
.wp-block-woocommerce-cart { margin-bottom: 80px; }
.wp-block-woocommerce-cart .wc-block-cart__sidebar,
.wp-block-woocommerce-cart .wc-block-components-sidebar {
  padding: 26px !important; background: var(--surface-card); border: 1px solid var(--border-soft); border-radius: 16px;
}

/* Testimonials: keep real row/column spacing even if the base design CSS is regenerated. */
.jw-site .jw-testi {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: var(--grid-gap) !important;
  row-gap: var(--grid-gap) !important;
  column-gap: var(--grid-gap) !important;
  columns: initial !important;
}
.jw-site .jw-quote-card { margin: 0 !important; }
@media (max-width: 980px) {
  .jw-site .jw-testi { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  .jw-site .jw-testi { grid-template-columns: 1fr !important; }
}


/* 2-up resource grid (Free Resources page) — mirrors jw-grid-3 breakpoint */
.jw-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--grid-gap); }
@media (max-width: 860px) { .jw-grid-2 { grid-template-columns: 1fr; gap: 18px; } }
