/* BeautyFlow main styles */
:root{--bf-soft:#F1E9E0;--bf-line:#E5DCD3;--bf-muted:#81756D;--bf-foot:#221a18;--bf-foot-line:#3b302c;--bf-foot-text:#D8C9BF;--bf-blush:#D8B8AD}
@supports (color:color-mix(in srgb,red,blue)){:root{--bf-soft:color-mix(in srgb,var(--bf-primary) 6%,var(--bf-bg));--bf-line:color-mix(in srgb,var(--bf-primary) 15%,var(--bf-bg));--bf-muted:color-mix(in srgb,var(--bf-text) 62%,var(--bf-bg));--bf-foot:color-mix(in srgb,var(--bf-primary) 85%,#000);--bf-foot-line:color-mix(in srgb,var(--bf-bg) 16%,var(--bf-foot));--bf-foot-text:color-mix(in srgb,var(--bf-bg) 78%,var(--bf-foot));--bf-blush:color-mix(in srgb,var(--bf-accent) 45%,var(--bf-bg))}}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bf-bg);color:var(--bf-text);font:400 15px/1.7 var(--bf-b);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--bf-h);font-weight:400;line-height:1.1;letter-spacing:calc(var(--bf-ls)*.3);margin:0 0 .5em}
h1{font-size:clamp(2.6rem,6vw,5rem);font-weight:300}
h2{font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:300}
h3{font-size:1.4rem}
p{margin:0 0 1em}
.screen-reader-text{position:absolute;left:-9999px}
:focus-visible{outline:2px solid var(--bf-accent);outline-offset:3px}
.bf-wrap{width:min(1240px,100% - 48px);margin-inline:auto}
.bf-section{padding-block:clamp(56px,8vw,112px)}
.bf-band{background:var(--bf-soft)}
.bf-head{text-align:center;max-width:620px;margin:0 auto 48px}
.bf-head p,.bf-lead{color:var(--bf-muted)}
.bf-ph{display:block;width:100%;height:100%;min-height:220px;background:linear-gradient(160deg,var(--bf-soft),var(--bf-blush))}

/* Buttons */
.bf-btn,.button,button.single_add_to_cart_button,.woocommerce a.button,.woocommerce button.button,.woocommerce #respond input#submit{display:inline-block;background:var(--bf-primary);color:var(--bf-bg);border:1px solid var(--bf-primary);padding:15px 32px;border-radius:0;font:500 12px/1 var(--bf-b);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.bf-btn:hover,.button:hover,button.single_add_to_cart_button:hover{background:var(--bf-accent);border-color:var(--bf-accent);color:#fff}
.bf-btn--ghost{background:transparent;color:var(--bf-primary)}
.bf-link{display:block;padding:3px 0;color:var(--bf-muted)}.bf-link:hover{color:var(--bf-primary)}

/* Announcement + header */
.bf-announce{background:var(--bf-primary);color:var(--bf-bg);text-align:center;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:9px 16px}
.bf-header{position:relative;z-index:50;background:var(--bf-bg);border-bottom:1px solid var(--bf-line);transition:transform .35s}
.bf-header.is-stuck{position:fixed;top:0;left:0;right:0}
.admin-bar .bf-header.is-stuck{top:32px}
.bf-header__in{width:min(1360px,100% - 48px);margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:76px;gap:16px}
.bf-logo{grid-column:2;grid-row:1;font:300 1.9rem/1 var(--bf-h);letter-spacing:.22em;text-transform:uppercase;text-align:center}
.bf-logo__img{max-height:48px;width:auto}
.bf-nav{grid-column:1;grid-row:1}
.bf-nav ul,.bf-footer ul{list-style:none;margin:0;padding:0;display:flex;gap:28px}
.bf-nav a{font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.bf-nav a:hover{color:var(--bf-accent)}
.bf-tools{grid-column:3;grid-row:1;justify-self:end;display:flex;gap:18px;align-items:center}
.bf-icon{background:none;border:0;color:inherit;font:500 12px var(--bf-b);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;padding:6px 0}
.bf-count,.bf-wish-count{display:inline-block;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;background:var(--bf-accent);color:#fff;font-size:10px;letter-spacing:0}
.bf-count[data-count="0"],.bf-wish-count[data-count="0"]{background:transparent;color:var(--bf-muted)}
.bf-menu-toggle{display:none;font-size:20px}

/* Hero */
.bf-hero{padding-block:clamp(40px,6vw,88px)}
.bf-hero__in{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.bf-hero__copy p{max-width:420px;color:var(--bf-muted);font-size:1.05rem;margin-bottom:2em}
.bf-hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.bf-hero__media{aspect-ratio:4/5;overflow:hidden;background:var(--bf-soft)}
.bf-hero__media img{width:100%;height:100%;object-fit:cover}

/* Categories */
.bf-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.bf-cat{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bf-soft);display:block}
.bf-cat img,.bf-cat .bf-ph{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.6,.2,1)}
.bf-cat:hover img,.bf-cat:hover .bf-ph{transform:scale(1.03)}
.bf-cat__label{position:absolute;inset:auto 0 0 0;padding:28px;display:flex;justify-content:space-between;align-items:flex-end;color:#fff;background:linear-gradient(transparent,rgba(43,33,30,.55))}
.bf-cat__label strong{font:300 2rem var(--bf-h);letter-spacing:.06em}
.bf-cat__label em{font-style:normal;font-size:11px;letter-spacing:.16em;text-transform:uppercase}

/* Product grid + card */
ul.products,.woocommerce ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--bf-cols),1fr);gap:48px 24px}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto;margin:0;float:none}
.bf-card__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bf-soft)}
.bf-card__media a{display:block;height:100%}
.bf-card__img{width:100%;height:100%;object-fit:cover;transition:opacity .6s,transform 1s cubic-bezier(.2,.6,.2,1)}
.bf-card__img--alt{position:absolute;inset:0;opacity:0}
.bf-card:hover .bf-card__img--alt{opacity:1}
.bf-card:hover .bf-card__img{transform:scale(1.03)}
.bf-heart{position:absolute;top:12px;left:12px;background:none;border:0;font-size:20px;color:var(--bf-primary);cursor:pointer;z-index:2}
.bf-heart[aria-pressed=true]{color:var(--bf-sale)}
.bf-badge{position:absolute;top:16px;right:14px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--bf-primary);z-index:2}
.bf-badge.sale{color:var(--bf-sale)}
.bf-card .add_to_cart_button,.bf-card .button{position:absolute;left:0;right:0;bottom:0;background:rgba(250,247,242,.94);color:var(--bf-primary);border:0;text-align:center;padding:14px;transform:translateY(100%);transition:transform .35s}
.bf-card:hover .add_to_cart_button,.bf-card:focus-within .add_to_cart_button{transform:none}
.bf-card .added_to_cart{display:none}
.bf-card .add_to_cart_button.loading{opacity:.5}
.bf-card__title{font:400 1.15rem var(--bf-h);margin:16px 0 4px;letter-spacing:.02em}
.bf-card__price{color:var(--bf-muted)}
.bf-card__price del{opacity:.6;margin-right:6px}.bf-card__price ins{text-decoration:none;color:var(--bf-sale)}
.star-rating{color:var(--bf-accent);font-size:12px;margin-top:4px}

