/**
 * Ficha de empresa v2 (single-empresa).
 *
 * Solo se carga en is_singular('empresa') (functions/enqueue-custom-scripts.php).
 * Todas las clases llevan el prefijo .scl-emp / .scl-rv / .scl-stars para no
 * interferir con style.css.
 *
 * Paleta de la marca DonContacto con ajustes de contraste AA:
 *   - El naranja de CTA baja a #B4520A (blanco sobre #EB7324 es 3:1, no pasa
 *     AA en texto normal; sobre #B4520A es 5,1:1).
 *   - Texto de enlace en #006A8C (6,1:1) en lugar de #007BA2 (4,8:1).
 *
 * Elemento distintivo: el horario semanal como gráfico con marcador de "ahora".
 */

.scl-emp {
	--ink: #1b2a31;
	--muted: #56646b;
	--brand: #007ba2;
	--brand-text: #006a8c;
	--brand-deep: #003f53;
	--brand-tint: #e7f3f7;
	--accent: #b4520a;
	--accent-hover: #954408;
	--surface: #f3f6f8;
	--line: #dce3e8;
	--line-strong: #c4cfd6;
	--open: #0b7a45;
	--closed: #b42318;
	--star: #c98100;
	--star-off: #d8dfe4;
	--radius-lg: 20px;
	--radius: 14px;
	--radius-sm: 10px;

	background: var(--surface);
	color: var(--ink);
	font-size: 16px;
	line-height: 1.5;
	padding: 0 0 72px;
	-webkit-font-smoothing: antialiased;
}

.scl-emp *,
.scl-emp *::before,
.scl-emp *::after {
	box-sizing: border-box;
}

.scl-emp ::selection {
	background: #cfe5ee;
	color: var(--ink);
}

.scl-emp h1,
.scl-emp h2,
.scl-emp h3,
.scl-emp p,
.scl-emp ul,
.scl-emp ol,
.scl-emp dl,
.scl-emp dd,
.scl-emp figure {
	margin: 0;
	padding: 0;
}

.scl-emp ul,
.scl-emp ol {
	list-style: none;
}

.scl-emp img {
	max-width: 100%;
	height: auto;
}

.scl-emp [hidden] {
	display: none !important;
}

.scl-emp-ico {
	flex: none;
	width: 20px;
	height: 20px;
}

@media (max-width: 1023px) {
	/* Barra fija inferior del tema (42 px) + burbuja de WhatsApp. */
	.scl-emp {
		padding-bottom: 96px;
	}
}

/* ------------------------------------------------------------------ Marco */

.scl-emp__wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
}

@media (min-width: 768px) {
	.scl-emp__wrap {
		padding: 0 24px;
	}
}

.scl-emp #container_breadcrumbs.scl-emp__crumbs {
	max-width: none;
	margin: 0;
	padding: 16px 0 12px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--muted);
}

.scl-emp #container_breadcrumbs a {
	font-size: 14px;
	color: var(--brand-text);
}

.scl-emp #container_breadcrumbs span {
	font-size: 14px;
	color: var(--muted);
}

.scl-emp #container_breadcrumbs span[aria-current] {
	color: var(--ink);
}

.scl-emp #container_breadcrumbs span[aria-hidden="true"] {
	padding: 0 6px;
	color: var(--line-strong);
}

.scl-emp__layout {
	display: grid;
	gap: 16px;
	margin-top: 16px;
}

@media (min-width: 1024px) {
	.scl-emp__layout {
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 28px;
		align-items: start;
		margin-top: 24px;
	}

	.scl-emp__aside {
		position: sticky;
		top: 24px;
	}
}

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

.scl-emp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 18px;
	border: 1px solid transparent;
	border-radius: 12px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.scl-emp-btn--primary {
	background: var(--accent);
	color: #fff;
	box-shadow: 0 8px 18px -10px rgba(149, 68, 8, .7);
}

