/* Anirino Reservas — formulario público */
.anr-widget {
	--anr-gold: #CC9853;
	--anr-gold-dark: #976D35;
	--anr-ink: #1A1B1D;
	--anr-ink-soft: #363539;
	--anr-text: #6f6e73;
	--anr-line: #e7e2da;
	--anr-bg: #ffffff;
	--anr-bg-soft: #faf8f5;
	--anr-radius: 16px;
	font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--anr-ink-soft);
	line-height: 1.5;
	max-width: 100%;
	box-sizing: border-box;
}

.anr-widget *,
.anr-widget *::before,
.anr-widget *::after { box-sizing: border-box; }

.anr-widget .anr-card {
	background: var(--anr-bg);
	border: 1px solid var(--anr-line);
	border-radius: var(--anr-radius);
	padding: 22px;
	box-shadow: 0 10px 34px rgba(26, 27, 29, .07);
}

.anr-widget .anr-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	padding-bottom: 16px;
	margin-bottom: 18px;
	border-bottom: 1px solid var(--anr-line);
}

.anr-widget .anr-card__title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	color: var(--anr-ink);
	line-height: 1.25;
}

.anr-card__price { text-align: right; white-space: nowrap; }
.anr-card__price span { display: block; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--anr-text); }
.anr-card__price strong { display: block; font-size: 22px; font-weight: 800; color: var(--anr-gold-dark); line-height: 1.2; }
.anr-card__price small { display: block; font-size: 11px; color: var(--anr-text); }
.anr-card__price--ask strong { font-size: 15px; }

/* Bloques */
.anr-block { margin-bottom: 20px; }
.anr-widget .anr-block__label {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--anr-ink);
	margin-bottom: 10px;
}

.anr-widget .anr-step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--anr-gold);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	flex: none;
}

/* Campo de fecha */
.anr-widget .anr-datefield {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 13px 14px;
	background: var(--anr-bg-soft);
	border: 1px solid var(--anr-line);
	border-radius: 12px;
	font: inherit;
	font-size: 15px;
	color: var(--anr-ink);
	cursor: pointer;
	text-align: left;
	transition: border-color .15s, background .15s;
}
.anr-datefield:hover { border-color: var(--anr-gold); }
.anr-datefield[aria-expanded="true"] { border-color: var(--anr-gold); background: #fff; }
.anr-datefield__icon { color: var(--anr-gold-dark); display: flex; }
.anr-datefield__text { flex: 1; font-weight: 600; }
.anr-datefield__chevron { color: var(--anr-text); display: flex; transition: transform .2s; }
.anr-datefield[aria-expanded="true"] .anr-datefield__chevron { transform: rotate(180deg); }
.anr-datefield.is-empty .anr-datefield__text { font-weight: 500; color: var(--anr-text); }

/* Calendario */
.anr-widget .anr-calendar {
	margin-top: 10px;
	padding: 14px;
	border: 1px solid var(--anr-line);
	border-radius: 12px;
	background: #fff;
}
.anr-calendar[hidden] { display: none; }

.anr-widget .anr-calendar__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}
.anr-calendar__month { font-weight: 700; font-size: 15px; color: var(--anr-ink); text-transform: capitalize; }

.anr-widget .anr-cal-nav {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid var(--anr-line);
	background: #fff;
	color: var(--anr-ink);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s, border-color .15s;
}
.anr-cal-nav:hover:not(:disabled) { background: var(--anr-gold); border-color: var(--anr-gold); color: #fff; }
.anr-cal-nav:disabled { opacity: .35; cursor: default; }

.anr-calendar__weekdays,
.anr-widget .anr-calendar__grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
}
.anr-widget .anr-calendar__weekdays {
	margin-bottom: 6px;
	font-size: 11px;
	font-weight: 700;
	color: var(--anr-text);
	text-align: center;
	text-transform: uppercase;
}

