/* ============================================================
   RelaXcenter — sistema de diseño
   Estética "hotel boutique": crema marfil + vino, serif. (Paleta C elegida 2026-07-17)
   Mobile-first. Micro-interacción única: -2px / 150ms.
   ============================================================ */

:root {
	--rxc-bg: #f6efec;
	--rxc-surface: #fdf9f7;
	--rxc-border: #e6d8d4;
	--rxc-text: #33242b;
	--rxc-text-2: #6a565e;
	--rxc-text-3: #9b8990;
	--rxc-accent: #9e4152;
	--rxc-accent-hi: #872f3f;
	--rxc-gold: #8f6d2a;
	--rxc-gold-hi: #6e5320;
	--rxc-claro: #fdf9f7;
	--rxc-wa: #3f9a68;
	--rxc-radius-chip: 10px;
	--rxc-radius: 14px;
	--rxc-radius-panel: 16px;
	--rxc-shadow: 0 10px 26px rgba(51, 36, 43, .12);
	--rxc-font-display: 'Cormorant Garamond', Georgia, serif;
	--rxc-font-body: 'DM Sans', -apple-system, sans-serif;
}

/* ---------- Base sobre el theme (solo dentro de vistas rxc) ---------- */

/* Cajas predecibles: el padding no infla los anchos (arregla botones
   width:100% que desbordaban su card hacia la derecha). */
body.rxc-body *,
body.rxc-body *::before,
body.rxc-body *::after {
	box-sizing: border-box;
}

body.rxc-body {
	background: var(--rxc-bg);
	color: var(--rxc-text);
	font-family: var(--rxc-font-body);
	font-size: 16px;
	line-height: 1.6;
}

body.rxc-body a {
	color: var(--rxc-accent-hi);
	text-decoration: none;
}

.rxc-contenedor {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 16px;
}

.rxc-seccion {
	margin: 40px auto;
	max-width: 1120px;
	padding: 0 16px;
}

.rxc-seccion-titulo {
	font-family: var(--rxc-font-display);
	font-weight: 600;
	font-size: 28px;
	color: var(--rxc-text);
	margin: 0 0 16px;
}

/* ---------- Botones ---------- */

.rxc-btn {
	display: inline-block;
	padding: 12px 22px;
	border-radius: var(--rxc-radius-chip);
	font-family: var(--rxc-font-body);
	font-weight: 500;
	font-size: 15px;
	line-height: 1.2;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform 150ms ease, background-color 150ms ease, border-color 150ms ease;
}

.rxc-btn:hover { transform: translateY(-2px); }

.rxc-btn-acento {
	background: var(--rxc-accent);
	color: var(--rxc-claro) !important;
}

.rxc-btn-acento:hover { background: var(--rxc-accent-hi); }

.rxc-btn-fantasma {
	background: transparent;
	color: var(--rxc-text-2) !important;
	border-color: var(--rxc-border);
}

.rxc-btn-wa {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--rxc-wa);
	color: var(--rxc-claro) !important;
	padding: 10px 16px;
	border-radius: var(--rxc-radius-chip);
	font-weight: 500;
	font-size: 14px;
	transition: transform 150ms ease, filter 150ms ease;
}

.rxc-btn-wa:hover { transform: translateY(-2px); filter: brightness(1.1); }

.rxc-btn-wa-grande {
	width: 100%;
	padding: 14px 20px;
	font-size: 16px;
}

/* ---------- Chips y pills ---------- */

.rxc-chips { display: flex; flex-wrap: wrap; gap: 6px; }

.rxc-chip {
	display: inline-block;
	padding: 4px 10px;
	border-radius: var(--rxc-radius-chip);
	background: var(--rxc-surface);
	border: 1px solid var(--rxc-border);
	color: var(--rxc-text-2);
	font-size: 12.5px;
}

.rxc-pills { display: flex; flex-wrap: wrap; gap: 10px; }

.rxc-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: var(--rxc-radius-chip);
	background: var(--rxc-surface);
	border: 1px solid var(--rxc-border);
	color: var(--rxc-text) !important;
	font-size: 14px;
	transition: transform 150ms ease, border-color 150ms ease;
}