.scl-emp-btn--primary:hover {
	background: var(--accent-hover);
	color: #fff;
}

.scl-emp-btn--secondary {
	background: var(--brand-deep);
	color: #fff;
}

.scl-emp-btn--secondary:hover {
	background: #00566f;
	color: #fff;
}

.scl-emp-btn--ghost {
	background: #fff;
	border-color: var(--line-strong);
	color: var(--ink);
}

.scl-emp-btn--ghost:hover {
	border-color: var(--brand);
	color: var(--brand-text);
}

.scl-emp-btn--outline {
	background: #fff;
	border: 1.5px solid var(--brand);
	color: var(--brand-text);
}

.scl-emp-btn--outline:hover {
	background: var(--brand-tint);
}

.scl-emp-btn--block {
	display: flex;
	width: 100%;
}

.scl-emp-btn[disabled],
.scl-emp-btn[aria-busy="true"] {
	opacity: .7;
	cursor: progress;
}

.scl-emp-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--brand-text);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.scl-emp-link:hover {
	color: var(--brand-deep);
	text-decoration-thickness: 2px;
}

.scl-emp-link--strong {
	font-weight: 700;
}

.scl-emp-link .scl-emp-ico {
	width: 18px;
	height: 18px;
}

.scl-emp-muted {
	color: var(--muted);
}

.scl-emp-fine {
	margin-top: 12px !important;
	font-size: 13.5px;
	color: var(--muted);
}

/* -------------------------------------------------------------- Monograma */

.scl-emp-mono {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--brand-deep);
	color: #d3ebf3;
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1;
}

.scl-emp-mono--sm {
	font-size: 17px;
	border-radius: 12px;
}

.scl-emp-mono--xs {
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--brand-tint);
	color: var(--brand-deep);
	font-size: 15px;
}

/* --------------------------------------------------------------- Cabecera */

.scl-emp-hero {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	padding: 20px;
}

@media (min-width: 768px) {
	.scl-emp-hero {
		padding: 32px;
	}
}

.scl-emp-hero__id {
	display: flex;
	gap: 16px;
	align-items: flex-start;
}

@media (min-width: 768px) {
	.scl-emp-hero__id {
		gap: 24px;
	}
}

.scl-emp-hero__logo {
	flex: none;
	width: 72px;
	height: 72px;
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--line);
	display: flex;
	align-items: center;
	justify-content: center;
}

.scl-emp-hero__logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 6px;
}

.scl-emp-hero__logo .scl-emp-mono {
	border-radius: 0;
}

@media (min-width: 768px) {
	.scl-emp-hero__logo {
		width: 104px;
		height: 104px;
		border-radius: 20px;
	}

	.scl-emp-hero__logo .scl-emp-mono {
		font-size: 38px;
	}
}

.scl-emp-hero__text {
	min-width: 0;
	flex: 1;
}

.scl-emp .scl-emp-hero__title {
	position: static;
	display: block;
	margin: 0;
	padding: 0;
	font-size: 24px;
	line-height: 1.15;
	font-weight: 800;
	letter-spacing: -.02em;
	text-align: left;
	color: var(--ink);
	text-wrap: balance;
	overflow-wrap: anywhere;
}

@media (min-width: 768px) {
	.scl-emp .scl-emp-hero__title {
		font-size: 34px;
	}
}

@media (min-width: 1200px) {
	.scl-emp .scl-emp-hero__title {
		font-size: 38px;
	}
}

.scl-emp-hero__sub {
	margin-top: 6px !important;
	font-size: 16px;
	color: var(--muted);
}

.scl-emp-hero__sub a {
	color: var(--brand-text);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.scl-emp-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin-top: 12px;
}

@media (max-width: 519px) {
	.scl-emp-hero__meta {
		margin-left: -88px;
		margin-top: 16px;
	}
}

.scl-emp-rating {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--ink);
	text-decoration: none;
	font-size: 15px;
}

