/* NickiC Crochet theme styles. Theme by The Free Website Guys. */
:root{
--color-background:#fdf7f9;--color-linen:#f8e7eb;--color-foreground:#3f1c2b;--color-primary:#c13367;--color-secondary:#e2b150;--color-accent:#7f2f4f;--color-footer:#361724;--color-border:#e0ccd3;--color-muted:#f2e3e8;--color-muted-foreground:#745864;
--color-destructive:#ab2b40;--color-button-text:var(--color-background);
--font-body:'Nunito',system-ui,-apple-system,sans-serif;
--btn-radius:9999px;--btn-height:3rem;--btn-padding:0 1.75rem;--btn-font-size:14px;--btn-font-weight:500;--btn-letter-spacing:normal;--btn-text-transform:none;
--header-height:9rem;--header-offset:calc(2rem + 116px);--card-radius:1rem;--section-padding:2rem;
--shadow-soft:0 6px 24px -10px hsl(338 58% 30% / .18);--shadow-elevated:0 22px 50px -18px hsl(338 58% 25% / .28);
--fg-4:color-mix(in srgb,var(--color-foreground) 4%,transparent);--fg-5:color-mix(in srgb,var(--color-foreground) 5%,transparent);--fg-6:color-mix(in srgb,var(--color-foreground) 6%,transparent);--fg-10:color-mix(in srgb,var(--color-foreground) 10%,transparent);--fg-15:color-mix(in srgb,var(--color-foreground) 15%,transparent);--fg-20:color-mix(in srgb,var(--color-foreground) 20%,transparent);--fg-25:color-mix(in srgb,var(--color-foreground) 25%,transparent);--fg-30:color-mix(in srgb,var(--color-foreground) 30%,transparent);--fg-35:color-mix(in srgb,var(--color-foreground) 35%,transparent);--fg-40:color-mix(in srgb,var(--color-foreground) 40%,transparent);--fg-45:color-mix(in srgb,var(--color-foreground) 45%,transparent);--fg-50:color-mix(in srgb,var(--color-foreground) 50%,transparent);--fg-55:color-mix(in srgb,var(--color-foreground) 55%,transparent);--fg-60:color-mix(in srgb,var(--color-foreground) 60%,transparent);--fg-65:color-mix(in srgb,var(--color-foreground) 65%,transparent);--fg-70:color-mix(in srgb,var(--color-foreground) 70%,transparent);--fg-75:color-mix(in srgb,var(--color-foreground) 75%,transparent);--fg-80:color-mix(in srgb,var(--color-foreground) 80%,transparent);--fg-85:color-mix(in srgb,var(--color-foreground) 85%,transparent);--fg-90:color-mix(in srgb,var(--color-foreground) 90%,transparent);--fg-95:color-mix(in srgb,var(--color-foreground) 95%,transparent);
--bg-10:color-mix(in srgb,var(--color-background) 10%,transparent);--bg-15:color-mix(in srgb,var(--color-background) 15%,transparent);--bg-55:color-mix(in srgb,var(--color-background) 55%,transparent);--bg-60:color-mix(in srgb,var(--color-background) 60%,transparent);--bg-70:color-mix(in srgb,var(--color-background) 70%,transparent);--bg-75:color-mix(in srgb,var(--color-background) 75%,transparent);--bg-80:color-mix(in srgb,var(--color-background) 80%,transparent);--bg-85:color-mix(in srgb,var(--color-background) 85%,transparent);--bg-90:color-mix(in srgb,var(--color-background) 90%,transparent);--bg-95:color-mix(in srgb,var(--color-background) 95%,transparent);
--pr-60:color-mix(in srgb,var(--color-primary) 60%,transparent);--pr-90:color-mix(in srgb,var(--color-primary) 90%,transparent);--sec-60:color-mix(in srgb,var(--color-secondary) 60%,transparent);--lin-40:color-mix(in srgb,var(--color-linen) 40%,transparent);
}

