/*
 * The Knotty Sisters theme styles. By The Free Website Guys.
 * Colors come from the HSL design tokens converted to hex (theme_hsl_to_hex); the Customizer re-emits them inline.
 */
:root{--color-background:#fcf9f3;--color-foreground:#211f33;--color-primary:#ce2258;--color-primary-foreground:#fdfbf6;--color-secondary:#c5e7e5;--color-accent:#f9bc43;--color-ivory:#fefcf8;--color-linen:#f9f4ec;--color-bone:#efe7dc;--color-rose:#2ba19b;--color-rose-foreground:#fdfbf6;--color-border:#e6e0d5;--color-destructive:#db2424;--color-muted:#f4efe6;--color-muted-foreground:#615e78;--color-button-text:var(--color-primary-foreground);--font-body:'Nunito Sans',system-ui,-apple-system,sans-serif;--btn-radius:9999px;--btn-height:3rem;--btn-padding:.625rem 1.75rem;--btn-font-size:14px;--btn-font-weight:500;--btn-letter-spacing:normal;--btn-text-transform:none;--logo-height:56px;--header-height:7rem;--checkout-gap:2rem;--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-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-50:color-mix(in srgb,var(--color-foreground) 50%,transparent);}

/* ---------- Reset (Tailwind preflight parity) ---------- */
*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--color-border)}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:'Nunito Sans',system-ui,-apple-system,sans-serif;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}
html,body{max-width:100%;overflow-x:clip}
body{margin:0;line-height:inherit;background:var(--color-background);color:var(--color-foreground);font-family:'Nunito Sans',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}
h1,h2,h3,h4,h5,h6,.font-display{font-family:'Nunito Sans',system-ui,-apple-system,sans-serif;letter-spacing:0;font-weight:600}
p,figure,blockquote,ul,ol,dl,dd,pre{margin:0}
ul,ol{list-style:none;padding:0}
a{color:inherit;text-decoration:inherit}
img,svg,video{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
button,input,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0;background:transparent;border-radius:0}
button,[role=button]{cursor:pointer;background-color:transparent;background-image:none;-webkit-appearance:button;appearance:button}
button,a{cursor:pointer}
button:disabled{cursor:default}
select{appearance:none}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{opacity:1;color:var(--fg-45)}
em{font-style:italic}
table{border-collapse:collapse;border-color:inherit;text-indent:0}
section[id]{scroll-margin-top:80px}
[hidden]{display:none!important}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

/* ---------- Utilities ---------- */
.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}}
.fill-abs{position:absolute;inset:0}
.no-pointer{pointer-events:none}
.fill-current{fill:currentColor}
.icon-3{width:.75rem;height:.75rem}.icon-4{width:1rem;height:1rem}.icon-5{width:1.25rem;height:1.25rem}.icon-12{width:3rem;height:3rem}
.mr-2{margin-right:.5rem}
.scrim-radial{background-image:radial-gradient(at center,hsl(246 30% 10%/.3) 0%,hsl(246 30% 10%/.55) 70%,hsl(246 30% 10%/.75) 100%)}
.sparkle-dust{background-image:radial-gradient(circle at 12% 22%,hsl(341 75% 62%/.5) 0 2px,transparent 2.6px),radial-gradient(circle at 78% 14%,hsl(177 58% 52%/.5) 0 2.2px,transparent 2.8px),radial-gradient(circle at 32% 78%,hsl(40 94% 62%/.5) 0 1.8px,transparent 2.4px),radial-gradient(circle at 62% 62%,hsl(268 55% 70%/.45) 0 2px,transparent 2.6px),radial-gradient(circle at 90% 82%,hsl(200 70% 62%/.45) 0 1.8px,transparent 2.4px);background-size:340px 340px}
.cover-img,.hero-bg-img,.product-card-img,.product-main-img-el,.product-thumb-img,.blog-card__img,.cover-cart-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---------- Animations ---------- */
@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 marquee{0%{transform:translateX(0)}100%{transform:translateX(-33.3333%)}}
@keyframes twinkle{0%,100%{opacity:.35;transform:scale(.88)}50%{opacity:1;transform:scale(1.1)}}
@keyframes pulse{50%{opacity:.5}}
.twinkle{animation:twinkle 3.5s ease-in-out infinite}
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity 900ms cubic-bezier(.22,1,.36,1),transform 900ms cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
[data-reveal].is-revealed{opacity:1;transform:translateY(0)}
body.is-customizer [data-reveal],body.is-customizer .reveal-item,body.is-customizer .scale-in-item{opacity:1;transform:none}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;border-radius:9999px;font-size:14px;font-weight:500;line-height:1.5;height:2.75rem;padding:.625rem 1.5rem;border:1px solid transparent;transition:color .15s,background-color .15s,border-color .15s;text-transform:none;text-decoration:none}
.btn svg{width:1rem;height:1rem;flex-shrink:0;pointer-events:none}
.btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-background),0 0 0 4px var(--color-primary)}
.btn:disabled{pointer-events:none;opacity:.6}
.btn-lg{height:3rem;padding-left:1.75rem;padding-right:1.75rem}
.btn-sm{height:2.25rem;padding-left:1rem;padding-right:1rem}
.btn-block{width:100%}
.btn-primary{background:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary)}
.btn-primary:hover{background:color-mix(in srgb,var(--color-primary) 90%,transparent)}
.btn-rose{background:var(--color-rose);color:var(--color-rose-foreground);border-color:var(--color-primary)}
.btn-rose:hover{background:color-mix(in srgb,var(--color-rose) 90%,transparent)}
.btn-outline{background:transparent;color:var(--color-foreground);border-color:var(--fg-25)}
.btn-outline:hover{border-color:var(--color-foreground);background:var(--fg-4)}
.btn-glass{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.4);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.btn-glass:hover{background:rgba(255,255,255,.2)}
.btn-ghost{border-color:transparent}
.btn-ghost:hover{background:var(--fg-5)}