.scl-emp-rating strong {
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.scl-emp-rating span {
	color: var(--muted);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.scl-emp-rating--empty {
	color: var(--brand-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.scl-emp-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 15px;
	color: var(--muted);
}

.scl-emp-status strong,
.scl-emp-hours__status strong,
.scl-emp-contact__status strong {
	font-weight: 800;
}

.scl-emp-status__txt {
	color: var(--muted);
}

.scl-emp .is-open strong {
	color: var(--open);
}

.scl-emp .is-shut strong {
	color: var(--closed);
}

.scl-emp-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
	flex: none;
	align-self: flex-start;
	margin-top: .5em;
}

.scl-emp .is-open .scl-emp-dot {
	background: var(--open);
	box-shadow: 0 0 0 3px rgba(11, 122, 69, .18);
}

.scl-emp .is-shut .scl-emp-dot {
	background: var(--closed);
}

.scl-emp-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px 4px 8px;
	border-radius: 999px;
	background: #eef1f3;
	color: var(--muted);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.scl-emp-badge .scl-emp-ico {
	width: 16px;
	height: 16px;
}

.scl-emp-badge--ok {
	background: var(--brand-tint);
	color: var(--brand-deep);
}

.scl-emp-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
}

.scl-emp-hero__actions .scl-emp-btn {
	flex: 1 1 0;
	min-width: 0;
	padding: 0 12px;
}

.scl-emp-hero__actions .scl-emp-btn--primary {
	flex-basis: 100%;
}

@media (min-width: 768px) {
	.scl-emp-hero__actions {
		margin-top: 28px;
		padding-left: 128px;
	}

	.scl-emp-hero__actions .scl-emp-btn {
		flex: 0 0 auto;
		padding: 0 20px;
	}

	.scl-emp-hero__actions .scl-emp-btn--primary {
		flex-basis: auto;
		padding: 0 24px;
	}
}

.scl-emp-hero__note {
	margin-top: 14px !important;
	padding: 12px 16px;
	border-radius: 12px;
	background: var(--brand-tint);
	font-size: 15px;
	color: var(--brand-deep);
}

.scl-emp-hero__note a {
	color: var(--brand-deep);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.scl-emp-hero__fine {
	margin-top: 12px !important;
	max-width: 64ch;
	font-size: 14px;
	color: var(--muted);
}

@media (min-width: 768px) {
	.scl-emp-hero__note,
	.scl-emp-hero__fine {
		margin-left: 128px !important;
	}
}

/* ----------------------------------------------------- Columna principal */

.scl-emp-sheet {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	overflow: hidden;
}

.scl-emp-sec {
	padding: 24px 20px;
	scroll-margin-top: 110px;
}

.scl-emp-sec + .scl-emp-sec {
	border-top: 1px solid var(--line);
}

@media (min-width: 768px) {
	.scl-emp-sec {
		padding: 32px;
	}
}

.scl-emp .scl-emp-sec__title {
	margin: 0 0 16px;
	padding: 0;
	font-size: 21px;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--ink);
	text-align: left;
	text-wrap: balance;
}

@media (min-width: 768px) {
	.scl-emp .scl-emp-sec__title {
		font-size: 24px;
		margin-bottom: 20px;
	}
}

.scl-emp-prose {
	max-width: 70ch;
	font-size: 16px;
	line-height: 1.65;
}

.scl-emp-prose p,
.scl-emp-prose ul,
.scl-emp-prose ol {
	margin: 0 0 12px;
}

.scl-emp-prose ul,
.scl-emp-prose ol {
	padding-left: 20px;
	list-style: disc;
}

.scl-emp-prose > :last-child {
	margin-bottom: 0;
}

.scl-emp-prose a {
	color: var(--brand-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ------------------------------------------------ Horario (gráfico semanal) */

.scl-emp-hours__status {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: -4px 0 16px !important;
	font-size: 16px;
}

.scl-emp-hours__table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 15px;
}

.scl-emp-hours__table th,
.scl-emp-hours__table td {
	padding: 9px 0;
	text-align: left;
	vertical-align: middle;
}

.scl-emp-hours__table tbody th {
	width: 104px;
	padding-left: 12px;
	font-weight: 600;
	color: var(--ink);
}

.scl-emp-hours__txt {
	width: 160px;
	padding-right: 16px !important;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	color: var(--ink);
}

.scl-emp-hours__table tr.is-closed .scl-emp-hours__txt,
.scl-emp-hours__table tr.is-closed th {
	color: var(--muted);
	font-weight: 400;
}

.scl-emp-hours__track {
	position: relative;
	padding-right: 12px !important;
}

.scl-emp-hours__track::before {
	content: "";
	display: block;
	height: 10px;
	border-radius: 5px;
	background: #e9eef1;
}

.scl-emp-hours__bar {
	position: absolute;
	top: 50%;
	height: 10px;
	border-radius: 5px;
	background: var(--brand);
	transform: translateY(-50%);
}

.scl-emp-hours__rail {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 12px;
}

.scl-emp-hours__axis {
	padding: 0 12px 0 0 !important;
}

.scl-emp-hours__axis-in {
	position: relative;
	display: block;
	height: 20px;
}

.scl-emp-hours__axis-in span {
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	font-size: 12px;
	color: var(--muted);
	font-variant-numeric: tabular-nums;
}

.scl-emp-hours__table tr.is-today th,
.scl-emp-hours__table tr.is-today td {
	background: var(--brand-tint);
}

.scl-emp-hours__table tr.is-today th {
	border-radius: 10px 0 0 10px;
	color: var(--brand-deep);
	font-weight: 800;
}

.scl-emp-hours__table tr.is-today td:last-child {
	border-radius: 0 10px 10px 0;
}

.scl-emp-hours__table tr.is-today .scl-emp-hours__txt {
	color: var(--brand-deep);
	font-weight: 700;
}

.scl-emp-hours__now {
	position: absolute;
	top: 5px;
	bottom: 5px;
	width: 2px;
	margin-left: -1px;
	border-radius: 1px;
	background: var(--accent);
}

.scl-emp-hours__now::before {
	content: "";
	position: absolute;
	top: -3px;
	left: 50%;
	width: 8px;
	height: 8px;
	margin-left: -4px;
	border-radius: 50%;
	background: var(--accent);
}

@media (max-width: 599px) {
	.scl-emp-hours__table,
	.scl-emp-hours__table thead,
	.scl-emp-hours__table tbody {
		display: block;
	}

	.scl-emp-hours__table tr {
		display: grid;
		grid-template-columns: 1fr auto;
		column-gap: 12px;
		align-items: center;
		padding: 8px 12px;
		border-radius: 10px;
	}

	.scl-emp-hours__table thead tr {
		padding-top: 0;
		padding-bottom: 0;
	}

	.scl-emp-hours__table thead td:not(.scl-emp-hours__axis) {
		display: none;
	}

	.scl-emp-hours__table th,
	.scl-emp-hours__table td {
		display: block;
		width: auto !important;
		padding: 0 !important;
		background: none !important;
		border-radius: 0 !important;
	}

	.scl-emp-hours__txt {
		text-align: right !important;
	}

	.scl-emp-hours__track,
	.scl-emp-hours__axis {
		grid-column: 1 / -1;
		margin-top: 8px;
	}

	.scl-emp-hours__axis {
		margin-top: 0;
		height: 18px;
	}

	.scl-emp-hours__rail {
		right: 0;
	}

	.scl-emp-hours__axis {
		padding: 0 !important;
	}

	.scl-emp-hours__table tr.is-today {
		background: var(--brand-tint);
	}

	.scl-emp-hours__now {
		top: -5px;
		bottom: -5px;
	}
}

/* ---------------------------------------------------- Servicios y zona */

.scl-emp-facts {
	display: grid;
	gap: 20px;
}

.scl-emp .scl-emp-facts__label {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 700;
	color: var(--muted);
}

.scl-emp-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.scl-emp-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 38px;
	padding: 6px 14px;
	border: 1px solid var(--line-strong);
	border-radius: 999px;
	background: #fff;
	font-size: 15px;
	line-height: 1.2;
	color: var(--brand-text);
	font-weight: 600;
	text-decoration: none;
}

a.scl-emp-chip:hover {
	border-color: var(--brand);
	background: var(--brand-tint);
}

.scl-emp-chip--plain {
	border-color: transparent;
	background: var(--surface);
	color: var(--ink);
	font-weight: 500;
}

.scl-emp-chip .scl-emp-ico {
	width: 16px;
	height: 16px;
	color: var(--muted);
}

/* -------------------------------------------------------------- Ofertas */

.scl-emp-coupons {
	display: grid;
	gap: 12px;
}

@media (min-width: 640px) {
	.scl-emp-coupons {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.scl-emp-coupon {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px;
	border: 1px dashed var(--line-strong);
	border-radius: var(--radius);
}

.scl-emp-coupon img,
.scl-emp-coupon__ico {
	flex: none;
	width: 64px;
	height: 64px;
	border-radius: 10px;
	object-fit: cover;
}

.scl-emp-coupon__ico {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff4e8;
	color: var(--accent);
}

.scl-emp .scl-emp-coupon__title {
	margin: 0 0 4px;
	font-size: 16px;
	font-weight: 700;
}

/* ---------------------------------------------------------------- Fotos */

.scl-emp-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

@media (min-width: 640px) {
	.scl-emp-gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
	}
}

.scl-emp-gallery a {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 12px;
	background: var(--surface);
}

.scl-emp-gallery img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s cubic-bezier(.2, .7, .2, 1);
}

.scl-emp-gallery a:hover img {
	transform: scale(1.04);
}

.scl-emp-lightbox {
	width: min(96vw, 1100px);
	max-height: 92vh;
	padding: 0;
	border: 0;
	border-radius: 16px;
	background: #0e1417;
	color: #fff;
}

.scl-emp-lightbox::backdrop {
	background: rgba(8, 14, 17, .82);
}

.scl-emp-lightbox__img {
	display: block;
	width: 100%;
	max-height: 80vh;
	object-fit: contain;
}

.scl-emp-lightbox__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 8px 12px;
	font-size: 14px;
}

