/*
Theme Name: GNails Front Page Preview
Description: Isolated front page preview for GNails; inherits store templates and functionality from GNails.
Version: 1.5.0
Requires at least: 6.5
Requires PHP: 7.4
Template: gnails
Text Domain: gnails-front-page-preview
*/

/* GNails child design system. Shared values and component rules, version 1.5.0. */
:root {
  --gn-space-1:4px; --gn-space-2:8px; --gn-space-3:12px; --gn-space-4:16px;
  --gn-space-5:24px; --gn-space-6:32px; --gn-space-7:48px; --gn-space-8:64px;
  --gn-content:1320px; --gn-gutter:clamp(16px,3vw,32px);
  --gn-ink:#242024; --gn-muted:#70676d; --gn-line:#e9e2e6;
  --gn-pink-pale:#fdf2f6; --gn-pink-soft:#f5d9e5; --gn-pink-strong:#aa3f6a;
  --gn-radius:12px; --gn-field-height:48px;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-heading:var(--font-body);
}
body { color:var(--gn-ink); font-family:var(--font-body); font-size:16px; line-height:1.6; }
body :where(main,main *, .site-header,.site-header *,footer,footer *) { box-sizing:border-box; }
body h1,body h2,body h3,body h4 { font-family:var(--font-heading); line-height:1.25; letter-spacing:-.02em; font-weight:600; overflow-wrap:break-word; }
body h1 { font-size:clamp(30px,3vw,44px); }
body h2 { font-size:clamp(25px,2.4vw,34px); }
body h3 { font-size:22px; }
body p { line-height:1.65; }
body .site-main:not(.home),body .gn-catalog-main,body .gn-search-page { width:min(100%,var(--gn-content)); max-width:var(--gn-content); margin-inline:auto; padding:var(--gn-space-6) var(--gn-gutter) var(--gn-space-8); }
body main > .alignwide { max-width:var(--gn-content); }
body main :where(input,select,textarea,button,a) { max-width:100%; }
body main :where(a,button,input,select,textarea):focus-visible { outline:2px solid var(--gn-pink-strong); outline-offset:3px; }
body main :where(input[type=text],input[type=email],input[type=password],input[type=tel],input[type=search],input[type=number],select,textarea) {
  min-width:0; min-height:var(--gn-field-height); padding:12px 14px; border:1px solid var(--gn-line); border-radius:8px; background:#fff; color:var(--gn-ink); font:inherit;
}
body main textarea { width:100%; min-height:128px; }
body .woocommerce form .form-row { padding:0; margin:0 0 var(--gn-space-5); }
body .woocommerce form .form-row label { margin-bottom:8px; font-weight:500; }
body main :where(.wp-block-button__link,.wp-element-button,.woocommerce a.button,.woocommerce button.button,.single_add_to_cart_button,.checkout-button) {
  min-height:48px; height:auto; padding:12px 20px; border-radius:8px; font:600 14px/1.4 var(--font-body); white-space:normal; text-align:center;
}
body .woocommerce .woocommerce-notices-wrapper { margin-bottom:24px; }
body .woocommerce table.shop_table { border-color:var(--gn-line); border-radius:var(--gn-radius); }
body .woocommerce table.shop_table :where(th,td) { padding:16px; vertical-align:middle; }
body .woocommerce table.shop_table th { font-weight:600; }
body .woocommerce :where(.cart-collaterals,.woocommerce-checkout-review-order,.woocommerce-customer-details) { margin-top:32px; }
body .woocommerce :where(.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields) h3 { margin:0 0 24px; }
body .woocommerce form.checkout :where(input:not([type=checkbox]):not([type=radio]),select,textarea) { width:100%; }
body .wc-block-components-text-input input,body .wc-block-components-combobox .components-combobox-control__input { min-height:48px; font-family:var(--font-body); }
body .wc-block-cart,body .wc-block-checkout { font-size:16px; }
/* Shared product structure: square image / growing title area / price / dark purchase action. */
body .woocommerce ul.products,body ul.products { gap:24px; align-items:stretch; }
body .woocommerce ul.products li.product,body ul.products li.product,body .wc-block-product-template > li.wc-block-product,body .gh-card {
  position:relative; display:flex; flex-direction:column; align-self:stretch; min-width:0; height:auto; padding:0 0 16px; overflow:hidden;
  border:1px solid var(--gn-line); border-radius:var(--gn-radius); background:#fff; box-shadow:none; transform:none;
}
body .woocommerce ul.products li.product:hover,body .wc-block-product:hover,body .gh-card:hover {
  border-color:#dcb9c9; box-shadow:0 6px 20px rgb(40 24 32 / 6%); transform:none;
}
body .woocommerce ul.products li.product .woocommerce-LoopProduct-link,body .woocommerce ul.products li.product .woocommerce-loop-product__link { display:flex; flex-direction:column; flex:1; min-width:0; width:100%; }
body .woocommerce ul.products li.product .woocommerce-loop-product__title,body .gh-card__title {
  display:block; min-height:0; max-height:none; height:auto; margin:0; overflow:visible;
  font:500 16px/1.5 var(--font-body); color:var(--gn-ink); -webkit-line-clamp:unset; white-space:normal; word-break:normal; overflow-wrap:break-word;
}
body .woocommerce ul.products li.product .woocommerce-loop-product__title { padding:16px 16px 12px; }
body .woocommerce ul.products li.product .woocommerce-LoopProduct-link > .price,body .woocommerce ul.products li.product .woocommerce-loop-product__link > .price { margin-top:auto; padding:0 16px 16px; }
body .woocommerce ul.products li.product > .price { margin:0 16px 16px; }
body .woocommerce ul.products li.product > .button { width:calc(100% - 32px); margin:auto 16px 0; }
body .woocommerce ul.products li.product > p { margin-top:auto; padding-top:12px; }
body .woocommerce ul.products li.product > p > .button { width:100%; }
body .woocommerce ul.products li.product .price,body .gh-card__price { color:var(--gn-ink); font:600 16px/1.5 var(--font-body); overflow-wrap:break-word; }
body .woocommerce ul.products li.product .price del,body .gh-card__price del { color:var(--gn-muted); font-size:14px; }
body .woocommerce ul.products li.product .price ins,body .gh-card__price ins { color:var(--gn-pink-strong); text-decoration:none; }
body .woocommerce ul.products li.product .button,body .gh-card__add,body .wc-block-product .wc-block-components-product-button__button {
  display:flex; align-items:center; justify-content:center; min-height:48px; height:auto; padding:12px 16px; border:1px solid var(--gn-ink); border-radius:8px;
  background:var(--gn-ink); color:#fff; font:600 14px/1.4 var(--font-body); white-space:normal; text-align:center; overflow-wrap:break-word;
}
body .woocommerce ul.products li.product .button:hover,body .gh-card__add:hover,body .wc-block-product .wc-block-components-product-button__button:hover { background:var(--gn-pink-strong); border-color:var(--gn-pink-strong); color:#fff; }
body .gh-card { padding:0; }
body .gn-rail,body .gh-track { align-items:stretch; grid-auto-rows:1fr; }
body .gh-card__info { display:flex; flex:1 1 auto; flex-direction:column; min-width:0; padding:16px; gap:12px; }
body .gh-card__title { min-height:4.5em; flex:1 0 auto; }
body .gh-card__foot { display:flex; flex-direction:column; align-items:stretch; gap:12px; margin-top:auto; padding:0; }
body .gh-card__add { width:100%; }
body .gh-card .gh-card__add { border-color:var(--gn-ink) !important; background:var(--gn-ink) !important; color:#fff !important; }
body .gh-card .gh-card__add:hover { border-color:var(--gn-pink-strong) !important; background:var(--gn-pink-strong) !important; color:#fff !important; }
body .gh-card__price { display:flex; flex-wrap:wrap; gap:4px 8px; align-items:baseline; }
body .gh-card__img { display:grid; aspect-ratio:1/1; min-height:220px; place-items:center; overflow:hidden; padding:14px; border-bottom:1px solid #f3edf0; background:#fff; }
body .gh-card__img img,body .woocommerce ul.products li.product img { width:100%; object-fit:contain; background:#fff; mix-blend-mode:normal; }
body .gh-card__img img { height:100%; }
body .woocommerce ul.products li.product .woocommerce-loop-product__link img { aspect-ratio:1/1; height:auto; max-height:320px; object-fit:contain; padding:16px; }
body .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height:4.35em; }
body .wc-block-product-template__responsive > li.wc-block-product > .wp-block-post-title { font-size:16px !important; line-height:1.5 !important; }
body .wc-block-product-template__responsive > li.wc-block-product .wc-block-components-product-button__button {
  display:flex; min-height:48px; height:auto; padding:12px 16px; border-radius:8px;
  font:600 14px/1.4 var(--font-body); white-space:normal; color:#fff; background:var(--gn-ink);
}
body .wc-block-product-template__responsive > li.wc-block-product .wc-block-components-product-button__button:hover { color:#fff; background:var(--gn-pink-strong); }
body .wc-block-product-template > li.wc-block-product > .wp-block-woocommerce-product-price { margin-top:auto !important; }
body .wc-block-product-template > li.wc-block-product > .wc-block-components-product-button { flex:0 0 auto; }
/* WooCommerce Product Collection blocks have a different markup from classic loops. */
body .wc-block-product-template__responsive { grid-auto-rows:1fr; align-items:stretch; }
body .wc-block-product-template__responsive > li.wc-block-product {
  display:flex !important; flex-direction:column; align-self:stretch; height:100%; min-width:0; min-height:0; padding:0 0 16px;
  border:1px solid var(--gn-line); border-radius:12px !important; background:#fff; overflow:hidden;
}
body .wc-block-product-template__responsive > li.wc-block-product > .wc-block-components-product-image {
  position:relative; display:grid; flex:0 0 auto; width:100%; aspect-ratio:1/1; place-items:center; margin:0; overflow:hidden; border-bottom:1px solid #f3edf0; background:#fff;
}
body .wc-block-product-template__responsive > li.wc-block-product > .wc-block-components-product-image > a { display:block; width:100%; height:100%; }
body .wc-block-product-template__responsive .wc-block-components-product-image__inner-container { position:absolute; inset:0; pointer-events:none; }
body .wc-block-product-template__responsive > li.wc-block-product > .wc-block-components-product-image img {
  display:block; width:100%; height:100%; max-height:none; padding:16px; object-fit:contain !important; background:#fff;
}
body .wc-block-product-template__responsive > li.wc-block-product > .wp-block-post-title {
  min-height:4.5em; margin:0; padding:16px 16px 8px; color:var(--gn-ink); font:500 16px/1.45 var(--font-body); text-align:left;
}
body .wc-block-product-template__responsive > li.wc-block-product > .wp-block-post-title a { color:inherit; text-decoration:none; }
body .wc-block-product-template__responsive > li.wc-block-product > .wp-block-woocommerce-product-price { margin: auto 0 10px !important; padding:0 16px; text-align:left; }
body .wc-block-product-template__responsive > li.wc-block-product > .wc-block-components-product-button {
  display:block; width:auto; margin: auto 16px 0 !important; padding:0;
}
body .wc-block-product-template__responsive .wc-block-components-product-button__button {
  display:flex; width:100%; min-height:48px; justify-content:center; align-items:center; padding:12px 16px;
  border:1px solid var(--gn-ink); border-radius:8px !important; background:var(--gn-ink) !important; color:#fff !important;
  font:600 14px/1.4 var(--font-body); text-align:center; white-space:normal;
}
body .wc-block-product-template__responsive .wc-block-components-product-button__button:hover { background:var(--gn-pink-strong) !important; border-color:var(--gn-pink-strong); color:#fff !important; }
body .woocommerce ul.products li.product .onsale,body .woocommerce span.onsale,body .wc-block-product .wc-block-components-product-sale-badge,body .home .gh-card__badge {
  color:#9d4667 !important; background:var(--gn-pink-soft) !important; border-radius:999px; font-size:12px; font-weight:600; letter-spacing:.02em;
}
/* Catalog, search, related products: grids are scoped away from horizontal home rails. */
body:not(.home) .woocommerce ul.products,body:not(.home) ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); }
body ul[class*="wc-block-product-template"]__responsive { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:24px !important; }
body.single-product .related ul.products,body.single-product .up-sells ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
body.single-product .related > h2,body.single-product .up-sells > h2 { margin:0 0 24px; }
body.single-product .related,body.single-product .up-sells { clear:both; margin-top:48px; }
body .woocommerce-pagination ul.page-numbers,body .gn-search-pagination,body .pagination ul.page-numbers { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; margin:32px 0 0; padding:0; border:0; list-style:none; }
body .woocommerce-pagination ul.page-numbers li { float:none; margin:0; border:0; }
body .woocommerce-pagination ul.page-numbers :where(a,span) { display:grid; place-items:center; min-width:44px; min-height:44px; padding:8px; border:1px solid var(--gn-line); border-radius:8px; }
body .woocommerce-pagination ul.page-numbers .current { background:var(--gn-pink-pale); color:var(--gn-pink-strong); }
/* Home sections share one content frame and vertical rhythm. */
.gn-test-home { width:100%; min-width:0; }
body .gn-test-home .home-section,body .gn-test-home .gn-about { padding:48px var(--gn-gutter); margin-block:0; }
body .gn-test-home .home-section:not(.alignfull) { width:min(100%,var(--gn-content)); max-width:var(--gn-content); margin-inline:auto; }
body .gn-test-home .home-band > .gh-sec-head,body .gn-test-home .home-band > .gn-rail-shell { width:100%; max-width:calc(var(--gn-content) - 2 * var(--gn-gutter)); margin-inline:auto; }
body .home .gh-sec-head { display:flex; align-items:baseline; gap:16px; margin-bottom:24px; }
body .home .gh-h-section,body .home .section-title { font:600 clamp(25px,2.4vw,34px)/1.25 var(--font-heading); letter-spacing:-.02em; color:var(--gn-ink); }
body .gn-bestsellers,body .home-band.gn-bestsellers { background:#fdf2f6 !important; background-image:none !important; color:var(--gn-ink); }
body .gn-bestsellers :is(.gh-h-section,.section-title,.gh-link a,.wp-block-heading,h2,h3) { color:var(--gn-ink) !important; }
body .gn-bestsellers :is(.gh-card,.gh-card__info,.gh-card__title,.gh-card__price) { color:var(--gn-ink); }
body .gn-bestsellers .gn-rail,body .gn-bestsellers .gh-track { align-items:stretch; grid-auto-rows:1fr; }
body .gn-bestsellers .gn-rail-shell { min-width:0; }
/* Match the parent theme's .home .gh-* specificity and force equal-height rails. */
body.home .home-band.gn-bestsellers { background-color:#fdf2f6 !important; background-image:none !important; }
body.home .home-band.gn-bestsellers .gh-h-section,
body.home .home-band.gn-bestsellers .section-title,
body.home .home-band.gn-bestsellers .wp-block-heading { color:#242024 !important; }
body.home .gn-rail,body.home .gh-track { align-items:stretch !important; grid-auto-rows:1fr; }
body.home .gh-card { align-self:stretch; height:auto; border-radius:var(--gn-radius) !important; }
body.home .gh-card__info { display:flex; min-height:0; flex:1 1 auto; flex-direction:column; }
body.home .gh-card__title { min-height:4.5em !important; max-height:none; flex:1 0 auto; -webkit-line-clamp:unset; }
body.home .gh-card__foot { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-end; margin-top:auto; padding-top:10px; }
body.home .gh-card__add { width:100%; flex:0 0 auto; border-radius:8px; background:#242024 !important; color:#fff !important; }
body .gn-test-home .gn-hero { padding:48px var(--gn-gutter); background:var(--gn-pink-pale); }
.gn-test-home .gn-hero-inner { max-width:calc(var(--gn-content) - 2 * var(--gn-gutter)); margin-inline:auto; }
.gn-test-home .gn-hero-eyebrow,.gn-test-home .about-eyebrow { margin:0 0 16px; color:var(--gn-pink-strong); font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.gn-test-home .gn-hero-title { max-width:24ch; margin:0; font-size:clamp(30px,3.8vw,48px); line-height:1.15; font-weight:600; }
.gn-test-home .gn-hero-copy { max-width:64ch; margin:20px 0 0; color:var(--gn-muted); font-size:17px; }
.gn-test-home .gn-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.gn-test-home .gn-trust-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; border-block:1px solid var(--gn-line); padding-block:24px; }
.gn-test-home .gn-trust-item { display:flex; align-items:center; gap:12px; min-width:0; }
.gn-test-home .gn-trust-icon { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; color:var(--gn-pink-strong); background:var(--gn-pink-pale); border-radius:50%; }
.gn-test-home .gn-trust-icon svg { width:22px; height:22px; }
.gn-test-home .gn-trust-item > span:last-child { display:grid; gap:4px; }
.gn-test-home .gn-trust-item strong { font-size:14px; line-height:1.4; }
.gn-test-home .gn-trust-item small { font-size:12px; color:var(--gn-muted); line-height:1.5; }
.gn-test-home .about-cols { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; max-width:calc(var(--gn-content) - 2 * var(--gn-gutter)); margin-inline:auto; }
.gn-test-home .about-cols > .wp-block-column { min-width:0; margin:0; }
.gn-test-home .about-media { margin:0; border-radius:12px; overflow:hidden; }
.gn-test-home .about-media img { display:block; width:100%; height:auto; }
body .gn-category-card { display:flex; flex-direction:column; min-width:0; gap:12px; color:var(--gn-ink); text-align:center; text-decoration:none; }
body .gn-category-media { display:grid; width:100%; aspect-ratio:1/1; place-items:center; overflow:hidden; border:1px solid var(--gn-line); border-radius:var(--gn-radius); background:#f8f5f6; }
body .gn-category-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
body .gn-category-card:hover .gn-category-media img { transform:scale(1.025); }
body .gn-category-name { font-size:16px; font-weight:600; line-height:1.4; }
body .gn-category-card:hover .gn-category-name { color:var(--gn-pink-strong); }
body .gn-brands :where(img,svg) { max-width:100%; height:auto; }
/* Account area: one grid and consistent controls across every WooCommerce endpoint. */
body.woocommerce-account.logged-in .woocommerce { display:grid; grid-template-columns:minmax(230px,280px) minmax(0,1fr); align-items:start; gap:32px; }
body.woocommerce-account:not(.logged-in) .woocommerce { display:block; width:min(100%,1040px); margin-inline:auto; }
body.woocommerce-account .woocommerce-MyAccount-navigation { width:auto; min-width:0; margin:0; padding:22px; border:1px solid var(--gn-line); border-radius:14px; background:#fff; }
body.woocommerce-account .woocommerce-MyAccount-navigation::before { display:block; margin:0 0 16px; color:var(--gn-ink); content:"My Account"; font-size:20px; font-weight:600; line-height:1.3; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { display:grid; gap:6px; margin:0; padding:0; list-style:none; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { min-width:0; margin:0; }
body.woocommerce-account .woocommerce-MyAccount-navigation a { display:flex; box-sizing:border-box; width:100%; min-height:48px; padding:12px 14px; align-items:center; border:1px solid transparent; border-radius:8px; color:var(--gn-ink); background:#fff; font-size:15px; font-weight:500; line-height:1.4; text-align:left; text-decoration:none; transition:background-color .18s ease,border-color .18s ease,color .18s ease; }
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { border-color:#f0dce5; color:#94385d; background:var(--gn-pink-pale); font-weight:600; }
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover { border-color:#f0dce5; background:var(--gn-pink-pale); }
body.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible { outline:2px solid var(--gn-pink-strong); outline-offset:2px; }
body.woocommerce-account .woocommerce-MyAccount-content { box-sizing:border-box; width:auto; min-width:0; margin:0; padding:26px; border:1px solid var(--gn-line); border-radius:14px; background:#fff; }
body.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top:0; }
body.woocommerce-account .woocommerce-MyAccount-content > :last-child { margin-bottom:0; }
body.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin:0 0 22px; padding:17px 20px; border-left:3px solid var(--gn-pink-strong); border-radius:0 9px 9px 0; color:var(--gn-ink); background:var(--gn-pink-pale); font-size:15px; }
body.woocommerce-account .woocommerce-MyAccount-content :where(h2,h3) { margin:0 0 16px; color:var(--gn-ink); font-size:clamp(20px,2vw,25px); line-height:1.35; }
body.woocommerce-account .woocommerce-MyAccount-content :where(p,li) { color:var(--gn-ink); line-height:1.65; }
body.woocommerce-account .woocommerce-MyAccount-content :where(input:not([type=checkbox]):not([type=radio]),select,textarea) { box-sizing:border-box; width:100%; max-width:100%; min-width:0; min-height:48px; padding:11px 13px; border:1px solid var(--gn-line); border-radius:8px; color:var(--gn-ink); background:#fff; font:inherit; }
body.woocommerce-account .woocommerce-MyAccount-content textarea { min-height:120px; }
body.woocommerce-account .woocommerce-MyAccount-content :where(input,select,textarea):focus { border-color:var(--gn-pink-strong); outline:0; box-shadow:0 0 0 3px var(--gn-pink-pale); }
body.woocommerce-account .woocommerce-MyAccount-content :where(label,.woocommerce-form__label) { color:var(--gn-ink); font-size:14px; font-weight:600; line-height:1.45; }
body.woocommerce-account .woocommerce-MyAccount-content .form-row { min-width:0; margin:0 0 18px; padding:0; }
body.woocommerce-account .woocommerce-MyAccount-content .form-row :where(.required,.required_field) { color:#a63e68; }
body.woocommerce-account .woocommerce-MyAccount-content :where(button[type=submit],.button,input[type=submit]) { display:inline-flex; box-sizing:border-box; min-height:46px; padding:11px 20px; align-items:center; justify-content:center; border:1px solid #242024; border-radius:8px; color:#fff; background:#242024; font:600 14px/1.3 var(--font-body); text-align:center; text-decoration:none; cursor:pointer; transition:background-color .18s ease,border-color .18s ease,transform .18s ease; }
body.woocommerce-account .woocommerce-MyAccount-content :where(button[type=submit],.button,input[type=submit]):hover { border-color:#a74269; color:#fff; background:#a74269; }
body.woocommerce-account .woocommerce-MyAccount-content :where(button[type=submit],.button,input[type=submit]):active { transform:translateY(1px); }
body.woocommerce-account .woocommerce-MyAccount-content :where(table.shop_table,table.woocommerce-orders-table,table.woocommerce-table--order-details) { width:100%; margin:16px 0 24px; border:1px solid var(--gn-line); border-collapse:separate; border-spacing:0; border-radius:10px; overflow:hidden; }
body.woocommerce-account .woocommerce-MyAccount-content :where(table.shop_table,table.woocommerce-orders-table,table.woocommerce-table--order-details) :where(th,td) { padding:13px 14px; border:0; border-bottom:1px solid var(--gn-line); vertical-align:middle; text-align:left; }
body.woocommerce-account .woocommerce-MyAccount-content :where(table.shop_table,table.woocommerce-orders-table,table.woocommerce-table--order-details) th { color:var(--gn-ink); background:#faf7f8; font-size:13px; font-weight:600; }
body.woocommerce-account .woocommerce-MyAccount-content :where(table.shop_table,table.woocommerce-orders-table,table.woocommerce-table--order-details) tr:last-child td { border-bottom:0; }
body.woocommerce-account .woocommerce-MyAccount-content :where(.woocommerce-message,.woocommerce-info,.woocommerce-error) { margin:0 0 20px; padding:15px 18px; border:1px solid var(--gn-line); border-left:3px solid var(--gn-pink-strong); border-radius:8px; background:#fff; color:var(--gn-ink); }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:16px; width:100%; margin:0; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address { box-sizing:border-box; float:none !important; clear:none !important; width:auto !important; max-width:none; min-width:0; margin:0; padding:20px; align-self:stretch; border:1px solid var(--gn-line); border-radius:10px; background:#fff; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title { display:flex; align-items:center; justify-content:space-between; gap:12px; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2 { margin:0; font-size:18px; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address { color:var(--gn-muted); font-size:14px; line-height:1.7; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions { white-space:nowrap; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button { min-height:38px; padding:8px 13px; font-size:13px; }
body.woocommerce-account form.login,body.woocommerce-account form.register { margin-top:24px; padding:24px; border-color:var(--gn-line); border-radius:12px; }
body.woocommerce-account:not(.logged-in) .u-columns.col2-set { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:32px; }
body.woocommerce-account:not(.logged-in) .u-columns.col2-set :is(.u-column1,.u-column2) { float:none; width:auto; min-width:0; margin:0; }
body.woocommerce-account:not(.logged-in) :is(form.login,form.register) :where(input:not([type=checkbox]):not([type=radio]),select) { box-sizing:border-box; width:100%; max-width:100%; min-height:48px; padding:11px 13px; border:1px solid var(--gn-line); border-radius:8px; color:var(--gn-ink); background:#fff; font:inherit; }
body.woocommerce-account:not(.logged-in) :is(form.login,form.register) :where(button[type=submit],.button,input[type=submit]) { display:inline-flex; box-sizing:border-box; min-height:46px; padding:11px 20px; align-items:center; justify-content:center; border:1px solid #242024; border-radius:8px; color:#fff; background:#242024; font:600 14px/1.3 var(--font-body); text-align:center; text-decoration:none; cursor:pointer; }
body.woocommerce-account:not(.logged-in) :is(form.login,form.register) :where(button[type=submit],.button,input[type=submit]):hover { border-color:#a74269; color:#fff; background:#a74269; }
body.woocommerce-account:not(.logged-in) form.login .woocommerce-form-login__submit { display:flex; width:100%; margin:10px 0 18px; }
body .site-footer { margin-top:0; }
body .site-footer :where(h2,h3,h4) { font-size:18px; line-height:1.4; }
body .site-footer :where(p,li,a) { font-size:14px; }
/* Existing parent rules use important for WooCommerce block frames. */
body.woocommerce.archive main#wp--skip-link--target,body.single-product main#wp--skip-link--target {
  width:min(100%,var(--gn-content)) !important; max-width:var(--gn-content) !important;
  padding:32px var(--gn-gutter) 64px;
}
body.single-product :is(.related,.upsells,.up-sells) ul.products {
  display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:24px !important;
}
body .gn-search-pagination > :is(a,span) { min-width:44px; min-height:44px; border-radius:8px; }
body .woocommerce-account .woocommerce-MyAccount-content :where(input:not([type=checkbox]):not([type=radio]),select,textarea) { max-width:100%; }
/* Shared page components: filters, category tiles, product details, cart and checkout. */
body :where(*, *::before, *::after) { box-sizing:border-box; }
body a { text-underline-offset:3px; }
body main a:not(.button):not(.wp-block-button__link) { color:inherit; }
body main a:not(.button):not(.wp-block-button__link):hover { color:var(--gn-pink-strong); }
body main :where(hr,.wp-block-separator) { border-color:var(--gn-line); opacity:1; }
body main :where(.woocommerce-breadcrumb,.wc-block-components-breadcrumb) { margin:0 0 24px; color:var(--gn-muted); font-size:14px; }
body main :where(.woocommerce-breadcrumb,a,.wc-block-components-breadcrumb a) { text-decoration-thickness:1px; }
body main :where(.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner) {
  margin:0 0 24px; padding:16px 20px; border:1px solid var(--gn-line); border-left:3px solid var(--gn-pink-strong); border-radius:8px; background:#fff; color:var(--gn-ink);
}
body main :where(.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before) { color:var(--gn-pink-strong); }
body :where(.widget_price_filter,.widget_product_categories,.widget_layered_nav,.widget_layered_nav_filters,.woocommerce-widget-layered-nav,.wc-block-product-filters,.wp-block-woocommerce-filter-wrapper) {
  min-width:0; padding:20px; border:1px solid var(--gn-line); border-radius:var(--gn-radius); background:#fff;
}
body :where(.widget_price_filter,.widget_product_categories,.widget_layered_nav,.widget_layered_nav_filters,.woocommerce-widget-layered-nav) :where(.widget-title,h2,h3) {
  margin:0 0 16px; font-size:18px; line-height:1.35;
}
body :where(.woocommerce .woocommerce-ordering select,.woocommerce .woocommerce-result-count,.wc-block-components-sort-select select) { min-height:48px; }
body .wc-block-product-categories-list,.wc-block-product-categories__list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:16px; margin:0; padding:0; list-style:none; }
body :where(.wc-block-product-categories-list,.wc-block-product-categories__list) > li { min-width:0; margin:0; }
body :where(.wc-block-product-categories-list,.wc-block-product-categories__list) a { color:var(--gn-ink); text-decoration:none; }
body :where(.wc-block-product-categories-list,.wc-block-product-categories__list) a:hover { color:var(--gn-pink-strong); }
body .woocommerce div.product { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:32px 48px; align-items:start; }
body .woocommerce div.product :is(.woocommerce-product-gallery,.summary) { float:none; width:auto; min-width:0; margin:0; }
body .woocommerce div.product .woocommerce-tabs { grid-column:1/-1; min-width:0; margin-top:24px; }
body .woocommerce div.product .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; padding:0; border-bottom:1px solid var(--gn-line); }
body .woocommerce div.product .woocommerce-tabs ul.tabs::before,body .woocommerce div.product .woocommerce-tabs ul.tabs li::before,body .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none; }
body .woocommerce div.product .woocommerce-tabs ul.tabs li { margin:0; padding:0; border:0; background:none; }
body .woocommerce div.product .woocommerce-tabs ul.tabs li a { display:block; padding:12px 16px; color:var(--gn-muted); font-weight:500; }
body .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:var(--gn-pink-strong); box-shadow:inset 0 -2px var(--gn-pink-strong); }
body .woocommerce div.product .summary > :where(h1, .product_title) { margin:0 0 16px; font-size:clamp(26px,2.6vw,36px); }
body .woocommerce div.product .summary .price { margin:16px 0; font-size:22px; }
body .woocommerce div.product form.cart { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:24px 0; }
body .woocommerce div.product form.cart .quantity { margin:0; }
body .woocommerce div.product form.cart .quantity input { min-height:48px; }
body .woocommerce div.product .woocommerce-product-gallery__wrapper img { border-radius:var(--gn-radius); }
body .woocommerce-cart table.cart img { width:84px; height:84px; object-fit:contain; }
body .woocommerce-cart .cart-collaterals .cart_totals,body .woocommerce-checkout #order_review {
  padding:24px; border:1px solid var(--gn-line); border-radius:var(--gn-radius); background:#fff;
}
body .woocommerce-cart .cart-collaterals .cart_totals > h2,body .woocommerce-checkout #order_review_heading { margin:0 0 16px; font-size:22px; }
body .woocommerce-checkout .woocommerce-checkout-payment { border-radius:8px; background:#f8f5f6; }
body .woocommerce-checkout .form-row { min-width:0; }
body .woocommerce-account .woocommerce-MyAccount-navigation a { transition:background-color .18s ease,color .18s ease; }
body .woocommerce-account .woocommerce-MyAccount-content :where(p,li) { line-height:1.65; }
body .yith-wcwl-add-to-wishlist,body .yith-wcwl-wishlistaddedbrowse,body .yith-wcwl-wishlistexistsbrowse { color:var(--gn-pink-strong); }
body .yith-wcwl-add-to-wishlist a { color:inherit; text-decoration:none; }
body .yith-wcwl-add-to-wishlist a:hover { color:#87304f; }
body .woocommerce ul.products li.product .yith-wcwl-add-to-wishlist,body .wc-block-product-template > li.wc-block-product .yith-wcwl-add-to-wishlist { position:absolute; z-index:3; top:12px; right:12px; margin:0; }
body .woocommerce ul.products li.product .yith-wcwl-add-to-wishlist a,body .wc-block-product-template > li.wc-block-product .yith-wcwl-add-to-wishlist a { display:grid; min-width:40px; min-height:40px; place-items:center; border-radius:50%; background:#fff; }
body .yith-wcwl-table,body table.wishlist_table { width:100%; border-collapse:collapse; }
body :where(.yith-wcwl-table,table.wishlist_table) :where(th,td) { padding:14px 12px; border-color:var(--gn-line); vertical-align:middle; }
body footer :where(.wp-block-navigation a,.wp-block-pages-list__item__link) { text-decoration:none; }
body footer :where(.wp-block-navigation a,.wp-block-pages-list__item__link):hover { color:var(--gn-pink-strong); }
body footer :where(input[type=email],input[type=text]) { min-height:48px; border:1px solid var(--gn-line); border-radius:8px; }
body:not(.single-product) .woocommerce-products-header__title,
body:not(.single-product) .woocommerce .wp-block-query-title,
body:not(.single-product) main > .wp-block-post-title,
body:not(.single-product) main > .entry-header .entry-title { display:none; }
body:not(.home):not(.single-product) main :is(h1.entry-title,h1.page-title,h1.wp-block-query-title,h1.wp-block-post-title),
body.post-type-archive-product main h1,
body.tax-product_cat main h1,
body.woocommerce.archive main h1,
body.woocommerce-account main h1,
body.woocommerce-account .wp-block-post-title,
body.woocommerce-account .entry-title { display:none; }
/* My Account is an Elementor page (ID 999) containing an outdated static
   icon menu beside the real WooCommerce shortcode. Keep the live Woo menu only. */
body.page-id-999 .elementor-element-07e1d21 { display:none; }
body.page-id-999 .elementor-element-4ce82f7 { display:block; box-sizing:border-box; width:min(100%,1320px); max-width:1320px; margin:0 auto; padding:clamp(24px,4vw,52px) var(--gn-gutter) clamp(40px,5vw,72px); }
body.page-id-999 .elementor-element-8eee64a { display:none; }
body.page-id-999 .elementor-element-107b5ae { box-sizing:border-box; display:block; width:100%; max-width:100%; min-width:0; flex:1 1 100%; }
body.page-id-999 .elementor-element-2bc0f02,body.page-id-999 .elementor-element-2bc0f02 > .elementor-widget-container { box-sizing:border-box; width:100%; max-width:100%; min-width:0; }
/* A site-level rule hid WooCommerce's own menu but left its grid track behind. */
body.page-id-999 .woocommerce-MyAccount-navigation { display:block !important; visibility:visible !important; opacity:1 !important; grid-column:1; grid-row:1; }
body.page-id-999 .woocommerce-MyAccount-content { display:block !important; grid-column:2; grid-row:1; }
@media (max-width:1100px) {
  body.single-product :is(.related,.upsells,.up-sells) ul.products { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  body:not(.home) .woocommerce ul.products,body:not(.home) ul.products,body.single-product .related ul.products,body.single-product .up-sells ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body ul[class*="wc-block-product-template"]__responsive { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .gn-test-home .gn-trust-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:782px) {
  body.single-product :is(.related,.upsells,.up-sells) ul.products { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:16px !important; }
  body .woocommerce div.product { grid-template-columns:minmax(0,1fr); gap:24px; }
  body .woocommerce div.product .woocommerce-tabs { grid-column:1; margin-top:8px; }
  body .site-main:not(.home),body .gn-catalog-main { padding-block:24px 48px; }
  body .gn-test-home .home-section,body .gn-test-home .gn-about { padding-block:32px; }
  body:not(.home) .woocommerce ul.products,body:not(.home) ul.products,body.single-product .related ul.products,body.single-product .up-sells ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  body ul[class*="wc-block-product-template"]__responsive { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:16px !important; }
  body .home .gh-card__title,body .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:14px; }
  .gn-test-home .about-cols { grid-template-columns:minmax(0,1fr); gap:24px; }
  body.woocommerce-account.logged-in .woocommerce { grid-template-columns:minmax(0,1fr); gap:18px; }
  body.page-id-999 .woocommerce-MyAccount-navigation,body.page-id-999 .woocommerce-MyAccount-content { grid-column:1; }
  body.page-id-999 .woocommerce-MyAccount-content { grid-row:2; }
  body.woocommerce-account .woocommerce-MyAccount-navigation,body.woocommerce-account .woocommerce-MyAccount-content { width:100%; float:none; }
  body.woocommerce-account .woocommerce-MyAccount-navigation { padding:16px; }
  body.woocommerce-account .woocommerce-MyAccount-content { padding:20px; }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:0; }
  body.woocommerce-account .woocommerce-MyAccount-navigation a { height:100%; white-space:normal; }
  body.woocommerce-account:not(.logged-in) .u-columns.col2-set { grid-template-columns:minmax(0,1fr); gap:18px; }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns:minmax(0,1fr); }
  body.woocommerce-account .woocommerce-MyAccount-content table.shop_table { display:block; max-width:100%; overflow-x:auto; white-space:nowrap; }
  body.woocommerce-account .woocommerce-MyAccount-content table.shop_table :where(th,td) { padding:11px 12px; }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions { white-space:normal; }
}
@media (max-width:480px) {
  .gn-test-home .gn-trust-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  body .woocommerce ul.products li.product .button,body .gh-card__add { padding:10px 8px; font-size:13px; }
  body .gh-card__info { padding:12px; }
}
@media (max-width:380px) { body.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns:minmax(0,1fr); } body.woocommerce-account .woocommerce-MyAccount-content { padding:16px; } }
@media (prefers-reduced-motion:reduce) { body .gh-card,body .woocommerce ul.products li.product { transition:none; } }

/* Unified storefront finish: generous product media, aligned card bottoms, quiet blush accents. */
body.woocommerce.archive ul.products,
body.tax-product_cat ul.products,
body.search-results ul.products,
body.single-product .related ul.products,
body.single-product .up-sells ul.products {
  display:grid;
  align-items:stretch;
  grid-auto-rows:1fr;
  gap:24px;
}
body.woocommerce.archive ul.products > li.product,
body.tax-product_cat ul.products > li.product,
body.search-results ul.products > li.product,
body.single-product .related ul.products > li.product,
body.single-product .up-sells ul.products > li.product {
  display:flex;
  flex-direction:column;
  height:100%;
  min-width:0;
  padding:0 0 16px;
  border:1px solid #e9e2e6;
  border-radius:3px !important;
  background:#fff;
  box-shadow:none;
}
body.woocommerce.archive ul.products > li.product:hover,
body.tax-product_cat ul.products > li.product:hover,
body.search-results ul.products > li.product:hover {
  border-color:#e4bfd0;
  box-shadow:0 8px 24px rgb(36 32 36 / 6%);
}
body.woocommerce.archive ul.products > li.product > a.woocommerce-LoopProduct-link,
body.tax-product_cat ul.products > li.product > a.woocommerce-LoopProduct-link,
body.search-results ul.products > li.product > a.woocommerce-LoopProduct-link {
  display:flex;
  flex:1 0 auto;
  flex-direction:column;
  min-width:0;
}
body.woocommerce.archive ul.products > li.product > a img,
body.tax-product_cat ul.products > li.product > a img,
body.search-results ul.products > li.product > a img {
  display:block;
  flex:0 0 auto;
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  max-height:none;
  margin:0;
  padding:16px;
  border-bottom:1px solid #f1ecef;
  object-fit:contain;
  background:#fff;
}
body.woocommerce.archive ul.products > li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products > li.product .woocommerce-loop-product__title,
body.search-results ul.products > li.product .woocommerce-loop-product__title {
  display:block;
  flex:1 0 auto;
  min-height:4.4em;
  margin:0;
  padding:16px 16px 8px;
  color:var(--gn-ink);
  font:500 16px/1.45 var(--font-body);
  text-align:left;
  overflow:visible;
  -webkit-line-clamp:unset;
}
body.woocommerce.archive ul.products > li.product .price,
body.tax-product_cat ul.products > li.product .price,
body.search-results ul.products > li.product .price {
  display:flex;
  flex-wrap:wrap;
  gap:4px 8px;
  align-items:baseline;
  min-height:1.6em;
  margin:10px 16px 14px;
  color:var(--gn-ink);
  font:600 16px/1.45 var(--font-body);
}
body.woocommerce.archive ul.products > li.product > .button,
body.tax-product_cat ul.products > li.product > .button,
body.search-results ul.products > li.product > .button,
body.woocommerce.archive ul.products > li.product > p > .button,
body.tax-product_cat ul.products > li.product > p > .button,
body.search-results ul.products > li.product > p > .button {
  display:flex;
  width:calc(100% - 32px);
  min-height:46px;
  margin:auto 16px 0;
  padding:11px 14px;
  border:1px solid #242024;
  border-radius:4px;
  background:#242024;
  color:#fff;
}

/* Current WooCommerce Product Template blocks use this class without the responsive suffix. */
body.woocommerce.archive ul[class*="wc-block-product-template"],
body.tax-product_cat ul[class*="wc-block-product-template"],
body.search-results ul[class*="wc-block-product-template"] {
  display:grid;
  grid-auto-rows:1fr;
  align-items:stretch;
  gap:24px;
}
body.woocommerce.archive ul[class*="wc-block-product-template"] > li.wc-block-product,
body.tax-product_cat ul[class*="wc-block-product-template"] > li.wc-block-product,
body.search-results ul[class*="wc-block-product-template"] > li.wc-block-product {
  display:flex;
  flex-direction:column;
  height:100%;
  min-width:0;
  padding:0 0 16px;
  border:1px solid #e9e2e6;
  border-radius:3px !important;
  background:#fff;
  overflow:hidden;
}
body.woocommerce.archive ul[class*="wc-block-product-template"] > li > .wc-block-components-product-image,
body.tax-product_cat ul[class*="wc-block-product-template"] > li > .wc-block-components-product-image,
body.search-results ul[class*="wc-block-product-template"] > li > .wc-block-components-product-image {
  position:relative;
  display:grid;
  flex:0 0 auto;
  width:100%;
  aspect-ratio:1 / 1;
  place-items:center;
  margin:0;
  border-bottom:1px solid #f1ecef;
  background:#fff;
  overflow:hidden;
}
body.woocommerce.archive ul[class*="wc-block-product-template"] > li > .wc-block-components-product-image > a,
body.tax-product_cat ul[class*="wc-block-product-template"] > li > .wc-block-components-product-image > a,
body.search-results ul[class*="wc-block-product-template"] > li > .wc-block-components-product-image > a { display:block; width:100%; height:100%; }
body.woocommerce.archive ul[class*="wc-block-product-template"] > li > .wc-block-components-product-image img,
body.tax-product_cat ul[class*="wc-block-product-template"] > li > .wc-block-components-product-image img,
body.search-results ul[class*="wc-block-product-template"] > li > .wc-block-components-product-image img {
  display:block;
  width:100%;
  height:100%;
  max-height:none;
  padding:16px;
  object-fit:contain;
  background:#fff;
}
body.woocommerce.archive ul[class*="wc-block-product-template"] > li > .wp-block-post-title,
body.tax-product_cat ul[class*="wc-block-product-template"] > li > .wp-block-post-title,
body.search-results ul[class*="wc-block-product-template"] > li > .wp-block-post-title {
  flex:1 0 auto;
  min-height:4.4em;
  margin:0;
  padding:16px 16px 8px;
  color:var(--gn-ink);
  font:500 16px/1.45 var(--font-body);
  text-align:left;
}
body.woocommerce.archive ul[class*="wc-block-product-template"] > li > .wp-block-post-title a,
body.tax-product_cat ul[class*="wc-block-product-template"] > li > .wp-block-post-title a,
body.search-results ul[class*="wc-block-product-template"] > li > .wp-block-post-title a { color:inherit; text-decoration:none; }
body.woocommerce.archive ul[class*="wc-block-product-template"] > li > .wp-block-woocommerce-product-price,
body.tax-product_cat ul[class*="wc-block-product-template"] > li > .wp-block-woocommerce-product-price,
body.search-results ul[class*="wc-block-product-template"] > li > .wp-block-woocommerce-product-price {
  display:flex;
  flex-wrap:wrap;
  gap:4px 8px;
  align-items:baseline;
  min-height:1.6em;
  margin:auto 0 14px;
  padding:0 16px;
  color:var(--gn-ink);
  font:600 16px/1.45 var(--font-body);
  text-align:left;
}
body.woocommerce.archive ul[class*="wc-block-product-template"] > li > .wc-block-components-product-button,
body.tax-product_cat ul[class*="wc-block-product-template"] > li > .wc-block-components-product-button,
body.search-results ul[class*="wc-block-product-template"] > li > .wc-block-components-product-button { display:block; width:auto; margin:0 16px !important; padding:0; }
body.woocommerce.archive ul[class*="wc-block-product-template"] .wc-block-components-product-button__button,
body.tax-product_cat ul[class*="wc-block-product-template"] .wc-block-components-product-button__button,
body.search-results ul[class*="wc-block-product-template"] .wc-block-components-product-button__button {
  width:100%;
  min-height:46px;
  border:1px solid #242024;
  border-radius:4px !important;
  background:#242024;
  color:#fff;
}

/* Best Sellers uses the same dark purchase action over a very pale blush band. */
body.home .home-band.gn-bestsellers {
  padding:52px var(--gn-gutter);
  background:#fdf2f6;
  color:#242024;
}
body.home .home-band.gn-bestsellers .gh-sec-head,
body.home .home-band.gn-bestsellers .gn-rail-shell { width:min(100%,var(--gn-content)); margin-inline:auto; }
body.home .home-band.gn-bestsellers .gh-h-section { color:#242024; }
body.home .home-band.gn-bestsellers .gh-card { border:1px solid #eadde3; border-radius:8px; background:#fff; }
body.home .home-band.gn-bestsellers .gh-card__img { min-height:0; aspect-ratio:1 / 1; border-bottom:1px solid #f1ecef; }
body.home .home-band.gn-bestsellers .gh-card__info { display:flex; flex:1; flex-direction:column; gap:10px; padding:16px; }
body.home .home-band.gn-bestsellers .gh-card__title { min-height:4.4em; flex:1 0 auto; color:#242024; font-size:15px; line-height:1.45; }
body.home .home-band.gn-bestsellers .gh-card__foot { display:flex; flex-direction:column; gap:12px; margin-top:auto; }
body.home .home-band.gn-bestsellers .gh-card__price { min-height:1.5em; color:#242024; }
body.home .home-band.gn-bestsellers .gh-card__price ins { color:#aa3f6a; }
body.home .home-band.gn-bestsellers .gh-card__add { min-height:46px; border-radius:4px; background:#242024; color:#fff; }

/* Align Woo account content like the reference: restrained cards, clear hierarchy, useful whitespace. */
body.woocommerce-account.logged-in .woocommerce { column-gap:28px; }
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content { border-color:#e8e0e4; border-radius:10px; }
body.woocommerce-account .woocommerce-MyAccount-navigation { padding:18px; }
body.woocommerce-account .woocommerce-MyAccount-navigation a { min-height:50px; padding:12px 15px; font-size:15px; }
body.woocommerce-account .woocommerce-MyAccount-content { padding:28px; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:18px; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address { display:flex; flex-direction:column; min-height:190px; padding:20px; border-radius:8px; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title { width:100%; margin-bottom:10px; }
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address { margin:0; overflow-wrap:anywhere; }
body.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) { border-left-color:#aa3f6a; border-radius:6px; }
body.woocommerce-account:not(.logged-in) :is(form.login,form.register) { padding:28px; border:1px solid #e8e0e4; border-radius:10px; background:#fff; }
body.woocommerce-account .woocommerce-MyAccount-content :where(button[type=submit],.button,input[type=submit]),
body.woocommerce-account:not(.logged-in) :is(form.login,form.register) :where(button[type=submit],.button,input[type=submit]) { border-radius:999px; }

@media (max-width:1100px) {
  body.woocommerce.archive ul.products,
  body.tax-product_cat ul.products,
  body.search-results ul.products,
  body.woocommerce.archive ul[class*="wc-block-product-template"],
  body.tax-product_cat ul[class*="wc-block-product-template"],
  body.search-results ul[class*="wc-block-product-template"] { gap:18px; }
}
@media (max-width:782px) {
  body.home .home-band.gn-bestsellers { padding-block:36px; }
  body.woocommerce-account .woocommerce-MyAccount-content { padding:20px; }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns:minmax(0,1fr); }
  body.woocommerce.archive ul.products,
  body.tax-product_cat ul.products,
  body.search-results ul.products,
  body.woocommerce.archive ul[class*="wc-block-product-template"],
  body.tax-product_cat ul[class*="wc-block-product-template"],
  body.search-results ul[class*="wc-block-product-template"] { gap:14px; }
  body.woocommerce.archive ul.products > li.product .woocommerce-loop-product__title,
  body.tax-product_cat ul.products > li.product .woocommerce-loop-product__title,
  body.search-results ul.products > li.product .woocommerce-loop-product__title,
  body.woocommerce.archive ul[class*="wc-block-product-template"] > li > .wp-block-post-title,
  body.tax-product_cat ul[class*="wc-block-product-template"] > li > .wp-block-post-title,
  body.search-results ul[class*="wc-block-product-template"] > li > .wp-block-post-title { padding:12px 12px 6px; font-size:14px; }
  body.woocommerce.archive ul.products > li.product .price,
  body.tax-product_cat ul.products > li.product .price,
  body.search-results ul.products > li.product .price { margin-inline:12px; font-size:14px; }
  body.woocommerce.archive ul.products > li.product > .button,
  body.tax-product_cat ul.products > li.product > .button,
  body.search-results ul.products > li.product > .button { width:calc(100% - 24px); margin-inline:12px; font-size:13px; }
  body.woocommerce.archive ul[class*="wc-block-product-template"] > li > .wp-block-woocommerce-product-price,
  body.tax-product_cat ul[class*="wc-block-product-template"] > li > .wp-block-woocommerce-product-price,
  body.search-results ul[class*="wc-block-product-template"] > li > .wp-block-woocommerce-product-price { padding-inline:12px; font-size:14px; }
  body.woocommerce.archive ul[class*="wc-block-product-template"] > li > .wc-block-components-product-button,
  body.tax-product_cat ul[class*="wc-block-product-template"] > li > .wc-block-components-product-button,
  body.search-results ul[class*="wc-block-product-template"] > li > .wc-block-components-product-button { margin-inline:12px !important; }
  body.woocommerce-account:not(.logged-in) :is(form.login,form.register) { padding:20px; }
}
