/* Ajustes propios de WordPress sobre los estilos del demo (styles.css). */

/* Barra de administración (solo usuarios conectados) */
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }

/* Buscador de obituarios con envío al servidor */
.obit-search__field { display: flex; align-items: center; gap: 0.5rem; }
.obit-search__field input { flex: 1; padding-right: 7rem; }
.obit-search__btn { position: absolute; right: 6px; top: 50%; translate: 0 -50%; min-height: 42px; }
.obit-search .btn--link { margin-top: 0.25rem; }
.obit__link { color: inherit; text-decoration: none; }
.obit__link:hover, .obit__link:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.obit-single { max-width: 340px; margin: 1.5rem auto; text-align: left; }
.obit-single .obit { opacity: 1; transform: none; }

/* Paginación (obituarios y blog) */
.pagination { margin-top: 2.5rem; }
.pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4rem; list-style: none; margin: 0; padding: 0; }
.pagination a, .pagination span {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 0.9rem;
	border-radius: var(--r-pill); border: 1.5px solid var(--c-soft-200); background: var(--c-white); color: var(--c-ink);
	text-decoration: none; font-weight: 600; font-size: var(--fs-sm);
}
.pagination a:hover { border-color: var(--c-primary-500); }
.pagination .current { background: var(--c-primary-700, #1a2d4a); border-color: transparent; color: #fff; }

/* Categorías del blog como enlaces */
.pill-row a.pill { text-decoration: none; }

/* Contenido escrito en el editor de bloques */
.prose img, .prose figure { max-width: 100%; height: auto; border-radius: var(--r-md); }
.prose figure { margin: 2rem 0; }
.prose figcaption { font-size: var(--fs-xs); color: var(--c-muted); margin-top: 0.5rem; }
.prose a { color: var(--c-primary-700, inherit); text-underline-offset: 3px; }
.prose .wp-block-button__link { display: inline-block; padding: 0.8rem 1.4rem; border-radius: var(--r-pill); text-decoration: none; }
.alignleft { float: left; margin: 0.3rem 1.5rem 1rem 0; }
.alignright { float: right; margin: 0.3rem 0 1rem 1.5rem; }
.aligncenter { margin-inline: auto; display: block; }

/* Imágenes de la biblioteca de medios dentro de <picture> con la misma proporción que las del demo */
picture > img.attachment-le-wide { width: 100%; height: 100%; object-fit: cover; }

/* Formularios dentro de páginas libres */
.page-form { margin-top: 2.5rem; }
.page-form .form { background: var(--c-white); }

/* Medios de pago */
.pay-grid { display: grid; gap: 1.25rem; margin-top: 2rem; }
@media (min-width: 760px) { .pay-grid { grid-template-columns: repeat(2, 1fr); } }
.pay-card { padding: 1.75rem; border-radius: var(--r-lg); background: var(--c-white); border: 1px solid rgb(var(--rgb-soft) / 0.55); box-shadow: var(--sh-1); display: grid; gap: 0.85rem; align-content: start; }
.pay-card h2 { font-family: var(--f-serif); font-weight: 500; font-size: 1.4rem; margin: 0; }
.pay-card p { margin: 0; color: var(--c-muted); }
.pay-card__icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: var(--c-soft-50); color: var(--c-gold-700); }
.pay-card__account { display: grid; gap: 0.5rem; margin: 0; }
.pay-card__account div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.6rem 0; border-bottom: 1px solid var(--c-soft-200); }
.pay-card__account dt { color: var(--c-muted); }
.pay-card__account dd { margin: 0; font-size: 1.1rem; }
.pay-card .btn { justify-self: start; }
.pay-grid + .note-confirm { margin-top: 1.5rem; }

.line__more { display: inline-flex; align-items: center; gap: 0.3rem; margin-top: 0.4rem; font-size: var(--fs-xs); font-weight: 600; color: inherit; }
.line__more .icon { width: 0.9rem; height: 0.9rem; }

/* Obituario: años, mensaje de la familia y compartir */
.obit__years { margin: -0.4rem 0 0.75rem; font-size: var(--fs-sm); color: var(--c-muted); letter-spacing: 0.04em; }
.obit-message { max-width: 560px; margin: 1.5rem auto; padding: 1.25rem 1.5rem; border-left: 3px solid var(--c-gold); background: var(--c-white); border-radius: 0 var(--r-md) var(--r-md) 0; text-align: left; font-family: var(--f-serif); font-size: 1.2rem; }
.obit-message p { margin: 0 0 0.5rem; }
.obit-message cite { font-family: inherit; font-size: var(--fs-sm); font-style: normal; color: var(--c-muted); }
.obit-share { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; }
.obit-share > span { font-weight: 600; font-size: var(--fs-sm); }
.pay-card .pill-row { justify-content: flex-start; margin: 0; }
.pay-grid { margin: 0 0 1.5rem; }
.pay-grid ~ .note-confirm { margin-bottom: 2.5rem; }