.rxc-pill:hover { transform: translateY(-2px); border-color: var(--rxc-accent); }

.rxc-pill-num { color: var(--rxc-text-3); font-size: 12.5px; }

.rxc-pill-vip {
	border-color: var(--rxc-gold);
	color: var(--rxc-gold-hi) !important;
	font-weight: 700;
	letter-spacing: .08em;
}

.rxc-pill-vip:hover { border-color: var(--rxc-gold-hi); }

/* ---------- "Cerca tuyo" (geolocalización) ---------- */

.rxc-pill-cerca {
	border-color: var(--rxc-accent);
	color: var(--rxc-accent-hi) !important;
	cursor: pointer;
	font-family: var(--rxc-font-body);
	gap: 6px;
}

.rxc-cerca {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.rxc-cerca .rxc-cerca-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	font-size: 13.5px;
}

.rxc-cerca-btn.rxc-cargando { opacity: .5; pointer-events: none; }

.rxc-cerca-msg {
	color: var(--rxc-text-3);
	font-size: 12.5px;
	font-family: var(--rxc-font-body);
}

.rxc-cerca-nota {
	color: var(--rxc-text-2);
	font-size: 14px;
	margin: 0 0 14px;
	padding: 10px 16px;
	background: var(--rxc-surface);
	border: 1px solid var(--rxc-accent);
	border-radius: var(--rxc-radius-chip);
	display: inline-block;
}

/* ---------- Cabecera de sección con "Ver todas" ---------- */

.rxc-seccion-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}

.rxc-seccion-head .rxc-seccion-titulo { margin-bottom: 0; }

.rxc-ver-todas {
	font-size: 13.5px;
	font-weight: 500;
	color: var(--rxc-accent) !important;
	white-space: nowrap;
	border-bottom: 1px solid transparent;
}

.rxc-ver-todas:hover { border-bottom-color: var(--rxc-accent); }

.rxc-ver-todas-vip { color: var(--rxc-gold) !important; }
.rxc-ver-todas-vip:hover { border-bottom-color: var(--rxc-gold); }

.rxc-seccion-vip .rxc-seccion-titulo {
	color: var(--rxc-gold);
	letter-spacing: .04em;
}

/* ---------- Botón volver (header, páginas interiores) ---------- */

.rxc-volver {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid var(--rxc-border);
	background: var(--rxc-surface);
	color: var(--rxc-text-2) !important;
	font-size: 17px;
	line-height: 1;
	cursor: pointer;
	flex-shrink: 0;
	transition: transform 150ms ease, border-color 150ms ease;
}

.rxc-volver:hover { transform: translateY(-2px); border-color: var(--rxc-accent); }

/* ---------- Card de perfil ---------- */

.rxc-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}

.rxc-grid-3 { grid-template-columns: repeat(2, 1fr); }

@media (min-width: 720px) {
	.rxc-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
	.rxc-grid-3 { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 1024px) {
	.rxc-grid { grid-template-columns: repeat(4, 1fr); }
}

.rxc-card {
	background: var(--rxc-surface);
	border: 1px solid var(--rxc-border);
	border-radius: var(--rxc-radius);
	overflow: hidden;
	transition: transform 150ms ease, box-shadow 150ms ease;
}

.rxc-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--rxc-shadow);
}

.rxc-card-vip { border-color: var(--rxc-gold); }

.rxc-card-media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	background: var(--rxc-bg);
}

.rxc-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	max-width: 100%;
}

.rxc-card-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	height: 100%;
	background: radial-gradient(ellipse at 50% 30%, #efe3df 0%, var(--rxc-bg) 75%);
}

.rxc-card-inicial {
	font-family: var(--rxc-font-display);
	font-weight: 500;
	font-size: 64px;
	color: var(--rxc-accent);
	line-height: 1;
}

.rxc-card-placeholder-nota {
	font-size: 12px;
	color: var(--rxc-text-3);
	letter-spacing: .04em;
}