/* ---------- Header ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50}
body.admin-bar .site-header{top:var(--wp-admin--admin-bar--height,32px)}
body.admin-bar section[id]{scroll-margin-top:calc(80px + var(--wp-admin--admin-bar--height,32px))}
@media screen and (max-width:782px){
	body.admin-bar .site-header{top:var(--wp-admin--admin-bar--height,46px)}
	body.admin-bar section[id]{scroll-margin-top:calc(80px + var(--wp-admin--admin-bar--height,46px))}
}
@media(min-width:1024px){
	body.admin-bar .theme-product-gallery{top:calc(7rem + var(--wp-admin--admin-bar--height,32px))}
}
.announcement-bar{background:var(--color-foreground);color:var(--color-background);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:.5rem 0;text-align:center}
.announcement-bar__text{opacity:.9}
.announcement-bar__accent{color:var(--color-accent)}
.header-bar{transition:background-color .5s cubic-bezier(.4,0,.2,1),border-color .5s cubic-bezier(.4,0,.2,1);background:transparent;border-bottom:1px solid transparent}
.site-header.is-solid .header-bar,.site-header.is-open .header-bar{background:color-mix(in srgb,var(--color-ivory) 90%,transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-bottom-color:var(--fg-10)}
.header-row{display:flex;align-items:center;justify-content:space-between;height:5rem}
.header-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:9999px;color:#fff;transition:background-color .15s,color .15s}
.header-icon-btn:hover{background:rgba(255,255,255,.1)}
.site-header.is-solid .header-icon-btn,.site-header.is-open .header-icon-btn{color:var(--color-foreground)}
.site-header.is-solid .header-icon-btn:hover,.site-header.is-open .header-icon-btn:hover{background:var(--fg-6)}
.header-toggle{order:1}
.header-toggle .icon-close{display:none}
.site-header.is-open .header-toggle .icon-open{display:none}
.site-header.is-open .header-toggle .icon-close{display:inline-flex}
.site-brand{display:flex;align-items:center;flex-shrink:0;order:2;min-width:0}
.site-logo-img{height:calc(var(--logo-height)*.714)!important;width:auto!important;display:block;max-width:11rem;object-fit:contain;box-shadow:0 4px 20px -8px hsl(246 30% 20%/.18)}
.site-logo-text{display:block;line-height:var(--logo-height);font-size:1.25rem;font-weight:700;color:#fff}
.site-header.is-solid .site-logo-text,.site-header.is-open .site-logo-text{color:var(--color-foreground)}
@media(min-width:640px){.site-logo-img{height:calc(var(--logo-height)*.857)!important;max-width:13rem}}
.header-nav{display:none}
.header-actions{display:flex;align-items:center;gap:.5rem;justify-self:end;order:3}
.theme-nav-list{display:flex;align-items:center;gap:1rem}
.nav-link{position:relative;font-size:13px;font-weight:600;color:rgba(255,255,255,.85);transition:color .3s;white-space:nowrap}
.nav-link:hover,.nav-link.is-active{color:#fff}
.nav-link::after{content:"";pointer-events:none;position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:9999px;background:var(--color-accent);opacity:0;transform:scaleX(0);transition:all .3s cubic-bezier(.4,0,.2,1)}
.nav-link.is-active::after{opacity:1;transform:scaleX(1)}
.site-header.is-solid .nav-link,.site-header.is-open .nav-link{color:color-mix(in srgb,var(--color-foreground) 75%,transparent)}
.site-header.is-solid .nav-link:hover,.site-header.is-open .nav-link:hover,.site-header.is-solid .nav-link.is-active,.site-header.is-open .nav-link.is-active{color:var(--color-primary)}
.site-header.is-solid .nav-link::after,.site-header.is-open .nav-link::after{background:var(--color-primary)}
.theme-cart-count{position:absolute;top:-2px;right:-2px;background:var(--color-primary);color:var(--color-primary-foreground);font-size:12px;font-weight:600;min-width:18px;height:18px;padding:0 4px;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:color-mix(in srgb,var(--color-ivory) 95%,transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);animation:fade-in .7s ease-out both}
.site-header.is-open .mobile-menu{display:block}
.mobile-menu__inner{padding-top:1rem;padding-bottom:1rem}
.theme-mobile-nav-list{display:flex;flex-direction:column}
.theme-mobile-nav-list li{border-bottom:1px solid var(--fg-10)}
.theme-mobile-nav-list li:last-child{border-bottom:0}
.mobile-nav-link{display:block;text-align:left;font-size:14px;font-weight:600;padding:.75rem 0;color:var(--fg-80);transition:color .15s}
.mobile-nav-link:hover{color:var(--color-primary)}
@media(min-width:1280px){
	.header-row{display:grid;grid-template-columns:1fr auto 1fr;height:6rem}
	.header-toggle{display:none}
	.site-brand{order:1;justify-self:start}
	.site-logo-img{height:var(--logo-height)!important}
	.header-nav{display:flex;align-items:center;justify-self:center;order:2}
	.header-actions{order:3}
	.mobile-menu,.site-header.is-open .mobile-menu{display:none}
}

/* ---------- Hero ---------- */
.hero-section{position:relative;min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;will-change:transform}
.hero-bg-img{transform-origin:center;will-change:transform}
.hero-tint{background:var(--fg-40)}
.hero-sparkle{opacity:.6}
.hero-content{position:relative;z-index:10;text-align:center;color:#fff;padding-top:10rem;padding-bottom:6rem}
@media(min-width:1024px){.hero-content{padding-top:13rem;padding-bottom:8rem}}
.hero-badge-wrap{display:flex;justify-content:center;margin-bottom:1.75rem}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem 1rem;border-radius:9999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#fff;font-weight:600}
.hero-badge__icon{width:.875rem;height:.875rem;color:var(--color-rose)}
.hero-title{font-weight:600;color:#fff;line-height:1.02;margin-left:auto;margin-right:auto;max-width:64rem;filter:drop-shadow(0 2px 30px rgba(0,0,0,.55));font-size:clamp(2rem,5.4vw,4.4rem)}
.hero-title__em{font-style:italic;color:var(--color-accent)}
.br-sm{display:none}
@media(min-width:640px){.br-sm{display:block}}
.hero-text{margin:1.75rem auto 0;max-width:42rem;font-size:14px;color:rgba(255,255,255,.85);line-height:1.625}
@media(min-width:640px){.hero-text{font-size:15px}}
.hero-actions{margin-top:2.5rem;display:flex;flex-direction:column;gap:.75rem;justify-content:center}
@media(min-width:640px){.hero-actions{flex-direction:row;gap:1rem}}
.hero-scroll-hint{position:absolute;bottom:2rem;left:50%;z-index:10;transform:translateX(-50%);pointer-events:none}
.hero-scroll-hint__line{height:3rem;width:1px;background:rgba(255,255,255,.5);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}

/* ---------- Shared section typography ---------- */
.eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--color-primary);margin-bottom:1rem;font-weight:600}
.eyebrow--sm{letter-spacing:.28em;margin-bottom:.75rem}
.section-heading{font-size:2.25rem;line-height:1.05;color:var(--color-foreground)}
@media(min-width:768px){.section-heading{font-size:3rem}}
@media(min-width:1024px){.section-heading{font-size:3.4rem}.section-heading--md{font-size:3.2rem}.section-heading--sm{font-size:3rem}}
.section-intro{max-width:42rem;margin-bottom:3.5rem}
.section-intro--lg{max-width:48rem}
.section-intro__text{margin-top:1.5rem;font-size:14px;color:var(--fg-70);line-height:1.625}
@media(min-width:768px){.section-intro__text{font-size:15px}}
.card-title{font-size:1.5rem;line-height:2rem;color:var(--color-foreground);margin-bottom:.75rem}
.card-text{font-size:14px;line-height:1.625;color:var(--fg-70)}
.card-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:768px){.card-grid{gap:1.5rem}.card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:640px){.card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.info-card__icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:9999px;background:var(--color-primary);color:var(--color-primary-foreground);margin-bottom:1.25rem}
.info-card,.policy-card{border:1px solid var(--fg-10);border-radius:1rem;padding:1.75rem;transition:border-color .15s,color .15s}
.info-card{background:var(--color-ivory)}
.policy-card{background:var(--color-linen)}
.info-card:hover,.policy-card:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,transparent)}
@media(min-width:768px){.info-card,.policy-card{padding:2rem}}

