@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 300 700; font-display: swap; src: url('fonts/cormorant-garamond-roman.woff2') format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 300 700; font-display: swap; src: url('fonts/cormorant-garamond-italic.woff2') format('woff2'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap; src: url('fonts/manrope.woff2') format('woff2'); }

:root {
  --primary: #142b20;
  --brass: #b69559;
  --brass-dark: #826638;
  --ink: #26332d;
  --muted: #555e57;
  --line: #d9cdb5;
  --paper: #faf8f2;
}

* { box-sizing: border-box; }
html, body {
  overflow-x: hidden;
  max-width: 100vw;
}

body {
  background-color: #07130A;
  background-image: 
    radial-gradient(circle at 50% 10%, rgba(194, 166, 118, 0.12) 0%, transparent 45%),
    radial-gradient(circle at 15% 50%, rgba(28, 58, 36, 0.6) 0%, transparent 50%),
    radial-gradient(circle at 85% 70%, rgba(194, 166, 118, 0.08) 0%, transparent 50%);
  color: var(--ink);
  font-family: 'Manrope', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.font-serif { font-family: 'Cormorant Garamond', Georgia, serif; }

/* Cercles décoratifs Art Déco */
.artdeco-circle-bg {
  position: absolute;
  border: 1px solid rgba(194, 166, 118, 0.18);
  border-radius: 9999px;
  pointer-events: none;
}

/* Feuilles A4 style restaurant */
.a4-sheet {
  width: 210mm;
  min-height: 297mm;
  max-height: 297mm;
  padding: 6mm;
  margin: 0 auto 32px;
  background: var(--paper);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(182, 149, 89, 0.25);
  overflow: hidden;
  break-after: page;
  position: relative;
}

.a4-inner-frame {
  height: 100%;
  border: .6pt solid var(--line);
  padding: 6mm 6mm 4mm;
  display: flex;
  flex-direction: column;
  position: relative;
}

.corner-ornament { position: absolute; width: 11px; height: 11px; color: var(--brass); }
.corner-tl { top: 1.2mm; left: 1.2mm; }
.corner-tr { top: 1.2mm; right: 1.2mm; transform: rotate(90deg); }
.corner-bl { bottom: 1.2mm; left: 1.2mm; transform: rotate(-90deg); }
.corner-br { bottom: 1.2mm; right: 1.2mm; transform: rotate(180deg); }

/* En-tête intérieur */
.menu-header { flex: 0 0 auto; padding-bottom: 3mm; margin-bottom: 4mm; border-bottom: .6pt solid var(--line); }
.brand-topline { display: flex; align-items: center; justify-content: space-between; gap: 6mm; margin-bottom: 2mm; }
.brand-wordmark { font: 600 17pt/1 'Cormorant Garamond', Georgia, serif; letter-spacing: .18em; color: var(--primary); }
.brand-subtitle { font-size: 6.8pt; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); }
.brand-main-title { font: 600 27pt/1.05 'Cormorant Garamond', Georgia, serif; letter-spacing: .015em; color: var(--primary); }
.brand-meta-bar { margin-top: 2mm; font-size: 8pt; line-height: 1.45; color: var(--muted); }

