/* Shared wine presentation for the public menu and every QR language.
   Product IDs, categories and prices remain owned by the Agora renderer. */
.wine-showcase {
  --cellar-ink: #3b2824;
  --cellar-name: #231411;
  --cellar-wine: #651e2b;
  --cellar-muted: #77665b;
  --cellar-line: #dccab4;
  --cellar-gold: #a77a38;
  position: relative;
  padding: clamp(16px, 3vw, 34px);
  color: var(--cellar-ink);
  border: 1px solid var(--cellar-line);
  border-radius: 8px;
  background: radial-gradient(ellipse at 100% 0, #ead8bd66, transparent 45%), #f7f0e5;
  box-shadow: 0 18px 48px #30161312;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
  line-height: 1.5;
  scroll-margin-top: 90px;
}

.wine-showcase.menu-section-card::before,
.wine-showcase.menu-section-card::after { content: none; }
.wine-showcase.reveal { opacity: 1; transform: none; }
.wine-showcase [hidden], .wine-price-point[hidden], .price-pill[hidden] { display: none !important; }
.wine-showcase img { display: block; max-width: 100%; }
.wine-showcase__heading { margin: 0 auto 26px; text-align: center; }
.wine-showcase .wine-eyebrow {
  margin: 0 0 10px;
  color: #85602e;
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.wine-showcase__heading h2 {
  margin: 0;
  color: var(--cellar-wine);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4.5vw, 54px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.04em;
  text-transform: none;
}
.wine-showcase__heading > p:last-child { margin: 10px auto 0; color: var(--cellar-muted); max-width: 52ch; }
.wine-estate {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 320px;
  background: #40171e;
  border: 1px solid #ac8754;
  border-radius: 5px;
  box-shadow: 0 8px 20px #421b1726;
  color: #fff5e8;
}
.wine-estate__copy { padding: clamp(22px, 3vw, 38px); align-self: center; position: relative; z-index: 1; }
.wine-estate .wine-eyebrow { color: #e0bd83; }
.wine-estate h3 {
  margin: 0;
  color: #fff5e8;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(33px, 4.8vw, 60px);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -.04em;
}
.wine-estate__intro { margin: 16px 0 22px; max-width: 40ch; color: #f1e0cf; font-size: 16px; line-height: 1.5; }
.wine-estate__image { width: 100%; height: 370px; min-height: 320px; object-fit: cover; object-position: 50% 48%; }
.wine-estate__link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 44px;
  padding: 10px 15px;
  border: 1px solid #c7a269;
  border-radius: 2px;
  color: #fff3df;
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .09em;
  text-decoration: none;
  text-transform: uppercase;
}
.wine-estate__link:hover { background: #ffffff14; border-color: #ffdda6; }
.wine-estate__link:focus-visible { outline: 3px solid #ffe1a5; outline-offset: 4px; }
.wine-estate__origin { margin: 21px 0 0; color: #debe8b; font-size: 12px; letter-spacing: .07em; }
.wine-subheading { display: flex; align-items: center; gap: 20px; margin: 30px 0 16px; }
.wine-subheading h3 { margin: 0; color: var(--cellar-wine); font-family: Georgia, "Times New Roman", serif; font-size: clamp(24px, 2.7vw, 32px); font-weight: 400; line-height: 1.2; letter-spacing: -.035em; }
.wine-subheading > span { flex: 1; min-width: 20px; height: 1px; background: linear-gradient(90deg, #b48745, #dcccba50); }
.wine-estate-selection, .wine-glasses { scroll-margin-top: 90px; }
.estate-wine-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
.estate-wine { min-width: 0; display: flex; flex-direction: column; border: 1px solid #dfcfbc; border-radius: 4px; background: #fffaf2; overflow: hidden; }
.estate-wine--signature { border-color: #772b38; box-shadow: 0 5px 16px #631b2314; }
.estate-wine__image { position: relative; background: #ebddc8; }
.estate-wine__image img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.estate-wine__badge { position: absolute; inset: 0 0 auto; margin: 0; padding: 7px 8px; background: #651e2bf2; color: #fff4e3; font: 600 9px/1.4 Arial, sans-serif; text-align: center; letter-spacing: .06em; text-transform: uppercase; }
.estate-wine__body { flex: 1; display: flex; flex-direction: column; padding: 15px 12px 12px; }
.estate-wine h4 { margin: 0; color: var(--cellar-name); font-family: Georgia, "Times New Roman", serif; font-size: 18px; font-weight: 700; line-height: 1.15; letter-spacing: -.025em; }
.estate-wine__grapes { margin: 10px 0; color: #76553c; font: 11px/1.5 Arial, sans-serif; }
.estate-wine__description { margin: 0 0 16px; color: #6e5b50; font-size: 13px; line-height: 1.5; }
.estate-wine__pairing { margin: 0 0 16px; color: #6e5b50; font-size: 12px; line-height: 1.5; }
.estate-wine__pairing .wine-note-label { display: block; color: var(--cellar-wine); margin-bottom: 3px; }
.wine-note-label { font-weight: 600; }
.estate-wine__prices { display: grid; gap: 7px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--cellar-line); color: #6e5b50; font-size: 12px; }
.estate-wine__prices > span { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 3px 8px; }
.estate-wine__prices strong { color: var(--cellar-wine); font: 700 15px/1.4 Georgia, serif; white-space: nowrap; }
.wine-showcase .wine-list { display: grid; gap: 0; }
.wine-showcase .wine-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 12px; min-height: 0; margin: 0; padding: 9px 0; border: 0; border-bottom: 1px dotted #bfa78c; border-radius: 0; background: transparent; box-shadow: none; font-size: 13px; line-height: 1.4; }
.wine-showcase .wine-row span { min-width: 0; color: var(--cellar-ink); line-height: 1.4; overflow-wrap: anywhere; }
.wine-showcase .wine-row > span { color: var(--cellar-name); font-weight: 700; }
.wine-showcase .wine-row strong { color: var(--cellar-wine); font-size: 13px; font-weight: 700; white-space: nowrap; }
.wine-showcase .wine-row:last-child { border-bottom: 0; }
.wine-showcase .wine-glass-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.wine-glass-list .wine-row { position: relative; align-items: start; gap: 7px; min-height: 80px; padding: 13px 12px 12px 40px; border: 1px solid #deccb5; border-radius: 3px; background: #fffcf580; }
.wine-glass-list .wine-row:last-child { border-bottom: 1px solid #deccb5; }
.wine-glass-list .wine-row::before { position: absolute; left: 13px; top: 17px; content: ""; width: 15px; height: 21px; border: 1px solid #8c565b; border-radius: 2px 2px 9px 9px; background: linear-gradient(transparent 30%, #7a273266 31%); }
.wine-glass-list .wine-row::after { position: absolute; left: 15px; top: 39px; content: ""; width: 11px; height: 13px; border-bottom: 1px solid #8c565b; background: linear-gradient(90deg, transparent 45%, #8c565b 46%, #8c565b 54%, transparent 55%); }
.wine-glass-list .wine-row[data-wine-id="315"] { border-color: #a7834f; background: #f1e2c966; }
.wine-variety-grid { display: grid; grid-template-columns: 1.2fr 1fr .9fr; gap: 20px; align-items: start; }
.wine-variety-column { min-width: 0; }
.wine-variety { padding: 16px; border: 1px solid #deccb5; border-radius: 3px; background: #fffaf266; }
.wine-variety h4 { margin: 0 0 9px; padding-bottom: 10px; border-bottom: 1px solid var(--cellar-line); color: var(--cellar-wine); font: 600 20px/1.2 Georgia, serif; }
.wine-advice { margin-top: 18px; padding: 24px 20px; border: 1px solid #ddc8a8; border-radius: 3px; background: #eee0ca80; }
.wine-advice h4 { margin: 0 0 10px; color: var(--cellar-wine); font: 400 24px/1.2 Georgia, serif; }
.wine-advice p { margin: 0; color: #6e5b50; font-size: 14px; line-height: 1.6; }
.wine-advice > span { display: block; margin-top: 12px; color: #9b7138; font-size: 28px; }
.wine-recommendation-prices { display: grid; gap: 6px; white-space: normal; }
.wine-recommendation-prices .wine-price-point { display: flex; flex-wrap: wrap; gap: 4px 10px; justify-content: space-between; font-size: 12px; font-weight: 400; }
.wine-recommendation-prices strong { font-size: 14px; white-space: nowrap; }

/* QR keeps its narrow food menu; the wine section has room for five bottles on desktop. */
@media (min-width: 900px) {
  .wine-showcase--qr { width: min(1180px, calc(100vw - 48px)); margin-inline-start: 50%; transform: translateX(-50%); }
  html[dir="rtl"] .wine-showcase--qr { transform: translateX(50%); }
}
@media (min-width: 600px) and (max-width: 1050px) {
  .estate-wine-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wine-variety-grid { grid-template-columns: 1.1fr 1fr; gap: 14px; }
  .wine-variety-column:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }
  .wine-variety-column:last-child .wine-advice { margin-top: 0; }
}
@media (max-width: 599px) {
  .wine-showcase { padding: 14px; }
  .wine-showcase__heading { margin: 10px auto 22px; }
  .wine-showcase__heading > p:last-child { font-size: 14px; }
  .wine-estate { grid-template-columns: 1fr; min-height: 0; }
  .wine-estate__copy { padding: 24px 20px; }
  .wine-estate h3 { font-size: 39px; }
  .wine-estate__intro { font-size: 15px; margin: 13px 0 18px; }
  .wine-estate__origin { margin-top: 16px; }
  .wine-estate__image { min-height: 0; height: auto; aspect-ratio: 1.2; object-position: 50% 57%; }
  .wine-subheading { margin-top: 27px; gap: 12px; }
  .estate-wine-grid { grid-template-columns: 1fr; gap: 13px; }
  .estate-wine { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1fr); }
  .estate-wine__image img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
  .estate-wine__body { padding: 14px 12px; }
  .estate-wine h4 { font-size: 19px; }
  .estate-wine__description { font-size: 12px; margin-bottom: 12px; }
  .estate-wine__grapes { font-size: 10px; }
  .estate-wine__prices { padding-top: 9px; }
  .estate-wine__badge { font-size: 8px; padding: 6px; }
  .wine-showcase .wine-glass-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .wine-glass-list .wine-row { padding-inline-start: 35px; padding-inline-end: 8px; }
  .wine-glass-list .wine-row::before { left: 10px; }
  .wine-glass-list .wine-row::after { left: 12px; }
  .wine-variety-grid { grid-template-columns: 1fr; gap: 14px; }
  .wine-showcase .wine-row { font-size: 14px; }
  .wine-variety .wine-row { padding-block: 10px; }
.wine-showcase .wine-row strong { font-size: 14px; }
}
.wine-row__notes { grid-column: 1 / -1; min-width: 0; }
.wine-showcase .wine-row__origin { margin: 0 0 6px; font: 600 12px/1.5 Arial, sans-serif; color: #51352d; }
.estate-wine__origin { margin: 10px 0 0; font: 600 11px/1.5 Arial, sans-serif; color: #51352d; }
.wine-showcase .wine-row__grapes { margin: 0; font: 12px/1.5 Arial, sans-serif; color: #746151; }
.wine-showcase .wine-row__grapes .wine-note-label { color: #75454a; }
.wine-tasting { font: 13px/1.5 Georgia, serif; }
.wine-tasting summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; box-sizing: border-box; min-height: 60px; margin-top: 12px; padding: 12px 14px; border: 1px solid #c5a774; border-radius: 8px; background: linear-gradient(140deg, #fff9eb, #f1e1c4); color: #4b2b22; box-shadow: inset 0 1px 0 #ffffffcc, 0 2px 5px #55341b0c; cursor: pointer; list-style: none; text-align: start; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease; }
.wine-showcase .wine-tasting__copy { display: flex; flex-direction: column; gap: 3px; }
.wine-showcase .wine-tasting__label { color: #4b2b22; font: 700 12px/1.4 Arial, sans-serif; }
.wine-showcase .wine-tasting__hint { color: #735d43; font: 400 10px/1.5 Arial, sans-serif; }
.wine-tasting__icon { box-sizing: border-box; flex: 0 0 28px; width: 28px; height: 28px; padding: 6px; border: 1px solid #c1a06b; border-radius: 50%; background: #fffcf5; color: #6b4330; transition: transform .18s ease; }
.wine-tasting__icon path { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.wine-showcase .wine-tasting .wine-tasting__label--open { display: none; }
.wine-showcase .wine-tasting[open] .wine-tasting__label--closed { display: none; }
.wine-showcase .wine-tasting[open] .wine-tasting__label--open { display: inline; }
.wine-tasting summary::-webkit-details-marker { display: none; }
.wine-tasting[open] summary { background: linear-gradient(140deg, #f6e9cf, #e9d2a8); border-color: #a47d43; margin-bottom: 12px; }
.wine-tasting[open] .wine-tasting__icon { transform: rotate(180deg); }
.wine-tasting summary:focus-visible { outline: 3px solid #8d5b30; outline-offset: 3px; }
@media (hover: hover) { .wine-tasting summary:hover { border-color: #98713b; background: #f2e3c9; box-shadow: inset 0 1px 0 #fff, 0 3px 8px #55341b16; } }
@media (prefers-reduced-motion: reduce) { .wine-tasting summary, .wine-tasting__icon { transition: none; } }
.wine-tasting p { margin: 5px 0 10px; color: #645044; }
.wine-showcase .wine-tasting .wine-note-label { color: #651e2b; }
@media (max-width: 599px) {
  .wine-showcase .wine-glass-list { grid-template-columns: 1fr; }
  .wine-estate { grid-template-columns: 1.1fr .9fr; }
  .wine-estate__copy { padding: 22px 14px; }
  .wine-estate h3 { font-size: 30px; }
  .wine-estate .wine-eyebrow { font-size: 9px; letter-spacing: .12em; }
  .wine-estate__intro { font-size: 14px; }
  .wine-estate__link { padding: 9px; font-size: 10px; gap: 8px; letter-spacing: .04em; }
  .wine-estate__origin { font-size: 11px; }
  .wine-estate__image { height: 100%; aspect-ratio: auto; object-fit: cover; }
  .estate-wine h4 { font-size: 21px; }
  .estate-wine__grapes { font-size: 12px; line-height: 1.5; }
  .estate-wine__description, .estate-wine__pairing { font-size: 14px; line-height: 1.5; }
  .estate-wine__prices, .estate-wine__prices strong { font-size: 15px; }
  .wine-showcase .wine-row__grapes { font-size: 13px; }
  .wine-showcase .wine-row__origin, .estate-wine__origin { font-size: 12px; }
  .wine-showcase .wine-tasting__label { font-size: 13px; }
  .wine-showcase .wine-tasting__hint { font-size: 11px; }
  .wine-tasting, .wine-tasting summary { font-size: 14px; }
  .wine-showcase .wine-row { font-size: 16px; }
  .wine-showcase .wine-row strong { font-size: 16px; }
  .wine-glass-list .wine-row { padding-inline-start: 40px; }
}
html[dir="rtl"] .wine-glass-list .wine-row { padding-inline: 40px 12px; }
html[dir="rtl"] .wine-glass-list .wine-row::before { left: auto; right: 13px; }
html[dir="rtl"] .wine-glass-list .wine-row::after { left: auto; right: 15px; }
@media (prefers-reduced-motion: reduce) { .wine-showcase { scroll-behavior: auto; } }
@media (max-width: 360px) {
  html.qr-menu-mode[lang="fr"] #imprescindibles h2 { font-size: 34px; }
}
@media print {
  .wine-showcase { width: 100%; margin: 0; transform: none; box-shadow: none; background: #fff; }
  .estate-wine, .wine-variety, .wine-glass-list .wine-row { break-inside: avoid; }
  .wine-estate { print-color-adjust: exact; }
}

/* A raised gold invitation, with a visible lower edge and tactile feedback. */
.wine-estate__link {
  display:inline-flex; box-sizing:border-box; max-width:100%; min-height:80px; gap:20px;
  padding:17px 20px; margin-bottom:6px; border:1px solid #f9e7bf; border-bottom-color:#cca365; border-radius:12px;
  background:linear-gradient(180deg,#fff0cc 0%,#efd09a 48%,#dfb16c 100%); color:#37191a;
  box-shadow:inset 0 1px 0 #fffbed,inset 0 -1px 0 #a9793940,0 5px 0 #a47136,0 9px 0 -3px #220a1260,0 14px 24px #16080955;
  text-transform:none; letter-spacing:0; text-align:start; cursor:pointer; touch-action:manipulation;
  transition:box-shadow .16s ease,transform .16s ease,filter .16s ease;
}
.wine-estate__link-copy {display:flex;flex-direction:column;gap:5px;min-width:0}
.wine-estate__link-title {font:700 14px/1.4 Arial,sans-serif;text-wrap:balance;text-shadow:0 1px 0 #fff4d980}
.wine-estate__link-hint {font:400 12px/1.5 Arial,sans-serif;color:#62402a}
.wine-estate__link-arrow {display:grid;place-items:center;box-sizing:border-box;flex:0 0 38px;width:38px;height:38px;border:1px solid #895451;border-radius:50%;background:linear-gradient(160deg,#753a42,#40171e);color:#fff3df;font:24px/1 Arial,sans-serif;box-shadow:inset 0 1px 0 #c3848066,0 2px 0 #2a0e13,0 4px 8px #5e341833}
.wine-estate__link:hover {background:linear-gradient(180deg,#fff0cc 0%,#efd09a 48%,#dfb16c 100%);border-color:#f9e7bf}
@media(hover:hover) and (pointer:fine) {
 .wine-estate__link:hover {filter:brightness(1.06);transform:translateY(-2px);box-shadow:inset 0 1px 0 #fffbed,inset 0 -1px 0 #a9793940,0 7px 0 #a47136,0 18px 28px #16080966}
}
.wine-estate__link:active {transform:translateY(4px);filter:brightness(.98);box-shadow:inset 0 2px 4px #96602940,0 1px 0 #a47136,0 4px 8px #16080940}
.wine-estate__link:focus-visible {outline:3px solid #fff5dd;outline-offset:8px}
[dir="rtl"] .wine-estate__link-arrow {transform:scaleX(-1)}
@media(max-width:599px) {
 .wine-estate {grid-template-columns:minmax(0,1fr)}
 .wine-estate__copy {min-width:0;padding:26px 20px}
 .wine-estate__image {height:240px;min-height:0}
 .wine-estate__link {width:100%;gap:14px;padding:16px;min-height:80px}
}
@media(prefers-reduced-motion:reduce) {.wine-estate__link {transition:none}.wine-estate__link:hover,.wine-estate__link:active {transform:none}}
