/* Plafadepalo. Sistema descrito en _dev/DESIGN.md */

@font-face { font-family: "Cormorant Garamond"; src: url("/assets/fonts/cormorant-garamond-latin-wght-normal.woff2") format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Cormorant Garamond"; src: url("/assets/fonts/cormorant-garamond-latin-ext-wght-normal.woff2") format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Work Sans"; src: url("/assets/fonts/work-sans-latin-wght-normal.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Work Sans"; src: url("/assets/fonts/work-sans-latin-ext-wght-normal.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --papel: #F3F4F0;
  --blanco: #FFFFFF;
  --tinta: #17181C;
  --cobalto: #2A3FB8;
  --cobalto-osc: #1F2F8F;
  --laton: #D8A21E;
  --piedra: #5E6268;
  --linea: #D6D8D2;
  --borde: #B9BCB5;
  --error: #A8261B;

  --serif: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
  --sans: "Work Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

  --t-mast: 24cqi;
  --t-h1: clamp(2.5rem, 1.7rem + 3.2vw, 4.5rem);
  --t-h2: clamp(2rem, 1.5rem + 1.9vw, 3.1rem);
  --t-h3: clamp(1.45rem, 1.25rem + .6vw, 1.8rem);
  --t-lead: 1.1875rem;
  --t-small: .875rem;

  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px; --s9: 96px; --s10: 128px;
  --sec: clamp(64px, 8vw, 128px);
  --gut: clamp(20px, 4vw, 64px);
  --r-panel: 20px;
  --r-foto: 24px;
  --lado: 15.5rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 80px; }
body { margin: 0; background: var(--papel); color: var(--tinta); font-family: var(--sans); font-size: 1rem; line-height: 1.6; font-weight: 400; -webkit-font-smoothing: antialiased; overflow-x: clip; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--cobalto); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--cobalto-osc); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--cobalto); outline-offset: 3px; border-radius: 4px; }
.buscador :focus-visible, .buscador-corto :focus-visible, .pie :focus-visible { outline-color: #fff; }
[hidden] { display: none !important; }
::selection { background: var(--laton); color: var(--tinta); }
input, textarea { caret-color: var(--cobalto); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--cobalto); }
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 600; line-height: 1.08; letter-spacing: -.01em; margin: 0; text-wrap: balance; }
p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }
ul, ol { padding: 0; margin: 0; }
address { font-style: normal; }
button, input, select, textarea { font: inherit; color: inherit; }
table { border-collapse: collapse; }
.sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.saltar { position: absolute; left: 12px; top: -60px; z-index: 50; background: var(--tinta); color: #fff; padding: 10px 16px; border-radius: 999px; }
.saltar:focus { top: 12px; color: #fff; }
main:focus { outline: none; }

/* ---------- Transiciones entre páginas (única animación del sitio) ---------- */
@view-transition { navigation: auto; }
.lado { view-transition-name: lado; }
.foto-vt { view-transition-name: foto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .22s; }
::view-transition-group(foto) { animation-duration: .32s; animation-timing-function: cubic-bezier(.2, .7, .2, 1); }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}

/* ---------- Botones ---------- */
.pill { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 46px; padding: 0 1.4em; border-radius: 999px; border: 1.5px solid var(--cobalto); background: var(--cobalto); color: #fff; font-weight: 500; font-size: .9375rem; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s; white-space: nowrap; }
.pill:hover { background: var(--cobalto-osc); border-color: var(--cobalto-osc); color: #fff; text-decoration: none; }
.pill--borde { background: transparent; color: var(--cobalto); }
.pill--borde:hover { background: var(--cobalto); color: #fff; }
.pill--laton { background: var(--laton); border-color: var(--laton); color: var(--tinta); }
.pill--laton:hover { background: #C38F12; border-color: #C38F12; color: var(--tinta); }
.pill--fino { min-height: 44px; min-width: 8.5rem; padding: 0 1.1em; font-size: .875rem; }
.pill[data-en-cesta] { background: var(--blanco); color: var(--cobalto); }
.enlace { font-weight: 500; }

/* ---------- Navegación lateral ---------- */
.lado { position: fixed; inset: 0 auto 0 0; width: var(--lado); z-index: 20; background: var(--blanco); border-right: 1px solid var(--linea); display: flex; flex-direction: column; padding: 28px 24px 24px; overflow-y: auto; }
.lado__barra { display: block; }
.marca { display: block; width: 100%; max-width: 190px; }
.marca img { width: 100%; height: auto; }
.lado__cesta-movil, .lado__menu { display: none; }
.menu { display: flex; flex-direction: column; flex: 1; margin-top: 40px; }
.menu ul { list-style: none; }
.menu li a { position: relative; display: block; padding: 5px 0 5px 18px; font-family: var(--serif); font-size: 1.4rem; font-weight: 500; line-height: 1.25; color: var(--tinta); text-decoration: none; }
.menu li.menu__sub a { font-family: var(--sans); font-size: .9375rem; padding: 3px 0 3px 34px; color: var(--piedra); }
.menu li a:hover { color: var(--cobalto); }
.menu li a[aria-current="page"]::before { content: ""; position: absolute; left: 0; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; background: var(--laton); }
.menu li.menu__sub a[aria-current="page"]::before { left: 16px; }
.menu li a[aria-current="page"] { color: var(--cobalto); }
.menu__cesta { margin-top: 28px; align-self: flex-start; }
.cuenta { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--laton); color: var(--tinta); font-size: .75rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.menu__pie { margin-top: auto; padding-top: 28px; font-size: .8125rem; line-height: 1.5; color: var(--piedra); }
.menu__pie a { color: var(--tinta); }
.pagina { margin-left: var(--lado); min-width: 0; }

@media (max-width: 1023px) {
  .lado { position: sticky; top: 0; inset: auto; width: auto; height: auto; padding: 0; border-right: 0; border-bottom: 1px solid var(--linea); overflow: visible; }
  .lado__barra { display: flex; align-items: center; gap: 12px; padding: 10px var(--gut); min-height: 60px; }
  .marca { max-width: 132px; margin-right: auto; }
  .lado__cesta-movil { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 6px; color: var(--tinta); text-decoration: none; font-weight: 500; font-size: .9375rem; }
  .lado__menu { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1.5px solid var(--tinta); border-radius: 999px; background: none; font-weight: 500; font-size: .9375rem; cursor: pointer; }
  .lado__menu[aria-expanded="true"] { background: var(--tinta); color: #fff; }
  .menu { display: none; margin: 0; padding: 8px var(--gut) 28px; border-top: 1px solid var(--linea); max-height: calc(100dvh - 61px); overflow-y: auto; background: var(--blanco); }
  .menu.abierto { display: flex; }
  .menu li a { padding-block: 9px; font-size: 1.55rem; }
  .menu li.menu__sub a { padding-block: 8px; font-size: 1rem; }
  .menu__cesta { display: none; }
  .menu__pie { padding-top: 20px; }
  .pagina { margin-left: 0; }
}

/* ---------- Secciones y cabeceras ---------- */
.sec { padding: var(--sec) max(var(--gut), (100% - 78rem) / 2); }
.sec--blanca { background: var(--blanco); }
.sec--apretada { padding-top: var(--s7); }
.cab { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--s5) var(--s8); align-items: end; margin-bottom: var(--s7); }
.cab__t { font-size: var(--t-h2); }
h1.cab__t { font-size: var(--t-h1); }
.cab__i { color: var(--piedra); max-width: 36rem; font-size: 1.0625rem; }
@media (max-width: 760px) { .cab { grid-template-columns: 1fr; } }
.nota { font-size: var(--t-small); color: var(--piedra); }
.migas { font-size: var(--t-small); color: var(--piedra); margin-bottom: var(--s5); }
.migas a { color: var(--piedra); }
.migas ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0 .5em; }
.migas li + li::before { content: "/"; margin-right: .5em; color: var(--linea); }

/* ---------- Máscaras de foto ---------- */
.m-circulo, .m-capsula, .m-arco, .m-recorte { display: block; overflow: hidden; }
.m-circulo img, .m-capsula img, .m-arco img, .m-recorte img { width: 100%; height: 100%; object-fit: cover; }
.m-circulo { border-radius: 50%; aspect-ratio: 1; }
.m-capsula { border-radius: 999px; }
.m-arco { border-radius: 50% 50% var(--r-foto) var(--r-foto) / var(--arco-v, 40%) var(--arco-v, 40%) var(--r-foto) var(--r-foto); }
.m-recorte { border-radius: var(--r-foto) 200px var(--r-foto) var(--r-foto); }
figure { margin: 0; }
figcaption { margin-top: var(--s3); font-size: var(--t-small); color: var(--piedra); }

/* ---------- Portada: cubierta ---------- */
.portadilla { container-type: inline-size; padding: var(--s5) var(--gut) var(--sec); }
.portadilla__numero { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 24px; padding-bottom: var(--s3); margin: 0; border-bottom: 1.5px solid var(--tinta); font-size: .9375rem; font-weight: 500; }
.portadilla__marca { font-size: var(--t-mast); line-height: .8; letter-spacing: -.04em; font-weight: 600; color: var(--cobalto); margin: .06em 0 .24em -.03em; white-space: nowrap; }
.portadilla__cuerpo { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: var(--s7); align-items: start; }
.portadilla__foto img { width: 100%; aspect-ratio: 4 / 3.15; object-fit: cover; object-position: 50% 30%; border-radius: 50% 50% var(--r-foto) var(--r-foto) / 63.5% 63.5% var(--r-foto) var(--r-foto); }
.portadilla__lema { font-family: var(--serif); font-size: clamp(1.5rem, 1.2rem + .9vw, 2rem); font-weight: 500; line-height: 1.2; margin-bottom: var(--s6); }
.portadilla__titulares ul { list-style: none; border-bottom: 1px solid var(--linea); }
.portadilla__titulares li a { display: block; padding: var(--s4) 0; border-top: 1px solid var(--linea); color: var(--piedra); text-decoration: none; font-size: .9375rem; line-height: 1.45; }
.portadilla__titulares li b { display: block; margin-bottom: 2px; font-family: var(--serif); font-size: 1.55rem; font-weight: 600; line-height: 1.1; color: var(--tinta); }
.portadilla__titulares li a:hover b { color: var(--cobalto); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
@media (max-width: 900px) {
  .portadilla__cuerpo { grid-template-columns: 1fr; gap: var(--s6); }
  .portadilla__foto img { aspect-ratio: 4 / 3.6; }
}
@media (max-width: 1023px) { .portadilla { padding-top: var(--s4); } }

/* ---------- Portada: este número ---------- */
.numero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: var(--s8); align-items: start; }
.numero a { color: inherit; text-decoration: none; }
.numero__grande { display: block; }
.numero__foto { aspect-ratio: 3 / 2; margin-bottom: var(--s5); }
.numero__t { display: block; font-family: var(--serif); font-weight: 600; font-size: clamp(1.8rem, 1.4rem + 1.2vw, 2.4rem); line-height: 1.1; margin-bottom: var(--s3); }
.numero__t--p { font-size: var(--t-h3); }
.numero__e { display: block; color: var(--piedra); }
.numero a:hover .numero__t { color: var(--cobalto); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.numero__item { display: grid; grid-template-columns: 112px 1fr; gap: var(--s5); align-items: center; padding: var(--s6) 0; border-bottom: 1px solid var(--linea); }
.numero__item:first-child { padding-top: 0; }
.numero__lista .enlace { display: inline-block; margin-top: var(--s5); color: var(--cobalto); text-decoration: underline; }
@media (max-width: 900px) { .numero { grid-template-columns: 1fr; gap: var(--s6); } .numero__item { grid-template-columns: 88px 1fr; } }

/* ---------- Filas de producto ---------- */
.filas { container-type: inline-size; border-bottom: 1px solid var(--linea); }
.fila { display: grid; grid-template-columns: 104px minmax(0, 1fr) 12.5rem auto; gap: var(--s3) var(--s6); align-items: center; padding: var(--s5) 0; border-top: 1px solid var(--linea); }
.fila__foto { display: block; overflow: hidden; justify-self: center; }
.fila__foto img { width: 100%; height: 100%; object-fit: cover; }
.fila__foto.m-circulo { width: 104px; height: 104px; border-radius: 50%; }
.fila__foto.m-capsula { width: 78px; height: 116px; border-radius: 999px; }
.fila__foto.m-arco { width: 92px; height: 116px; border-radius: 46px 46px 14px 14px; }
.fila__nombre { font-size: var(--t-h3); margin-bottom: 4px; }
.fila__nombre a { color: var(--tinta); text-decoration: none; }
.fila__nombre a:hover { color: var(--cobalto); text-decoration: underline; text-decoration-thickness: 1px; }
.fila__texto p { color: var(--piedra); font-size: .9375rem; line-height: 1.5; max-width: 44ch; }
.fila__datos { display: flex; flex-direction: column; gap: 2px; margin: 0; font-size: var(--t-small); color: var(--piedra); line-height: 1.4; }
.fila__lote { color: var(--tinta); }
.fila__compra { display: flex; flex-direction: column; align-items: flex-end; gap: var(--s2); }
.precio { font-weight: 600; font-size: 1.0625rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fila.is-oculta { display: none; }
@container (max-width: 820px) {
  .fila { grid-template-columns: 92px minmax(0, 1fr); align-items: start; gap: var(--s2) var(--s5); }
  .fila__foto { grid-row: span 3; }
  .fila__foto.m-circulo { width: 88px; height: 88px; }
  .fila__foto.m-capsula { width: 70px; height: 104px; }
  .fila__foto.m-arco { width: 82px; height: 104px; border-radius: 41px 41px 12px 12px; }
  .fila__datos { flex-direction: row; flex-wrap: wrap; gap: 2px 14px; }
  .fila__compra { flex-direction: row; align-items: center; justify-content: space-between; margin-top: var(--s2); }
}

/* ---------- Portada: historia ---------- */
.historia__cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--s8); align-items: start; }
.historia__foto { position: sticky; top: var(--s6); }
.historia__foto img { aspect-ratio: 2 / 3; border-radius: 999px; }
.historia__foto { overflow: visible; border-radius: 0; }
.historia__foto figcaption { text-align: center; }
.historia__p { font-family: var(--serif); font-size: clamp(1.3rem, 1.15rem + .4vw, 1.5rem); line-height: 1.45; font-weight: 500; max-width: 38em; }
.historia__texto .filas { margin: var(--s6) 0 var(--s7); }
@media (max-width: 900px) {
  .historia__cuerpo { grid-template-columns: 1fr; gap: var(--s6); }
  .historia__foto { position: static; max-width: 300px; margin-inline: auto; }
}

/* ---------- Portada: taller ---------- */
.taller-resumen__fotos { display: grid; grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr); gap: var(--s6); align-items: end; margin-bottom: var(--s7); }
.taller-resumen__ancha { aspect-ratio: 16 / 9; }
.taller-resumen__circ { margin-bottom: -40px; border: 8px solid var(--papel); }
.taller-resumen__texto { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s5) var(--s8); max-width: 64rem; }
.taller-resumen__texto .pill { justify-self: start; }
@media (max-width: 760px) {
  .taller-resumen__fotos { grid-template-columns: 1fr; }
  .taller-resumen__circ { width: 55%; margin: -90px 0 0 auto; }
  .taller-resumen__texto { grid-template-columns: 1fr; }
}

/* ---------- Citas ---------- */
.citas { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--s8); }
.cita { margin: 0; padding: var(--s6) 0; border-top: 1.5px solid var(--tinta); }
.cita:nth-child(even) { margin-top: var(--s8); }
.cita p { font-family: var(--serif); font-size: clamp(1.35rem, 1.2rem + .5vw, 1.65rem); line-height: 1.35; font-weight: 500; margin-bottom: var(--s4); }
.cita footer { font-size: var(--t-small); color: var(--piedra); }
@media (max-width: 760px) { .citas { grid-template-columns: 1fr; } .cita:nth-child(even) { margin-top: 0; } }

/* ---------- Buscador corto (portada) ---------- */
.buscador-corto { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: var(--s7); align-items: center; padding: clamp(32px, 5vw, 64px); background: var(--cobalto); color: #fff; border-radius: var(--r-foto); }
.buscador-corto h2 { font-size: var(--t-h2); margin-bottom: var(--s4); }
.buscador-corto p { color: #DDE2FA; }
.buscador-corto__form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s4); align-items: end; }
.buscador-corto__form label { display: grid; gap: 6px; min-width: 0; font-size: var(--t-small); font-weight: 500; }
.buscador-corto__form select { width: 100%; min-width: 0; min-height: 48px; padding: 0 12px; border-radius: 14px; border: 0; background: #fff; color: var(--tinta); }
.buscador-corto__form .pill { grid-column: 1 / -1; justify-self: start; }
@media (max-width: 1100px) { .buscador-corto { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .buscador-corto__form { grid-template-columns: 1fr; } }

/* ---------- Formularios ---------- */
.form { display: grid; gap: var(--s5); }
.form__fila label, .form__label { display: block; margin-bottom: 6px; font-weight: 500; font-size: .9375rem; }
.form input:not([type="checkbox"]):not([type="radio"]), .form textarea, .form select { width: 100%; min-height: 48px; padding: 11px 16px; border: 1px solid var(--borde); border-radius: 14px; background: var(--papel); }
.sec--blanca .form input:not([type="checkbox"]):not([type="radio"]), .sec--blanca .form textarea, .sec--blanca .form select { background: var(--papel); }
.form textarea { resize: vertical; min-height: 130px; }
.form ::placeholder { color: #62666C; opacity: 1; }
.form input:focus, .form textarea:focus, .form select:focus { outline: 2px solid var(--cobalto); outline-offset: 0; border-color: var(--cobalto); }
.form__doble { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s5); }
.form__check { display: grid; grid-template-columns: 22px 1fr; gap: var(--s3); align-items: start; font-size: .9375rem; line-height: 1.5; }
.form__check input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--cobalto); }
.form .pill { justify-self: start; }
.form .is-error input, .form .is-error textarea, .form .is-error select { border-color: var(--error); }
.form__err { display: block; margin-top: 6px; color: var(--error); font-size: var(--t-small); }
.form__check .form__err { grid-column: 2; margin-top: 0; }
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
legend { padding: 0; }
.ok { padding: var(--s6); border-radius: var(--r-panel); background: var(--papel); border-left: 0; }
.sec:not(.sec--blanca) .ok { background: var(--blanco); }
.ok h3 { font-size: var(--t-h3); margin-bottom: var(--s3); }
@media (max-width: 600px) { .form__doble { grid-template-columns: 1fr; } }

/* ---------- Portada: contacto ---------- */
.contacto-portada__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: var(--s8); align-items: start; }
.contacto-portada__foto { --arco-v: 62.5%; aspect-ratio: 5 / 4; margin-bottom: var(--s5); }
.contacto-portada__datos address { font-size: 1.0625rem; margin-bottom: var(--s5); }
.horario { width: 100%; margin-bottom: var(--s4); font-size: .9375rem; }
.horario th, .horario td { text-align: left; padding: 8px 0; border-top: 1px solid var(--linea); vertical-align: top; }
.horario th { font-weight: 500; padding-right: var(--s4); }
@media (max-width: 900px) { .contacto-portada__grid { grid-template-columns: 1fr; } }