.anr-widget .anr-day {
	aspect-ratio: 1 / 1;
	min-height: 36px;
	border: 1px solid transparent;
	border-radius: 9px;
	background: var(--anr-bg-soft);
	color: var(--anr-ink);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .12s, color .12s, border-color .12s;
}
.anr-day:hover:not(:disabled) { background: rgba(204, 152, 83, .18); border-color: var(--anr-gold); }
.anr-day:disabled { background: transparent; color: #c9c6c1; cursor: not-allowed; text-decoration: line-through; }
.anr-day--empty { background: none; border: 0; cursor: default; }
.anr-day.is-selected { background: var(--anr-gold); border-color: var(--anr-gold); color: #fff; }
.anr-day.is-inrange { background: rgba(204, 152, 83, .16); }

.anr-widget .anr-calendar__legend {
	display: flex;
	gap: 14px;
	margin-top: 12px;
	font-size: 11px;
	color: var(--anr-text);
}
.anr-legend { display: inline-flex; align-items: center; gap: 5px; }
.anr-legend::before { content: ""; width: 10px; height: 10px; border-radius: 3px; }
.anr-legend--free::before { background: var(--anr-gold); }
.anr-legend--busy::before { background: #e3e0db; }

.anr-calendar__note { margin: 10px 0 0; font-size: 12px; color: var(--anr-text); }
.anr-calendar__loading { padding: 26px 0; text-align: center; font-size: 13px; color: var(--anr-text); }

.anr-widget .anr-return {
	margin-top: 8px;
	padding: 9px 12px;
	border-radius: 9px;
	background: rgba(204, 152, 83, .1);
	font-size: 13px;
	color: var(--anr-gold-dark);
	font-weight: 600;
}
.anr-return[hidden] { display: none; }

/* Steppers */
.anr-widget .anr-stepper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 0;
	border-bottom: 1px solid var(--anr-line);
}
.anr-stepper:last-child { border-bottom: 0; }
.anr-stepper__info strong { display: block; font-size: 14px; color: var(--anr-ink); font-weight: 600; }
.anr-stepper__info small { font-size: 12px; color: var(--anr-text); }

.anr-stepper__ctrl { display: flex; align-items: center; gap: 4px; flex: none; }
.anr-widget .anr-minus, .anr-widget .anr-plus {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid var(--anr-line);
	background: #fff;
	color: var(--anr-ink);
	font-size: 17px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s, border-color .15s, color .15s;
}
.anr-minus:hover:not(:disabled), .anr-plus:hover:not(:disabled) { background: var(--anr-gold); border-color: var(--anr-gold); color: #fff; }
.anr-minus:disabled, .anr-plus:disabled { opacity: .35; cursor: default; }

.anr-widget .anr-num {
	width: 38px;
	border: 0;
	background: none;
	text-align: center;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	color: var(--anr-ink);
	-moz-appearance: textfield;
	pointer-events: none;
}
.anr-num::-webkit-outer-spin-button, .anr-num::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Opciones (alojamiento / extras) */
.anr-options { display: grid; gap: 8px; }
.anr-widget .anr-option {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid var(--anr-line);
	border-radius: 12px;
	cursor: pointer;
	background: #fff;
	transition: border-color .15s, background .15s;
}
.anr-option:hover { border-color: var(--anr-gold); }
.anr-option input { position: absolute; opacity: 0; pointer-events: none; }
.anr-option__body { flex: 1; min-width: 0; }
.anr-option__title { display: block; font-size: 14px; font-weight: 600; color: var(--anr-ink); }
.anr-option__desc { display: block; font-size: 12px; color: var(--anr-text); margin-top: 2px; }

.anr-widget .anr-option__tick {
	flex: none;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 2px solid var(--anr-line);
	position: relative;
	transition: border-color .15s, background .15s;
}
.anr-option--check .anr-option__tick { border-radius: 6px; }
.anr-option input:checked ~ .anr-option__tick { border-color: var(--anr-gold); background: var(--anr-gold); }
.anr-widget .anr-option input:checked ~ .anr-option__tick::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 1px;
	width: 5px;
	height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.anr-option:has(input:checked) { border-color: var(--anr-gold); background: rgba(204, 152, 83, .07); }
.anr-option input:focus-visible ~ .anr-option__tick { outline: 2px solid var(--anr-gold-dark); outline-offset: 2px; }

/* Resumen */
.anr-widget .anr-summary {
	margin: 18px 0;
	padding: 16px;
	border-radius: 12px;
	background: var(--anr-bg-soft);
	border: 1px solid var(--anr-line);
}
.anr-summary[hidden] { display: none; }
.anr-summary__lines { display: grid; gap: 7px; margin-bottom: 12px; }
.anr-sline { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; }
.anr-sline__label { color: var(--anr-ink); }
.anr-sline__detail { display: block; font-size: 11px; color: var(--anr-text); }
.anr-sline__amount { font-weight: 600; white-space: nowrap; }

.anr-widget .anr-summary__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding-top: 12px;
	border-top: 1px solid var(--anr-line);
	font-size: 14px;
	font-weight: 600;
	color: var(--anr-ink);
}
.anr-summary__total strong { font-size: 22px; font-weight: 800; color: var(--anr-ink); }

.anr-widget .anr-summary__due {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px dashed var(--anr-line);
	font-size: 13px;
	color: var(--anr-gold-dark);
	font-weight: 600;
}
.anr-summary__due[hidden] { display: none; }
.anr-summary__due strong { font-size: 17px; font-weight: 800; }
.anr-summary__note { margin: 10px 0 0; font-size: 12px; color: var(--anr-text); }
.anr-summary__note[hidden] { display: none; }
.anr-summary.is-loading { opacity: .55; }

/* Campos */
.anr-fields { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.anr-field { display: flex; flex-direction: column; gap: 5px; grid-column: 1 / -1; }
.anr-field--half { grid-column: span 1; }
.anr-field span { font-size: 12px; font-weight: 600; color: var(--anr-text); }
.anr-field input,
.anr-widget .anr-field textarea {
	width: 100%;
	padding: 11px 13px;
	border: 1px solid var(--anr-line);
	border-radius: 10px;
	background: #fff;
	font: inherit;
	font-size: 14px;
	color: var(--anr-ink);
	transition: border-color .15s, box-shadow .15s;
}
.anr-field input:focus,
.anr-widget .anr-field textarea:focus {
	outline: 0;
	border-color: var(--anr-gold);
	box-shadow: 0 0 0 3px rgba(204, 152, 83, .16);
}
.anr-field textarea { resize: vertical; min-height: 70px; }
.anr-field.has-error input,
.anr-field.has-error textarea { border-color: #d0524a; }

.anr-widget .anr-terms {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin-top: 14px;
	font-size: 12.5px;
	color: var(--anr-text);
	cursor: pointer;
	line-height: 1.45;
}
.anr-terms input { margin-top: 2px; accent-color: var(--anr-gold); width: 16px; height: 16px; flex: none; }
.anr-terms a { color: var(--anr-gold-dark); }

/* Botón */
.anr-widget .anr-submit {
	width: 100%;
	margin-top: 16px;
	padding: 15px 20px;
	border: 0;
	border-radius: 999px;
	background: var(--anr-gold);
	color: #fff;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	transition: background .18s, transform .12s;
}
.anr-submit:hover:not(:disabled) { background: var(--anr-gold-dark); }
.anr-submit:active:not(:disabled) { transform: translateY(1px); }
.anr-submit:disabled { opacity: .6; cursor: default; }

.anr-widget .anr-submit__spin {
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255, 255, 255, .4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: anr-spin .7s linear infinite;
}
.anr-submit__spin[hidden] { display: none; }
@keyframes anr-spin { to { transform: rotate(360deg); } }

.anr-trust {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 12px 0 0;
	font-size: 12px;
	color: var(--anr-text);
	text-align: center;
	line-height: 1.45;
}

/* Mensajes */
.anr-widget .anr-message {
	margin-top: 14px;
	padding: 12px 14px;
	border-radius: 10px;
	font-size: 13.5px;
	background: #fdf1ef;
	color: #a33228;
	border: 1px solid #f3d6d1;
}
.anr-message[hidden] { display: none; }
.anr-message--ok { background: #eef7ef; color: #2c6b38; border-color: #cfe6d4; }

.anr-result {
	margin: 0 0 26px;
	padding: 18px 20px;
	border-radius: 14px;
	border: 1px solid #cfe6d4;
	background: #f1f8f2;
}
.anr-result--cancel { border-color: #f0e2c9; background: #fdf7ec; }
.anr-result strong { display: block; font-size: 17px; margin-bottom: 4px; color: #1A1B1D; }
.anr-result p { margin: 0; font-size: 14px; color: #4a4a4f; }

.anr-notice {
	padding: 14px 16px;
	border-radius: 10px;
	background: #fbf7ee;
	border: 1px dashed #d9c9a5;
	font-size: 13.5px;
	color: #7a6230;
}

.anr-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Ficha del cliente */
.anr-widget--view .anr-card { max-width: 620px; margin: 0 auto; }
.anr-view { display: grid; gap: 2px; }
.anr-widget .anr-view__row {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	padding: 10px 0;
	border-bottom: 1px solid var(--anr-line);
	font-size: 14px;
}
.anr-view__row span { color: var(--anr-text); }
.anr-view__row strong { color: var(--anr-ink); text-align: right; }
.anr-view__money { margin-top: 12px; padding-top: 6px; }
.anr-view__row--due strong { color: var(--anr-gold-dark); }
.anr-view__notes { margin-top: 16px; font-size: 13.5px; }
.anr-view__notes span { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--anr-text); margin-bottom: 4px; }
.anr-view__notes p { margin: 0; color: var(--anr-ink); }

.anr-widget .anr-badge {
	flex: none;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}
.anr-badge--ok { background: #eaf6ec; color: #2c6b38; }
.anr-badge--wait { background: #fdf3e3; color: #8a6420; }
.anr-badge--bad { background: #fbeceb; color: #a33228; }

.anr-price-from strong { color: var(--anr-gold-dark); font-weight: 800; }

/* Móvil */
@media (max-width: 600px) {
	.anr-card { padding: 18px 16px; border-radius: 14px; }
	.anr-card__head { flex-direction: column; gap: 8px; }
	.anr-card__price { text-align: left; }
	.anr-fields { grid-template-columns: 1fr; }
	.anr-field--half { grid-column: 1 / -1; }
	.anr-day { min-height: 34px; font-size: 12.5px; }
}


/* El tema de Anirino pinta todos los <button> e <input> en oro: aquí mandamos nosotros. */
.anr-widget .anr-datefield,
.anr-widget .anr-cal-nav,
.anr-widget .anr-minus,
.anr-widget .anr-plus,
.anr-widget .anr-day {
	background-image: none;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
}

.anr-widget .anr-datefield { background-color: var(--anr-bg-soft); color: var(--anr-ink); }
.anr-widget .anr-datefield:hover { background-color: #fff; color: var(--anr-ink); }
.anr-widget .anr-cal-nav,
.anr-widget .anr-minus,
.anr-widget .anr-plus { background-color: #fff; color: var(--anr-ink); }
.anr-widget .anr-cal-nav:hover:not(:disabled),
.anr-widget .anr-minus:hover:not(:disabled),
.anr-widget .anr-plus:hover:not(:disabled) { background-color: var(--anr-gold); color: #fff; }

/* Días del calendario: disponible = claro con borde; elegido = oro macizo. */
.anr-widget .anr-day {
	background-color: #fff;
	border: 1px solid var(--anr-line);
	color: var(--anr-ink);
	font-weight: 600;
}
.anr-widget .anr-day:not(:disabled):not(.anr-day--empty) {
	background-color: rgba( 204, 152, 83, .1 );
	border-color: rgba( 204, 152, 83, .45 );
	color: var(--anr-gold-dark);
}
.anr-widget .anr-day:not(:disabled):hover { background-color: rgba( 204, 152, 83, .3 ); border-color: var(--anr-gold); }
.anr-widget .anr-day:disabled { background-color: transparent; border-color: transparent; color: #c9c6c1; }
.anr-widget .anr-day--empty { background-color: transparent; border-color: transparent; }
.anr-widget .anr-day.is-inrange:not(.is-selected) { background-color: rgba( 204, 152, 83, .22 ); }
.anr-widget .anr-day.is-selected,
.anr-widget .anr-day.is-selected:hover {
	background-color: var(--anr-gold);
	border-color: var(--anr-gold);
	color: #fff;
}

.anr-widget .anr-legend--free::before { background: rgba( 204, 152, 83, .45 ); }

/* Campos de texto. */
.anr-widget .anr-field input,
.anr-widget .anr-field textarea {
	background-color: #fff;
	color: var(--anr-ink);
	box-shadow: none;
}
.anr-widget .anr-field input::placeholder,
.anr-widget .anr-field textarea::placeholder { color: #a9a7a3; }

.anr-widget .anr-submit {
	background-color: var(--anr-gold);
	background-image: none;
	color: #fff;
	text-transform: none;
	letter-spacing: normal;
}
.anr-widget .anr-submit:hover:not(:disabled) { background-color: var(--anr-gold-dark); color: #fff; }

.anr-widget .anr-card__title { text-transform: none; }

/* Último recurso: el Global Kit del tema usa selectores con :not() que ganan
   por especificidad a cualquier clase nuestra. Solo sobre estas propiedades. */
.anr-widget .anr-field input,
.anr-widget .anr-field textarea {
	background-color: #fff !important;
	background-image: none !important;
	border: 1px solid var(--anr-line) !important;
	border-radius: 10px !important;
	color: var(--anr-ink) !important;
	padding: 11px 13px !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	min-height: 0 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	box-shadow: none !important;
}

.anr-widget .anr-field input:focus,
.anr-widget .anr-field textarea:focus {
	border-color: var(--anr-gold) !important;
	box-shadow: 0 0 0 3px rgba( 204, 152, 83, .16 ) !important;
}

.anr-widget .anr-field.has-error input,
.anr-widget .anr-field.has-error textarea { border-color: #d0524a !important; }

/* El contador de viajeros no es un campo editable: se ve como texto. */
.anr-widget .anr-num {
	background: none !important;
	background-color: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	width: 42px !important;
	min-width: 42px !important;
	padding: 0 !important;
	text-align: center !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--anr-ink) !important;
	line-height: 32px !important;
	height: 32px !important;
}

.anr-widget .anr-terms input[type="checkbox"],
.anr-widget .anr-option input { background-image: none !important; }

/* ============================================================
   Asistente en 3 pasos
   ============================================================ */

/* Barra de progreso */
.anr-widget .anr-progress {
	display: flex;
	align-items: flex-start;
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
	counter-reset: none;
}

.anr-widget .anr-progress__item {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	position: relative;
	cursor: default;
	padding: 0;
	margin: 0;
	list-style: none;
}

.anr-widget .anr-progress__item::before {
	content: "";
	position: absolute;
	top: 13px;
	right: 50%;
	width: 100%;
	height: 2px;
	background: var(--anr-line);
	z-index: 0;
}
.anr-widget .anr-progress__item:first-child::before { display: none; }

.anr-widget .anr-progress__dot {
	position: relative;
	z-index: 1;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--anr-line);
	color: var(--anr-text);
	font-size: 12.5px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .18s, border-color .18s, color .18s;
}

.anr-widget .anr-progress__label {
	font-size: 11.5px;
	font-weight: 600;
	color: var(--anr-text);
	letter-spacing: .02em;
	transition: color .18s;
}

.anr-widget .anr-progress__item.is-active .anr-progress__dot {
	background: var(--anr-gold);
	border-color: var(--anr-gold);
	color: #fff;
}
.anr-widget .anr-progress__item.is-active .anr-progress__label { color: var(--anr-ink); }

.anr-widget .anr-progress__item.is-done { cursor: pointer; }
.anr-widget .anr-progress__item.is-done .anr-progress__dot {
	background: rgba( 204, 152, 83, .16 );
	border-color: var(--anr-gold);
	color: var(--anr-gold-dark);
}
.anr-widget .anr-progress__item.is-done::before { background: var(--anr-gold); }
.anr-widget .anr-progress__item.is-done:hover .anr-progress__dot { background: var(--anr-gold); color: #fff; }

/* Resumen de lo elegido */
.anr-widget .anr-recap {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 10px;
	padding: 10px 12px;
	margin-bottom: 16px;
	border-radius: 10px;
	background: rgba( 204, 152, 83, .09 );
	font-size: 13px;
}
.anr-widget .anr-recap[hidden] { display: none; }

.anr-widget .anr-recap__item {
	background: none;
	border: 0;
	padding: 0;
	font: inherit;
	font-weight: 600;
	color: var(--anr-gold-dark);
	cursor: pointer;
	text-decoration: underline;
	text-decoration-color: rgba( 151, 109, 53, .35 );
	text-underline-offset: 3px;
}
.anr-widget .anr-recap__item:hover { text-decoration-color: var(--anr-gold-dark); }
.anr-widget .anr-recap__item + .anr-recap__item::before { content: "·"; margin-right: 10px; color: var(--anr-text); text-decoration: none; }
.anr-widget .anr-recap__total { margin-left: auto; font-weight: 800; color: var(--anr-ink); white-space: nowrap; }

/* Paneles de cada paso */
.anr-widget .anr-pane { animation: anr-fade .22s ease; }
.anr-widget .anr-pane[hidden] { display: none; }

@keyframes anr-fade {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: none; }
}

.anr-widget .anr-pane__intro {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 600;
	color: var(--anr-ink);
}

/* En el paso 1 el calendario ya no se despliega: está siempre a la vista */
.anr-widget .anr-pane[data-step="1"] .anr-calendar { margin-top: 0; }

.anr-widget .anr-picked {
	margin-top: 12px;
	padding: 11px 13px;
	border-radius: 10px;
	background: rgba( 204, 152, 83, .1 );
	font-size: 13.5px;
	color: var(--anr-gold-dark);
	line-height: 1.45;
}
.anr-widget .anr-picked[hidden] { display: none; }
.anr-widget .anr-picked strong { display: block; color: var(--anr-ink); font-size: 14.5px; }
.anr-widget .anr-picked span { display: block; margin-top: 2px; }

.anr-widget .anr-calendar__loading { grid-column: 1 / -1; }

/* Botonera */
.anr-widget .anr-nav {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
}

.anr-widget .anr-back {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 13px 16px;
	border: 1px solid var(--anr-line);
	border-radius: 999px;
	background-color: #fff;
	background-image: none;
	color: var(--anr-text);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	text-transform: none;
	letter-spacing: normal;
	flex: none;
	transition: border-color .15s, color .15s;
}
.anr-widget .anr-back:hover { border-color: var(--anr-gold); color: var(--anr-ink); }
.anr-widget .anr-back[hidden] { display: none; }

.anr-widget .anr-next {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 15px 20px;
	border: 0;
	border-radius: 999px;
	background-color: var(--anr-gold);
	background-image: none;
	color: #fff;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	text-transform: none;
	letter-spacing: normal;
	transition: background-color .18s, transform .12s;
}
.anr-widget .anr-next:hover:not(:disabled) { background-color: var(--anr-gold-dark); }
.anr-widget .anr-next:active:not(:disabled) { transform: translateY(1px); }
.anr-widget .anr-next:disabled { background-color: #ded9d1; color: #fff; cursor: default; }
.anr-widget .anr-next[hidden] { display: none; }

.anr-widget .anr-nav .anr-submit { flex: 1; margin-top: 0; }
.anr-widget .anr-submit[hidden] { display: none; }

/* Pantalla final */
.anr-widget .anr-done { text-align: center; padding: 14px 6px; }
.anr-widget .anr-done__icon {
	width: 54px;
	height: 54px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: rgba( 204, 152, 83, .15 );
	color: var(--anr-gold-dark);
	display: flex;
	align-items: center;
	justify-content: center;
}
.anr-widget .anr-done h3 { margin: 0 0 8px; font-size: 20px; color: var(--anr-ink); }
.anr-widget .anr-done p { margin: 0; font-size: 14px; color: var(--anr-text); line-height: 1.55; }

/* El paso 3 ya no necesita el separador del bloque de datos */
.anr-widget .anr-pane[data-step="3"] .anr-summary { margin-top: 0; }

@media (max-width: 420px) {
	.anr-widget .anr-progress__label { font-size: 10.5px; }
	.anr-widget .anr-recap { font-size: 12.5px; }
	.anr-widget .anr-back { padding: 13px 14px; }
}

/* El kit del tema da padding y ancho mínimo a los <button>, y eso ensanchaba las
   columnas del calendario hasta cortar la del domingo. */
.anr-widget .anr-calendar__grid,
.anr-widget .anr-calendar__weekdays {
	grid-template-columns: repeat(7, minmax(0, 1fr));
	width: 100%;
}

.anr-widget .anr-day {
	padding: 0 !important;
	margin: 0 !important;
	min-width: 0 !important;
	width: 100% !important;
	min-height: 34px !important;
	font-size: 13px !important;
	overflow: hidden;
}

.anr-widget .anr-calendar { overflow: hidden; }
.anr-widget .anr-calendar__weekdays span { min-width: 0; overflow: hidden; }

/* Las flechas de mes se veían como círculos vacíos: el tema les ponía el texto en blanco. */
.anr-widget .anr-cal-nav {
	color: var(--anr-ink) !important;
	padding: 0 !important;
	min-width: 0 !important;
	width: 32px !important;
	height: 32px !important;
	flex: none;
}
.anr-widget .anr-cal-nav svg { display: block; }
.anr-widget .anr-cal-nav:hover:not(:disabled) { color: #fff !important; }

.anr-widget .anr-minus,
.anr-widget .anr-plus {
	padding: 0 !important;
	min-width: 0 !important;
	width: 32px !important;
	height: 32px !important;
	color: var(--anr-ink) !important;
	font-size: 17px !important;
	line-height: 1 !important;
}
.anr-widget .anr-minus:hover:not(:disabled),
.anr-widget .anr-plus:hover:not(:disabled) { color: #fff !important; }

/* Campos opcionales plegados, para que el paso 3 no crezca */
.anr-widget .anr-more {
	display: flex;
	align-items: center;
	gap: 7px;
	width: 100%;
	margin-top: 12px;
	padding: 11px 13px;
	border: 1px dashed var(--anr-line);
	border-radius: 10px;
	background-color: #fff;
	background-image: none;
	color: var(--anr-text);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	text-align: left;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
	transition: border-color .15s, color .15s;
}
.anr-widget .anr-more:hover { border-color: var(--anr-gold); color: var(--anr-gold-dark); }
.anr-widget .anr-more__sign { font-size: 16px; line-height: 1; color: var(--anr-gold-dark); }
.anr-widget .anr-more.is-open .anr-more__sign { transform: rotate(45deg); }
.anr-widget .anr-more-box { margin-top: 10px; }
.anr-widget .anr-more-box[hidden] { display: none; }

/* Dentro de la botonera el botón de enviar comparte fila con "Atrás":
   el width:100% heredado lo sacaba de la tarjeta en móvil. */
.anr-widget .anr-nav .anr-submit {
	width: auto !important;
	min-width: 0 !important;
	flex: 1 1 auto;
	margin-top: 0 !important;
}
.anr-widget .anr-nav .anr-next { min-width: 0; }
.anr-widget .anr-nav { flex-wrap: nowrap; }

.anr-widget .anr-more {
	background-color: #fff !important;
	background-image: none !important;
	color: var(--anr-text) !important;
	border: 1px dashed var(--anr-line) !important;
	border-radius: 10px !important;
	padding: 11px 13px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	box-shadow: none !important;
	justify-content: flex-start;
}
.anr-widget .anr-more:hover {
	border-color: var(--anr-gold) !important;
	color: var(--anr-gold-dark) !important;
	background-color: #fff !important;
}

/* En móvil el botón principal va a ancho completo y "Atrás" debajo. */
@media (max-width: 480px) {
	.anr-widget .anr-nav {
		flex-direction: column-reverse;
		gap: 8px;
	}
	.anr-widget .anr-nav .anr-back,
	.anr-widget .anr-nav .anr-next,
	.anr-widget .anr-nav .anr-submit {
		width: 100% !important;
		justify-content: center;
	}
	.anr-widget .anr-nav .anr-back { padding: 11px 16px; }
}

/* Cuando la columna pegada no cabe en la pantalla se le da desplazamiento propio
   (lo activa el JS con esta clase) para que nunca quede contenido inalcanzable. */
.anr-sticky-scroll {
	scrollbar-width: thin;
	scrollbar-color: rgba( 204, 152, 83, .55 ) transparent;
}
.anr-sticky-scroll::-webkit-scrollbar { width: 7px; }
.anr-sticky-scroll::-webkit-scrollbar-track { background: transparent; }
.anr-sticky-scroll::-webkit-scrollbar-thumb {
	background: rgba( 204, 152, 83, .5 );
	border-radius: 999px;
}
.anr-sticky-scroll::-webkit-scrollbar-thumb:hover { background: rgba( 151, 109, 53, .7 ); }

/* Compactación fina: en portátiles de 700 px de alto el paso 1 se salía por pocos píxeles. */
.anr-widget .anr-card { padding: 20px 18px; }
.anr-widget .anr-progress { margin-bottom: 14px; }
.anr-widget .anr-pane__intro { margin-bottom: 11px; font-size: 14.5px; }
.anr-widget .anr-calendar { padding: 12px; }
.anr-widget .anr-calendar__head { margin-bottom: 8px; }
.anr-widget .anr-day { min-height: 32px !important; }
.anr-widget .anr-calendar__legend { margin-top: 9px; }
.anr-widget .anr-nav { margin-top: 14px; }
.anr-widget .anr-trust { margin-top: 10px; }
