:root{
  --cream:#f5f0eb;--warm-white:#faf8f5;--navy:#2c3347;--navy-light:#3d4562;
  --gold:#9b9b9b;--gold-light:#c8c8c8;--mauve:#9b4f6e;
  --orange:#e8651a;--orange-light:#f5a06e;--orange-pale:#fef0e8;
  --text:#2a2420;--text-mid:#5a5250;--text-light:#8a8280;--border:#e0d8d0;
  --green:#3a7d5a;--red:#c0392b;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
body{font-family:'DM Sans',sans-serif;background:var(--warm-white);color:var(--text);overflow-x:hidden;}
img{max-width:100%;display:block;}

/* ── NAV ── */
nav{position:sticky;top:0;z-index:100;background:rgba(250,248,245,0.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between;height:60px;}
.nav-logo{display:flex;align-items:center;gap:9px;cursor:pointer;text-decoration:none;}
.nav-logo-text{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;color:var(--navy);}
.nav-links{display:flex;gap:1.75rem;list-style:none;}
.nav-links a{text-decoration:none;color:var(--text-mid);font-size:0.82rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--mauve);}
.nav-right{display:flex;align-items:center;gap:0.5rem;}
.cart-btn{background:var(--navy);color:white;border:none;padding:11px 18px;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:0.82rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;cursor:pointer;transition:background 0.2s;display:flex;align-items:center;gap:7px;white-space:nowrap;min-height:44px;}
.cart-btn:hover{background:var(--navy-light);}
.cart-count{background:var(--orange);color:white;border-radius:50%;width:20px;height:20px;font-size:0.7rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.account-btn{background:none;border:1.5px solid var(--border);color:var(--navy);padding:10px 16px;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:0.82rem;font-weight:500;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;gap:7px;white-space:nowrap;min-height:44px;text-decoration:none;}
.account-btn:hover{border-color:var(--navy);}
.hamburger{background:none;border:none;padding:10px;display:none;flex-direction:column;gap:5px;cursor:pointer;min-height:44px;min-width:44px;justify-content:center;align-items:center;}
.hamburger span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:all 0.3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{display:none;position:fixed;top:60px;left:0;right:0;bottom:0;background:white;z-index:99;flex-direction:column;padding:0.5rem 0;gap:0;overflow-y:auto;box-shadow:0 8px 32px rgba(44,51,71,0.10);}
.mobile-menu.open{display:flex;}
.mobile-menu a{display:flex;align-items:center;font-size:0.82rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-mid);text-decoration:none;padding:0.9rem 1.5rem;border-bottom:1px solid var(--border);min-height:52px;transition:color 0.2s,background 0.2s;}
.mobile-menu a:hover{color:var(--mauve);background:var(--cream);}
.mobile-menu a:last-child{border-bottom:none;}
.mobile-menu a#mobileAccountLink{color:var(--mauve);margin-top:auto;}

/* ── BUTTONS ── */
.btn-primary{background:var(--navy);color:white;border:none;padding:13px 26px;font-family:'DM Sans',sans-serif;font-size:0.85rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;border-radius:4px;transition:all 0.2s;text-decoration:none;display:inline-block;min-height:44px;}
.btn-primary:hover{background:var(--mauve);}
.btn-outline{background:transparent;color:var(--navy);border:1.5px solid var(--navy);padding:13px 26px;font-family:'DM Sans',sans-serif;font-size:0.85rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;border-radius:4px;transition:all 0.2s;text-decoration:none;display:inline-block;min-height:44px;}
.btn-outline:hover{border-color:var(--mauve);color:var(--mauve);}
.btn-sm{padding:9px 18px;font-size:0.78rem;min-height:40px;}

/* ── SECTION ── */
.section-wrap{padding:4rem 1.5rem;max-width:1200px;margin:0 auto;}
.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2.5rem;border-bottom:1px solid var(--border);padding-bottom:1.25rem;}
.section-title{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:300;color:var(--navy);}
.section-title span{font-style:italic;color:var(--mauve);}
.view-all{font-size:0.78rem;color:var(--text-light);text-decoration:none;letter-spacing:0.08em;text-transform:uppercase;font-weight:500;transition:color 0.2s;cursor:pointer;background:none;border:none;font-family:'DM Sans',sans-serif;white-space:nowrap;}
.view-all:hover{color:var(--mauve);}

