/*
Theme Name: dds_bodegaibarra.com.ar
Author: Sofía Ibarra
Description: Revista digital sobre la cultura del vino, la gastronomía, los viajes y el estilo de vida en Argentina. Diseño de revista impresa: bordó profundo, papel crema, grabados en oro viejo.
Version: 1.1
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: bdgib
License: GNU General Public License v2 or later
*/

/* ---------- Reglas para elementos ocultos ---------- */
.cookie-banner[hidden] { display: none !important; }

/* ---------- Variables ---------- */
:root {
    --wine: #4A0E1E;
    --wine-deep: #3A0A17;
    --wine-ink: #2E0812;
    --paper: #EFE3CE;
    --paper-light: #F6EEDF;
    --paper-shade: #E4D4B8;
    --olive: #6B6B3A;
    --coffee: #2A1A14;
    --dust: #B79B7A;
    --clay: #C8452B;
    --clay-dark: #A5361F;
    --gold: #D9A441;
    --leather: #8C6A4A;
    --plum: #4A2A45;
    --serif: "Playfair Display", "Times New Roman", Georgia, serif;
    --narrow: "Archivo Narrow", "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
    --noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .16 0 0 0 0 .1 0 0 0 0 .08 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    --torn: polygon(0.0% 4.5px,3.6% 2.1px,7.1% 9.1px,10.7% 1.0px,14.3% 7.5px,17.9% 5.1px,21.4% 0.8px,25.0% 7.1px,28.6% 0.5px,32.1% 6.1px,35.7% 1.0px,39.3% 1.3px,42.9% 5.9px,46.4% 11.6px,50.0% 1.7px,53.6% 3.1px,57.1% 8.8px,60.7% 13.3px,64.3% 8.1px,67.9% 5.6px,71.4% 13.7px,75.0% 0.7px,78.6% 12.0px,82.1% 4.1px,85.7% 2.0px,89.3% 1.6px,92.9% 4.3px,96.4% 11.4px,100.0% 2.5px,100.0% calc(100% - 9.4px),96.4% calc(100% - 0.5px),92.9% calc(100% - 6.8px),89.3% calc(100% - 2.1px),85.7% calc(100% - 10.6px),82.1% calc(100% - 5.9px),78.6% calc(100% - 1.7px),75.0% calc(100% - 13.7px),71.4% calc(100% - 4.0px),67.9% calc(100% - 10.2px),64.3% calc(100% - 12.3px),60.7% calc(100% - 7.4px),57.1% calc(100% - 8.0px),53.6% calc(100% - 3.4px),50.0% calc(100% - 9.8px),46.4% calc(100% - 11.1px),42.9% calc(100% - 4.2px),39.3% calc(100% - 6.3px),35.7% calc(100% - 8.2px),32.1% calc(100% - 4.4px),28.6% calc(100% - 6.0px),25.0% calc(100% - 9.5px),21.4% calc(100% - 2.9px),17.9% calc(100% - 0.8px),14.3% calc(100% - 0.9px),10.7% calc(100% - 7.7px),7.1% calc(100% - 5.2px),3.6% calc(100% - 8.9px),0.0% calc(100% - 8.1px));
    --deckle: polygon(0 3px, 22% 0, 48% 2px, 73% 0, 100% 3px, calc(100% - 2px) 30%, 100% 62%, calc(100% - 3px) 100%, 70% calc(100% - 2px), 41% 100%, 15% calc(100% - 3px), 0 100%, 2px 64%, 0 33%);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
    margin: 0;
    overflow-x: hidden;
    background-color: var(--wine);
    background-image:
        radial-gradient(circle at 7% 16%, transparent 64px, rgba(25, 2, 9, .32) 66px, rgba(25, 2, 9, .12) 72px, transparent 76px),
        radial-gradient(circle at 92% 6%, transparent 92px, rgba(25, 2, 9, .28) 94px, rgba(25, 2, 9, .1) 101px, transparent 106px),
        radial-gradient(circle at 4% 64%, transparent 52px, rgba(25, 2, 9, .26) 54px, transparent 60px),
        radial-gradient(circle at 96% 88%, transparent 80px, rgba(25, 2, 9, .3) 82px, rgba(25, 2, 9, .1) 89px, transparent 94px),
        radial-gradient(ellipse at 18% 30%, rgba(30, 3, 11, .35), transparent 38%),
        radial-gradient(ellipse at 84% 70%, rgba(30, 3, 11, .3), transparent 40%),
        var(--noise);
    background-size: 100% 1900px, 100% 1900px, 100% 1900px, 100% 1900px, 100% 1900px, 100% 1900px, 220px 220px;
    background-repeat: repeat-y, repeat-y, repeat-y, repeat-y, repeat-y, repeat-y, repeat;
    color: var(--paper);
    font-family: var(--narrow);
    font-size: 1.0625rem;
    line-height: 1.6;
}
img { max-width: 100%; height: auto; }
a { color: var(--paper); text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--gold); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px dashed var(--gold); outline-offset: 3px; }
h1, h2, h3, h4, h5, h6 { font-family: var(--serif); font-weight: 800; line-height: 1.12; margin: 1.4em 0 .55em; }
p { margin: 0 0 1em; }
p, li, h1, h2, h3, h4, dd, td, th, figcaption, blockquote { overflow-wrap: break-word; hyphens: auto; }
table { border-collapse: collapse; width: 100%; margin: 0 0 1.4em; }
th, td { border: 1px solid var(--leather); padding: .55em .8em; text-align: start; vertical-align: top; }
th { font-family: var(--narrow); text-transform: uppercase; letter-spacing: .06em; font-size: .88em; }