/* ---------- Pie ---------- */
.pie { background: var(--tinta); color: #D9DBE0; padding: var(--sec) max(var(--gut), (100% - 78rem) / 2) var(--s6); }
.pie a { color: #fff; text-decoration: none; }
.pie a:hover { text-decoration: underline; color: #fff; }
.pie__frase { font-family: var(--serif); font-size: clamp(2rem, 1.3rem + 2.6vw, 3.9rem); line-height: 1.08; font-weight: 500; color: #fff; max-width: 21em; margin-bottom: var(--s8); text-wrap: balance; }
.pie__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s6); padding-top: var(--s6); border-top: 1px solid #3A3C44; font-size: .9375rem; }
.pie__h { font-family: var(--sans); font-size: .9375rem; font-weight: 600; color: #fff; margin-bottom: var(--s3); letter-spacing: 0; }
.pie ul { list-style: none; display: grid; gap: 6px; }
.pie__contacto address { margin-bottom: var(--s3); }
.pie__contacto p { color: #B5B8C0; font-size: var(--t-small); }
.pie__legal { margin-top: var(--s7); font-size: .8125rem; color: #A3A6AE; }
@media (max-width: 900px) { .pie__cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .pie__cols { grid-template-columns: 1fr; } }

/* ---------- Aviso de cookies ---------- */
.galleta { position: fixed; z-index: 40; left: 20px; bottom: 20px; width: min(26rem, calc(100% - 40px)); padding: var(--s5); background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--r-panel); box-shadow: 0 10px 30px rgba(23, 24, 28, .12); font-size: .875rem; line-height: 1.5; }
.galleta[hidden] { display: none; }
.galleta p { margin-bottom: var(--s4); }
.galleta__bot { display: flex; gap: var(--s3); }
.aviso-cesta { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Tienda ---------- */
.titulo { padding: var(--s7) max(var(--gut), (100% - 78rem) / 2) var(--s6); }
.titulo .cab { margin-bottom: 0; }
.filtros { position: sticky; top: 0; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3) var(--s4); padding: var(--s4) max(var(--gut), (100% - 78rem) / 2); background: var(--papel); border-bottom: 1px solid var(--linea); }
@media (max-width: 1023px) { .filtros { position: static; } }
.chips { display: flex; flex-wrap: wrap; gap: var(--s2); }
.chip { min-height: 44px; padding: 0 1.1em; border-radius: 999px; border: 1.5px solid var(--tinta); background: transparent; font-size: .9375rem; font-weight: 500; cursor: pointer; text-decoration: none; color: var(--tinta); display: inline-flex; align-items: center; }
.chip:hover { color: var(--cobalto); border-color: var(--cobalto); }
.chip[aria-pressed="true"], .chip[aria-current="true"] { background: var(--tinta); color: #fff; }
.filtros label { display: inline-flex; align-items: center; gap: 8px; font-size: .9375rem; }
.filtros select { min-height: 44px; padding: 0 34px 0 14px; border: 1.5px solid var(--borde); border-radius: 999px; background: var(--blanco); }
.filtros__cuenta { margin-left: auto; font-size: var(--t-small); color: var(--piedra); }
.grupo { margin-bottom: var(--s8); }
.grupo:last-child { margin-bottom: 0; }
.grupo__t { font-size: var(--t-h2); margin-bottom: var(--s4); }
.grupo[hidden] { display: none; }
.vacio { padding: var(--s7) 0; font-size: 1.0625rem; }
.vacio[hidden] { display: none; }
.franja { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s6); margin-top: var(--s8); padding-top: var(--s6); border-top: 1.5px solid var(--tinta); }
.franja h2 { font-size: var(--t-h3); margin-bottom: var(--s3); }
.franja p { color: var(--piedra); font-size: .9375rem; }
@media (max-width: 760px) { .franja { grid-template-columns: 1fr; } .filtros__cuenta { margin-left: 0; width: 100%; } }

/* ---------- Ficha de producto ---------- */
.ficha { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s8); padding: var(--s6) max(var(--gut), (100% - 78rem) / 2) var(--sec); align-items: start; }
.ficha__foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 50% 50% var(--r-foto) var(--r-foto) / 40% 40% var(--r-foto) var(--r-foto); }
.ficha__foto.f-circulo img { aspect-ratio: 1; border-radius: 50%; }
.ficha__foto.f-capsula img { aspect-ratio: 3 / 4.4; border-radius: 999px; max-width: 82%; margin-inline: auto; }
.ficha__info h1 { font-size: var(--t-h1); margin-bottom: var(--s3); }
.ficha__para { color: var(--piedra); margin-bottom: var(--s5); }
.ficha__precio { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s3) var(--s5); margin-bottom: var(--s5); }
.ficha__precio .precio { font-size: 1.75rem; }
.ficha__lote { display: inline-flex; align-items: center; gap: 8px; font-size: .9375rem; }
.ficha__lote::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--laton); }
.ficha__resumen { font-family: var(--serif); font-size: 1.45rem; line-height: 1.35; font-weight: 500; margin-bottom: var(--s5); }
.ficha__compra { display: flex; flex-wrap: wrap; gap: var(--s4); align-items: end; padding: var(--s5) 0; border-block: 1px solid var(--linea); margin-bottom: var(--s5); }
.ficha__compra label { display: grid; gap: 6px; font-size: var(--t-small); font-weight: 500; }
.ficha__compra select { min-height: 46px; padding: 0 34px 0 14px; border-radius: 999px; border: 1.5px solid var(--borde); background: var(--blanco); }
.ficha__compra .pill { min-height: 48px; padding-inline: 2em; }
.spec { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 0 var(--s5); font-size: .9375rem; }
.spec dt, .spec dd { padding: 10px 0; border-bottom: 1px solid var(--linea); margin: 0; }
.spec dt { font-weight: 500; }
.spec dd { color: var(--piedra); }
.ficha__mas { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s8); }
.ficha__mas h2 { font-size: var(--t-h3); margin-bottom: var(--s3); }
.ficha__mas p { max-width: 36rem; }
@media (max-width: 900px) { .ficha, .ficha__mas { grid-template-columns: 1fr; gap: var(--s6); } .ficha__foto { width: min(100%, 360px); margin-inline: auto; } }

