:root {
  --gm-ink: #27313a;
  --gm-coral: #ee6c63;
  --gm-blue: #2f6f8f;
  --gm-sky: #eaf3fc;
  --gm-mint: #b7d8c3;
  --gm-sage: #edf5ef;
  --gm-yellow: #f3c758;
  --gm-plum: #6e3f5d;
  --gm-paper: #fff9f1;
  --gm-pink: #fcecef;
  --gm-line: #e8dfd6;
}

html { scroll-behavior: smooth; }
body { background: var(--gm-paper); color: var(--gm-ink); font-family: "DM Sans", Arial, sans-serif; letter-spacing: 0; }
h1, h2, h3, h4 { font-family: "Fraunces", Georgia, serif; letter-spacing: 0; }
a { color: inherit; }
.gm-eyebrow { margin: 0 0 10px; font-size: 13px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; }
.gm-lead { max-width: 690px; font-size: 1.12em; line-height: 1.55; }
.gm-logo { display: inline-flex; align-items: center; gap: 8px; color: var(--gm-ink); line-height: 1; text-decoration: none; white-space: nowrap; }
.gm-logo > img { display: block; flex: 0 0 38px; width: 38px; height: 38px; object-fit: contain; }
.gm-logo-copy { display: grid; gap: 2px; padding: 0; color: inherit; }
.gm-logo-copy strong { color: inherit; font-family: "Fraunces",Georgia,serif; font-size: 21px; font-weight: 700; line-height: 1; }
.gm-logo-copy small { color: inherit; font-family: "DM Sans",Arial,sans-serif; font-size: 9px; font-weight: 700; letter-spacing: 0; line-height: 1; }
.gm-logo--light { color: #fff9f1; }
.gm-brand-story-mark img { display: block; width: min(100%,340px); aspect-ratio: 1/1; margin: 0 auto; object-fit: contain; }
.elementor-button { position: relative; overflow: hidden; transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease; }
.gm-premium-button .elementor-button { display: inline-flex; align-items: center; justify-content: center; padding: 13px 24px!important; border-radius: 6px!important; line-height: 1.2!important; white-space: nowrap; }
.elementor-button::after { content: "→"; display: inline-block; margin-left: 9px; transition: transform .22s ease; }
.elementor-button:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(32,36,44,.18); }
.elementor-button:hover::after { transform: translateX(4px); }
.gm-fx-button .elementor-button { isolation: isolate; }
.gm-fx-button .elementor-button::before { position: absolute; inset: 0; z-index: -1; background: rgba(255,255,255,.13); content: ""; transform: translateX(-105%); transition: transform .38s ease; }
.gm-fx-button .elementor-button:hover::before { transform: translateX(0); }
.gm-lift-image { overflow: hidden; border-radius: 8px; }
.gm-lift-image img { transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .35s ease; }
.gm-lift-image:hover img { filter: saturate(1.06); transform: scale(1.035); }