.skip-to { position: absolute; left: -9999px; top: 0; z-index: 100; background: var(--gold); color: var(--coffee); padding: .6rem 1rem; }
.skip-to:focus { left: 1rem; top: 1rem; }

/* ---------- Contenedor ---------- */
.cave { width: min(85%, 1240px); margin-inline: auto; }

/* ---------- Botón-etiqueta de vino ---------- */
.wine-label {
    display: inline-block;
    border: 0;
    background: var(--clay);
    color: var(--paper);
    font-family: var(--narrow);
    font-weight: 600;
    font-size: .9rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1.2;
    padding: .62em 1.7em;
    cursor: pointer;
    clip-path: polygon(0 0, 100% 0, calc(100% - 7px) 25%, 100% 50%, calc(100% - 7px) 75%, 100% 100%, 0 100%, 7px 75%, 0 50%, 7px 25%);
    transition: background .15s, color .15s, transform .15s;
}
.wine-label:hover, .wine-label:focus-visible { background: var(--gold); color: var(--coffee); transform: translateX(3px); }

/* ---------- Cabecera ---------- */
.masthead { padding: 2.4rem 0 1.6rem; border-bottom: 1px solid rgba(140, 106, 74, .55); }
.masthead__inner { display: flex; flex-direction: column; align-items: center; text-align: center; }
.masthead__brand { display: flex; flex-direction: column; align-items: center; gap: .9rem; text-decoration: none; color: var(--paper); min-width: 0; }
.masthead__brand:hover { color: var(--paper); }
.masthead__logo .brand-mark, .masthead__logo .brand-logo { width: 72px; height: 72px; display: block; object-fit: contain; }
.masthead__titles { display: flex; flex-direction: column; align-items: center; gap: .7rem; min-width: 0; }
.masthead__name {
    font-family: var(--serif);
    font-weight: 900;
    font-size: clamp(1.55rem, 3.1vw, 2.75rem);
    line-height: 1.08;
    max-width: 30ch;
    letter-spacing: -.005em;
    overflow-wrap: break-word;
    hyphens: auto;
}
.masthead__tagline { font-family: var(--narrow); color: var(--dust); font-size: .95rem; letter-spacing: .02em; max-width: 72ch; }
.masthead__toggle { display: none; }
.masthead__nav { margin-top: 1.6rem; }
.masthead__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 2.4rem; }
.masthead__menu a { font-family: var(--serif); font-weight: 600; font-size: 1.2rem; text-decoration: none; color: var(--paper); padding: .2rem 0; border-bottom: 1px solid transparent; }
.masthead__menu a:hover, .masthead__menu .current-menu-item > a { color: var(--gold); border-bottom-color: var(--gold); }

