/* Gothic / Victorian theme — mobile-first */
:root{
  --bg: #0b0b0e;
  --bg-alt:#0f0f12;
  --ink:#e7e7ea;
  --muted:#a3a3ad;
  --accent:#9b111e; /* deep crimson */
  --silver:#d0d0d6;
  --card:#121217;
  --radius: 14px;
  --shadow: 0 14px 40px rgba(0,0,0,.45);
  --maxw: 1100px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Arial, sans-serif;line-height:1.6}
img{max-width:100%;display:block;border-radius:12px;box-shadow:var(--shadow)}
a{color:var(--silver);text-decoration:none}
.container{width:90%;max-width:var(--maxw);margin-inline:auto}

/* Header */
.site-header{display:flex;align-items:center;justify-content:space-between;padding:14px 0;position:sticky;top:0;background:linear-gradient(180deg, rgba(0,0,0,.65), rgba(0,0,0,0));backdrop-filter:saturate(1.1) blur(6px);z-index:50}
.logo{font-family:'UnifrakturCook', serif;font-size:1.7rem;letter-spacing:.5px;text-transform:none}
.logo .blk{font-size:2rem;color:var(--accent)}
.nav__toggle{background:none;border:1px solid var(--silver);border-radius:10px;padding:8px 12px;color:var(--ink);display:none}
.nav__menu{display:flex;gap:18px;align-items:center;list-style:none;margin:0;padding:0}
.nav__menu a{font-family:'Cinzel', serif;font-weight:600}
.theme-toggle{background:none;border:1px solid var(--silver);border-radius:10px;padding:6px 10px;color:var(--ink)}

/* Hero */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;padding:42px 0}
.display{font-family:'UnifrakturCook', serif;font-size:clamp(2.2rem, 4.5vw, 4rem);line-height:1.1;text-shadow:0 4px 24px rgba(155,17,30,.35)}
.lead{color:var(--muted);max-width:50ch}
.hero__cta{display:flex;gap:12px;margin-top:14px}
.btn{background:var(--accent);border:none;color:white;padding:12px 18px;border-radius:12px;font-weight:800;box-shadow:var(--shadow);cursor:pointer}
.btn--ghost{background:transparent;color:var(--silver);border:2px solid var(--silver)}
.btn--small{padding:8px 12px;font-weight:700}

/* Ornate frames & dividers */
.frame{position:relative;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:20px;background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0))}
.frame--ornate{mask: url('assets/corner.svg') 0 0/ 60px 60px no-repeat, url('assets/corner.svg') right 0/ 60px 60px no-repeat, url('assets/corner.svg') 0 bottom/60px 60px no-repeat, url('assets/corner.svg') right bottom/60px 60px no-repeat, linear-gradient(#000, #000)}
.divider{height:20px;opacity:.7}
.divider--right{transform:scaleX(-1)}
.section{padding:58px 0}
.section--alt{background:var(--bg-alt);border-radius:18px}
.section__header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-bottom:16px}
.section__header h2{font-family:'Cinzel', serif;font-weight:800;letter-spacing:.5px;margin:0;text-align:center}

/* Cards & grid */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.card{background:var(--card);padding:18px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.06)}

/* Shop */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.chip{background:transparent;border:1px solid var(--silver);color:var(--silver);border-radius:999px;padding:8px 12px;font-weight:700}
.chip.active, .chip:focus{background:var(--accent);border-color:var(--accent);color:white}
.product{background:var(--card);padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.06)}
.product__title{font-family:'Cinzel', serif;margin:.5rem 0 0}
.product__price{color:var(--silver);margin:.25rem 0 .75rem}

/* Contact */
.contact input,.contact textarea{width:100%;padding:12px;border-radius:10px;border:1px solid #2b2f36;background:transparent;color:var(--ink)}
.contact label{display:block;font-size:.95rem}

/* Footer */
.site-footer{padding:30px 0;border-top:1px solid rgba(255,255,255,.08);margin-top:44px}
.footer__inner{display:flex;align-items:center;justify-content:space-between}
.footer__nav{display:flex;gap:16px}

/* Responsive */
@media (max-width: 900px){
  .hero{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .nav__toggle{display:block}
  .nav__menu{position:absolute;right:5%;top:64px;flex-direction:column;background:var(--bg);padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);display:none}
  .nav__menu.open{display:flex}
}