/* ---------- About ---------- */
.about-section{background:var(--color-linen);padding:6rem 0}
@media(min-width:768px){.about-section{padding:8rem 0}}
.about-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:stretch}
@media(min-width:1024px){.about-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:4rem}.about-photo-col{grid-column:span 5/span 5}.about-copy{grid-column:span 7/span 7;padding-left:1.5rem}}
.about-photo-col{position:relative;display:flex}
.about-photo{position:relative;width:100%;min-height:520px;aspect-ratio:4/5;overflow:hidden;border-radius:1rem;background:var(--color-bone);box-shadow:0 20px 50px -18px hsl(246 30% 20%/.3)}
@media(min-width:1024px){.about-photo{min-height:0;aspect-ratio:auto}}
.about-photo__tag{position:absolute;top:1rem;left:1rem;display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:9999px;background:var(--color-primary);color:var(--color-primary-foreground);font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.about-photo__dot{width:.375rem;height:.375rem;border-radius:9999px;background:#fff}
.about-copy .eyebrow{margin-bottom:1.25rem}
.about-quote{margin-top:2rem;font-size:1.25rem;font-style:italic;color:var(--fg-75);line-height:1.375;border-left:2px solid color-mix(in srgb,var(--color-primary) 70%,transparent);padding-left:1.25rem}
@media(min-width:768px){.about-quote{font-size:1.5rem}}
.about-quote__author{display:block;margin-top:.5rem;font-style:normal;font-family:'Caveat','Nunito Sans',cursive;font-size:1.5rem;line-height:2rem;color:var(--color-primary)}
.about-paragraphs{margin-top:2.5rem;max-width:65ch;font-size:15px;line-height:1.625;color:var(--fg-80)}
.about-paragraphs p+p{margin-top:1.25rem}
@media(min-width:768px){.about-paragraphs{font-size:1rem}}
.about-pills{margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.pill{display:inline-flex;align-items:center;gap:.5rem;height:2.75rem;padding:0 1.25rem;border-radius:9999px;border:1px solid var(--fg-15);background:var(--color-ivory);font-size:14px;font-weight:600}
.pill-link{transition:background-color .15s,color .15s,border-color .15s}
.pill-link:hover{background:var(--color-primary);color:var(--color-primary-foreground);border-color:var(--color-primary)}
.pill-static{color:var(--fg-70)}
.about-stats{margin-top:2.5rem;display:grid;grid-template-columns:1fr;gap:1.5rem;border-top:1px solid var(--fg-15);padding-top:2rem}
@media(min-width:640px){.about-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
.about-stat{min-width:0}
.about-stat__value{font-size:1.25rem;line-height:1.75rem;color:var(--color-primary);overflow-wrap:break-word;font-weight:600}
.about-stat__label{margin-top:.25rem;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--fg-60)}

/* ---------- Shop ---------- */
.shop-section,.services-section,.blog-section{background:var(--color-ivory);padding:6rem 0}
@media(min-width:768px){.shop-section,.services-section,.blog-section{padding:8rem 0}}
.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__copy{max-width:42rem}
.shop-head__text{margin-top:1.25rem;font-size:14px;color:var(--fg-70);line-height:1.625;max-width:36rem}
@media(min-width:768px){.shop-head__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)}
.shop-search input{width:100%;height:2.75rem;padding:0 1rem 0 2.75rem;border-radius:9999px;background:var(--color-linen);border:1px solid var(--fg-10);font-size:14px;transition:border-color .15s;outline:none;-webkit-appearance:none;appearance:none}
.shop-search input:focus{border-color:color-mix(in srgb,var(--color-primary) 60%,transparent)}
.shop-pills{display:flex;flex-wrap:wrap;gap:.625rem;margin-bottom:3.5rem}
.shop-pill{display:inline-flex;align-items:center;padding:0 1.25rem;height:2.5rem;border-radius:9999px;font-size:14px;font-weight:600;border:1px solid var(--fg-15);color:var(--fg-75);transition:color .15s,border-color .15s}
.shop-pill:hover{border-color:var(--color-primary);color:var(--color-primary)}
.shop-empty{text-align:center;padding:5rem 0;color:var(--fg-55)}
.shop-collections{display:flex;flex-direction:column;gap:5rem}
@media(min-width:768px){.shop-collections{gap:6rem}}
.shop-collection{scroll-margin-top:7rem}
.shop-collection.is-filtered-out,.theme-product-card-wrap.is-filtered-out{display:none}
.shop-collection__head{margin-bottom:2rem;max-width:42rem}
.shop-collection__title{font-size:1.875rem;line-height:1.25;color:var(--color-foreground)}
@media(min-width:768px){.shop-collection__title{font-size:2.25rem;line-height:2.5rem}}
.shop-collection__blurb{margin-top:1rem;font-size:14px;color:var(--fg-70);line-height:1.625}

/* ---------- Product grid & card ---------- */
.theme-product-grid{display:grid;grid-template-columns:1fr;gap:2.5rem 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))}.theme-product-grid--related{grid-template-columns:repeat(4,minmax(0,1fr))}}
.theme-product-grid--related{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:1024px){.theme-product-grid--related{grid-template-columns:repeat(4,minmax(0,1fr))}}
.theme-product-card-wrap{display:block;height:100%}
.theme-product-card{display:flex;flex-direction:column;height:100%}
.theme-product-card__image-wrapper{position:relative;aspect-ratio:1/1;background:var(--color-linen);border-radius:.75rem;overflow:hidden;margin-bottom:1rem}
.theme-card-link{position:absolute;inset:0;z-index:0;display:block}
.product-card-img{will-change:transform;transition:transform 1400ms cubic-bezier(.22,.61,.36,1);pointer-events:none}
.theme-product-card:hover .product-card-img{transform:scale(1.04)}
.card-scrim{position:absolute;inset:0;background:linear-gradient(to top,var(--fg-35),transparent 50%,transparent);opacity:0;transition:opacity .5s;pointer-events:none}
.theme-product-card:hover .card-scrim{opacity:1}
.card-badge{position:absolute;top:.75rem;left:.75rem;z-index:10;background:var(--color-foreground);color:var(--color-background);font-size:11px;font-weight:500;padding:.25rem .625rem;border-radius:9999px}
.card-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:2rem;height:2rem;border-radius:9999px;background:color-mix(in srgb,var(--color-background) 85%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:inline-flex;align-items:center;justify-content:center;color:var(--color-foreground);opacity:0;transition:all .3s;box-shadow:0 1px 2px rgba(0,0,0,.05);pointer-events:auto}
.card-nav--prev{left:.5rem}.card-nav--next{right:.5rem}
.theme-product-card:hover .card-nav{opacity:1}
.card-nav:hover{background:var(--color-primary);color:var(--color-primary-foreground)}
.card-dots{position:absolute;top:.75rem;right:.75rem;z-index:10;display:flex;gap:.25rem;pointer-events:none}
.card-dot{height:.25rem;width:.25rem;border-radius:9999px;background:color-mix(in srgb,var(--color-background) 60%,transparent);transition:all .15s}
.card-dot.is-active{width:1rem;background:var(--color-background)}
.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;pointer-events:auto}
.theme-product-card:hover .card-actions{opacity:1}
.card-quickview{width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;background:color-mix(in srgb,var(--color-background) 95%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-foreground);transition:all .3s;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.card-quickview:hover{background:var(--color-primary);color:var(--color-primary-foreground)}
.theme-product-card__info{display:block;padding:0 .125rem;flex:1}
.card-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:color-mix(in srgb,var(--color-primary) 90%,transparent);margin-bottom:.375rem;font-weight:500}
.card-name{display:block;font-size:1.15rem;line-height:1.375;color:var(--color-foreground);font-weight:600;transition:color .3s}
.theme-product-card:hover .card-name{color:var(--color-primary)}
.card-price{display:block;margin-top:.375rem;font-size:14px;font-weight:500;color:var(--fg-85)}
@media(min-width:768px){.card-name{font-size:1.3rem}}
@media(min-width:1024px){.card-name{font-size:1.4rem}}
.icon-handbag{width:.875rem;height:.875rem}