/* ---------- Migas de pan ---------- */
.crumbs { font-family: var(--narrow); font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; color: var(--dust); padding: 1.6rem 0 .6rem; }
.crumbs a { color: var(--paper); }
.crumbs__sep { color: var(--gold); margin-inline: .35rem; }

/* ---------- Portada ---------- */
.front-stack { padding: 3rem 0 4rem; display: flex; flex-direction: column; gap: 4.5rem; }
.front-stack > * { min-width: 0; }

/* Bloque 1: mapa de la bodega */
.cellar-map__head { text-align: center; max-width: 760px; margin-inline: auto; }
.cellar-map__title { font-size: clamp(2.3rem, 6vw, 5rem); font-weight: 900; margin: 0 0 .3em; color: var(--paper); }
.cellar-map__lead { color: var(--dust); font-size: 1.02rem; }
.cellar-map__figure { margin: 1.6rem 0 0; }
.cellar-map__plate { position: relative; }
.cellar-map__plate img { display: block; width: 100%; height: auto; }
.cellar-map__pin {
    position: absolute;
    transform: translate(-50%, -50%);
    width: 2rem; height: 2rem;
    display: grid; place-items: center;
    border-radius: 50%;
    border: 1.5px solid var(--gold);
    background: var(--wine);
    color: var(--gold);
    font-family: var(--serif);
    font-weight: 800;
    font-size: .95rem;
}
.cellar-map__legend { list-style: none; margin: 1.8rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.6rem; border-top: 1px solid var(--leather); padding-top: 1.4rem; }
.cellar-map__legend li { font-size: .9rem; color: var(--dust); letter-spacing: .02em; min-width: 0; }
.cellar-map__legend strong { display: block; font-family: var(--narrow); color: var(--paper); text-transform: uppercase; letter-spacing: .12em; font-size: .82rem; margin-bottom: .3rem; }
.cellar-map__num { display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; border: 1px solid var(--gold); color: var(--gold); font-family: var(--serif); font-weight: 800; font-size: .8rem; margin-bottom: .5rem; }

/* Bloque 2: Argentina por copas */
.glass-roll__title { text-align: center; font-size: clamp(2.2rem, 5.5vw, 4.6rem); font-weight: 900; margin: 0 0 1.4rem; }
.glass-roll__bands { list-style: none; margin: 0; padding: 0; }
.glass-roll__band {
    display: grid;
    grid-template-columns: 3rem minmax(0, 13rem) minmax(0, 1fr);
    align-items: baseline;
    gap: 1.4rem;
    padding: 1.05rem 1.8rem;
    transition: padding .2s;
}
.glass-roll__band:hover { padding-left: 2.4rem; }
.glass-roll__idx { font-family: var(--narrow); font-size: .8rem; letter-spacing: .14em; opacity: .75; }
.glass-roll__name { font-family: var(--serif); font-weight: 800; font-size: clamp(1.3rem, 2.4vw, 1.75rem); line-height: 1.1; }
.glass-roll__note { font-size: .96rem; letter-spacing: .02em; }
.glass-roll__band--salta { background: #6E1A2F; color: var(--paper); }
.glass-roll__band--mendoza { background: var(--olive); color: var(--paper); }
.glass-roll__band--sanjuan { background: var(--paper); color: var(--coffee); }
.glass-roll__band--rionegro { background: var(--clay); color: #FBF3E4; }
.glass-roll__band--baires { background: var(--plum); color: var(--paper); }

/* Últimas entradas: hoja de papel */
.press-sheet {
    background: var(--paper) var(--noise);
    color: var(--coffee);
    clip-path: var(--torn);
    padding: 3.6rem 3rem 4.4rem;
}
.press-sheet__title { text-align: center; font-weight: 900; font-size: clamp(2.4rem, 7vw, 6rem); margin: 0 0 2.6rem; color: var(--coffee); }
.press-sheet__more { text-align: center; margin: 2.6rem 0 0; font-family: var(--narrow); text-transform: uppercase; letter-spacing: .1em; font-size: .9rem; }
.press-sheet__more a { color: var(--coffee); text-decoration-color: var(--clay); }
.press-sheet__more a:hover { color: var(--clay); }
.press-sheet .empty-note { color: var(--coffee); text-align: center; }

/* ---------- Tarjetas ---------- */
.page-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.4rem 2rem; }
.page-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: var(--paper-light) var(--noise);
    color: var(--coffee);
    box-shadow: inset 0 0 0 1px var(--leather);
    clip-path: var(--deckle);
    padding: .85rem .85rem 1.15rem;
    transform: rotate(-1.6deg);
    transition: transform .2s;
}
.page-card:nth-child(3n+2) { transform: rotate(1deg); }
.page-card:nth-child(3n) { transform: rotate(-.7deg); }
.page-card:hover { transform: rotate(0) translateY(-5px); }
.page-card__thumb { display: block; overflow: hidden; background: var(--wine); }
.page-card__thumb img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .35s; }
.page-card:hover .page-card__thumb img { transform: scale(1.04); }
.page-card__blank { display: grid; place-items: center; aspect-ratio: 4 / 3; background: var(--wine) var(--noise); }
.page-card__blank .brand-mark { width: 64px; height: 64px; display: block; }
.page-card__body { flex: 1; display: flex; flex-direction: column; padding: 1rem .45rem 0; min-width: 0; }
.page-card__pin { align-self: flex-start; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--paper); background: var(--olive); padding: .2rem .6rem; margin-bottom: .6rem; }
.page-card__title { font-size: 1.28rem; font-weight: 800; text-transform: uppercase; letter-spacing: .01em; margin: 0 0 .55rem; }
.page-card__title a { color: var(--coffee); text-decoration: none; }
.page-card__title a:hover { color: var(--clay); }
.page-card__excerpt { font-size: .95rem; line-height: 1.5; color: #3D2A20; }
.page-card__excerpt p { margin: 0 0 .5em; background: none; }
.page-card__excerpt a { color: var(--clay-dark); }
.page-card__foot { margin-top: auto; padding-top: .9rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .7rem; }
.slip-date { font-size: .82rem; letter-spacing: .1em; color: var(--leather); }

/* ---------- Dúo: botella + mesa ---------- */
.spread-duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 3.5rem; align-items: start; }
.spread-duo > section { min-width: 0; }