/* ---------- Base / preflight ---------- */
*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--color-border)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;line-height:1.5}
html,body{max-width:100%;overflow-x:clip}
body{margin:0;background:var(--color-background);color:var(--color-foreground);font-family:'Nunito',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4,h5,h6{font-family:'Fraunces',Georgia,serif;letter-spacing:0;font-weight:400;font-size:inherit;margin:0}
p,figure,ul,ol,dl,blockquote{margin:0}
ul,ol{list-style:none;padding:0}
a{color:inherit;text-decoration:none}
img,svg,video{display:block;vertical-align:middle}
img:not(.cover-img):not(.hero-bg-img):not(.product-card-img):not(.product-gallery-img):not(.product-thumb-img):not(.site-logo-img):not(.cart-item-img){max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit;margin:0;padding:0;background:transparent;border-radius:0}
a[href],button:not(:disabled),summary,label[for],select,[role="button"],[role="link"],[role="tab"],[role="menuitem"],input[type="submit"],input[type="button"],input[type="checkbox"],input[type="radio"],[data-cart-open],[data-cart-close],[data-cart-qty-update],[data-cart-remove],[data-cart-empty],[data-faq-toggle],[data-faq-show-all],[data-cat-filter],[data-shop-view-more],[data-badge-toggle],[data-menu-toggle],[data-buy-now],[data-card-prev],[data-card-next],.theme-qty-minus,.theme-qty-plus,.theme-attr-pill,.product-card__link,.product-card__add,.product-card__quick,.product-card__info,.btn{cursor:pointer}
button{-webkit-appearance:button;appearance:button;background-image:none}
section[id]{scroll-margin-top:150px}
[hidden]{display:none!important}
.icon{flex-shrink:0}
.tabular-nums{font-variant-numeric:tabular-nums}
.hide-below-sm,.hide-below-md{display:none}
@media (min-width:640px){.hide-below-sm{display:inline}}
@media (min-width:768px){.hide-below-md{display:inline}}
.container-wide{width:100%;max-width:80rem;margin-left:auto;margin-right:auto;padding-left:1.25rem;padding-right:1.25rem}
@media (min-width:640px){.container-wide{padding-left:1.5rem;padding-right:1.5rem}}
@media (min-width:1024px){.container-wide{padding-left:2.5rem;padding-right:2.5rem}}
.footer-surface{background-color:var(--color-footer)}
.cover-img,.hero-bg-img,.product-card-img,.product-gallery-img,.product-thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cover-img--top{object-position:top}

/* ---------- Motion ---------- */
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes slide-in-bottom{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes page-enter{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
@keyframes marquee-fast{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@keyframes kenburns{0%{opacity:1;transform:scale(1.06) translate3d(0,0,0)}30%{opacity:1}38%{opacity:0;transform:scale(1.18) translate3d(-1.5%,-1%,0)}39%{opacity:0;transform:scale(1.06) translate3d(0,0,0)}92%{opacity:0;transform:scale(1.06) translate3d(0,0,0)}100%{opacity:1;transform:scale(1.06) translate3d(0,0,0)}}
@keyframes kenburns-flat{0%,30%{opacity:1}38%,92%{opacity:0}100%{opacity:1}}
@keyframes cart-pop-badge{from{transform:scale(.6)}to{transform:scale(1)}}
.page-enter,.site-main{animation:page-enter 650ms cubic-bezier(.16,1,.3,1) both}
[data-reveal]{opacity:0;transform:translate3d(0,32px,0) scale(.985);transition:opacity 1000ms cubic-bezier(.16,1,.3,1),transform 1100ms cubic-bezier(.16,1,.3,1);will-change:opacity,transform}
[data-reveal].is-revealed{opacity:1;transform:none;will-change:auto}
body.is-customizer [data-reveal],body.is-customizer .reveal-item,body.is-customizer .scale-in-item{opacity:1;transform:none;transition:none}
.hover-zoom img{transition:transform 900ms cubic-bezier(.16,1,.3,1)}
.hover-zoom:hover img{transform:scale(1.05)}
.hover-lift{transition:transform 500ms cubic-bezier(.16,1,.3,1),box-shadow 500ms cubic-bezier(.16,1,.3,1)}
.hover-lift:hover{transform:translateY(-6px);box-shadow:0 22px 40px -24px var(--fg-35)}
.marquee-track-fast{display:flex;width:max-content;animation:marquee-fast 24s linear infinite}
.kb-slide{opacity:0;animation:kenburns var(--kb-cycle,18s) linear infinite;will-change:transform,opacity}
.kb-slide:first-child{opacity:1}
.kb-slide--2{animation-delay:6s}.kb-slide--3{animation-delay:12s}
.hero__slides{--kb-cycle:18s}
@media (max-width:1023px){.kb-slide{animation-name:kenburns-flat;transform:none;will-change:opacity}}
@media (prefers-reduced-motion:reduce){
	[data-reveal]{opacity:1;transform:none;transition:none}
	.marquee-track-fast{animation:none}
	.kb-slide{animation:none;opacity:1;transform:none;will-change:auto}
	.kb-slide~.kb-slide{opacity:0}
	.brand-badge__rotor{animation:none}
}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;border-radius:9999px;font-size:14px;line-height:1.25rem;font-weight:500;transition:color .15s,background-color .15s,border-color .15s;border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-background);height:2.75rem;padding:.625rem 1.5rem;text-transform:none}
.btn:hover{background:var(--pr-90)}
.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.btn svg{width:1rem;height:1rem;pointer-events:none}
.btn--sm{height:2.25rem;padding:0 1rem}
.btn--lg{height:3rem;padding:0 1.75rem}
.btn--block{width:100%}
.btn--outline{background:transparent;color:var(--color-foreground);border-color:var(--fg-25)}
.btn--outline:hover{background:var(--fg-4);border-color:var(--color-foreground)}
.btn--ghost{background:transparent;color:inherit;border-color:transparent}
.btn--ghost:hover{background:var(--fg-5)}
.btn--glass{background:var(--bg-15);color:#fff;border-color:rgba(255,255,255,.4)}
.btn--glass:hover{background:rgba(255,255,255,.2)}
.btn--hero-primary{background:var(--color-background);color:var(--color-foreground);border-color:var(--color-background)}
.btn--hero-primary:hover{background:var(--color-secondary)}
.btn--cta{background:var(--color-background);color:var(--color-foreground);border-color:var(--color-background)}
.btn--cta:hover{background:var(--color-secondary)}
.btn--pill.btn--outline{background:transparent}
.btn[disabled],.btn.disabled{opacity:.6;pointer-events:none}

/* WooCommerce button overrides (single product + variation) */
.single_add_to_cart_button.button,
.add_to_cart_button.button,
a.single_add_to_cart_button,
a.add_to_cart_button{background-color:var(--color-primary)!important;color:var(--color-button-text)!important;border:none!important;border-radius:var(--btn-radius)!important;min-height:var(--btn-height)!important;padding:var(--btn-padding)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-family:var(--font-body)!important;font-size:var(--btn-font-size)!important;font-weight:var(--btn-font-weight)!important;letter-spacing:var(--btn-letter-spacing)!important;text-transform:var(--btn-text-transform)!important;cursor:pointer!important;transition:opacity .2s ease!important;line-height:1.25rem}
.single_add_to_cart_button.button:hover,.add_to_cart_button.button:hover{opacity:.85!important;background-color:var(--color-primary)!important;color:var(--color-button-text)!important}
.single_add_to_cart_button.button:disabled,.single_add_to_cart_button.button.disabled,.add_to_cart_button.button:disabled,.add_to_cart_button.button.disabled{cursor:not-allowed!important;opacity:.4!important;pointer-events:none!important}
.single_add_to_cart_button.button:disabled:hover,.single_add_to_cart_button.button.disabled:hover,.add_to_cart_button.button:disabled:hover,.add_to_cart_button.button.disabled:hover{opacity:.4!important;background-color:var(--color-primary)!important}
.woocommerce-page a.added_to_cart.wc-forward,.single-product a.added_to_cart.wc-forward,body a.added_to_cart.wc-forward{display:none!important}
.single-product .single_add_to_cart_button.loading::after,.ajax_add_to_cart.loading::after{display:none!important}
.ajax_add_to_cart.theme-btn-loading{opacity:.6!important;pointer-events:none!important;cursor:wait!important}
.btn-hero-primary,.btn-hero-outline,.single-product .single_add_to_cart_button{text-transform:none}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50}
body.admin-bar .site-header{top:32px}
body.admin-bar #theme-cart-drawer{top:32px;height:calc(100% - 32px)}
@media screen and (max-width:782px){
	body.admin-bar .site-header{top:46px}
	body.admin-bar #theme-cart-drawer{top:46px;height:calc(100% - 46px)}
}
.announcement-bar{background:var(--color-accent);color:var(--color-background);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:.5rem 1rem;text-align:center;line-height:1rem}
.announcement-bar__muted{opacity:.8}
.announcement-bar__strong{font-weight:600}
.site-header__bar{transition:background-color 500ms,border-color 500ms,color 500ms;background:transparent;border-bottom:1px solid transparent}
.site-header__bar.is-solid{background:var(--bg-90);border-bottom-color:var(--fg-10)}
.site-header__grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;height:116px}
@media (min-width:1024px){.site-header__grid{height:130px}:root{--header-offset:calc(2rem + 130px)}}
.menu-toggle{order:1;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:9999px;transition:background-color .15s,color .15s;color:var(--color-background)}
.menu-toggle:hover{background:var(--bg-10)}
.is-solid .menu-toggle{color:var(--color-foreground)}
.is-solid .menu-toggle:hover{background:var(--fg-6)}
.menu-toggle__close{display:none}
.site-header.is-menu-open .menu-toggle__open{display:none}
.site-header.is-menu-open .menu-toggle__close{display:block}
.site-logo{order:2;display:flex;align-items:center;gap:.75rem;flex-shrink:0;justify-self:center}
.site-logo-img{object-fit:contain;flex-shrink:0}
.site-logo-img--header{width:95px;height:95px}
.site-logo-img--footer{width:82px;height:82px}
.site-logo-text{font-family:'Fraunces',Georgia,serif;font-size:1.5rem;color:var(--color-background)}
.is-solid .site-logo-text{color:var(--color-foreground)}
@media (min-width:1024px){.site-logo-img--header{width:109px;height:109px}}
.primary-nav{display:none;order:2}
.primary-nav ul{display:flex;align-items:center;justify-content:center;gap:1rem}
@media (min-width:1280px){.primary-nav ul{gap:1.5rem}}
.primary-nav a{position:relative;font-size:14px;font-weight:500;transition:color .3s;color:var(--bg-85);line-height:1.25rem}
.primary-nav a:hover,.primary-nav .is-active>a{color:var(--color-background)}
.is-solid .primary-nav a{color:var(--fg-75)}
.is-solid .primary-nav a:hover,.is-solid .primary-nav .is-active>a{color:var(--color-primary)}
.nav-underline{pointer-events:none;position:absolute;left:50%;bottom:-.375rem;width:1rem;height:2px;border-radius:9999px;background:var(--color-background);opacity:0;transform:translateX(-50%) scaleX(0);transition:all .3s}
.is-solid .nav-underline{background:var(--color-accent)}
.primary-nav .is-active .nav-underline{opacity:1;transform:translateX(-50%) scaleX(1)}
.header-actions{order:3;display:flex;align-items:center;gap:.5rem;justify-self:end}
.cart-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:9999px;transition:background-color .15s,color .15s;color:var(--color-background)}
.cart-btn:hover{background:var(--bg-10)}
.is-solid .cart-btn{color:var(--color-foreground)}
.is-solid .cart-btn:hover{background:var(--fg-6)}
.theme-cart-count{position:absolute;top:-.125rem;right:-.125rem;background:var(--color-accent);color:var(--color-background);font-size:12px;font-weight:500;min-width:18px;height:18px;padding:0 .25rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;line-height:1}
.theme-cart-count:empty{display:none}
.mobile-menu{display:none;border-top:1px solid var(--fg-10);background:var(--bg-95)}
.site-header.is-menu-open .mobile-menu{display:block;animation:fade-in .7s ease-out both}
.mobile-menu__inner{padding-top:1rem;padding-bottom:1rem}
.mobile-nav-list{display:flex;flex-direction:column}
.mobile-nav-list a{display:block;text-align:left;font-size:14px;font-weight:500;padding:.75rem 0;border-bottom:1px solid var(--fg-10);color:var(--fg-80);transition:color .15s;line-height:1.25rem}
.mobile-nav-list li:last-child a{border-bottom:0}
.mobile-nav-list a:hover{color:var(--color-primary)}
.mobile-nav-list .nav-underline{display:none}
@media (min-width:1100px){
	.menu-toggle,.mobile-menu,.site-header.is-menu-open .mobile-menu{display:none}
	.site-logo{order:1;justify-self:start}
	.primary-nav{display:flex;justify-content:center}
}

