/* Rose Impact: piezas de tienda que el kit de taste-skill no trae (ficha, carrito, checkout, pedido).
   Va después de system.css y usa sus tokens (--ink, --muted, --line, --surface, --action, --r-*),
   así las páginas internas comparten tipografía, colores, radios y botones con la portada. */
:root {
  --tinta: var(--p-ink);
  --tenue: var(--p-muted);
  --linea: color-mix(in oklab, var(--p-ink) 12%, transparent);
  --gris: var(--p-surface);
  --rosa: var(--p-action);
  --rosa-tinta: var(--p-action-ink);
  --ok: #1f7a4d;
  --error: #a3261b;
}
[hidden] { display: none !important; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tenue { color: var(--tenue); }
.lead { font-size: var(--t-lead); line-height: 1.5; }
.enlace { background: none; border: 0; padding: 0; color: var(--tenue); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; font: inherit; font-size: var(--t-small); }
.enlace:hover { color: var(--tinta); }
.btn--ancho { width: 100%; }

/* Contador del carrito en la barra */
.nav__cuenta { display: inline-grid; place-items: center; min-width: 22px; height: 22px; margin-left: 6px; padding: 0 6px; border-radius: 999px; background: var(--rosa); color: var(--rosa-tinta); font-size: 13px; font-weight: 500; }

/* Páginas internas: no son pantallas de la portada; empiezan bajo la barra fija */
.pagina { padding: calc(var(--nav) + var(--s-7)) 0 var(--s-9); min-height: 70vh; }
.pagina h1 { font: var(--display-weight) clamp(30px, 2.4vw + 18px, 48px)/1.08 var(--font-display); letter-spacing: var(--display-tracking); }
.pagina h2 { font: var(--display-weight) clamp(22px, 1vw + 16px, 28px)/1.2 var(--font-display); letter-spacing: var(--display-tracking); }
.pagina--centro { display: grid; place-items: center; text-align: center; }
.pagina--centro h1 { margin-bottom: var(--s-4); }
.pagina--centro .lead { margin-bottom: var(--s-6); }
.pagina--centro .btn-row { justify-content: center; }
.cabeza-pagina { display: grid; gap: var(--s-3); margin-bottom: var(--s-6); max-width: 62ch; }
.migas { display: flex; flex-wrap: wrap; gap: var(--s-2); font-size: var(--t-small); color: var(--tenue); margin-bottom: var(--s-5); }
.migas a { text-decoration: none; }
.migas a:hover { color: var(--tinta); text-decoration: underline; }
.migas [aria-current] { color: var(--tinta); }

/* Rejilla de productos: las mismas fichas abiertas (.tile) de la portada */
.rejilla { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-7) var(--s-5); }
@media (max-width: 1023px) { .rejilla { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 639px) { .rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-6) var(--s-3); } }
.producto { --tile-ratio: 1 / 1; grid-template-rows: auto 1fr auto; }
.producto .tile__media { background: #fff; }
.producto .tile__media > img { object-fit: contain; padding: 8%; }
.producto h3 { font: 500 var(--t-body)/1.4 var(--font-text); }
.producto h3 a { text-decoration: none; }
.producto h3 a::after { content: ""; position: absolute; inset: 0; }
.producto { position: relative; }
.producto form, .producto > .btn { position: relative; z-index: 1; justify-self: start; }
.producto__agotado { color: var(--tenue); font-size: var(--t-small); }
.precio { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s-1) var(--s-2); font-weight: 500; font-variant-numeric: tabular-nums; }
.precio s, .ficha__precio s { font-weight: 400; font-size: var(--t-small); color: var(--tenue); }
.etiqueta { position: absolute; top: var(--s-3); left: var(--s-3); background: var(--rosa); color: var(--rosa-tinta); font-size: 13px; font-weight: 500; padding: 2px 10px; border-radius: 999px; }
.chips { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-bottom: var(--s-6); }
.chips a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; padding: 0 var(--s-5); border: 1px solid var(--linea); border-radius: 999px; font-size: var(--t-small); font-weight: 500; }
.chips a:hover { border-color: var(--tinta); }
.chips a[aria-current] { background: var(--tinta); color: var(--p-bg); border-color: var(--tinta); }
.conteo { font-size: var(--t-small); color: var(--tenue); margin-bottom: var(--s-5); }