/* ---------- Marquee ---------- */
.marquee-band{background:var(--color-primary);padding:1.25rem 0;overflow:hidden}
.marquee-track{display:flex;white-space:nowrap;animation:marquee 22s linear infinite}
.marquee-item{display:flex;align-items:center;flex-shrink:0;color:color-mix(in srgb,var(--color-primary-foreground) 95%,transparent);font-size:1.125rem;line-height:1.75rem;letter-spacing:.025em}
.marquee-item__text{margin:0 1.5rem}
.marquee-item__star{color:color-mix(in srgb,var(--color-primary-foreground) 60%,transparent);font-size:.875rem;line-height:1.25rem}
@media(min-width:768px){.marquee-item{font-size:1.25rem}.marquee-item__text{margin:0 2rem}}

/* ---------- Services ---------- */
.service-card{display:flex;flex-direction:column;background:var(--color-linen);border:1px solid var(--fg-10);border-radius:1rem;overflow:hidden;transition:border-color .15s}
.service-card:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,transparent)}
.service-card__media{position:relative;aspect-ratio:4/3;overflow:hidden}
.service-card__img{transition:transform .7s cubic-bezier(.4,0,.2,1)}
.service-card:hover .service-card__img{transform:scale(1.05)}
.service-card__icon{position:absolute;top:1rem;left:1rem;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:9999px;background:var(--color-primary);color:var(--color-primary-foreground);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);transition:transform .3s}
.service-card:hover .service-card__icon{transform:rotate(20deg)}
.service-card__body{padding:1.75rem}
@media(min-width:768px){.service-card__body{padding:2rem}}

/* ---------- Markets ---------- */
.markets-section,.policies-section{border-top:1px solid var(--fg-10);padding:6rem 0}
.markets-section{background:var(--color-linen)}
.policies-section{background:var(--color-ivory)}
@media(min-width:768px){.markets-section,.policies-section{padding:8rem 0}}
.markets-cta{margin-top:2.5rem}

/* ---------- Blog ---------- */
.blog-head{margin-bottom:2.5rem;display:flex;flex-direction:column;gap:1.25rem}
@media(min-width:640px){.blog-head{flex-direction:row;align-items:flex-end;justify-content:space-between}}
.blog-head__copy{max-width:42rem}
.blog-head__title{font-size:2.25rem;font-weight:600;line-height:1.05;color:var(--color-foreground)}
@media(min-width:768px){.blog-head__title{font-size:3rem}}
.blog-head__text{margin-top:1.25rem;font-size:14px;line-height:1.625;color:var(--fg-70)}
@media(min-width:768px){.blog-head__text{font-size:15px}}
.blog-head__all{display:inline-flex;align-items:center;gap:.5rem;font-size:14px;font-weight:600;color:var(--color-primary)}
.blog-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media(min-width:768px){.blog-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.blog-grid--page{grid-template-columns:repeat(2,minmax(0,1fr));gap:3.5rem 2rem}}
@media(min-width:1024px){.blog-grid--page{grid-template-columns:repeat(3,minmax(0,1fr))}}
.blog-card__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:1rem;background:var(--color-linen)}
.blog-card__img{transition:transform .5s}
.blog-card:hover .blog-card__img{transform:scale(1.03)}
.blog-card__date{margin-top:1.25rem;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--color-primary)}
.blog-card__title{margin-top:.5rem;font-size:1.5rem;font-weight:600;line-height:1.25;color:var(--color-foreground)}
.blog-card__title a{transition:color .15s}
.blog-card__title a:hover{color:var(--color-primary)}
.blog-card__excerpt{margin-top:.75rem;font-size:14px;line-height:1.625;color:var(--fg-70)}
.blog-card__more{margin-top:1.25rem;display:inline-flex;align-items:center;gap:.5rem;font-size:14px;font-weight:600;color:var(--color-primary)}
.blog-error{border-top:1px solid var(--fg-15);border-bottom:1px solid var(--fg-15);padding:3rem 0;text-align:center;font-size:14px;color:var(--fg-70)}
.blog-empty{border-top:1px solid var(--fg-15);border-bottom:1px solid var(--fg-15);padding:3rem 0;text-align:center}
@media(min-width:768px){.blog-empty{padding:4rem 0}}
.blog-empty__icon{margin:0 auto 1.25rem;display:flex;width:3rem;height:3rem;align-items:center;justify-content:center;border-radius:9999px;background:var(--color-secondary);color:var(--color-foreground)}
.blog-empty__title{font-size:1.5rem;line-height:2rem;font-weight:600;color:var(--color-foreground)}
.blog-empty__text{margin:.75rem auto 0;max-width:32rem;font-size:14px;line-height:1.625;color:var(--fg-70)}
.blog-main{min-height:100vh;background:var(--color-ivory);padding-top:8rem}
@media(min-width:1024px){.blog-main{padding-top:9rem}}
.blog-page{padding:4rem 0}
@media(min-width:768px){.blog-page{padding:6rem 0}}
.blog-page .eyebrow{margin-bottom:1rem}
.blog-page__title{max-width:48rem;font-size:2.25rem;font-weight:600;line-height:1.05;color:var(--color-foreground)}
@media(min-width:768px){.blog-page__title{font-size:3.75rem}}
.blog-page__text{margin:1.5rem 0 3rem;max-width:42rem;font-size:15px;line-height:1.625;color:var(--fg-70)}
.blog-article{padding-top:3.5rem;padding-bottom:3.5rem}
@media(min-width:768px){.blog-article{padding-top:5rem;padding-bottom:5rem}}
.blog-article__back{display:inline-flex;align-items:center;gap:.5rem;font-size:14px;font-weight:600;color:var(--color-primary)}
.blog-article__head{margin:2.5rem auto 0;max-width:48rem;text-align:center}
.blog-article__date{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--color-primary)}
.blog-article__title{margin-top:1rem;font-size:2.25rem;font-weight:600;line-height:1.25;color:var(--color-foreground)}
@media(min-width:768px){.blog-article__title{font-size:3.75rem}}
.blog-article__image{display:block;margin:3rem auto 0;aspect-ratio:16/9;width:100%;max-width:64rem;border-radius:1rem;object-fit:cover}
.blog-content{margin:3rem auto 0;max-width:48rem;font-size:16px;line-height:2rem;color:var(--fg-80)}
.blog-article__foot{margin:3rem auto 0;max-width:48rem;border-top:1px solid var(--fg-15);padding-top:2rem}
.blog-content p{margin-top:1.25rem}
.blog-content h2,.blog-content h3{margin-top:2rem;font-weight:700;color:var(--color-foreground)}
.blog-content a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
.blog-content img{margin:2rem auto;max-width:100%;border-radius:.5rem}
.blog-content ul,.blog-content ol{margin:1.25rem 0;padding-left:1.5rem}
.blog-content ul{list-style:disc}.blog-content ol{list-style:decimal}
.blog-missing{padding-top:6rem;padding-bottom:6rem;text-align:center}
.blog-missing__title{font-size:1.875rem;font-weight:600;color:var(--color-foreground);margin-bottom:1.75rem}