/* ---------- Sections ---------- */
.section{padding:6rem 0}
@media (min-width:640px){.section{padding:8rem 0}}
.section--linen{background:var(--color-linen)}
.section--ivory{background:var(--color-background)}
.eyebrow{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.3em;color:var(--color-primary);line-height:1rem}
.section-head{max-width:48rem}
.section-heading{margin-top:1.5rem;font-size:2.25rem;line-height:1.06;color:var(--color-foreground)}
@media (min-width:640px){.section-heading{font-size:3rem}}
@media (min-width:1024px){.section-heading{font-size:56px}.faq-section .section-heading{font-size:52px}}
.section-sub{margin-top:1.5rem;max-width:36rem;font-size:15px;line-height:1.625;color:var(--fg-70)}
.accent-italic{font-style:italic;color:var(--color-primary)}
.accent-italic-secondary{font-style:italic;color:var(--color-secondary)}
.lead-display{font-family:'Fraunces',Georgia,serif;font-size:1.5rem;line-height:1.375;color:var(--color-foreground)}
@media (min-width:640px){.lead-display{font-size:30px}}
.prose-copy{margin-top:2rem;font-size:15px;line-height:1.85;color:var(--fg-75)}
.prose-copy>*+*{margin-top:1.25rem}
.frame-4x5{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:1rem;border:1px solid var(--fg-15)}
.frame-ivory{background:var(--color-background)}
.frame-linen{background:var(--color-linen)}

/* Hero */
.hero{position:relative;display:flex;min-height:100vh;width:100%;flex-direction:column;justify-content:flex-end;overflow:hidden}
.hero__slides{position:absolute;inset:0}
.hero__tint{position:absolute;inset:0;background:var(--fg-30)}
.hero__gradient{position:absolute;inset:0;background:linear-gradient(to top,var(--fg-85),var(--fg-5),var(--fg-35))}
.hero__content{position:relative;width:100%;padding-top:8rem;padding-bottom:3rem}
@media (min-width:640px){.hero__content{padding-bottom:4rem}}
.hero__title{width:100%;color:var(--color-background)}
.hero__title-inner{display:flex;flex-direction:column;align-items:baseline;font-size:44px;line-height:.95}
@media (min-width:400px){.hero__title-inner{font-size:52px}}
@media (min-width:640px){.hero__title-inner{font-size:68px}}
@media (min-width:1024px){.hero__title-inner{font-size:84px}}
@media (min-width:1280px){.hero__title-inner{font-size:92px}}
.hero__title-accent{font-style:italic;color:var(--color-secondary)}
.hero__row{margin-top:2.5rem;display:flex;flex-direction:column;gap:2rem}
@media (min-width:640px){.hero__row{margin-top:3rem}}
@media (min-width:1024px){.hero__row{flex-direction:row;align-items:flex-end;justify-content:space-between}}
.hero__text{max-width:36rem;font-size:16px;line-height:1.625;color:var(--bg-85)}
.hero__subtitle{display:block;margin-bottom:.75rem;font-family:'Fraunces',Georgia,serif;font-size:24px;color:var(--color-background)}
.hero__buttons{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}

/* About / Owner */
.about-section,.owner-section{}
@media (min-width:1024px){.about-section,.owner-section{display:flex;min-height:60rem;align-items:center}}
.about-grid{margin-top:4rem;display:grid;gap:3rem}
@media (min-width:1024px){.about-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:4rem}.about-grid__image{grid-column:span 5}.about-grid__copy{grid-column:span 7;display:flex;flex-direction:column;justify-content:center}}
.about-sig{margin-top:2.5rem;border-top:1px solid var(--fg-15);padding-top:2rem}
.about-sig__title{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.28em;color:var(--color-primary)}
.about-sig__text{margin-top:.5rem;font-size:14px;color:var(--fg-65)}
.owner-grid{display:grid;align-items:center;gap:3rem}
@media (min-width:1024px){.owner-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:5rem}.owner-grid__copy{grid-column:span 7}.owner-grid__image{grid-column:span 5}}
.lead-display--owner{margin-top:2rem}
.prose-copy--owner{margin-top:1.75rem}