.rxc-badge-vip {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(253, 249, 247, .9);
	border: 1px solid var(--rxc-gold);
	color: var(--rxc-gold);
	font-family: var(--rxc-font-body);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
}

.rxc-badge-dest {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(253, 249, 247, .9);
	border: 1px solid var(--rxc-accent);
	color: var(--rxc-accent);
	font-family: var(--rxc-font-body);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
}

.rxc-badge-hoy {
	position: absolute;
	top: 10px;
	right: 10px;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(253, 249, 247, .9);
	border: 1px solid var(--rxc-border);
	color: #4a3b42;
	font-size: 11px;
	font-weight: 500;
}

.rxc-punto {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--rxc-wa);
	display: inline-block;
}

.rxc-card-body { padding: 12px 14px 14px; }

.rxc-card-nombre {
	font-family: var(--rxc-font-display);
	font-weight: 600;
	font-size: 21px;
	margin: 0;
	line-height: 1.2;
}

.rxc-card-nombre a { color: var(--rxc-text) !important; }

.rxc-card-barrio {
	margin: 2px 0 8px;
	color: var(--rxc-text-3);
	font-size: 13px;
}

.rxc-card .rxc-chips { margin-bottom: 12px; }

.rxc-card .rxc-btn-wa { width: 100%; }

/* En el single, badges dentro del h1 */
.rxc-single-nombre .rxc-badge-vip,
.rxc-single-nombre .rxc-badge-dest {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(253, 249, 247, .9);
	border: 1px solid var(--rxc-accent);
	color: var(--rxc-accent);
	font-family: var(--rxc-font-body);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
}

.rxc-badge-hoy {
	position: static;
	vertical-align: middle;
	margin-left: 10px;
}

/* ---------- Hero + buscador ---------- */

.rxc-hero {
	max-width: 1120px;
	margin: 20px auto 28px;
	padding: 0 16px;
	text-align: center;
}

.rxc-hero-titulo {
	font-family: var(--rxc-font-display);
	font-weight: 600;
	font-size: 32px;
	line-height: 1.15;
	margin: 0 0 6px;
	color: var(--rxc-text);
}

.rxc-hero-sub {
	color: var(--rxc-text-2);
	font-size: 15px;
	margin: 0 0 18px;
}

@media (min-width: 720px) {
	.rxc-hero-titulo { font-size: 46px; }
	.rxc-hero-titulo br { display: none; }
	.rxc-hero-sub { font-size: 17px; }
}

.rxc-buscador {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	max-width: 760px;
	margin: 0 auto;
	background: var(--rxc-surface);
	border: 1px solid var(--rxc-border);
	border-radius: var(--rxc-radius-panel);
	padding: 12px;
}

/* El campo de nombre ocupa todo el ancho en mobile. */
.rxc-buscador input[type="search"] { grid-column: 1 / -1; }

@media (min-width: 720px) {
	.rxc-buscador { grid-template-columns: 1.4fr 1fr 1fr auto auto; align-items: center; }
	.rxc-buscador input[type="search"] { grid-column: auto; }
}

body.rxc-body .rxc-buscador input[type="search"],
body.rxc-body .rxc-filtros input[type="search"],
body.rxc-body .rxc-buscador select,
body.rxc-body .rxc-filtros select {
	background: var(--rxc-bg);
	color: var(--rxc-text);
	border: 1px solid var(--rxc-border);
	border-radius: var(--rxc-radius-chip);
	padding: 11px 12px;
	font-family: var(--rxc-font-body);
	font-size: 14px;
	width: 100%;
}

.rxc-check-hoy,
.rxc-filtro-hoy {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--rxc-text-2);
	font-size: 14px;
	padding: 0 4px;
	white-space: nowrap;
}

.rxc-check-hoy input,
.rxc-filtro-hoy input { accent-color: var(--rxc-accent); }

/* ---------- Filtros del listado ---------- */

.rxc-filtros {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin: 0 0 22px;
	background: var(--rxc-surface);
	border: 1px solid var(--rxc-border);
	border-radius: var(--rxc-radius-panel);
	padding: 12px;
}