/* Bloque 3: anatomía de una botella */
.bottle-cut__title { font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 900; margin: 0 0 1.4rem; text-align: center; }
.bottle-cut__figure { margin: 0; padding-inline: 6.2rem; }
.bottle-cut__frame { position: relative; width: min(220px, 100%); margin-inline: auto; }
.bottle-cut__frame img { display: block; width: 100%; height: auto; }
.bottle-cut__tag {
    position: absolute;
    transform: translateY(-50%);
    font-family: var(--narrow);
    font-size: .9rem;
    letter-spacing: .06em;
    color: var(--paper);
    white-space: nowrap;
    line-height: 1;
}
.bottle-cut__tag--r { padding-left: .45rem; }
.bottle-cut__tag--l { padding-right: .45rem; }
.bottle-cut__facts { list-style: none; margin: 2rem 0 0; padding: 1.2rem 0 0; border-top: 1px solid var(--leather); display: grid; gap: .7rem; }
.bottle-cut__facts li { position: relative; padding-left: 1.6rem; font-size: .92rem; color: var(--dust); }
.bottle-cut__facts li::before { content: ""; position: absolute; left: 0; top: .72em; width: 1rem; height: 1px; background: var(--gold); }

/* Bloque 4: mesa de la redacción */
.desk-still {
    position: relative;
    background: var(--olive) var(--noise);
    clip-path: var(--torn);
    padding: 2.6rem 2.2rem 3rem;
    margin-top: 2.2rem;
    color: var(--paper);
}
.desk-still__title { text-align: center; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 900; margin: 0 0 1.6rem; color: var(--paper); }
.desk-still__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem .9rem; }
.desk-still__grid li { min-width: 0; }
.desk-still__grid img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; transition: filter .25s; }
.desk-still__grid li:hover img { filter: brightness(1.12) sepia(.15); }
.desk-still__grid span { display: block; margin-top: .45rem; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; text-align: center; color: var(--paper); }

