/* Matilda's — shared styles (fonts, tokens, header, footer) */

/* ————— fonts ————— */
@font-face{font-family:'AGaramondPro';src:url('uploads/AGaramondPro-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'AGaramondPro';src:url('uploads/AGaramondPro-Italic.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'AGaramondPro';src:url('uploads/AGaramondPro-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'AGaramondPro';src:url('uploads/AGaramondPro-BoldItalic.otf') format('opentype');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:'Bimbo';src:url('uploads/Bimbo-Variable-Roman-TRIAL.ttf') format('truetype-variations');font-weight:100 900;font-style:normal;font-display:swap}

/* ————— tokens ————— */
:root{
  --ink:#262626;
  --red:#ff3500;
  --red-dark:#c62a00;
  --paper:#fff;
  --off-white:#f3f2f2;
  --muted:#6a6a6a;
  --muted-2:#8a8a8a;
  --body-ink:#3d3d3d;
  --hairline:#d6d6d6;
  --hairline-2:#e6e6e6;
  --serif:'AGaramondPro','EB Garamond',Georgia,serif;
  --script:'Bimbo','Caveat',cursive;
  --photo-filter:contrast(1.02) saturate(1.02);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);font-family:var(--serif);color:var(--ink)}
img{display:block}
a{color:var(--red)}
a:hover{color:var(--red-dark)}

.page{width:100%;max-width:1440px;margin:0 auto;background:var(--paper)}

.kicker{font:500 17px var(--script);text-transform:lowercase;color:var(--red)}

/* ————— header ————— */
.site-header{display:flex;align-items:center;justify-content:space-between;padding:16px 40px;border-bottom:1.5px solid var(--ink);position:relative}
.site-header .logo{height:30px;width:auto}
.site-header .right{display:flex;align-items:center;gap:28px}
.site-nav{display:flex;gap:28px;font:500 17px var(--script);text-transform:lowercase;color:var(--ink);align-items:center}
.site-nav a{color:inherit;text-decoration:none}
.site-nav a:hover{color:var(--red)}
.site-nav a.is-current{color:var(--red)}
.site-nav a.nav-menu{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.site-nav .order-soon{border:1.5px solid var(--ink);padding:6px 14px;color:var(--muted-2)}
.site-header .heart{height:24px;width:24px}

/* ————— buttons ————— */
.btn{display:inline-block;text-decoration:none;font:400 17px var(--serif);padding:13px 24px;cursor:pointer}
.btn-solid{background:var(--red);color:#fff}
.btn-solid:hover{background:var(--red-dark);color:#fff}
.btn-outline-light{border:1.5px solid var(--off-white);color:var(--off-white)}
.btn-outline-light:hover{background:#ffffff1f;color:var(--off-white)}
.btn-outline-dark{border:1.5px solid var(--ink);color:var(--ink);font-size:16px;padding:11px 22px}
.btn-outline-dark:hover{background:#26262610;color:var(--ink)}
.btn-inverse{background:#fff;color:var(--red)}
.btn-inverse:hover{background:var(--off-white);color:var(--red-dark)}

/* ————— visit / footer ————— */
.visit{background:var(--red);color:#fff;padding:46px 56px;display:flex;align-items:flex-end;justify-content:space-between}
.visit h2{font:400 46px/1.05 var(--serif);max-width:560px;margin:0}
.visit .address{font:400 17px/1.6 var(--serif);margin-top:16px;opacity:.92}
.visit .map-placeholder{width:300px;height:165px;margin-top:20px;border:1.5px solid #fff;background:#ffffff26;display:flex;align-items:center;justify-content:center;font:500 16px var(--script);text-transform:lowercase;color:#ffffffcc}
.visit .side{display:flex;flex-direction:column;align-items:flex-end;gap:16px}
.visit .social{font:500 17px var(--script);text-transform:lowercase;opacity:.9}
.visit .social a{color:#fff;text-decoration:none}
.visit .social a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* ————— shared responsive ————— */
@media (max-width:760px){
  .site-header{padding:14px 20px;flex-wrap:wrap;gap:12px}
  .site-nav{gap:16px;flex-wrap:wrap}
  .visit{flex-direction:column;align-items:flex-start;gap:26px;padding:36px 20px}
  .visit .side{align-items:flex-start}
}