/* ── PRODUCTS ── */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;}
.product-card{background:white;border-radius:8px;overflow:hidden;border:1px solid var(--border);cursor:pointer;transition:all 0.3s;text-decoration:none;display:block;color:inherit;}
.product-card:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(44,51,71,0.1);}
.product-img{aspect-ratio:4/3;background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:3.5rem;position:relative;}
.product-badge{position:absolute;top:10px;left:10px;background:var(--mauve);color:white;font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:5px 11px;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,0.18);}
.product-badge.new-badge{background:var(--navy);}
.product-info{padding:1.1rem;}
.product-category{font-size:0.68rem;color:var(--mauve);font-weight:500;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.35rem;}
.product-name{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:600;color:var(--navy);margin-bottom:0.25rem;line-height:1.3;}
.product-desc{font-size:0.78rem;color:var(--text-light);line-height:1.5;margin-bottom:0.9rem;}
.product-footer{display:flex;align-items:center;justify-content:space-between;}
.product-price{color:var(--orange);font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;color:var(--navy);}
.add-to-cart-btn{background:var(--orange);color:white;border:none;width:42px;height:42px;border-radius:50%;font-size:1.3rem;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.add-to-cart-btn:hover{background:var(--mauve);transform:scale(1.08);}

/* ── CART DRAWER ── */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:200;opacity:0;pointer-events:none;transition:opacity 0.3s;}
.cart-overlay.open{opacity:1;pointer-events:all;}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;background:white;z-index:201;transform:translateX(100%);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column;}
.cart-drawer.open{transform:translateX(0);}
.cart-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.cart-title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;color:var(--navy);}
.close-btn-x{background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--text-mid);transition:color 0.2s;padding:8px;line-height:1;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;}
.close-btn-x:hover{color:var(--mauve);}
.cart-items{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;-webkit-overflow-scrolling:touch;}
.cart-empty{text-align:center;padding:3rem 0;color:var(--text-light);}
.cart-empty-icon{font-size:2.5rem;margin-bottom:0.75rem;}
.cart-item{display:flex;gap:0.9rem;padding:0.9rem 0;border-bottom:1px solid var(--border);}
.cart-item-emoji{width:56px;height:56px;background:var(--cream);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex-shrink:0;}
.cart-item-info{flex:1;min-width:0;}
.cart-item-name{font-family:'Cormorant Garamond',serif;font-weight:600;color:var(--navy);font-size:0.95rem;}
.cart-item-price{font-size:0.85rem;color:var(--text-mid);}
.cart-item-qty{display:flex;align-items:center;gap:8px;margin-top:0.4rem;}
.qty-btn{width:36px;height:36px;border:1px solid var(--border);background:none;border-radius:6px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all 0.2s;}
.qty-btn:hover{border-color:var(--navy);background:var(--navy);color:white;}
.qty-num{font-size:1rem;font-weight:500;min-width:22px;text-align:center;}
.cart-footer-box{padding:1.25rem 1.5rem;border-top:1px solid var(--border);}
.cart-total{display:flex;justify-content:space-between;font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;color:var(--navy);margin-bottom:1.25rem;}
.checkout-btn{width:100%;background:var(--navy);color:white;border:none;padding:15px;font-family:'DM Sans',sans-serif;font-size:0.88rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;border-radius:4px;transition:background 0.2s;min-height:50px;}
.checkout-btn:hover{background:var(--mauve);}