/* ---------- Cesta ---------- */
.cesta { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--s8); align-items: start; }
.linea { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto auto; gap: var(--s4); align-items: center; padding: var(--s4) 0; border-top: 1px solid var(--linea); }
.linea:last-child { border-bottom: 1px solid var(--linea); }
.linea img { width: 72px; height: 72px; object-fit: cover; border-radius: 50%; }
.linea__n { font-family: var(--serif); font-size: 1.35rem; font-weight: 600; line-height: 1.15; }
.linea__n a { color: var(--tinta); text-decoration: none; }
.linea__d { font-size: var(--t-small); color: var(--piedra); }
.cantidad { justify-self: start; display: inline-flex; align-items: center; border: 1.5px solid var(--borde); border-radius: 999px; }
.cantidad button { width: 44px; height: 44px; border: 0; background: none; cursor: pointer; font-size: 1.15rem; border-radius: 999px; }
.cantidad span { min-width: 22px; text-align: center; font-variant-numeric: tabular-nums; }
.quitar { border: 0; background: none; padding: 6px 0; color: var(--piedra); text-decoration: underline; cursor: pointer; font-size: var(--t-small); min-height: 32px; }
.resumen { padding: var(--s6); background: var(--blanco); border-radius: var(--r-panel); position: sticky; top: var(--s6); }
.resumen h2 { font-size: var(--t-h3); margin-bottom: var(--s4); }
.resumen dl { display: grid; grid-template-columns: 1fr auto; margin: 0 0 var(--s4); }
.resumen dt, .resumen dd { margin: 0; padding: 8px 0; border-bottom: 1px solid var(--linea); }
.resumen dd { text-align: right; font-variant-numeric: tabular-nums; }
.resumen .total { font-weight: 600; font-size: 1.125rem; border-bottom: 0; }
.pedido { margin-top: var(--s8); padding-top: var(--s7); border-top: 1.5px solid var(--tinta); }
.pedido__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s7); }
.opciones { display: grid; gap: var(--s2); }
.opcion { display: grid; grid-template-columns: 22px 1fr auto; gap: var(--s3); align-items: center; padding: 14px 16px; border: 1.5px solid var(--borde); border-radius: 16px; cursor: pointer; background: var(--blanco); }
.opcion input { width: 18px; height: 18px; margin: 0; accent-color: var(--cobalto); }
.opcion:has(input:checked) { border-color: var(--cobalto); box-shadow: inset 0 0 0 1px var(--cobalto); }
.opcion small { display: block; color: var(--piedra); font-size: .8125rem; }
@media (max-width: 900px) { .cesta, .pedido__grid { grid-template-columns: 1fr; gap: var(--s6); } .resumen { position: static; } }
@media (max-width: 520px) { .linea { grid-template-columns: 60px minmax(0, 1fr); } .linea img { width: 60px; height: 60px; } .linea .cantidad, .linea .precio { grid-column: 2; } }