/* ---------- CTA ---------- */
.cta-section{position:relative;overflow:hidden}
.cta-section>.cover-img{z-index:0}
.cta-tint{background:var(--fg-45)}
.cta-sparkle{opacity:.5}
.cta-content{position:relative;z-index:10;padding-top:7rem;padding-bottom:7rem;text-align:center;color:#fff}
@media(min-width:768px){.cta-content{padding-top:10rem;padding-bottom:10rem}}
.cta-eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;font-size:12px;letter-spacing:.38em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:1.5rem;font-weight:600}
.cta-eyebrow__rule{height:1px;width:2rem;background:color-mix(in srgb,var(--color-accent) 80%,transparent)}
.cta-title{font-weight:600;color:#fff;line-height:1.05;margin:0 auto;max-width:56rem;filter:drop-shadow(0 2px 30px rgba(0,0,0,.55));font-size:clamp(2rem,5.4vw,4rem)}
.cta-title__em{font-style:italic;color:var(--color-accent)}
.cta-text{margin:1.75rem auto 0;max-width:36rem;font-size:15px;color:rgba(255,255,255,.85);line-height:1.625}
.cta-action{margin-top:2.5rem}

/* ---------- FAQ / testimonials ---------- */
.faq-section{background:var(--color-linen);border-top:1px solid var(--fg-10);padding:6rem 0}
@media(min-width:768px){.faq-section{padding:8rem 0}}
.faq-stack{display:flex;flex-direction:column;gap:5rem}
@media(min-width:768px){.faq-stack{gap:6rem}}
.faq-grid{display:grid;grid-template-columns:1fr;gap:3rem}
@media(min-width:1024px){.faq-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.faq-side{grid-column:span 4/span 4}.faq-list{grid-column:span 8/span 8}}
.faq-side__text{margin-top:1.5rem;font-size:14px;color:var(--fg-70);line-height:1.625;max-width:24rem}
@media(min-width:768px){.faq-side__text{font-size:15px}}
.faq-ask-wrap{display:none;margin-top:2.5rem}
@media(min-width:1024px){.faq-ask-wrap{display:block}}
.faq-ask{position:relative;overflow:hidden;border-radius:1rem;border:1px solid var(--fg-10);padding:1.75rem;color:#fff}
.faq-ask__tint{background:var(--fg-65)}
.faq-ask__blob{position:absolute;top:-2.5rem;right:-2.5rem;width:8rem;height:8rem;border-radius:9999px;background:var(--color-secondary);filter:blur(40px)}
.faq-ask__content{position:relative}
.faq-ask__title{font-size:1.5rem;line-height:1.375;color:#fff;margin-bottom:.5rem}
.faq-ask__text{font-size:14px;color:rgba(255,255,255,.8);line-height:1.625;margin-bottom:1.5rem}
.faq-item{border-bottom:1px solid var(--fg-15)}
.faq-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 0;text-align:left}
.faq-question{font-size:1.125rem;line-height:1.375;color:var(--color-foreground);font-weight:600}
@media(min-width:768px){.faq-question{font-size:1.25rem}}
.faq-toggle{flex-shrink:0;color:var(--color-primary)}
.faq-toggle__minus{display:none}
.faq-item.is-open .faq-toggle__minus{display:inline-flex}
.faq-item.is-open .faq-toggle__plus{display:none}
.faq-panel{display:grid;grid-template-rows:0fr;transition:all .3s ease-out}
.faq-item.is-open .faq-panel{grid-template-rows:1fr}
.faq-panel__inner{overflow:hidden}
.faq-answer{padding:0 2rem 1.5rem 0;font-size:14px;color:var(--fg-70);line-height:1.625;max-width:42rem}
@media(min-width:768px){.faq-answer{font-size:15px}}
.testimonials__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}
.testimonials__arrows{display:none;align-items:center;gap:.5rem}
@media(min-width:640px){.testimonials__arrows{display:flex}}
.circle-btn{width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;border:1px solid var(--fg-15);color:var(--fg-70);transition:color .15s,border-color .15s}
.circle-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}
.embla{overflow:hidden;margin:0 -.75rem}
.embla__container{display:flex}
.embla__slide{min-width:0;flex:0 0 100%;padding:0 .75rem}
@media(min-width:640px){.embla__slide{flex-basis:50%}}
@media(min-width:1024px){.embla__slide{flex-basis:33.3333%}}
.testimonial-card{height:100%;background:var(--color-ivory);border-radius:1rem;border:1px solid var(--fg-10);padding:1.75rem;display:flex;flex-direction:column}
.testimonial-card__stars{display:flex;gap:.25rem;color:var(--color-accent);margin-bottom:1rem}
.testimonial-star{display:inline-flex}
.icon-star{width:.875rem;height:.875rem}
.testimonial-card__quote{font-size:14px;color:var(--fg-75);line-height:1.625;flex:1}
.testimonial-card__caption{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--fg-10)}
.testimonial-card__name{font-size:15px;color:var(--color-foreground);font-weight:600}
.testimonial-card__detail{font-size:12px;color:var(--fg-55);margin-top:.125rem}
.testimonials__dots{margin-top:1.75rem;display:flex;justify-content:center;gap:.5rem}
.tm-dot{height:.5rem;width:.5rem;border-radius:9999px;background:var(--fg-20);transition:all .15s}
.tm-dot:hover{background:var(--fg-35)}
.tm-dot.is-active{width:1.5rem;background:var(--color-primary)}