/* Ingredients, ritual, feature */
.bf-ingr{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--bf-line)}
.bf-ingr__item{padding:32px 24px 8px 0;border-right:1px solid var(--bf-line);padding-left:24px}.bf-ingr__item:first-child{padding-left:0}.bf-ingr__item:last-child{border:0}
.bf-ingr__item p{color:var(--bf-muted);margin:0}
.bf-ritual{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;counter-reset:s}
.bf-ritual li{counter-increment:s}
.bf-ritual h3::before{content:counter(s) ". ";color:var(--bf-accent)}
.bf-ritual__img{aspect-ratio:4/5;overflow:hidden;margin-bottom:20px;background:var(--bf-soft)}.bf-ritual__img img{width:100%;height:100%;object-fit:cover}
.bf-ritual p{color:var(--bf-muted)}
.bf-feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.bf-feature__copy{max-width:420px}.bf-feature__price{font-size:1.4rem}

/* Before / after */
.bf-ba{position:relative;max-width:820px;margin:auto;aspect-ratio:16/10;overflow:hidden;--pos:50%;background:var(--bf-soft)}
.bf-ba img,.bf-ba .bf-ph{width:100%;height:100%;object-fit:cover}
.bf-ba__after,.bf-ba__before{position:absolute;inset:0}
.bf-ba__before{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.bf-ba__before .bf-ph{background:linear-gradient(160deg,var(--bf-line),#B88A7A)}
.bf-ba__handle{position:absolute;top:0;bottom:0;left:var(--pos);width:1px;background:#fff;pointer-events:none}
.bf-ba__handle::after{content:"";position:absolute;top:50%;left:-14px;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--bf-line)}
.bf-ba__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.bf-ba__tag{position:absolute;bottom:14px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#fff}
.bf-ba__tag--l{left:16px}.bf-ba__tag--r{right:16px}
.bf-ba:focus-within{outline:2px solid var(--bf-accent)}

/* Finder, trust, review, journal */
.bf-finder{text-align:center}
.bf-finder__opts{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin-bottom:32px}
.bf-check{display:inline-flex;gap:8px;align-items:center;cursor:pointer;margin:4px 0}
.bf-check input{accent-color:var(--bf-accent)}
.bf-trust{list-style:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:16px 48px}
.bf-trust li::before{content:"✓";color:var(--bf-accent);margin-right:10px}
.bf-review{text-align:center;max-width:760px;margin-inline:auto}
.bf-stars{color:var(--bf-accent);letter-spacing:.2em}
.bf-review blockquote{font:300 clamp(1.6rem,3vw,2.3rem)/1.3 var(--bf-h);margin:16px 0}
.bf-review figcaption,.bf-review__score{color:var(--bf-muted)}
.bf-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.bf-post img,.bf-post .bf-ph{aspect-ratio:4/3;object-fit:cover;width:100%;margin-bottom:16px}
.bf-post h2,.bf-post h3{font-size:1.4rem}

/* Shop */
.bf-shop{width:min(1360px,100% - 48px);margin:auto;padding-bottom:96px}
.bf-shop__head{text-align:center;padding:64px 0 48px}
.bf-shop__layout{display:grid;grid-template-columns:220px 1fr;gap:56px}
.bf-filters fieldset{border:0;border-top:1px solid var(--bf-line);margin:0 0 24px;padding:16px 0 0}
.bf-filters legend{font:500 12px var(--bf-b);letter-spacing:.16em;text-transform:uppercase;padding:0 12px 0 0}
.bf-filters__toggle{display:none}
.bf-shop__bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;color:var(--bf-muted)}
.bf-shop__bar select{background:transparent;border:1px solid var(--bf-line);padding:8px 12px;font:inherit}
.bf-empty{text-align:center;color:var(--bf-muted);padding:64px 0}
.woocommerce-pagination ul{display:flex;gap:8px;justify-content:center;list-style:none;padding:48px 0 0;border:0!important}
.woocommerce-pagination li{border:0!important}.woocommerce-pagination a,.woocommerce-pagination span{padding:8px 14px;border:1px solid var(--bf-line)}
.woocommerce-pagination .current{background:var(--bf-primary);color:var(--bf-bg)}

/* Product page */
.bf-wc{width:min(1240px,100% - 48px);margin:auto;padding:56px 0 96px}
.woocommerce div.product{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.woocommerce div.product div.images{width:100%!important;float:none!important;margin:0}
.woocommerce div.product div.summary{width:100%!important;float:none!important;position:sticky;top:32px}
.woocommerce div.product .product_title{font-size:clamp(2rem,3.4vw,2.9rem)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--bf-text);font-size:1.4rem}
.woocommerce div.product p.price ins{text-decoration:none;color:var(--bf-sale)}
.woocommerce div.product form.cart{margin:24px 0;display:flex;gap:12px;flex-wrap:wrap}
.woocommerce div.product form.cart .variations{width:100%}
.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{display:block;padding:0 0 8px;text-align:left}
.woocommerce select,.woocommerce .quantity .qty,input[type=text],input[type=email],input[type=password],input[type=search],textarea{background:#fff;border:1px solid var(--bf-line);padding:12px 14px;font:inherit;border-radius:0}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--bf-muted)}
.woocommerce-tabs,.related.products{grid-column:1/-1}
.related.products h2{text-align:center;margin:64px 0 40px}
.bf-accordion{margin-top:32px;border-top:1px solid var(--bf-line)}
.bf-acc{border-bottom:1px solid var(--bf-line)}
.bf-acc summary{list-style:none;cursor:pointer;padding:18px 0;font:500 12px var(--bf-b);letter-spacing:.16em;text-transform:uppercase;display:flex;justify-content:space-between}
.bf-acc summary::-webkit-details-marker{display:none}
.bf-acc summary::after{content:"+";font-size:18px;line-height:1}
.bf-acc[open] summary::after{content:"–"}
.bf-acc__body{padding:0 0 20px;color:#5c514b}
.bf-ingredients{font-size:13px;line-height:1.8}
.bf-benefits{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.bf-benefits li{border:1px solid var(--bf-line);padding:6px 14px;font-size:13px}
.bf-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--bf-bg);border-top:1px solid var(--bf-line);display:flex;align-items:center;gap:24px;padding:12px 24px;justify-content:center;transform:translateY(100%);transition:transform .35s}
.bf-sticky-atc.is-on{transform:none}
.bf-sticky-atc[hidden]{display:flex}
.bf-sticky-atc__name{font:400 1.2rem var(--bf-h)}

/* Cart drawer */
.bf-overlay{position:fixed;inset:0;background:rgba(43,33,30,.4);z-index:90}
.bf-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--bf-bg);z-index:100;transform:translateX(100%);transition:transform .45s cubic-bezier(.2,.6,.2,1);display:flex;flex-direction:column}
.bf-drawer.is-open{transform:none}
.bf-drawer__head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--bf-line)}
.bf-drawer__head h2{margin:0;font-size:1.6rem}
.bf-drawer__body{flex:1;overflow:auto;padding:8px 24px 24px}
.woocommerce-mini-cart{list-style:none;margin:0;padding:0}
.woocommerce-mini-cart-item{position:relative;padding:16px 0 16px 0;border-bottom:1px solid var(--bf-line);min-height:96px}
.woocommerce-mini-cart-item img{float:left;width:64px;margin-right:16px}
.woocommerce-mini-cart-item a.remove{position:absolute;right:0;top:16px;color:var(--bf-muted)}
.woocommerce-mini-cart__total{display:flex;justify-content:space-between;padding:20px 0}
.woocommerce-mini-cart__buttons{display:grid;gap:10px}.woocommerce-mini-cart__buttons a{text-align:center}
.woocommerce-mini-cart__buttons a:not(.checkout){background:transparent;color:var(--bf-primary)}