/* ---------- Buscador de regalos ---------- */
.buscador { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--s7); padding: clamp(28px, 4vw, 56px); background: var(--cobalto); color: #fff; border-radius: var(--r-foto); }
.buscador fieldset { margin-bottom: var(--s5); }
.buscador fieldset:last-of-type { margin-bottom: 0; }
.buscador legend { font-family: var(--serif); font-size: 1.6rem; font-weight: 600; margin-bottom: var(--s3); }
.buscador .chips { gap: var(--s2); }
.buscador .opc { position: relative; }
.buscador .opc input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.buscador .opc span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.1em; border-radius: 999px; border: 1.5px solid rgba(255, 255, 255, .7); font-size: .9375rem; font-weight: 500; }
.buscador .opc input:checked + span { background: var(--laton); border-color: var(--laton); color: var(--tinta); }
.buscador .opc input:focus-visible + span, .buscador-corto .opc input:focus-visible + span { outline: 3px solid #fff; outline-offset: 2px; }
.buscador__lado { display: flex; flex-direction: column; gap: var(--s5); }
.buscador__lado p { color: #DDE2FA; }
.buscador__foto { aspect-ratio: 1; max-width: 360px; }
.buscador noscript .pill, .buscador .pill { align-self: flex-start; }
.resultados { margin-top: var(--s7); }
.resultados__t { font-size: var(--t-h3); margin-bottom: var(--s4); }
.tarjeta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: var(--s8); align-items: center; }
.tarjeta__foto { aspect-ratio: 1; }
.tarjeta form { display: grid; gap: var(--s4); }
@media (max-width: 900px) { .buscador, .tarjeta { grid-template-columns: 1fr; } .buscador__foto { display: none; } }

/* ---------- Tablas ---------- */
.tabla-wrap { overflow-x: auto; border-radius: var(--r-panel); background: var(--blanco); border: 1px solid var(--linea); }
.tabla { width: 100%; min-width: 860px; font-size: .9375rem; line-height: 1.45; }
.tabla th, .tabla td { text-align: left; vertical-align: top; padding: 14px 18px; border-bottom: 1px solid var(--linea); }
.tabla tr:last-child th, .tabla tr:last-child td { border-bottom: 0; }
.tabla thead th { font-weight: 600; background: var(--papel); }
.tabla tbody th { font-family: var(--serif); font-size: 1.2rem; font-weight: 600; position: sticky; left: 0; background: var(--blanco); min-width: 11rem; }
.tabla .si { color: #1E6B3A; font-weight: 500; }
.tabla .no { color: var(--error); font-weight: 500; }
.tabla--estrecha { min-width: 0; }

/* ---------- Materiales ---------- */
.materiales-foto { aspect-ratio: 21 / 8; margin-bottom: var(--s8); }
.cuidados { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--s8); }
.cuidado { padding: var(--s5) 0; border-top: 1px solid var(--linea); }
.cuidado h3 { font-size: var(--t-h3); margin-bottom: var(--s2); }
.cuidado p { color: var(--piedra); }
@media (max-width: 760px) { .cuidados { grid-template-columns: 1fr; } .materiales-foto { aspect-ratio: 4 / 3; } }

/* ---------- Diario y guías ---------- */
.entrada { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--s8); align-items: center; padding: var(--s7) 0; border-top: 1px solid var(--linea); }
.entrada:nth-child(even) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
.entrada:nth-child(even) .entrada__foto { order: 2; }
.entrada__foto { aspect-ratio: 3 / 2; }
.entrada__foto.m-arco { --arco-v: 47.6%; aspect-ratio: 4 / 4.2; max-width: 460px; }
.entrada h2 { font-size: var(--t-h2); margin-bottom: var(--s4); }
.entrada h2 a { color: var(--tinta); text-decoration: none; }
.entrada h2 a:hover { color: var(--cobalto); text-decoration: underline; text-decoration-thickness: 1px; }
.entrada p { color: var(--piedra); font-size: 1.0625rem; max-width: 34rem; }
.entrada__meta { font-size: var(--t-small); color: var(--piedra); margin-bottom: var(--s3); }
@media (max-width: 860px) { .entrada, .entrada:nth-child(even) { grid-template-columns: 1fr; gap: var(--s5); } .entrada:nth-child(even) .entrada__foto { order: 0; } }