/* ---------- Diseños internos ---------- */
.layout-solo { display: block; padding: 1rem 0 4rem; }
.layout-with-aside { display: grid; grid-template-columns: minmax(0, 67fr) minmax(0, 27fr); column-gap: 6%; padding: 1rem 0 4rem; align-items: start; }
.content-area { min-width: 0; }
.leaf-head { margin-bottom: 2.2rem; }
.leaf-head__title { font-size: clamp(2.2rem, 5.5vw, 4.4rem); font-weight: 900; margin: .2em 0 .3em; color: var(--paper); }
.leaf-head__intro { color: var(--dust); max-width: 64ch; }
.content-area .page-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.layout-solo .content-area .page-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.empty-note { color: var(--dust); }

/* Hoja de papel (entradas y páginas) */
.paper-leaf {
    background: var(--paper) var(--noise);
    color: var(--coffee);
    clip-path: var(--torn);
    padding: 3rem 3rem 3.4rem;
    margin-bottom: 2.4rem;
}
.paper-leaf a { color: var(--clay-dark); text-decoration-color: var(--gold); }
.paper-leaf a:hover { color: var(--coffee); }
.paper-leaf .empty-note { color: var(--coffee); }
.paper-leaf__kicker { display: inline-block; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; color: var(--paper) !important; background: var(--clay); padding: .25rem .8rem; }
.paper-leaf__title { font-size: clamp(2rem, 4.5vw, 3.4rem); font-weight: 900; margin: .45em 0 .3em; color: var(--coffee); }
.paper-leaf__meta { color: var(--leather); font-size: .9rem; letter-spacing: .1em; margin: 0 0 1.6rem; }
.paper-leaf__cover { margin: 0 0 2rem; }
.paper-leaf__cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; box-shadow: 0 0 0 1px var(--leather); transform: rotate(-.6deg); }
.paper-leaf__tags { margin: 2rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem 1rem; font-size: .9rem; }

.entry-text { font-size: 1.08rem; line-height: 1.72; }
.entry-text h2 { font-size: 1.9rem; }
.entry-text h3 { font-size: 1.45rem; }
.entry-text h4 { font-size: 1.2rem; }
.entry-text ul, .entry-text ol { padding-left: 1.4rem; margin: 0 0 1.2em; }
.entry-text li { margin-bottom: .35em; }
.entry-text ul li::marker { color: var(--clay); }
.entry-text blockquote { margin: 1.6em 0; padding: 1.2rem 1.6rem; border-left: 4px solid var(--clay); background: var(--paper-shade); font-family: var(--serif); font-style: italic; font-size: 1.2rem; }
.entry-text blockquote p:last-child { margin-bottom: 0; }
.entry-text img { display: block; }
.entry-text figure { margin: 1.6em 0; }
.entry-text figcaption { font-size: .85rem; color: var(--leather); margin-top: .4rem; }
.entry-text pre { overflow-x: auto; background: var(--wine-ink); color: var(--paper); padding: 1rem 1.2rem; font-size: .9rem; }
.entry-text th { background: var(--paper-shade); }
.entry-text hr { border: 0; border-top: 1px dashed var(--leather); margin: 2em 0; }

/* 404 */
.lost-leaf { text-align: center; max-width: 820px; margin-inline: auto; }
.lost-leaf__code { font-family: var(--serif); font-weight: 900; font-size: clamp(5rem, 16vw, 10rem); line-height: 1; margin: 0; color: var(--clay); }
.lost-leaf .seek-form { max-width: 520px; margin: 1.6rem auto; text-align: start; }

/* ---------- Barra lateral ---------- */
.cellar-aside {
    min-width: 0;
    background: var(--wine-deep);
    border: 1px solid var(--leather);
    padding: 1.8rem 1.6rem;
    color: var(--paper);
    margin-top: 1.2rem;
}
.cellar-aside .tasting-note + .tasting-note { margin-top: 2rem; padding-top: 1.6rem; border-top: 1px dashed var(--leather); }
.cellar-aside .tasting-note__title { font-size: 1.45rem; font-weight: 900; color: var(--gold); margin: 0 0 1rem; }
.cellar-aside ul { list-style: none; margin: 0; padding: 0; }
.cellar-aside li { padding: .55rem 0; border-bottom: 1px solid rgba(140, 106, 74, .45); }
.cellar-aside a { color: var(--paper); text-decoration: none; }
.cellar-aside a:hover { color: var(--gold); text-decoration: underline; }
.cellar-aside .post-date, .cellar-aside .rss-date { display: block; color: var(--dust); font-size: .8rem; }
.cellar-aside p { color: var(--paper); }