@media (min-width: 900px) {
	.rxc-filtros { grid-template-columns: repeat(3, 1fr); align-items: end; }
	.rxc-filtros .rxc-btn { justify-self: start; }
}

.rxc-filtro span {
	display: block;
	font-size: 12px;
	color: var(--rxc-text-3);
	margin-bottom: 4px;
}

.rxc-filtro-hoy { align-self: center; }
.rxc-filtro-hoy span { display: inline; margin: 0; font-size: 14px; color: var(--rxc-text-2); }

/* ---------- Estado vacío ---------- */

.rxc-vacio {
	grid-column: 1 / -1;
	text-align: center;
	padding: 56px 20px;
	background: var(--rxc-surface);
	border: 1px dashed var(--rxc-border);
	border-radius: var(--rxc-radius-panel);
}

.rxc-vacio-titulo {
	font-family: var(--rxc-font-display);
	font-weight: 600;
	font-size: 24px;
	margin: 0 0 6px;
}

.rxc-vacio-texto {
	color: var(--rxc-text-3);
	margin: 0 0 18px;
}

/* ---------- Paginación ---------- */

.rxc-paginacion {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 28px 0;
	flex-wrap: wrap;
}

.rxc-paginacion .page-numbers {
	padding: 8px 14px;
	border-radius: var(--rxc-radius-chip);
	background: var(--rxc-surface);
	border: 1px solid var(--rxc-border);
	color: var(--rxc-text-2) !important;
	font-size: 14px;
}

.rxc-paginacion .page-numbers.current {
	background: var(--rxc-accent);
	color: var(--rxc-claro) !important;
	border-color: var(--rxc-accent);
}

/* ---------- Single perfil ---------- */

.rxc-single { padding: 16px 0 90px; }

.rxc-galeria {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	border-radius: var(--rxc-radius);
	margin-bottom: 18px;
	scrollbar-width: none;
}

.rxc-galeria::-webkit-scrollbar { display: none; }

.rxc-galeria-item {
	flex: 0 0 78%;
	scroll-snap-align: center;
	margin: 0;
	border-radius: var(--rxc-radius);
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: var(--rxc-surface);
}

@media (min-width: 720px) {
	.rxc-galeria-item { flex: 0 0 320px; }
}

.rxc-galeria-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.rxc-galeria-placeholder {
	aspect-ratio: 4 / 5;
	max-width: 380px;
	border-radius: var(--rxc-radius);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: radial-gradient(ellipse at 50% 30%, #efe3df 0%, var(--rxc-bg) 75%);
	border: 1px solid var(--rxc-border);
	margin-bottom: 18px;
}

.rxc-single-nombre {
	font-family: var(--rxc-font-display);
	font-weight: 600;
	font-size: 36px;
	margin: 0 0 2px;
	color: var(--rxc-text);
}

.rxc-single-barrio { margin: 0 0 10px; color: var(--rxc-text-3); font-size: 15px; }
.rxc-single-barrio a { color: var(--rxc-text-2) !important; border-bottom: 1px solid var(--rxc-border); }

.rxc-verificado {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 14px 0 0;
	padding: 10px 16px;
	border-radius: var(--rxc-radius-chip);
	background: var(--rxc-surface);
	border: 1px solid var(--rxc-gold);
	color: var(--rxc-gold-hi);
	font-size: 13.5px;
}

.rxc-single-cuerpo {
	display: grid;
	gap: 24px;
	margin: 22px 0;
}

@media (min-width: 900px) {
	.rxc-single-cuerpo { grid-template-columns: 1.4fr 1fr; align-items: start; }
}

.rxc-single-texto { color: var(--rxc-text-2); font-size: 16px; }
.rxc-single-texto p { margin: 0 0 14px; }

.rxc-ficha {
	margin: 0;
	background: var(--rxc-surface);
	border: 1px solid var(--rxc-border);
	border-radius: var(--rxc-radius-panel);
	padding: 6px 18px;
}

.rxc-ficha-fila {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--rxc-border);
}

