/* The Sutler's Table — cookbook page. Extends styles.css tokens; only new ones declared here. */
:root{
  --ink-faint:#8f8873;
  --danger:#c0594d;
  --danger-bright:#d97e6f;
}

.foreword a{color:var(--brass-bright);border-bottom:1px solid rgba(211,167,92,0.35);}
.foreword a:hover{border-color:var(--brass-bright);}

.page{max-width:700px;margin:0 auto;padding:0 1.5rem;}

/* --- book head (page-head variant with cookbook framing) --- */
.book-head{
  padding:9.5rem 6vw 3.5rem;
  text-align:center;
  background:radial-gradient(ellipse 60% 40% at 50% 0%, rgba(211,167,92,0.14), transparent 70%), var(--ground);
}
.book-head .eyebrow{display:block;margin-bottom:1.1rem;}
.book-head .wordmark-line{
  font-family:var(--serif);font-size:1.05rem;letter-spacing:0.09em;text-transform:uppercase;
  color:var(--ink-dim);margin-bottom:2.2rem;
}
.book-head .wordmark-line span{color:var(--brass-bright);}
.book-head h1{font-size:clamp(2.3rem,6.5vw,3.7rem);line-height:1.05;color:var(--ink);margin-bottom:1.1rem;}
.book-head .sub{font-size:1.05rem;color:var(--ink-dim);font-style:italic;font-family:var(--serif);margin-bottom:1.6rem;}
.book-head .desc{max-width:480px;margin:0 auto 1.6rem;color:var(--ink-dim);font-size:0.98rem;line-height:1.75;}
.book-head .colophon-line{
  font-size:0.74rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:1.6rem;
}

.dinkus{display:flex;align-items:center;justify-content:center;gap:0.9rem;margin:0 auto;max-width:220px;}
.dinkus .rule{flex:1;height:1px;background:var(--line);}
.dinkus .dot{width:5px;height:5px;border-radius:50%;background:var(--brass);flex-shrink:0;}
.recipe-divider{margin:2.6rem auto;max-width:340px;}
.recipe-divider .rule{background:var(--line);}

/* --- foreword-style reference pages (Before You Cook, back matter) --- */
.section-block{padding:4rem 1.5rem;}
.section-block h2{font-size:1.7rem;color:var(--ink);margin-bottom:1.4rem;}
.section-block .eyebrow{
  display:block;font-size:0.7rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--brass-bright);
  font-weight:500;margin-bottom:0.7rem;
}
.foreword p{color:var(--ink-dim);margin-bottom:1.15rem;font-size:1rem;}
.foreword ul{margin:1.2rem 0 1.2rem;padding-left:1.2rem;color:var(--ink-dim);}
.foreword li{margin-bottom:0.5rem;}
.foreword .signoff{color:var(--brass-bright);font-family:var(--serif);font-style:italic;margin-top:1.6rem;}
.foreword h3{font-size:1.1rem;color:var(--brass-bright);margin:1.8rem 0 0.5rem;}

/* --- identification photo cards --- */
.id-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin:1rem 0 0.6rem;}
.id-card{border:1px solid var(--line);border-radius:2px;overflow:hidden;background:var(--panel);}
.id-card.danger{border-color:rgba(192,89,77,0.4);}
.id-card img{width:100%;height:160px;object-fit:cover;display:block;}
.id-card .cap{padding:0.7rem 0.8rem;}
.id-card .tag{font-size:0.66rem;text-transform:uppercase;letter-spacing:0.1em;font-weight:500;}
.id-card.safe .tag{color:var(--brass-bright);}
.id-card.danger .tag{color:var(--danger-bright);}
.id-card .name{font-family:var(--serif);font-size:0.98rem;color:var(--ink);display:block;margin-top:0.25rem;}
.id-card .desc{font-size:0.82rem;color:var(--ink-dim);margin-top:0.35rem;line-height:1.55;}
.id-note{font-size:0.88rem;font-style:italic;color:var(--ink-dim);margin:0.9rem 0 2rem;padding-left:0.9rem;border-left:2px solid var(--danger);}
.photo-credits{font-size:0.74rem;color:var(--ink-faint);margin-top:0.5rem;line-height:1.7;}
.photo-credits a{color:var(--ink-faint);border-bottom:1px solid var(--line);}
.photo-credits a:hover{color:var(--brass-bright);border-color:var(--brass-bright);}