/* Ficha de producto */
.ficha { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-8); align-items: start; }
.ficha__galeria { display: grid; gap: var(--s-3); }
.ficha__foto { position: relative; background: #fff; border-radius: var(--r-lg); aspect-ratio: 1; overflow: clip; }
.ficha__foto img { width: 100%; height: 100%; object-fit: contain; padding: 8%; }
.ficha__miniaturas { display: flex; gap: var(--s-2); }
.ficha__miniaturas button { width: 72px; height: 72px; padding: 6px; background: #fff; border: 2px solid transparent; border-radius: var(--r-md); cursor: pointer; }
.ficha__miniaturas button[aria-pressed="true"] { border-color: var(--tinta); }
.ficha__compra { display: grid; gap: var(--s-5); }
.ficha__precio { display: flex; align-items: baseline; gap: var(--s-3); font: var(--display-weight) 32px/1.1 var(--font-display); font-variant-numeric: tabular-nums; }
.ficha__nota { font-size: var(--t-small); color: var(--tenue); margin-top: calc(-1 * var(--s-3)); }
.ficha__accion { display: flex; gap: var(--s-3); }
.ficha__accion .btn { flex: 1; }
.ficha__descripcion { padding-top: var(--s-5); border-top: 1px solid var(--linea); }
.ficha__datos { display: grid; grid-template-columns: max-content 1fr; gap: var(--s-3) var(--s-5); margin: 0; font-size: var(--t-small); }
.ficha__datos dt { color: var(--tenue); }
.ficha__datos dd { margin: 0; }
.relacionados { margin-top: var(--s-9); }
.relacionados h2 { margin-bottom: var(--s-6); }
.opciones { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: var(--s-2); }
.opciones legend { font-size: var(--t-small); font-weight: 500; margin-bottom: var(--s-2); }
.opcion input { position: absolute; opacity: 0; }
.opcion span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--s-5); border: 1px solid var(--linea); border-radius: 999px; cursor: pointer; font-weight: 500; }
.opcion input:checked + span { border-color: var(--tinta); background: var(--tinta); color: var(--p-bg); }
.opcion input:focus-visible + span { outline: 2px solid var(--rosa); outline-offset: 2px; }
.opcion input:disabled + span { opacity: .4; text-decoration: line-through; cursor: not-allowed; }
@media (max-width: 1023px) { .ficha { grid-template-columns: 1fr; gap: var(--s-6); } }

/* Selector de cantidad */
.cantidad { display: inline-flex; align-items: center; border: 1px solid var(--line-strong); border-radius: var(--r-btn, 999px); height: var(--btn-h, 48px); }
.cantidad button { width: 44px; height: 100%; background: none; border: 0; font-size: 20px; cursor: pointer; color: var(--tinta); }
.cantidad button:hover { background: var(--gris); }
.cantidad input { width: 40px; border: 0; text-align: center; font-weight: 500; background: none; -moz-appearance: textfield; appearance: textfield; padding: 0; font: inherit; }
.cantidad input::-webkit-inner-spin-button, .cantidad input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.cantidad--chica { height: 44px; }