.scl-emp-lightbox button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 10px;
	background: rgba(255, 255, 255, .1);
	color: #fff;
	cursor: pointer;
}

.scl-emp-lightbox button:hover {
	background: rgba(255, 255, 255, .2);
}

/* --------------------------------------------------------------- Vídeos */

.scl-emp-videos {
	display: grid;
	gap: 16px;
}

.scl-emp-videos p {
	margin: 0;
}

.scl-emp-videos .ancho-video-container {
	width: 100%;
	margin: 0;
}

.scl-emp-videos .video-container {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: 12px;
}

.scl-emp-videos .video-container iframe,
.scl-emp-videos .video-container video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

/* ----------------------------------------------------------- Estrellas */

.scl-stars {
	display: inline-block;
	line-height: 0;
	vertical-align: middle;
}

.scl-stars svg {
	display: block;
	width: 96px;
	height: auto;
}

.scl-stars--sm svg {
	width: 80px;
}

.scl-stars--lg svg {
	width: 132px;
}

.scl-stars__base {
	fill: var(--star-off, #d8dfe4);
}

.scl-stars__fill {
	fill: var(--star, #c98100);
}

/* ----------------------------------------------------------- Opiniones */

.scl-rv__summary {
	display: grid;
	gap: 20px;
	padding: 20px;
	border-radius: var(--radius);
	background: var(--surface);
}

@media (min-width: 640px) {
	.scl-rv__summary {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 32px;
		align-items: center;
		padding: 24px;
	}
}

.scl-rv__score {
	display: flex;
	align-items: center;
	gap: 16px;
}

.scl-rv__avg {
	font-size: 52px;
	line-height: 1;
	font-weight: 800;
	letter-spacing: -.03em;
	font-variant-numeric: tabular-nums;
}

.scl-rv__count {
	margin-top: 6px !important;
	font-size: 14.5px;
	color: var(--muted);
}

.scl-rv__dist {
	display: grid;
	gap: 6px;
}

.scl-rv__dist li {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr) 28px;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: var(--muted);
}

.scl-rv__bar {
	display: block;
	height: 8px;
	border-radius: 4px;
	background: #e1e7eb;
	overflow: hidden;
}

.scl-rv__bar span {
	display: block;
	height: 100%;
	border-radius: 4px;
	background: var(--star);
}

.scl-rv__dist-n {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.scl-rv__empty {
	max-width: 62ch;
	color: var(--muted);
}

.scl-rv__compose {
	margin-top: 20px;
}

.scl-rv__compose > summary {
	list-style: none;
	display: inline-flex;
}

.scl-rv__compose > summary::-webkit-details-marker {
	display: none;
}

.scl-rv__compose[open] > summary {
	background: var(--brand-tint);
}

.scl-rv-form {
	display: grid;
	gap: 18px;
	margin-top: 16px;
	padding: 20px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
}

@media (min-width: 768px) {
	.scl-rv-form {
		padding: 24px;
	}
}

.scl-rv-form fieldset {
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
}

.scl-rv-form legend,
.scl-rv-form__field > label {
	display: block;
	margin-bottom: 6px;
	padding: 0;
	font-size: 15px;
	font-weight: 700;
	color: var(--ink);
}

.scl-rv-form__req {
	color: var(--closed);
}

.scl-rv-form__opt {
	font-weight: 400;
	color: var(--muted);
}

.scl-rv-form input[type="text"],
.scl-rv-form input[type="email"],
.scl-rv-form textarea {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: 11px 14px;
	border: 1.5px solid var(--line-strong);
	border-radius: var(--radius-sm);
	background: #fff;
	color: var(--ink);
	font-size: 16px;
	line-height: 1.4;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.scl-rv-form textarea {
	min-height: 140px;
	resize: vertical;
}

.scl-rv-form input[type="text"]:focus,
.scl-rv-form input[type="email"]:focus,
.scl-rv-form textarea:focus {
	border-color: var(--brand);
	box-shadow: 0 0 0 3px rgba(0, 123, 162, .2);
}

.scl-rv-form [aria-invalid="true"] {
	border-color: var(--closed) !important;
}

.scl-rv-form__row {
	display: grid;
	gap: 18px;
}

@media (min-width: 640px) {
	.scl-rv-form__row {
		grid-template-columns: 1fr 1fr;
	}
}

.scl-rv-form__help,
.scl-rv-form__hint {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 6px !important;
	font-size: 13.5px;
	color: var(--muted);
}

.scl-rv-form__counter {
	flex: none;
	font-variant-numeric: tabular-nums;
}

.scl-rv-form__error {
	margin-top: 6px !important;
	font-size: 14px;
	font-weight: 600;
	color: var(--closed);
}

.scl-rv-form__hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.scl-rv-stars-input {
	display: inline-flex;
	flex-direction: row-reverse;
	gap: 2px;
}

.scl-rv-stars-input input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.scl-rv-stars-input label {
	display: block;
	padding: 4px;
	border-radius: 8px;
	cursor: pointer;
}

.scl-rv-stars-input svg {
	display: block;
	width: 36px;
	height: 36px;
	fill: var(--star-off);
	transition: fill .12s ease, transform .12s ease;
}

.scl-rv-stars-input input:checked ~ label svg {
	fill: var(--star);
}

.scl-rv-stars-input:hover label svg {
	fill: var(--star-off);
}

.scl-rv-stars-input label:hover svg,
.scl-rv-stars-input label:hover ~ label svg {
	fill: var(--star);
}

.scl-rv-stars-input label:hover svg {
	transform: scale(1.08);
}

.scl-rv-stars-input input:focus-visible + label {
	outline: 3px solid #eb7324;
	outline-offset: 1px;
}

.scl-rv-form__rating[data-invalid="true"] .scl-rv-stars-input svg {
	fill: #f1d3cf;
}

.scl-rv-form__check {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	font-size: 14.5px;
}

.scl-rv-form__check > label {
	font-weight: 400;
	margin: 0;
}

.scl-rv-form__check input {
	width: 20px;
	height: 20px;
	margin: 1px 0 0;
	accent-color: var(--brand);
}

.scl-rv-form__check .scl-rv-form__error {
	grid-column: 2;
}

.scl-rv-form__check a {
	color: var(--brand-text);
}

.scl-rv-form__status:empty {
	display: none;
}

.scl-rv-form__status {
	padding: 12px 16px;
	border-radius: 12px;
	font-size: 15px;
	font-weight: 600;
}

.scl-rv-form__status.is-error {
	background: #fdecea;
	color: #8e1b12;
}

.scl-rv-form__status.is-success {
	background: #e7f5ee;
	color: #0a5a34;
}

.scl-rv-form .scl-emp-btn--primary {
	justify-self: start;
	min-width: 200px;
}

.scl-rv-form__notice {
	margin-top: 12px !important;
	color: var(--muted);
}

.scl-rv__list {
	margin-top: 24px !important;
}

.scl-rv-item {
	padding: 20px 0;
	border-top: 1px solid var(--line);
}

.scl-rv-item:last-child {
	padding-bottom: 0;
}

.scl-rv-item:focus {
	outline: none;
}

.scl-rv-item__head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.scl-rv-item__who {
	flex: 1;
	min-width: 0;
}

.scl-rv-item__author {
	font-size: 16px;
	font-weight: 700;
}

.scl-rv-item__date {
	font-size: 13.5px;
	color: var(--muted);
}

.scl-emp .scl-rv-item__title {
	margin: 14px 0 4px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
}

.scl-rv-item__text {
	max-width: 72ch;
	margin-top: 8px;
	line-height: 1.65;
}

.scl-rv-item__title + .scl-rv-item__text {
	margin-top: 0;
}

.scl-rv-item__text p + p {
	margin-top: 8px;
}

.scl-rv-item__reply {
	margin-top: 14px;
	padding: 12px 16px;
	border-radius: 12px;
	background: var(--surface);
	font-size: 15px;
	line-height: 1.6;
}

.scl-rv-item__reply-author {
	margin-bottom: 4px !important;
	font-size: 14px;
	font-weight: 700;
	color: var(--brand-deep);
}

.scl-rv__more {
	margin-top: 16px;
}

/* ------------------------------------------------------------------ FAQ */

.scl-emp-faq__item {
	border-bottom: 1px solid var(--line);
}

.scl-emp-faq__item:first-child {
	border-top: 1px solid var(--line);
}

.scl-emp-faq__item > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 0;
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.35;
	cursor: pointer;
	list-style: none;
}

.scl-emp-faq__item > summary::-webkit-details-marker {
	display: none;
}

.scl-emp-faq__item > summary:hover {
	color: var(--brand-text);
}

.scl-emp-faq__chev {
	color: var(--muted);
	transition: transform .2s ease;
}

.scl-emp-faq__item[open] .scl-emp-faq__chev {
	transform: rotate(180deg);
}

.scl-emp-faq__item p {
	max-width: 70ch;
	padding: 0 0 16px;
	line-height: 1.65;
	color: var(--ink);
}

/* ----------------------------------------------------- Columna lateral */

.scl-emp-contact {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	padding: 20px;
}

@media (min-width: 768px) {
	.scl-emp-contact {
		padding: 24px;
	}
}

.scl-emp .scl-emp-contact__title {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
}

.scl-emp-contact__list > li {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--line);
	font-size: 15px;
}

.scl-emp-contact__list > li > .scl-emp-ico {
	margin-top: 1px;
	color: var(--brand);
}

.scl-emp-contact address {
	font-style: normal;
	line-height: 1.5;
	margin-bottom: 4px;
}

.scl-emp-contact__status {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px !important;
	font-size: 15px;
}

.scl-emp-contact__hours {
	display: grid;
	gap: 4px;
}

.scl-emp-contact__hours > div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 14.5px;
	font-variant-numeric: tabular-nums;
}