/* Services */
.service-grid{margin-top:4rem;display:grid;grid-template-columns:1fr;gap:1px;overflow:hidden;border-radius:1rem;border:1px solid var(--fg-15);background:var(--fg-15)}
@media (min-width:768px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.service-card{position:relative;min-height:28rem;overflow:hidden;background:var(--color-background)}
@media (min-width:640px){.service-card{min-height:32rem}}
@media (min-width:1024px){.service-card{min-height:36rem}}
.service-card__img{transition:transform .7s}
.service-card:hover .service-card__img{transform:scale(1.05)}
.service-card__shade{position:absolute;inset:0;background:linear-gradient(to top,var(--fg-95) 18%,var(--fg-45) 54%,transparent 88%);opacity:.9;transition:opacity .5s}
.service-card:hover .service-card__shade{opacity:.95}
.service-card__body{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.75rem;color:var(--color-background)}
@media (min-width:640px){.service-card__body{padding:2.5rem}}
.service-card__title{max-width:32rem;font-size:28px;line-height:1.25}
@media (min-width:640px){.service-card__title{font-size:2.25rem;line-height:2.5rem}}
.service-card__desc{margin-top:1rem;max-width:32rem;font-size:15px;line-height:1.625;color:var(--bg-90)}
@media (min-width:640px){.service-card__desc{font-size:16px}}
.service-card__rule{margin-top:1.75rem;height:1px;width:3.5rem;background:var(--color-secondary);transition:all .5s}
.service-card:hover .service-card__rule{width:6rem}
.pricing{margin-top:4rem}
.pricing__title{margin-top:1rem;font-size:1.875rem;line-height:1.25;color:var(--color-foreground)}
@media (min-width:640px){.pricing__title{font-size:2.25rem;line-height:2.5rem}}
.pricing__text{margin-top:.75rem;max-width:36rem;font-size:15px;color:var(--fg-70)}
.pricing-grid{margin-top:2rem;display:grid;grid-template-columns:1fr;gap:1rem}
@media (min-width:640px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.pricing-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pricing-card{border-radius:1rem;border:1px solid var(--fg-15);background:var(--color-linen);padding:1.5rem;box-shadow:var(--shadow-soft)}
.pricing-card__size{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--fg-55)}
.pricing-card__range{margin-top:.75rem;font-family:'Fraunces',Georgia,serif;font-size:1.875rem;line-height:2.25rem;color:var(--color-primary)}
.pricing-card__note{margin-top:.5rem;font-size:14px;color:var(--fg-70)}
.services-cta{margin-top:2.5rem;display:grid;align-items:center;gap:2rem;border-radius:1rem;border:1px solid var(--color-foreground);background:var(--color-foreground);padding:2rem;color:var(--color-background)}
@media (min-width:640px){.services-cta{margin-top:3rem;padding:3rem}}
.services-cta__icon{color:var(--color-secondary)}
.services-cta__icon-lg{display:none}
@media (min-width:1024px){.services-cta{grid-template-columns:repeat(12,minmax(0,1fr))}.services-cta__icon--small{display:none}.services-cta__icon-lg{display:block;grid-column:span 1}.services-cta__copy{grid-column:span 8}.services-cta__action{grid-column:span 3;justify-self:end}}
.services-cta__title{font-size:1.5rem;line-height:1.25}
@media (min-width:640px){.services-cta__title{font-size:1.875rem;line-height:2.25rem}}
@media (min-width:1024px){.services-cta__title{font-size:34px}}
.services-cta__text{margin-top:.75rem;max-width:42rem;font-size:14px;line-height:1.625;color:var(--bg-75)}
.services-cta__link{display:inline-flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--sec-60);padding-bottom:.25rem;font-size:14px;font-weight:500;color:var(--color-secondary)}

/* Shop */
.shop-section{padding:6rem 0}
@media (min-width:768px){.shop-section{padding:8rem 0}}
.shop-archive{padding-top:9rem}
.shop-head{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem}
@media (min-width:1024px){.shop-head{flex-direction:row;align-items:flex-end;justify-content:space-between}}
.shop-head__text{max-width:42rem}
.shop-eyebrow{letter-spacing:.32em;margin-bottom:1rem}
.shop-title{font-family:'Fraunces',Georgia,serif;font-size:2.25rem;line-height:1.05;color:var(--color-foreground)}
@media (min-width:768px){.shop-title{font-size:3rem}}
@media (min-width:1024px){.shop-title{font-size:3.2rem}}
.shop-text{margin-top:1.25rem;font-size:14px;line-height:1.625;color:var(--fg-65);max-width:36rem}
@media (min-width:768px){.shop-text{font-size:15px}}
.shop-search{position:relative;width:100%}
@media (min-width:1024px){.shop-search{width:20rem}}
.shop-search__icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:var(--fg-40);pointer-events:none}
.shop-search__input{width:100%;height:2.75rem;padding:0 1rem 0 2.75rem;border-radius:9999px;background:var(--color-background);border:1px solid var(--fg-10);font-size:14px;transition:border-color .15s;-webkit-appearance:none;appearance:none}
.shop-search__input::placeholder{color:var(--fg-45)}
.shop-search__input:focus{outline:none;border-color:var(--pr-60)}
.shop-pills{display:flex;flex-wrap:wrap;gap:.625rem;margin-bottom:2.5rem}
.theme-product-grid{display:grid;grid-template-columns:1fr;gap:3rem 1.5rem;align-items:stretch}
@media (min-width:640px){.theme-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.theme-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 1.5rem}
@media (min-width:640px){.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.related-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.shop-empty{text-align:center;padding:5rem 0;color:var(--fg-55)}
.shop-more{margin-top:3rem;display:flex;justify-content:center}
.shop-pagination{margin-top:3rem;text-align:center}
.theme-product-card-wrap.is-filtered-out{display:none}
.product-card{display:flex;flex-direction:column;height:100%}
.product-card__image-wrapper{position:relative;aspect-ratio:4/5;background:var(--color-linen);border-radius:.25rem;overflow:hidden;margin-bottom:1rem;border:1px solid var(--fg-10)}
.product-card__link{position:absolute;inset:0;z-index:0;display:block}
.product-card__img{pointer-events:none;will-change:transform;transition:transform .7s}
.product-card:hover .product-card__img{transform:scale(1.1)}
.product-card__scrim{position:absolute;inset:0;background:linear-gradient(to top,var(--fg-55),transparent,transparent);opacity:0;transition:opacity .5s;pointer-events:none}
.product-card:hover .product-card__scrim{opacity:1}
.product-card__badge{position:absolute;top:.75rem;left:.75rem;z-index:10;border-radius:9999px;font-weight:500;line-height:1rem}
.product-card__badge--sold{background:var(--color-foreground);color:var(--color-background);font-size:11px;padding:.25rem .625rem}
.product-card__badge--pre{background:var(--color-primary);color:var(--color-background);font-size:12px;padding:.25rem .75rem}
.product-card__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:2rem;height:2rem;border-radius:9999px;background:var(--bg-85);display:inline-flex;align-items:center;justify-content:center;color:var(--color-foreground);opacity:0;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:all .3s}
.product-card__nav--prev{left:.5rem}.product-card__nav--next{right:.5rem}
.product-card:hover .product-card__nav{opacity:1}
.product-card__nav:hover{background:var(--color-primary);color:var(--color-background)}
.product-card__dots{position:absolute;top:.75rem;right:.75rem;z-index:10;display:flex;gap:.25rem;pointer-events:none}
.product-card__dot{height:.25rem;width:.25rem;border-radius:9999px;background:var(--bg-60);transition:all .15s}
.product-card__dot.is-active{width:1rem;background:var(--color-background)}
.product-card__actions{position:absolute;left:.75rem;right:.75rem;bottom:.75rem;z-index:20;display:flex;align-items:center;gap:.5rem;opacity:0;transition:opacity .5s ease-out}
.product-card:hover .product-card__actions{opacity:1}
.product-card__quick{width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;background:var(--bg-95);color:var(--color-foreground);box-shadow:0 1px 2px rgba(0,0,0,.05);transition:background-color .3s,color .3s;pointer-events:auto}
.product-card__quick:hover{background:var(--color-primary);color:var(--color-background)}
.theme-product-card-wrap .product-card__add.add_to_cart_button,
.theme-product-card-wrap a.product-card__add{flex:1 1 0%;min-height:2.5rem!important;height:2.5rem;padding:0 1rem!important;border-radius:9999px!important;gap:.5rem;background-color:var(--bg-95)!important;color:var(--color-foreground)!important;font-size:14px!important;font-weight:500!important;letter-spacing:.025em!important;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:background-color .3s,color .3s!important;pointer-events:auto;text-transform:none!important;display:inline-flex!important}
.theme-product-card-wrap .product-card__add.add_to_cart_button:hover,
.theme-product-card-wrap a.product-card__add:hover{background-color:var(--color-primary)!important;color:var(--color-background)!important;opacity:1!important}
.theme-product-card-wrap .product-card__add svg{width:.875rem;height:.875rem}
.product-card__info{display:block;padding:0 .125rem;flex:1}
.product-card__cat{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--pr-90);margin-bottom:.375rem;font-weight:500;line-height:1rem}
.product-card__title{font-family:'Fraunces',Georgia,serif;font-size:1.15rem;line-height:1.375;color:var(--color-foreground);transition:color .3s}
@media (min-width:768px){.product-card__title{font-size:1.3rem}}
@media (min-width:1024px){.product-card__title{font-size:1.4rem}}
.product-card:hover .product-card__title{color:var(--color-primary)}
.product-card__price{margin-top:.375rem;font-size:14px;font-weight:500;color:var(--fg-85)}
.product-card__price .price-currency{font-weight:500}
.product-card__price del{opacity:.6;margin-right:.25rem}
.product-card__price ins{text-decoration:none}

