/* GNails storefront styles — single, shared design system */
:root {
  --gn-pink:#e8458b;
  --gn-pink-strong:#c42069;
  --gn-pink-pale:#fdf0f5;
  --gn-pink-soft:#f9d3e3;
  --gn-paper:#fff;
  --gn-linen:#f6f5f5;
  --gn-white:#fff;
  --gn-ink:#151314;
  --gn-charcoal:#262324;
  --gn-line:#e8e6e7;
  --gn-muted:#6b6769;
  --gn-brown:#9a705b;
  --gn-nude:#e8458b;
  --gn-radius:14px;
  --gn-gutter:clamp(18px,4vw,48px);
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-heading:'Manrope','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

html { scroll-behavior:smooth; }
body { margin:0; color:var(--gn-ink); background:var(--gn-paper); font:15px/1.6 var(--font-body); -webkit-font-smoothing:antialiased; }
img,video,svg { max-width:100%; }
a { color:inherit; }
a:hover { color:var(--gn-brown); }
:focus-visible { outline:2px solid var(--gn-nude); outline-offset:3px; }
h1,h2,h3,h4,h5,h6 { color:var(--gn-ink); font-family:var(--font-heading); font-weight:800; letter-spacing:-.025em; line-height:1.2; }

/* Header: same template part on block pages and Elementor pages. */
.site-header { position:relative; top:auto; z-index:100; background:rgba(255,255,255,.97); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); box-shadow:0 3px 18px rgba(21,19,20,.07); }
.topbar { padding:7px 16px; background:var(--gn-ink); }
.topbar p { margin:0; color:#f1eeef; font-size:12px; letter-spacing:.03em; }
.header-main { box-sizing:border-box; display:flex; width:min(100%,1320px); min-height:82px; margin-inline:auto; padding:12px 22px; gap:20px; align-items:center; }
.site-header { display:block!important; width:100%; box-sizing:border-box; }
.site-header .header-main { min-width:0; }
.site-header .header-main>* { min-width:0; }
.site-header .header-nav { width:100%; box-sizing:border-box; }
.header-main .wp-block-site-logo img { display:block; width:auto; max-height:52px; }
.header-search { flex:1 1 460px; max-width:460px; margin-inline:auto; }
.header-search .wp-block-search__inside-wrapper { padding:2px; border:1px solid var(--gn-line); border-radius:999px; background:var(--gn-white); }
.header-search .wp-block-search__input { min-width:0; padding:8px 14px; border:0; background:transparent; font-size:14px; }
.header-actions { display:flex; align-items:center; gap:14px; }
.header-actions .gn-header-wishlist { display:inline-flex; width:34px; height:38px; flex:0 0 34px; align-items:center; justify-content:center; color:var(--gn-ink); text-decoration:none; transition:color .18s ease; }
.header-actions .gn-header-wishlist svg { display:block; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.header-actions .gn-header-wishlist:hover,.header-actions .gn-header-wishlist:focus-visible { color:var(--gn-brown); }
.header-actions .wc-block-mini-cart__button,.header-actions .wc-block-customer-account__account-icon { color:var(--gn-ink); }
.header-actions .wc-block-mini-cart__badge { color:#fff; background:var(--gn-ink); }
.header-nav { border-top:1px solid var(--gn-line); background:rgba(255,255,255,.98); }
.main-nav { font:700 14px/1.3 var(--font-heading); }
.main-nav .wp-block-navigation-item__content { padding:12px 14px; color:var(--gn-brown); text-decoration:none; transition:color .18s ease; }
.main-nav .wp-block-navigation-item__content:hover,.main-nav .wp-block-navigation-item__content:focus-visible { color:var(--gn-ink); }
.main-nav .nav-sale .wp-block-navigation-item__content { color:var(--gn-brown); }
.main-nav .wp-block-navigation__submenu-container { padding:6px; border:1px solid var(--gn-line); border-radius:10px; background:#fff; box-shadow:0 16px 36px rgba(21,19,20,.12); }
.main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding:9px 14px; }

/* Page frame and homepage sections. */
.site-main { box-sizing:border-box; width:min(100%,1320px); margin-inline:auto; padding:32px 22px 64px; }
.site-main.home { width:100%; max-width:none; padding:0; }
.home-section { box-sizing:border-box; width:min(100%,1320px); margin-inline:auto; padding:clamp(44px,6vw,78px) clamp(18px,4vw,48px); }
.home .gh-sec-head { display:flex; width:100%; margin:0 0 24px; align-items:end; justify-content:space-between; gap:18px; }
.home .gh-h-section,.home .section-title { margin:0; color:var(--gn-ink); font:800 clamp(28px,3vw,38px)/1.2 var(--font-heading); letter-spacing:-.025em; text-align:left; }
.home .gh-link { margin:0; font-size:14px; white-space:nowrap; }
.home .gh-link a { text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:3px; }
.home .gh-link a:hover { color:var(--gn-brown); }
.home .gh-sec-tools { display:flex; align-items:center; gap:16px; }
.home .gh-arrows { display:flex; gap:8px; }
.home .gh-arrow,.gn-arrow { display:grid; flex:0 0 40px; width:40px; height:40px; padding:0; place-items:center; border:1px solid var(--gn-line); border-radius:50%; color:var(--gn-ink); background:#fff; cursor:pointer; transition:color .18s,background .18s,border-color .18s; }
.home .gh-arrow:hover:not(:disabled),.gn-arrow:hover { color:#fff; border-color:var(--gn-ink); background:var(--gn-ink); }
.home .gh-arrow:disabled { opacity:.4; cursor:default; }
.home .gh-arrow svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5; }
.home .hero { width:100%; max-width:none; padding:clamp(42px,6vw,82px) max(22px,calc((100vw - 1224px)/2)); background:var(--gn-linen); }
.home .hero-cols { max-width:1224px; margin-inline:auto; gap:clamp(28px,6vw,80px); }
.hero-title { margin:0 0 18px; font-size:clamp(34px,5vw,58px); letter-spacing:-.035em; }
.hero-text { max-width:46ch; margin:0 0 26px; color:var(--gn-muted); font-size:17px; }
.wp-block-button__link,.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce .button.alt,.checkout-button,.single_add_to_cart_button,.wc-block-components-button:not(.is-link),.wpforms-container .wpforms-submit,.gn-search-form button { display:inline-flex; min-height:44px; box-sizing:border-box; align-items:center; justify-content:center; padding:10px 22px; border:1px solid var(--gn-ink); border-radius:999px; color:#fff; background:var(--gn-ink); box-shadow:none; font:700 13px/1.25 var(--font-body); text-decoration:none; cursor:pointer; transition:color .18s,background .18s,border-color .18s; }
.wp-block-button__link:hover,.wp-element-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce .button.alt:hover,.checkout-button:hover,.single_add_to_cart_button:hover,.wc-block-components-button:not(.is-link):hover,.wpforms-container .wpforms-submit:hover,.gn-search-form button:hover { border-color:var(--gn-brown); color:#fff; background:var(--gn-brown); }
.wp-block-button.is-style-outline .wp-block-button__link { color:var(--gn-ink); border-color:var(--gn-ink); background:transparent; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { color:#fff; background:var(--gn-ink); }

/* Shared product cards — proportions and details follow gnails-home.html. */
.woocommerce ul.products,ul.products { display:grid; width:100%; max-width:100%; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:20px; margin:0; padding:0; list-style:none; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.wc-block-product-template { gap:20px; }
.woocommerce ul.products li.product,ul.products li.product,.wc-block-product-template>li,.wc-block-grid__product { box-sizing:border-box; position:relative; width:auto!important; max-width:none!important; min-width:0; min-height:0; height:auto; float:none!important; margin:0!important; padding:0 0 14px; display:flex; flex-direction:column; align-items:stretch; overflow:hidden; border:1px solid var(--gn-line); border-radius:10px; color:var(--gn-ink); background:#fff; text-align:left; box-shadow:none; }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,.wc-block-product-template>li .wc-block-components-product-image,.wc-block-product-template>li>a:first-child { display:flex; width:100%; min-width:0; flex-direction:column; color:inherit; text-decoration:none; }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link>br,.woocommerce ul.products li.product .woocommerce-loop-product__link>br,.woocommerce ul.products li.product .woocommerce-loop-product__link p:empty { display:none!important; }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link img,.wc-block-product-template .wc-block-components-product-image img,.wc-block-grid__product-image img { display:block; width:100%; height:auto; aspect-ratio:1; margin:0!important; padding:8px; object-fit:contain; background:var(--gn-linen); mix-blend-mode:multiply; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,.wc-block-product-template .wp-block-post-title,.wc-block-grid__product-title { display:-webkit-box; min-height:2.6em; max-height:2.6em; margin:0; padding:14px 14px 0; overflow:hidden; color:var(--gn-ink); font:500 14px/1.3 var(--font-body); overflow-wrap:break-word; word-break:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.woocommerce ul.products li.product>p { display:flex; min-width:0; margin:auto 14px 0; padding-top:10px; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.woocommerce ul.products li.product>p>br { display:none; }
.woocommerce ul.products li.product>p>a.woocommerce-LoopProduct-link { display:block; min-width:0; flex:1 1 auto; color:inherit; text-decoration:none; }
.woocommerce ul.products li.product .price,.wc-block-components-product-price,.wc-block-grid__product-price { display:block; min-height:0; margin:0; color:var(--gn-ink); font:600 15px/1.4 var(--font-body); overflow-wrap:normal; }
.woocommerce ul.products li.product .price del,.wc-block-components-product-price del { margin-right:5px; color:var(--gn-muted); font-size:13px; font-weight:400; }
.woocommerce ul.products li.product .price ins,.wc-block-components-product-price ins { color:inherit; text-decoration:none; background:none; }
.woocommerce ul.products li.product .button,.wc-block-product-template .wp-block-button__link,.wc-block-components-product-button__button,.gh-card__add { box-sizing:border-box; display:inline-flex; width:auto; min-width:0; min-height:36px; height:36px; margin:0; padding:0 14px; align-items:center; justify-content:center; border:1px solid var(--gn-ink); border-radius:999px; color:var(--gn-ink); background:#fff; box-shadow:none; font:500 13px/1 var(--font-body); letter-spacing:0; text-align:center; text-decoration:none; text-transform:none; white-space:nowrap; }
.woocommerce ul.products li.product .button:hover,.wc-block-product-template .wp-block-button__link:hover,.wc-block-components-product-button__button:hover,.gh-card__add:hover { border-color:var(--gn-ink); color:#fff; background:var(--gn-ink); }
.woocommerce ul.products li.product .added_to_cart,.woocommerce ul.products li.product .star-rating,.wc-block-components-product-rating,.wc-block-grid__product-rating,.wc-block-components-product-badge { display:none!important; }
.woocommerce ul.products li.product:hover,.wc-block-product-template>li:hover,.wc-block-grid__product:hover,.home .gh-card:hover { border-color:var(--gn-nude); box-shadow:0 12px 32px -16px rgba(21,19,20,.28); transform:translateY(-3px); }
.home .gh-carousel { padding-top:0; }
.home .gh-track { display:flex; width:100%; max-width:100%; min-width:0; align-items:stretch; gap:18px; overflow-x:auto; padding:2px 2px 14px; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-inline:contain; cursor:grab; }
.home .gh-track::-webkit-scrollbar,.gn-rail::-webkit-scrollbar,.home .woocommerce ul.products::-webkit-scrollbar { display:none; }
.home .gh-track.is-drag { cursor:grabbing; scroll-snap-type:none; }
.home .gh-card { box-sizing:border-box; display:flex; min-width:0; min-height:0; flex:0 0 calc((100% - 54px)/4); flex-direction:column; overflow:hidden; border:1px solid var(--gn-line); border-radius:10px; background:#fff; scroll-snap-align:start; transition:box-shadow .4s ease,transform .4s ease,border-color .3s ease; }
.home .gh-card__img { position:relative; display:block; width:100%; aspect-ratio:1; flex:0 0 auto; overflow:hidden; background:var(--gn-linen); }
.home .gh-card__img>br,.home .gh-card__foot>br,.home .gh-card__info>p:empty { display:none!important; }
.home .gh-card__img img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.home .gh-card__info { display:flex; min-height:0; padding:14px 14px 16px; flex:1; flex-direction:column; gap:4px; }
.home .gh-card__title { display:-webkit-box; min-height:2.6em; max-height:2.6em; margin:0; overflow:hidden; color:var(--gn-ink); font:500 14px/1.3 var(--font-body); text-decoration:none; overflow-wrap:break-word; word-break:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.home .gh-card__foot { display:flex; min-width:0; margin-top:auto; padding-top:10px; align-items:center; justify-content:space-between; gap:8px; }
.home .gh-card__price { min-width:0; color:var(--gn-ink); font:600 15px/1.4 var(--font-body); overflow-wrap:normal; }
.home .gh-card__price del { margin-right:5px; color:var(--gn-muted); font-size:13px; font-weight:400; }
.home .gh-card__price ins { text-decoration:none; }
.home .gh-card__add { flex:0 0 auto; }
.home .gh-card__badge { position:absolute; z-index:1; top:10px; left:10px; padding:4px 9px; border-radius:999px; color:#fff; background:var(--gn-ink); font-size:11px; font-weight:600; letter-spacing:.06em; }
/* The homepage product rows scroll horizontally like the reference carousel. */
.home .home-section .woocommerce { width:100%; max-width:100%; min-width:0; }
.home .gn-product-carousel { display:flex; width:100%; min-width:0; align-items:center; gap:12px; }
.home .gn-product-carousel>ul.products { min-width:0; flex:1 1 auto; }
.home .home-section .woocommerce ul.products { display:flex; width:100%; align-items:stretch; gap:18px; overflow-x:auto; padding:2px 2px 14px; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-inline:contain; }
.home .home-section .woocommerce ul.products li.product { flex:0 0 calc((100% - 54px)/4); scroll-snap-align:start; }
.home .home-section .woocommerce ul.products li.product>p { margin-top:auto; }

/* WooCommerce Product Collection blocks use the same vertical card layout as homepage rails. */
.woocommerce .wc-block-product-template__responsive { display:grid!important; width:100%!important; max-width:none!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; align-items:stretch!important; gap:20px!important; margin:0!important; padding:0!important; }
.woocommerce .wc-block-product-template__responsive>li.wc-block-product { box-sizing:border-box; position:relative; display:flex!important; width:auto!important; max-width:none!important; min-width:0!important; min-height:0; flex-direction:column; align-items:stretch; overflow:hidden; padding:0 0 14px!important; border:1px solid var(--gn-line); border-radius:var(--gn-radius); color:var(--gn-ink); background:#fff; text-align:left!important; }
.woocommerce .wc-block-product-template__responsive>li.wc-block-product>.wc-block-components-product-image { display:block; width:100%; min-width:0; flex:0 0 auto; margin:0!important; overflow:hidden; background:#fff; }
.woocommerce .wc-block-product-template__responsive>li.wc-block-product>.wc-block-components-product-image>a { display:block; width:100%; }
.woocommerce .wc-block-product-template__responsive>li.wc-block-product .wc-block-components-product-image img { display:block; width:100%!important; height:auto!important; aspect-ratio:1/1!important; margin:0!important; padding:10px; box-sizing:border-box; object-fit:contain!important; background:#fff; }
.woocommerce .wc-block-product-template__responsive>li.wc-block-product>.wp-block-post-title { display:block; min-width:0; min-height:0; max-height:none; height:auto; margin:0!important; padding:14px 14px 0!important; overflow:visible; color:var(--gn-ink); font:500 14px/1.3 var(--font-body)!important; text-align:left!important; overflow-wrap:break-word; word-break:normal; -webkit-line-clamp:unset; }
.woocommerce .wc-block-product-template__responsive>li.wc-block-product>.wp-block-post-title a { color:inherit; text-decoration:none; }
.woocommerce .wc-block-product-template__responsive>li.wc-block-product>.wp-block-woocommerce-product-price { min-width:0; margin:auto 0 0!important; padding:10px 14px 0!important; }
.woocommerce .wc-block-product-template__responsive>li.wc-block-product .wc-block-components-product-price { margin:0!important; color:var(--gn-ink); font:600 15px/1.4 var(--font-body)!important; text-align:left!important; overflow-wrap:normal; }
.woocommerce .wc-block-product-template__responsive>li.wc-block-product .wc-block-components-product-price del { margin-right:5px; color:var(--gn-muted); font-size:13px; font-weight:400; }
.woocommerce .wc-block-product-template__responsive>li.wc-block-product .wc-block-components-product-price ins { color:var(--gn-pink-strong); text-decoration:none; background:none; }
.woocommerce .wc-block-product-template__responsive>li.wc-block-product>.wc-block-components-product-button { display:flex; width:auto; min-width:0; margin:0 14px!important; padding:10px 0 0!important; align-items:stretch; justify-content:stretch; }
.woocommerce .wc-block-product-template__responsive>li.wc-block-product .wc-block-components-product-button__button { display:inline-flex; width:100%; min-width:0; min-height:36px; height:36px; margin:0!important; padding:0 14px; align-items:center; justify-content:center; border:1px solid var(--gn-ink); border-radius:999px; color:var(--gn-ink); background:#fff; box-shadow:none; font:500 13px/1 var(--font-body); text-align:center; white-space:nowrap; }
.woocommerce .wc-block-product-template__responsive>li.wc-block-product .wc-block-components-product-button__button:hover { border-color:var(--gn-pink-strong); color:#fff; background:var(--gn-pink-strong); }
.woocommerce .wc-block-product-template__responsive>li.wc-block-product .wc-block-components-product-button__button span { margin:0; }
.woocommerce .wc-block-product-template__responsive>li.wc-block-product .wc-block-components-product-rating,.woocommerce .wc-block-product-template__responsive>li.wc-block-product .wc-block-components-product-badge { display:none!important; }
.woocommerce.archive main#wp--skip-link--target,.woocommerce.tax-product_cat main#wp--skip-link--target { box-sizing:border-box; width:min(100%,1680px)!important; max-width:1680px!important; margin-inline:auto!important; padding:32px clamp(16px,4vw,40px) 64px; }
.woocommerce.archive main#wp--skip-link--target>.wp-block-woocommerce-product-collection,.woocommerce.tax-product_cat main#wp--skip-link--target>.wp-block-woocommerce-product-collection { width:100%!important; max-width:none!important; }
/* Elementor account page: isolate the theme header from page-builder layout rules. */
body.page-template-elementor_header_footer .wp-site-blocks { display:block!important; width:100%!important; max-width:none!important; margin:0!important; }
body.page-template-elementor_header_footer .site-header { position:static!important; inset:auto!important; float:none!important; clear:both!important; display:block!important; width:100%!important; max-width:none!important; margin:0!important; transform:none!important; }
body.page-template-elementor_header_footer .site-header .header-main { display:flex!important; width:min(100%,1320px)!important; max-width:1320px!important; min-width:0; margin-inline:auto!important; align-items:center!important; justify-content:space-between!important; }
body.page-template-elementor_header_footer .site-header .header-actions { display:flex!important; min-width:max-content; align-items:center!important; gap:14px!important; }
body.page-template-elementor_header_footer .site-header .header-nav { width:100%!important; max-width:none!important; }
body.page-template-elementor_header_footer .site-header .main-nav { width:100%; justify-content:center!important; }

/* Product categories carousel and brand grid (not a carousel). */
.home .gh-cats__grid { display:grid; grid-template-columns:repeat(var(--gh-cols,4),minmax(0,1fr)); gap:16px; }
.home .gh-cat { position:relative; display:flex; min-width:0; aspect-ratio:var(--gh-aspect,4/5); padding:20px; align-items:flex-end; overflow:hidden; border-radius:var(--gn-radius); color:#fff; background:#d9cbc0; isolation:isolate; text-decoration:none; }
.home .gh-cat__bg { position:absolute; z-index:-2; inset:0; background:var(--bg); }
.home .gh-cat__bg::after { position:absolute; inset:0; background:linear-gradient(180deg,rgba(21,19,20,.02) 25%,rgba(21,19,20,.58)); content:""; }
.home .gh-cat__bg img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.home .gh-cat:hover .gh-cat__bg img { transform:scale(1.04); }
.home .gh-cat__text { display:grid; gap:5px; padding-right:40px; }
.home .gh-cat__text strong { color:#fff; font:700 clamp(20px,2.2vw,28px)/1.15 var(--font-heading); }
.home .gh-cat__text span { font-size:12px; }
.home .gh-cat__go { position:absolute; right:15px; bottom:16px; display:grid; width:34px; height:34px; place-items:center; border-radius:50%; color:var(--gn-ink); background:#fff; }
.home .gn-rail-shell { display:flex; width:100%; min-width:0; align-items:center; gap:12px; }
.home .gn-rail-shell>p:empty { display:none!important; }
.home .gn-rail { display:flex; min-width:0; padding:8px 2px 18px; flex:1; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-inline:contain; }
.gn-category-card { min-width:0; flex:0 0 clamp(148px,18vw,195px); color:inherit; scroll-snap-align:start; text-align:center; text-decoration:none; }
.gn-category-media { display:flex; width:100%; aspect-ratio:1; align-items:center; justify-content:center; overflow:hidden; border:1px solid var(--gn-line); border-radius:var(--gn-radius); background:var(--gn-linen); }
.gn-category-media img { display:block; width:100%; height:100%; object-fit:cover; }
.gn-category-name { display:block; margin-top:12px; font-size:14px; font-weight:700; }
.gn-image-empty { width:45%; height:45%; border:1px solid var(--gn-line); border-radius:50%; background:#fff; }

/* Benefits: explicit full-width grid avoids narrow auto-layout columns. */
.wpforms-container .wpforms-form { display:flex; flex-wrap:wrap; align-items:end; gap:10px; }
.wpforms-container .wpforms-field-container { min-width:0; flex:1 1 240px; }
.wpforms-container input[type=email] { box-sizing:border-box; width:100%; min-height:46px; padding:0 14px; border:1px solid var(--gn-line); border-radius:999px; background:#fff; }
.wpforms-container .wpforms-submit-container { padding:0; }

/* Catalog, categories and search results. */
.woocommerce-products-header { margin-bottom:24px; }
.woocommerce-products-header__title,.wp-block-query-title,.page-heading { margin:0 0 20px; font-size:clamp(28px,3.2vw,40px); }
.woocommerce-result-count,.gn-result-count { color:var(--gn-muted); font-size:13px; }
.woocommerce-ordering select,.wc-block-catalog-sorting select { min-height:42px; padding:0 38px 0 14px; border:1px solid var(--gn-line); border-radius:999px; background:#fff; }
.woocommerce-breadcrumb,.wc-block-breadcrumbs { margin-bottom:18px; color:var(--gn-muted); font-size:13px; }
.woocommerce-pagination { margin-top:28px; }
.woocommerce-pagination ul { display:flex!important; flex-wrap:wrap; justify-content:center; border:0!important; }
.woocommerce-pagination li { border:0!important; }
.woocommerce-pagination .page-numbers,.wp-block-query-pagination a,.wp-block-query-pagination .page-numbers { display:inline-flex; min-width:40px; height:40px; margin:3px; padding:0 12px; align-items:center; justify-content:center; border:1px solid var(--gn-line); border-radius:999px; color:var(--gn-ink); background:#fff; text-decoration:none; }
.woocommerce-pagination a.page-numbers:hover,.woocommerce-pagination .page-numbers.current,.wp-block-query-pagination a:hover,.wp-block-query-pagination .page-numbers.current { border-color:var(--gn-ink); color:#fff; background:var(--gn-ink); }
.gn-search-page { max-width:1240px; }
.gn-search-intro { margin:20px auto 30px; text-align:center; }
.gn-search-intro h1 { font-size:clamp(28px,3.2vw,40px); }
.gn-search-form { display:flex; max-width:650px; margin:22px auto; gap:10px; }
.gn-search-form input { box-sizing:border-box; min-width:0; min-height:46px; padding:10px 16px; flex:1; border:1px solid var(--gn-line); border-radius:999px; background:#fff; }
.gn-result-count { margin:20px 0; }
.gn-empty { padding:22px; color:var(--gn-muted); text-align:center; }
.gn-search-pagination { box-sizing:border-box; display:flex; width:100%; max-width:100%; min-width:0; margin:24px 0 0; flex-flow:row wrap!important; align-items:center; justify-content:center; gap:6px; }
.gn-search-pagination .page-numbers { box-sizing:border-box; display:inline-flex; min-width:40px; min-height:40px; margin:0; padding:0 12px; align-items:center; justify-content:center; border:1px solid var(--gn-line); border-radius:999px; color:var(--gn-ink); background:#fff; text-decoration:none; }
.gn-search-pagination a.page-numbers:hover,.gn-search-pagination .page-numbers.current { border-color:var(--gn-pink-strong); color:#fff; background:var(--gn-pink-strong); }

/* Single product page, cart and checkout. */
.single-product .wp-block-group.woocommerce.product { display:block!important; width:100%!important; max-width:none!important; margin:0!important; }
.single-product main#wp--skip-link--target { box-sizing:border-box; width:min(100%,1440px)!important; max-width:1440px!important; margin-inline:auto!important; padding:32px clamp(18px,3vw,42px) 64px; }
.single-product main#wp--skip-link--target>.wp-block-columns.alignwide { display:grid!important; width:100%!important; max-width:none!important; margin-inline:0!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; align-items:start; gap:clamp(24px,4vw,56px)!important; }
.single-product main#wp--skip-link--target>.wp-block-columns.alignwide>.wp-block-column { box-sizing:border-box; width:auto!important; min-width:0!important; max-width:none!important; flex-basis:auto!important; }
.single-product main#wp--skip-link--target>.wp-block-columns.alignwide>.wp-block-column:nth-child(2) { padding:clamp(18px,3vw,36px); border:1px solid var(--gn-line); border-radius:var(--gn-radius); background:#fff; }
.single-product .wp-block-woocommerce-product-image-gallery,.single-product .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery { width:100%!important; max-width:none!important; margin:0!important; }
.single-product div.product { display:block!important; width:100%!important; max-width:none!important; }
.single-product div.product .woocommerce-product-gallery { float:none; width:100%; margin:0; overflow:hidden; border:1px solid var(--gn-line); border-radius:var(--gn-radius); background:var(--gn-linen); }
.single-product .woocommerce-product-gallery__wrapper,.single-product .woocommerce-product-gallery__image { background:var(--gn-linen); }
.single-product .woocommerce-product-gallery__image img { width:100%; aspect-ratio:1; object-fit:contain; mix-blend-mode:multiply; }
.single-product div.product .summary { float:none; width:auto; margin:0; padding:clamp(20px,3vw,36px); border:1px solid var(--gn-line); border-radius:var(--gn-radius); background:#fff; }
.single-product .product_title,.single-product .wp-block-post-title { max-width:none!important; margin:0 0 16px; color:var(--gn-ink); font-size:clamp(24px,3vw,34px)!important; line-height:1.2!important; overflow-wrap:normal; word-break:normal; }
.single-product .summary .price,.single-product .wc-block-components-product-price { margin:0 0 18px; color:var(--gn-ink); font:800 24px/1.35 var(--font-heading); }
.single-product .summary .price del { color:var(--gn-muted); font-size:.78em; }
.single-product .summary .price ins { text-decoration:none; }
.single-product .woocommerce-product-details__short-description { color:#555053; line-height:1.7; }
.single-product form.cart { display:flex; flex-wrap:wrap; margin:22px 0; align-items:center; gap:12px; }
.single-product form.cart .quantity input { min-height:46px; border:1px solid var(--gn-line); border-radius:999px; }
.single-product .single_add_to_cart_button { min-height:48px; padding-inline:28px; }
.single-product .product_meta { display:grid; margin-top:20px; padding-top:16px; gap:6px; border-top:1px solid var(--gn-line); color:var(--gn-muted); font-size:13px; }
.single-product .woocommerce-tabs,.single-product .related,.single-product .upsells { grid-column:1/-1; width:100%; margin-top:28px; }
.single-product .upsells ul.products { display:grid!important; box-sizing:border-box; width:100%; max-width:100%; min-width:0; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))!important; align-items:stretch; gap:20px!important; margin:0; padding:0; }
.single-product .upsells ul.products>li.product { box-sizing:border-box; min-width:0; max-width:100%; }
.single-product [data-collection="woocommerce/product-collection/related"]>.wc-block-product-template { display:grid!important; box-sizing:border-box; width:100%!important; max-width:100%!important; min-width:0; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))!important; align-items:stretch; gap:20px!important; margin:0!important; padding:0!important; }
.single-product [data-collection="woocommerce/product-collection/related"]>.wc-block-product-template>li.wc-block-product { position:relative; display:flex!important; box-sizing:border-box; width:100%!important; max-width:100%!important; min-width:0!important; min-height:0; margin:0!important; padding:0 0 14px!important; flex-direction:column; align-items:stretch; overflow:hidden; border:1px solid var(--gn-line); border-radius:var(--gn-radius); color:var(--gn-ink); background:#fff; text-align:left; }
.single-product [data-collection="woocommerce/product-collection/related"] .wc-block-components-product-image { position:relative; display:block!important; box-sizing:border-box; width:100%; min-width:0; aspect-ratio:1/1; flex:0 0 auto; margin:0!important; overflow:hidden; background:#fff; }
.single-product [data-collection="woocommerce/product-collection/related"] .wc-block-components-product-image img { display:block; box-sizing:border-box; width:100%!important; height:auto!important; aspect-ratio:1/1!important; margin:0!important; padding:10px; object-fit:contain!important; background:#fff; }
.single-product [data-collection="woocommerce/product-collection/related"] .wp-block-post-title { display:block!important; box-sizing:border-box; width:100%; min-width:0; min-height:0; max-height:none; height:auto; margin:0!important; padding:14px 14px 0!important; overflow:visible; color:var(--gn-ink); font:500 14px/1.35 var(--font-body)!important; text-align:left!important; overflow-wrap:anywhere; word-break:normal; -webkit-line-clamp:unset; }
.single-product [data-collection="woocommerce/product-collection/related"] .wp-block-woocommerce-product-price { box-sizing:border-box; width:100%; min-width:0; margin:auto 0 0!important; padding:10px 14px 0!important; text-align:left!important; }
.single-product [data-collection="woocommerce/product-collection/related"] .wc-block-components-product-price { color:var(--gn-ink); font:600 15px/1.4 var(--font-body)!important; text-align:left!important; }
.single-product [data-collection="woocommerce/product-collection/related"] .wc-block-components-product-price del { margin-right:5px; color:var(--gn-muted); font-size:13px; font-weight:400; }
.single-product [data-collection="woocommerce/product-collection/related"] .wc-block-components-product-price ins { color:var(--gn-pink-strong); text-decoration:none; background:none; }
.single-product [data-collection="woocommerce/product-collection/related"] .wc-block-components-product-button { display:flex; box-sizing:border-box; width:auto; max-width:100%; min-width:0; margin:0 14px!important; padding:10px 0 0!important; align-items:stretch; justify-content:stretch; }
.single-product [data-collection="woocommerce/product-collection/related"] .wc-block-components-product-button__button { display:flex!important; box-sizing:border-box; width:100%!important; max-width:100%; min-width:0!important; min-height:36px; height:auto; margin:0!important; padding:10px 12px; align-items:center; justify-content:center; border:1px solid var(--gn-ink); border-radius:999px; color:var(--gn-ink); background:#fff; font:500 13px/1.25 var(--font-body); text-align:center; white-space:normal; overflow-wrap:anywhere; }
.single-product [data-collection="woocommerce/product-collection/related"] .wc-block-components-product-button__button:hover { border-color:var(--gn-pink-strong); color:#fff; background:var(--gn-pink-strong); }
.single-product .woocommerce-tabs { padding-top:24px; border-top:1px solid var(--gn-line); }
.single-product .woocommerce-tabs ul.tabs { padding:0; border:0; }
.single-product .woocommerce-tabs ul.tabs li { border-color:var(--gn-line); border-radius:10px 10px 0 0; background:var(--gn-linen); }
.single-product .woocommerce-tabs ul.tabs li.active { background:#fff; }
.single-product .woocommerce-tabs .panel { padding:clamp(16px,3vw,32px); border:1px solid var(--gn-line); border-radius:0 12px 12px; background:#fff; }
.woocommerce-cart-form .shop_table,.cart_totals,.wc-block-cart__main,.wc-block-cart__sidebar,.wc-block-checkout__main,.wc-block-checkout__sidebar { border:1px solid var(--gn-line); border-radius:var(--gn-radius); background:#fff; }
.cart_totals,.wc-block-cart__sidebar,.wc-block-checkout__sidebar { padding:22px; }
.cart_totals .order-total .amount { font:800 20px var(--font-heading); }
.wc-proceed-to-checkout .checkout-button { width:100%; min-height:50px; }
.woocommerce-message,.woocommerce-info { border-top-color:var(--gn-nude); }
.woocommerce-message::before,.woocommerce-info::before { color:var(--gn-brown); }

/* Account page widgets and site footer. */
.woocommerce-MyAccount-navigation { display:none; }
.woocommerce-account .woocommerce-MyAccount-content { float:none; width:100%; }
.account-menu-icon .elementor-icon-box-wrapper { display:flex; min-height:58px; padding:10px 16px; align-items:center; gap:12px; border:1px solid var(--gn-line); border-radius:var(--gn-radius); background:#fff; box-shadow:0 4px 12px rgba(0,0,0,.05); }
.account-menu-icon .elementor-icon-box-title { margin:0; }
.account-menu-icon .elementor-icon-box-title a { color:var(--gn-ink); text-decoration:none; }
.site-footer { box-sizing:border-box; width:100%; max-width:none; padding:48px 22px 24px; border-top:1px solid #2f2b2d; color:#d7d3d5; background:var(--gn-ink); }
.site-footer p { color:#b9b4b7; font-size:14px; }
.site-footer h3,.site-footer h4 { color:#ffffff; }
.site-footer h4 { margin:0 0 12px; padding-bottom:10px; border-bottom:1px solid rgba(232,69,139,.45); font-size:15px; }
.site-footer a { color:#e3dfe1; line-height:2; text-decoration:none; }
.site-footer a:hover { color:#fff; }
.footer-cols,.footer-copy { max-width:1240px; margin-inline:auto; }
.footer-cols { gap:40px; }
.footer-brand { margin:0 0 12px; font-size:22px; }
.footer-brand a { color:#fff; }
.footer-copy { margin-top:28px!important; padding-top:18px; border-top:1px solid rgba(232,69,139,.3); font-size:13px; }
.gtranslate_wrapper { z-index:90; }

@media(max-width:1050px) {
  .woocommerce ul.products,ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  .woocommerce .wc-block-product-template__responsive { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:16px!important; }
  .home .gh-card,.home .home-section .woocommerce ul.products li.product { flex:0 0 calc((100% - 36px)/3); }
  .home .gh-card,.home .gn-rail .gh-card { flex-basis:calc((100% - 36px)/3); }
  .home .gh-cats__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:782px) {
  .header-main { min-height:0; padding:12px 16px; flex-wrap:wrap!important; gap:12px; }
  .header-search { order:3; max-width:none; flex:1 1 100%; }
  .header-nav { padding:4px 10px; }
  .main-nav { justify-content:flex-start; }
  .single-product main#wp--skip-link--target>.wp-block-columns.alignwide { grid-template-columns:minmax(0,1fr)!important; gap:18px!important; }
  .single-product main#wp--skip-link--target { padding:24px 16px 48px; }
  .single-product .woocommerce-tabs,.single-product .related,.single-product .upsells { grid-column:auto; }
}
@media(max-width:720px) {
  .site-main { padding:24px 16px 48px; }
  .woocommerce ul.products,ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .woocommerce .wc-block-product-template__responsive { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important; }
  .home .home-section .woocommerce ul.products li.product { flex:0 0 calc((100% - 12px)/2); }
  .home .gh-card { flex-basis:calc((100% - 12px)/2); }
  .home-section { padding:44px 16px; }
  .home .gh-sec-head { align-items:center; margin-bottom:18px; }
  .home .gh-h-section,.home .section-title { font-size:28px; }
  .home .gh-sec-tools { gap:8px; }
  .home .gh-link { font-size:12px; }
  .home .gh-arrow,.gn-arrow { width:34px; height:34px; flex-basis:34px; }
  .home .gh-track { gap:12px; }
  .home .gh-card,.home .gn-rail .gh-card { flex-basis:calc((100% - 12px)/2); }
  .home .gh-cats__grid { gap:10px; }
  .home .gh-cat { padding:13px; }
  .home .gh-cat__text { padding-right:24px; }
  .home .gh-cat__text strong { font-size:20px; }
  .home .gn-product-carousel .gn-arrow { display:none; }
  .home .gn-rail-shell { gap:6px; }
  .home .gn-rail { gap:12px; }
  .gn-category-card { flex-basis:145px; }
  .gn-search-form { flex-wrap:wrap; }
  .gn-search-form button { width:100%; }
  .single-product div.product .summary { padding:20px; }
  .footer-cols { gap:20px; }
}
@media(max-width:480px) {
  .home .gh-sec-head { align-items:flex-start; }
  .home .gh-sec-tools .gh-link { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}

/* =====================================================================
   v1.10 — palette (pink / white / gray / black), tighter vertical rhythm,
   consistent cards, About block.
   ===================================================================== */

/* --- Global ---------------------------------------------------------- */
body { background:#fff; }
a:hover { color:var(--gn-pink-strong); }
:focus-visible { outline-color:var(--gn-pink); }

/* --- Header ---------------------------------------------------------- */
.site-header { background:#fff; box-shadow:0 2px 14px rgba(21,19,20,.06); }
.topbar { background:var(--gn-ink); }
.header-nav { background:#fff; }
.main-nav .wp-block-navigation-item__content { color:var(--gn-brown); }
.main-nav .wp-block-navigation-item__content:hover,.main-nav .wp-block-navigation-item__content:focus-visible { color:var(--gn-ink); }
.main-nav .nav-sale .wp-block-navigation-item__content { color:var(--gn-brown); }
.header-search .wp-block-search__inside-wrapper:focus-within { border-color:var(--gn-pink); }
.header-actions .gn-header-wishlist:hover,.header-actions .gn-header-wishlist:focus-visible { color:var(--gn-pink-strong); }
.header-actions .wc-block-mini-cart__badge { color:#fff!important; background:var(--gn-pink-strong)!important; }

/* --- Vertical rhythm: one source of truth ---------------------------- */
.home > * { margin-block:0; }
.home .home-section { padding-block:clamp(24px,3vw,36px); }
.home .home-band { box-sizing:border-box; width:100%; max-width:none; padding:clamp(36px,4.4vw,52px) max(var(--gn-gutter),calc((100% - 1224px)/2)); }
.home .home-band--gray { background:var(--gn-linen); }
.home .gh-sec-head { margin:0 0 20px; }
.home .gh-h-section,.home .section-title { margin:0; }
.home .gh-sec-head + * { margin-top:0; }
.home .gn-categories { padding-top:clamp(28px,3.4vw,40px); }
.home p:empty { display:none; }

/* --- Hero ------------------------------------------------------------ */
.home .hero { box-sizing:border-box; padding:clamp(28px,4.2vw,56px) max(var(--gn-gutter),calc((100% - 1224px)/2)); background:linear-gradient(135deg,#fdf0f5 0%,#fbe1ed 100%); }
.hero-title { margin:0 0 14px; }
.hero-text { margin:0 0 22px; color:#4f4a4d; }
.home .hero .wp-block-button:not(.is-style-outline) .wp-block-button__link { border-color:var(--gn-pink-strong); background:var(--gn-pink-strong); }
.home .hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { border-color:var(--gn-ink); background:var(--gn-ink); }
.hero-art { position:relative; width:100%; max-width:360px; aspect-ratio:1; margin-inline:auto; }
.hero-art::before,.hero-art::after { position:absolute; content:""; border-radius:50%; }
.hero-art::before { inset:4% 20% 24% 0; background:radial-gradient(circle at 30% 28%,#ffd6e8 0%,#e8458b 78%); box-shadow:0 22px 46px rgba(196,32,105,.22); }
.hero-art::after { inset:36% 0 0 40%; background:radial-gradient(circle at 30% 28%,#fff 0%,#ececec 55%,#9d999b 100%); box-shadow:0 18px 38px rgba(21,19,20,.14); }

/* --- Buttons --------------------------------------------------------- */
.wp-block-button__link:hover,.wp-element-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce .button.alt:hover,.checkout-button:hover,.single_add_to_cart_button:hover,.wc-block-components-button:not(.is-link):hover,.wpforms-container .wpforms-submit:hover,.gn-search-form button:hover { border-color:var(--gn-pink-strong); background:var(--gn-pink-strong); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { border-color:var(--gn-ink); background:var(--gn-ink); }
.wp-block-button.is-style-pink .wp-block-button__link { border-color:var(--gn-pink-strong); background:var(--gn-pink-strong); }
.wp-block-button.is-style-pink .wp-block-button__link:hover { border-color:var(--gn-ink); background:var(--gn-ink); }
.home .gh-arrow:hover:not(:disabled),.gn-arrow:hover { border-color:var(--gn-pink-strong); background:var(--gn-pink-strong); }

/* --- Product cards: one design for woo loop + theme rails ------------- */
.woocommerce ul.products li.product,ul.products li.product,.home .gh-card { border-radius:var(--gn-radius); border-color:var(--gn-line); background:#fff; }
.woocommerce ul.products li.product:hover,.home .gh-card:hover { border-color:var(--gn-pink); box-shadow:0 14px 30px -16px rgba(196,32,105,.35); transform:translateY(-3px); }
/* product photos have white backgrounds: no tinted frame around them */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link img,.wc-block-product-template .wc-block-components-product-image img,.wc-block-grid__product-image img,.home .gh-card__img img { padding:10px; background:#fff; mix-blend-mode:normal; }
.home .gh-card__img { background:#fff; }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,.home .gh-card__img { border-bottom:1px solid var(--gn-linen); }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link { position:relative; border-bottom:0; }
.woocommerce ul.products li.product .price,.home .gh-card__price { color:var(--gn-ink); }
.woocommerce ul.products li.product .price ins,.home .gh-card__price ins,.single-product .summary .price ins { color:var(--gn-pink-strong); }
/* price on its own line, button always full-width underneath: all cards align */
.woocommerce ul.products li.product .price { padding:8px 14px 0; }
.woocommerce ul.products li.product>p { flex-direction:column; flex-wrap:nowrap; align-items:stretch; gap:10px; margin:auto 14px 0; padding-top:0; }
.woocommerce ul.products li.product>p .price { padding:8px 0 0; }
.woocommerce ul.products li.product>p>a.woocommerce-LoopProduct-link { flex:0 0 auto; border:0; }
.woocommerce ul.products li.product>a.button { align-self:stretch; margin:10px 14px 0; }
.woocommerce ul.products li.product .button { width:auto; max-width:100%; border-color:var(--gn-ink); color:var(--gn-ink); background:#fff; }
.home .gh-card__add { box-sizing:border-box; width:100%; max-width:100%; border-color:var(--gn-ink); color:var(--gn-ink); background:#fff; }
.woocommerce ul.products li.product .button:hover,.home .gh-card__add:hover { border-color:var(--gn-pink-strong); color:#fff; background:var(--gn-pink-strong); }
.home .gh-card__foot { flex-direction:column; align-items:stretch; gap:10px; }
.home .gh-card__price { min-height:calc(1.4em + 0px); }
/* sale badge in brand pink */
.woocommerce ul.products li.product .onsale { position:absolute; z-index:2; top:10px; left:10px; display:inline-flex!important; min-height:0; min-width:0; margin:0; padding:4px 10px; border-radius:999px; color:#fff; background:var(--gn-pink-strong); font:700 11px/1.2 var(--font-body); letter-spacing:.04em; text-transform:uppercase; }
.woocommerce ul.products li.product .onsale,.wc-block-product-template__responsive>li.wc-block-product .wc-block-components-product-sale-badge { position:absolute!important; z-index:2; top:10px!important; left:10px!important; right:auto!important; bottom:auto!important; display:inline-flex!important; box-sizing:border-box; width:max-content!important; max-width:calc(100% - 20px); min-width:0!important; min-height:0!important; height:auto!important; margin:0!important; padding:5px 10px!important; align-items:center; justify-content:center; border:0; border-radius:999px; color:#fff!important; background:var(--gn-pink-strong)!important; font:700 11px/1.2 var(--font-body)!important; letter-spacing:.04em; text-align:center; text-transform:uppercase; white-space:nowrap; }

/* --- Carousel arrows overlay the cards: cards line up with headings ---- */
.home .gn-product-carousel,.home .gn-rail-shell { position:relative; display:block; }
.home .gn-product-carousel .gn-arrow,.home .gn-rail-shell .gn-arrow { position:absolute; z-index:3; top:34%; transform:translateY(-50%); box-shadow:0 6px 16px rgba(21,19,20,.14); }
.home .gn-rail-shell .gn-arrow { top:38%; }
.home .gn-arrow[data-direction="-1"] { left:-20px; }
.home .gn-arrow[data-direction="1"] { right:-20px; }
.home .gn-rail-shell>p { display:contents; }
.home .gn-rail-shell>p:empty { display:none; }
.home .gn-rail,.home .home-section .woocommerce ul.products { padding-top:6px; padding-bottom:12px; }
.home .gn-rail { margin:0; }

/* --- Categories ------------------------------------------------------ */
.gn-category-card { transition:transform .25s ease; }
.gn-category-card:hover { transform:translateY(-3px); }
.gn-category-media { border-color:var(--gn-line); background:var(--gn-pink-pale); transition:border-color .2s; }
.gn-category-card:hover .gn-category-media { border-color:var(--gn-pink); }
.gn-category-card:hover .gn-category-name { color:var(--gn-pink-strong); }
.gn-image-empty { border-color:var(--gn-pink-soft); background:#fff; }
.gn-category-name { margin-top:10px; }
.home .gh-cat { background:#e8e6e7; }

/* --- Best sellers: black band, white cards --------------------------- */
.home .gn-bestsellers { color:#fff; background:var(--gn-ink); }
.home .gn-bestsellers::before { display:none; }
.home .gn-bestsellers .gh-h-section,.home .gn-bestsellers .section-title,.home .gn-bestsellers .gh-link,.home .gn-bestsellers .gh-link a { color:#fff; }
.home .gn-bestsellers .gh-link a:hover { color:#ffb3d1; }
.home .gn-bestsellers .gn-arrow { border-color:#fff; color:var(--gn-ink); background:#fff; }
.home .gn-bestsellers .gn-arrow:hover { border-color:var(--gn-pink-strong); color:#fff; background:var(--gn-pink-strong); }
.home .gn-bestsellers .gh-card { border-color:#fff; background:#fff; }
.home .gn-bestsellers .gh-card:hover { border-color:var(--gn-pink); }
.home .gn-bestsellers .gh-card__title,.home .gn-bestsellers .gh-card__price { color:var(--gn-ink); }
.home .gn-bestsellers .gh-card__price del { color:var(--gn-muted); }
.home .gn-bestsellers .gh-card__price ins { color:var(--gn-pink-strong); }
.home .gn-bestsellers .gh-card__add { border-color:var(--gn-ink); color:var(--gn-ink); background:#fff; }
.home .gn-bestsellers .gh-card__add:hover { border-color:var(--gn-pink-strong); color:#fff; background:var(--gn-pink-strong); }

/* --- Brands: 4 per row, calm text tiles ------------------------------ */
.gn-brands-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.gn-brand-card { display:flex; min-width:0; min-height:68px; padding:12px 16px; align-items:center; justify-content:center; border:1px solid var(--gn-line); border-radius:var(--gn-radius); color:var(--gn-ink); background:#fff; font:700 16px/1.3 var(--font-heading); text-align:center; text-decoration:none; overflow-wrap:anywhere; transition:color .18s,border-color .18s,background .18s; }
.gn-brand-card:hover,.gn-brand-card:focus-visible { border-color:var(--gn-pink); color:var(--gn-pink-strong); background:var(--gn-pink-pale); }

/* --- About block ----------------------------------------------------- */
.home .home-about { background:#fff; }
.home .about-cols { max-width:1224px; margin:0 auto; gap:clamp(24px,5vw,72px); align-items:center; }
.home .about-eyebrow { margin:0 0 10px; color:var(--gn-pink-strong); font:700 12px/1.2 var(--font-heading); letter-spacing:.16em; text-transform:uppercase; }
.home .home-about .section-title { margin-bottom:16px; }
.home .home-about p { margin:0 0 14px; color:#4f4a4d; font-size:16px; line-height:1.7; }
.home .home-about p.about-tagline { margin:6px 0 22px; color:var(--gn-ink); font:700 16px/1.5 var(--font-heading); }
.home .about-media { position:relative; z-index:0; max-width:520px; margin:0 0 0 auto; }
.home .about-media::before { position:absolute; z-index:-1; inset:18px -18px -18px 18px; border-radius:22px; background:var(--gn-pink-soft); content:""; }
.home .about-media img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:22px; }

/* --- Benefits: three-four soft cards --------------------------------- */
.home .benefits { box-sizing:border-box; display:grid!important; width:min(100%,1320px); max-width:1320px; margin-inline:auto; grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important; gap:16px; padding-top:clamp(28px,3.4vw,44px); padding-bottom:clamp(36px,4.4vw,52px); }
.home .benefit { box-sizing:border-box; min-width:0; margin:0; padding:22px 22px 24px; border:1px solid var(--gn-line); border-radius:var(--gn-radius); background:#fff; }
.home .benefit-icon { display:grid; width:44px; height:44px; margin-bottom:14px; place-items:center; border-radius:50%; color:var(--gn-pink-strong); background:var(--gn-pink-pale); }
.home .benefit-icon svg { display:block; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.home .benefit h3 { margin:0 0 6px; font-size:16px; line-height:1.35; }
.home .benefit p { margin:0; color:var(--gn-muted); font-size:14px; line-height:1.55; overflow-wrap:anywhere; }

/* --- Newsletter ------------------------------------------------------ */
.home .newsletter { border:0; background:var(--gn-pink-pale); }
.home .newsletter h2 { margin:0 0 18px; text-align:center; }
.home .newsletter .wpforms-container .wpforms-form { justify-content:center; }
.home .newsletter .wpforms-container input[type=email]:focus { border-color:var(--gn-pink); outline:0; box-shadow:0 0 0 3px var(--gn-pink-soft); }

/* --- Footer ---------------------------------------------------------- */
.site-footer { padding-top:40px; border-top:3px solid var(--gn-pink); background:var(--gn-ink); }
.site-footer a:hover { color:#ff9ec6; }
.footer-brand a,.footer-brand { color:#fff; }

/* --- Responsive ------------------------------------------------------ */
@media(max-width:1050px) {
  .home .home-band { padding-inline:max(var(--gn-gutter),calc((100% - 1224px)/2)); }
  .home .about-media { max-width:420px; }
}
@media(max-width:900px) {
  .home .about-cols { flex-direction:column; gap:28px; }
  .home .about-cols>.wp-block-column { flex-basis:100%!important; width:100%; }
  .home .about-media { max-width:480px; margin:0 auto; }
  .home .about-media::before { inset:14px -10px -14px 10px; }
  .gn-brands-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:782px) {
  .home .gn-product-carousel .gn-arrow,.home .gn-rail-shell .gn-arrow { display:none; }
}
@media(max-width:720px) {
  .home .home-section { padding-block:22px; }
  .home .home-band { padding-block:32px; }
  .home .benefits { gap:12px; }
  .home .benefit { padding:18px; }
  .gn-brands-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .gn-brand-card { min-height:60px; font-size:15px; }
}

/* Product names can wrap without being clipped. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-product-template__responsive > li.wc-block-product > .wp-block-post-title,
.home .gh-card__title {
	display: block;
	min-height: 0;
	max-height: none;
	overflow: visible;
	overflow-wrap: break-word;
	word-break: normal;
	-webkit-line-clamp: unset;
}
.home .gh-card__info { min-height: 0; }
.wc-block-product-template__responsive > li.wc-block-product > .wp-block-woocommerce-product-price { margin-top: auto !important; }

/* Catalog layout: the Woo collection contains a notices block before filters and products. */
.gn-catalog-layout {
	box-sizing: border-box;
	display: grid;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	grid-template-columns: minmax(205px, 240px) minmax(0, 1fr);
	align-items: start;
	gap: clamp(18px, 2.2vw, 30px);
	margin: 24px 0 0;
}
.gn-catalog-layout > .wc-block-components-notices {
	box-sizing: border-box;
	grid-column: 1 / -1;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}
.gn-catalog-results { width: 100%; max-width: 100%; min-width: 0; }
.gn-catalog-results > .wp-block-woocommerce-product-collection {
	display: block;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
	margin-inline: 0 !important;
}

/* Fit catalog cards to the available results column, with a real minimum card width. */
.gn-catalog-results .wc-block-product-template__responsive,
body.post-type-archive-product .wp-block-woocommerce-product-collection .wc-block-product-template__responsive,
body.tax-product_cat .wp-block-woocommerce-product-collection .wc-block-product-template__responsive,
body.tax-product_tag .wp-block-woocommerce-product-collection .wc-block-product-template__responsive,
body.tax-product_brand .wp-block-woocommerce-product-collection .wc-block-product-template__responsive,
body[class*="tax-pa_"] .wp-block-woocommerce-product-collection .wc-block-product-template__responsive {
	display: grid !important;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)) !important;
	align-items: stretch;
	gap: 20px !important;
}
.gn-catalog-results .wc-block-product-template__responsive > li.wc-block-product,
body.post-type-archive-product .wp-block-woocommerce-product-collection .wc-block-product-template__responsive > li.wc-block-product,
body.tax-product_cat .wp-block-woocommerce-product-collection .wc-block-product-template__responsive > li.wc-block-product {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
}
.gn-catalog-results .wc-block-components-product-button {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: auto 0 0 !important;
	padding: 12px 14px 14px;
}
.gn-catalog-results .wc-block-components-product-button__button {
	box-sizing: border-box;
	display: flex !important;
	width: 100% !important;
	max-width: 100%;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 10px 12px;
	white-space: normal;
	overflow-wrap: break-word;
}

/* Catalog filters use live product categories, brands, prices, stock, and attributes. */
.gn-filter-disclosure { display: block; min-width: 0; }
.gn-filter-disclosure > summary { display: none; }
.gn-filter-form {
	box-sizing: border-box;
	display: block;
	width: 100%;
	min-width: 0;
	padding: 18px;
	border: 1px solid var(--gn-line);
	border-radius: var(--gn-radius);
	background: #fff;
}
.gn-filter-title { margin: 0 0 18px; font: 700 17px/1.3 var(--font-heading); letter-spacing: 0; }
.gn-filter-field { display: grid; min-width: 0; margin: 0 0 16px; gap: 7px; color: var(--gn-ink); font-size: 13px; font-weight: 600; }
.gn-filter-field select,.gn-filter-field input[type="number"] {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 42px;
	padding: 8px 11px;
	border: 1px solid var(--gn-line);
	border-radius: 8px;
	color: var(--gn-ink);
	background: #fff;
	font: 400 13px/1.35 var(--font-body);
}
.gn-filter-field select:focus,.gn-filter-field input:focus { border-color: var(--gn-pink); outline: 0; box-shadow: 0 0 0 3px var(--gn-pink-pale); }
.gn-filter-price { padding: 0; border: 0; }
.gn-filter-price legend { margin-bottom: 7px; padding: 0; font-size: 13px; font-weight: 600; }
.gn-price-inputs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.gn-price-inputs input { width: 100%; }
.gn-filter-stock,.gn-filter-options label { display: flex; min-width: 0; align-items: center; gap: 9px; color: var(--gn-ink); font-size: 13px; line-height: 1.4; }
.gn-filter-stock { margin: 0 0 16px; }
.gn-filter-stock input,.gn-filter-options input { width: 16px; height: 16px; margin: 0; flex: 0 0 16px; accent-color: var(--gn-pink-strong); }
.gn-filter-attribute { border-top: 1px solid var(--gn-line); }
.gn-filter-attribute > summary { position: relative; padding: 12px 22px 12px 0; color: var(--gn-ink); cursor: pointer; font-size: 13px; font-weight: 600; list-style: none; }
.gn-filter-attribute > summary::-webkit-details-marker { display: none; }
.gn-filter-attribute > summary::after { position: absolute; right: 2px; content: "+"; color: var(--gn-muted); font-size: 18px; font-weight: 400; }
.gn-filter-attribute[open] > summary::after { content: "−"; }
.gn-filter-options { display: grid; max-height: 190px; padding: 0 2px 12px; gap: 9px; overflow: auto; overscroll-behavior: contain; }
.gn-filter-options label span { min-width: 0; overflow-wrap: anywhere; }
.gn-filter-submit {
	display: inline-flex;
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	margin: 18px 0 0;
	padding: 10px 16px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--gn-pink-strong);
	border-radius: 999px;
	color: #fff;
	background: var(--gn-pink-strong);
	font: 700 13px/1.25 var(--font-body);
	cursor: pointer;
	transition: background .18s,border-color .18s;
}
.gn-filter-submit:hover { border-color: var(--gn-ink); background: var(--gn-ink); }
.gn-filter-clear { display: block; margin-top: 12px; color: var(--gn-muted); font-size: 13px; text-align: center; text-decoration: underline; text-underline-offset: 3px; }
.gn-filter-clear:hover { color: var(--gn-pink-strong); }
@media(max-width:1050px) {
	.gn-catalog-layout { grid-template-columns: minmax(0,1fr); gap: 18px; }
	.gn-filter-form { padding: 15px; }
}
@media(max-width:720px) {
	.gn-catalog-layout { grid-template-columns: minmax(0,1fr); gap: 14px; margin-top: 16px; }
	.gn-filter-disclosure > summary {
		display: flex;
		min-height: 44px;
		padding: 0 16px;
		align-items: center;
		justify-content: space-between;
		border: 1px solid var(--gn-line);
		border-radius: 999px;
		color: var(--gn-ink);
		background: #fff;
		font: 700 14px/1.2 var(--font-body);
		list-style: none;
		cursor: pointer;
	}
	.gn-filter-disclosure > summary::-webkit-details-marker { display: none; }
	.gn-filter-disclosure[open] > summary { border-color: var(--gn-pink-soft); border-radius: 12px 12px 0 0; }
	.gn-filter-disclosure[open] > summary::after { content: "−"; }
	.gn-filter-disclosure:not([open]) > summary::after { content: "+"; color: var(--gn-pink-strong); font-size: 20px; font-weight: 400; }
	.gn-filter-disclosure > .gn-filter-form { display: none; margin-top: 0; border-radius: 0 0 var(--gn-radius) var(--gn-radius); }
	.gn-filter-disclosure[open] > .gn-filter-form { display: block; }
	.gn-filter-title { margin-bottom: 14px; }
}

/* GNails header follows document flow on every template, including My Account. */
html body .wp-site-blocks,
html body .wp-site-blocks > .site-header,
html body .site-header,
html body .site-header:has(.header-main),
html body .site-header:has(.gn-header-main) {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  inset: auto !important;
  z-index: auto !important;
}
html body .site-header { overflow: visible; transform: none !important; }