/* ---------- Contact ---------- */
.contact-section{background:var(--color-linen);padding:6rem 0 3rem}
@media(min-width:768px){.contact-section{padding:8rem 0 4rem}}
.contact-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:stretch}
@media(min-width:1024px){.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5rem}}
.contact-info{display:flex;flex-direction:column;height:100%}
.contact-text{margin-top:1.5rem;font-size:15px;color:var(--fg-70);line-height:1.625;max-width:28rem}
.contact-rows{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.25rem}
.contact-row{display:inline-flex;align-items:center;gap:1rem;color:var(--color-foreground)}
.contact-row--link{transition:color .15s}
.contact-row--link:hover{color:var(--color-primary)}
.contact-row__icon{width:2.75rem;height:2.75rem;border-radius:9999px;background:var(--color-ivory);border:1px solid var(--fg-15);display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s}
.contact-row--link:hover .contact-row__icon{border-color:var(--color-primary)}
.contact-row__copy{display:flex;flex-direction:column;text-align:left}
.contact-row__label{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-55)}
.contact-row__value{font-size:15px;font-weight:600;word-break:break-all}
.contact-social{margin-top:2rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.social-pill{display:inline-flex;height:2.75rem;align-items:center;gap:.5rem;border-radius:9999px;border:1px solid var(--fg-15);background:var(--color-ivory);padding:0 1rem;font-size:14px;font-weight:600;color:var(--color-foreground);transition:color .15s,border-color .15s}
.social-pill:hover{border-color:var(--color-primary);color:var(--color-primary)}
.contact-quote-wrap{margin-top:auto;padding-top:2.5rem}
.contact-quote{position:relative;border-radius:1rem;border:1px solid var(--fg-10);background:color-mix(in srgb,var(--color-ivory) 70%,transparent);padding:1.5rem}
@media(min-width:768px){.contact-quote{padding:1.75rem}}
.contact-quote__tag{position:absolute;top:-.75rem;left:1.5rem;display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:9999px;background:var(--color-primary);color:var(--color-primary-foreground);font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600}
.contact-quote__text{font-weight:600;font-style:italic;color:var(--fg-85);font-size:1.125rem;line-height:1.375;border-left:2px solid color-mix(in srgb,var(--color-primary) 70%,transparent);padding-left:1.25rem}
@media(min-width:768px){.contact-quote__text{font-size:1.25rem}}
.contact-quote__author{margin-top:.75rem;padding-left:1.25rem;font-family:'Caveat','Nunito Sans',cursive;font-size:1.5rem;line-height:2rem;color:var(--color-primary)}
.contact-form{background:var(--color-ivory);border:1px solid var(--fg-10);border-radius:1rem;padding:1.5rem;box-shadow:0 4px 20px -8px hsl(246 30% 20%/.18);height:100%;display:flex;flex-direction:column;gap:1rem}
@media(min-width:768px){.contact-form{padding:2rem}}
.contact-form__fields{flex:1;display:flex;flex-direction:column;gap:1rem}
.form-label{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-55);margin-bottom:.5rem}
.form-input{width:100%;height:3rem;padding:0 1rem;background:var(--color-ivory);border:1px solid var(--fg-15);border-radius:calc(1rem - 2px);font-size:14px;color:var(--color-foreground);outline:none;transition:border-color .15s}
.form-input:focus{border-color:var(--color-primary)}
.form-textarea{height:auto;padding-top:.75rem;padding-bottom:.75rem;resize:none}
.form-row-2{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:640px){.form-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.select-wrap{position:relative}
.form-select{padding-right:2.5rem}
.select-wrap__icon{pointer-events:none;position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:var(--fg-55)}
.contact-form__footer{display:flex;flex-direction:column;gap:.75rem;padding-top:.5rem}
.contact-form__note{font-size:12px;color:var(--fg-55);text-align:center}
.cf-submit__label{display:inline-flex;align-items:center;gap:.5rem}

/* ---------- Footer ---------- */
.site-footer{background:var(--color-linen);border-top:1px solid var(--fg-10)}
.site-footer__inner{padding-top:3.5rem;padding-bottom:3.5rem}
@media(min-width:1024px){.site-footer__inner{padding-top:5rem;padding-bottom: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-brand{display:inline-flex;align-items:center}
.footer-logo-img{height:4rem;width:auto;border-radius:9999px}
.footer-about{margin-top:1rem;font-size:14px;color:var(--fg-70);line-height:1.625;max-width:20rem}
.footer-heading{font-size:1.125rem;line-height:1.75rem;color:var(--color-foreground);margin-bottom:1rem}
.theme-footer-list{display:flex;flex-direction:column;gap:.625rem}
.footer-link{font-size:14px;color:var(--fg-70);transition:color .15s;text-align:left}
.footer-link:hover{color:var(--color-primary)}
.footer-contact{display:flex;flex-direction:column;gap:.75rem;font-size:14px}
.footer-email{display:inline-flex;align-items:center;gap:.5rem;color:var(--fg-75);transition:color .15s;word-break:break-all}
.footer-email:hover{color:var(--color-primary)}
.footer-email svg,.footer-location svg{flex-shrink:0}
.footer-location{display:inline-flex;align-items:center;gap:.5rem;color:var(--fg-65)}
.footer-shipping{color:var(--fg-60)}
.footer-social{display:flex;align-items:center;gap:.75rem;padding-top:.5rem}
.social-circle{display:inline-flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:9999px;border:1px solid var(--fg-15);color:var(--fg-70);transition:color .15s,border-color .15s}
.social-circle:hover{border-color:var(--color-primary);color:var(--color-primary)}
.footer-bottom{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--fg-10);text-align:center;font-size:12px;color:var(--fg-55)}
.footer-bottom a{text-decoration:underline;text-underline-offset:2px;transition:color .15s}
.footer-bottom a:hover{color:var(--color-primary)}

/* ---------- Promo ---------- */
.promo-banner{position:fixed;bottom:1.5rem;left:1rem;right:1rem;z-index:50;background:var(--color-foreground);color:var(--color-background);border-radius:1rem;box-shadow:0 20px 50px -18px hsl(246 30% 20%/.3);padding:1rem 1.25rem;display:flex;align-items:flex-start;gap:.75rem;animation:fade-in .7s ease-out both}
@media(min-width:640px){.promo-banner{left:auto;right:1.5rem;max-width:26rem}}
.promo-banner__text{font-size:13px;line-height:1.625;flex:1;width:100%}
@media(min-width:640px){.promo-banner__text{font-size:15px}}
.promo-em{color:var(--color-accent);font-weight:600}
.promo-banner__close{flex-shrink:0;margin-top:.125rem;padding:.375rem;border-radius:9999px;transition:background-color .15s}
.promo-banner__close:hover{background:rgba(255,255,255,.1)}

/* ---------- Cart drawer ---------- */
#theme-cart-overlay{display:block;position:fixed;inset:0;background:var(--fg-30);z-index:60;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s ease}
#theme-cart-drawer{display:flex;position:fixed;right:0;top:0;height:100%;width:100%;max-width:28rem;background:var(--color-ivory);z-index:61;box-shadow:0 20px 50px -18px hsl(246 30% 20%/.3);flex-direction:column;transform:translateX(100%);visibility:hidden;pointer-events:none;transition:transform .35s ease,visibility .35s ease}
body.cart-open #theme-cart-overlay{opacity:1;visibility:visible;pointer-events:auto}
body.cart-open #theme-cart-drawer{transform:translateX(0);visibility:visible;pointer-events:auto}
body.admin-bar #theme-cart-drawer{top:var(--wp-admin--admin-bar--height,32px);height:calc(100% - var(--wp-admin--admin-bar--height,32px))}
body.admin-bar #theme-cart-overlay{top:var(--wp-admin--admin-bar--height,32px)}
@media screen and (max-width:782px){
	body.admin-bar #theme-cart-drawer{top:var(--wp-admin--admin-bar--height,46px);height:calc(100% - var(--wp-admin--admin-bar--height,46px))}
	body.admin-bar #theme-cart-overlay{top:var(--wp-admin--admin-bar--height,46px)}
}
#theme-cart-drawer.is-updating{opacity:.6;pointer-events:none}
.cart-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--fg-10)}
.cart-drawer__title{font-size:1.5rem;line-height:2rem;color:var(--color-foreground)}
.cart-drawer__close{padding:.375rem;border-radius:9999px;transition:background-color .15s}
.cart-drawer__close:hover{background:var(--fg-6)}
.cart-drawer__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;text-align:center}
.cart-drawer__empty>svg{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;overflow:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}
.cart-item{display:flex;gap:1rem}
.cart-item__thumb{position:relative;display:block;width:5rem;height:6rem;background:var(--color-bone);border-radius:calc(1rem - 2px);overflow:hidden;flex-shrink:0}
.cart-item__body{flex:1;min-width:0}
.cart-item__name{display:block;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s}
.cart-item__name:hover{color:var(--color-primary)}
.cart-item__price{font-size:13px;color:var(--fg-60);margin-top:.125rem}
.cart-item__meta{font-size:12px;color:var(--fg-55)}
.cart-item__meta dl,.cart-item__meta dd,.cart-item__meta p{display:inline;margin:0}
.cart-item__controls{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}
.cart-qty-btn{padding:.25rem;border-radius:.25rem;transition:background-color .15s;display:inline-flex}
.cart-qty-btn:hover{background:var(--color-bone)}
.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);display:flex;flex-direction:column;gap:1rem;background:color-mix(in srgb,var(--color-linen) 40%,transparent)}
.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__empty-btn{color:var(--fg-60)}
.cart-drawer__footer .btn-ghost{color:var(--fg-60)}