.scl-emp-contact__hours dt {
	color: var(--muted);
}

.scl-emp-contact__hours dd.is-closed {
	color: var(--muted);
}

.scl-emp-contact .scl-emp-btn--block {
	margin-top: 20px;
}

.scl-emp-contact__fine {
	margin-top: 10px !important;
	font-size: 13px;
	line-height: 1.45;
	color: var(--muted);
	text-align: center;
}

.scl-emp-claim {
	margin-top: 16px;
	padding: 20px;
	border: 1px solid #cfe5ee;
	border-radius: var(--radius-lg);
	background: var(--brand-tint);
	font-size: 15px;
	line-height: 1.55;
}

.scl-emp .scl-emp-claim__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 800;
	color: var(--brand-deep);
}

.scl-emp-claim p {
	margin-bottom: 12px;
}

/* ----------------------------------------------------------- Similares */

.scl-emp-related {
	margin-top: 32px;
}

.scl-emp-related__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 20px;
	margin-bottom: 16px;
}

.scl-emp .scl-emp-related__title {
	font-size: 21px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -.01em;
}

@media (min-width: 768px) {
	.scl-emp .scl-emp-related__title {
		font-size: 24px;
	}
}

.scl-emp-related__list {
	display: grid;
	gap: 10px;
}

@media (min-width: 768px) {
	.scl-emp-related__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.scl-emp-related__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
	}
}