/* --- contents --- */
.contents{padding:1rem 1.5rem 3.5rem;}
.contents .eyebrow{
  display:block;font-size:0.72rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--brass-bright);
  font-weight:500;margin-bottom:0.6rem;text-align:center;
}
.contents h2{text-align:center;margin-bottom:2rem;}
.contents-label{
  text-align:center;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-faint);
  margin-bottom:0.9rem;
}
.front-matter-links{text-align:center;font-size:0.82rem;color:var(--ink-dim);margin-bottom:2.4rem;}
.front-matter-links a{color:var(--brass-bright);border-bottom:1px solid rgba(211,167,92,0.35);}
.front-matter-links a:hover{border-color:var(--brass-bright);}
.front-matter-links .sep{color:var(--ink-faint);margin:0 0.5rem;}
.toc-grid{display:grid;grid-template-columns:1fr;gap:0.4rem;max-width:640px;margin:0 auto;}
@media(min-width:640px){.toc-grid{grid-template-columns:1fr 1fr;}}
.toc-item{display:flex;align-items:center;gap:0.9rem;padding:0.85rem 0.9rem;border:1px solid var(--line);border-radius:2px;}
.toc-item:hover{border-color:var(--brass);}
.toc-item .icon-badge{width:34px;height:34px;flex-shrink:0;}
.toc-item .icon-badge svg{width:18px;height:18px;}
.toc-item .t-name{font-family:var(--serif);font-size:0.98rem;color:var(--ink);display:block;}
.toc-item .t-range{font-size:0.72rem;letter-spacing:0.06em;color:var(--ink-faint);text-transform:uppercase;}

/* --- chapter icon badge --- */
.icon-badge{
  width:56px;height:56px;border-radius:50%;border:1px solid var(--brass);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--brass-bright);
}
.icon-badge svg{width:26px;height:26px;display:block;}

/* --- chapter divider band --- */
.book-chapter{background:var(--ground);}
.book-chapter:nth-of-type(even){background:var(--ground-alt);}
.chapter-head{padding:4rem 1.5rem 3rem;text-align:center;}
.chapter-head .icon-badge{margin:0 auto 1.3rem;}
.chapter-head .chap-eyebrow{
  display:block;font-size:0.7rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--ink-faint);
  margin-bottom:0.6rem;
}
.chapter-head h2{font-size:clamp(1.5rem,4vw,2rem);color:var(--brass-bright);margin-bottom:0.8rem;}
.chapter-head .tagline{
  font-family:var(--serif);font-style:italic;color:var(--ink-dim);max-width:420px;margin:0 auto;font-size:1rem;
}