/* ---------- Paginación ---------- */
.folio-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 3rem 0 0; }
.folio-nav .page-numbers {
    display: inline-block;
    min-width: 2.6rem;
    padding: .45em .85em;
    text-align: center;
    border: 1px solid var(--leather);
    color: var(--paper);
    text-decoration: none;
    font-family: var(--narrow);
    font-weight: 600;
    letter-spacing: .06em;
    transition: background .15s, color .15s;
}
.folio-nav a.page-numbers:hover { background: var(--gold); color: var(--coffee); border-color: var(--gold); }
.folio-nav .page-numbers.current { background: var(--clay); border-color: var(--clay); color: var(--paper); }
.folio-nav .page-numbers.dots { border: 0; min-width: 0; }
.paper-leaf .folio-nav .page-numbers { color: var(--coffee); }

/* ---------- Buscador ---------- */
.seek-form__label { display: block; font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: .45rem; }
.seek-form__row { display: flex; gap: .6rem; align-items: stretch; }
.seek-form__field { flex: 1; min-width: 0; font: inherit; font-size: 1rem; padding: .6rem .8rem; background: #FBF5EA; color: var(--coffee); border: 1px solid var(--leather); border-radius: 0; }
.seek-form__btn { flex: 0 0 auto; }

/* ---------- Comentarios ---------- */
.remarks__title { margin-top: 0; font-size: 1.8rem; }
.remarks__list, .remarks__list .children { list-style: none; margin: 0 0 2rem; padding: 0; }
.remarks__list .children { margin: 1rem 0 0 1.8rem; }
.remark { padding: 1.1rem 0; border-bottom: 1px dashed var(--leather); }
.remark__head { display: flex; align-items: center; gap: .8rem; margin-bottom: .5rem; }
.remark__head img { display: block; border-radius: 50%; border: 1px solid var(--leather); }
.remark__author { font-family: var(--serif); font-weight: 800; display: block; }
.remark__date { font-size: .82rem; color: var(--leather); letter-spacing: .06em; }
.remark__wait { font-style: italic; color: var(--clay-dark); }
.remark__reply a { font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; }
.comment-respond { margin-top: 1.6rem; }
.comment-reply-title { font-size: 1.6rem; margin-top: 0; }
.comment-reply-title small { font-family: var(--narrow); font-size: .85rem; margin-left: .6rem; }
.comment-form label { display: block; font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .3rem; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea {
    width: 100%; font: inherit; padding: .65rem .8rem; background: #FBF5EA; color: var(--coffee); border: 1px solid var(--leather); border-radius: 0;
}
.comment-form-cookies-consent { display: flex; gap: .5rem; align-items: flex-start; }
.comment-form-cookies-consent label { text-transform: none; letter-spacing: 0; font-size: .9rem; }
.remarks__note, .remarks__closed { font-size: .9rem; color: var(--leather); }
.comment-navigation .nav-links { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1.6rem; }

/* ---------- Pie ---------- */
.colophon { position: relative; border-top: 1px solid var(--leather); padding: 3.6rem 0 2.4rem; background: var(--wine) radial-gradient(circle at 90% 30%, rgba(25, 2, 9, .35), transparent 45%); }
.colophon__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; }
.colophon__col { min-width: 0; color: var(--dust); font-size: .95rem; }
.colophon .tasting-note__title { font-size: 1.5rem; font-weight: 900; color: var(--paper); margin: 0 0 .9rem; }
.colophon p { color: var(--dust); }
.colophon a { color: var(--paper); text-decoration: none; }
.colophon a:hover { color: var(--gold); text-decoration: underline; }
.colophon ul { list-style: none; margin: 0; padding: 0; }
.colophon li { padding: .25rem 0; }
.colophon li a::before { content: "— "; color: var(--gold); }
.colophon__col--two { text-align: start; }
.colophon__seal { display: flex; justify-content: center; margin: 2.6rem 0 1rem; }
.colophon__seal .brand-mark { width: 52px; height: 52px; display: block; opacity: .85; }
.colophon__copy { text-align: center; font-size: .85rem; letter-spacing: .08em; color: var(--dust); margin: 0; }

/* ---------- Banner de cookies ---------- */
.cookie-banner {
    position: fixed;
    left: 1rem; right: 1rem; bottom: 1rem;
    z-index: 90;
    max-width: 780px;
    margin-inline: auto;
    display: flex;
    align-items: center;
    gap: 1.2rem;
    background: var(--paper) var(--noise);
    color: var(--coffee);
    border: 1px solid var(--leather);
    padding: 1rem 1.4rem;
}
.cookie-banner__text { margin: 0; font-size: .92rem; line-height: 1.45; flex: 1; min-width: 0; }
.cookie-banner__btn { flex: 0 0 auto; }

/* ---------- Adaptación ---------- */
@media (max-width: 1100px) {
    .bottle-cut__figure { padding-inline: 5.4rem; }
    .bottle-cut__tag { font-size: .8rem; }
}
@media (max-width: 960px) {
    .layout-with-aside { grid-template-columns: minmax(0, 1fr); }
    .cellar-aside { margin-top: 2rem; }
    .page-grid, .layout-solo .content-area .page-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .spread-duo { grid-template-columns: minmax(0, 1fr); gap: 3rem; }
    .desk-still { margin-top: 0; }
    .cellar-map__legend { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .colophon__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .colophon__col--three { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
    body { font-size: 1rem; }
    .cave { width: 92%; }
    .masthead { padding: 1.6rem 0 1.2rem; }
    .masthead__logo .brand-mark, .masthead__logo .brand-logo { width: 56px; height: 56px; }
    .masthead__toggle {
        display: inline-flex; align-items: center; gap: .6rem;
        margin-top: 1.2rem; padding: .5rem 1rem;
        background: transparent; color: var(--paper);
        border: 1px solid var(--leather);
        font-family: var(--narrow); font-size: .9rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer;
    }
    .masthead__bars { width: 18px; height: 2px; background: var(--gold); position: relative; }
    .masthead__bars::before, .masthead__bars::after { content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: var(--gold); }
    .masthead__bars::before { top: -6px; }
    .masthead__bars::after { top: 6px; }
    .masthead__nav { display: none; width: 100%; margin-top: 1rem; }
    .masthead__nav.is-open { display: block; }
    .masthead__menu { flex-direction: column; gap: 0; }
    .masthead__menu li { border-top: 1px solid rgba(140, 106, 74, .45); }
    .masthead__menu a { display: block; padding: .7rem 0; border-bottom: 0; }
    .front-stack { gap: 3rem; padding-top: 2rem; }
    .cellar-map__pin { width: 1.5rem; height: 1.5rem; font-size: .75rem; }
    .cellar-map__legend { grid-template-columns: minmax(0, 1fr); gap: 1.1rem; }
    .glass-roll__band { grid-template-columns: 2.2rem minmax(0, 1fr); gap: .3rem .9rem; padding: .95rem 1.1rem; }
    .glass-roll__band:hover { padding-left: 1.1rem; }
    .glass-roll__note { grid-column: 2; }
    .press-sheet { padding: 2.6rem 1.3rem 3.2rem; }
    .page-grid, .content-area .page-grid, .layout-solo .content-area .page-grid { grid-template-columns: minmax(0, 1fr); }
    .bottle-cut__figure { padding-inline: 4.4rem; }
    .bottle-cut__frame { width: min(150px, 100%); }
    .bottle-cut__tag { font-size: .74rem; letter-spacing: .03em; }
    .desk-still { padding: 2rem 1.2rem 2.4rem; }
    .desk-still__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .paper-leaf { padding: 2.2rem 1.3rem 2.6rem; }
    .cellar-aside { padding: 1.4rem 1.2rem; }
    .colophon__cols { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
    .colophon__col--two { text-align: start; }
    .cookie-banner { flex-direction: column; align-items: flex-start; padding: 1rem 1.2rem; }
    .seek-form__row { flex-direction: column; }
    .seek-form__btn { align-self: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition: none !important; }
}