.rxc-ficha-fila:last-child { border-bottom: 0; }

.rxc-ficha dt {
	color: var(--rxc-text-3);
	font-size: 13.5px;
	font-weight: 500;
	flex-shrink: 0;
}

.rxc-ficha dd {
	margin: 0;
	color: var(--rxc-text);
	font-size: 14.5px;
	text-align: right;
}

.rxc-cta-inline { max-width: 420px; margin: 4px 0 8px; }

/* CTA sticky mobile — la decisión que más mueve conversión. */
.rxc-cta-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 28px 16px 16px;
	background: linear-gradient(to top, rgba(246, 239, 236, .97) 55%, rgba(246, 239, 236, 0));
	z-index: 9000;
}

@media (min-width: 900px) {
	.rxc-cta-sticky { display: none; }
	.rxc-single { padding-bottom: 40px; }
}

/* ---------- Confianza / CTA pro ---------- */

.rxc-confianza {
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr;
}

@media (min-width: 720px) {
	.rxc-confianza { grid-template-columns: repeat(3, 1fr); }
}

.rxc-confianza-item {
	background: var(--rxc-surface);
	border: 1px solid var(--rxc-border);
	border-radius: var(--rxc-radius);
	padding: 20px;
}

.rxc-confianza-item h3 {
	font-family: var(--rxc-font-display);
	font-weight: 600;
	font-size: 21px;
	margin: 0 0 6px;
	color: var(--rxc-text);
}

.rxc-confianza-item p { margin: 0; color: var(--rxc-text-3); font-size: 14px; }

.rxc-cta-pro {
	text-align: center;
	background: var(--rxc-surface);
	border: 1px solid var(--rxc-border);
	border-radius: var(--rxc-radius-panel);
	padding: 36px 20px;
	max-width: calc(1120px - 32px);
}

.rxc-cta-pro h2 {
	font-family: var(--rxc-font-display);
	font-weight: 600;
	font-size: 28px;
	margin: 0 0 6px;
	color: var(--rxc-text);
}

.rxc-cta-pro p { color: var(--rxc-text-2); margin: 0 0 18px; }

/* ---------- Planes ---------- */

.rxc-planes-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr;
}

@media (min-width: 820px) {
	.rxc-planes-grid { grid-template-columns: repeat(3, 1fr); align-items: start; }
}

.rxc-plan {
	background: var(--rxc-surface);
	border: 1px solid var(--rxc-border);
	border-radius: var(--rxc-radius-panel);
	padding: 24px;
	transition: transform 150ms ease;
}

.rxc-plan:hover { transform: translateY(-2px); }
.rxc-plan-destacado { border-color: var(--rxc-accent); }
.rxc-plan-vip { border-color: var(--rxc-gold); }

.rxc-plan h3 {
	font-family: var(--rxc-font-display);
	font-weight: 600;
	font-size: 24px;
	margin: 0;
	color: var(--rxc-text);
}

.rxc-plan-precio {
	font-size: 28px;
	font-weight: 700;
	margin: 6px 0 14px;
	color: var(--rxc-text);
}

.rxc-plan-precio span { font-size: 13px; font-weight: 400; color: var(--rxc-text-3); }

.rxc-plan-consultar {
	font-size: 17px;
	font-weight: 600;
	color: var(--rxc-accent);
}

.rxc-form-modalidad legend small {
	font-weight: 400;
	color: var(--rxc-text-3);
	font-size: 12px;
}

.rxc-plan ul { list-style: none; margin: 0 0 18px; padding: 0; }

.rxc-plan li {
	padding: 7px 0 7px 22px;
	position: relative;
	color: var(--rxc-text-2);
	font-size: 14px;
	border-bottom: 1px solid var(--rxc-border);
}

.rxc-plan li:last-child { border-bottom: 0; }

.rxc-plan li::before {
	content: '·';
	position: absolute;
	left: 6px;
	color: var(--rxc-accent);
	font-weight: 700;
}