.woocommerce ul.products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin: 0; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto!important; margin: 0!important; padding: 0 0 20px; background: #fff; border: 1px solid var(--gm-line); border-radius: 8px; overflow: hidden; box-shadow: 0 10px 28px rgba(39,49,58,.06); transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.woocommerce ul.products li.product:hover { border-color: #d5c9c0; box-shadow: 0 18px 38px rgba(39,49,58,.13); transform: translateY(-7px); }
.woocommerce ul.products li.product img { width: 100%; aspect-ratio: 1/1; object-fit: cover; margin: 0 0 18px; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.woocommerce ul.products li.product:hover img { transform: scale(1.04); }
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .button { margin-left: 18px; margin-right: 18px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--gm-ink); font-family: "DM Sans",Arial,sans-serif; font-size: 17px; font-weight: 700; }
.woocommerce ul.products li.product .price { color: var(--gm-blue); font-size: 16px; font-weight: 700; }
.woocommerce ul.products li.product .button,.single_add_to_cart_button,.wc-block-components-button { background: var(--gm-coral)!important; color: #fff!important; border: 0!important; border-radius: 6px!important; font-weight: 700!important; padding: 13px 18px!important; }
.woocommerce span.onsale { min-width: auto; min-height: auto; padding: 5px 10px; border-radius: 4px; background: var(--gm-blue); }

.woocommerce div.product { max-width: 1240px; margin: 54px auto; padding: 0 24px; }
.woocommerce div.product .product_title { font-family: "Fraunces",Georgia,serif; font-size: 44px; }
.woocommerce div.product > .product_title { width: 100%; margin: 0 0 28px; }
.woocommerce div.product .gm-product-title { margin: 0 0 14px; color: var(--gm-ink); font-family: "Fraunces",Georgia,serif; font-size: 44px; line-height: 1.08; }
.woocommerce div.product p.price { color: var(--gm-blue); font-size: 24px; font-weight: 700; }
.gm-personalization { max-width: 420px; margin: 20px 0; padding: 16px; background: var(--gm-paper); border: 1px solid var(--gm-line); border-radius: 6px; }
.gm-personalization label { display: block; margin-bottom: 8px; color: var(--gm-ink); }
.gm-personalization label span,.gm-personalization small { color: #626670; }
.gm-personalization input { width: 74px; height: 48px; padding: 8px 12px; border: 2px solid #b8b5ae; border-radius: 5px; background: #fff; color: var(--gm-ink); font-size: 24px; font-weight: 700; text-align: center; text-transform: uppercase; }
.gm-personalization small { display: block; margin-top: 8px; font-size: 13px; line-height: 1.4; }
.woocommerce-tabs,.related.products { clear: both; padding-top: 40px; }
.woocommerce-cart .site-main,.woocommerce-checkout .site-main,.woocommerce-account .site-main,.post-type-archive-product .site-main { max-width: 1240px; margin: 50px auto; padding: 0 24px; }

footer a,.elementor-location-footer a { color: #f7edee; text-decoration: none; }
footer a:hover,.elementor-location-footer a:hover { color: var(--gm-yellow); }
.elementor-location-header,.elementor-location-header.gm-forced-header { position: sticky; top: 0; z-index: 90; border-bottom: 1px solid var(--gm-line); background: var(--gm-paper)!important; box-shadow: 0 3px 18px rgba(39,49,58,.07); }
body.admin-bar .elementor-location-header { top: 32px; }
.elementor-location-header.gm-forced-header .elementor-section.gm-header-main { min-height: 72px; background: var(--gm-paper)!important; }
.elementor-location-header.gm-forced-header .elementor-section.gm-announcement { min-height: 0; background: var(--gm-plum)!important; }
.gm-announcement p,.gm-footer-bottom p { margin: 0; }
.elementor-location-header.gm-forced-header .gm-header-main .gm-logo { color: var(--gm-ink)!important; }
.gm-header-main .elementor-nav-menu--main .elementor-item { color: var(--gm-ink)!important; }
.gm-header-main .elementor-nav-menu--main .elementor-item:hover,.gm-header-main .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--gm-coral)!important; }
.gm-header-main .gm-header-action .elementor-widget-wrap { justify-content: flex-end; }
.gm-header-main .gm-header-action .elementor-button { min-width: 108px; padding: 11px 18px!important; border-radius: 6px!important; text-align: center; }
.elementor-location-header .elementor-nav-menu a { position: relative; }
.elementor-location-header .elementor-nav-menu a::after { position: absolute; right: 14px; bottom: 9px; left: 14px; height: 2px; background: var(--gm-coral); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
.elementor-location-header .elementor-nav-menu a:hover::after,.elementor-location-header .elementor-nav-menu a.elementor-item-active::after { transform: scaleX(1); }
.home main > .elementor > .elementor-section:first-child { min-height: 560px!important; }

.gm-premium-band { overflow: hidden; }
.gm-premium-image,.gm-editorial-photo { overflow: hidden; border-radius: 8px; }
.gm-premium-image img,.gm-editorial-photo img { display: block; }
.gm-editorial-photo img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.gm-config-product img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.gm-hero-copy .elementor-widget-wrap { max-width: none; }
.gm-hero-note { margin: 14px 0 0; font-weight: 600; line-height: 1.45; }
.gm-trust-section .elementor-container { align-items: stretch; }
.gm-trust-section .elementor-column { width: 25%!important; }
.gm-trust-section .elementor-column + .elementor-column { border-left: 1px solid rgba(39,49,58,.1); }
.gm-trust-section .elementor-widget-wrap { align-content: center; }
.gm-trust-item .elementor-icon { display: grid; width: 54px; height: 54px; margin: 0 auto 12px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.72); box-shadow: 0 6px 18px rgba(39,49,58,.07); }
.gm-trust-item .elementor-icon-box-title { margin-bottom: 5px; }
.gm-premium-list { margin: 20px 0 22px; padding: 0; list-style: none; }
.gm-premium-list li { position: relative; margin: 0 0 12px; padding-left: 30px; }
.gm-premium-list li::before { position: absolute; top: 2px; left: 0; display: grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; background: var(--gm-mint); color: var(--gm-ink); content: "✓"; font-size: 12px; font-weight: 800; }
.gm-config-spotlight .elementor-container,.gm-lifestyle-section .elementor-container,.gm-craft-section .elementor-container { align-items: center; }
.gm-steps-section .elementor-container { align-items: stretch; gap: 0; }
.gm-premium-card > .elementor-column-wrap,.gm-premium-card > .elementor-widget-wrap { height: 100%; margin: 0 7px; padding: 30px!important; border: 1px solid var(--gm-line); border-radius: 8px; background: #fff; box-shadow: 0 10px 28px rgba(39,49,58,.08); transition: transform .24s ease,box-shadow .24s ease; }
.gm-premium-card:hover > .elementor-column-wrap,.gm-premium-card:hover > .elementor-widget-wrap { box-shadow: 0 16px 34px rgba(39,49,58,.12); transform: translateY(-4px); }
.gm-step-number { display: inline-grid; width: 38px; height: 38px; margin: 0 0 18px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-weight: 800; }
.gm-home-faq h3 { margin-top: 22px; color: var(--gm-plum); font-family: "DM Sans",Arial,sans-serif; font-size: 18px; }
.gm-home-faq h3:first-child { margin-top: 0; }
.gm-page-intro .gm-lead { max-width: 790px; }
.gm-config-intro-action .elementor-widget-wrap,.gm-conversion-band .gm-cta-action .elementor-widget-wrap { justify-content: center; }
.gm-footer-main p { line-height: 1.9; }
.gm-footer-note { text-align: right; }
.elementor-location-footer .gm-footer-main { background: #4b3042!important; }
.elementor-location-footer .gm-footer-bottom { background: #3d2937!important; }

@media (min-width: 768px) {
  .elementor-col-18 { width: 18%!important; }
  .elementor-col-20 { width: 20%!important; }
  .elementor-col-21 { width: 21%!important; }
  .elementor-col-22 { width: 22%!important; }
  .elementor-col-25 { width: 25%!important; }
  .elementor-col-30 { width: 30%!important; }
  .elementor-col-32 { width: 32%!important; }
  .elementor-col-33 { width: 33%!important; }
  .elementor-col-34 { width: 34%!important; }
  .elementor-col-35 { width: 35%!important; }
  .elementor-col-38 { width: 38%!important; }
  .elementor-col-40 { width: 40%!important; }
  .elementor-col-42 { width: 42%!important; }
  .elementor-col-46 { width: 46%!important; }
  .elementor-col-48 { width: 48%!important; }
  .elementor-col-50 { width: 50%!important; }
  .elementor-col-52 { width: 52%!important; }
  .elementor-col-54 { width: 54%!important; }
  .elementor-col-58 { width: 58%!important; }
  .elementor-col-60 { width: 60%!important; }
  .elementor-col-62 { width: 62%!important; }
  .elementor-col-68 { width: 68%!important; }
  .elementor-col-70 { width: 70%!important; }
  .elementor-col-100 { width: 100%!important; }
}

.gm-story-section .gm-choice-panel > .elementor-column-wrap,.gm-story-section .gm-choice-panel > .elementor-widget-wrap { height: 100%; padding: 30px!important; border: 1px solid var(--gm-line); border-radius: 8px; background: #fff; box-shadow: 0 14px 32px rgba(39,49,58,.08); }
.gm-check-list { margin: 0 0 20px; padding: 0; list-style: none; }
.gm-check-list li { position: relative; margin: 0 0 14px; padding-left: 29px; }
.gm-check-list li::before { position: absolute; top: 1px; left: 0; width: 20px; height: 20px; border-radius: 50%; background: var(--gm-mint); color: var(--gm-ink); content: "✓"; font-size: 13px; font-weight: 700; line-height: 20px; text-align: center; }
.gm-source-note { margin-top: 22px; padding: 16px 18px; border-left: 4px solid var(--gm-blue); background: var(--gm-sky); font-size: 14px; }
.gm-source-note a { color: var(--gm-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.gm-reasons-section .gm-reason > .elementor-column-wrap,.gm-reasons-section .gm-reason > .elementor-widget-wrap { height: 100%; margin: 0 8px; padding: 28px!important; border-top: 5px solid var(--gm-coral); border-radius: 6px; background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.gm-reasons-section .gm-reason { width: 33.333%!important; }
.gm-reasons-section .gm-reason:nth-child(2) > .elementor-column-wrap,.gm-reasons-section .gm-reason:nth-child(2) > .elementor-widget-wrap { border-top-color: var(--gm-blue); }
.gm-reasons-section .gm-reason:nth-child(3) > .elementor-column-wrap,.gm-reasons-section .gm-reason:nth-child(3) > .elementor-widget-wrap { border-top-color: var(--gm-plum); }
.gm-reasons-section .gm-reason:hover > .elementor-column-wrap,.gm-reasons-section .gm-reason:hover > .elementor-widget-wrap { box-shadow: 0 15px 30px rgba(39,49,58,.11); transform: translateY(-5px); }
.gm-conversion-band { overflow: hidden; }
.gm-conversion-band .gm-cta-action .elementor-widget-wrap { justify-content: center; }
.gm-conversion-band .elementor-button { background: var(--gm-yellow)!important; color: var(--gm-ink)!important; }
.gm-product-grid .woocommerce ul.products li.product:nth-child(2n) { transition-delay: .04s; }
.gm-product-grid .woocommerce ul.products li.product:nth-child(3n) { transition-delay: .08s; }

.gm-configurator { --gm-thread: #2457d6; max-width: 1240px; margin: 0 auto; color: var(--gm-ink); }
.gm-configurator * { box-sizing: border-box; }
.gm-configurator__form { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(390px,.95fr); overflow: visible; border: 1px solid var(--gm-line); border-radius: 8px; background: #fff; box-shadow: 0 24px 58px rgba(39,49,58,.13); }
.gm-configurator__preview { min-width: 0; padding: 34px; border-right: 1px solid var(--gm-line); background: var(--gm-sage); }
.gm-preview-stage { position: sticky; top: 112px; overflow: hidden; width: 100%; aspect-ratio: 1/1; border: 1px solid #d9cec5; border-radius: 8px; background: #fff; box-shadow: 0 12px 30px rgba(39,49,58,.08); touch-action: none; }
.gm-preview-image { display: block; width: 100%; height: 100%; object-fit: cover; user-select: none; }
.gm-safe-zones { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.gm-safe-zone { position: absolute; top: var(--gm-zone-top); left: var(--gm-zone-left); width: var(--gm-zone-width); height: var(--gm-zone-height); border: 2px dashed rgba(47,111,143,.9); border-radius: 5px; background: rgba(255,255,255,.1); box-shadow: inset 0 0 0 1px rgba(255,255,255,.55); cursor: crosshair; pointer-events: auto; touch-action: none; }
.gm-safe-zone__label { position: absolute; right: -2px; bottom: calc(100% + 5px); padding: 3px 7px; border-radius: 3px; background: var(--gm-blue); color: #fff; font-size: 11px; font-weight: 700; line-height: 1.2; white-space: nowrap; }
.gm-design-layer { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.gm-embroidery { position: absolute; top: 76%; left: 50%; z-index: 2; display: inline-block; max-width: 94%; color: var(--gm-thread); font-size: 36px; font-weight: 800; line-height: .9; letter-spacing: 1px; text-align: center; white-space: nowrap; filter: drop-shadow(0 2px 1px rgba(0,0,0,.32)); cursor: grab; outline: none; pointer-events: auto; transform: translate(-50%,-50%); user-select: none; touch-action: none; -webkit-text-stroke: .8px rgba(32,36,44,.42); }
.gm-embroidery::after { position: absolute; inset: 0; color: transparent; content: attr(data-text); pointer-events: none; }
.gm-embroidery:focus { outline: 3px solid rgba(244,211,94,.95); outline-offset: 5px; }
.gm-embroidery.is-dragging { cursor: grabbing; filter: drop-shadow(0 4px 2px rgba(0,0,0,.32)); }
.gm-patch-preview-layer { position: static; pointer-events: none; }
.gm-preview-patch { position: absolute; top: 50%; left: 50%; z-index: 3; display: block; width: clamp(38px,12%,70px); aspect-ratio: 1/1; cursor: grab; outline: none; filter: drop-shadow(0 2px 2px rgba(0,0,0,.28)); pointer-events: auto; transform: translate(-50%,-50%); touch-action: none; user-select: none; }
.gm-preview-patch img { display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
.gm-preview-patch:focus { outline: 3px solid rgba(244,211,94,.95); outline-offset: 3px; }
.gm-preview-patch.is-dragging { z-index: 5; cursor: grabbing; filter: drop-shadow(0 4px 3px rgba(0,0,0,.34)); }
.gm-style-classic { font-family: "Fraunces",Georgia,serif; font-weight: 700; }
.gm-style-rounded { font-family: "DM Sans",Arial,sans-serif; font-weight: 700; border-radius: 20px; }
.gm-style-block { font-family: Impact,"Arial Black",sans-serif; font-weight: 900; letter-spacing: 2px; }
.gm-size-small { font-size: 36px; }
.gm-size-medium { font-size: 50px; }
.gm-size-large { font-size: 64px; }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .gm-embroidery { background: repeating-linear-gradient(102deg,var(--gm-thread) 0,var(--gm-thread) 1px,color-mix(in srgb,var(--gm-thread) 72%,#fff) 1px,color-mix(in srgb,var(--gm-thread) 72%,#fff) 2px); color: transparent; background-clip: text; -webkit-background-clip: text; }
}
.gm-preview-help { margin: 18px 4px 0; color: #58616a; font-size: 14px; line-height: 1.5; }
.gm-configurator__controls { min-width: 0; padding: 34px; background: #fffdf9; }
.gm-config-step { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; }
.gm-config-step:not(:first-child) { margin-top: 34px; padding-top: 30px; border-top: 1px solid var(--gm-line); }
.gm-config-step > span { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--gm-coral); color: #fff; font-size: 15px; font-weight: 700; box-shadow: 0 6px 14px rgba(238,108,99,.22); }
.gm-config-step:nth-child(3) > span { background: var(--gm-blue); box-shadow: 0 6px 14px rgba(47,111,143,.2); }
.gm-config-step:nth-child(7) > span { background: var(--gm-plum); box-shadow: 0 6px 14px rgba(110,63,93,.2); }
.gm-config-step:nth-child(9) > span { background: #6f8f76; box-shadow: 0 6px 14px rgba(111,143,118,.2); }
.gm-config-step strong,.gm-config-step small { display: block; }
.gm-config-step strong { font-size: 18px; }
.gm-config-step small { margin-top: 2px; color: #696d75; font-size: 13px; }
.gm-base-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.gm-base-option { position: relative; display: flex; align-items: center; gap: 10px; min-width: 0; padding: 9px; border: 2px solid var(--gm-line); border-radius: 6px; background: #fff; cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.gm-base-option:hover { border-color: #aaa69e; transform: translateY(-2px); }
.gm-base-option:has(input:checked) { border-color: var(--gm-blue); background: var(--gm-sky); box-shadow: 0 0 0 3px rgba(47,111,143,.11); }
.gm-base-option input,.gm-swatch input,.gm-segmented input,.gm-size-options input,.gm-patch-option input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.gm-base-option__image { flex: 0 0 60px; overflow: hidden; width: 60px; height: 60px; border-radius: 5px; background: var(--gm-paper); }
.gm-base-option__image img { width: 100%; height: 100%; object-fit: cover; }
.gm-base-option strong,.gm-base-option small { display: block; min-width: 0; }
.gm-base-option strong { font-size: 14px; line-height: 1.25; }
.gm-base-option small { margin-top: 4px; color: #666a72; font-size: 12px; line-height: 1.25; }
.gm-control-grid { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 18px; align-items: start; }
.gm-letter-field > span,.gm-thread-colors legend,.gm-segmented legend,.gm-size-options legend { display: block; margin-bottom: 9px; color: var(--gm-ink); font-size: 13px; font-weight: 700; }
.gm-letter-field input { width: 100%; height: 54px; padding: 8px 10px; border: 2px solid #aaa69e; border-radius: 5px; background: #fff; color: var(--gm-ink); font-size: 25px; font-weight: 800; text-align: center; text-transform: uppercase; }
.gm-thread-colors,.gm-segmented,.gm-size-options { min-width: 0; margin: 0; padding: 0; border: 0; }
.gm-swatches { display: flex; flex-wrap: wrap; gap: 9px; }
.gm-swatch { position: relative; display: inline-flex; cursor: pointer; }
.gm-swatch span { display: block; width: 30px; height: 30px; border: 2px solid #fff; border-radius: 50%; background: var(--gm-swatch); box-shadow: 0 0 0 1px #a7a39b; transition: transform .18s ease, box-shadow .18s ease; }
.gm-swatch em { position: absolute; overflow: hidden; width: 1px; height: 1px; clip: rect(0 0 0 0); }
.gm-swatch:hover span { transform: scale(1.1); }
.gm-swatch:has(input:checked) span { box-shadow: 0 0 0 3px #fff,0 0 0 5px var(--gm-blue); transform: scale(.9); }
.gm-segmented { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; margin-top: 22px; }
.gm-segmented legend { grid-column: 1/-1; }
.gm-segmented label { position: relative; }
.gm-segmented span { display: grid; min-height: 46px; padding: 10px; place-items: center; border: 1px solid #aaa69e; background: #fff; cursor: pointer; font-size: 14px; text-align: center; }
.gm-segmented label:first-of-type span { border-radius: 5px 0 0 5px; }
.gm-segmented label:last-of-type span { border-radius: 0 5px 5px 0; }
.gm-segmented label + label span { border-left: 0; }
.gm-segmented label:has(input:checked) span { background: var(--gm-ink); color: #fff; }
.gm-style-sample.gm-style-classic { font-family: "Fraunces",Georgia,serif; }
.gm-style-sample.gm-style-rounded { font-family: "DM Sans",Arial,sans-serif; font-weight: 700; }
.gm-style-sample.gm-style-block { font-family: Impact,"Arial Black",sans-serif; letter-spacing: 1px; }
.gm-size-options { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 22px; }
.gm-size-options legend { margin-bottom: 1px; }
.gm-size-options label { position: relative; display: block; }
.gm-size-options label > span { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 14px; border: 2px solid var(--gm-line); border-radius: 5px; background: #fff; cursor: pointer; }
.gm-size-options label:has(input:checked) > span { border-color: var(--gm-blue); background: var(--gm-sky); }
.gm-size-options strong,.gm-size-options small { font-size: 13px; }
.gm-size-options small { color: var(--gm-blue); font-weight: 700; }
.gm-patch-options { min-width: 0; margin: 0; padding: 0; border: 0; }
.gm-patch-options legend { display: block; margin-bottom: 10px; color: var(--gm-ink); font-size: 13px; font-weight: 700; }
.gm-patch-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.gm-patch-option { position: relative; display: block; min-width: 0; cursor: pointer; }
.gm-patch-option > span { position: relative; display: grid; min-height: 134px; padding: 9px 7px; place-items: center; align-content: start; border: 2px solid var(--gm-line); border-radius: 6px; background: #fff; text-align: center; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.gm-patch-option:hover > span { border-color: #aaa69e; transform: translateY(-2px); }
.gm-patch-option:has(input:checked) > span { border-color: var(--gm-blue); background: var(--gm-sky); box-shadow: 0 0 0 3px rgba(47,111,143,.1); }
.gm-patch-option:has(input:checked) > span::after { position: absolute; top: 6px; right: 6px; display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: var(--gm-blue); color: #fff; content: "✓"; font-size: 12px; font-weight: 800; }
.gm-patch-option:has(input:focus-visible) > span { outline: 3px solid var(--gm-yellow); outline-offset: 2px; }
.gm-patch-option img { width: 66px; height: 66px; object-fit: contain; }
.gm-patch-option strong,.gm-patch-option small { display: block; overflow-wrap: anywhere; }
.gm-patch-option strong { margin-top: 4px; font-size: 12px; line-height: 1.2; }
.gm-patch-option small { margin-top: 3px; color: var(--gm-blue); font-size: 11px; font-weight: 700; }
.gm-patch-offer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 14px; margin: 10px 2px 0; color: #646871; font-size: 12px; line-height: 1.45; }
.gm-patch-offer [data-gm-patch-limit] { color: var(--gm-blue); font-weight: 700; }
.gm-price-summary { overflow: hidden; border: 1px solid var(--gm-line); border-radius: 6px; background: var(--gm-paper); }
.gm-price-summary > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 14px; font-size: 14px; }
.gm-price-summary > div + div { border-top: 1px solid var(--gm-line); }
.gm-price-summary__total { background: var(--gm-ink); color: #fff; font-size: 17px!important; }
.gm-price-summary__total strong { color: var(--gm-yellow); font-size: 22px; }
.gm-configurator__submit { width: 100%; min-height: 54px; margin-top: 16px; padding: 14px 18px; border: 0; border-radius: 6px; background: var(--gm-coral); color: #fff; font-family: "DM Sans",Arial,sans-serif; font-size: 16px; font-weight: 700; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.gm-configurator__submit::after { margin-left: 9px; content: "→"; }
.gm-configurator__submit:hover { box-shadow: 0 11px 22px rgba(240,100,90,.28); transform: translateY(-2px); }
.gm-configurator__fineprint { margin: 12px 2px 0; color: #6b6f77; font-size: 12px; line-height: 1.45; }

@keyframes gmCtaPulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(240,100,90,.28); }
  50% { box-shadow: 0 0 0 10px rgba(240,100,90,0); }
}
.home .elementor-section:first-child .gm-fx-button .elementor-button { animation: gmCtaPulse 3.2s ease-in-out infinite; }

@media (max-width: 1024px) {
  .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gm-header-main .elementor-column:nth-child(1) { width: 36%!important; }
  .gm-header-main .elementor-column:nth-child(2) { width: 44%!important; }
  .gm-header-main .elementor-column:nth-child(3) { width: 20%!important; }
  .gm-configurator__form { grid-template-columns: minmax(0,1fr) minmax(360px,.9fr); }
  .gm-configurator__preview,.gm-configurator__controls { padding: 24px; }
  .gm-base-options { grid-template-columns: 1fr; }
  .gm-hero-copy .elementor-widget-wrap { max-width: none; }
}

@media (max-width: 767px) {
  main h1 { max-width: 100%; font-size: 36px!important; line-height: 1.06!important; overflow-wrap: anywhere; }
  .woocommerce ul.products { grid-template-columns: 1fr; gap: 20px; }
  .gm-announcement .elementor-column { width: 100%!important; padding: 0!important; }
  .gm-announcement p span { display: none; }
  .gm-announcement p strong { display: block; }
  .gm-premium-button,.gm-premium-button .elementor-button-wrapper { width: 100%; max-width: 100%; }
  .gm-premium-button .elementor-button { width: 100%; max-width: 100%; padding: 12px 14px!important; font-size: 14px!important; white-space: normal; }
  .gm-premium-button .elementor-button-content-wrapper { display: flex; min-width: 0; max-width: 100%; align-items: center; justify-content: center; }
  .gm-premium-button .elementor-button-text { min-width: 0; white-space: normal; }
  .gm-premium-button .elementor-button::after { flex: 0 0 auto; margin-left: 7px; }
  .gm-header-main .elementor-column:nth-child(1) { width: 65%!important; }
  .gm-header-main .elementor-column:nth-child(2) { width: 35%!important; }
  .gm-header-main .elementor-column:nth-child(3) { display: none; }
  .gm-header-main .elementor-column { padding: 8px 10px!important; }
  .gm-logo { gap: 6px; }
  .gm-logo > img { flex-basis: 32px; width: 32px; height: 32px; }
  .gm-logo-copy strong { font-size: 18px; }
  .gm-logo-copy small { font-size: 8px; }
  .elementor-location-header .elementor-nav-menu--dropdown { background: #fff; border: 1px solid var(--gm-line); }
  .elementor-location-header .elementor-nav-menu--dropdown { left: 0!important; right: auto!important; width: 100%!important; min-width: 0!important; }
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item { display: block!important; padding: 13px 12px!important; background: #fff!important; color: var(--gm-ink)!important; font-size: 13px!important; line-height: 1.3!important; white-space: normal!important; }
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:hover { background: var(--gm-paper)!important; color: var(--gm-coral)!important; }
  .elementor-location-header .elementor-menu-toggle { background: transparent!important; color: var(--gm-ink)!important; }
  .elementor-location-header .elementor-menu-toggle svg { fill: var(--gm-ink)!important; }
  body.admin-bar .elementor-location-header { top: 46px; }
  .home main > .elementor > .elementor-section:first-child { min-height: 0!important; padding: 0!important; }
  .home .gm-hero {
    background-color: var(--gm-paper)!important;
    background-position: top center!important;
    background-repeat: no-repeat!important;
    background-size: 100% 245px!important;
  }
  .home .gm-hero .gm-hero-copy > .elementor-column-wrap,
  .home .gm-hero .gm-hero-copy > .elementor-widget-wrap { padding: 256px 20px 14px!important; }
  .home .gm-hero .elementor-widget:not(:last-child) { margin-bottom: 8px!important; }
  .home .gm-hero .elementor-widget-spacer { display: none!important; }
  .home .gm-hero h1 { font-size: 29px!important; line-height: 1.08!important; }
  .home .gm-hero .gm-lead { font-size: 16px; line-height: 1.45; }
  .home .gm-hero .gm-premium-button .elementor-button { padding: 12px 14px!important; font-size: 14px!important; }
  .gm-trust-section .elementor-column { width: 50%!important; }
  .gm-trust-section .elementor-column:nth-child(3) { border-left: 0; }
  .gm-trust-section .elementor-column:nth-child(n+3) { border-top: 1px solid rgba(39,49,58,.1); }
  .gm-premium-card > .elementor-column-wrap,.gm-premium-card > .elementor-widget-wrap { margin: 7px 0; padding: 24px!important; }
  .gm-config-spotlight .elementor-column:nth-child(2),.gm-lifestyle-section .elementor-column:nth-child(2),.gm-craft-section .elementor-column:first-child { padding-left: 18px!important; padding-right: 18px!important; }
  .gm-footer-note { text-align: left; }
  .gm-config-intro-action .elementor-widget-wrap,.gm-conversion-band .gm-cta-action .elementor-widget-wrap { justify-content: flex-start; }
  .gm-story-section .gm-choice-panel > .elementor-column-wrap,.gm-story-section .gm-choice-panel > .elementor-widget-wrap { padding: 22px!important; }
  .gm-reasons-section .gm-reason > .elementor-column-wrap,.gm-reasons-section .gm-reason > .elementor-widget-wrap { margin: 8px 0; padding: 22px!important; }
  .gm-reasons-section .gm-reason { width: 100%!important; }
  .gm-conversion-band .gm-cta-action .elementor-widget-wrap { justify-content: flex-start; }
  .gm-configurator__form { grid-template-columns: 1fr; }
  .gm-configurator__preview { padding: 14px; border-right: 0; border-bottom: 1px solid var(--gm-line); }
  .gm-preview-stage { position: relative; top: auto; }
  .gm-configurator__controls { padding: 22px 16px 26px; }
  .gm-base-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gm-base-option { display: block; padding: 7px; }
  .gm-base-option__image { display: block; width: 100%; height: auto; aspect-ratio: 1/1; margin-bottom: 7px; }
  .gm-control-grid { grid-template-columns: 92px minmax(0,1fr); gap: 14px; }
  .gm-patch-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gm-size-small { font-size: 26px; }
  .gm-size-medium { font-size: 36px; }
  .gm-size-large { font-size: 46px; }
  .gm-safe-zone__label { font-size: 9px; }
  .woocommerce div.product .product_title,.woocommerce div.product .gm-product-title { font-size: 34px; }
  .woocommerce div.product { margin: 30px auto; padding: 0 18px; }
  .gm-eyebrow { letter-spacing: .8px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; }
}
