/* Nova Flora presentation layer; no checkout or stock logic. */
body{background:#FAFBF8;color:#37433B;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:15px;overflow-x:visible}
a,.breadcrumb a,.btn-link{color:var(--primary-bg)!important}header a,footer a{color:var(--header-color)!important}.dropdown-menu a{color:#37433B!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #668B54;outline-offset:3px}
header .header-container{padding:22px 0 12px}header .header-logo{max-width:250px}header .header-logo img{max-height:90px;width:auto}header .header-logo h1{font-size:22px;max-width:280px}header .header-interface{margin-top:0}header .header-interface-list{margin:0;padding:0;gap:15px;list-style:none}header .header-interface-list>li{margin-left:0!important}
.header-contact-icon img{width:32px}.header-contact{font-size:14px}.header-top>.d-flex{max-width:1320px;margin:auto;padding:8px 20px}.header-top .header-shipping-info{font-size:13px}
#menu{border-radius:8px;margin:20px 0 0;box-shadow:none}#menu .navbar-nav{flex-wrap:wrap;gap:3px}#menu .nav-link{padding:10px 13px;white-space:normal;font-size:15px}.navbar-toggler{border:1px solid var(--header-color);color:var(--header-color)}
.nf-hero{padding:48px 0;background:#F1F6EE;border-bottom:1px solid #DFE7DF}.nf-hero h1{font-size:clamp(26px,4vw,42px);color:var(--primary-bg);font-weight:650;max-width:860px;line-height:1.2;margin:0 0 14px}.nf-hero p{font-size:18px;line-height:1.6;max-width:760px;margin:0}
main{display:block;padding-top:24px}#content{min-width:0}#content h1{font-size:clamp(25px,3vw,34px);line-height:1.3}#content h2,#content h3{color:var(--primary-bg)}.product-thumb{height:100%;background:#fff;border:1px solid #DFE7DF;border-radius:10px;padding:14px;margin:0;display:flex;flex-direction:column;text-align:center}.product-thumb:hover{box-shadow:0 5px 18px #284c3718}.product-thumb .image img{width:100%;height:230px;object-fit:contain}.product-thumb .description,.product-thumb .caption{flex:1}.product-thumb h4{font-size:17px!important;line-height:1.45;margin:14px 0 10px}.product-thumb .description>p:not(.price){font-size:14px;line-height:1.55}.product-thumb .price{font-size:19px;color:var(--primary-bg)}.product-thumb .button-group, .product-thumb .button{display:flex;justify-content:center;border-top:1px solid #DFE7DF;margin-top:12px}.product-thumb .button-group button,.product-thumb .button-group a{display:inline-flex;align-items:center;justify-content:center;width:48px;min-height:44px;border:0;background:transparent;color:var(--primary-bg)!important}.product-thumb .button-group button:hover,.product-thumb .button-group a:hover{background:#F1F6EE}
.nf-product-strip{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 20px}.nf-product-strip>.col{flex:0 0 clamp(230px,27%,310px);scroll-snap-align:start}.module-products{margin-bottom:28px}.module-products>.row{row-gap:16px}.nf-author-credit{font-size:13px;margin-bottom:0}
.nf-header-cart{width:auto;margin:0!important}.nf-header-cart>.dropdown>button{width:auto!important;font-size:14px;background:transparent;border:1px solid #ffffff60;padding:10px;color:var(--header-color)}.nf-header-cart .dropdown-menu{right:0;left:auto;max-width:min(92vw,520px);color:#37433B}.nf-header-cart .dropdown-menu img{max-width:60px}.nf-header-cart .dropdown-menu .btn{color:white!important}
.search-panel{z-index:1060}.search-panel.open{visibility:visible}.search-panel #search{width:100%}#search-panel .search-panel-content{padding:20px}#alert{z-index:1080}.form-check-input:checked{background-color:var(--primary-bg);border-color:var(--primary-bg)}.nav-tabs .nav-link{color:var(--primary-bg)}.nf-filters{background:#F1F6EE}
footer{margin-top:40px;padding:32px 0;background:var(--header-bg-solid)}footer h5{font-size:17px;font-weight:600}footer a:hover{text-decoration:underline!important}
@media(max-width:991px){header .header-contact{display:none}.header-top .position-absolute{position:static!important;transform:none!important}.header-shipping-info{display:none!important}header .header-interface{margin-top:16px!important}.nf-hero{padding:30px 0}.product-thumb .image img{height:200px}}
@media(max-width:575px){header .header-logo{max-width:220px}header .header-container{padding:15px 0 8px}.header-interface-list{flex-wrap:wrap;justify-content:center}.nf-header-cart .dropdown-menu{position:absolute;width:92vw!important;max-width:92vw!important}.listing-inerface #display-control{row-gap:12px}.listing-inerface #display-control>div{width:100%;margin-left:0}.product-thumb .image img{height:250px}.nf-hero p{font-size:16px}footer .row>div{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.product-thumb .button{display:flex;justify-content:center;gap:4px;border-top:1px solid #DFE7DF;margin-top:12px}.product-thumb .button button{background:#F1F6EE;color:var(--primary-bg);min-height:44px;flex:1;border:0}.product-thumb .content{flex:1;display:flex;flex-direction:column}.product-thumb .content>form{margin-top:auto}
#menu{background:var(--header-bg-solid)!important;background-image:none!important}#menu .header-menu-title{color:var(--header-color)!important}#menu .nav-link{color:var(--header-color)!important}#menu .dropdown-menu .nav-link{color:#37433B!important}.price-new{color:var(--primary-bg)}#search-panel[aria-hidden="true"]{visibility:hidden;pointer-events:none}#search-panel[aria-hidden="false"]{visibility:visible}.search-panel{left:0;right:0}
.search-panel{transition:top .3s ease}

/* Nova Flora palette from the existing store, adapter 1.0.1. */
body{background:#f9f9f9;color:#555}
/* Keep the footer in document flow instead of overlapping narrow pages. */
#container{position:relative;display:flex;flex-direction:column;min-height:100vh;margin-bottom:0}
main{flex:1}
#content,#column-left,#column-right{padding-bottom:24px}
footer{position:static;bottom:auto;width:100%;border:0}
a,.breadcrumb a,.btn-link{color:var(--title-color)!important}
header a,footer a{color:var(--header-color)!important}
.dropdown-menu a{color:#444!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline-color:#526f34}
header .header-top{background:#62833f;color:#fff}
header .header-top>.d-flex{min-height:38px}
.header-contact-icon{display:flex;align-items:center;justify-content:center;flex:0 0 28px;color:var(--header-color);margin-right:10px!important}
.nf-contact-svg{display:block;width:28px;height:28px;flex-shrink:0;filter:none;opacity:1}
header .header-interface{background:var(--secondary-bg);color:var(--secondary-color)}
header .header-interface a.btn-header,header .header-interface button.btn-header{color:var(--secondary-color)!important}
header #cart.nf-header-cart>.dropdown>button{background:transparent!important;border:0!important;color:var(--secondary-color)!important;box-shadow:none!important}
header #cart.nf-header-cart>.dropdown>button:hover{background:#ffffff24!important;opacity:1}
header #cart.nf-header-cart .dropdown-menu .btn-primary{color:var(--primary-color)!important}
#menu{border:0!important;border-top:0!important;border-radius:0!important;box-shadow:none!important}
#menu .nav-link:hover,#menu .nav-link:focus-visible{background:var(--secondary-bg)!important;color:var(--secondary-color)!important;border-radius:4px}
#menu .navbar-toggler{border-color:#ffffff80!important;box-shadow:none}
#content h1,#content h2,#content h3,.nf-hero h1{color:var(--title-color)}
.nf-hero{background:#f2f5ed;border-color:#dfe7d6}
.nf-filters{background:#f2f5ed}
.product-thumb .price,.price-new{color:var(--title-color)}
.product-thumb .button-group button,.product-thumb .button-group a,.product-thumb .button button{color:var(--title-color)!important}
.product-thumb .button button,.product-thumb .button-group button:hover,.product-thumb .button-group a:hover{background:#f2f5ed}
#content .btn-primary:hover{background:#ef5a34!important;border-color:#ef5a34!important;opacity:1}
#content .btn-secondary{color:var(--secondary-color)!important}
#content .btn-primary i,#content .btn-secondary i{color:inherit!important}
/* Cart controls keep their classes and existing click handlers. */
#checkout-cart #shopping-cart .input-group .btn-primary{background:#eff3e8!important;border-color:#d2dec4!important;color:#526f34!important;opacity:1}
#checkout-cart #shopping-cart .input-group .btn-primary:hover{background:#e1ead5!important;border-color:#bacba5!important}
#checkout-cart #shopping-cart .btn-danger,#checkout-checkout .btn-danger,header #cart.nf-header-cart .dropdown-menu .btn-danger{background:#f4f1eb!important;border-color:#dfd8cc!important;color:#655d50!important;opacity:1}
#checkout-cart #shopping-cart .btn-danger:hover,#checkout-checkout .btn-danger:hover,header #cart.nf-header-cart .dropdown-menu .btn-danger:hover{background:#fde6df!important;border-color:#e9b6a5!important;color:#8e442f!important}
#checkout-cart #shopping-cart .btn i,#checkout-checkout .btn-danger i,header #cart.nf-header-cart .dropdown-menu .btn-danger i{color:inherit!important}
.form-check-input:checked{background-color:#526f34;border-color:#526f34}
@media(max-width:991px){header .header-top>.d-flex{min-height:38px}.header-contact-mobile>.btn{padding-top:6px;padding-bottom:6px}}

/* Marked adjustments and Nova Flora branding, adapter 1.0.2. */
header .header-container{padding:0 0 12px!important}
.nf-header-main{background:#fff;color:#444;padding:20px 0}
.nf-header-main .header-contact-label,.nf-header-main .header-contact-value{color:#444}
header .nf-header-main .header-contact a{color:#444!important}
header .nf-header-main .header-contact-icon{color:#526f34}
header .nf-header-main .header-logo a{color:#526f34!important}
header .nf-header-main .header-logo img{display:block;width:260px;max-width:100%;height:auto;max-height:90px;object-fit:contain}
header .nf-header-main .header-logo{max-width:260px;min-width:210px}
header .header-interface a.btn-header,header .header-interface button.btn-header,header #cart.nf-header-cart>.dropdown>button{color:#fff!important}
header .nf-header-main .header-interface{padding-top:5px;padding-bottom:5px}
#content .btn-primary,#content .btn-secondary,#content .btn-primary i,#content .btn-secondary i,.nf-filters .btn-primary,.list-group-item.active,.list-group-item:hover{color:#fff!important}
.product-thumb .button{position:static!important;inset:auto!important;width:100%!important;max-width:100%;box-sizing:border-box;gap:0;overflow:hidden;border-radius:0 0 7px 7px}
.product-thumb .button button{width:auto!important;min-width:0;flex:1 1 0;box-sizing:border-box}
.product-thumb .description{margin-bottom:0}
.product-thumb .content>form{width:100%;min-width:0;margin-top:auto}
@media(max-width:575px){.nf-header-main{padding:16px 0}header .nf-header-main .header-logo{min-width:0;width:230px}header .nf-header-main .header-interface{max-width:100%}}

/* Contact emphasis and concise catalog cards, adapter 1.0.3. */
header .nf-header-main .header-contact-label{font-size:14px;font-weight:600;line-height:1.4;color:#526f34}
header .nf-header-main .header-contact-value{margin-top:3px;font-size:16px;font-weight:700;line-height:1.4}
header .nf-header-main .header-contact-value a{color:#283b2b!important;text-decoration:none;white-space:nowrap}
header .nf-header-main .header-contact-value a:hover{color:#526f34!important;text-decoration:underline;text-underline-offset:3px}
.header-contact-mobile .header-contact-label{font-weight:600}
.header-contact-mobile .header-contact-value a{font-size:16px;font-weight:700}
.product-thumb .description>p:not(.price):not(.nf-filter-variant),.product-thumb .caption>p:not(.price):not(.nf-filter-variant){display:none}
#product-category .nf-category-filters{margin:20px 0 24px}

/* Nova Flora price emphasis, adapter 1.0.6. */
#content .price-new,.product-thumb .price{color:var(--secondary-bg,#ecaf33)!important}
.product-thumb .price-new{font-size:22px;font-weight:700;line-height:1.35}
:is(#product-info,#product-product) #content h2 .price-new{font-size:28px;font-weight:700;line-height:1.3}
#content .product-thumb .price:has(.price-old) .price-new,:is(#product-info,#product-product) #content ul.list-unstyled:has(.price-old) .price-new{color:var(--primary-bg,#f17150)!important}
#content .price-old{color:#7b8178!important;font-size:15px;font-weight:400;text-decoration:line-through!important}
.product-thumb .price-tax{color:#68766b;font-size:13px;font-weight:400}

/* Nova Flora 1.0.13 — soft green header tools, selected option 2. */
header .nf-header-main .header-interface{background:#eff3e8!important;color:#526f34;border:0;border-radius:7px;box-shadow:none}
header .header-interface a.btn-header,header .header-interface button.btn-header,header #cart.nf-header-cart>.dropdown>button{color:#526f34!important}
header .header-interface a.btn-header:hover,header .header-interface button.btn-header:hover,header #cart.nf-header-cart>.dropdown>button:hover{background:#e1ead5!important;color:#405a28!important;opacity:1}
header .header-interface a.btn-header:focus-visible,header .header-interface button.btn-header:focus-visible,header #cart.nf-header-cart>.dropdown>button:focus-visible{outline:2px solid #526f34!important;outline-offset:3px!important}

/* Nova Flora 1.0.14 — symmetric navigation spacing. */
header .header-container{padding-bottom:0!important}
header .nf-header-menu{padding-top:12px;padding-bottom:12px}
header #menu{margin:0!important;padding-top:8px;padding-bottom:8px}
@media(min-width:992px){header #menu .navbar-nav{width:100%;margin-left:auto!important;margin-right:auto!important;justify-content:center;align-items:center}}

/* Nova Flora 1.0.15 — inline contacts centered between logo and toolbar. */
header .nf-header-row{display:flex;flex-direction:column;align-items:center;gap:16px}
header .nf-header-contacts{display:none}
header .nf-header-row>.header-interface{margin:0!important}
header .nf-header-main .header-contact-icon{flex:0 0 24px;margin-right:9px!important}
header .nf-header-main .nf-contact-svg{width:24px;height:24px}
header .nf-header-main .header-contact-value{margin:0;font-size:16px;line-height:1.4}
header .nf-header-main .header-contact-email .header-contact-value{font-weight:400}
header .nf-header-main .header-contact-email .header-contact-value a{color:#526f34!important}
@media(min-width:992px){
 header .nf-header-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px}
 header .nf-header-contacts{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0}
 header .nf-header-main .header-contact{display:flex!important;align-items:center}
 header .nf-header-row>.header-interface{justify-self:end}
}
@media(min-width:1200px){header .nf-header-contacts{flex-direction:row;gap:24px}}