/* Signatures */
.signatures-section { margin-bottom: 4mm; flex: 0 0 auto; }
.signatures-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 5mm; margin-bottom: 2mm; }
.signatures-heading h3 { color: var(--primary); font: italic 18pt 'Cormorant Garamond', Georgia, serif; }
.signatures-heading p { color: var(--muted); font-size: 7pt; }
.signatures-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7mm; }
.sig-card { text-align: center; min-width: 0; }
.sig-arch-frame { height: 27mm; border-radius: 27mm 27mm 0 0; overflow: hidden; background: #e9e3d7; margin-bottom: 2mm; border: 1px solid rgba(182, 149, 89, 0.4); }
.sig-arch-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sig-title { color: var(--primary); font: 600 11.5pt/1.1 'Cormorant Garamond', Georgia, serif; }
.sig-desc { color: var(--muted); margin-top: 1mm; font-size: 7.8pt; line-height: 1.35; }
.sig-price { display: block; margin-top: 1mm; color: var(--primary); font-size: 10pt; font-weight: 600; font-variant-numeric: tabular-nums; }

/* Layout et colonnes */
.page-content { flex: 1 1 auto; min-height: 0; }
.two-columns-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9mm; }
.menu-col { display: flex; flex-direction: column; gap: 5mm; min-width: 0; }
.starters-sections { display: flex; flex-direction: column; gap: 3mm; }
.category-block { break-inside: avoid; min-width: 0; }
.category-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 1mm 3mm; padding-bottom: 2mm; margin-bottom: 2.5mm; border-bottom: .5pt solid var(--line); }
.category-name { font: 600 16.5pt/1.05 'Cormorant Garamond', Georgia, serif; color: var(--primary); }
.category-subtitle { display: none; }
.dish-list { display: flex; flex-direction: column; gap: 2.5mm; }
.cave-sheet .dish-list { gap: 2mm; }
.cave-sheet .menu-col { gap: 4.5mm; }
.starters-sections .dish-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 9mm; row-gap: 2.2mm; }
.dish-item { min-width: 0; break-inside: avoid; }
.dish-row { display: flex; align-items: baseline; gap: 2mm; }
.dish-title-wrap { flex: 0 1 auto; min-width: 0; }
.dish-name { color: var(--primary); font: 600 11.6pt/1.15 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.dish-dots { flex: 1 1 4mm; min-width: 3mm; border-bottom: .6pt dotted #bdb7a8; margin-bottom: 1mm; }
.dish-price { flex: 0 0 auto; max-width: 36%; color: var(--primary); font-size: 10.5pt; font-weight: 500; line-height: 1.35; text-align: right; font-variant-numeric: tabular-nums; }
.price-option { display: inline-block; white-space: nowrap; }
.price-divider { color: var(--muted); font-weight: 400; }
.dish-desc { color: var(--muted); margin-top: .8mm; font-size: 8.5pt; font-weight: 400; line-height: 1.32; overflow-wrap: anywhere; }
.dish-badge { display: inline; color: #3f5b43; margin-left: 1.5mm; font: 500 6.2pt 'Manrope', sans-serif; text-transform: uppercase; letter-spacing: .02em; white-space: nowrap; }
.wine-kind { font-size: 7pt; color: var(--brass-dark); font-weight: 600; margin-right: 1mm; }
.wine-prices { display: grid; grid-template-columns: 8mm 20mm; gap: 1mm; width: 29mm; max-width: none; font-size: 9pt; }
.wine-prices span { white-space: nowrap; text-align: right; }
.wine-legend { display: flex; justify-content: flex-end; gap: 1mm; font-size: 6.7pt; color: var(--muted); margin-top: -1mm; margin-bottom: 2mm; }
.wine-legend span:first-child { width: 8mm; text-align: right; }
.wine-legend span:last-child { width: 20mm; text-align: right; }

/* Formule midi */
.formula-card-frame { background: var(--primary); color: var(--paper); padding: 4mm; break-inside: avoid; border: 1px solid rgba(182, 149, 89, 0.4); }
.formula-header { margin-bottom: 2.5mm; }
.formula-left-title { font: 600 18pt/1.1 'Cormorant Garamond', Georgia, serif; }
.formula-subtitle-right { display: block; margin-top: 1.5mm; font-size: 7.4pt; line-height: 1.5; color: #e2d8bf; }
.formula-item-row { display: flex; align-items: baseline; justify-content: space-between; gap: 4mm; font-size: 8.2pt; line-height: 1.3; margin-top: 2mm; }
.formula-item-row strong { font: 600 18pt/1 'Cormorant Garamond', Georgia, serif; white-space: nowrap; color: #ead7ab; }
.formula-item-row .dish-dots { display: none; }
.formula-foot-note { margin-top: 2mm; color: #e2d8bf; font-size: 6.8pt; line-height: 1.35; }

/* Footer de sheet */
.menu-footer { flex: 0 0 auto; display: flex; align-items: flex-end; justify-content: space-between; gap: 6mm; border-top: .6pt solid var(--line); padding-top: 2mm; margin-top: 4mm; color: var(--muted); font-size: 6.8pt; line-height: 1.5; }
.footer-copy { max-width: 154mm; }
.footer-page { color: var(--brass-dark); font-size: 7.2pt; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Barre d'outils et sélecteurs épurés */
.carte-toolbar {
  max-width: 210mm;
  margin: 0 auto 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 16px;
  background: rgba(20, 43, 32, 0.85);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(182, 149, 89, 0.35);
  color: #fff;
}

.nav-pill-link {
  color: #d8ceb8;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
  text-decoration: none;
  padding: 6px 14px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(182, 149, 89, 0.25);
  transition: all 0.15s;
}
.nav-pill-link:hover {
  background: rgba(182, 149, 89, 0.25);
  color: #fff;
  border-color: var(--brass);
}

/* RÈGLES RESPONSIVES MOBILE */
@media screen and (max-width: 860px) {
  .carte-wrapper {
    padding: 8px 10px 40px !important;
  }
  .carte-toolbar {
    max-width: 100% !important;
    margin: 0 0 16px !important;
    padding: 8px 10px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }
  .quick-nav-pills {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 6px !important;
  }
  .quick-nav-pills a {
    text-align: center !important;
    padding: 8px 4px !important;
    font-size: 10px !important;
  }
  .a4-sheet {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    padding: 12px 10px !important;
    margin: 0 auto 20px !important;
    border-radius: 2px !important;
  }
  .a4-inner-frame {
    padding: 16px 12px 14px !important;
    height: auto !important;
  }
  .two-columns-layout {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .starters-sections .dish-list {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .signatures-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .sig-arch-frame {
    height: 160px !important;
  }
  .dish-price {
    max-width: 44% !important;
    font-size: 10pt !important;
  }
  .brand-topline {
    margin-bottom: 6px !important;
  }
  .brand-main-title {
    font-size: 22pt !important;
  }
  .menu-footer {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 6px !important;
  }
  .footer-copy {
    max-width: none !important;
  }
}

@media screen and (min-width: 500px) and (max-width: 860px) {
  .signatures-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .sig-arch-frame {
    height: 110px !important;
  }
}

/* Impression propre fidèle aux PDF */
@media print {
  body {
    background: #fff !important;
    padding: 0 !important;
    margin: 0 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  header, aside, .carte-toolbar, .no-print, #ruby-notice-banner, .footer-public-links {
    display: none !important;
  }
  .carte-wrapper {
    padding: 0 !important;
    max-width: none !important;
  }
  .a4-sheet {
    width: 210mm !important;
    height: 297mm !important;
    max-height: 297mm !important;
    margin: 0 !important;
    box-shadow: none !important;
    break-after: page !important;
    overflow: hidden !important;
  }
  .a4-sheet:last-child {
    break-after: avoid !important;
  }
  @page {
    size: A4 portrait;
    margin: 0;
  }
}