/* ---------- Product page ---------- */
.product-main,.page-main{background:var(--color-ivory)}
.product-main{padding-top:6rem}
@media(min-width:1024px){.product-main{padding-top:7rem}}
.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/span 7;position:sticky;top:7rem;align-self:start}.theme-product-info{grid-column:span 5/span 5}}
.theme-product-gallery,.theme-product-info{min-width:0;max-width:100%}
#product-main-img{position:relative;aspect-ratio:1/1;width:100%;background:var(--color-linen);border-radius:.75rem;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;display:block;aspect-ratio:1/1;background:var(--color-linen);border-radius:calc(1rem - 2px);overflow:hidden;border:2px solid transparent;transition:border-color .15s}
.product-thumb:hover{border-color:var(--fg-20)}
.product-thumb.is-active{border-color:var(--color-primary)}
.product-category{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--color-primary);margin-bottom:.75rem;font-weight:500}
.product-title{font-family:var(--font-body);font-weight:400;font-size:1.875rem;line-height:1.05;color:var(--color-foreground);margin-bottom:1rem;overflow-wrap:break-word}
@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 ins{text-decoration:none}
.product-description{font-size:15px;line-height:1.625;color:var(--fg-75);margin-bottom:2rem;white-space:pre-line;overflow-wrap:break-word}
.field-label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-55);margin-bottom:.625rem}
.theme-add-to-cart-area{display:flex;flex-direction:column;gap:1.5rem;align-items:stretch}
.product-qty .field-label{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;display:inline-flex;transition:color .15s}
.theme-qty-minus:hover,.theme-qty-plus:hover{color:var(--color-primary)}
.icon-qty{width:.875rem;height:.875rem}
.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;outline:none}
.theme-qty-input::-webkit-outer-spin-button,.theme-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.product-buttons{display:flex;flex-direction:column;gap:.75rem}
@media(min-width:640px){.product-buttons{flex-direction:row}}
.theme-buy-now{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:9999px;font-size:14px;font-weight:500;height:3rem;padding:0 1.75rem;border:1px solid var(--fg-25);color:var(--color-foreground);background:transparent;width:100%;transition:color .15s,background-color .15s,border-color .15s}
.theme-buy-now:hover{border-color:var(--color-foreground);background:var(--fg-4)}
.theme-buy-now.is-disabled{opacity:.6;pointer-events:none}
@media(min-width:640px){.theme-buy-now{flex:1}}
.product-details{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--fg-10)}
.product-details .field-label{margin-bottom:1rem}
.product-details-list ul{display:flex;flex-direction:column;gap:.625rem}
.product-details-list li{font-size:14px;color:var(--fg-75);display:flex;align-items:flex-start}
.product-details-list 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);text-align:center}
.product-trust__icon{width:1.25rem;height:1.25rem;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-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}}