/* ── FORMS ── */
.form-group{margin-bottom:1.25rem;}
.form-label{display:block;font-size:0.78rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-mid);margin-bottom:0.45rem;}
.form-input,.form-select,.form-textarea{width:100%;border:1.5px solid var(--border);border-radius:6px;padding:12px 14px;font-family:'DM Sans',sans-serif;font-size:1rem;color:var(--text);background:white;transition:border-color 0.2s;outline:none;-webkit-appearance:none;min-height:46px;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--navy);}
.form-input:invalid:not(:placeholder-shown){border-color:var(--red);}
.form-input:valid:not(:placeholder-shown):not([disabled]){border-color:var(--green);}
.form-input:invalid:not(:placeholder-shown)+.field-hint{display:block;color:var(--red);}
.field-hint{display:none;font-size:0.75rem;margin-top:0.3rem;color:var(--text-light);}
.form-textarea{resize:vertical;min-height:100px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-submit{width:100%;background:var(--navy);color:white;border:none;padding:15px;font-family:'DM Sans',sans-serif;font-size:0.9rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;border-radius:4px;transition:all 0.2s;min-height:50px;}
.form-submit:hover{background:var(--mauve);}
.form-divider{text-align:center;color:var(--text-light);font-size:0.82rem;margin:1rem 0;position:relative;}
.form-divider::before,.form-divider::after{content:'';position:absolute;top:50%;width:42%;height:1px;background:var(--border);}
.form-divider::before{left:0;}
.form-divider::after{right:0;}
.form-link{color:var(--mauve);cursor:pointer;text-decoration:underline;font-size:0.88rem;}

/* ── MODALS ── */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:500;display:none;align-items:center;justify-content:center;padding:1rem;}
.overlay.open{display:flex;}
.modal-box{background:white;border-radius:12px;padding:2rem 1.75rem;width:100%;max-width:440px;max-height:92vh;overflow-y:auto;}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;}
.modal-title{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:600;color:var(--navy);}
.modal-actions{display:flex;gap:0.75rem;justify-content:flex-end;margin-top:1.25rem;}
.modal-cancel{background:var(--cream);color:var(--text-mid);border:1px solid var(--border);padding:12px 20px;border-radius:4px;font-family:'DM Sans',sans-serif;font-size:0.85rem;cursor:pointer;min-height:44px;}
.modal-save{background:var(--navy);color:white;border:none;padding:12px 24px;border-radius:4px;font-family:'DM Sans',sans-serif;font-size:0.85rem;font-weight:500;cursor:pointer;transition:background 0.2s;min-height:44px;}
.modal-save:hover{background:var(--mauve);}

/* ── TOGGLE SWITCH ── */
.opt-in-row{display:flex;align-items:center;justify-content:space-between;background:var(--cream);border-radius:8px;padding:1rem 1.25rem;margin-top:0.75rem;}
.opt-in-label{font-size:0.88rem;color:var(--text-mid);line-height:1.5;padding-right:1rem;}
.opt-in-label strong{color:var(--navy);display:block;margin-bottom:2px;}
.toggle-switch{position:relative;width:48px;height:26px;flex-shrink:0;}
.toggle-switch input{opacity:0;width:0;height:0;}
.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--border);border-radius:26px;transition:0.3s;}
.toggle-slider:before{content:'';position:absolute;width:20px;height:20px;left:3px;bottom:3px;background:white;border-radius:50%;transition:0.3s;}
input:checked+.toggle-slider{background:var(--mauve);}
input:checked+.toggle-slider:before{transform:translateX(22px);}

/* ── MARQUEE ── */
.marquee-strip{background:var(--navy);color:var(--gold-light);padding:11px 0;overflow:hidden;}
.marquee-inner{display:flex;gap:2.5rem;animation:marquee 22s linear infinite;white-space:nowrap;}
.marquee-inner span{font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;font-weight:500;flex-shrink:0;}
.marquee-inner span::before{content:'✦  ';color:var(--orange);}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── HERO LOGO CIRCLE ── */
.hero-logo-circle{border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;box-shadow:0 20px 60px rgba(44,51,71,0.12),0 4px 16px rgba(44,51,71,0.08);animation:float 6s ease-in-out infinite;}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* ── ABOUT STRIP ── */
.about-strip{background:var(--navy);color:white;padding:4rem 1.5rem;text-align:center;}
.about-strip h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5vw,2.6rem);font-weight:300;margin-bottom:1rem;}
.about-strip h2 em{font-style:italic;color:var(--gold-light);}
.about-strip p{max-width:520px;margin:0 auto 2rem;color:rgba(255,255,255,0.7);line-height:1.8;font-size:0.92rem;font-weight:300;}
.about-features{display:flex;justify-content:center;gap:3rem;margin-top:2.5rem;flex-wrap:wrap;}
.feature{text-align:center;}
.feature-icon{font-size:1.6rem;margin-bottom:0.4rem;}
.feature-label{font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-light);font-weight:500;}