.articulo { padding: var(--s7) max(var(--gut), (100% - 78rem) / 2) var(--sec); }
.articulo__cab { max-width: 52rem; margin-bottom: var(--s7); }
.articulo__cab h1 { font-size: var(--t-h1); margin-bottom: var(--s5); }
.articulo__cab .entradilla { font-family: var(--serif); font-size: 1.6rem; line-height: 1.3; font-weight: 500; margin-bottom: var(--s4); }
.articulo__foto { aspect-ratio: 21 / 9; margin-bottom: var(--s8); }
.articulo__cuerpo { display: grid; grid-template-columns: minmax(0, 40rem) minmax(0, 1fr); gap: var(--s8); align-items: start; }
.prosa { font-size: 1.0625rem; line-height: 1.7; }
.prosa h2 { font-size: var(--t-h3); margin: var(--s7) 0 var(--s4); }
.prosa h2:first-child { margin-top: 0; }
.prosa h3 { font-family: var(--sans); font-size: 1.0625rem; font-weight: 600; margin: var(--s5) 0 var(--s2); }
.prosa ul, .prosa ol { padding-left: 1.3em; margin-bottom: 1em; }
.prosa li { margin-bottom: .4em; }
.prosa .tabla-wrap { margin: var(--s5) 0 var(--s6); }
.prosa .tabla { min-width: 0; }
.prosa .tabla tbody th { font-family: var(--sans); font-size: .9375rem; min-width: 0; position: static; }
.articulo__aside { position: sticky; top: var(--s6); }
.articulo__aside h2 { font-size: var(--t-h3); margin-bottom: var(--s3); }
@media (max-width: 1100px) { .articulo__cuerpo { grid-template-columns: 1fr; } .articulo__aside { position: static; } }
@media (max-width: 760px) { .articulo__foto { aspect-ratio: 4 / 3; } }