/* FAQ */
.faq-grid{display:grid;align-items:start;gap:3rem}
@media (min-width:1024px){.faq-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:5rem}.faq-grid__intro{position:sticky;top:7rem;grid-column:span 5;align-self:start}.faq-grid__list{grid-column:span 7}}
.faq-card{margin-top:2.5rem;border-radius:1rem;border:1px solid var(--fg-15);background:var(--color-background);padding:1.75rem}
.faq-card__icon{display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:9999px;background:var(--color-primary);color:var(--color-background)}
.faq-card__title{margin-top:1.25rem;font-size:1.25rem;line-height:1.75rem;color:var(--color-foreground)}
.faq-card__text{margin-top:.75rem;font-size:14px;line-height:1.625;color:var(--fg-70)}
.faq-card__btn{margin-top:1.5rem;display:inline-flex;align-items:center;border-radius:9999px;background:var(--color-foreground);padding:.75rem 1.5rem;font-size:14px;font-weight:500;color:var(--color-background);transition:background-color .15s;line-height:1.25rem}
.faq-card__btn:hover{background:var(--color-primary)}
.faq-list{border-top:1px solid var(--fg-15);border-bottom:1px solid var(--fg-15)}
.faq-item+.faq-item{border-top:1px solid var(--fg-15)}
.faq-item__btn{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.5rem 0;text-align:left}
.faq-item__q{font-family:'Fraunces',Georgia,serif;font-size:1.125rem;line-height:1.375;color:var(--color-foreground)}
@media (min-width:640px){.faq-item__q{font-size:1.25rem;line-height:1.75rem}}
.faq-item__chevron{margin-top:.25rem;color:var(--color-primary);transition:transform .3s}
.faq-item.is-open .faq-item__chevron{transform:rotate(180deg)}
.faq-item__panel{display:grid;grid-template-rows:0fr;opacity:0;transition:all .5s}
.faq-item.is-open .faq-item__panel{grid-template-rows:1fr;opacity:1}
.faq-item__panel-inner{min-height:0;overflow:hidden}
.faq-item__a{max-width:42rem;padding:0 1rem 1.75rem 0;font-size:15px;line-height:1.625;color:var(--fg-70)}
@media (min-width:640px){.faq-item__a{padding-right:2rem}}
.faq-more{margin-top:2.5rem;display:flex;justify-content:center}
@media (min-width:1024px){.faq-more{justify-content:flex-start}}
.faq-more__btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;border:1px solid var(--fg-25);padding:.875rem 1.75rem;font-size:14px;font-weight:500;color:var(--color-foreground);transition:background-color .15s,color .15s;line-height:1.25rem}
.faq-more__btn:hover{background:var(--color-foreground);color:var(--color-background)}

/* CTA band */
.cta-section{position:relative;display:flex;min-height:95vh;flex-direction:column;justify-content:space-between;overflow:hidden}
.cta-section__tint{position:absolute;inset:0;background:var(--fg-45)}
.cta-section__gradient{position:absolute;inset:0;background:linear-gradient(to bottom,var(--fg-60),var(--fg-30),var(--fg-80))}
.cta-section__top{position:relative;margin:0 auto;width:100%;max-width:48rem;padding:6rem 1.25rem 0;text-align:center}
@media (min-width:640px){.cta-section__top{padding:7rem 2rem 0}}
.cta-section__title{font-size:2.25rem;line-height:1.05;color:var(--color-background)}
@media (min-width:640px){.cta-section__title{font-size:3rem}}
@media (min-width:1024px){.cta-section__title{font-size:58px}}
.cta-section__text{margin:1.5rem auto 0;max-width:28rem;font-size:14px;line-height:1.625;color:var(--bg-90)}
.cta-section__btn{margin-top:2rem}
.cta-section__bottom{position:relative}
.cta-section__info{display:flex;flex-direction:column;align-items:center;gap:2rem;padding-bottom:3rem;text-align:center}
@media (min-width:640px){.cta-section__info{flex-direction:row;align-items:flex-end;justify-content:space-between;text-align:left}}
.cta-section__hello{font-size:17px;color:var(--bg-75)}
.cta-section__mail{margin-top:.25rem;display:block;word-break:break-all;font-size:20px;color:var(--color-background)}
.cta-section__mail:hover{color:var(--color-secondary)}
@media (min-width:640px){.cta-section__mail{font-size:24px}}
.cta-section__find{font-size:16px;line-height:1.625;color:var(--bg-70)}
@media (min-width:640px){.cta-section__find{text-align:right}}
.cta-section__marquee{padding-bottom:.5rem}
.marquee-row{display:flex;flex-shrink:0;align-items:center}
.marquee-item{display:flex;align-items:center}
.marquee-text{white-space:nowrap;padding:0 1rem;font-family:'Fraunces',Georgia,serif;font-size:13vw;line-height:1;color:var(--bg-90)}
.marquee-dot{padding:0 .5rem;font-family:'Fraunces',Georgia,serif;font-size:9vw;font-style:italic;color:var(--color-secondary)}
@media (min-width:640px){.marquee-text{padding:0 1.5rem;font-size:6vw}.marquee-dot{padding:0 1rem;font-size:3.8vw}}