/* WooCommerce add-to-cart buttons */
.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.5;text-decoration:none}
.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}
.single-product .theme-add-to-cart-area .single_add_to_cart_button{flex:1 1 auto;min-width:160px;width:100%}
@media(min-width:640px){.single-product .theme-add-to-cart-area .single_add_to_cart_button{width:auto;flex:1}}
.single-product .theme-add-to-cart-area{flex-wrap:wrap}
.theme-product-card .add_to_cart_button.ajax_add_to_cart{flex:1;min-height:2.5rem!important;height:2.5rem;padding:0 1rem!important;border-radius:9999px!important;gap:.5rem;background-color:color-mix(in srgb,var(--color-background) 95%,transparent)!important;color:var(--color-foreground)!important;font-size:14px!important;font-weight:500!important;letter-spacing:.025em!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color .3s,color .3s!important;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.theme-product-card .add_to_cart_button.ajax_add_to_cart:hover{background-color:var(--color-primary)!important;color:var(--color-primary-foreground)!important;opacity:1!important}
.hero-actions a.btn,.single-product .single_add_to_cart_button{text-transform:none}
.ajax_add_to_cart.theme-btn-loading{opacity:.6!important;pointer-events:none!important;cursor:wait!important}
.single-product .single_add_to_cart_button.loading::after,.ajax_add_to_cart.loading::after,.add_to_cart_button.loading::after{display:none!important}
.single-product .single_add_to_cart_button.added::after,.add_to_cart_button.added::after{display:none!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 .variations tbody,.single-product .variations tbody tr,.single-product .variations tbody td{display:block;width:100%}
.single-product .variations{margin-bottom:1.5rem}
.single-product .variations tbody td.label{padding-bottom:.25rem}
.single-product .variations tbody td.value{padding-top:0}
.variations label{font-family:var(--font-body);font-weight:600;font-style:normal;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-55)}
.variations select{width:100%;height:3rem;padding:0 1rem;background:var(--color-ivory);border:1px solid var(--fg-15);border-radius:calc(1rem - 2px);font-size:14px}
.theme-attr-select-hidden{display:none!important}
.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,#theme-cart-drawer .woocommerce-message{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;padding:1rem 1.25rem;margin:0 0 1.5rem;border-radius:calc(1rem - 2px);border:1px solid var(--fg-15);background:var(--color-linen);font-size:14px}
.woocommerce-error{border-color:var(--color-destructive);color:var(--color-destructive)}

/* ---------- Pages, 404, checkout ---------- */
.page-main{padding-top:6rem;padding-bottom:4rem;min-height:70vh}
@media(min-width:1024px){.page-main{padding-top:7rem}}
.page-wrap{padding-top:2.5rem;padding-bottom:2.5rem}
.page-title{font-size:2.25rem;line-height:1.1;margin-bottom:2.5rem;color:var(--color-foreground)}
@media(min-width:768px){.page-title{font-size:3rem}}
.not-found{display:flex;min-height:100vh;align-items:center;justify-content:center;background:var(--color-muted)}
.not-found__inner{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{color:color-mix(in srgb,var(--color-primary) 90%,transparent)}

body.woocommerce-checkout .page-wrap,body.woocommerce-cart .page-wrap,body.woocommerce-account .page-wrap,body.theme-thankyou-page .page-wrap{max-width:80rem}
body.woocommerce-checkout .entry-content,body.woocommerce-cart .entry-content{max-width:none}
body.woocommerce-checkout .wc-block-checkout,body.woocommerce-cart .wc-block-cart{font-family:'Nunito Sans',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-components-sidebar-layout.wc-block-checkout.is-large .wc-block-checkout__main,body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout.is-large .wc-block-checkout__sidebar{width:100%;padding:0}
}
body.woocommerce-checkout .wc-block-checkout{display:block}
body.woocommerce-checkout .wc-block-components-sidebar-layout.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}
body.woocommerce-checkout .wc-block-checkout__sidebar{background-color:var(--color-linen);border:1px solid var(--fg-10);border-radius:1rem;padding:1.5rem}
body.woocommerce-checkout .wc-block-components-notice-banner{grid-column:1/-1;border-radius:calc(1rem - 2px);font-family:inherit;font-size:14px}
body.woocommerce-checkout .wc-block-components-checkout-step__title,body.woocommerce-checkout .wc-block-components-title,body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text{font-family:'Nunito Sans',system-ui,sans-serif;font-weight:600;font-size:1.5rem;color:var(--color-foreground)}
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,body.woocommerce-checkout .wc-block-components-combobox input{width:100%!important;max-width:none!important;background:var(--color-ivory);border:1px solid var(--fg-15);border-radius:calc(1rem - 2px);font-family:inherit;font-size:14px;color:var(--color-foreground);box-shadow:none}
body.woocommerce-checkout .wc-block-components-text-input input:focus,body.woocommerce-checkout .wc-block-components-select select:focus,body.woocommerce-checkout .wc-block-components-textarea textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:none}
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-primary-foreground);border:1px solid var(--color-primary);border-radius:9999px;font-family:inherit;font-size:14px;font-weight:500;min-height:3rem;text-transform:none;letter-spacing:normal}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover{background:color-mix(in srgb,var(--color-primary) 90%,transparent)}
body.woocommerce-checkout .wc-block-cart-items{border-color:var(--fg-10)}
body.woocommerce-checkout .wc-block-components-totals-item,body.woocommerce-checkout .wc-block-components-product-name{font-family:inherit;font-size:14px}
body.woocommerce-cart .wc-block-cart__submit-button,body.woocommerce-cart .wc-block-components-button:not(.is-link){background:var(--color-primary);color:var(--color-primary-foreground);border-radius:9999px;font-family:inherit;font-weight:500;text-transform:none}
body.woocommerce-cart .wc-block-components-text-input input{background:var(--color-ivory);border:1px solid var(--fg-15);border-radius:calc(1rem - 2px)}

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:1.5rem;margin:0 0 2rem;padding:1.5rem;border:1px solid var(--fg-10);border-radius:1rem;background:var(--color-linen);list-style:none}
body.theme-thankyou-page .woocommerce-order-overview li{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-60)}
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:1px solid var(--fg-10);border-radius:1rem;background:var(--color-ivory)}
body.theme-thankyou-page .woocommerce-order-details th,body.theme-thankyou-page .woocommerce-order-details td{padding:.875rem 1rem;border-bottom:1px solid var(--fg-10);font-size:14px}
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:30rem;overflow-wrap:break-word;font-style:normal;padding:1.25rem;border:1px solid var(--fg-10);border-radius:1rem;background:var(--color-linen)}

/* Hand cursor on every control that can be activated. */
a[href],area[href],button:not(:disabled):not([aria-disabled="true"]),[role="button"]:not([aria-disabled="true"]),[role="link"],[role="tab"],[role="menuitem"],[role="option"],summary,label,select,input[type="button"]:not(:disabled),input[type="submit"]:not(:disabled),input[type="reset"]:not(:disabled),input[type="checkbox"]:not(:disabled),input[type="radio"]:not(:disabled),input[type="file"]:not(:disabled),input[type="image"]:not(:disabled),.btn:not(:disabled):not(.disabled),.tm-dot,.product-thumb,.theme-qty-minus,.theme-qty-plus,.cart-qty-btn,.cart-item__remove,.faq-trigger,.card-nav,.card-quickview,.theme-card-link,#theme-cart-overlay,[data-cart-open],[data-cart-close],[data-cart-remove],[data-cart-empty],[data-cart-qty-update],[data-buy-now],[data-scroll-link],[data-card-prev],[data-card-next],.woocommerce a.button,.woocommerce button.button:not(:disabled),.woocommerce input.button:not(:disabled),.wc-block-components-button:not(:disabled),.wc-block-components-checkout-place-order-button:not(:disabled){cursor:pointer}
button:disabled,[aria-disabled="true"],.btn:disabled,.btn.disabled{cursor:default}