/* ---------- El taller ---------- */
.fundadores { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--s8); align-items: start; }
.fundadores__foto { aspect-ratio: 2 / 3; }
.fundadores__texto p { font-size: 1.0625rem; max-width: 36rem; }
.fundadores__texto p:first-child { font-family: var(--serif); font-size: 1.6rem; line-height: 1.32; font-weight: 500; }
.proceso { list-style: none; counter-reset: paso; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s5); }
.proceso li { counter-increment: paso; padding-top: var(--s5); border-top: 1.5px solid var(--tinta); }
.proceso li::before { content: counter(paso); display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: var(--s4); border-radius: 50%; background: var(--laton); font-weight: 600; font-size: .9375rem; }
.proceso h3 { font-size: 1.45rem; margin-bottom: var(--s2); }
.proceso p { color: var(--piedra); font-size: .9375rem; }
.visita { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: var(--s8); align-items: center; }
.visita__foto { aspect-ratio: 3 / 2; }
.puntos { width: 100%; }
.puntos th, .puntos td { text-align: left; vertical-align: top; padding: 16px 16px 16px 0; border-top: 1px solid var(--linea); }
.puntos th { font-family: var(--serif); font-size: 1.3rem; font-weight: 600; }
.puntos td { color: var(--piedra); font-size: .9375rem; }
@media (max-width: 1100px) { .proceso { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .fundadores, .visita { grid-template-columns: 1fr; } .fundadores__foto { max-width: 380px; } }
@media (max-width: 520px) { .proceso { grid-template-columns: 1fr; } .puntos, .puntos tbody, .puntos tr, .puntos th, .puntos td { display: block; } .puntos td { border-top: 0; padding-top: 0; } }

/* ---------- Preguntas ---------- */
.faq { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: var(--s8); align-items: start; }
.faq__nav { position: sticky; top: var(--s6); }
.faq__nav ul { list-style: none; display: grid; gap: 4px; }
.faq__nav a { display: block; padding: 6px 0; color: var(--tinta); text-decoration: none; font-weight: 500; }
.faq__nav a:hover { color: var(--cobalto); text-decoration: underline; }
.faq__grupo { margin-bottom: var(--s8); scroll-margin-top: var(--s6); }
.faq__grupo h2 { font-size: var(--t-h2); margin-bottom: var(--s4); }
details { border-top: 1px solid var(--linea); }
details:last-child { border-bottom: 1px solid var(--linea); }
summary { display: flex; justify-content: space-between; gap: var(--s4); padding: var(--s4) 0; cursor: pointer; font-family: var(--serif); font-size: 1.4rem; font-weight: 600; line-height: 1.2; list-style: none; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; font-family: var(--sans); font-weight: 400; font-size: 1.5rem; line-height: 1; color: var(--cobalto); flex: none; }
details[open] summary::after { content: "–"; }
details > div { padding: 0 0 var(--s5); max-width: 44rem; color: #34363C; }
@media (max-width: 860px) { .faq { grid-template-columns: 1fr; gap: var(--s5); } .faq__nav { position: static; } .faq__nav ul { display: flex; flex-wrap: wrap; gap: var(--s2); } .faq__nav a { border: 1.5px solid var(--tinta); border-radius: 999px; padding: 8px 14px; } }

/* ---------- Contacto ---------- */
.contacto { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: var(--s8); align-items: start; }
.contacto__tel { display: block; font-family: var(--serif); font-size: clamp(2.2rem, 1.6rem + 2vw, 3.4rem); font-weight: 600; line-height: 1.05; color: var(--cobalto); text-decoration: none; margin-bottom: var(--s2); }
.contacto__mail { font-size: 1.25rem; font-weight: 500; }
.contacto__bloque { padding: var(--s5) 0; border-top: 1px solid var(--linea); }
.contacto__bloque h2 { font-size: var(--t-h3); margin-bottom: var(--s3); }
.contacto__foto { aspect-ratio: 3 / 2; margin-bottom: var(--s6); }
.contacto__form { padding: clamp(24px, 3vw, 40px); background: var(--blanco); border-radius: var(--r-panel); }
.contacto__form h2 { font-size: var(--t-h3); margin-bottom: var(--s5); }
@media (max-width: 960px) { .contacto { grid-template-columns: 1fr; } }

/* ---------- Páginas legales ---------- */
.legal { display: grid; grid-template-columns: minmax(0, 44rem) minmax(0, 1fr); gap: var(--s8); padding: 0 max(var(--gut), (100% - 78rem) / 2) var(--sec); align-items: start; }
.legal__datos { padding: var(--s5); background: var(--blanco); border-radius: var(--r-panel); font-size: .9375rem; position: sticky; top: var(--s6); }
.legal__datos h2 { font-size: 1.35rem; margin-bottom: var(--s3); }
.legal__fecha { color: var(--piedra); font-size: var(--t-small); }
@media (max-width: 1100px) { .legal { grid-template-columns: 1fr; } .legal__datos { position: static; } }

/* ---------- 404 ---------- */
.no-encontrada { padding: var(--sec) max(var(--gut), (100% - 78rem) / 2); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s8); align-items: center; }
.no-encontrada h1 { font-size: var(--t-h1); margin-bottom: var(--s4); }
.no-encontrada__foto { aspect-ratio: 1; max-width: 420px; }
@media (max-width: 760px) { .no-encontrada { grid-template-columns: 1fr; } }

/* ---------- Ajustes de páginas interiores ---------- */
.cesta__lista { list-style: none; }
.buscador__enviar, #buscador-enviar { margin-top: var(--s5); }
.buscador__lado a { color: #fff; }
.opciones--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tarjeta .cab__t, .visita .cab__t { margin-bottom: var(--s4); }
.franja--suelta { margin-top: 0; }
.otras { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--s8); }
.otras a { color: inherit; text-decoration: none; }
.otras .numero__item:first-child { padding-top: var(--s6); }
.otras a:hover .numero__t { color: var(--cobalto); text-decoration: underline; text-decoration-thickness: 1px; }
.visita .horario { margin: var(--s4) 0 var(--s5); }
.contacto__bloque--primero { margin-top: var(--s6); }
.contacto__lista { padding-left: 1.2em; margin-bottom: var(--s4); }
.contacto__lista li { margin-bottom: .5em; }
.modelo { padding: var(--s5); border: 1.5px dashed var(--borde); border-radius: var(--r-panel); background: var(--blanco); }
@media (max-width: 760px) { .otras { grid-template-columns: 1fr; } }

/* ---------- Ajustes tras la crítica ---------- */
.form__nota { font-size: var(--t-small); color: var(--piedra); margin: 0; }
.form__ayuda { display: block; margin-top: 6px; font-size: var(--t-small); color: var(--piedra); }
.opcional { font-weight: 400; color: var(--piedra); }
.ficha__talla { font-size: var(--t-small); align-self: center; }
.marca--mini { width: 44px; }
.buscador-corto__form { grid-template-columns: 1fr; gap: var(--s4); }
.buscador-corto__form legend { font-size: var(--t-small); font-weight: 500; margin-bottom: 8px; }
.buscador-corto .chips { gap: var(--s2); }
.buscador-corto .opc, .buscador .opc { position: relative; }
.buscador-corto .opc input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.buscador-corto .opc span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.1em; border-radius: 999px; border: 1.5px solid rgba(255, 255, 255, .7); font-size: .9375rem; font-weight: 500; }
.buscador-corto .opc input:checked + span { background: var(--laton); border-color: var(--laton); color: var(--tinta); }
.buscador-corto__form .pill { grid-column: auto; }
@media (max-width: 1023px) { .marca--mini { width: 36px; } }
.numero__t--p { line-height: 1.2; }
@media (max-width: 760px) {
  .pie li a, .pie address a { display: inline-block; padding: 6px 0; }
  .pie ul { gap: 0; }
  .migas a, .numero__lista .enlace, .ficha__compra .enlace, .cita footer a { display: inline-block; padding: 8px 0; }
  .contacto__mail { display: inline-block; padding: 8px 0; }
}
.migas ol { align-items: baseline; }
.pill--blanco { background: #fff; border-color: #fff; color: var(--cobalto); }
.pill--blanco:hover { background: var(--papel); border-color: var(--papel); color: var(--cobalto-osc); }
.cab__retrato { display: grid; grid-template-columns: 104px 1fr; gap: var(--s5); align-items: center; }
.cab__retrato .m-capsula { aspect-ratio: 2 / 3; }