/* Contact */
.contact-section{padding:6rem 0 3rem}
@media (min-width:768px){.contact-section{padding:8rem 0 4rem}}
.contact-grid{display:grid;grid-template-columns:1fr;align-items:stretch;gap:3rem}
@media (min-width:1024px){.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5rem}}
.contact-info{display:flex;height:100%;flex-direction:column}
.contact-eyebrow{margin-bottom:1rem;letter-spacing:.32em}
.contact-title{font-size:2.25rem;line-height:1.05;color:var(--color-foreground)}
@media (min-width:768px){.contact-title{font-size:3rem}}
@media (min-width:1024px){.contact-title{font-size:3.4rem}}
.contact-text{margin-top:1.5rem;max-width:28rem;font-size:15px;line-height:1.625;color:var(--fg-70)}
.contact-mail{margin-top:2.5rem;display:inline-flex;align-items:center;gap:1rem;color:var(--color-foreground)}
.contact-mail:hover{color:var(--color-primary)}
.contact-mail__icon{display:inline-flex;width:2.75rem;height:2.75rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;border:1px solid var(--fg-15);background:var(--color-background)}
.contact-mail__text{display:flex;min-width:0;flex-direction:column;text-align:left}
.contact-mail__label{font-size:12px;text-transform:uppercase;letter-spacing:.22em;color:var(--fg-55)}
.contact-mail__value{word-break:break-all;font-size:15px;font-weight:500}
.contact-find{margin-top:1.25rem;font-size:14px;color:var(--fg-70)}
.contact-note-wrap{margin-top:auto;padding-top:2.5rem}
.contact-note{position:relative;border-radius:1rem;border:1px solid var(--fg-10);background:var(--bg-70);padding:1.5rem}
@media (min-width:768px){.contact-note{padding:1.75rem}}
.contact-note__badge{position:absolute;top:-.75rem;left:1.5rem;display:inline-flex;align-items:center;gap:.375rem;border-radius:9999px;background:var(--color-primary);padding:.25rem .75rem;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--color-background);line-height:1rem}
.contact-note__quote{border-left:2px solid var(--color-secondary);padding-left:1.25rem;font-family:'Fraunces',Georgia,serif;font-size:1.125rem;font-style:italic;line-height:1.375;color:var(--fg-85)}
@media (min-width:768px){.contact-note__quote{font-size:1.25rem;line-height:1.75rem}}
.contact-note__sub{margin-top:.75rem;padding-left:1.25rem;font-size:13px;letter-spacing:.025em;color:var(--fg-60)}
.contact-form{display:flex;height:100%;flex-direction:column;gap:1rem;border-radius:1rem;border:1px solid var(--fg-10);background:var(--color-background);padding:1.5rem;box-shadow:var(--shadow-soft)}
@media (min-width:768px){.contact-form{padding:2rem}}
.contact-form__fields{flex:1 1 0%;display:flex;flex-direction:column;gap:1rem}
.field-label{margin-bottom:.5rem;display:block;font-size:12px;text-transform:uppercase;letter-spacing:.22em;color:var(--fg-55)}
.field-input{height:3rem;width:100%;border-radius:.75rem;border:1px solid var(--fg-15);background:var(--color-background);padding:0 1rem;font-family:'Nunito',system-ui,sans-serif;font-size:14px;color:var(--color-foreground);transition:border-color .15s}
.field-input::placeholder{color:var(--fg-45)}
.field-input:focus{border-color:var(--color-primary);outline:none}
.field-input--select{-webkit-appearance:none;appearance:none;padding-right:2.5rem}
.field-input--area{height:auto;resize:none;padding-top:.75rem;padding-bottom:.75rem}
.field-select{position:relative}
.field-select__icon{pointer-events:none;position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:var(--fg-45)}
.contact-submit__icon{margin-left:.5rem}
.contact-form__note{text-align:center;font-size:12px;color:var(--fg-50)}

/* Footer */
.site-footer{color:var(--color-background)}
.site-footer__inner{padding-top:3.5rem;padding-bottom:2rem}
@media (min-width:1024px){.site-footer__inner{padding-top:5rem;padding-bottom:2.5rem}}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media (min-width:640px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.footer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:3rem}}
.footer-logo{display:inline-flex;align-items:center;gap:.75rem}
.footer-tagline{margin-top:1.25rem;font-family:'Fraunces',Georgia,serif;font-size:1.25rem;line-height:1.75rem;font-style:italic;color:var(--color-secondary)}
.footer-desc{margin-top:.75rem;max-width:20rem;font-size:14px;line-height:1.625;color:var(--bg-70)}
.footer-heading{margin-bottom:1rem;font-size:1.125rem;line-height:1.75rem;color:var(--color-secondary)}
.footer-links>li+li{margin-top:.625rem}
.footer-links a{font-size:14px;color:var(--bg-70);text-align:left;line-height:1.25rem}
.footer-links a:hover{color:var(--color-background)}
.footer-mail{display:inline-flex;align-items:flex-start;gap:.5rem;word-break:break-all;font-size:14px;color:var(--bg-80);line-height:1.25rem}
.footer-mail:hover{color:var(--color-background)}
.footer-mail__icon{margin-top:.125rem;width:1rem;height:1rem}
.footer-find{margin-top:1rem;font-size:13px;color:var(--bg-70)}
.footer-bottom{margin-top:2.5rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--bg-10);padding-top:1.5rem;text-align:center;font-size:12px;color:var(--bg-55)}
@media (min-width:640px){.footer-bottom{flex-direction:row;text-align:left}}
.footer-credit{margin-top:.25rem;display:inline-block}
.footer-credit:hover{color:var(--color-background)}
.footer-top{display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;border:1px solid var(--sec-60);padding:.5rem 1.25rem;font-size:13px;font-weight:500;color:var(--color-secondary);transition:background-color .15s,color .15s}
.footer-top:hover{background:var(--color-secondary);color:var(--color-foreground)}

/* Promo banner + badge */
.promo-banner{display:none;position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:50;background:var(--color-foreground);color:var(--color-background);border-radius:1rem;box-shadow:var(--shadow-elevated);padding:1rem 1.25rem;align-items:flex-start;gap:.75rem}
.promo-banner.is-visible{display:flex;animation:fade-in .7s ease-out both}
@media (min-width:640px){.promo-banner{bottom:1.5rem;left:auto;right:1.5rem;max-width:26rem}}
.promo-banner__text{flex:1 1 0%;width:100%;font-size:13px;line-height:1.625}
@media (min-width:640px){.promo-banner__text{font-size:15px}}
.promo-banner__close{margin-top:.125rem;flex-shrink:0;height:2.5rem;width:2.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;transition:background-color .15s}
.promo-banner__close:hover{background:var(--bg-10)}
.brand-badge{position:fixed;bottom:1.25rem;right:1.25rem;z-index:40;transition:all .5s;opacity:0;pointer-events:none}
.brand-badge.is-visible{opacity:1;pointer-events:auto}
@media (min-width:640px){.brand-badge{right:1.75rem}}
.brand-badge__card{display:none;position:absolute;bottom:calc(100% + .75rem);right:0;width:248px;border-radius:1rem;border:1px solid var(--fg-10);background:var(--color-background);padding:1.25rem;box-shadow:var(--shadow-elevated)}
.brand-badge.is-open .brand-badge__card{display:block}
.brand-badge__card-close{position:absolute;right:.75rem;top:.75rem;color:var(--fg-45)}
.brand-badge__card-close:hover{color:var(--color-foreground)}
.brand-badge__hello{display:inline-flex;align-items:center;gap:.375rem;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--color-primary);line-height:1rem}
.brand-badge__tagline{margin-top:.5rem;font-family:'Fraunces',Georgia,serif;font-size:1.125rem;line-height:1.375;color:var(--color-foreground)}
.brand-badge__links{margin-top:1rem;font-size:13px}
.brand-badge__links a{display:flex;align-items:center;gap:.625rem;word-break:break-all;color:var(--fg-75)}
.brand-badge__links a:hover{color:var(--color-primary)}
.brand-badge__links svg{flex-shrink:0}
.brand-badge__shop{margin-top:1.25rem;display:block;width:100%;text-align:center;border-radius:9999px;background:var(--color-primary);padding:.625rem 1rem;font-size:13px;font-weight:500;color:var(--color-background);line-height:1.25rem}
.brand-badge__shop:hover{opacity:.9}
.brand-badge__circle{position:relative;display:grid;width:76px;height:76px;place-items:center}
@media (min-width:640px){.brand-badge__circle{width:80px;height:80px}}
.brand-badge__btn{display:grid;width:100%;height:100%;place-items:center;border-radius:9999px;transition:color .3s;color:var(--color-foreground)}
.brand-badge.on-dark .brand-badge__btn{color:var(--color-background)}
.brand-badge__spin{position:absolute;inset:0}
.brand-badge__svg{width:100%;height:100%}
.brand-badge__rotor{transform-origin:center;animation:spin 22s linear infinite}
.brand-badge__text{font-size:8px;letter-spacing:.14em;text-transform:uppercase;font-weight:400;fill:currentColor}
.brand-badge__heart{position:relative;color:var(--color-primary);transition:color .3s}
.brand-badge.on-dark .brand-badge__heart{color:var(--color-secondary)}

