:root {
    --rose-gold:var(--shop-accent); --rose-gold-light:var(--shop-accent-hover); --rose-gold-dark:var(--shop-accent-hover);
    --text-accent:var(--shop-accent); --gold-shimmer:linear-gradient(120deg,var(--shop-accent),var(--shop-accent-hover));
    --rose-shimmer:linear-gradient(120deg,var(--shop-soft),var(--shop-panel));
}
body { background:var(--bg-deep); color:var(--text-primary); }
.main-header,.main-header.scrolled { background:var(--shop-header); border-bottom:1px solid var(--shop-border); }
.main-header .nav-link,.main-header .nav-icon-btn { color:var(--shop-header-text); }
.main-header .nav-link:hover,.main-header .nav-icon-btn:hover,.main-header .nav-link[aria-current=page] { background:var(--shop-header-active); color:var(--shop-header-text); }
.mobile-menu-btn span { background:var(--shop-header-text); }
.announcement-bar { background:#71304a; color:#fff1e8; }
.wordmark { color:var(--shop-header-text); }
.logo-img { border:1px solid var(--shop-gold); }
.page-header { background:linear-gradient(115deg,var(--shop-panel),var(--bg-deep)); border-bottom:1px solid var(--shop-border); }
.sidebar-card,.product-card,.cart-summary,.checkout-form-wrap,.order-summary-card,.appointment-form-card,.appointment-info-card,.contact-card,.confirmation-card,.toast { background:var(--bg-card); border-color:var(--shop-border); box-shadow:var(--shop-shadow); }
.sidebar-list a.active,.sidebar-list a:hover { background:var(--shop-soft); color:var(--shop-accent); }
.sidebar-title { border-bottom-color:var(--shop-border); }
.search-input,.form-input,.form-select,.form-textarea { background:var(--bg-surface); color:var(--text-primary); border-color:var(--shop-border); }
input::placeholder,textarea::placeholder { color:var(--text-muted); opacity:1; }
.search-btn,.search-btn:hover,.cart-qty-btn:hover,.option-chip input:checked+span,.footer-social a:hover { background:var(--shop-accent); color:var(--shop-on-accent); }
.product-card,.category-card { border-color:var(--shop-border); }
.product-info { background:var(--bg-card); }
.product-compare-price { color:var(--text-muted); }
.product-badge { background:var(--shop-soft); color:var(--shop-accent); }
.btn-primary,.btn-primary:hover,.btn-add-to-cart:hover { background:var(--shop-accent); color:var(--shop-on-accent); }
.btn-outline:hover,.btn-outline-light:hover { background:var(--shop-soft); color:var(--shop-accent); }
.option-chip span,.delivery-option,.payment-option { border-color:var(--shop-border); }
.delivery-option:hover,.payment-option:hover { background:var(--shop-soft); }
.trust-bar,.site-footer { border-color:var(--shop-border); }
.footer-social a { color:var(--shop-accent); }
.skip-link { background:var(--bg-card); color:var(--text-primary); }
.product-sold-out-overlay { color:#fff; }
@media(max-width:768px) {
    .nav-links { background:var(--shop-header); top:var(--shop-menu-top,80px); max-height:calc(100dvh - var(--shop-menu-top,80px)); }
    .nav-links .dropdown-item { color:var(--shop-header-muted); }
}
/* A single aligned header row, with appearance tucked into a small menu. */
.announcement-bar { background:#974a7e; color:#fff7fc; }
.nav-bar { min-height:86px; gap:24px; }
.nav-actions { position:relative; gap:8px; flex-shrink:0; }
.nav-icon-btn,.mobile-menu-btn { width:40px; height:40px; min-width:40px; padding:0; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; }
.mobile-menu-btn { display:none; }
.nav-icon-btn:hover { background:var(--shop-header-active); }
.store-appearance { position:static; }
.store-appearance>summary { list-style:none; cursor:pointer; }
.store-appearance>summary::-webkit-details-marker { display:none; }
.store-appearance[open]>summary { background:var(--shop-header-active); }
.store-theme-popover { position:absolute; right:0; top:calc(100% + 14px); width:250px; max-width:calc(100vw - 32px); padding:16px; background:var(--bg-card); border:1px solid var(--shop-border); border-radius:18px; box-shadow:0 16px 44px #421c3d18; z-index:300; }
.store-theme-popover>p { color:var(--text-primary); font-weight:600; font-size:12px; margin:0 0 14px; }
.store-theme-popover>p>span { display:block; color:var(--text-muted); font-weight:400; font-size:10px; margin-top:4px; }
.store-theme-switcher { display:flex; flex-direction:column; gap:5px; }
.store-theme-switcher button { display:flex; align-items:center; gap:12px; width:100%; padding:12px; background:transparent; color:var(--text-primary); border:1px solid transparent; border-radius:10px; text-align:left; font:500 12px var(--font-body); min-height:55px; }
.store-theme-switcher button>i:first-child { width:16px; color:var(--shop-accent); }
.store-theme-switcher button>span { flex:1; }
.store-theme-switcher button small { display:block; color:var(--text-muted); font-size:9px; margin-top:5px; font-weight:400; }
.store-theme-switcher button[aria-pressed=true] { background:var(--shop-soft); border-color:var(--shop-border); }
.store-theme-switcher button:hover { background:var(--bg-surface); }
.theme-check { visibility:hidden; font-size:10px; color:var(--shop-accent); }.store-theme-switcher button[aria-pressed=true] .theme-check { visibility:visible; }
/* Let grid children shrink to their viewport, rather than clipping wide content. */
.container,.shop-layout,.shop-products,.product-card,.products-grid,.shop-filter-field { min-width:0; }
.shop-layout { display:block; width:100%; }
.shop-section { padding-top:28px; }
.shop-page-eyebrow { display:block; color:var(--shop-accent); font-size:9px; letter-spacing:2px; margin:20px 0 10px; }
.shop-page-description { color:var(--text-secondary); font-size:14px; margin:10px 0 0; }
.page-header { padding:30px 0 36px; }
.page-title { font-size:clamp(30px,3.6vw,46px); font-weight:500; line-height:1.2; }
.shop-filters { margin-bottom:26px; }
.shop-filters>summary { display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; list-style:none; min-height:46px; }
.shop-filters>summary::-webkit-details-marker { display:none; }
.shop-filter-toggle { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:12px 17px; font-size:12px; font-weight:500; color:var(--shop-accent); border:1px solid var(--shop-border); border-radius:30px; background:var(--bg-card); }
.filter-chevron { font-size:9px; }.shop-filters[open] .filter-chevron { transform:rotate(180deg); }
.shop-filter-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; background:var(--bg-card); border:1px solid var(--shop-border); border-radius:18px; padding:24px; margin-top:18px; box-shadow:var(--shop-shadow); }
.shop-filter-field label { display:block; color:var(--text-primary); font-size:12px; font-weight:500; margin-bottom:9px; }
.shop-filter-field input,.shop-filter-field select { width:100%; max-width:100%; min-width:0; min-height:46px; border:1px solid var(--shop-border); border-radius:9px; padding:11px 12px; background:var(--bg-deep); color:var(--text-primary); font:14px var(--font-body); }
.shop-filter-field input::placeholder { color:var(--text-muted); font-size:12px; }
.shop-filter-actions { grid-column:1/-1; display:flex; align-items:center; justify-content:flex-end; gap:20px; }
.shop-filter-actions>a { color:var(--text-secondary); font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.shop-active-filters { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:24px; font-size:11px; }
.shop-active-filters>span { background:var(--shop-soft); border:1px solid var(--shop-border); color:var(--shop-accent); border-radius:20px; padding:7px 12px; overflow-wrap:anywhere; }
.shop-active-filters>a { padding:7px; }
.shop-empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; min-height:350px; padding:48px 24px; border:1px solid var(--shop-border); border-radius:24px; background:linear-gradient(130deg,var(--bg-card),var(--shop-panel)); }
.shop-empty-state>i { display:grid; place-items:center; width:76px; height:76px; border-radius:50%; background:var(--shop-soft); font-size:28px!important; margin-bottom:24px!important; }
.shop-empty-eyebrow { font-size:8px; font-weight:500; letter-spacing:2px; color:var(--shop-accent); margin-bottom:12px; }
.shop-empty-state h3 { font-size:30px; font-weight:500; color:var(--text-primary); line-height:1.3; }
.shop-empty-state p { max-width:440px; font-size:13px; line-height:1.9; color:var(--text-secondary); margin:8px 0 22px; }
@media(max-width:1050px) { .nav-link { padding:9px 10px; }.nav-bar { gap:12px; }.nav-actions { gap:4px; } }
@media(max-width:768px) {
    .main-header { backdrop-filter:none; -webkit-backdrop-filter:none; }
    .nav-bar { min-height:74px; padding:10px 0; gap:10px; }
    .logo-link { gap:9px; min-width:0; flex-shrink:1; }
    .logo-img { width:40px; height:40px; flex-shrink:0; }
    .wordmark { font-size:25px; letter-spacing:-.8px; }.wordmark small { font-size:6px; letter-spacing:1.1px; }
    .nav-actions { gap:3px; }.nav-icon-btn,.mobile-menu-btn { width:36px; height:40px; min-width:36px; font-size:15px; }
    .mobile-menu-btn { display:flex; flex-direction:column; gap:5px; background:transparent; border:0; }
    .mobile-menu-btn span { width:20px; height:2px; margin:0; flex-shrink:0; }
    #searchToggle { display:none; }
    .nav-links { left:0; right:0; width:100%; padding:20px 16px; }
    .nav-links .nav-link { font-size:16px; }.nav-links .dropdown-item { font-size:13px; padding:10px 16px; }
    .announcement-bar p { font-size:10px; line-height:1.5; padding-right:18px; }.announcement-bar .container { padding:7px 16px; }
    .page-header { padding:22px 0 28px; }.shop-page-eyebrow { margin:16px 0 10px; font-size:8px; }.shop-page-description { font-size:12px; line-height:1.8; }
    .shop-section { padding-top:20px; }.shop-filter-form { grid-template-columns:1fr; gap:17px; padding:20px; border-radius:14px; }.shop-filter-actions { justify-content:space-between; gap:12px; }.shop-filter-actions .btn { padding:13px 16px; font-size:12px; }
    .shop-empty-state { min-height:330px; padding:32px 22px; border-radius:18px; }.shop-empty-state h3 { font-size:26px; }.shop-empty-state p { font-size:12px; }.shop-empty-eyebrow { font-size:7px; letter-spacing:1.4px; }
    .shop-filter-toggle { font-size:11px; padding:11px 14px; }.results-count { font-size:11px; }
    .product-card .product-info { padding:13px; }.product-name { font-size:13px; overflow-wrap:anywhere; }.product-price { font-size:14px; }.product-price-row { flex-wrap:wrap; }.product-category { font-size:8px; }
    .product-card .btn-add-to-cart { font-size:11px; padding:11px 6px; }.product-short-desc { font-size:11px; }
}
@media(max-width:360px) { .wordmark { font-size:22px; }.logo-img { width:35px; height:35px; }.nav-actions { gap:0; }.logo-link { gap:7px; }.nav-bar { gap:6px; }.store-theme-popover { width:240px; }.shop-filter-actions { flex-wrap:wrap; } }
@media(max-width:768px) { .shop-filter-field input,.shop-filter-field select { font-size:16px; } }

/* HerBloom: stronger rose actions, plum typography, and deliberate section contrast. */
html[data-store-theme="brand"] .announcement-bar { background:#943B70; color:#fff; }
html[data-store-theme="brand"] .main-header .nav-link[aria-current=page] { background:var(--text-primary); color:#FFF4F8; }
html[data-store-theme="brand"] .main-header .nav-link:hover { background:#EBC4D7; color:var(--text-primary); }
html[data-store-theme="brand"] .main-header .nav-link[aria-current=page]:hover { background:#643354; color:#fff; }
html[data-store-theme="brand"] .hero-badge { background:#EAC2D6; color:#772B58; border:1px solid #D6A4BA; }
html[data-store-theme="brand"] .hero-art { background:linear-gradient(145deg,#C66D9B 0%,#A4497E 55%,#79335F 100%); border:1px solid #B16A89; box-shadow:0 16px 44px #72334D1A; }
html[data-store-theme="brand"] .bloom-circle { background:#EDB5CB55; border:1px solid #F6D6D25C; }
html[data-store-theme="brand"] .bloom-petal { background:linear-gradient(155deg,#FFE1E4,#EBAFC6 42%,#CB7D9F); box-shadow:inset 7px 2px 20px #FFF6F850; }
html[data-store-theme="brand"] .bloom-center { background:linear-gradient(145deg,#F3D9A4,#D9B26F); box-shadow:0 5px 15px #6B2B4A20; }
html[data-store-theme="brand"] .bloom-caption { color:#FFF0F5; text-shadow:0 1px 8px #66244633; }
html[data-store-theme="brand"] .hero-art-note { color:#F6DEB8; }
html[data-store-theme="brand"] .hero-note i { color:#9D7741; }
html[data-store-theme="brand"] .btn-primary { background:var(--shop-accent); border:1px solid var(--shop-accent); box-shadow:0 5px 14px #A63D7926; font-weight:600; }
html[data-store-theme="brand"] .btn-primary:hover { background:var(--shop-accent-hover); border-color:var(--shop-accent-hover); }
html[data-store-theme="brand"] .btn-outline { border-color:var(--shop-accent); font-weight:500; }
html[data-store-theme="brand"] .category-placeholder { background:linear-gradient(145deg,#EDC5D8,#E2AAC4); color:#84335F; }
html[data-store-theme="brand"] .category-overlay { background:#FFF2F8; }
html[data-store-theme="brand"] .category-card:hover { border-color:#B98045; }
html[data-store-theme="brand"] .product-discount-badge { background:var(--shop-gold); color:#4B2742; font-weight:700; }
html[data-store-theme="brand"] .featured-section { background:#F3DCE8; }
html[data-store-theme="brand"] .nail-promo-section { background:#EFCFDf; }
html[data-store-theme="brand"] .nail-promo-card { background:linear-gradient(120deg,#4B2742,#763D61); border:1px solid #865267; box-shadow:0 12px 36px #4B274215; }
html[data-store-theme="brand"] .nail-promo-content h2 { color:#FFF4F8; }
html[data-store-theme="brand"] .nail-promo-content p,
html[data-store-theme="brand"] .nail-services-list li { color:#EED6E2; }
html[data-store-theme="brand"] .nail-promo-content .section-tag,
html[data-store-theme="brand"] .nail-services-list i { color:#E9C990!important; }
html[data-store-theme="brand"] .nail-promo-graphic { background:#FFFFFF0A; border-color:#D9B26F66; }
html[data-store-theme="brand"] .nail-promo-graphic i { color:#E4BF82; }
html[data-store-theme="brand"] .nail-promo-graphic span { color:#EED6E2; }
html[data-store-theme="brand"] .nail-promo-card .btn-primary { background:#E8B7C8; color:#4B2742; border-color:#E8B7C8; }
html[data-store-theme="brand"] .nail-promo-card .btn-primary:hover { background:#F5D4E0; }
html[data-store-theme="brand"] .trust-bar { background:#F3DCE8; }
html[data-store-theme="brand"] .trust-item i { color:#986E32; }
html[data-store-theme="brand"] .shop-empty-state { background:linear-gradient(120deg,#FFF3F9,#EBC7DB); }
