/* Presentation defaults only: native block attributes and global styles stay editable. */
:root { --bloom-line:#e1e3d8; --bloom-soft:#f6f2eb; }
.wp-site-blocks { padding-top:0; padding-bottom:0; }
.wp-site-blocks > header, .wp-site-blocks > footer { margin-block-start:0; }
img { max-width:100%; height:auto; }
a, button { transition:color .18s,background-color .18s; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:2px solid #52634f; outline-offset:4px; }
.bloom-announcement-wrap { padding:8px 20px; }
.bloom-announcement { margin:0; text-align:center; font-size:10px; font-weight:500; letter-spacing:.19em; }
.bloom-header-row { min-height:94px; gap:24px; padding-top:14px; padding-bottom:14px; }
.bloom-brand { gap:10px; flex-shrink:0; }
.bloom-brand .wp-block-image { width:36px; margin:0; }
.bloom-brand .wp-block-site-title { font-size:25px; line-height:1.15; margin:0; }
.bloom-nav { gap:22px; }
.bloom-nav .wp-block-navigation__container { gap:21px; }
.bloom-nav .wp-block-navigation-item__content { padding:6px 0; }
.bloom-nav .wp-block-navigation__submenu-container { min-width:225px; padding:12px 16px; border:1px solid var(--bloom-line); box-shadow:0 10px 22px #29372c09; }
.bloom-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size:13px; padding:7px 0; }
.bloom-header-actions { gap:12px; flex-shrink:0; }
.bloom-header-actions .wp-block-search__button { padding:5px; background:transparent; color:inherit; border:0; }
.bloom-header-actions .wp-block-search__inside-wrapper { padding:0; border:0; }
.bloom-header-actions .wp-block-search__input { width:145px; border:1px solid var(--bloom-line); border-radius:2px; padding:8px; }
.bloom-header-actions .wc-block-mini-cart__button { padding:6px; }
.bloom-hero-wrap { padding:30px 0 48px; }
.bloom-hero { align-items:center; gap:65px; margin-top:0; margin-bottom:0; }
.bloom-hero .wp-block-column:first-child { flex-basis:44%; }
.bloom-hero .wp-block-column:last-child { flex-basis:56%; }
.bloom-hero-text { padding:36px 0; }
.bloom-eyebrow { font-size:10px; font-weight:600; letter-spacing:.2em; line-height:1.5; text-transform:uppercase; color:#6e756c; }
.bloom-hero-title { margin-top:23px; margin-bottom:24px; font-size:clamp(43px,5.4vw,76px); }
.bloom-hero-copy { max-width:395px; color:#6e756c; font-size:15px; line-height:1.85; }
.bloom-hero-text .wp-block-buttons { margin-top:28px; gap:12px; }
.bloom-hero-note { font-size:11px; color:#6e756c; margin-top:26px; }
.bloom-hero-image { margin:0; }
.bloom-hero-image img { max-height:590px; width:100%; }
.wp-block-button.is-style-outline .wp-block-button__link { border:1px solid #52634f; padding:.85rem 1.45rem; }
.bloom-promise-wrap { border-bottom:1px solid var(--bloom-line); padding:18px 0; }
.bloom-promises { margin:0; gap:10px; }
.bloom-promise { font-size:11px; letter-spacing:.035em; text-align:center; margin:0; }
.bloom-section { padding-top:76px; padding-bottom:76px; }
.bloom-section > h2, .bloom-section > h1 { margin-top:12px; margin-bottom:26px; }
.bloom-section > .bloom-eyebrow { margin:0; }
.bloom-category-grid { margin-top:34px; margin-bottom:0; gap:26px; }
.bloom-category-grid-six { margin-top:34px; gap:35px 26px; }
.bloom-category-grid + .bloom-category-grid { margin-top:35px; }
.bloom-category-card .wp-block-image { margin:0; overflow:hidden; }
.bloom-category-card .wp-block-image img { width:100%; transition:transform .3s; }
.bloom-category-card:hover .wp-block-image img { transform:scale(1.025); }
.bloom-category-card h3 { margin-top:20px; margin-bottom:8px; font-size:24px; }
.bloom-card-caption { margin:0; color:#6e756c; font-size:13px; }
.bloom-text-link { margin-top:12px; font-size:12px; font-weight:500; }
.bloom-text-link span { padding-left:6px; }
.bloom-products { margin-top:32px; }
.bloom-products .wp-block-woocommerce-product-template { gap:20px; }
.bloom-products .wp-block-post-title { font-family:Georgia,serif; font-size:20px; margin:17px 0 6px; }
.bloom-products .wc-block-components-product-image img { border-radius:3px; width:100%; object-fit:cover; }
.bloom-products .wp-block-woocommerce-product-price { font-size:13px; color:#6e756c; }
.bloom-products .wp-block-woocommerce-product-button { margin:12px 0 0; }
.bloom-products .wp-block-button__link { background:transparent; color:#52634f; font-size:12px; border:1px solid #b3beb0; padding:8px 13px; }
.bloom-occasion-wrap .bloom-section { padding-top:68px; padding-bottom:68px; }
.bloom-occasion-grid { gap:20px; margin-top:34px; margin-bottom:0; }
.bloom-occasion-card { padding:25px; min-height:205px; }
.bloom-occasion-number { margin:0; color:#84927e; font-family:Georgia,serif; font-size:18px; }
.bloom-occasion-card h3 { font-size:23px; margin-top:20px; margin-bottom:9px; }
.bloom-occasion-card p:not(.bloom-occasion-number) { font-size:12px; }
.bloom-custom-wrap { padding:64px 0; }
.bloom-editorial { align-items:center; gap:72px; margin-top:0; margin-bottom:0; }
.bloom-editorial-image { margin:0; }
.bloom-editorial-image img { width:100%; max-height:540px; }
.bloom-editorial-copy { max-width:420px; }
.bloom-editorial-copy h2 { font-size:clamp(32px,3.5vw,49px); margin:22px 0; }
.bloom-editorial-copy p:not(.bloom-eyebrow) { color:#6e756c; font-size:14px; }
.bloom-editorial-copy .wp-block-buttons { margin-top:30px; }
.bloom-story { align-items:center; gap:85px; }
.bloom-story-copy { max-width:470px; }
.bloom-story-copy h3 { font-size:36px; }
.bloom-story-copy p { color:#6e756c; font-size:14px; }
.bloom-story-image { max-width:460px; margin:0 0 0 auto; }
.bloom-faq { max-width:900px; }
.wp-block-details summary { cursor:pointer; font-size:15px; }
.wp-block-details p { color:#6e756c; font-size:14px; max-width:740px; }
.bloom-corporate-wrap .bloom-section { padding-top:60px; padding-bottom:60px; }
.bloom-footer { padding-top:55px; padding-bottom:25px; }
.bloom-footer-columns { gap:45px; }
.bloom-footer h3 { font-family:inherit; font-size:12px; font-weight:600; margin-top:0; margin-bottom:18px; letter-spacing:0; }
.bloom-footer p { font-size:12px; margin-top:10px; margin-bottom:10px; color:#6e756c; }
.bloom-footer .wp-block-site-title { margin-top:0; font-size:30px; }
.bloom-footer-description { line-height:1.9; }
.bloom-footer-bottom { margin-top:42px; padding-top:22px; border-top:1px solid var(--bloom-line); }
.bloom-footer-bottom .bloom-copyright { font-size:10px; margin:0; }
.bloom-shop-main, .bloom-single-product { padding-top:36px; padding-bottom:80px; }
.bloom-catalog-intro { color:#6e756c; font-size:14px; margin-bottom:32px; }
.bloom-catalog-toolbar { margin:30px 0 18px; font-size:12px; }
.bloom-catalog-toolbar select { padding:10px; border:1px solid var(--bloom-line); background:white; font-size:12px; }
.bloom-single-product .wp-block-columns { gap:60px; }
.bloom-single-product .wp-block-post-title { font-size:clamp(32px,3.3vw,46px); }
.bloom-single-product .wp-block-post-excerpt { font-size:14px; color:#6e756c; }
.bloom-single-product .wp-block-woocommerce-product-meta { font-size:11px; color:#6e756c; }
.bloom-single-product .wp-block-woocommerce-product-meta .wp-block-group { flex-wrap:wrap; gap:12px; }
.bloom-single-product .wp-block-woocommerce-product-details { margin-top:60px; }
.bloom-single-product .woocommerce div.product div.images img { border-radius:4px; }
.bloom-page-main > .wp-block-post-content > .bloom-section + .bloom-section { padding-top:0; }
.bloom-contact-form { max-width:850px; }
.bloom-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.bloom-form-field { display:flex; flex-direction:column; gap:7px; font-size:12px; }
.bloom-form-field.full { grid-column:1/-1; }
.bloom-contact-form input, .bloom-contact-form select, .bloom-contact-form textarea { font:inherit; box-sizing:border-box; width:100%; border:1px solid #cfd4c9; background:#fff; color:#29372c; padding:12px 13px; border-radius:2px; }
.bloom-contact-form textarea { min-height:150px; resize:vertical; }
.bloom-contact-form button { margin-top:20px; border:0; background:#52634f; color:white; font-size:13px; padding:15px 24px; cursor:pointer; }
.bloom-form-privacy { color:#6e756c; font-size:11px; line-height:1.6; }
.bloom-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.bloom-form-status { border:1px solid #cbd8c4; background:#eff5ea; padding:16px; margin-bottom:20px; font-size:14px; }
.bloom-form-status.is-error { border-color:#ddc2b9; background:#fbf0ec; }
.bloom-filter-form { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; padding:20px; background:#f6f3ed; }
.bloom-filter-form label { font-size:11px; display:flex; flex-direction:column; gap:5px; }
.bloom-filter-form select, .bloom-filter-form input { min-width:0; width:100%; box-sizing:border-box; padding:10px; border:1px solid #d7dace; border-radius:2px; background:white; color:#29372c; font:inherit; font-size:12px; }
.bloom-filter-price { display:flex; gap:6px; }
.bloom-filter-buttons { display:flex; align-items:flex-end; gap:13px; }
.bloom-filter-buttons button { background:#52634f; color:white; border:0; padding:10px 18px; font-size:12px; cursor:pointer; }
.bloom-filter-buttons a { font-size:11px; white-space:nowrap; }
.bloom-demo-note { font-size:12px; padding:12px; background:#f5f0e7; border:1px solid #e5dbcd; }
.bloom-editor-placeholder { padding:24px; border:1px dashed #acb5a5; background:#f6f3ed; border-radius:3px; }
@media (max-width:1080px) {
 .bloom-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none; }
 .bloom-nav .wp-block-navigation__responsive-container-open { display:flex; }
 .bloom-header-row { min-height:76px; gap:15px; }
 .bloom-nav { margin-left:auto; }
 .bloom-hero, .bloom-editorial, .bloom-story { gap:35px; }
 .bloom-brand .wp-block-site-title { font-size:23px; }
 .bloom-filter-form { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:781px) {
 .bloom-header-row { min-height:70px; }
 .bloom-brand .wp-block-site-title { font-size:21px; }
 .bloom-brand .wp-block-image { width:29px; }
 .bloom-header-actions { gap:5px; }
 .bloom-announcement { font-size:8px; letter-spacing:.12em; }
 .bloom-hero-wrap { padding-top:0; padding-bottom:28px; }
 .bloom-hero { gap:23px; }
 .bloom-hero-text { padding-top:25px; padding-bottom:0; }
 .bloom-hero-title { font-size:47px; margin-top:18px; margin-bottom:20px; }
 .bloom-hero-copy { max-width:none; font-size:14px; }
 .bloom-hero-note { margin-top:18px; }
 .bloom-hero-image img { max-height:none; }
 .bloom-section { padding-top:48px; padding-bottom:48px; }
 .bloom-promises { display:flex; flex-wrap:wrap; gap:10px; }
 .bloom-promises > .wp-block-column { flex-basis:100%; }
 .bloom-category-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 16px; }
 .bloom-category-grid-six.is-layout-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 16px; }
 .bloom-category-grid + .bloom-category-grid { margin-top:22px; }
 .bloom-category-grid > .wp-block-column:last-child { grid-column:1/-1; max-width:calc(50% - 8px); }
 .bloom-category-card h3 { font-size:21px; margin-top:13px; }
 .bloom-card-caption { font-size:12px; }
 .bloom-category-card .bloom-text-link { font-size:11px; }
 .bloom-products .wp-block-woocommerce-product-template { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 16px; }
 .bloom-products .wp-block-post-title { font-size:18px; }
 .bloom-occasion-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
 .bloom-occasion-card { padding:19px; min-height:210px; }
 .bloom-occasion-card h3 { font-size:21px; }
 .bloom-custom-wrap { padding:34px 0 44px; }
 .bloom-editorial { gap:28px; }
 .bloom-editorial-copy { max-width:none; }
 .bloom-story { gap:28px; }
 .bloom-story-image { margin:0; max-width:none; }
 .bloom-footer-columns { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
 .bloom-footer-columns > :first-child { grid-column:1/-1; }
 .bloom-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); padding:15px; }
 .bloom-filter-buttons { grid-column:1/-1; }
 .bloom-single-product .wp-block-columns { gap:30px; }
}
@media (max-width:420px) {
 .bloom-brand .wp-block-site-title { font-size:19px; }
 .bloom-brand { gap:6px; }
 .bloom-brand .wp-block-image { width:26px; }
 .bloom-header-actions .wp-block-search { display:none; }
 .bloom-hero-title { font-size:42px; }
 .bloom-hero-text .wp-block-button__link { font-size:12px; padding:12px 16px; }
 .bloom-form-grid { grid-template-columns:1fr; }
 .bloom-occasion-card { padding:15px; }
}
@media (prefers-reduced-motion:reduce) { a,button,img { transition:none; } }
