/* ==========================================================================
   Riedel Haus — diseño v3 (moderno, blanco/negro de las etiquetas)
   ========================================================================== */

:root {
	--rh-negro: #121212;
	--rh-tinta: #2a2826;
	--rh-azul: #1F2B47;
	--rh-crema: #EFE8DC;
	--rh-arena: #F7F4EF;
	--rh-blanco: #FFFFFF;
	--rh-gris: #6F6A64;
	--rh-linea: #E7E1D7;
	--rh-radio: 22px;
	--rh-radio-s: 14px;
	--rh-sombra: 0 24px 60px -32px rgba(18, 18, 18, .35);
	--rh-serif: var(--wp--preset--font-family--playfair);
	--rh-sans: var(--wp--preset--font-family--manrope);
	--rh-ease: cubic-bezier(.2, .7, .2, 1);
}

body { font-weight: 450; -webkit-font-smoothing: antialiased; }
::selection { background: var(--rh-negro); color: #fff; }
img { max-width: 100%; height: auto; }

.rh-wrap { max-width: 1240px; margin-inline: auto; padding-inline: clamp(1.1rem, 4vw, 2rem); }
.rh-seccion { padding-block: clamp(4rem, 9vw, 7rem) !important; }
.rh-home > * { margin-block: 0 !important; }

/* Tipografía */
.rh-display {
	font-family: var(--rh-serif); font-weight: 400; letter-spacing: -.02em; line-height: 1.02;
	font-size: clamp(2.6rem, 6.2vw, 5.2rem); margin: 0 0 1.4rem;
}
.rh-display em { font-style: italic; color: var(--rh-gris); }
.rh-display--chica { font-size: clamp(2.1rem, 4.6vw, 3.6rem); }
.rh-h1, .rh-h1 h1, h1.rh-h1 { font-family: var(--rh-serif); font-size: clamp(2.4rem, 5vw, 4rem) !important; letter-spacing: -.02em; margin: .3rem 0 .6rem; }
.rh-h2 { font-family: var(--rh-serif); font-weight: 400; font-size: clamp(2rem, 4vw, 3.1rem); letter-spacing: -.015em; line-height: 1.08; margin: 0; }
.rh-eyebrow {
	font-size: .72rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
	color: var(--rh-gris); margin: 0 0 .8rem;
}
.rh-eyebrow--claro { color: #b9b1a5; }
.rh-link { font-weight: 600; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; white-space: nowrap; }
.rh-link:hover { color: var(--rh-gris); }
.rh-titular { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: clamp(1.8rem, 4vw, 2.8rem); flex-wrap: wrap; }

/* Botones */
.rh-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	background: var(--rh-negro); color: #fff !important; text-decoration: none; font-weight: 600; font-size: .95rem;
	padding: .95em 1.8em; border-radius: 999px; border: 1px solid var(--rh-negro);
	transition: transform .25s var(--rh-ease), background .25s, color .25s, box-shadow .25s;
}
.rh-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -16px rgba(0,0,0,.6); background: var(--rh-azul); border-color: var(--rh-azul); }
.rh-btn--ghost { background: transparent; color: var(--rh-negro) !important; border-color: rgba(18,18,18,.25); }
.rh-btn--ghost:hover { background: var(--rh-negro); color: #fff !important; border-color: var(--rh-negro); }
.rh-btn--claro { background: #fff; color: var(--rh-negro) !important; border-color: #fff; }
.rh-btn--claro:hover { background: var(--rh-crema); border-color: var(--rh-crema); color: var(--rh-negro) !important; }
.rh-btn--ghost-claro { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.4); }
.rh-btn--ghost-claro:hover { background: #fff; color: var(--rh-negro) !important; }
.wp-element-button, .wp-block-button__link { transition: transform .25s var(--rh-ease), background .25s, box-shadow .25s; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1px solid currentColor; background: transparent; color: var(--rh-negro); }

/* Header */
.rh-topbar p { margin: 0; letter-spacing: .06em; font-size: .78rem; }
.rh-header {
	position: sticky; top: 0; z-index: 60;
	background: rgba(255,255,255,.82) !important; backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px);
	border-bottom: 1px solid transparent; transition: border-color .3s, padding .3s, box-shadow .3s;
}
.rh-header.is-scrolled { border-bottom-color: var(--rh-linea); box-shadow: 0 10px 30px -24px rgba(0,0,0,.4); padding-top: .55rem !important; padding-bottom: .55rem !important; }
.admin-bar .rh-header { top: 32px; }
.rh-marca { display: inline-block; line-height: 0; }
.rh-marca img { height: 50px; width: auto; display: block; transition: height .3s var(--rh-ease); }
.rh-header.is-scrolled .rh-marca img { height: 40px; }
.rh-nav a { font-weight: 600; font-size: .9rem; text-decoration: none; position: relative; }
.rh-nav .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 1px; background: currentColor;
	transform: scaleX(0); transform-origin: left; transition: transform .3s var(--rh-ease);
}
.rh-nav .wp-block-navigation-item__content:hover::after { transform: scaleX(1); }
.wc-block-mini-cart__button { font-weight: 600; }
.wc-block-mini-cart__badge { background: var(--rh-negro) !important; color: #fff !important; }

/* Hero */
.rh-hero { background: radial-gradient(1200px 500px at 85% 10%, #efe8dc 0, transparent 60%), var(--rh-arena); overflow: hidden; }
.rh-hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; padding-block: clamp(3rem, 7vw, 6rem); }
.rh-chip {
	display: inline-flex; align-items: center; gap: .55rem; background: #fff; border: 1px solid var(--rh-linea);
	padding: .45rem .95rem; border-radius: 999px; font-size: .78rem; font-weight: 600; letter-spacing: .04em; margin: 0 0 1.6rem;
}
.rh-chip__punto { width: 7px; height: 7px; border-radius: 50%; background: #3f8f4e; box-shadow: 0 0 0 4px #3f8f4e22; }
.rh-hero__lead { font-size: clamp(1.05rem, 1.6vw, 1.25rem); color: var(--rh-gris); max-width: 34rem; margin: 0 0 2rem; }
.rh-hero__ctas { display: flex; gap: .8rem; flex-wrap: wrap; }
.rh-hero__datos { list-style: none; padding: 0; margin: 2.6rem 0 0; display: flex; gap: clamp(1.4rem, 4vw, 2.8rem); }
.rh-hero__datos li { display: flex; flex-direction: column; }
.rh-hero__datos strong { font-family: var(--rh-serif); font-weight: 400; font-size: 1.9rem; line-height: 1; }
.rh-hero__datos span { font-size: .8rem; color: var(--rh-gris); margin-top: .35rem; }

.rh-hero__collage { position: relative; min-height: 560px; }
.rh-hero__foto { position: absolute; margin: 0; border-radius: var(--rh-radio); overflow: hidden; box-shadow: var(--rh-sombra); }
.rh-hero__foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s var(--rh-ease); }
.rh-hero__foto:hover img { transform: scale(1.04); }
.rh-hero__foto--a { right: 0; top: 0; width: 72%; aspect-ratio: 3/4; }
.rh-hero__foto--b { left: 0; bottom: 0; width: 44%; aspect-ratio: 3/4; border: 8px solid var(--rh-arena); border-radius: calc(var(--rh-radio) + 6px); }
.rh-sello {
	position: absolute; left: 16%; top: 4%; width: 132px; height: 132px; border-radius: 50%;
	background: var(--rh-negro); color: #fff; display: grid; place-items: center; box-shadow: var(--rh-sombra);
}
.rh-sello svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: rh-girar 22s linear infinite; }
.rh-sello text { fill: #fff; font-size: 13.5px; letter-spacing: 3.2px; font-family: var(--rh-sans); font-weight: 600; }
.rh-sello span { font-family: var(--rh-serif); font-style: italic; font-size: 1.5rem; }
@keyframes rh-girar { to { transform: rotate(360deg); } }

/* Cinta */
.rh-marquee { background: var(--rh-negro); color: #fff; overflow: hidden; padding: 1rem 0; }
.rh-marquee__pista { display: flex; gap: 2.2rem; width: max-content; animation: rh-cinta 38s linear infinite; }
.rh-marquee__pista span { font-family: var(--rh-serif); font-size: 1.3rem; white-space: nowrap; }
.rh-marquee__pista span:nth-child(even) { color: #8d867b; font-size: .9rem; align-self: center; }
@keyframes rh-cinta { to { transform: translateX(-50%); } }

/* Grilla de productos (bloque Product Collection) */
.rh-productos .wc-block-product-template { gap: clamp(1rem, 2vw, 1.6rem) !important; }
@media (min-width: 1100px) {
	.rh-home .rh-productos .wc-block-product-template { grid-template-columns: repeat(5, 1fr) !important; }
	.rh-tienda .rh-productos .wc-block-product-template { grid-template-columns: repeat(4, 1fr) !important; }
}
@media (min-width: 782px) and (max-width: 1099px) {
	.rh-productos .wc-block-product-template { grid-template-columns: repeat(3, 1fr) !important; }
}
.rh-productos .wc-block-product {
	position: relative; background: #fff; border-radius: var(--rh-radio); padding: .7rem .7rem 1.2rem;
	border: 1px solid var(--rh-linea); display: flex; flex-direction: column;
	transition: transform .4s var(--rh-ease), box-shadow .4s var(--rh-ease), border-color .4s;
}
.rh-productos .wc-block-product:hover { transform: translateY(-6px); box-shadow: var(--rh-sombra); border-color: transparent; }
.rh-productos .wc-block-components-product-image { border-radius: var(--rh-radio-s); overflow: hidden; margin-bottom: 1rem !important; background: var(--rh-arena); }
.rh-productos .wc-block-components-product-image img { aspect-ratio: 4/5; object-fit: cover; transition: transform .8s var(--rh-ease); }
.rh-productos .wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.06); }
.rh-productos .product_cat-escabeches .wc-block-components-product-image::after {
	content: "Combinable mayorista"; position: absolute; left: .7rem; top: .7rem; z-index: 2;
	background: rgba(255,255,255,.92); backdrop-filter: blur(6px); color: var(--rh-negro);
	font-size: .68rem; font-weight: 700; letter-spacing: .04em; padding: .35rem .7rem; border-radius: 999px;
}
.rh-productos .wc-block-components-product-image { position: relative; }
.rh-productos .wp-block-post-title { text-align: left !important; margin: 0 .4rem .3rem !important; }
.rh-productos .wp-block-post-title a { text-decoration: none; font-family: var(--rh-serif); font-weight: 400; font-size: 1.22rem; line-height: 1.2; }
.rh-productos .wc-block-components-product-price { text-align: left !important; margin: 0 .4rem 1rem !important; font-weight: 700; font-size: 1.02rem; }
.rh-productos .wp-block-woocommerce-product-button { margin-top: auto !important; padding-inline: .4rem; text-align: left !important; justify-content: flex-start !important; }
.rh-productos .wp-block-woocommerce-product-button .wp-block-button__link,
.rh-productos .wp-block-woocommerce-product-button .add_to_cart_button {
	width: 100%; border-radius: 999px !important; font-size: .88rem !important; padding: .8em 1.2em !important;
	background: var(--rh-negro) !important; color: #fff !important; letter-spacing: .01em; text-transform: none;
}
.rh-productos .wp-block-woocommerce-product-button .wp-block-button__link:hover { background: var(--rh-azul) !important; }
.rh-productos .added_to_cart { display: block; margin-top: .5rem; font-size: .85rem; font-weight: 600; text-align: center; }

/* Banda mayorista */
.rh-mayor { background: var(--rh-negro); color: #ece7df; padding-block: clamp(4.5rem, 9vw, 7rem); position: relative; overflow: hidden; }
.rh-mayor::before {
	content: ""; position: absolute; right: -10%; top: -30%; width: 60%; aspect-ratio: 1; border-radius: 50%;
	background: radial-gradient(circle, rgba(239,232,220,.10), transparent 65%);
}
.rh-mayor__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; position: relative; }
.rh-mayor .rh-h2 { color: #fff; margin-bottom: 1.2rem; }
.rh-mayor p { color: #c9c2b7; }
.rh-mayor__tramos { list-style: none; padding: 0; margin: 2rem 0 .8rem; display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; }
.rh-mayor__tramos li { border: 1px solid rgba(255,255,255,.14); border-radius: var(--rh-radio-s); padding: .9rem .8rem; display: flex; flex-direction: column; gap: .2rem; transition: background .3s, border-color .3s; }
.rh-mayor__tramos li:hover { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.3); }
.rh-mayor__tramos span { font-size: .75rem; letter-spacing: .14em; color: #a59e93; font-weight: 700; }
.rh-mayor__tramos strong { font-family: var(--rh-serif); font-weight: 400; font-size: 1.45rem; color: #fff; }
.rh-mayor__nota { font-size: .85rem; }

/* Calculadora */
.rh-calc { background: #fff; color: var(--rh-negro); border-radius: calc(var(--rh-radio) + 6px); padding: clamp(1.4rem, 3vw, 2.2rem); box-shadow: 0 40px 80px -40px rgba(0,0,0,.8); }
.rh-calc__top { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 1.2rem; }
.rh-calc__top label { font-weight: 700; }
.rh-calc__u { font-family: var(--rh-serif); font-size: 2rem; line-height: 1; }
.rh-calc__range { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 6px; outline: none; cursor: pointer;
	background: linear-gradient(90deg, var(--rh-negro) var(--pct, 20%), var(--rh-linea) var(--pct, 20%)); }
.rh-calc__range::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 2px solid var(--rh-negro); box-shadow: 0 4px 12px rgba(0,0,0,.25); }
.rh-calc__range::-moz-range-thumb { width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 2px solid var(--rh-negro); }
.rh-calc__range:focus-visible { box-shadow: 0 0 0 4px #1f2b4733; }
.rh-calc__marcas { position: relative; height: 1.4rem; margin: .4rem 0 1.2rem; font-size: .72rem; color: var(--rh-gris); font-weight: 600; }
.rh-calc__marcas span { position: absolute; transform: translateX(-50%); }
.rh-calc__res { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
.rh-calc__res div { background: var(--rh-arena); border-radius: var(--rh-radio-s); padding: .9rem; display: flex; flex-direction: column; gap: .3rem; }
.rh-calc__res span { font-size: .72rem; color: var(--rh-gris); line-height: 1.3; }
.rh-calc__res strong { font-family: var(--rh-serif); font-weight: 400; font-size: 1.4rem; }
.rh-calc__res div:last-child { background: #e4efe2; }
.rh-calc__hint { font-size: .88rem; color: var(--rh-gris) !important; margin: 1rem 0 1.2rem; min-height: 1.3em; }
.rh-calc .rh-btn--claro { background: var(--rh-negro); color: #fff !important; border-color: var(--rh-negro); width: 100%; box-sizing: border-box; display: flex; }
.rh-calc .rh-btn--claro:hover { background: var(--rh-azul); border-color: var(--rh-azul); color: #fff !important; }

/* Qué tenés que saber — bento */
.rh-saber { background: #fff; }
.rh-saber__grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(210px, auto); gap: 1rem; }
.rh-saber__card {
	margin: 0; background: var(--rh-arena); border-radius: var(--rh-radio); padding: 1.6rem; display: flex; flex-direction: column;
	transition: transform .4s var(--rh-ease);
}
.rh-saber__card:hover { transform: translateY(-4px); }
.rh-saber__card h3 { font-family: var(--rh-serif); font-weight: 400; font-size: 1.35rem; margin: auto 0 .5rem; }
.rh-saber__card p { margin: 0; font-size: .92rem; color: var(--rh-gris); }
.rh-saber__n { font-size: .75rem; font-weight: 700; letter-spacing: .14em; color: var(--rh-gris); margin-bottom: 1.4rem; }
.rh-saber__card--foto { grid-row: span 2; padding: 0; overflow: hidden; }
.rh-saber__card--foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rh-saber__card--oscura { background: var(--rh-negro); color: #fff; grid-column: span 2; }
.rh-saber__card--oscura h3 { color: #fff; font-size: 1.8rem; }
.rh-saber__card--oscura p, .rh-saber__card--oscura .rh-saber__n { color: #bdb6ab; }
.rh-saber__card--crema { background: var(--rh-crema); }

/* Instagram */
.rh-ig__grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: .8rem; }
.rh-ig__item { position: relative; display: block; border-radius: var(--rh-radio-s); overflow: hidden; aspect-ratio: 1; }
.rh-ig__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--rh-ease), filter .4s; }
.rh-ig__item::after { content: "↗"; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: 1.6rem; background: rgba(18,18,18,.35); opacity: 0; transition: opacity .3s; }
.rh-ig__item:hover img { transform: scale(1.08); }
.rh-ig__item:hover::after { opacity: 1; }

/* CTA final */
.rh-cta { padding: 0 clamp(1rem, 3vw, 2rem) clamp(3rem, 7vw, 5rem); background: #fff; }
.rh-cta__caja {
	background: linear-gradient(rgba(18,18,18,.72), rgba(18,18,18,.82)), url(ig/ig-5.webp) center/cover;
	color: #fff; border-radius: calc(var(--rh-radio) + 10px); text-align: center; padding: clamp(3.5rem, 8vw, 6rem) 1.5rem !important;
}
.rh-cta__caja .rh-display { color: #fff; }
.rh-cta__caja .rh-display em { color: #cfc8bd; }
.rh-cta__caja .rh-hero__ctas { justify-content: center; }
.rh-cta__logo { height: 56px; width: auto; margin-bottom: 1.6rem; opacity: .95; }

/* Tienda / categorías */
.rh-tienda__cabecera { background: var(--rh-arena); padding: clamp(2.2rem, 5vw, 3.6rem) clamp(1.1rem, 4vw, 2rem) 2rem !important; border-bottom: 1px solid var(--rh-linea); }
.rh-tienda__cabecera .wp-block-query-title { font-family: var(--rh-serif); font-weight: 400; font-size: clamp(2.4rem, 5vw, 4rem); letter-spacing: -.02em; margin: .6rem 0 .4rem; }
.rh-tienda__cabecera .wp-block-term-description { color: var(--rh-gris); max-width: 40rem; }
.rh-seccion--tienda { padding-top: clamp(2rem, 4vw, 3rem) !important; }
.rh-chips { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 1.4rem; }
.rh-chip-link {
	text-decoration: none; padding: .55rem 1.05rem; border-radius: 999px; background: #fff; border: 1px solid var(--rh-linea);
	font-weight: 600; font-size: .88rem; transition: background .2s, color .2s, border-color .2s;
}
.rh-chip-link span { color: var(--rh-gris); font-weight: 500; margin-left: .2rem; }
.rh-chip-link:hover { border-color: var(--rh-negro); }
.rh-chip-link.is-activo { background: var(--rh-negro); color: #fff; border-color: var(--rh-negro); }
.rh-chip-link.is-activo span { color: #bbb; }
.rh-banner-may {
	margin-top: clamp(2.5rem, 5vw, 4rem); background: var(--rh-negro); color: #fff; border-radius: var(--rh-radio);
	padding: clamp(1.6rem, 4vw, 2.6rem); display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap;
}
.rh-banner-may .rh-eyebrow { margin-bottom: .4rem; }
.rh-banner-may__t { font-family: var(--rh-serif); font-size: clamp(1.4rem, 2.6vw, 2rem); margin: 0; }
.wc-block-breadcrumbs, .woocommerce-breadcrumb { font-size: .82rem; color: var(--rh-gris); }
.wc-block-breadcrumbs a, .woocommerce-breadcrumb a { color: var(--rh-gris); text-decoration: none; }

/* Ficha de producto */
.rh-ficha { padding: clamp(1.4rem, 3vw, 2.4rem) clamp(1.1rem, 4vw, 2rem) 0 !important; }
.rh-ficha__grid { margin-top: 1.4rem !important; align-items: flex-start; }
.rh-ficha__media .woocommerce-product-gallery { border-radius: var(--rh-radio); overflow: hidden; background: var(--rh-arena); }
.rh-ficha__media .woocommerce-product-gallery img { aspect-ratio: 1; object-fit: cover; }
.rh-ficha__media .woocommerce-product-gallery__trigger { background: #fff; border-radius: 50%; }
.rh-ficha__info { position: sticky; top: 110px; }
.rh-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1.1rem; }
.rh-tag { font-size: .72rem; font-weight: 700; letter-spacing: .04em; padding: .38rem .75rem; border-radius: 999px; background: #fff; border: 1px solid var(--rh-linea); }
.rh-tag--oscura { background: var(--rh-negro); color: #fff; border-color: var(--rh-negro); }
.rh-ficha__titulo { font-family: var(--rh-serif); font-weight: 400 !important; font-size: clamp(2.3rem, 4.4vw, 3.6rem) !important; letter-spacing: -.02em; line-height: 1.04; margin: 0 0 .8rem !important; }
.rh-ficha__precio, .rh-ficha__precio .amount { font-family: var(--rh-serif); font-size: 2rem !important; font-weight: 400 !important; }
.rh-ficha__resumen { color: var(--rh-gris); font-size: 1.04rem; margin: 1rem 0 1.6rem !important; }
.rh-ficha form.cart { display: flex; gap: .7rem; align-items: stretch; flex-wrap: wrap; margin-bottom: 0 !important; }
.rh-ficha form.cart .quantity input.qty {
	height: 100%; min-height: 54px; width: 84px; border-radius: 999px; border: 1px solid var(--rh-linea); background: #fff;
	text-align: center; font-weight: 700; font-size: 1rem;
}
.rh-ficha form.cart .single_add_to_cart_button { flex: 1; min-height: 54px; border-radius: 999px !important; font-size: 1rem !important; }
.rh-pulso { animation: rh-pulso .9s var(--rh-ease); }
@keyframes rh-pulso { 30% { transform: scale(1.04); box-shadow: 0 0 0 8px #1f2b4722; } }

.rh-tramos { margin-top: 1.6rem; padding: 1.2rem; border-radius: var(--rh-radio); background: var(--rh-arena); border: 1px solid var(--rh-linea); }
.rh-tramos__titulo { font-weight: 700; margin: 0 0 .8rem; }
.rh-tramos__titulo span { font-weight: 500; color: var(--rh-gris); }
.rh-tramos__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; }
.rh-tramo-card {
	display: flex; flex-direction: column; align-items: flex-start; gap: .1rem; cursor: pointer; text-align: left;
	background: #fff; border: 1px solid var(--rh-linea); border-radius: var(--rh-radio-s); padding: .75rem .8rem; font: inherit; color: inherit;
	transition: border-color .2s, transform .2s var(--rh-ease), background .2s;
}
.rh-tramo-card:hover { border-color: var(--rh-negro); transform: translateY(-2px); }
.rh-tramo-card.is-activo { background: var(--rh-negro); color: #fff; border-color: var(--rh-negro); }
.rh-tramo-card__u { font-size: .72rem; font-weight: 700; letter-spacing: .08em; opacity: .7; }
.rh-tramo-card__p { font-family: var(--rh-serif); font-size: 1.25rem; }
.rh-tramo-card__c { font-size: .7rem; opacity: .6; }
.rh-tramos__nota { font-size: .8rem; color: var(--rh-gris); margin: .8rem 0 0; }

.rh-garantias { list-style: none; padding: 0; margin: 1.6rem 0 0; display: grid; gap: .9rem; border-top: 1px solid var(--rh-linea); padding-top: 1.4rem; }
.rh-garantias li { display: flex; gap: .9rem; align-items: flex-start; }
.rh-garantias svg { width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; margin-top: 2px; }
.rh-garantias strong { display: block; font-size: .95rem; }
.rh-garantias span { font-size: .85rem; color: var(--rh-gris); }

.rh-ficha__detalle { margin-top: clamp(3rem, 6vw, 5rem) !important; padding: clamp(1.6rem, 4vw, 3rem) !important; background: #fff; border-radius: var(--rh-radio); border: 1px solid var(--rh-linea); }
.rh-ficha__detalle h3 { font-family: var(--rh-serif); font-weight: 400; font-size: 1.8rem; }
.rh-ficha__detalle ol { padding-left: 1.2rem; }
.rh-ficha__detalle li { margin-bottom: .7rem; color: var(--rh-tinta); }

.rh-otras { padding-block: clamp(3.5rem, 7vw, 5.5rem); }
.rh-otras__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1rem; }
.rh-mini { text-decoration: none; display: flex; flex-direction: column; gap: .35rem; }
.rh-mini__img { border-radius: var(--rh-radio-s); overflow: hidden; background: var(--rh-arena); display: block; }
.rh-mini__img img { aspect-ratio: 4/5; object-fit: cover; width: 100%; display: block; transition: transform .7s var(--rh-ease); }
.rh-mini:hover .rh-mini__img img { transform: scale(1.06); }
.rh-mini__n { font-family: var(--rh-serif); font-size: 1.1rem; margin-top: .5rem; }
.rh-mini__p { font-weight: 700; font-size: .95rem; }

/* Tabla mayorista (página Mayoristas) */
.rh-tabla { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border: 1px solid var(--rh-linea); border-radius: var(--rh-radio-s); overflow: hidden; font-size: .95rem; }
.rh-tabla th, .rh-tabla td { padding: .9rem 1rem; text-align: left; border-bottom: 1px solid var(--rh-linea); }
.rh-tabla th { font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--rh-gris); background: var(--rh-arena); }
.rh-tabla tr:last-child td { border-bottom: 0; }
.rh-tabla td strong { font-family: var(--rh-serif); font-weight: 400; font-size: 1.2rem; }
.rh-mayorista__nota { font-size: .88rem; color: var(--rh-gris); margin-top: .9rem; }

/* Aviso de tramo en carrito/checkout */
.rh-tramo { max-width: 1240px; margin: 1rem auto; padding: 1rem 1.2rem; border-radius: var(--rh-radio-s); background: var(--rh-crema); font-size: .95rem; }
.rh-tramo__barra { display: block; height: 5px; border-radius: 5px; background: #12121218; margin-top: .7rem; overflow: hidden; }
.rh-tramo__barra span { display: block; height: 100%; background: var(--rh-negro); border-radius: 5px; transition: width .4s var(--rh-ease); }

/* Páginas genéricas */
.wp-block-post-title { letter-spacing: -.015em; }
.rh-foto img { border-radius: var(--rh-radio); }

/* Footer */
.rh-footer { border-radius: 0; }
.rh-footer a { color: inherit; text-decoration: none; }
.rh-footer a:hover { color: #fff; }
.rh-footer h3 { font-size: .72rem !important; letter-spacing: .2em; text-transform: uppercase; font-family: var(--rh-sans); font-weight: 700; color: #8d867b !important; }
.rh-footer__links { list-style: none; padding: 0; }
.rh-footer__links li { margin: .5rem 0; color: #d9d3ca; }
.rh-footer .rh-marca img { height: 46px; }
.rh-footer__legal { opacity: .55; }

/* H1 de la portada con estilo de chip */
h1.rh-chip { font-family: var(--rh-sans); font-size: .8rem !important; line-height: 1.3; font-weight: 600; letter-spacing: .03em; color: var(--rh-negro); }

/* Preguntas frecuentes */
.rh-faq-home { background: var(--rh-arena); }
.rh-faq-home__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.rh-faq-home__lead { font-family: var(--rh-serif); font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.15; margin: 0 0 1.8rem; }
.rh-faq-home .rh-faq > .rh-h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.rh-faq .rh-h2 { margin-bottom: 1.4rem; }
.rh-faq__lista { border-top: 1px solid var(--rh-linea); }
.rh-faq__item { border-bottom: 1px solid var(--rh-linea); }
.rh-faq__item summary {
	cursor: pointer; list-style: none; padding: 1.15rem 2.4rem 1.15rem 0; position: relative;
	font-weight: 600; font-size: 1.02rem;
}
.rh-faq__item summary::-webkit-details-marker { display: none; }
.rh-faq__item summary::after {
	content: "+"; position: absolute; right: .2rem; top: 50%; transform: translateY(-50%);
	width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--rh-linea); display: grid; place-items: center;
	font-weight: 400; font-size: 1.1rem; transition: transform .3s var(--rh-ease), background .3s;
}
.rh-faq__item[open] summary::after { transform: translateY(-50%) rotate(45deg); background: var(--rh-negro); color: #fff; border-color: var(--rh-negro); }
.rh-faq__item p { margin: 0 0 1.2rem; color: var(--rh-gris); max-width: 46rem; }

.rh-tienda__intro { color: var(--rh-gris); max-width: 46rem; font-size: 1.02rem; margin: 0; }

/* Botón flotante */
.rh-wa {
	position: fixed; right: 18px; bottom: 18px; z-index: 99; display: inline-flex; align-items: center; gap: .5rem;
	background: var(--rh-negro); color: #fff !important; padding: .8rem 1.15rem; border-radius: 999px; font-weight: 600;
	text-decoration: none; box-shadow: 0 16px 34px -14px rgba(0,0,0,.6); transition: transform .25s var(--rh-ease), background .25s;
}
.rh-wa svg { width: 20px; height: 20px; color: #4ade80; }
.rh-wa:hover { transform: translateY(-3px); background: var(--rh-azul); }

/* Animaciones de entrada (las activa rh.js) */
.rh-anim { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--rh-ease), transform .9s var(--rh-ease); }
.rh-anim.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.rh-marquee__pista, .rh-sello svg { animation: none; }
	* { transition-duration: .01ms !important; }
}

/* Responsive */
@media (max-width: 1024px) {
	.rh-saber__grid { grid-template-columns: repeat(2, 1fr); }
	.rh-saber__card--foto { grid-row: span 1; aspect-ratio: 4/3; }
	.rh-ig__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 860px) {
	.rh-hero__grid, .rh-mayor__grid, .rh-faq-home__grid { grid-template-columns: 1fr; }
	.rh-hero__collage { min-height: 0; aspect-ratio: 1 / 1.05; max-width: 520px; width: 100%; margin-inline: auto; }
	.rh-ficha__info { position: static; }
}
@media (max-width: 781px) {
	.rh-marca img { height: 38px; }
	.rh-header.is-scrolled .rh-marca img { height: 34px; }
	.rh-sello { width: 104px; height: 104px; left: 6%; }
	.rh-sello text { font-size: 15px; }
	.rh-hero__datos strong { font-size: 1.5rem; }
	.rh-mayor__tramos { grid-template-columns: repeat(2, 1fr); }
	.rh-calc__res { grid-template-columns: 1fr; }
	.rh-calc__res div { flex-direction: row; justify-content: space-between; align-items: center; }
	.rh-saber__grid { grid-template-columns: 1fr; }
	.rh-saber__card--oscura, .rh-saber__card--crema { grid-column: auto; }
	.rh-ig__grid { grid-template-columns: repeat(2, 1fr); }
	.rh-tramos__grid { grid-template-columns: repeat(2, 1fr); }
	.rh-productos .wc-block-product-template { grid-template-columns: repeat(2, 1fr) !important; }
	.rh-productos .wp-block-post-title a { font-size: 1.05rem; }
	.rh-productos .product_cat-escabeches .wc-block-components-product-image::after { content: "Mayorista"; }
	.rh-wa span { display: none; }
	.rh-wa { padding: .9rem; }
	.rh-tabla th, .rh-tabla td { padding: .6rem; }
}