/* Ventana «¿Cómo prefieres que te contactemos?» */
.dialog--contacto { width: min(94vw, 600px); max-height: 92vh; }
.dialog--contacto .dialog__inner { position: relative; padding: clamp(1.4rem, 4vw, 2.25rem); }
.dialog--contacto h2 { padding-right: 2.5rem; margin: 0.2rem 0 1.25rem; }
.contact-choice__options { display: grid; gap: 0.75rem; }
.contact-choice__option {
	display: grid; grid-template-columns: 48px 1fr 20px; align-items: center; gap: 0.9rem; width: 100%; padding: 1rem 1.1rem;
	border-radius: var(--r-lg); border: 1.5px solid var(--c-soft-200); background: var(--c-white);
	color: var(--c-ink); text-align: left; text-decoration: none; font: inherit; cursor: pointer;
	transition: border-color var(--t-fast, .15s), background var(--t-fast, .15s), transform var(--t-fast, .15s);
}
.contact-choice__option:hover, .contact-choice__option:focus-visible { border-color: var(--c-primary-500); background: var(--c-soft-50); transform: translateY(-1px); }
.contact-choice__option strong { display: block; font-size: 1.05rem; }
.contact-choice__option small { display: block; margin-top: 0.15rem; color: var(--c-muted); font-size: var(--fs-xs); }
.contact-choice__option > .icon { width: 1.1rem; height: 1.1rem; color: var(--c-muted); }
.contact-choice__icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: var(--c-soft-100); color: var(--c-primary-700); }
.contact-choice__icon .icon { width: 1.4rem; height: 1.4rem; }
.contact-choice__option--wa .contact-choice__icon { background: var(--c-whatsapp, #1f8a4c); color: #fff; }
.contact-choice__urgent { display: flex; gap: 0.5rem; align-items: flex-start; margin: 1.25rem 0 0; font-size: var(--fs-xs); color: var(--c-muted); }
.contact-choice__urgent .icon { flex: none; width: 1rem; height: 1rem; margin-top: 0.1rem; }
.contact-choice__back { margin: -0.4rem 0 0.5rem; padding-left: 0; }
.dialog--contacto .form { padding: 0; border: 0; box-shadow: none; background: transparent; }
.dialog--contacto .form__alt { display: none; }

/* Página del plan: a qué plan corresponde el formulario */
.plan-form-chip { display: flex; gap: 0.75rem; align-items: center; margin: 0 0 1rem; padding: 0.9rem 1.1rem; border-radius: var(--r-lg); background: var(--c-soft-100); border: 1px solid var(--c-soft-200); color: var(--c-ink); }
.plan-form-chip > .icon { flex: none; width: 1.6rem; height: 1.6rem; color: var(--c-primary-700); }
.plan-form-chip strong { font-family: var(--f-serif); font-weight: 500; font-size: 1.15rem; }
.plan-form-chip small { display: block; margin-top: 0.1rem; color: var(--c-muted); font-size: var(--fs-xs); }

/* Mascotas: con la paleta naranja el botón principal usa el naranja de la marca (el café fijo del demo dejaba la letra oscura sobre fondo oscuro) */
:root[data-paleta="naranja"] .pets .btn--primary { --btn-bg: var(--c-brand); --btn-bd: var(--c-brand); --btn-fg: var(--c-on-brand); }
:root[data-paleta="naranja"] .pets .btn--primary:hover { --btn-bg: var(--c-brand-hover); --btn-bd: var(--c-brand-hover); }
/* Con la paleta azul se conserva el café cálido del demo, con letra clara */
.pets .btn--primary { --btn-fg: #fffaf3; }

/* Realice su pago: foto junto a la cuenta */
.pay-photo { margin: 0; border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh-1); min-height: 260px; }
.pay-photo picture, .pay-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 60% 30%; }
@media (min-width: 760px) { .pay-grid:has(.pay-photo) { grid-template-columns: 1fr 1fr; align-items: stretch; } .pay-grid .pay-photo { order: -1; } }
.pay-photo { position: relative; }
.pay-photo picture { position: absolute; inset: 0; }
.pay-photo img { position: absolute; inset: 0; width: 100%; height: 100%; }

.form__radicado { padding: 0.8rem 1rem; border-radius: var(--r-md); background: var(--c-soft-100); font-size: 1.05rem; }
.form__radicado strong { font-family: var(--f-serif); font-size: 1.25rem; letter-spacing: 0.02em; }