/* Newsletter, footer */
.bf-news{background:var(--bf-primary);color:var(--bf-bg);text-align:center;padding:88px 0}
.bf-news h2{color:var(--bf-bg)}.bf-news p{color:var(--bf-blush)}
.bf-news__form{display:flex;max-width:480px;margin:32px auto 0;border-bottom:1px solid var(--bf-muted)}
.bf-news__form input{flex:1;background:transparent;border:0;color:var(--bf-bg);padding:14px 0}
.bf-news__form input::placeholder{color:#a39790}
.bf-news__form button{background:none;border:0;color:var(--bf-bg);font:500 12px var(--bf-b);letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.bf-footer{background:var(--bf-foot);color:var(--bf-foot-text);padding:72px 0 0;font-size:14px}
.bf-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.bf-footer h4{font:500 12px var(--bf-b);letter-spacing:.16em;text-transform:uppercase;color:#fff}
.bf-footer a{display:block;padding:3px 0}.bf-footer li{list-style:none}.bf-news__sc input[type=email],.bf-news__sc input[type=text]{background:transparent;border:0;border-bottom:1px solid var(--bf-muted);color:var(--bf-bg);padding:14px 0}.bf-footer a:hover{color:var(--bf-accent)}
.bf-logo--light{color:#fff;text-align:left;margin-bottom:16px;font-size:1.6rem}
.bf-footer__base{display:flex;justify-content:space-between;gap:16px;margin-top:56px;padding:24px 0;border-top:1px solid var(--bf-foot-line);font-size:12px}
.bf-footer__base ul{gap:20px}

/* Content */
.bf-content{padding:64px 0 96px}.bf-article{max-width:760px;margin:auto}.bf-prose{font-size:1.05rem}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border:1px solid var(--bf-line);background:#fff;padding:14px 20px;list-style:none;margin:0 0 24px}
.woocommerce-error{border-color:var(--bf-sale);color:var(--bf-sale)}
.woocommerce table.shop_table{border:1px solid var(--bf-line);border-collapse:collapse;width:100%;background:#fff}.woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:14px;border-top:1px solid var(--bf-line);text-align:left}
.bf-bottom{display:none}

/* Tablet */
@media (max-width:1024px){
	ul.products,.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}
	.bf-ingr{grid-template-columns:repeat(2,1fr)}.bf-ingr__item{border-bottom:1px solid var(--bf-line)}
	.bf-footer__grid{grid-template-columns:1fr 1fr}
}
/* Mobile */
@media (max-width:782px){
	.admin-bar .bf-header.is-stuck{top:46px}
	.bf-menu-toggle{display:block;grid-column:1;grid-row:1;justify-self:start}
	.bf-nav{position:absolute;top:100%;left:0;right:0;background:var(--bf-bg);border-bottom:1px solid var(--bf-line);padding:8px 24px 20px;display:none;grid-column:1/-1}
	.bf-nav.is-open{display:block}.bf-nav ul{flex-direction:column;gap:0}.bf-nav a{display:block;padding:12px 0}
	.bf-tools a.bf-icon,.bf-tools .bf-wish-link{display:none}
	.bf-header__in{min-height:64px}.bf-logo{font-size:1.4rem}
	.bf-hero__in,.bf-feature,.woocommerce div.product,.bf-shop__layout{grid-template-columns:1fr}
	.woocommerce div.product div.summary{position:static}
	.bf-cats{gap:8px}.bf-cat{aspect-ratio:1}.bf-cat__label{padding:14px;flex-direction:column;align-items:flex-start;gap:4px}.bf-cat__label strong{font-size:1.4rem}
	ul.products,.woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:32px 12px}
	.bf-card .add_to_cart_button{transform:none;position:static;background:transparent;padding:8px 0;text-align:left}
	.bf-ritual,.bf-posts{grid-template-columns:1fr}
	.bf-filters__form{display:none}.bf-filters.is-open .bf-filters__form{display:block}
	.bf-filters__toggle{display:block;background:none;border:1px solid var(--bf-primary);padding:12px 20px;font:500 12px var(--bf-b);letter-spacing:.16em;text-transform:uppercase;width:100%}
	.bf-footer__base{flex-direction:column}
	.bf-bottom{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:70;background:var(--bf-bg);border-top:1px solid var(--bf-line);text-align:center}
	.bf-bottom a,.bf-bottom button{background:none;border:0;padding:14px 0;font:500 10px var(--bf-b);letter-spacing:.1em;text-transform:uppercase;color:inherit}
	body{padding-bottom:50px}
	.bf-sticky-atc{bottom:50px;gap:12px;padding:10px 16px}.bf-sticky-atc__name{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.bf-social{display:flex;flex-wrap:wrap;gap:6px 18px}.bf-social a{display:inline-block}
