/*
Theme Name: The Bloom Label Boutique
Theme URI: https://bloomlabel.sanum.be/
Author: Sanum Webdesign
Description: Custom editorial WooCommerce boutique theme for The Bloom Label.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 7.1
Text Domain: the-bloom-label
*/
:root{--ink:#322329;--muted:#756b68;--rose:#b67784;--rose-dark:#8c5464;--pink:#f1e2dd;--cream:#fbf7f2;--paper:#fffefb;--sand:#eee7dd;--line:#e7ded8;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Segoe UI',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{color:var(--rose-dark)}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}button{cursor:pointer}
.container{width:min(1320px,calc(100% - 56px));margin:0 auto}
.announcement{background:var(--ink);color:#fff;font-size:.77rem;text-align:center;letter-spacing:.12em;text-transform:uppercase;padding:10px}
.stage-alert{padding:8px 15px;text-align:center;background:#f9eedb;font-size:.8rem;color:#684b30}
.site-header{background:rgba(255,254,251,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}
.header-main{min-height:96px;display:flex;align-items:center;gap:28px;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);flex:0 0 auto}
.brand-icon{font-family:var(--serif);font-size:35px;color:var(--rose);line-height:1}
.brand-words{font-family:var(--serif);font-weight:normal;letter-spacing:.1em;font-size:22px;line-height:1;text-transform:uppercase}
.brand-caption{display:block;font-size:9px;letter-spacing:.27em;font-family:var(--sans);text-align:center;margin-top:9px;color:var(--muted)}
.nav-main{display:flex;align-items:center;gap:clamp(14px,2vw,32px)}
.nav-main a{font-size:12px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.nav-main a:hover{color:var(--rose-dark)}
.header-actions{display:flex;gap:15px;align-items:center}
.header-actions a{font-size:19px;color:var(--ink)}
.cart-link{position:relative}.cart-count{position:absolute;top:-8px;right:-10px;background:var(--rose);color:#fff;border-radius:50%;font-size:10px;min-width:16px;height:16px;text-align:center;line-height:16px}
.menu-toggle{display:none;background:none;border:0;font-size:24px;color:var(--ink)}
.btn{border:1px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:51px;padding:12px 25px;transition:.2s ease;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.btn-dark{background:var(--ink);color:white}.btn-dark:hover{background:var(--rose-dark);border-color:var(--rose-dark);color:#fff}
.btn-outline{background:transparent;color:var(--ink)}.btn-outline:hover{background:var(--ink);color:#fff}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--rose-dark);font-size:11px;font-weight:700;margin:0 0 16px}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.12;font-family:var(--serif)}
h1{font-size:clamp(44px,5.5vw,88px)}h2{font-size:clamp(35px,4vw,61px)}h3{font-size:clamp(24px,2.3vw,36px)}
.section{padding:90px 0}.section-heading{text-align:center;max-width:760px;margin:0 auto 44px}.section-heading p:not(.eyebrow){color:var(--muted);margin:18px auto 0;max-width:550px}
.hero{display:grid;grid-template-columns:48% 52%;min-height:650px;background:var(--pink);overflow:hidden}
.hero-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:80px max(8%,calc((100vw - 1320px)/2));position:relative}
.hero-content h1{margin-bottom:25px}.hero-content h1 em{font-weight:400;color:var(--rose-dark)}
.hero-content .hero-copy{color:#665960;max-width:500px;line-height:1.9;margin:0 0 34px}
.hero-media{position:relative;min-height:600px}.hero-media img{position:absolute;width:100%;height:100%;object-fit:cover}
.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(241,226,221,.1),transparent 30%)}
.hero-round{position:absolute;z-index:2;bottom:32px;left:-62px;width:138px;height:138px;background:var(--paper);border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;border:1px solid var(--line);font-family:var(--serif);font-style:italic;font-size:20px;transform:rotate(-12deg)}
.perks{background:var(--paper);border-bottom:1px solid var(--line)}.perks-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:28px 0}.perk{display:flex;gap:12px;align-items:center;justify-content:center;border-right:1px solid var(--line);font-size:12px;letter-spacing:.04em}.perk:last-child{border:0}.perk b{font-size:15px;font-weight:450;font-family:var(--serif)}.perk .perk-icon{font-size:23px;color:var(--rose-dark)}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.category-card{display:block;position:relative;aspect-ratio:4/4.4;overflow:hidden;background:#eadbd5}.category-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.category-card:hover img{transform:scale(1.065)}.category-card:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(30,18,20,.58))}.category-title{position:absolute;bottom:25px;left:28px;z-index:1;color:#fff;font-family:var(--serif);font-size:clamp(22px,2.4vw,37px);line-height:1.1}.category-title small{display:block;font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.17em;margin-top:10px}
.products-section{background:var(--paper)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.product-card{min-width:0}.product-img{display:block;background:var(--pink);aspect-ratio:1/1.2;overflow:hidden;position:relative}.product-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.product-card:hover .product-img img{transform:scale(1.055)}
.product-info{padding:14px 2px 5px}.product-info .product-meta{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--rose-dark);margin-bottom:5px}.product-info h3{font-size:19px;line-height:1.35;margin-bottom:8px}.product-price{font-size:14px;font-weight:650}.product-price del{font-weight:400;color:#908684;margin-right:8px}.product-price ins{text-decoration:none;color:var(--rose-dark)}
.sale-sticker{position:absolute;top:12px;left:12px;background:var(--paper);color:var(--ink);padding:6px 10px;letter-spacing:.1em;font-size:10px;text-transform:uppercase}
.center-cta{text-align:center;margin-top:43px}
.story-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(45px,8vw,150px)}.story-photo{aspect-ratio:4/4.3;overflow:hidden;background:var(--pink)}.story-photo img{height:100%;width:100%;object-fit:cover}
.story-copy{max-width:530px}.story-copy h2{margin-bottom:26px}.story-copy p:not(.eyebrow){color:var(--muted);line-height:1.95;margin:0 0 20px}
.quotation{background:var(--pink);padding:70px 0;text-align:center}.quotation blockquote{font:italic clamp(28px,3vw,44px)/1.35 var(--serif);max-width:940px;margin:0 auto 15px}.quotation small{font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.footer{background:#34262d;color:#f7f1ed;padding:75px 0 27px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:55px}.footer .brand{color:#fff}.footer h4{font:500 22px/1.3 var(--serif);margin-bottom:21px}.footer ul{list-style:none;margin:0;padding:0}.footer li{margin:10px 0}.footer a{color:#e8dcd9}.footer a:hover{color:#fff}.footer p,.footer li{font-size:13px;line-height:1.85;color:#e0d3d0}.footer-bottom{margin-top:68px;border-top:1px solid #66535a;padding-top:23px;font-size:11px;color:#d3c3c1;display:flex;justify-content:space-between;gap:12px}
.page-banner{background:var(--pink);text-align:center;padding:80px 20px}.page-banner h1{font-size:clamp(38px,5vw,66px)}.page-main{padding:65px 0 110px}.reading-content{max-width:850px;margin:0 auto;background:var(--paper);padding:50px 60px}.reading-content p,.reading-content li{line-height:1.95;color:#564b4c}.reading-content h2{margin:30px 0 16px;font-size:31px}.reading-content h3{margin:26px 0 12px;font-size:25px}.reading-content a{text-decoration:underline;text-underline-offset:3px}
.woocommerce .woocommerce-breadcrumb{font-size:12px;color:var(--muted);margin-bottom:35px}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{font-size:13px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font:400 21px/1.3 var(--serif);color:var(--ink);margin:12px 0 5px}
.woocommerce ul.products li.product .price{color:var(--ink);font-size:15px;font-weight:600}
.woocommerce ul.products li.product a img{aspect-ratio:1/1.2;object-fit:cover;background:var(--pink);margin:0}
.woocommerce span.onsale{background:var(--rose-dark);border-radius:0;min-height:0;min-width:0;padding:6px 12px;line-height:1.4}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce button.button.alt,.woocommerce a.button.alt{background:var(--ink);color:white;border-radius:0;font:650 11px var(--sans);text-transform:uppercase;letter-spacing:.07em;padding:14px 20px}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce button.button.alt:hover{background:var(--rose-dark);color:#fff}
.woocommerce div.product .product_title{font:400 clamp(33px,3vw,53px)/1.1 var(--serif);margin-bottom:16px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--rose-dark);font-size:26px}
.woocommerce div.product div.images img{background:var(--pink)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border-radius:0}
.woocommerce .quantity .qty{padding:10px}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info{border-top-color:var(--rose-dark)}
.shop-shell{padding:56px 0 105px;min-height:500px}
.preview-warning{margin:30px auto;padding:15px 25px;max-width:850px;background:#fcf0e8;color:#74514b;text-align:center;font-size:13px}
.no-products{padding:65px;text-align:center}
@media(max-width:1100px){.nav-main{gap:12px}.nav-main a{font-size:10px}.brand-words{font-size:18px}.cards{grid-template-columns:repeat(3,1fr)}.footer-grid{gap:26px}}
@media(max-width:850px){.container{width:min(100% - 36px,1320px)}.header-main{min-height:75px}.menu-toggle{display:block}.nav-main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);padding:20px;flex-direction:column;align-items:stretch;box-shadow:0 15px 30px #30202a17}.nav-main.open{display:flex}.nav-main a{font-size:13px;padding:9px}.hero{grid-template-columns:1fr;min-height:0}.hero-content{padding:65px 8%;order:2}.hero-media{min-height:350px;order:1}.hero-round{left:auto;right:20px;bottom:-24px;width:110px;height:110px;font-size:16px}.section{padding:66px 0}.category-grid{grid-template-columns:repeat(2,1fr);gap:15px}.cards{grid-template-columns:repeat(2,1fr);gap:18px}.story-grid{grid-template-columns:1fr;gap:33px}.story-copy{max-width:none}.footer-grid{grid-template-columns:repeat(2,1fr);gap:32px}.reading-content{padding:30px 25px}.perks-inner{grid-template-columns:1fr;gap:7px;padding:18px 0}.perk{border-right:0;padding:4px}.footer-bottom{flex-direction:column}}
@media(max-width:450px){.brand-words{font-size:15px}.brand-icon{font-size:25px}.header-actions{gap:10px}.header-actions a{font-size:17px}.hero-content h1{font-size:49px}.category-card{aspect-ratio:3/4}.category-title{font-size:24px;bottom:18px;left:16px}.cards{gap:14px}.product-info h3{font-size:16px}.footer-grid{grid-template-columns:1fr 1fr}.footer h4{font-size:19px}}
.bloom-contact-wrap{margin-top:46px;border-top:1px solid var(--line);padding-top:37px}.bloom-contact-wrap h2{font-size:38px}.bloom-contact-wrap>p{margin-top:14px}.bloom-contact-form{margin-top:28px}.bloom-field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.bloom-field{margin-bottom:18px}.bloom-field label{display:block;margin-bottom:7px;font-size:13px;font-weight:650}.bloom-field input,.bloom-field textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:0;background:white;color:var(--ink)}.bloom-field input:focus,.bloom-field textarea:focus{border-color:var(--rose);outline:2px solid #b6778420}.bloom-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.bloom-consent{display:block;font-size:12px;color:var(--muted);margin:0 0 24px}.bloom-consent input{margin-right:8px}.contact-success,.contact-error{padding:14px 18px;background:#ebf4ed;border-left:3px solid #568b60}.contact-error{background:#fbebe9;border-left-color:#ad5757}@media(max-width:600px){.bloom-field-row{grid-template-columns:1fr}}
