/*
Theme Name: Olly's Feel-Good Editorial
Theme URI: https://example.com/
Author: Editorial Theme Studio
Description: Responsive Olly's-inspired WordPress storefront demo built from supplied HTML. Demo cart and checkout; no payments.
Version: 1.0.8
Requires PHP: 7.4
Text Domain: olly-editorial
*/
@import url('https://cdn-uicons.flaticon.com/3.3.1/uicons-regular-rounded/css/uicons-regular-rounded.css');
@import url('https://cdn-uicons.flaticon.com/3.3.1/uicons-brands/css/uicons-brands.css');
:root{--olly-purple:#440099;--olly-lilac:#e2c7d6;--olly-cream:#faf8f5}body{overflow-x:hidden}body.admin-bar .main-header-section{top:32px}.olly-shell{position:relative}.olly-home{overflow:hidden}.olly-home .main-content-wrap{display:block}.olly-page{background:#faf8f5;min-height:65vh;padding:175px 0 90px;color:var(--olly-purple);font-family:Arial,sans-serif}.olly-page *{box-sizing:border-box}.olly-container{max-width:1320px;margin:auto;padding:0 24px}.olly-page h1,.olly-page h2,.olly-page h3{font-family:Arial,sans-serif;color:var(--olly-purple);letter-spacing:-.035em;line-height:1.07}.olly-page h1{font-size:clamp(48px,7vw,100px)}.olly-page h2{font-size:clamp(28px,3.5vw,46px)}.olly-page h3{font-size:22px}.olly-page p{font-size:17px;line-height:1.65}.olly-breadcrumb{font-size:13px;margin:0 0 40px;opacity:.75}.olly-breadcrumb a{color:inherit}.olly-page-hero{max-width:850px;margin:0 0 46px}.olly-page-hero h1{margin:12px 0 18px}.olly-page-hero p{max-width:680px}.olly-eyebrow{font-size:13px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.olly-filter-nav{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.olly-filter-nav a{border:2px solid var(--olly-purple);border-radius:99px;padding:9px 18px;color:var(--olly-purple);font-weight:700;font-size:14px}.olly-filter-nav a:hover{background:var(--olly-purple);color:#fff}.olly-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch}.olly-card{border:1px solid #e6ddea;border-radius:18px;background:#fff;overflow:hidden;display:flex;flex-direction:column;min-width:0}.olly-card-img{display:block;aspect-ratio:1/1;background:#efe9f5;overflow:hidden}.olly-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.olly-card:hover .olly-card-img img{transform:scale(1.04)}.olly-card-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}.olly-card-body h3{font-size:22px;line-height:1.18;min-height:52px}.olly-card-body h3 a{color:inherit}.olly-card-body p{font-size:17px;font-weight:700}.olly-card-actions{display:flex;align-items:center;gap:12px;margin-top:auto;flex-wrap:wrap}.olly-pill{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:max-content;max-width:100%;border:2px solid var(--olly-purple);border-radius:99px;background:#fff;color:var(--olly-purple);font-size:15px;font-weight:800;line-height:1.2;padding:13px 19px;cursor:pointer;text-decoration:none;transition:.2s}.olly-pill:hover,.olly-pill.solid{background:var(--olly-purple);color:white}.olly-pill.solid:hover{background:#7a65a5;border-color:#7a65a5}.olly-icon-circle{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;border:2px solid var(--olly-purple);background:white;color:var(--olly-purple);font-size:18px;cursor:pointer}.olly-icon-circle.is-active{background:var(--olly-purple);color:white}.olly-icon,.olly-icon-circle{line-height:1}.olly-icon i,.olly-pill i,.olly-icon-circle i{display:inline-flex;align-items:center;justify-content:center}.olly-utility{position:absolute;right:100px;top:65px;z-index:1002;display:flex;gap:13px;align-items:center}.olly-utility .olly-icon{border:0;background:transparent;color:white;font-size:20px;cursor:pointer;position:relative}.olly-utility .olly-icon span{font-size:11px;position:absolute;top:-9px;right:-10px}.olly-section{margin:90px 0}.olly-section h2{margin-bottom:28px}.olly-product-detail{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.olly-detail-photo{background:#f1e4f1;border-radius:25px;overflow:hidden}.olly-detail-photo img{width:100%;display:block}.olly-detail-content h1{font-size:clamp(42px,5vw,75px);margin:15px 0 22px}.olly-detail-content p{margin:22px 0}.olly-price{font-size:27px;font-weight:800}.olly-qty{display:inline-flex;border:1px solid #cabdd9;border-radius:40px;align-items:center;overflow:hidden;margin:12px 14px 12px 0}.olly-qty button,.olly-qty input{width:38px;height:40px;border:0;text-align:center;background:transparent;color:var(--olly-purple);font-size:16px}.olly-qty button{cursor:pointer}.olly-product-benefits{border-top:1px solid #ddd;margin-top:35px;padding-top:12px}.olly-product-benefits p{font-size:14px;margin:9px 0}.olly-product-benefits i{margin-right:8px}.olly-cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:35px;align-items:start}.olly-cart-list,.olly-summary,.olly-panel{background:white;border:1px solid #e8deee;border-radius:22px;padding:28px}.olly-cart-item{display:grid;grid-template-columns:90px 1fr auto;gap:18px;padding:18px 0;border-bottom:1px solid #eee;align-items:center}.olly-cart-item img{width:90px;height:90px;object-fit:cover;border-radius:12px}.olly-cart-item h3{font-size:18px;margin-bottom:8px}.olly-cart-item a{color:inherit}.olly-cart-item .olly-qty{margin:8px 0}.olly-cart-item .olly-qty button,.olly-cart-item .olly-qty input{width:29px;height:30px;font-size:13px}.olly-cart-item .olly-remove{border:0;background:none;text-decoration:underline;cursor:pointer;color:var(--olly-purple)}.olly-summary h2{font-size:29px;margin-bottom:28px}.olly-total{display:flex;justify-content:space-between;gap:12px;font-size:19px;margin:16px 0}.olly-summary p{font-size:13px;margin:20px 0}.olly-summary .olly-pill{width:100%}.olly-form{display:grid;gap:15px}.olly-form label{font-size:13px;font-weight:800;display:grid;gap:7px}.olly-form input,.olly-form textarea{width:100%;border:1px solid #d4c9df;border-radius:12px;background:#fff;padding:14px 15px;font-size:15px;color:#28202c;font-family:inherit}.olly-form .olly-pill{margin-top:10px}.olly-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.olly-contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px}.olly-contact-cards article{background:#e9d5ed;border-radius:20px;padding:30px}.olly-contact-cards i{font-size:28px}.olly-contact-cards h3{margin:15px 0}.olly-contact-cards p{font-size:14px}.olly-contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px}.olly-contact-layout h2{margin-bottom:25px}.olly-social{display:flex;gap:14px;margin:22px 0}.olly-social a{display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--olly-purple);border-radius:50%;color:var(--olly-purple);font-size:20px}.olly-map iframe{border:0;border-radius:16px;width:100%;height:280px}.olly-faq{max-width:880px}.olly-faq details{border-bottom:1px solid #d7c7e4;padding:23px 0}.olly-faq summary{font-size:20px;font-weight:800;cursor:pointer;display:flex;justify-content:space-between;gap:20px}.olly-faq details p{padding-top:14px}.olly-editorial{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.olly-editorial-image{background:#f1e4f1;border-radius:24px;overflow:hidden}.olly-editorial-image img{width:100%}.olly-editorial h2{margin:16px 0}.olly-editorial p{margin:18px 0}.olly-newsletter-strip{background:#e2c7d6;border-radius:25px;padding:45px;display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:90px}.olly-newsletter-strip h2{margin:12px 0}.olly-newsletter-panel{max-width:650px}.olly-overlay{position:fixed;inset:0;background:#0008;z-index:10000}.olly-drawer{position:fixed;right:0;top:0;bottom:0;width:min(460px,100%);background:#fff;z-index:10001;transform:translateX(105%);transition:transform .3s;display:flex;flex-direction:column;color:var(--olly-purple);box-shadow:-8px 0 40px #0002}.olly-drawer.is-open{transform:none}.olly-drawer-top,.olly-drawer-bottom{padding:24px;border-bottom:1px solid #e8e2ec}.olly-drawer-top{display:flex;justify-content:space-between;align-items:center}.olly-drawer-top h3{font-family:Arial,sans-serif;font-size:26px}.olly-drawer-top .olly-icon,.olly-search-close{background:transparent;border:0;font-size:22px;cursor:pointer;color:var(--olly-purple)}.olly-drawer-items{padding:12px 24px;flex:1;overflow:auto}.olly-drawer .olly-cart-item{grid-template-columns:65px 1fr auto;gap:10px}.olly-drawer .olly-cart-item img{width:65px;height:65px}.olly-drawer .olly-cart-item h3{font-size:15px}.olly-drawer-bottom{border-top:1px solid #eee;display:grid;gap:10px}.olly-drawer-bottom .olly-pill{width:100%}.olly-search-modal{position:fixed;inset:10% 10% auto;background:#fff;border-radius:20px;padding:50px;z-index:10002;color:var(--olly-purple);box-shadow:0 10px 100px #0004}.olly-search-modal h2{font-family:Arial,sans-serif;font-size:38px;line-height:1.1;margin-bottom:20px}.olly-search-modal form{display:flex;gap:12px}.olly-search-modal input{flex:1;min-width:0;border:1px solid #ddd;border-radius:30px;padding:12px 20px}.olly-search-close{position:absolute;right:20px;top:20px}[hidden]{display:none!important}.olly-home .products-component,.olly-home .primary-product-component{min-width:0}.olly-home .products-wrap .product-component-wrap{display:flex;flex-wrap:wrap}.olly-home .products-wrap .products-component{flex:0 0 23%;max-width:23%}.olly-home .products-wrap aside,.olly-home .products-wrap .sidebar{display:none!important}
@media(max-width:1100px){.olly-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.olly-utility{right:40px}.olly-home .products-wrap .products-component{flex-basis:31%;max-width:31%}}@media(max-width:800px){body.admin-bar .main-header-section{top:46px}.olly-page{padding-top:150px}.olly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.olly-cart-layout,.olly-contact-layout,.olly-editorial,.olly-product-detail,.olly-newsletter-strip{grid-template-columns:1fr}.olly-contact-cards{grid-template-columns:1fr}.olly-utility{top:67px;right:72px}.olly-home .products-wrap .products-component{flex-basis:48%;max-width:48%}}@media(max-width:520px){.olly-container{padding:0 16px}.olly-page{padding-top:125px}.olly-grid{gap:12px}.olly-card-body{padding:14px}.olly-card-body h3{font-size:16px;min-height:40px}.olly-card-actions{gap:7px}.olly-card-actions .olly-pill{font-size:12px;padding:10px}.olly-icon-circle{width:36px;height:36px;flex-basis:36px}.olly-cart-list,.olly-summary,.olly-panel{padding:18px}.olly-cart-item{grid-template-columns:64px 1fr auto;gap:8px}.olly-cart-item img{width:64px;height:64px}.olly-cart-item h3{font-size:15px}.olly-newsletter-strip{padding:24px}.olly-search-modal{inset:12% 4% auto;padding:42px 20px 24px}.olly-search-modal form{flex-direction:column}.olly-utility{top:60px;right:64px;gap:7px}.olly-utility .olly-icon{font-size:16px}.olly-home .products-wrap .products-component{flex-basis:100%;max-width:100%}}
/* Inner-page header retains the original header markup with a readable purple surface. */
body:not(.home) .main-header-section{background:var(--olly-purple)}body:not(.home) .main-header-section .header-wrap{background:var(--olly-purple)}body:not(.home) .main-header-section .header-top{background:var(--olly-lilac)}body:not(.home) .main-header-section .header-inner{min-height:80px}body:not(.home) .main-header-section .main-nav ul li a{color:#fff}body:not(.home) .main-header-section .logo-dark{filter:brightness(0) invert(1)}body:not(.home) .main-header-section .cart-opener img{filter:brightness(0) invert(1)}.olly-home .main-header-section{z-index:1001}.olly-page .olly-grid aside{display:none!important}


/* V2: reliable header logo and clean announcement bar */
.main-header-section .header-top{float:none;display:block;width:100%;min-height:38px;padding:0 18px;background:#e2c7d6;color:#440099;position:relative;z-index:3}
.main-header-section .header-top__item,.main-header-section .header-top .header-top__item:first-child{display:block!important;width:100%;text-align:center}
.main-header-section .header-top p{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:0;min-height:38px;padding:8px 0;font-size:12px;line-height:1.45;font-weight:800;letter-spacing:.075em;color:#440099}
.main-header-section .header-top a{font-size:11px;letter-spacing:.07em;text-decoration:underline;text-underline-offset:3px;color:#440099;font-weight:900}
.olly-announcement-star{font-size:14px;line-height:1;color:#7a65a5}
.main-header-section .logo-wrap{overflow:visible!important;z-index:20;min-height:65px}
.main-header-section .main-logo,.loaded .main-header-section .main-logo{transform:none!important;opacity:1!important;visibility:visible!important;display:block!important;width:100%}
.main-header-section .main-logo a{display:block;width:100%}
.main-header-section .main-logo img{height:auto;max-height:102px;width:100%;object-fit:contain}
.main-header-section .main-logo .logo-dark{display:block}
.main-header-section .main-logo .logo-white{display:none}
.main-header-section.header-white .main-logo .logo-dark,.main-header-section.header-fixed .main-logo .logo-dark,body:not(.home) .main-header-section .main-logo .logo-dark{display:none}
.main-header-section.header-white .main-logo .logo-white,.main-header-section.header-fixed .main-logo .logo-white,body:not(.home) .main-header-section .main-logo .logo-white{display:block}
body:not(.home) .main-header-section .main-logo .logo-white{filter:none!important}
body:not(.home) .main-header-section .header-top{background:#e2c7d6}
body:not(.home) .main-header-section .header-wrap{min-height:98px}
@media(max-width:767px){.main-header-section .header-top p{font-size:10px;gap:5px 9px;letter-spacing:.035em}.main-header-section .header-top a{font-size:10px}.main-header-section .logo-wrap{min-height:48px}.main-header-section .main-logo img{max-height:68px}body:not(.home) .main-header-section .header-wrap{min-height:75px}}
@media(max-width:420px){.main-header-section .header-top p{font-size:9px}.main-header-section .header-top a{font-size:9px}.olly-announcement-star{display:none}}

/* V3: preserve consistent pill CTA geometry on hover. Original Shopify CSS
   sets border-radius:50%, turning wide buttons into oval shapes. */
body .btn:not(.arrow-btn),
body .btn:not(.arrow-btn):hover,
body .btn:not(.arrow-btn):focus-visible,
body .btn:not(.arrow-btn):active {
  border-radius: 22px !important;
  border-color: var(--victoria, #440099);
  transition: background-color .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
body .btn:not(.arrow-btn):hover,body .btn:not(.arrow-btn):focus-visible {
  background-color: var(--victoria, #440099);
  color: #fff;
  box-shadow: none;
}
body .btn.white-btn:not(.arrow-btn),body .btn.white-btn:not(.arrow-btn):hover {
  border-radius: 22px !important;
}
body .btn.white-btn:not(.arrow-btn):hover {
  background: #fff; color: var(--victoria, #440099); border-color:#fff;box-shadow:none;
}
body .olly-pill,body .olly-pill:hover,body .olly-pill:focus-visible {border-radius:999px !important}
@media (prefers-reduced-motion:reduce){body .btn{transition:none!important}}


/* V4: announcement is a normal document-flow sibling ABOVE the header, not inside it. */
.olly-announcement-bar{position:relative!important;inset:auto!important;z-index:1010;display:block;width:100%;background:#e2c7d6;color:#440099;isolation:isolate}
.olly-announcement-bar .header-top{position:static!important;float:none!important;display:block!important;width:100%;padding:0 18px!important;min-height:44px;background:transparent!important}
.olly-announcement-bar .header-top__item{width:100%;display:block;text-align:center}
.olly-announcement-bar .header-top p{min-height:44px;margin:0;display:flex;justify-content:center;align-items:center;gap:9px 18px;flex-wrap:wrap;padding:8px 0;color:#440099;font-size:12px;font-weight:800;line-height:1.35;letter-spacing:.07em}
.olly-announcement-bar .header-top a{color:#440099;text-decoration:underline;text-underline-offset:4px;font-size:12px;font-weight:900;white-space:nowrap}
.olly-announcement-bar .olly-announcement-star{color:#7a65a5}
/* Header starts below the announcement; scrolling never pulls the bar over the logo. */
body .main-header-section,body.admin-bar .main-header-section{top:44px!important;left:0;right:0;width:100%;position:absolute;z-index:1001;transition:background-color .25s ease,box-shadow .25s ease}
body .main-header-section .header-wrap{padding:13px 0 16px!important;transition:padding .25s ease,background-color .25s ease;min-height:0!important}
body .main-header-section .header-inner{min-height:76px;align-items:center;padding-top:0;transition:min-height .25s ease}
body .main-header-section .logo-wrap{top:50%;transform:translate(-50%,-50%);width:128px;min-height:0!important;max-height:92px;overflow:visible!important;transition:width .25s ease}
body .main-header-section .main-logo img{display:block;max-height:90px;width:100%;object-fit:contain}
body .main-header-section .nav-wrap{padding-top:0}
body .main-header-section .main-nav ul li a{transition:font-size .25s ease,color .25s ease;font-size:17px}
body .main-header-section .account-icon,body .main-header-section .cart-opener{align-items:center}
/* Compact sticky header, while the announcement scrolls away naturally. */
body .main-header-section.olly-scrolled,body.admin-bar .main-header-section.olly-scrolled{position:fixed!important;top:0!important;background:#e2c7d6!important;box-shadow:0 5px 25px rgba(39,12,75,.14)}
body.admin-bar .main-header-section.olly-scrolled{top:32px!important}
body .main-header-section.olly-scrolled .header-wrap{padding:5px 0!important;background:#e2c7d6!important}
body .main-header-section.olly-scrolled .header-inner{min-height:56px}
body .main-header-section.olly-scrolled .logo-wrap{width:80px;max-height:55px}
body .main-header-section.olly-scrolled .main-logo img{max-height:54px}
body .main-header-section.olly-scrolled .main-nav ul li a{font-size:13px!important;color:#440099!important}
body .main-header-section.olly-scrolled .cart-opener em{color:#440099!important;background:#44009918}
body .main-header-section.olly-scrolled .phone-nav div,body .main-header-section.olly-scrolled .phone-nav div:before,body .main-header-section.olly-scrolled .phone-nav div:after{background:#440099}
body .main-header-section.olly-scrolled .main-logo .logo-dark{display:block!important}
body .main-header-section.olly-scrolled .main-logo .logo-white{display:none!important}
body .main-header-section.olly-scrolled .cart-white{display:none!important}
body .main-header-section.olly-scrolled .cart-dark{display:block!important}
body .main-header-section.olly-scrolled + .olly-utility{position:fixed;top:14px;color:#440099}
body.admin-bar .main-header-section.olly-scrolled + .olly-utility{top:46px}
body .main-header-section.olly-scrolled + .olly-utility .olly-icon{color:#440099}
/* Header utility is aligned with the navigation, and is not inside the announcement. */
body .olly-utility{top:101px;right:100px}
body:not(.home) .olly-page{padding-top:175px}
@media(max-width:782px){body.admin-bar .main-header-section.olly-scrolled{top:46px!important}body.admin-bar .main-header-section.olly-scrolled + .olly-utility{top:58px}}
@media(max-width:767px){.olly-announcement-bar .header-top{padding:0 12px!important}.olly-announcement-bar .header-top p{font-size:10px;gap:5px 10px;min-height:46px;letter-spacing:.025em}.olly-announcement-bar .header-top a{font-size:10px}body .main-header-section,body.admin-bar .main-header-section{top:46px!important}body .main-header-section .header-inner{min-height:62px}body .main-header-section .logo-wrap{width:90px}body .main-header-section .main-logo img{max-height:65px}body .main-header-section.olly-scrolled .header-inner{min-height:48px}body .main-header-section.olly-scrolled .logo-wrap{width:64px}body .main-header-section.olly-scrolled .main-logo img{max-height:45px}body .olly-utility{top:94px;right:70px}body .main-header-section.olly-scrolled + .olly-utility{top:11px;right:70px}}
@media(max-width:420px){.olly-announcement-bar .olly-announcement-star{display:none}.olly-announcement-bar .header-top p{font-size:9px}.olly-announcement-bar .header-top a{font-size:9px}}


/* V5 STRUCTURAL FIX: both announcement and header occupy their own normal-flow rows. */
html{scroll-padding-top:90px}
body .olly-shell{display:flow-root}
body .olly-announcement-bar{position:relative!important;top:auto!important;float:none!important;clear:both!important;height:auto!important;min-height:46px;z-index:12!important}
body .olly-announcement-bar .header-top{height:auto!important;min-height:46px!important}
body .main-header-section,body.admin-bar .main-header-section,body .main-header-section.olly-scrolled,body.admin-bar .main-header-section.olly-scrolled{
 position:sticky!important;top:0!important;left:auto!important;right:auto!important;float:none!important;display:block!important;
 width:100%!important;height:auto!important;min-height:0!important;z-index:1000!important;clear:both!important;
 background:#593e94!important;box-shadow:none!important;
}
body.admin-bar .main-header-section,body.admin-bar .main-header-section.olly-scrolled{top:32px!important}
body .main-header-section .header-wrap,body .main-header-section.olly-scrolled .header-wrap{
 float:none!important;display:block!important;min-height:0!important;padding:10px 0!important;background:transparent!important;
}
body .main-header-section .header-inner,body .main-header-section.olly-scrolled .header-inner{
 min-height:82px!important;height:82px!important;padding:0!important;display:flex!important;align-items:center!important;position:relative!important;
}
body .main-header-section .logo-wrap,body .main-header-section.olly-scrolled .logo-wrap{
 position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
 width:118px!important;height:78px!important;max-height:78px!important;min-height:0!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;
}
body .main-header-section .main-logo,body .main-header-section.olly-scrolled .main-logo{height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}
body .main-header-section .main-logo a{height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}
body .main-header-section .main-logo img{max-width:100%!important;max-height:76px!important;object-fit:contain!important}
body .main-header-section .nav-wrap{padding-top:0!important}
body .main-header-section .main-nav ul li a{color:#fff!important}
body .main-header-section .cart-opener em{color:#fff!important}
body .main-header-section .main-logo .logo-white{display:block!important}
body .main-header-section .main-logo .logo-dark{display:none!important}
body .main-header-section .cart-white{display:block!important}
body .main-header-section .cart-dark{display:none!important}
body .main-header-section.olly-scrolled{background:#e2c7d6!important;box-shadow:0 6px 22px rgba(39,12,75,.12)!important}
body .main-header-section.olly-scrolled .header-wrap{padding:5px 0!important}
body .main-header-section.olly-scrolled .header-inner{height:58px!important;min-height:58px!important}
body .main-header-section.olly-scrolled .logo-wrap{width:78px!important;height:54px!important;max-height:54px!important}
body .main-header-section.olly-scrolled .main-logo img{max-height:52px!important}
body .main-header-section.olly-scrolled .main-logo .logo-white{display:none!important}
body .main-header-section.olly-scrolled .main-logo .logo-dark{display:block!important}
body .main-header-section.olly-scrolled .cart-white{display:none!important}
body .main-header-section.olly-scrolled .cart-dark{display:block!important}
body .main-header-section.olly-scrolled .main-nav ul li a{color:#440099!important;font-size:13px!important}
body .main-header-section.olly-scrolled .cart-opener em{color:#440099!important}
/* The utility buttons are positioned in the header row, not the announcement row. */
body .olly-utility{top:66px!important;right:105px!important;z-index:1002!important}
body .main-header-section.olly-scrolled + .olly-utility{position:fixed!important;top:14px!important}
body.admin-bar .main-header-section.olly-scrolled + .olly-utility{top:46px!important}
/* Home hero follows the header rather than sitting beneath it. */
body.home .hero-wrap{min-height:calc(100vh - 148px)!important;padding-top:40px!important}
body.home .hero-bg{padding-top:0!important}
body:not(.home) .olly-page{padding-top:60px!important}
@media(max-width:782px){body.admin-bar .main-header-section,body.admin-bar .main-header-section.olly-scrolled{top:46px!important}body.admin-bar .main-header-section.olly-scrolled + .olly-utility{top:58px!important}}
@media(max-width:767px){
 body .main-header-section .header-inner{height:65px!important;min-height:65px!important}
 body .main-header-section .logo-wrap{width:92px!important;height:59px!important;max-height:59px!important}
 body .main-header-section .main-logo img{max-height:57px!important}
 body .main-header-section.olly-scrolled .header-inner{height:52px!important;min-height:52px!important}
 body .main-header-section.olly-scrolled .logo-wrap{width:67px!important;height:46px!important;max-height:46px!important}
 body .main-header-section.olly-scrolled .main-logo img{max-height:44px!important}
 body .olly-utility{top:65px!important;right:65px!important}
 body .main-header-section.olly-scrolled + .olly-utility{top:12px!important;right:65px!important}
 body.home .hero-wrap{min-height:calc(100svh - 112px)!important}
}

/* V6: logo contrast, true icons, stable button shape and mobile product carousels */
body .main-header-section.olly-scrolled .main-logo .logo-dark{display:block!important;filter:none!important}
body .main-header-section.olly-scrolled .main-logo .logo-white{display:none!important}
body:not(.home) .main-header-section.olly-scrolled .logo-dark{filter:none!important}
body .main-header-section:not(.olly-scrolled) .main-logo .logo-dark{display:none!important}
body .main-header-section:not(.olly-scrolled) .main-logo .logo-white{display:block!important}
body .main-header-section .main-logo a{position:relative!important}
body .main-header-section .main-logo a img{position:absolute!important;inset:0!important;margin:auto!important;object-fit:contain!important}
body .olly-icon-circle svg,body .olly-pill svg{width:19px;height:19px;display:block;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body .olly-icon-circle.is-active svg{fill:currentColor}
body .olly-card-actions .olly-pill{min-height:45px;flex:0 1 auto}
body .olly-card-actions .olly-icon-circle{width:45px;height:45px;flex:0 0 45px}
body .olly-pill,body .olly-pill:hover,body .olly-pill:focus,body .olly-card-actions button,body .olly-card-actions button:hover{border-radius:999px!important;transform:none!important;box-shadow:none!important}
body .olly-pill:hover{background:#440099!important;color:#fff!important;border-color:#440099!important}
body .olly-icon-circle:hover{background:#440099;color:#fff;border-radius:50%!important}
.olly-home .products-component-content .products-component__btn{display:none!important}
.olly-home .products-component-thumb .quick-shop-btn{display:none!important}
.olly-home .products-component-content .olly-home-actions{display:flex!important;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 8px}
.olly-home .products-component-content .olly-home-actions .olly-pill{font-family:inherit;font-size:14px;line-height:1.2;min-height:43px;padding:10px 16px;border:2px solid #440099;border-radius:999px!important;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;text-transform:none;font-weight:800;box-shadow:none!important;transition:background .2s,color .2s,border-color .2s!important}
.olly-home .products-component-content .olly-home-actions .olly-pill:hover{border-radius:999px!important;transform:none!important;background:#440099!important;color:white!important}
.olly-home .products-component-content .olly-home-actions .olly-pill.secondary{background:#440099;color:#fff}
.olly-home .products-component-content .olly-home-actions .olly-pill.secondary:hover{background:#7a65a5!important;border-color:#7a65a5!important}
.olly-home .products-component-content .olly-home-actions svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.olly-home .products-component-content .card-form,.olly-home .products-component-content .free-gift-form{display:none!important}
.olly-home .products-wrap .product-component-wrap{align-items:stretch}
.olly-home .products-wrap .products-component{display:flex;flex-direction:column}
.olly-home .products-wrap .products-component-content{margin-top:auto;padding-top:16px}
.olly-home .olly-carousel-controls{display:none}
@media(max-width:767px){
 .olly-page .olly-grid{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scroll-padding-inline:16px;gap:14px!important;padding:5px 16px 16px!important;margin:0 -16px!important;overscroll-behavior-x:contain;scrollbar-width:none}
 .olly-page .olly-grid::-webkit-scrollbar,.olly-home .products-wrap .product-component-wrap::-webkit-scrollbar{display:none}
 .olly-page .olly-grid>.olly-card{flex:0 0 min(82vw,330px)!important;scroll-snap-align:start;max-width:min(82vw,330px)!important}
 .olly-home .products-wrap .product-component-wrap{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scroll-padding-inline:20px;gap:14px!important;padding:8px 20px 18px!important;margin:0 -20px!important;scrollbar-width:none;overscroll-behavior-x:contain}
 .olly-home .products-wrap .products-component{flex:0 0 min(78vw,320px)!important;max-width:min(78vw,320px)!important;width:min(78vw,320px)!important;scroll-snap-align:start}
 .olly-home .olly-carousel-controls,.olly-page .olly-carousel-controls{display:flex;justify-content:flex-end;gap:9px;margin:10px 0 14px}
 .olly-carousel-controls button{width:38px;height:38px;display:grid;place-items:center;border:2px solid #440099;background:#fff;color:#440099;border-radius:50%!important;font-size:19px;cursor:pointer}
 .olly-carousel-controls button:hover{background:#440099;color:white}
 .olly-home .products-component-content .olly-home-actions{gap:8px}
 .olly-home .products-component-content .olly-home-actions .olly-pill{font-size:12px;padding:10px 12px}
}
@media(prefers-reduced-motion:reduce){.olly-home .products-component-content .olly-home-actions .olly-pill{transition:none!important}}


/* V9: Definitive two-row header. Announcement is an independent block in normal flow. */
html body .olly-announcement-bar,html body.admin-bar .olly-announcement-bar{
 position:static!important;inset:auto!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;
 transform:none!important;float:none!important;display:flex!important;align-items:center;justify-content:center;
 clear:both!important;width:100%!important;min-height:52px!important;height:auto!important;
 margin:0!important;padding:10px 18px!important;background:#e2c7d6!important;z-index:auto!important;
 box-sizing:border-box!important;
}
html body .olly-announcement-inner{display:flex!important;align-items:center!important;justify-content:center!important;gap:16px!important;flex-wrap:wrap!important;text-align:center!important;line-height:1.35!important;color:#440099!important;font-size:12px!important;letter-spacing:.055em!important}
html body .olly-announcement-inner strong{font-weight:900!important}
html body .olly-announcement-inner a{font-weight:800!important;color:#440099!important;text-decoration:underline!important;text-underline-offset:4px!important;white-space:nowrap!important}
html body .olly-shell{position:relative!important;top:auto!important;margin:0!important;padding:0!important;overflow:visible!important;display:flow-root!important}
html body .olly-shell>.main-header-section,html body.admin-bar .olly-shell>.main-header-section,html body .olly-shell>.main-header-section.olly-scrolled{
 position:sticky!important;top:0!important;left:auto!important;right:auto!important;bottom:auto!important;
 transform:none!important;float:none!important;clear:both!important;display:block!important;
 width:100%!important;margin:0!important;padding:0!important;z-index:1000!important;
 background:#593e94!important;box-shadow:none!important;
}
html body.admin-bar .olly-shell>.main-header-section{top:32px!important}
html body .main-header-section .header-wrap,html body .main-header-section.olly-scrolled .header-wrap{
 position:static!important;float:none!important;width:100%!important;min-height:0!important;height:auto!important;
 margin:0!important;padding:8px 0!important;background:transparent!important;
}
html body .main-header-section .header-inner{position:relative!important;min-height:82px!important;height:82px!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important}
html body .main-header-section .logo-wrap{position:absolute!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:112px!important;height:72px!important;min-height:0!important;max-height:72px!important;overflow:hidden!important;margin:0!important;padding:0!important}
html body .main-header-section .main-logo,html body .main-header-section .main-logo a{height:100%!important;width:100%!important;display:block!important;transform:none!important}
html body .main-header-section .main-logo img{max-height:70px!important;max-width:100%!important;object-fit:contain!important}
html body .main-header-section .main-logo .logo-white{display:block!important}
html body .main-header-section .main-logo .logo-dark{display:none!important}
html body .main-header-section .main-nav ul li a{color:#fff!important;font-size:17px!important;transition:color .2s,font-size .2s!important}
html body .main-header-section.olly-scrolled{background:#e2c7d6!important;box-shadow:0 6px 20px rgba(35,10,75,.13)!important}
html body .main-header-section.olly-scrolled .header-wrap{padding:5px 0!important}
html body .main-header-section.olly-scrolled .header-inner{min-height:56px!important;height:56px!important}
html body .main-header-section.olly-scrolled .logo-wrap{width:75px!important;height:50px!important;max-height:50px!important}
html body .main-header-section.olly-scrolled .main-logo img{max-height:48px!important}
html body .main-header-section.olly-scrolled .main-logo .logo-white{display:none!important}
html body .main-header-section.olly-scrolled .main-logo .logo-dark{display:block!important;filter:none!important}
html body .main-header-section.olly-scrolled .main-nav ul li a{color:#440099!important;font-size:13px!important}
html body .main-header-section.olly-scrolled .olly-header-tools,html body .main-header-section.olly-scrolled .olly-tool{color:#440099!important}
html body .olly-header-placeholder{display:none!important;height:0!important}
html body.home .hero-wrap{padding-top:40px!important;min-height:calc(100vh - 150px)!important}
html body:not(.home) .olly-page{padding-top:48px!important}
@media(max-width:782px){html body.admin-bar .olly-shell>.main-header-section{top:46px!important}}
@media(max-width:767px){
 html body .olly-announcement-bar{min-height:48px!important;padding:9px 12px!important}
 html body .olly-announcement-inner{font-size:10px!important;gap:5px 10px!important}
 html body .main-header-section .header-inner{min-height:64px!important;height:64px!important}
 html body .main-header-section .logo-wrap{width:87px!important;height:57px!important;max-height:57px!important}
 html body .main-header-section .main-logo img{max-height:55px!important}
 html body .main-header-section.olly-scrolled .header-inner{min-height:50px!important;height:50px!important}
 html body .main-header-section.olly-scrolled .logo-wrap{width:64px!important;height:44px!important;max-height:44px!important}
 html body .main-header-section.olly-scrolled .main-logo img{max-height:42px!important}
 html body.home .hero-wrap{min-height:calc(100svh - 120px)!important}
}