.rxc-planes-nota { color: var(--rxc-text-3); font-size: 13px; margin-top: 14px; }

/* ---------- Formulario de alta ---------- */

.rxc-form {
	display: grid;
	gap: 14px;
	max-width: 640px;
	background: var(--rxc-surface);
	border: 1px solid var(--rxc-border);
	border-radius: var(--rxc-radius-panel);
	padding: 22px;
}

.rxc-form > label {
	display: block;
	font-size: 13.5px;
	color: var(--rxc-text-2);
	font-weight: 500;
}

body.rxc-body .rxc-form input[type="text"],
body.rxc-body .rxc-form input[type="tel"],
body.rxc-body .rxc-form input[type="file"],
body.rxc-body .rxc-form select,
body.rxc-body .rxc-form textarea {
	display: block;
	width: 100%;
	margin-top: 6px;
	background: var(--rxc-bg);
	color: var(--rxc-text);
	border: 1px solid var(--rxc-border);
	border-radius: var(--rxc-radius-chip);
	padding: 11px 12px;
	font-family: var(--rxc-font-body);
	font-size: 14.5px;
}

.rxc-form-modalidad {
	border: 1px solid var(--rxc-border);
	border-radius: var(--rxc-radius-chip);
	padding: 12px 14px;
}

.rxc-form-modalidad legend { font-size: 13.5px; color: var(--rxc-text-2); padding: 0 6px; }

.rxc-check {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-right: 14px;
	color: var(--rxc-text-2);
	font-size: 14px;
}

.rxc-check input { accent-color: var(--rxc-accent); }

.rxc-form-nota { font-size: 12.5px; color: var(--rxc-text-3); margin: 0; }

.rxc-hp { position: absolute !important; left: -9999px !important; }

.rxc-aviso {
	border-radius: var(--rxc-radius-chip);
	padding: 14px 18px;
	margin-bottom: 16px;
	font-size: 14.5px;
}

.rxc-aviso-ok { background: rgba(63, 154, 104, .12); border: 1px solid var(--rxc-wa); color: var(--rxc-text); }
.rxc-aviso-error { background: rgba(177, 107, 74, .12); border: 1px solid var(--rxc-accent); color: var(--rxc-text); }

/* ---------- Intro de landings (SEO) ---------- */

.rxc-tax-intro {
	max-width: 720px;
	color: var(--rxc-text-2);
	font-size: 15px;
	margin: 0 0 20px;
}

.rxc-tax-intro p { margin: 0 0 10px; }

/* ---------- Enlaces internos del footer ---------- */

.rxc-footer-links {
	max-width: 1120px;
	margin: 0 auto 26px;
	display: grid;
	gap: 22px;
	grid-template-columns: 1fr;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--rxc-border);
}

@media (min-width: 720px) {
	.rxc-footer-links { grid-template-columns: repeat(3, 1fr); }
}

.rxc-footer-links-col h4 {
	font-family: var(--rxc-font-display);
	font-weight: 600;
	font-size: 18px;
	color: var(--rxc-text);
	margin: 0 0 8px;
}

.rxc-footer-links-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 14px;
}

.rxc-footer-links-col a {
	color: var(--rxc-text-2) !important;
	font-size: 13px;
}

.rxc-footer-links-col a:hover { color: var(--rxc-accent) !important; }

/* ---------- Aviso legal ---------- */

.rxc-legal { color: var(--rxc-text-2); max-width: 760px; }
.rxc-legal li { margin-bottom: 14px; }

/* ---------- Age gate ---------- */