/* Cart drawer */
#theme-cart-overlay{display:none;position:fixed;inset:0;background:var(--fg-30);z-index:50}
#theme-cart-drawer{display:none;position:fixed;right:0;top:0;height:100%;width:100%;max-width:28rem;background:var(--color-background);z-index:51;box-shadow:var(--shadow-elevated);flex-direction:column}
body.cart-open #theme-cart-overlay{display:block}
body.cart-open #theme-cart-drawer{display:flex}
body.cart-anim #theme-cart-overlay{animation:fade-in .7s ease-out both}
body.cart-anim #theme-cart-drawer{animation:slide-in-bottom .7s ease-out both}
#theme-cart-drawer.is-updating{opacity:.6;pointer-events:none}
.cart-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--fg-10)}
.cart-drawer__title{font-family:'Fraunces',Georgia,serif;font-size:1.5rem;line-height:2rem;color:var(--color-foreground)}
.cart-drawer__close{padding:.375rem;border-radius:9999px;transition:background-color .15s;display:inline-flex}
.cart-drawer__close:hover{background:var(--fg-6)}
.cart-drawer__empty{flex:1 1 0%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;text-align:center}
.cart-drawer__empty-icon{color:var(--fg-30);margin-bottom:1rem}
.cart-drawer__empty-text{color:var(--fg-65);margin-bottom:1.5rem;font-size:14px}
.cart-drawer__items{flex:1 1 0%;overflow:auto;padding:1.5rem}
.cart-item{display:flex;gap:1rem}
.cart-item+.cart-item{margin-top:1.25rem}
.cart-item__thumb{position:relative;width:5rem;height:6rem;background:var(--color-linen);border-radius:calc(1rem - 2px);overflow:hidden;flex-shrink:0;display:block}
.cart-item__thumb img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.cart-item__body{flex:1 1 0%;min-width:0}
.cart-item__name{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;transition:color .15s;line-height:1.25rem}
.cart-item__name:hover{color:var(--color-primary)}
.cart-item__meta{font-size:12px;color:var(--fg-60)}
.cart-item__meta dl,.cart-item__meta dd,.cart-item__meta p{display:inline;margin:0}
.cart-item__price{font-size:13px;color:var(--fg-60);margin-top:.125rem}
.cart-item__controls{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}
.cart-item__qty-btn{padding:.25rem;border-radius:.25rem;transition:background-color .15s;display:inline-flex}
.cart-item__qty-btn:hover{background:var(--color-linen)}
.cart-item__qty{font-size:13px;width:1.5rem;text-align:center}
.cart-item__remove{margin-left:auto;font-size:13px;color:var(--fg-55);transition:color .15s}
.cart-item__remove:hover{color:var(--color-destructive)}
.cart-drawer__footer{padding:1.5rem;border-top:1px solid var(--fg-10);background:var(--lin-40);display:flex;flex-direction:column;gap:1rem}
.cart-drawer__subtotal{display:flex;justify-content:space-between;font-size:14px}
.cart-drawer__subtotal-label{color:var(--fg-65)}
.cart-drawer__subtotal-value{font-weight:500}
.cart-drawer__note{font-size:13px;color:var(--fg-55)}
.cart-drawer__clear{color:var(--fg-60)}

/* Single product */
.single-product-main{padding-top:calc(var(--header-offset) + 1.5rem);background:var(--color-background)}
.product-breadcrumb{padding:1.5rem 0;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-55)}
.product-breadcrumb a{transition:color .15s}
.product-breadcrumb a:hover{color:var(--color-primary)}
.product-breadcrumb__sep{margin:0 .5rem;opacity:.5}
.product-breadcrumb__current{color:var(--color-foreground)}
.theme-product-layout{display:grid;grid-template-columns:1fr;gap:2.5rem;padding-bottom:5rem;align-items:start;min-width:0}
@media (min-width:1024px){.theme-product-layout{grid-template-columns:repeat(12,minmax(0,1fr));gap:4rem}.theme-product-gallery{grid-column:span 7;position:sticky;top:calc(var(--header-offset) + .75rem);align-self:start}.theme-product-info{grid-column:span 5}}
.theme-product-gallery,.theme-product-info{min-width:0;max-width:100%}
.product-gallery__main{position:relative;aspect-ratio:4/5;width:100%;background:var(--color-linen);border-radius:.25rem;overflow:hidden;margin-bottom:1rem}
.theme-product-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.625rem;max-width:100%}
.product-thumb{position:relative;aspect-ratio:1/1;background:var(--color-linen);border-radius:calc(1rem - 2px);overflow:hidden;border:2px solid transparent;transition:border-color .15s;padding:0}
.product-thumb:hover{border-color:var(--fg-20)}
.product-thumb.is-active{border-color:var(--color-primary)}
.product-info__cat{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--color-primary);margin-bottom:.75rem;font-weight:500}
.product-title{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:1.875rem;line-height:1.05;color:var(--color-foreground);margin-bottom:1rem}
@media (min-width:768px){.product-title{font-size:2.25rem}}
@media (min-width:1024px){.product-title{font-size:2.6rem}}
.product-price{font-size:20px;font-weight:500;color:var(--fg-90);margin-bottom:1.75rem}
.product-price__each{margin-left:.5rem;font-size:13px;font-weight:400;color:var(--fg-55)}
.product-price .price-currency{font-weight:500}
.product-description{font-size:15px;line-height:1.625;color:var(--fg-75);margin-bottom:2rem}
.product-description p+p{margin-top:1rem}
.theme-qty-block{margin-bottom:1.5rem}
.theme-qty-label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-55);margin-bottom:.625rem}
.theme-quantity-wrapper{display:inline-flex;align-items:center;border:1px solid var(--fg-20);border-radius:9999px}
.theme-qty-minus,.theme-qty-plus{padding:.625rem 1rem;transition:color .15s;display:inline-flex}
.theme-qty-minus:hover,.theme-qty-plus:hover{color:var(--color-primary)}
.theme-qty-input{width:44px;min-width:44px;text-align:center;font-size:14px;font-weight:500;padding:.625rem 0;border:0;background:transparent;-moz-appearance:textfield;appearance:textfield}
.theme-qty-input::-webkit-outer-spin-button,.theme-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.theme-add-to-cart-area{display:flex;flex-direction:column;gap:.75rem;align-items:stretch}
@media (min-width:640px){.theme-add-to-cart-area{flex-direction:row}}
.single-product .theme-add-to-cart-area{display:flex;align-items:stretch;flex-wrap:wrap;gap:.75rem}
.single-product .single_add_to_cart_button{flex:1 1 auto;min-width:160px}
.single-product .theme-add-to-cart-area .theme-buy-now{flex:1 1 auto;min-width:160px}
.single-product .woocommerce-product-details__short-description,.single-product .woocommerce-variation-description,.single-product .posted_in{overflow-wrap:break-word;word-break:break-word}
.single-product .woocommerce-message,.single-product .woocommerce-info{display:none}
.theme-attr-select-hidden{display:none!important}
.single-product .variations,.single-product .variations tbody,.single-product .variations tr,.single-product .variations td{display:block;width:100%}
.single-product .variations{margin-bottom:1.5rem}
.single-product .variations td.label{padding-bottom:.25rem}
.single-product .variations label{font-family:'Nunito',system-ui,sans-serif;font-weight:600;font-style:normal;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-55)}
.theme-attr-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
.theme-attr-pill{border-radius:9999px;border:1px solid var(--fg-25);padding:.5rem 1rem;font-size:14px;font-weight:500;transition:all .15s}
.theme-attr-pill:hover{border-color:var(--color-foreground)}
.theme-attr-pill.is-selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-background)}
.single-product .reset_variations{display:none!important}
.product-details{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--fg-10)}
.product-details__title{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-55);margin-bottom:1rem}
.woocommerce-product-details__short-description ul{list-style:none;padding:0}
.woocommerce-product-details__short-description li{font-size:14px;color:var(--fg-75);display:flex;align-items:flex-start;line-height:1.25rem}
.woocommerce-product-details__short-description li+li{margin-top:.625rem}
.woocommerce-product-details__short-description li::before{content:"";width:.25rem;height:.25rem;background:var(--color-primary);border-radius:9999px;margin-top:.625rem;margin-right:.75rem;flex-shrink:0}
.product-trust{margin-top:2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding-top:1.5rem;border-top:1px solid var(--fg-10)}
.product-trust__item{text-align:center}
.product-trust__item svg{margin:0 auto .5rem;color:var(--color-primary)}
.product-trust__item p{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--fg-60)}
.related-products-section{padding:5rem 0;border-top:1px solid var(--fg-10)}
.related-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.5rem}
.related-title{font-family:'Fraunces',Georgia,serif;font-size:1.875rem;line-height:2.25rem;color:var(--color-foreground)}
@media (min-width:768px){.related-title{font-size:2.25rem;line-height:2.5rem}}
.related-all{display:none;align-items:center;gap:.375rem;font-size:14px;font-weight:500;color:var(--fg-70);transition:color .15s}
.related-all:hover{color:var(--color-primary)}
@media (min-width:640px){.related-all{display:inline-flex}}

