/* Everlore — shared styles (colours and type match the Shopify theme) */
:root {
  --bg:#151515; --bg2:#0E0E0E; --fg:#ECEAE5; --muted:#C8C6C1; --subtle:#8B9094;
  --line:#3A3A3A; --line2:#2C2C2C; --accent:#B9C3A2;
  --body:'Manrope', system-ui, sans-serif;
  --heading:'Cormorant', Georgia, serif;
}
*, *::before, *::after { box-sizing:border-box; }
[hidden] { display:none !important; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--fg); font-family:var(--body); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
img { max-width:100%; }
a { color:inherit; }
h1, h2, h3, h4 { font-family:var(--heading); font-weight:400; }
.sr, .evf-sr { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.hp { position:absolute !important; left:-9999px; width:1px; height:1px; opacity:0; }
.skip-link { position:absolute; left:-9999px; top:0; background:var(--fg); color:var(--bg); padding:8px 14px; z-index:100; }
.skip-link:focus { left:12px; top:12px; }
:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

/* Announcement bar */
.announce { border-bottom:1px solid var(--line); text-align:center; padding:15px 20px; font-size:12px; font-weight:600; letter-spacing:.02em; }
.announce a { text-decoration:none; }
.announce a:hover { text-decoration:underline; }

/* Header */
.site-header { position:sticky; top:0; z-index:50; background:var(--bg); }
.site-header__inner { max-width:1440px; margin:0 auto; padding:0 60px; height:84px; display:flex; align-items:center; gap:32px; }
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--fg); flex-shrink:0; }
.logo__mark { width:30px; height:30px; color:var(--fg); }
.logo__word { font-family:var(--heading); font-size:38px; line-height:1; letter-spacing:.04em; margin-top:-6px; }
.logo__img { height:36px; width:auto; display:block; }
.nav__list { list-style:none; margin:0; padding:0; display:flex; gap:28px; }
.nav__item { position:relative; }
.nav__link { display:flex; align-items:center; gap:4px; text-decoration:none; font-size:14px; color:var(--muted); padding:30px 0; transition:color .2s; }
.nav__link:hover, .nav__link.is-active, .nav__item:focus-within > .nav__link { color:var(--fg); }
.caret { width:12px; height:12px; }
.mega { position:absolute; top:100%; left:-24px; min-width:240px; background:var(--bg); border:1px solid var(--line); padding:24px; display:flex; gap:40px; opacity:0; visibility:hidden; transform:translateY(-4px); transition:opacity .2s, transform .2s, visibility .2s; }
.nav__item:hover .mega, .nav__item:focus-within .mega { opacity:1; visibility:visible; transform:none; }
.mega__col { display:flex; flex-direction:column; gap:10px; }
.mega__heading { font-family:var(--heading); font-size:22px; text-decoration:none; color:var(--fg); }
.mega__link { font-size:14px; color:var(--muted); text-decoration:none; }
.mega__link:hover, .mega__heading:hover { color:var(--accent); }
.menu-toggle { display:none; margin-left:auto; background:none; border:0; color:var(--fg); padding:10px; cursor:pointer; }
.menu-toggle svg { width:20px; height:20px; }
.drawer { border-top:1px solid var(--line); padding:12px 20px 24px; }
.drawer ul { list-style:none; margin:0; padding:0; }
.drawer li { border-bottom:1px solid var(--line2); padding:10px 0; }
.drawer a { display:block; text-decoration:none; padding:8px 0; font-size:18px; font-family:var(--heading); }
.drawer__sub { font-family:var(--body) !important; font-size:14px !important; color:var(--muted); padding-left:14px !important; }
.drawer__sub--deep { padding-left:28px !important; }

@media (max-width: 900px) {
  .site-header__inner { padding:0 20px; height:64px; }
  .nav { display:none; }
  .menu-toggle { display:block; }
  .logo__word { font-size:30px; }
}

/* Footer */
.site-footer { border-top:1px solid var(--line2); }
.site-footer__inner { max-width:1440px; margin:0 auto; padding:56px 60px 40px; display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:center; scroll-margin-top:100px; }
.site-footer__text h2 { font-size:32px; margin:0 0 8px; line-height:1.15; }
.site-footer__text p { margin:0; color:var(--muted); max-width:520px; }
.signup { display:flex; border:1px solid var(--line); }
.signup input { flex:1; background:transparent; border:0; color:var(--fg); font:inherit; font-size:16px; padding:22px 24px; outline:none; }
.signup input::placeholder { color:var(--muted); }
.signup button { background:none; border:0; color:var(--fg); padding:0 24px; cursor:pointer; }
.signup button svg { width:22px; height:22px; }
.site-footer__thanks { color:var(--accent); margin:0; }
.site-footer__utils { max-width:1440px; margin:0 auto; padding:20px 60px 48px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:24px; font-size:12px; color:var(--muted); }
.site-footer__utils a { text-decoration:none; }
@media (max-width: 900px) {
  .site-footer__inner { grid-template-columns:1fr; padding:48px 20px 32px; }
  .site-footer__utils { padding:20px 20px 40px; flex-direction:column; gap:8px; }
}

/* Simple pages (collection, thank you, 404) */
.page { max-width:1240px; margin:0 auto; padding:48px 48px 96px; }
.page h1 { font-size:48px; margin:0 0 12px; line-height:1.1; }
.page__intro { color:var(--muted); max-width:640px; margin:0 0 40px; }
.grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:24px 16px; }
.card { text-decoration:none; display:block; }
.card__img { aspect-ratio:4/5; background:#1d1d1d; overflow:hidden; }
.card__img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s ease; }
.card:hover .card__img img { transform:scale(1.03); }
.card__title { margin:12px 0 2px; font-size:15px; }
.card__price { color:var(--muted); font-size:14px; margin:0; }
.center-page { min-height:60vh; display:grid; place-items:center; text-align:center; padding:80px 20px; }
.center-page h1 { font-size:clamp(38px,5vw,64px); margin:0 0 16px; line-height:1.1; }
.center-page p { color:var(--muted); max-width:560px; margin:0 auto 12px; }
.btn { display:inline-block; margin-top:24px; padding:17px 34px; font-size:12px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; text-decoration:none; border:1px solid var(--fg); background:var(--fg); color:var(--bg); transition:background .3s, color .3s; }
.btn:hover { background:transparent; color:var(--fg); }
@media (max-width: 900px) { .page { padding:32px 20px 72px; } .page h1 { font-size:36px; } }

/* Drawn brand mark (used until a real logo file is added) */
.brand-mark-svg { color:var(--fg); width:96px !important; height:96px !important; }

/* Policy pages + footer links */
.policy { max-width:760px; }
.policy__body h2 { font-size:28px; margin:40px 0 10px; }
.policy__body p, .policy__body li { color:var(--muted); line-height:1.8; }
.policy__body ul { padding-left:20px; }
.policy__body a { color:var(--fg); }
.policy__updated { margin-top:48px; font-size:13px; color:var(--subtle); }
.site-footer__links { display:flex; flex-wrap:wrap; gap:18px; }
.site-footer__links a:hover { color:var(--fg); }
.buy__fine a { color:inherit; }