.rxc-age-gate {
	position: fixed;
	inset: 0;
	z-index: 999999;
	align-items: center;
	justify-content: center;
	background: radial-gradient(ellipse at 50% 35%, #efe3df 0%, var(--rxc-bg) 80%);
	padding: 24px;
}

.rxc-age-gate-inner {
	max-width: 460px;
	text-align: center;
}

.rxc-gate-wordmark {
	font-family: var(--rxc-font-display);
	font-weight: 600;
	font-size: 30px;
	color: var(--rxc-text);
	margin: 0 0 22px;
	letter-spacing: .01em;
}

.rxc-gate-wordmark span { color: var(--rxc-accent); }

.rxc-age-gate h2 {
	font-family: var(--rxc-font-display);
	font-weight: 600;
	font-size: 27px;
	color: var(--rxc-text);
	margin: 0 0 10px;
	line-height: 1.2;
}

.rxc-gate-text {
	color: var(--rxc-text-2);
	font-family: var(--rxc-font-body);
	font-size: 14.5px;
	margin: 0 0 24px;
}

.rxc-gate-text a { color: var(--rxc-accent-hi); }

.rxc-gate-botones {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

/* ---------- Header / footer propios (child theme) ---------- */

.rxc-header {
	position: sticky;
	top: 0;
	z-index: 8000;
	background: rgba(246, 239, 236, .92);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--rxc-border);
}

.rxc-header-inner {
	max-width: 1120px;
	margin: 0 auto;
	padding: 12px 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.rxc-logo {
	font-family: var(--rxc-font-display);
	font-weight: 600;
	font-size: 24px;
	color: var(--rxc-text) !important;
	line-height: 1;
	white-space: nowrap;
}

.rxc-logo span { color: var(--rxc-accent); }

.rxc-nav { display: none; }

@media (min-width: 820px) {
	.rxc-nav { display: block; }
	.rxc-nav ul { display: flex; gap: 22px; list-style: none; margin: 0; padding: 0; }
	.rxc-nav a { color: var(--rxc-text-2) !important; font-size: 14.5px; }
	.rxc-nav a:hover { color: var(--rxc-text) !important; }
}

.rxc-header .rxc-btn { padding: 9px 16px; font-size: 13.5px; white-space: nowrap; }

/* Logo: figura recostada (PNG original recoloreado a vino) + wordmark */
.rxc-logo-lockup { display: inline-flex; align-items: center; }
.rxc-logo-figura {
	width: 118px;
	flex-shrink: 0;
	margin-right: 4px;
}
.rxc-logo-figura img {
	display: block;
	width: 100%;
	height: auto;
	filter: hue-rotate(92deg) saturate(1.05) brightness(0.92);
}
@media (max-width: 719px) {
	.rxc-header-inner { gap: 8px; padding: 10px 12px; }
	.rxc-header .rxc-btn { padding: 8px 10px; font-size: 12px; }
	.rxc-logo-lockup { font-size: 18px; }
	.rxc-logo-figura { width: 64px; margin-right: 0; }
	.rxc-volver { width: 30px; height: 30px; font-size: 15px; }
}

.rxc-footer {
	border-top: 1px solid var(--rxc-border);
	margin-top: 48px;
	padding: 32px 16px 40px;
	background: var(--rxc-surface);
}

.rxc-footer-inner {
	max-width: 1120px;
	margin: 0 auto;
	display: grid;
	gap: 18px;
}

@media (min-width: 720px) {
	.rxc-footer-inner { grid-template-columns: 1fr auto; align-items: center; }
}

.rxc-footer-legal { color: var(--rxc-text-3); font-size: 12.5px; max-width: 560px; }
.rxc-footer-legal a { color: var(--rxc-text-2) !important; }

.rxc-footer-nav ul { display: flex; flex-wrap: wrap; gap: 16px; list-style: none; margin: 0; padding: 0; }
.rxc-footer-nav a { color: var(--rxc-text-2) !important; font-size: 13.5px; }

/* ---------- Página genérica con template rxc ---------- */

.rxc-pagina-titulo {
	font-family: var(--rxc-font-display);
	font-weight: 600;
	font-size: 34px;
	margin: 28px 0 18px;
	color: var(--rxc-text);
}

.rxc-pagina-contenido { color: var(--rxc-text-2); }
.rxc-pagina-contenido .rxc-hero-titulo { text-align: left; }

/* Cualquier contenido ancho scrollea en su contenedor, nunca el body. */
.rxc-pagina-contenido table { display: block; overflow-x: auto; }