/* Carrito */
.dos-col { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: var(--s-8); align-items: start; }
@media (max-width: 1023px) { .dos-col { grid-template-columns: 1fr; gap: var(--s-6); } }
.lineas { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--linea); }
.linea { display: grid; grid-template-columns: 112px minmax(0, 1fr) auto; gap: var(--s-5); align-items: start; padding-block: var(--s-5); border-bottom: 1px solid var(--linea); }
.linea__foto { display: block; width: 112px; aspect-ratio: 1; background: #fff; border-radius: var(--r-md); overflow: clip; }
.linea__foto img { width: 100%; height: 100%; object-fit: contain; padding: 10%; }
.linea__datos { display: grid; gap: var(--s-2); font-size: var(--t-small); }
.linea__nombre { font-weight: 500; font-size: var(--t-body); text-decoration: none; }
.linea__nombre:hover { text-decoration: underline; }
.linea__acciones { display: flex; align-items: center; gap: var(--s-4); margin-top: var(--s-2); }
.linea__total { font-variant-numeric: tabular-nums; }
@media (max-width: 639px) {
  .linea { grid-template-columns: 80px minmax(0, 1fr); gap: var(--s-4); }
  .linea__foto { width: 80px; }
  .linea__total { grid-column: 2; }
}
.resumen { display: grid; gap: var(--s-4); padding: var(--s-6); background: var(--gris); border-radius: var(--r-lg); }
.resumen dl { display: grid; grid-template-columns: 1fr auto; gap: var(--s-3) var(--s-4); margin: 0; }
.resumen dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.resumen .total { font-weight: 500; font-size: var(--t-lead); padding-top: var(--s-3); border-top: 1px solid var(--linea); }
.resumen__nota { font-size: 13px; color: var(--tenue); text-align: center; }
.resumen .enlace { justify-self: start; }
.vacio { display: grid; gap: var(--s-5); padding: var(--s-7) 0; justify-items: start; }
.mini-lineas { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-4); }
.mini-lineas li { display: grid; grid-template-columns: 56px 1fr auto; gap: var(--s-3); align-items: center; font-size: var(--t-small); }
.mini-lineas__foto { position: relative; width: 56px; height: 56px; background: #fff; border-radius: var(--r-sm); border: 1px solid var(--linea); }
.mini-lineas__foto img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.mini-lineas__foto b { position: absolute; top: -7px; right: -7px; min-width: 20px; height: 20px; border-radius: 999px; background: var(--tinta); color: var(--p-bg); font-size: 13px; font-weight: 500; display: grid; place-items: center; padding: 0 5px; }
.mini-lineas--texto li { grid-template-columns: 1fr auto; }

/* Checkout */
.pasos { display: grid; gap: var(--s-5); }
.paso { border: 1px solid var(--linea); border-radius: var(--r-lg); padding: var(--s-6); margin: 0; display: grid; gap: var(--s-5); min-width: 0; }
.paso legend { float: left; width: 100%; display: flex; align-items: center; gap: var(--s-3); font: var(--display-weight) var(--t-lead)/1.3 var(--font-display); padding: 0; }
.paso legend + * { clear: both; }
.paso:disabled { opacity: .6; }
.paso__num { width: 28px; height: 28px; border-radius: 999px; background: var(--rosa); color: var(--rosa-tinta); display: grid; place-items: center; font: 500 13px/1 var(--font-text); }
.campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
.campos .ancho { grid-column: 1 / -1; }
@media (max-width: 639px) { .campos { grid-template-columns: 1fr; } .paso { padding: var(--s-5) var(--s-4); } }
.campo { display: grid; gap: var(--s-2); align-content: start; }
.campo label { font-size: var(--t-small); font-weight: 500; }
.campo small { font-size: 13px; color: var(--tenue); }
.campo input, .campo select { height: 48px; padding: 0 var(--s-4); border: 1px solid var(--line-strong); border-radius: var(--r-sm); background: #fff; width: 100%; font: 400 16px/1.2 var(--font-text); color: var(--tinta); }
.campo [aria-invalid] { border-color: var(--error); box-shadow: 0 0 0 1px var(--error); }
.req { color: var(--error); font-weight: 600; margin-left: 2px; }
.campo [hidden] { display: none; }
.campo input:focus-visible, .campo select:focus-visible { outline: 2px solid var(--action); outline-offset: 1px; }
.tarifas { display: grid; gap: var(--s-3); }
.tarifa { display: grid; grid-template-columns: auto 1fr auto; gap: var(--s-4); align-items: center; padding: var(--s-4); border: 1px solid var(--linea); border-radius: var(--r-md); cursor: pointer; }
.tarifa span { display: grid; gap: 2px; }
.tarifa small { color: var(--tenue); font-size: 13px; }
.tarifa input { accent-color: var(--tinta); width: 18px; height: 18px; }
.tarifa:has(input:checked) { border-color: var(--tinta); background: var(--gris); }

/* Avisos */
.aviso { padding: var(--s-4); border-radius: var(--r-md); background: var(--gris); font-size: var(--t-small); }
.aviso--error { background: #fdecea; color: var(--error); }
.aviso--prueba { background: #fff6e0; color: #5c4300; margin-bottom: var(--s-5); display: grid; gap: var(--s-3); justify-items: start; }
.aviso-flotante { position: fixed; left: 50%; bottom: var(--s-5); transform: translateX(-50%); z-index: 80; display: flex; gap: var(--s-4); align-items: center; background: var(--tinta); color: var(--p-bg); padding: var(--s-3) var(--s-5); border-radius: 999px; font-size: var(--t-small); white-space: nowrap; }
.aviso-flotante a { color: var(--rosa); font-weight: 500; }

/* Pedido */
.pedido { display: grid; gap: var(--s-5); justify-items: start; }
.avance { list-style: none; margin: var(--s-2) 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); width: 100%; }
.avance li { position: relative; padding-top: 28px; font-size: 13px; color: var(--tenue); }
.avance li::before { content: ""; position: absolute; top: 6px; left: 0; width: 14px; height: 14px; border-radius: 999px; background: var(--p-bg); border: 2px solid var(--linea); z-index: 1; }
.avance li::after { content: ""; position: absolute; top: 12px; left: 14px; right: 0; height: 2px; background: var(--linea); }
.avance li:last-child::after { display: none; }
.avance li.hecho { color: var(--tinta); }
.avance li.hecho::before { background: var(--ok); border-color: var(--ok); }
.avance li.hecho::after { background: var(--ok); }
.avance li.actual { color: var(--tinta); font-weight: 500; }
.avance li.actual::before { border-color: var(--ok); }
.pedido__envio { width: 100%; padding: var(--s-5) 0; border-block: 1px solid var(--linea); display: grid; gap: var(--s-2); }

/* Pie de las páginas internas: la fila de enlaces del cierre, sin la pantalla completa */
.footer.pie-interno { padding: var(--s-8) 0 var(--s-6); background: var(--gris); }

/* Ajustes del gate de taste-skill (página) */
/* El foco en rosa profundo: el rosa del logo no llega a 3:1 sobre el fondo claro. */
:focus-visible { outline-color: #c8476a; }
/* «Rose Impact» tiene 11 letras, no las 8 que supone el cierre: en celular baja de tamaño para no salirse. */
.closing__cta { min-width: 0; }
@media (max-width: 639px) {
  .close__word { font-size: clamp(40px, 14.5vw, 80px); }
  .producto__datos h3 a { display: inline-flex; align-items: center; min-height: 44px; }
  #platos .grid.fill > .frame--fill { flex: none; aspect-ratio: 1; min-height: 0; }
  /* el logo del cliente va a 20px, como la marca del kit, para que nombre, botón y menú quepan en 320 */
  .nav__logo img { width: 20px; height: 20px; }
  /* fichas de dos en dos: el botón ocupa la ficha y baja a texto chico */
  .producto form, .producto > .btn { justify-self: stretch; }
  .producto .btn { width: 100%; padding-inline: var(--s-2); font-size: var(--t-small); }
  #bodas .grid.fill > .frame--fill { min-height: 180px; }
  /* el .fill del kit tiene base 0: en celular crece con lo que lleva para no encimarse con la sección siguiente */
  main > section > .wrap > .grid.fill { flex: 1 0 auto; }
}

/* Menú: enlace «Ver todo» bajo las tarjetas y el icono del carrito. */
.menu-todo { display: inline-flex; align-items: center; gap: var(--s-2); font-size: var(--t-small); font-weight: 500; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.nav__carrito { display: inline-flex; align-items: center; gap: 6px; }
.icono-carrito { width: 20px; height: 20px; flex: none; }

/* Blog */
.blog-lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-6) var(--s-5); }
@media (max-width: 1023px) { .blog-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .blog-lista { grid-template-columns: 1fr; } }
.blog-tarjeta { display: grid; gap: var(--s-4); align-content: start; }
.blog-tarjeta__foto { display: block; aspect-ratio: 4 / 3; background: #fff; border-radius: var(--r-md); overflow: hidden; }
.blog-tarjeta__foto img { width: 100%; height: 100%; object-fit: contain; padding: 8%; }
.blog-tarjeta__texto { display: grid; gap: var(--s-2); }
.blog-tarjeta h2 { font-size: var(--t-card, 20px); line-height: 1.25; }
.blog-tarjeta h2 a { color: inherit; text-decoration: none; }
.blog-tarjeta h2 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.articulo__cabeza { max-width: 46rem; margin-bottom: var(--s-6); display: grid; gap: var(--s-3); }
.articulo__cabeza h1 { font-size: clamp(32px, 4.5vw, 52px); line-height: 1.08; }
.prosa { max-width: 46rem; font-size: 18px; line-height: 1.65; }
.prosa > * + * { margin-top: 1em; }
.prosa h2 { font-size: clamp(24px, 2.6vw, 30px); line-height: 1.2; margin-top: 1.8em; }
.prosa h3 { font-size: 20px; line-height: 1.3; margin-top: 1.5em; }
.prosa ul, .prosa ol { padding-left: 1.3em; }
.prosa ul { list-style: disc; }
.prosa ol { list-style: decimal; }
.prosa li + li { margin-top: .35em; }
.prosa a { color: inherit; text-decoration: underline; text-decoration-color: var(--rosa); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.prosa table { width: 100%; border-collapse: collapse; font-size: 16px; display: block; overflow-x: auto; }
.prosa th, .prosa td { text-align: left; padding: var(--s-3); border-bottom: 1px solid var(--line-strong); white-space: nowrap; }
.prosa th { font-weight: 600; }
.prosa strong { font-weight: 600; }
.articulo__faq { max-width: 46rem; margin-top: var(--s-7, 56px); }
.articulo__faq h2, .articulo__sub { font-size: clamp(24px, 2.6vw, 30px); margin-bottom: var(--s-5); }
.blog-otros { list-style: none; padding: 0; display: grid; gap: var(--s-4); max-width: 46rem; }
.blog-otros li { display: grid; gap: var(--s-1); padding-bottom: var(--s-4); border-bottom: 1px solid var(--line); }
.blog-otros a { font-weight: 500; color: inherit; }
.menu-card .panel--blanco { background: #fff; }
.menu-card .panel--blanco > .frame__img { width: 100%; height: 100%; object-fit: contain; padding: 6%; }

/* SEO: respuesta directa, dato pendiente y «Actualizado» */
.intro-directa { font-size: var(--t-lead); line-height: 1.55; max-width: 62ch; }
.pendiente { display: inline; padding: 0 4px; border-radius: 4px; background: #fff6e0; color: #5c4300; font-size: .9em; font-weight: 500; }
.actualizado { margin-top: calc(-1 * var(--s-3)); margin-bottom: var(--s-5); }

/* Ficha técnica en HTML real (tabla) y enlace a la guía */
.ficha__resumen { font-weight: 500; margin-bottom: var(--s-3); }
.ficha-tecnica { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-8); align-items: start; margin-top: var(--s-9); }
.ficha-tecnica h2 { margin-bottom: var(--s-5); }
.tabla-specs { width: 100%; border-collapse: collapse; font-size: var(--t-small); }
.tabla-specs th, .tabla-specs td { text-align: left; vertical-align: top; padding: var(--s-3) var(--s-4) var(--s-3) 0; border-bottom: 1px solid var(--linea); }
.tabla-specs th { width: 40%; font-weight: 400; color: var(--tenue); }
.ficha-guia { display: grid; gap: var(--s-3); padding: var(--s-6); background: var(--gris); border-radius: var(--r-lg); }
.ficha-guia h3 { font: var(--display-weight) var(--t-lead)/1.3 var(--font-display); }
.ficha-guia h3 a { color: inherit; text-decoration: underline; text-decoration-color: var(--rosa); text-decoration-thickness: 2px; text-underline-offset: 3px; }
@media (max-width: 1023px) { .ficha-tecnica { grid-template-columns: 1fr; gap: var(--s-6); } }

/* Filtros de categoría: enlaces, funcionan sin JavaScript */
.filtros { display: grid; gap: var(--s-4); margin-bottom: var(--s-6); justify-items: start; }
.filtro { display: grid; gap: var(--s-2); }
.filtro__titulo { font-size: var(--t-small); font-weight: 500; color: var(--tenue); }
.chips--filtro { margin-bottom: 0; }
.chips--filtro a { min-height: 40px; padding: 0 var(--s-4); }
.guias-rel { margin-top: var(--s-9); max-width: 46rem; }
.guias-rel h2 { margin-bottom: var(--s-5); }

/* Guías: tablas con texto largo y calculadora */
.guia .prosa td { white-space: normal; min-width: 9ch; vertical-align: top; }
.nota-tabla { font-size: var(--t-small); color: var(--tenue); }
.calculadora { display: grid; gap: var(--s-5); padding: var(--s-6); background: var(--gris); border-radius: var(--r-lg); font-size: 16px; }
.calculadora__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); align-items: end; }
.calculadora__form .btn { justify-self: start; }
.calculadora__resultado table { background: #fff; border-radius: var(--r-md); }
.calculadora tfoot th { text-align: left; }
@media (max-width: 639px) { .calculadora { padding: var(--s-5) var(--s-4); } .calculadora__form { grid-template-columns: 1fr; } }
.guias-lista li { gap: var(--s-1); }

/* Contacto en el pie */
.footer__contacto { font-size: .9375rem; line-height: 1.7; }
.footer__contacto a { color: inherit; text-decoration: none; }
.footer__contacto a:hover { text-decoration: underline; }

/* Secciones al alto de su contenido (Isaac, 2026-11-10). El kit fija cada sección a una pantalla: en
   laptops (1512x860) eso dejaba huecos en blanco bajo los textos cortos y sacaba el botón «Agregar al
   carrito» de la franja oscura. El hero sí sigue siendo la primera pantalla. */
html main > :is(section, .section):not(.hero, .section--hero) { height: auto; min-height: 0; display: block; }
html main > :is(section, .section):not(.hero, .section--hero) > :is(.wrap, .container) { height: auto; }
html main > :is(section, .section):not(.hero, .section--hero) > .wrap > .fill { flex: none; }
@media (min-width: 640px) {
  #platos .grid.fill > .frame--fill { min-height: 0; aspect-ratio: 4 / 3; align-self: start; }
}

/* Fila de iconos de redes, WhatsApp, correo, Mercado Libre y Amazon (componente Redes). Cada logo va en el
   color de su marca para que se reconozca; ul.redes gana a «.footer ul» (grid) y a «.prosa ul» (viñetas). */
ul.redes { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-2); font-size: inherit; }
ul.redes > li { margin: 0; padding: 0; display: block; min-height: 0; }
ul.redes a { display: inline-grid; place-items: center; width: 40px; height: 40px; min-height: 0; min-width: 0; border-radius: 999px; background: #fff; border: 1px solid color-mix(in oklab, var(--p-ink, #241820) 14%, transparent); text-decoration: none; transition: transform 160ms ease, border-color 160ms ease; }
ul.redes a:hover { transform: translateY(-2px); border-color: var(--p-accent, #e47f90); }
ul.redes svg { width: 20px; height: 20px; display: block; }
ul.redes svg.redes__meli { width: 26px; height: 26px; }
ul.redes.redes--grande { margin-block: var(--s-4) var(--s-6); padding: 0; }
ul.redes.redes--grande a { width: 48px; height: 48px; }
ul.redes.redes--grande svg { width: 24px; height: 24px; }
ul.redes.redes--grande svg.redes__meli { width: 32px; height: 32px; }
/* El pie de la portada crece con su contenido en vez de encimar el «Rose Impact» grande sobre los enlaces. */
html footer.closing { height: auto; min-height: 100svh; }
html footer.closing > .wrap { height: auto; }