/* ── FOOTER ── */
footer{background:var(--cream);border-top:1px solid var(--border);padding:2.5rem 1.5rem 1.5rem;}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;}
.footer-brand-name{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;color:var(--navy);margin-bottom:0.5rem;}
.footer-tagline{font-size:0.82rem;color:var(--text-light);line-height:1.6;max-width:240px;}
.footer-heading{font-size:0.72rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-mid);margin-bottom:0.9rem;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:0.45rem;}
.footer-links a{text-decoration:none;font-size:0.85rem;color:var(--text-light);transition:color 0.2s;}
.footer-links a:hover{color:var(--mauve);}
.footer-bottom{max-width:1200px;margin:1.5rem auto 0;padding-top:1.25rem;border-top:1px solid var(--border);text-align:center;font-size:0.75rem;color:var(--text-light);}

/* ── TOAST ── */
.toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%) translateY(80px);background:var(--navy);color:white;padding:12px 24px;border-radius:6px;font-size:0.85rem;font-weight:500;z-index:400;transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);white-space:nowrap;pointer-events:none;}
.toast.show{transform:translateX(-50%) translateY(0);}

/* ── PROFILE / ACCOUNT ── */
.profile-card{background:white;border:1px solid var(--border);border-radius:10px;padding:1.5rem;margin-bottom:1.25rem;}
.profile-card h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:600;color:var(--navy);margin-bottom:1.25rem;}
.account-tabs{display:flex;border-bottom:2px solid var(--border);margin-bottom:2rem;overflow-x:auto;}
.account-tab{background:none;border:none;font-family:'DM Sans',sans-serif;font-size:0.85rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-light);padding:12px 20px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all 0.2s;white-space:nowrap;min-height:48px;}
.account-tab.active{color:var(--navy);border-bottom-color:var(--navy);}
.account-tab-content{display:none;}
.account-tab-content.active{display:block;}
.order-card{background:white;border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1rem;}
.order-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.75rem;flex-wrap:wrap;gap:0.5rem;}
.order-date{font-size:0.8rem;color:var(--text-light);}
.order-total{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:600;color:var(--navy);}
.order-status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:0.72rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;background:#e8f4fd;color:#1a6fa8;}
.order-items-list{font-size:0.85rem;color:var(--text-mid);line-height:1.7;}