.scl-emp-related__item {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 100%;
	min-height: 76px;
	padding: 12px 14px;
	border: 1px solid var(--line);
	border-radius: 16px;
	background: #fff;
	color: var(--ink);
	text-decoration: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.scl-emp-related__item:hover {
	border-color: var(--brand);
	box-shadow: 0 8px 20px -14px rgba(0, 63, 83, .5);
}

.scl-emp-related__logo {
	flex: none;
	display: flex;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid var(--line);
	background: #fff;
}

.scl-emp-related__logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.scl-emp-related__body {
	flex: 1;
	min-width: 0;
}

.scl-emp-related__name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

.scl-emp-related__item:hover .scl-emp-related__name {
	color: var(--brand-text);
}

.scl-emp-related__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px 10px;
	margin-top: 3px;
	font-size: 13.5px;
	color: var(--muted);
}

.scl-emp-related__score {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-variant-numeric: tabular-nums;
}

.scl-emp-related__score .scl-stars svg {
	width: 64px;
}

.scl-emp-related__ver {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--brand-deep);
	font-weight: 600;
}

.scl-emp-related__ver .scl-emp-ico {
	width: 15px;
	height: 15px;
}

.scl-emp-related__chev {
	color: var(--muted);
}

/* ---------------------------------------------------------------------------
   Compensación de cabecera en escritorio.
   .header_promo baja la cabecera 43 px para una barra promocional que ya no
   se imprime (template-parts/header/content-promo.php no se incluye), pero
   main solo reserva 81 px: la cabecera tapaba las migas.
   --------------------------------------------------------------------------- */
@media (min-width: 1024px) {
	.header_promo + .class_space_menu_promo .scl-emp {
		padding-top: 43px;
	}
}