/* --- recipe --- */
.recipes-wrap{padding:1rem 1.5rem 3rem;}
.recipe{display:flex;gap:1.4rem;align-items:flex-start;}
.recipe .num{
  font-family:var(--serif);font-size:2.2rem;color:var(--brass);opacity:0.55;
  width:54px;flex-shrink:0;line-height:1;padding-top:0.15rem;
}
.recipe .content{flex:1;min-width:0;}
.recipe h3{font-size:1.28rem;color:var(--ink);margin-bottom:0.4rem;}
.recipe .meta{
  font-size:0.76rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-dim);
  margin-bottom:0.9rem;display:flex;align-items:center;gap:0.5rem;
}
.recipe .meta .sep{color:var(--brass);}
.recipe .ingredients{margin-bottom:1.1rem;}
.recipe .ingredients .lbl{
  display:block;color:var(--brass-bright);text-transform:uppercase;font-size:0.72rem;letter-spacing:0.09em;margin-bottom:0.55rem;
}
.recipe .ingredients ul{list-style:none;margin:0;padding:0;display:grid;gap:0.35rem;}
.recipe .ingredients li{color:var(--ink-dim);font-size:0.94rem;line-height:1.5;padding-left:1rem;position:relative;}
.recipe .ingredients li::before{content:"";position:absolute;left:0;top:0.55em;width:4px;height:4px;border-radius:50%;background:var(--brass);}
.recipe p.body{color:var(--ink);font-size:0.98rem;line-height:1.75;}
.recipe .note{
  margin-top:0.9rem;padding:0.85rem 1rem;background:var(--panel);border-left:2px solid var(--brass);
  font-size:0.9rem;font-style:italic;color:var(--ink-dim);line-height:1.65;
}
.recipe .pairing{margin-top:0.8rem;font-size:0.88rem;color:var(--ink-dim);}
.recipe .pairing .lbl{
  color:var(--brass-bright);text-transform:uppercase;font-size:0.68rem;letter-spacing:0.09em;margin-right:0.5rem;
}
.recipe .used-in{
  font-size:0.76rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:0.9rem;
}
.recipe .used-in .lbl{color:var(--ink-faint);margin-right:0.4rem;}
.recipe .used-in a, .recipe p.body a{color:var(--brass-bright);border-bottom:1px solid rgba(211,167,92,0.35);}
.recipe .used-in a:hover, .recipe p.body a:hover{border-color:var(--brass-bright);}

@media(max-width:480px){
  .recipe{gap:0.9rem;}
  .recipe .num{font-size:1.6rem;width:32px;}
}

/* --- weights & measures --- */
.measures-table-wrap{overflow-x:auto;margin:0.8rem 0 1.6rem;}
.measures-table{width:100%;border-collapse:collapse;font-size:0.92rem;min-width:280px;}
.measures-table th{
  text-align:left;font-family:var(--serif);color:var(--brass-bright);font-weight:500;
  padding:0.5rem 1.2rem 0.5rem 0;border-bottom:1px solid var(--brass);white-space:nowrap;
}
.measures-table td{
  padding:0.5rem 1.2rem 0.5rem 0;border-bottom:1px solid var(--line);
  font-variant-numeric:tabular-nums;color:var(--ink-dim);white-space:nowrap;
}
.measures-table td:first-child{color:var(--ink);}

/* --- three menus --- */
.menu-card{margin-bottom:1.8rem;padding-bottom:1.8rem;border-bottom:1px solid var(--line);}
.menu-card:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.menu-card h3{font-size:1.1rem;color:var(--brass-bright);margin-bottom:0.6rem;}
.menu-card p{color:var(--ink-dim);font-size:0.96rem;line-height:1.75;}

/* --- seasonal index --- */
.season-grid{display:grid;grid-template-columns:1fr;gap:1.8rem;margin-top:1rem;}
@media(min-width:640px){.season-grid{grid-template-columns:1fr 1fr;}}
.season-card h3{font-size:1.05rem;color:var(--brass-bright);margin-bottom:0.7rem;}
.season-card ul{list-style:none;margin:0;padding:0;}
.season-card li{display:flex;gap:0.7rem;padding:0.4rem 0;border-bottom:1px solid var(--line);font-size:0.92rem;}
.season-card li .n{color:var(--brass);font-variant-numeric:tabular-nums;width:1.7rem;flex-shrink:0;}
.season-card li a{color:var(--ink-dim);}
.season-card li a:hover{color:var(--brass-bright);}

/* --- print --- */
@media print{
  @page{margin:2cm;}
  :root{
    --ink:#211a10; --ink-dim:#4a4030; --ink-faint:#6b6150;
    --ground:#faf6ee; --ground-alt:#f3ede0; --panel:#eee6d4;
    --brass:#8a5a2b; --brass-bright:#6e4620; --line:#d8cdb4;
    --danger:#8a3a2e; --danger-bright:#7a3226;
  }
  .site-nav, .mobile-menu, .nav-toggle, footer{display:none;}
  .book-head{background:var(--ground);padding-top:1rem;}
  .book-chapter{page-break-before:always;break-before:page;}
  .chapter-head{page-break-after:avoid;break-after:avoid;}
  .recipe{page-break-inside:avoid;break-inside:avoid;}
  body{font-size:14px;}
}
