:root{--bg:#F8F6F1;--card:#FFFFFF;--ink:#1A1A1A;--ink-soft:#5C5850;--gold:#B8935F;--line:#E5E0D8;}
[data-theme="dark"]{--bg:#181614;--card:#221F1C;--ink:#F2EDE6;--ink-soft:#B5ADA3;--gold:#D4AC7A;--line:#3A342E;}
body{transition:background .25s ease,color .25s ease;}
[data-theme="dark"] .product-img,[data-theme="dark"] .stat-card,[data-theme="dark"] .field input,
[data-theme="dark"] .field select,[data-theme="dark"] .field textarea,[data-theme="dark"] table,
[data-theme="dark"] .admin-sidebar,[data-theme="dark"] .desktop-menu-dropdown{background:var(--card);color:var(--ink);}
[data-theme="dark"] .btn-primary{background:var(--gold);color:#181614;}
[data-theme="dark"] .btn-primary:hover{background:#E9C99A;}
[data-theme="dark"] .btn-outline{border-color:var(--ink);color:var(--ink);}
.theme-toggle{cursor:pointer;font-size:13px;display:flex;align-items:center;gap:4px;}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:600;letter-spacing:-0.01em;}
a{color:inherit;text-decoration:none;}
.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;}
.nav-label{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;}
.announce{background:var(--ink);color:var(--bg);text-align:center;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:9px 16px;}
header{display:flex;align-items:center;justify-content:space-between;padding:20px 48px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:50;}
.logo{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;}
.nav{display:flex;gap:30px;}
.icons{display:flex;gap:18px;align-items:center;font-size:14px;}
.btn{padding:13px 26px;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;cursor:pointer;border:none;display:inline-block;transition:.2s;}
.btn-primary{background:var(--ink);color:#fff;}
.btn-primary:hover{background:var(--gold);}
.btn-outline{border:1px solid var(--ink);background:none;color:var(--ink);}
.btn-full{width:100%;text-align:center;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:11px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;}
.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid var(--line);font-family:inherit;font-size:13.5px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.flash{padding:12px 20px;font-size:13px;margin-bottom:16px;}
.flash-success{background:#E1F0E5;color:#2F6B45;}
.flash-error{background:#F8E3E3;color:#B14444;}
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:0 48px 48px;}
.product-card{cursor:pointer;}
.product-img{aspect-ratio:3/4;background:#fff;border:1px solid var(--line);margin-bottom:10px;overflow:hidden;position:relative;}
.product-img img{width:100%;height:100%;object-fit:cover;}
.badge{position:absolute;top:10px;left:10px;background:var(--ink);color:#fff;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;}
.badge.sale{background:var(--gold);}
footer{border-top:1px solid var(--line);padding:44px 48px 20px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;}
footer h4{font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;color:var(--ink-soft);}
table{width:100%;border-collapse:collapse;background:#fff;}
th,td{text-align:left;padding:10px;font-size:13px;border-bottom:1px solid var(--line);}
th{font-size:11px;text-transform:uppercase;color:var(--ink-soft);}
.hero-slider{position:relative;min-height:480px;overflow:hidden;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;display:flex;align-items:flex-end;padding:52px 48px;}
.hero-slide.active{position:relative;opacity:1;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0) 55%);}
.hero-content{position:relative;color:#fff;max-width:540px;}
.hero-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5;}
.hero-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;}
.hero-dot.active{background:#fff;}
.hamburger{display:flex;flex-direction:column;gap:4px;cursor:pointer;padding:4px;}
.hamburger span{width:22px;height:2px;background:var(--ink);display:block;transition:.25s;}
.hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

.desktop-menu-dropdown{display:none;position:absolute;top:100%;right:48px;background:#fff;border:1px solid var(--line);padding:16px 20px;flex-direction:column;gap:12px;min-width:180px;z-index:60;animation:dropdownIn .2s ease;}
.desktop-menu-dropdown.open{display:flex;}
.desktop-menu-dropdown a{font-size:13px;letter-spacing:.05em;text-transform:uppercase;padding:4px 0;}
.desktop-menu-dropdown a:hover{color:var(--gold);}
@keyframes dropdownIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}

.mobile-nav{position:fixed;inset:0;background:var(--bg);z-index:100;display:flex;flex-direction:column;justify-content:center;gap:24px;padding:48px;transform:translateX(100%);transition:transform .3s ease;}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav a{font-family:'Playfair Display',serif;font-size:26px;}

/* scroll-reveal: elements fade/slide up into view as the page scrolls, applied via JS toggling .in-view */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* subtle interactive lift on cards/buttons for a more premium feel */
.product-card .product-img{transition:transform .3s ease,border-color .2s ease;}
.product-card:hover .product-img{transform:translateY(-3px);border-color:var(--gold);}
.btn{transition:background .2s ease,transform .15s ease;}
.btn:active{transform:scale(.97);}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold) !important;transition:border-color .2s ease;}

.grid-4{display:grid;grid-template-columns:repeat(4,1fr);}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.split-even{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.split-checkout{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;}
.split-order{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;}

@media(max-width:640px){
  header form[action*="search.php"]{display:none;}
}
@media(max-width:900px){
  header{padding:16px 20px;} .nav{display:none;}
  .desktop-menu-dropdown{display:none !important;} /* mobile always uses the full overlay instead */
  .products{grid-template-columns:repeat(2,1fr);padding:0 20px 32px;}
  footer{grid-template-columns:1fr 1fr;padding:32px 20px;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:1fr;}
  .split-even{grid-template-columns:1fr;gap:24px;}
  .split-checkout{grid-template-columns:1fr;gap:24px;}
  .split-order{grid-template-columns:1fr;gap:24px;}
  .admin-shell{grid-template-columns:1fr !important;}
  .admin-sidebar{display:flex !important;overflow-x:auto;border-right:none !important;border-bottom:1px solid var(--line);padding:8px !important;}
  .admin-sidebar a{white-space:nowrap;padding:10px 14px !important;}
  form[style*="grid-template-columns"]{display:block !important;}
  form[style*="grid-template-columns"] > *{margin-bottom:8px;}
}
@media(max-width:520px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .products{grid-template-columns:1fr 1fr;}
}
