html { scroll-behavior: smooth; }
body { margin: 0; background: #f3f0e9; }
.scroll-reveal { opacity: 0; transform: translateY(38px); transition: opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1); }
.scroll-reveal.is-visible { opacity: 1; transform: none; }
.fg-mobile-nav { display: flex !important; position: absolute; inset: 80px 0 auto; flex-direction: column; gap: 1.25rem; padding: 1.5rem; background: #f3f0e9; border-bottom: 1px solid rgb(0 0 0 / .1); }
.fg-lightbox { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; background: rgb(10 11 10 / .94); padding: 5vh 7vw; }
.fg-lightbox img { display: block; max-width: 86vw; max-height: 86vh; width: auto; height: auto; object-fit: contain; border-radius: 1rem; }
.fg-lightbox button { position: fixed; z-index: 2; display: grid; place-items: center; width: 3.25rem; height: 3.25rem; border: 0; border-radius: 999px; background: #fff; color: #171a18; font-size: 1.7rem; cursor: pointer; }
.fg-lightbox__close { top: 1.5rem; right: 1.5rem; }
.fg-lightbox__prev { left: 1.25rem; top: 50%; }
.fg-lightbox__next { right: 1.25rem; top: 50%; }
.fg-lightbox [data-count] { position: fixed; bottom: 1rem; left: 50%; transform: translateX(-50%); border-radius: 999px; background: #171a18; color: #fff; padding: .45rem .8rem; font: 600 .75rem/1 sans-serif; }
.fg-announcement { overflow: hidden; background: #171a18; color: #fff; padding: .65rem 0; font: 700 11px/1.2 Arial,sans-serif; letter-spacing: .18em; text-transform: uppercase; white-space: nowrap; }
.fg-announcement__track { display: flex; width: max-content; animation: fg-announcement-scroll 28s linear infinite; }
.fg-announcement__group { display: flex; align-items: center; gap: clamp(1.5rem,4vw,4rem); padding-right: clamp(1.5rem,4vw,4rem); }
@keyframes fg-announcement-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .scroll-reveal { opacity: 1; transform: none; transition: none; } .fg-announcement__track { width: 100%; animation: none; } .fg-announcement__group { width: 100%; justify-content: center; padding: 0; } .fg-announcement__group:first-child span:not(:first-child), .fg-announcement__group[aria-hidden="true"] { display: none; } }
@media (max-width: 640px) { .fg-lightbox { padding: 7vh 3vw; } .fg-lightbox img { max-width: 94vw; max-height: 80vh; } .fg-lightbox button { width: 2.75rem; height: 2.75rem; } }

body.fg-cart-open { overflow: hidden; }
.fg-cart-count { position: absolute; top: -5px; right: -5px; display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border: 2px solid #f3f0e9; border-radius: 999px; background: #a24829; color: #fff; font: 700 10px/1 Arial,sans-serif; box-shadow: 0 3px 9px rgb(23 26 24 / .22); }
.fg-cart-count:empty { display: none; }
.fg-cart-overlay { position: fixed; inset: 0; z-index: 99990; background: rgb(15 17 15 / .48); opacity: 0; backdrop-filter: blur(3px); transition: opacity .32s ease; }
.fg-cart-overlay.is-open { opacity: 1; }
.fg-cart-drawer { position: fixed; z-index: 99991; top: 0; right: 0; display: flex; flex-direction: column; width: min(430px, 100vw); height: 100dvh; background: #f8f6f0; color: #171a18; box-shadow: -24px 0 70px rgb(0 0 0 / .2); transform: translateX(102%); transition: transform .42s cubic-bezier(.22,1,.36,1); }
.fg-cart-drawer.is-open { transform: translateX(0); }
.fg-cart-drawer__header { display: flex; align-items: flex-start; justify-content: space-between; padding: 28px 26px 23px; border-bottom: 1px solid rgb(23 26 24 / .14); }
.fg-cart-drawer__header span { display: block; margin-bottom: 7px; color: #a24829; font: 750 10px/1 Arial,sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.fg-cart-drawer__header h2 { margin: 0; font: 400 38px/.95 Georgia,serif; letter-spacing: -.045em; }
.fg-cart-drawer__close { display: grid; place-items: center; width: 39px; height: 39px; border: 1px solid rgb(23 26 24 / .18); border-radius: 999px; background: transparent; font-size: 25px; line-height: 1; }
.fg-cart-drawer__body { flex: 1; overflow-y: auto; padding: 8px 26px; }
.fg-cart-item { display: grid; grid-template-columns: 92px 1fr; gap: 17px; padding: 22px 0; border-bottom: 1px solid rgb(23 26 24 / .13); }
.fg-cart-item__image { display: grid; place-items: center; overflow: hidden; aspect-ratio: 1; border-radius: 15px; background: #fff; }
.fg-cart-item__image img { width: 100%; height: 100%; object-fit: contain; }
.fg-cart-item__info { min-width: 0; }
.fg-cart-item__name { display: block; padding-right: 8px; font: 600 14px/1.35 Arial,sans-serif; }
.fg-cart-item__price { margin-top: 7px; font-size: 13px; }
.fg-cart-item__actions { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; }
.fg-cart-quantity { display: grid; grid-template-columns: 31px 35px 31px; align-items: center; border: 1px solid rgb(23 26 24 / .19); border-radius: 999px; text-align: center; }
.fg-cart-quantity button { height: 31px; font-size: 18px; }
.fg-cart-quantity span { font-size: 12px; }
.fg-cart-remove { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 999px; color: #5d5d58; transition: color .2s, background .2s; }
.fg-cart-remove:hover { color: #a24829; background: rgb(162 72 41 / .09); }
.fg-cart-remove svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.fg-cart-drawer__footer { padding: 22px 26px 27px; border-top: 1px solid rgb(23 26 24 / .14); background: #f8f6f0; }
.fg-cart-drawer__footer>div { display: flex; justify-content: space-between; align-items: baseline; }
.fg-cart-drawer__footer>div span { font-size: 13px; }
.fg-cart-drawer__footer>div strong { font: 400 24px/1 Georgia,serif; }
.fg-cart-drawer__footer>p { margin: 10px 0 19px; color: rgb(23 26 24 / .62); font-size: 11px; }
.fg-cart-checkout { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px 19px; border-radius: 999px; background: #171a18; color: #fff; font-size: 13px; font-weight: 700; }
.fg-cart-continue { display: block; margin: 14px auto 0; border-bottom: 1px solid currentColor; color: rgb(23 26 24 / .68); font-size: 11px; }
.fg-cart-empty { display: grid; place-items: center; min-height: 55vh; text-align: center; }
.fg-cart-empty p { font: 400 27px/1.1 Georgia,serif; }
.fg-cart-empty button { margin-top: 15px; border-bottom: 1px solid currentColor; font-size: 12px; }

body.woocommerce-checkout .legal-hero { max-width: 920px; margin: 0 auto; padding: 58px 30px 34px; border-bottom: 0; }
body.woocommerce-checkout .legal-hero h1 { font-size: clamp(3.2rem, 6vw, 5.4rem); }
body.woocommerce-checkout .wc-shell { display: block; max-width: 920px; margin: 0 auto; padding: 0 30px 90px; }
body.woocommerce-checkout .wc-block-checkout { padding: 0; }
body.woocommerce-checkout .wc-block-components-sidebar-layout { gap: 42px; }
body.woocommerce-checkout .wc-block-components-main { width: 58%; }
body.woocommerce-checkout .wc-block-components-sidebar { width: 42%; }
body.woocommerce-cart .legal-hero { display: none; }
body.woocommerce-cart .wc-shell { display: none; }

@media (max-width: 760px) {
  .fg-cart-drawer { width: min(390px, 100vw); }
  .fg-cart-drawer__header, .fg-cart-drawer__footer { padding-left: 20px; padding-right: 20px; }
  .fg-cart-drawer__body { padding-left: 20px; padding-right: 20px; }
  body.woocommerce-checkout .legal-header { height: 70px; }
  body.woocommerce-checkout .legal-hero { padding: 42px 20px 25px; }
  body.woocommerce-checkout .wc-shell { padding: 0 20px 70px; }
  body.woocommerce-checkout .wc-block-components-sidebar-layout { display: block; }
  body.woocommerce-checkout .wc-block-components-main, body.woocommerce-checkout .wc-block-components-sidebar { width: 100%; }
}

/* Checkout window */
body.woocommerce-checkout .legal-shell { background: #e7e1d6; }
body.woocommerce-checkout .legal-hero,
body.woocommerce-checkout .wc-shell { width: min(880px, calc(100% - 48px)); background: #f8f7f3; }
body.woocommerce-checkout .legal-hero { margin: 56px auto 0; padding: 46px 52px 26px; border: 1px solid rgb(23 26 24 / .12); border-bottom: 0; border-radius: 26px 26px 0 0; }
body.woocommerce-checkout .legal-hero { text-align: center; }
body.woocommerce-checkout .legal-hero h1 { margin-top: 13px; font-size: clamp(2.8rem, 5vw, 4.4rem); }
body.woocommerce-checkout .wc-shell { margin: 0 auto 82px; padding: 12px 52px 52px; border: 1px solid rgb(23 26 24 / .12); border-top: 0; border-radius: 0 0 26px 26px; box-shadow: 0 30px 80px rgb(23 26 24 / .13); }
body.woocommerce-checkout .wc-block-components-sidebar-layout { display: block; }
body.woocommerce-checkout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar { width: 100%; max-width: 620px; margin-right: auto; margin-left: auto; }
body.woocommerce-checkout .wc-block-components-sidebar { margin-top: 42px; }
body.woocommerce-checkout .premium-footer { background: #f8f7f3; }

@media (max-width: 760px) {
  body.woocommerce-checkout .legal-hero,
  body.woocommerce-checkout .wc-shell { width: min(100% - 24px, 560px); }
  body.woocommerce-checkout .legal-hero { margin-top: 20px; padding: 32px 22px 18px; border-radius: 20px 20px 0 0; }
  body.woocommerce-checkout .wc-shell { margin-bottom: 50px; padding: 8px 22px 34px; border-radius: 0 0 20px 20px; }
}