/* ── ADMIN ── */
.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem;flex-wrap:wrap;gap:1rem;}
.admin-title{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--navy);}
.admin-tabs{display:flex;flex-wrap:wrap;border-bottom:2px solid var(--border);margin-bottom:1.75rem;gap:0;}
.admin-tab{background:none;border:none;font-family:'DM Sans',sans-serif;font-size:0.75rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-light);padding:12px 18px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all 0.2s;white-space:nowrap;min-height:48px;}
.admin-tab.active{color:var(--navy);border-bottom-color:var(--navy);}
.admin-tab-content{display:none;}
.admin-tab-content.active{display:block;}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.75rem;}
.stat-card{background:white;border:1px solid var(--border);border-radius:8px;padding:1.25rem;text-align:center;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600;color:var(--navy);}
.stat-label{font-size:0.75rem;color:var(--text-light);text-transform:uppercase;letter-spacing:0.08em;margin-top:2px;}
.product-admin-grid{display:flex;flex-direction:column;gap:0.85rem;}
.product-admin-row{background:white;border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;display:flex;align-items:center;gap:1rem;}
.product-admin-emoji{width:36px;height:36px;min-width:36px;max-width:36px;max-height:36px;background:var(--cream);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;overflow:hidden;}
.product-admin-info{flex:1;min-width:0;}
.product-admin-info .pname{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:600;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.product-admin-info .pmeta{font-size:0.76rem;color:var(--text-light);margin-top:2px;}
.product-admin-price{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:600;color:var(--mauve);white-space:nowrap;flex-shrink:0;}
.admin-row-actions{display:flex;gap:0.5rem;flex-shrink:0;}
.admin-btn-edit{background:var(--navy);color:white;border:none;padding:9px 16px;border-radius:4px;font-size:0.78rem;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;min-height:40px;}
.admin-btn-del{background:#fdf0ef;color:var(--red);border:1px solid #f5c6c2;padding:9px 16px;border-radius:4px;font-size:0.78rem;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;min-height:40px;}
.admin-btn-del:hover{background:var(--red);color:white;}
.admin-add-btn{background:var(--green);color:white;border:none;padding:11px 20px;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:0.85rem;font-weight:500;cursor:pointer;min-height:44px;}
.settings-section{background:white;border:1px solid var(--border);border-radius:8px;padding:1.4rem;margin-bottom:1.25rem;}
.settings-section h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:600;color:var(--navy);margin-bottom:0.9rem;}
.subscriber-row{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 0;border-bottom:1px solid var(--border);font-size:0.85rem;}
.subscriber-row:last-child{border-bottom:none;}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .nav-links{display:none;}
  .hamburger{display:flex;}
  nav{padding:0 1rem;}
  .footer-inner{grid-template-columns:1fr;gap:1.75rem;}
  .footer-tagline{max-width:100%;}
  .form-row{grid-template-columns:1fr;}
  .product-grid{grid-template-columns:1fr 1fr;gap:1rem;}
  .product-info{padding:0.85rem;}
  .product-name{font-size:1rem;}
  .about-features{gap:1.75rem;}
  .stat-grid{grid-template-columns:1fr 1fr;}
  .product-admin-price{display:none;}
  .product-admin-row{flex-wrap:wrap;}
  .admin-row-actions{width:100%;}
  .admin-row-actions button{flex:1;text-align:center;}
  .overlay{align-items:flex-end;padding:0;}
  .modal-box{border-radius:16px 16px 0 0;max-height:90vh;}
  .account-btn span{display:none;}
}
@media(max-width:400px){
  .product-grid{grid-template-columns:1fr;}
  .cart-btn span:not(.cart-count){display:none;}
}

@keyframes bannerFlash{0%,100%{opacity:1;}50%{opacity:0.75;}}

.sold-out-badge{background:#c0392b!important;font-size:0.78rem!important;padding:6px 12px!important;animation:pulseBadge 2s ease-in-out infinite;}
.low-stock-badge{background:#e65100!important;font-size:0.78rem!important;padding:6px 12px!important;}
@keyframes pulseBadge{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}

.nav-item-drop{position:relative;}
.nav-item-drop:hover .nav-dropdown{display:block;}
.nav-dropdown{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:white;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,0.1);min-width:200px;padding:0.4rem 0;z-index:200;}
.nav-dropdown a{display:block;padding:9px 18px;font-size:0.8rem;color:var(--text-mid);text-decoration:none;white-space:nowrap;transition:background 0.15s,color 0.15s;}
.nav-dropdown a:hover{background:var(--cream);color:var(--navy);}
.nav-dropdown-arrow{font-size:0.6rem;margin-left:4px;vertical-align:middle;}

.nav-search-wrap{position:relative;display:flex;align-items:center;}
.nav-search-input{border:1.5px solid var(--border);border-radius:6px;padding:8px 14px 8px 34px;font-family:'DM Sans',sans-serif;font-size:0.82rem;color:var(--navy);background:white;width:200px;transition:width 0.25s,border-color 0.2s,box-shadow 0.2s;outline:none;min-height:40px;}
.nav-search-input:focus{width:260px;border-color:var(--navy);box-shadow:0 0 0 3px rgba(44,51,71,0.08);}
.nav-search-input::placeholder{color:var(--text-light);}
.nav-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:0.8rem;pointer-events:none;color:var(--text-light);}
.nav-search-results{display:none;position:absolute;top:calc(100% + 4px);right:0;background:white;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,0.1);min-width:320px;max-height:380px;overflow-y:auto;z-index:300;}
@media(max-width:900px){.nav-search-wrap{display:none;}}