/* 404 + pages */
.not-found{padding-top:0}
.not-found__inner{display:flex;min-height:100vh;align-items:center;justify-content:center;background:var(--color-muted)}
.not-found__box{text-align:center}
.not-found__title{margin-bottom:1rem;font-size:2.25rem;line-height:2.5rem;font-weight:700}
.not-found__text{margin-bottom:1rem;font-size:1.25rem;line-height:1.75rem;color:var(--color-muted-foreground)}
.not-found__link{color:var(--color-primary);text-decoration:underline}
.not-found__link:hover{opacity:.9}
.page-content{padding-top:calc(var(--header-offset) + 1.5rem);padding-bottom:4rem;min-height:60vh}
.page-title{font-family:'Fraunces',Georgia,serif;font-size:2.25rem;line-height:1.1;color:var(--color-foreground);margin-bottom:2rem}
@media (min-width:768px){.page-title{font-size:3rem}}
.entry-content{max-width:100%}

/* WooCommerce notices (shop pages keep them visible, themed) */
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:0 0 1.5rem;padding:1rem 1.25rem;border-radius:.75rem;border:1px solid var(--fg-15);background:var(--color-background);font-size:14px;color:var(--color-foreground)}
.woocommerce-error{border-color:var(--color-destructive);color:var(--color-destructive)}
#theme-cart-drawer .woocommerce-message{display:none}

/* Checkout / cart / account (native blocks) */
body.woocommerce-checkout .site-main,body.woocommerce-cart .site-main,body.woocommerce-account .site-main,body.woocommerce-page .shop-archive{padding-top:calc(var(--header-offset) + 1.5rem);padding-bottom:4rem}
body.woocommerce-checkout .page-content,body.woocommerce-cart .page-content,body.woocommerce-account .page-content{padding-top:0;max-width:80rem}
body.woocommerce-checkout .page-title,body.woocommerce-cart .page-title,body.woocommerce-account .page-title{max-width:100%}
body.woocommerce-checkout .wc-block-checkout,body.woocommerce-cart .wc-block-cart{font-family:'Nunito',system-ui,sans-serif;color:var(--color-foreground)}
@media (min-width:768px){
	body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout.is-large{display:grid;grid-template-columns:1fr 1fr;gap:var(--checkout-gap,2rem);align-items:start}
}
body.woocommerce-checkout .wc-block-checkout{display:block}
body.woocommerce-checkout .wc-block-checkout__main,body.woocommerce-checkout .wc-block-checkout__sidebar{min-width:0;width:100%;max-width:none;padding:0}
body.woocommerce-checkout .wc-block-components-notice-banner{grid-column:1 / -1;border-radius:.75rem;border:1px solid var(--fg-15);background:var(--color-background);color:var(--color-foreground)}
body.woocommerce-checkout .wc-block-checkout__sidebar{background-color:var(--color-linen);border-radius:var(--card-radius);padding:var(--section-padding)}
body.woocommerce-checkout .wc-block-components-text-input input,body.woocommerce-checkout .wc-block-components-select select,body.woocommerce-checkout .wc-block-components-textarea textarea{width:100%!important;max-width:none!important;border:1px solid var(--fg-15);border-radius:.75rem;background:var(--color-background);color:var(--color-foreground);font-family:'Nunito',system-ui,sans-serif;font-size:14px}
body.woocommerce-checkout .wc-block-components-text-input input:focus,body.woocommerce-checkout .wc-block-components-select select:focus{border-color:var(--color-primary);outline:none;box-shadow:none}
body.woocommerce-checkout .wc-block-components-text-input input::placeholder{color:var(--fg-45)}
body.woocommerce-checkout .wc-block-components-title,body.woocommerce-checkout .wc-block-components-checkout-step__title{font-family:'Fraunces',Georgia,serif;font-weight:400;color:var(--color-foreground)}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,body.woocommerce-checkout .wc-block-components-button:not(.is-link){background:var(--color-primary);color:var(--color-background);border-radius:9999px;border:1px solid var(--color-primary);font-family:'Nunito',system-ui,sans-serif;font-weight:500;font-size:14px;text-transform:none}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover{background:var(--pr-90)}
body.woocommerce-checkout .wc-block-cart-items{color:var(--color-foreground)}
body.woocommerce-cart .wc-block-cart__submit-button,body.woocommerce-cart .wc-block-components-button{background:var(--color-primary);color:var(--color-background);border-radius:9999px;font-weight:500;text-transform:none}

/* Thank you */
body.theme-thankyou-page{overflow-x:hidden}
body.theme-thankyou-page .woocommerce-order{font-size:15px;color:var(--fg-75)}
body.theme-thankyou-page .woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:1rem 2rem;padding:1.5rem;margin:0 0 2rem;border:1px solid var(--fg-15);border-radius:1rem;background:var(--color-linen);list-style:none}
body.theme-thankyou-page .woocommerce-order-overview li{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-55)}
body.theme-thankyou-page .woocommerce-order-overview li strong{display:block;margin-top:.25rem;font-size:15px;letter-spacing:0;text-transform:none;color:var(--color-foreground)}
body.theme-thankyou-page .woocommerce-order h2,body.theme-thankyou-page .woocommerce-order-details__title{font-size:1.5rem;color:var(--color-foreground);padding:0 0 1rem 0}
body.theme-thankyou-page .woocommerce-order-details table{width:100%;table-layout:fixed;border-collapse:collapse}
body.theme-thankyou-page .woocommerce-order-details th,body.theme-thankyou-page .woocommerce-order-details td{padding:.75rem 0;border-bottom:1px solid var(--fg-10);text-align:left}
body.theme-thankyou-page .woocommerce-order-details tfoot th{text-align:left}
body.theme-thankyou-page .woocommerce-order-details tfoot td{text-align:right}
body.theme-thankyou-page .woocommerce-customer-details{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}
body.theme-thankyou-page .woocommerce-customer-details address{max-width:480px;overflow-wrap:break-word;font-style:normal;padding:1.25rem;border:1px solid var(--fg-15);border-radius:1rem}
