/* ==========================================================================
   BloomCastle theme 3.0.0: skin for the Hummingbird base. Colours and fonts come from brand.css.
   Selectors use Hummingbird's own BEM class names. Nothing here changes behaviour.
   ========================================================================== */
:root{--bs-primary:var(--bc-acc);--bs-primary-rgb:var(--bc-acc-rgb);--bs-link-color:var(--bc-acc);--bs-link-color-rgb:var(--bc-acc-rgb);--bs-link-hover-color:var(--bc-acc-hover);
--bs-body-bg:var(--bc-bg);--bs-body-color:var(--bc-text-sub);--bs-body-font-family:var(--bc-font-body);--bs-border-color:var(--bc-border);--bs-border-radius:var(--bc-radius);--bs-border-radius-lg:var(--bc-radius-lg);
--bs-primary-bg-subtle:var(--bc-acc-soft);--bs-primary-text-emphasis:var(--bc-text);--bs-heading-color:var(--bc-text);--bs-tertiary-bg:var(--bc-bg-alt);--bs-focus-ring-color:rgba(var(--bc-acc-rgb),.25)}
html,body{overflow-x:clip}
body{background:var(--bc-bg);color:var(--bc-text-sub);font-family:var(--bc-font-body);font-size:var(--bc-size-md);line-height:1.6}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--bc-font-display);color:var(--bc-text)}
h1,.h1{font-weight:900}h2,.h2{font-weight:800}h3,.h3,h4,.h4{font-weight:700}
a{color:var(--bc-acc)}a:hover{color:var(--bc-acc-hover)}
:focus-visible{outline:3px solid var(--bc-sky);outline-offset:2px}
.form-control,.form-select{border-radius:var(--bc-radius);border-color:var(--bc-border);background-color:var(--bc-bg-card);color:var(--bc-text)}
.form-control:focus,.form-select:focus{border-color:var(--bc-acc);box-shadow:0 0 0 .2rem rgba(var(--bc-acc-rgb),.2)}
/* buttons */
.btn{border-radius:var(--bc-radius-pill);font-family:var(--bc-font-display);font-weight:700;text-transform:none;letter-spacing:0}
.btn-primary{--bs-btn-bg:var(--bc-acc);--bs-btn-border-color:var(--bc-acc);--bs-btn-color:var(--bc-on-acc);--bs-btn-hover-bg:var(--bc-acc-hover);--bs-btn-hover-border-color:var(--bc-acc-hover);--bs-btn-hover-color:var(--bc-on-acc);--bs-btn-active-bg:var(--bc-acc-hover);--bs-btn-active-border-color:var(--bc-acc-hover);--bs-btn-active-color:var(--bc-on-acc);--bs-btn-disabled-bg:var(--bc-acc);--bs-btn-disabled-border-color:var(--bc-acc);--bs-btn-focus-shadow-rgb:var(--bc-acc-rgb)}
.btn-outline-primary{--bs-btn-color:var(--bc-acc);--bs-btn-border-color:var(--bc-acc);--bs-btn-hover-bg:var(--bc-acc);--bs-btn-hover-border-color:var(--bc-acc);--bs-btn-hover-color:var(--bc-on-acc);--bs-btn-active-bg:var(--bc-acc);--bs-btn-active-color:var(--bc-on-acc)}
.btn-secondary,.btn-outline-secondary{--bs-btn-color:var(--bc-text);--bs-btn-border-color:var(--bc-border);--bs-btn-bg:transparent;--bs-btn-hover-bg:var(--bc-bg-alt);--bs-btn-hover-color:var(--bc-text);--bs-btn-hover-border-color:var(--bc-border)}
.btn-square-icon{border-radius:var(--bc-radius)}
.badge{border-radius:var(--bc-radius-pill);font-weight:700}
.alert{border-radius:var(--bc-radius)}
.card,.modal-content,.dropdown-menu{border-radius:var(--bc-radius);border-color:var(--bc-border);background-color:var(--bc-bg-card)}
.accordion-button{font-family:var(--bc-font-display);font-weight:700}
/* header */
.header-top{background:var(--bc-ink);color:var(--bc-on-ink);font-size:var(--bc-size-sm)}
.header-top a,.header-top .header-block__action-btn,.header-top .material-icons,.header-top .header-block__icon{color:var(--bc-on-ink)}
.header-top a:hover{color:var(--bc-sky)}
.header,.header-bottom{background:var(--bc-bg)}
.header-bottom{border-bottom:1px solid var(--bc-border)}
.header-bottom__logo img,.header-bottom__logo svg{max-height:44px;width:auto}
.header-block__action-btn{color:var(--bc-text)}
.header-block__badge{background:var(--bc-acc);color:var(--bc-on-acc);border-radius:var(--bc-radius-pill);font-weight:700}
.ps-mainmenu__tree-link,.ps-mainmenu__tree .menu__link{font-family:var(--bc-font-display);font-weight:700;font-size:var(--bc-size-sm);color:var(--bc-text)}
.ps-mainmenu__tree-link:hover,.ps-mainmenu__tree .menu__link:hover,.ps-mainmenu__tree-link.current,.ps-mainmenu__tree-link:focus{color:var(--bc-acc)}
.ps-searchbar__input{border-radius:var(--bc-radius-pill);border:1px solid var(--bc-border);background:var(--bc-bg-alt);color:var(--bc-text)}
.ps-mainmenu--mobile,.ps-mainmenu.offcanvas{background:var(--bc-ink);color:var(--bc-on-ink)}
.ps-mainmenu--mobile .menu__link,.ps-mainmenu--mobile a,.ps-mainmenu.offcanvas .menu__link,.ps-mainmenu.offcanvas a{font-family:var(--bc-font-display);font-weight:800;font-size:1.6rem;color:var(--bc-on-ink);text-decoration:none}
.ps-mainmenu--mobile .menu__link:hover,.ps-mainmenu.offcanvas a:hover{color:var(--bc-sky)}
.ps-mainmenu--mobile .btn-close,.ps-mainmenu.offcanvas .btn-close{filter:invert(1)}
/* product cards */
.product-miniature__inner{background:var(--bc-bg-card);border:1px solid var(--bc-border);border-radius:var(--bc-radius-lg);box-shadow:var(--bc-shadow);overflow:hidden;height:100%}
.product-miniature__top{background:var(--bc-bg-alt)}
.product-miniature__title,.product-miniature__title a{font-family:var(--bc-font-display);font-weight:700;color:var(--bc-text);text-decoration:none}
.product-miniature__price{font-family:var(--bc-font-display);font-weight:800;font-size:1.25rem;color:var(--bc-text)}
.product-miniature__regular-price{color:var(--bc-text-muted)}
.product-flags .badge,.product-flag{background:var(--bc-acc);color:var(--bc-on-acc)}
/* product page */
.product__name{font-family:var(--bc-font-display);font-weight:800;color:var(--bc-text)}
.product__price,.product__current-price{font-family:var(--bc-font-display);font-weight:800;color:var(--bc-text)}
.product__price{font-size:2rem}
.product__regular-price{color:var(--bc-text-muted)}
.product__add-to-cart-button{min-height:52px}
.product__images img,.product__thumbnails img{border-radius:var(--bc-radius)}
/* cart and checkout */
.cart-summary,.checkout-step,.step{border:1px solid var(--bc-border);border-radius:var(--bc-radius);background:var(--bc-bg-card)}
.step__title{font-family:var(--bc-font-display);font-weight:800;color:var(--bc-text)}
/* account */
.account-menu,.page-content--account .card{border-radius:var(--bc-radius)}
/* footer */
.footer__before{background:var(--bc-bg-alt)}
.ps-emailsubscription{background:var(--bc-acc-soft)!important;color:var(--bc-text);border-radius:var(--bc-radius-lg)}
.ps-emailsubscription .form-control{border-radius:var(--bc-radius-pill)}
.ps-socialfollow a{width:40px;height:40px;border-radius:50%;border:1px solid var(--bc-border);display:inline-flex;align-items:center;justify-content:center;color:var(--bc-text)}
.ps-socialfollow a:hover{background:var(--bc-acc);border-color:var(--bc-acc);color:var(--bc-on-acc)}
.footer__main{background:var(--bc-ink);color:var(--bc-on-ink)}
.footer__main a,.footer__main .footer-block__title,.footer__main h3,.footer__main h4,.footer__main .h4{color:var(--bc-on-ink)}
.footer__main a:hover{color:var(--bc-sky)}
.footer-block__title{font-family:var(--bc-font-display);font-weight:700}
.copyright{border-top:1px solid rgba(234,241,252,.18);margin-top:28px;padding:16px 0;font-size:var(--bc-size-xs);color:var(--bc-on-ink);opacity:.85}
.bc-toggle{background:transparent;border:1px solid rgba(234,241,252,.4);color:inherit;border-radius:var(--bc-radius-pill);padding:4px 12px;font-size:var(--bc-size-xs);cursor:pointer}
/* homepage blocks run edge to edge inside Hummingbird's container */
.bc-abar,.bc-sec--alt,.bc-marquee{box-shadow:0 0 0 100vmax var(--bc-bg-alt);clip-path:inset(0 -100vmax)}
.bc-abar{box-shadow:0 0 0 100vmax var(--bc-bg-alt)}
.bc-marquee{box-shadow:0 0 0 100vmax var(--bc-ink)}
@media (max-width:767.98px){.bc-sec{padding:36px 0}.bc-hero h1{font-size:2.4rem}.bc-grid{grid-template-columns:1fr}.bc-dark{padding:12px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---- BloomCastle page components (used by the homepage and footer blocks) ---- */
.bc-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.bc-sec{padding:64px 0}.bc-sec--alt{background:var(--bc-bg-alt)}
.bc-pill{display:inline-block;font-size:var(--bc-size-xs);padding:4px 12px;border-radius:var(--bc-radius-pill);background:var(--bc-acc-soft);color:var(--bc-text);font-weight:500}
.bc-pill--amber{background:var(--bc-amber-soft);color:#6B3F10}
.bc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.bc-card{background:var(--bc-bg-card);border:1px solid var(--bc-border);border-radius:var(--bc-radius);padding:22px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--bc-shadow)}
.bc-card h3{margin:0}.bc-card--hl{border:2px solid var(--bc-acc)}
.bc-price{font-family:var(--bc-font-display);font-weight:800;font-size:1.35rem;color:var(--bc-text)}
.bc-btn{display:inline-block;background:var(--bc-acc);color:var(--bc-on-acc);font-weight:700;padding:13px 26px;border-radius:var(--bc-radius-pill);text-decoration:none}
.bc-btn:hover{background:var(--bc-acc-hover);color:var(--bc-on-acc)}
.bc-btn--ink{background:var(--bc-ink);color:var(--bc-on-ink)}
.bc-btn--ghost{background:transparent;color:var(--bc-text);border:1px solid var(--bc-text)}
.bc-abar{background:var(--bc-bg-alt);border-bottom:1px solid var(--bc-border)}
.bc-abar .bc-wrap{display:grid;grid-template-columns:1.3fr 1.2fr auto;gap:20px;align-items:center;padding-top:18px;padding-bottom:18px}
.bc-abar h2{font-size:1.25rem;margin:6px 0 0}.bc-abar em{font-style:normal;color:var(--bc-acc)}
.bc-steps{display:flex;gap:14px;flex-wrap:wrap;font-size:var(--bc-size-sm);color:var(--bc-text-muted)}
@media(max-width:768px){.bc-abar .bc-wrap{grid-template-columns:1fr}}
.bc-hero .bc-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.bc-hero h1{font-size:clamp(2.2rem,1.4rem + 3.5vw,4.2rem);line-height:1.05;font-weight:900;margin:14px 0}
.bc-hero p{font-size:var(--bc-size-lg);max-width:520px}
.bc-hero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.bc-panel{background:var(--bc-ink);color:var(--bc-on-ink);border-radius:24px;padding:26px;display:grid;gap:10px}
.bc-panel div{background:rgba(255,255,255,.08);border-radius:12px;padding:14px}
.bc-panel .is-hl{background:var(--bc-acc);color:var(--bc-on-acc);font-weight:600}
@media(max-width:768px){.bc-hero .bc-wrap{grid-template-columns:1fr}}
.bc-marquee{background:var(--bc-ink);color:var(--bc-on-ink);overflow:hidden;white-space:nowrap;font-size:var(--bc-size-sm)}
.bc-marquee span{display:inline-block;padding:12px 28px;animation:bc-m 40s linear infinite}
@keyframes bc-m{to{transform:translateX(-100%)}}
.bc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 20px}
.bc-tab{border:1px solid var(--bc-border);background:var(--bc-bg-card);color:var(--bc-text);border-radius:var(--bc-radius-pill);padding:8px 18px;font-weight:500;cursor:pointer}
.bc-tab.is-on{background:var(--bc-acc);border-color:var(--bc-acc);color:var(--bc-on-acc)}
.bc-panelx{display:none}.bc-panelx.is-on{display:block}
.bc-fi{border-bottom:1px solid var(--bc-border)}
.bc-fq{width:100%;text-align:left;background:none;border:0;padding:16px 0;font-family:var(--bc-font-display);font-weight:600;font-size:1.05rem;color:var(--bc-text);cursor:pointer}
.bc-fa{display:none;padding:0 0 16px}.bc-fi.is-open .bc-fa{display:block}
.bc-final{background:var(--bc-ink);color:var(--bc-on-ink);text-align:center;border-radius:24px;padding:56px 24px}
.bc-final h2{color:var(--bc-on-ink)}
.bc-note{font-size:var(--bc-size-sm);color:var(--bc-text-muted)}
@media(max-width:1024px){.bc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.bc-grid{grid-template-columns:1fr}}
/* ---- Mobile-first SaaS layout (v1.1) ---- */
.bc-sec{padding:44px 0}
.bc-card{border-radius:24px}
.bc-pill{letter-spacing:.06em;font-weight:700;padding:7px 14px}
.bc-pill--plain{background:none;padding:0;color:var(--bc-acc)}
.bc-h2{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);font-weight:800;margin:10px 0}
.bc-lead{font-size:var(--bc-size-lg);max-width:640px}
.bc-steps2{display:flex;justify-content:space-between;text-align:center;font-size:var(--bc-size-xs);color:var(--bc-text-muted);max-width:520px}
.bc-steps2 i{display:flex;width:44px;height:44px;border-radius:50%;border:2px solid var(--bc-border);background:var(--bc-bg-card);font:700 16px var(--bc-font-display);font-style:normal;align-items:center;justify-content:center;margin:0 auto 6px;color:var(--bc-text)}
.bc-steps2 .is-on i{background:var(--bc-ink);border-color:var(--bc-ink);color:var(--bc-on-ink)}
.bc-center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
/* slider */
.bc-slider{position:relative}
.bc-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:none}
.bc-track::-webkit-scrollbar{display:none}
.bc-slide{flex:0 0 min(86%,420px);scroll-snap-align:start;background:var(--bc-bg-card);border:1px solid var(--bc-border);border-radius:24px;padding:26px;display:flex;flex-direction:column;gap:10px;min-height:230px}
.bc-slide h3{margin:0}.bc-slide .bc-ico{width:48px;height:48px;border-radius:14px;background:var(--bc-acc-soft)}
.bc-slide--ink{background:var(--bc-ink);color:var(--bc-on-ink)}.bc-slide--ink h3{color:var(--bc-on-ink)}
.bc-arrows{display:flex;gap:8px;margin-top:8px}
.bc-arrows button{width:44px;height:44px;border-radius:50%;border:2px solid var(--bc-border);background:var(--bc-bg-card);color:var(--bc-text);font:700 18px var(--bc-font-display);cursor:pointer}
/* bottle product card */
.bc-pcard{background:var(--bc-bg-card);border:1px solid var(--bc-border);border-radius:24px;overflow:hidden}
.bc-pcard__img{position:relative;height:200px;background:#E3EEFC;display:flex;justify-content:center;align-items:flex-end;overflow:hidden}
.bc-pcard__side{position:absolute;right:0;top:0;bottom:0;width:44px;background:var(--bc-ink)}
.bc-bottle{display:flex;flex-direction:column;align-items:center}
.bc-bottle__bulb{width:30px;height:34px;background:#0B1B33;border-radius:14px 14px 0 0}
.bc-bottle__stem{width:8px;height:12px;background:#1B2B44}
.bc-bottle__neck{width:38px;height:18px;background:var(--bc-acc)}
.bc-bottle__body{width:96px;height:100px;background:#5A3A1E;border-radius:12px 12px 0 0;padding:8px;box-sizing:border-box}
.bc-bottle__label{background:#fff;height:100%;border-radius:4px;font-size:9px;padding:6px;color:var(--bc-text);font-weight:700}
.bc-pcard__body{padding:18px 22px 22px;display:flex;flex-direction:column;gap:8px}
.bc-pcard__body h3{margin:0}
/* dark bundle panel */
.bc-dark{background:var(--bc-ink);border-radius:28px;padding:20px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.bc-k{border:1px solid #2A4A78;background:#13335E;border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:8px;color:#B7C7E0}
.bc-k h3{color:#EAF1FC;margin:0}.bc-k .bc-price{color:#BFD8FF}.bc-k--mid{border-color:var(--bc-sky);background:#0F2F5E}
.bc-ck{list-style:none;margin:6px 0;padding:0}
.bc-ck li{padding:9px 0 9px 28px;border-bottom:1px solid var(--bc-border);position:relative}
.bc-ck li:before{content:"";position:absolute;left:4px;top:15px;width:10px;height:5px;border-left:2px solid var(--bc-acc);border-bottom:2px solid var(--bc-acc);transform:rotate(-45deg)}
.bc-k .bc-ck li{border-color:#2A4A78}
.bc-plan{position:relative}.bc-plan--pop{border:3px solid var(--bc-ink)}
.bc-plan__badge{position:absolute;top:-16px;left:50%;transform:translateX(-50%);background:var(--bc-ink);color:var(--bc-on-ink);font-size:12px;font-weight:700;letter-spacing:.06em;padding:6px 14px;border-radius:999px}
.bc-price small{font-size:.9rem;font-weight:400;color:var(--bc-text-muted)}
.bc-report{background:var(--bc-ink);color:var(--bc-on-ink);border-radius:28px;padding:24px;display:grid;gap:10px}
.bc-report div{display:flex;justify-content:space-between;border-bottom:1px solid #2A4A78;padding-bottom:8px}
.bc-btn--sm{padding:9px 18px;font-size:var(--bc-size-sm)}

.bc-toggle{background:transparent;border:1px solid rgba(234,241,252,.4);color:inherit;border-radius:var(--bc-radius-pill);padding:4px 12px;font-size:var(--bc-size-xs);cursor:pointer}
.bc-plan-note{background:var(--bc-acc-soft);color:var(--bc-text);border-radius:var(--bc-radius);padding:12px 14px;font-size:var(--bc-size-sm)}
.bc-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--bc-bg);border-top:1px solid var(--bc-border);padding:10px 16px;display:none;align-items:center;justify-content:space-between;gap:12px}
.bc-sticky-atc.is-on{display:flex}
.bc-footer{background:var(--bc-ink);color:var(--bc-on-ink);padding:48px 0 24px}
.bc-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px}
.bc-footer__grid h4{font-size:var(--bc-size-md);margin:0 0 10px;color:var(--bc-on-ink)}
.bc-footer__grid ul{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:var(--bc-size-sm)}
.bc-footer a{color:var(--bc-on-ink);text-decoration:none}.bc-footer a:hover{color:var(--bc-sky)}
.bc-footer__legal{border-top:1px solid rgba(234,241,252,.18);margin-top:28px;padding-top:16px;font-size:var(--bc-size-xs);opacity:.8}
.bc-social{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.bc-social a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(234,241,252,.35);display:flex;align-items:center;justify-content:center;color:var(--bc-on-ink)}
.bc-social a:hover{background:var(--bc-acc);border-color:var(--bc-acc);color:var(--bc-on-acc)}
.bc-social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bc-blog{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.bc-post{background:var(--bc-bg-card);border:1px solid var(--bc-border);border-radius:24px;overflow:hidden;display:flex;flex-direction:column}
.bc-post__img{background:var(--bc-acc-soft);height:160px}
.bc-post__body{padding:20px;display:flex;flex-direction:column;gap:8px}
.bc-post__body h3{margin:0;font-size:1.15rem}.bc-post__body h3 a{color:var(--bc-text)}
.bc-post__meta{font-size:var(--bc-size-xs);color:var(--bc-text-muted)}
.bc-wm{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.07;font:700 18px var(--bc-font-display);color:var(--bc-text);display:flex;flex-wrap:wrap;gap:60px;overflow:hidden;transform:rotate(-18deg) scale(1.4)}
.bc-hide>*{visibility:hidden}
.bc-hide:before{content:"Content hidden. Return to this tab to continue.";position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bc-bg);color:var(--bc-text);z-index:9999;font:700 18px var(--bc-font-display);text-align:center;padding:24px;visibility:visible}
.bc-protected{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
@media print{.bc-protected *{display:none!important}.bc-protected:before{content:"Printing is disabled on this page.";display:block;font:700 20px sans-serif}}

/* footer block sits inside Hummingbird's .footer__main-bottom row */
.footer__main-bottom .bc-footer,.footer__main-top .bc-footer{flex:0 0 100%;max-width:100%;padding:24px 0 0;background:transparent}
.bc-footer .container{max-width:none;padding:0}
.bc-footer h4{color:var(--bc-on-ink)}
