/* Estilo v2 (Claude Design · «Sistema v2») aplicado sobre las páginas originales de Squarespace.
   Misma estructura, textos y fotos: solo cambian tipografía, botones, campos, espaciados y detalles.
   Paleta: crema #FFFDFA · beige #EAE3DC · marrón #594136 · marrón oscuro #402E26 · café #201713 */

:root {
  --v2-crema: #FFFDFA;
  --v2-beige: #EAE3DC;
  --v2-marron: #594136;
  --v2-marron-oscuro: #402E26;
  --v2-cafe: #201713;
  --r-box: 28px;
  --r-btn: 999px;
  --r-img: 12px;
  --r-tag: 4px;
}

body { -webkit-font-smoothing: antialiased; }

/* ---------- Tipografía ---------- */
/* Títulos: bajan de tamaño y de peso (500 → 400) */
.sqs-html-content h1 {
  font-size: clamp(36px, 3.6vw, 52px) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: -.02em !important;
}
.sqs-html-content h2 {
  font-size: clamp(28px, 2.5vw, 36px) !important;
  font-weight: 400 !important;
  line-height: 1.14 !important;
  letter-spacing: -.015em !important;
}
.sqs-html-content h3 {
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}
/* h4 = entradilla */
.sqs-html-content h4 {
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}
/* Texto corrido: un punto más y más interlineado; ningún texto por debajo de 15 px */
.sqs-html-content p,
.sqs-html-content li {
  font-size: 17px !important;
  line-height: 1.65 !important;
}
.sqs-html-content p.sqsrte-large { font-size: 20px !important; line-height: 1.55 !important; }
.sqs-html-content p.sqsrte-small { font-size: 15px !important; line-height: 1.53 !important; }
/* Los textos con tamaño automático (escalados) se respetan */
.sqsrte-scaled-text-container .sqs-html-content *,
.sqsrte-scaled-text .sqs-html-content * { font-size: inherit !important; line-height: inherit !important; }

.sqs-html-content a { text-decoration-thickness: 1px; text-underline-offset: 5px; }

/* ---------- Botones: café con texto crema, esquinas redondeadas, hover marrón ---------- */
.sqs-block-button-element,
.sqs-button-element--primary,
.sqs-button-element--secondary,
.sqs-button-element--tertiary,
.header-actions-action--cta .btn,
.form-submit-button,
.sqs-block-form .form-button-wrapper button {
  background: var(--v2-cafe) !important;
  color: var(--v2-crema) !important;
  border: 0 !important;
  border-radius: var(--r-btn) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  padding: 17px 32px !important;
  line-height: 1.2 !important;
  opacity: 1 !important;
  transition: background .2s, color .2s !important;
}
.sqs-block-button-element:hover,
.sqs-button-element--primary:hover,
.sqs-button-element--secondary:hover,
.sqs-button-element--tertiary:hover,
.header-actions-action--cta .btn:hover,
.form-submit-button:hover,
.sqs-block-form .form-button-wrapper button:hover {
  background: var(--v2-marron) !important;
  color: var(--v2-crema) !important;
  opacity: 1 !important;
}
/* Sobre fondo oscuro: crema con texto café */
[data-section-theme="black"] .sqs-block-button-element,
[data-section-theme="black-bold"] .sqs-block-button-element,
[data-section-theme="dark"] .sqs-block-button-element,
[data-section-theme="black"] .sqs-button-element--primary,
[data-section-theme="black-bold"] .sqs-button-element--primary,
[data-section-theme="dark"] .sqs-button-element--primary,
[data-section-theme="black"] .form-submit-button,
[data-section-theme="black-bold"] .form-submit-button,
[data-section-theme="dark"] .form-submit-button,
[data-section-theme="black"] .sqs-block-form .form-button-wrapper button,
[data-section-theme="black-bold"] .sqs-block-form .form-button-wrapper button,
[data-section-theme="dark"] .sqs-block-form .form-button-wrapper button {
  background: var(--v2-crema) !important;
  color: var(--v2-cafe) !important;
}
[data-section-theme="black"] .sqs-block-button-element:hover,
[data-section-theme="black-bold"] .sqs-block-button-element:hover,
[data-section-theme="dark"] .sqs-block-button-element:hover,
[data-section-theme="black"] .sqs-button-element--primary:hover,
[data-section-theme="black-bold"] .sqs-button-element--primary:hover,
[data-section-theme="dark"] .sqs-button-element--primary:hover,
[data-section-theme="black"] .form-submit-button:hover,
[data-section-theme="black-bold"] .form-submit-button:hover,
[data-section-theme="dark"] .form-submit-button:hover {
  background: var(--v2-beige) !important;
  color: var(--v2-cafe) !important;
}

/* ---------- Formularios: campos de 48 px, etiquetas visibles ---------- */
.sqs-block-form .form-item input:not([type="checkbox"]):not([type="radio"]),
.sqs-block-form .form-item select,
.sqs-block-form .form-item textarea {
  min-height: 48px !important;
  padding: 12px 16px !important;
  font-size: 17px !important;
  border: 1px solid #CFC4B8 !important;
  border-radius: var(--r-img) !important;
  background: var(--v2-crema) !important;
  color: var(--v2-cafe) !important;
  box-shadow: none !important;
}
.sqs-block-form .form-item textarea { min-height: 140px !important; }
.sqs-block-form .form-item input:focus,
.sqs-block-form .form-item select:focus,
.sqs-block-form .form-item textarea:focus { outline: 2px solid var(--v2-cafe) !important; outline-offset: 1px; }
.sqs-block-form .form-item .title,
.sqs-block-form .form-item legend,
.sqs-block-form .form-item label { font-size: 15px !important; font-weight: 500 !important; }
.sqs-block-form .form-item .description,
.sqs-block-form .form-item .required { font-size: 15px !important; }

/* ---------- Imágenes de contenido: esquinas suaves ---------- */
.fe-block .sqs-block-image .fluid-image-container,
.fe-block .sqs-block-image .image-block-wrapper,
.sqs-block-image .sqs-image-shape-container-element {
  border-radius: var(--r-img) !important;
  overflow: hidden !important;
}

/* ---------- Acordeones (preguntas frecuentes) ---------- */
.accordion-item__title { font-size: 18px !important; font-weight: 500 !important; line-height: 1.4 !important; }
.accordion-item__description,
.accordion-item__description p { font-size: 17px !important; line-height: 1.65 !important; }

/* ---------- Cabecera y pie: como hoy, con texto a 15 px y enlaces más altos ---------- */
.header-nav-item a,
.header-nav-folder-title { font-size: 15px !important; }
#footer-sections .sqs-html-content p { font-size: 15px !important; line-height: 1.7 !important; }
#footer-sections .sqs-html-content a { display: inline-block; padding: 3px 0; }

/* ---------- Home · Sacramentos: fondo marrón oscuro liso en lugar de la foto repetida ---------- */
[data-section-id="6888fb600bbb26021c21af88"] .section-background > *:not(.section-background-overlay) { display: none !important; }
[data-section-id="6888fb600bbb26021c21af88"] .section-background,
[data-section-id="6888fb600bbb26021c21af88"] .section-background-overlay { background: var(--v2-marron-oscuro) !important; opacity: 1 !important; }

/* ---------- Home · Novedades: próximos eventos en tarjetas (3 por fila, como el resumen original) ---------- */
.novedades-v2 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; width: 100%; }
@media (max-width: 767px) { .novedades-v2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; } }
@media (max-width: 420px) { .novedades-v2 { grid-template-columns: 1fr; } }

/* =====================================================================
   Aspecto de Claude Design sobre la estructura original
   ===================================================================== */
:root {
  --maxPageWidth: 1200px !important;          /* ancho de contenido del diseño, alineado con el logo */
  --pagePadding: clamp(20px, 5vw, 48px) !important;
  --header-height: 0px !important;            /* la cabecera nueva ocupa su sitio (sticky), no se superpone */
  --v2-margen: max(clamp(20px, 5vw, 48px), calc((100vw - 1200px) / 2));
}
html, body { background: var(--v2-crema) !important; }
body { font-family: 'DM Sans', sans-serif; color: var(--v2-cafe); }

/* ---------- Cabecera del diseño (+ línea litúrgica) ---------- */
.v2-cabecera { position: sticky; top: 0; z-index: 50; background: var(--v2-crema); font-family: 'DM Sans', sans-serif; }
.v2-cabecera__fila { max-width: 1200px; margin: 0 auto; padding: 20px clamp(20px, 5vw, 48px); min-height: 96px; box-sizing: border-box;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 40px; }
.v2-cabecera__logo { display: flex; }
.v2-cabecera__logo img { height: 44px; width: auto; display: block; }
.v2-cabecera__nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 32px; font-size: 15px; }
.v2-cabecera__nav > a, .v2-carpeta > summary { color: var(--v2-cafe); text-decoration: none; cursor: pointer; }
.v2-cabecera__nav > a:hover, .v2-carpeta > summary:hover { color: var(--v2-marron); }
.v2-cabecera__nav > a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.v2-carpeta { position: relative; }
.v2-carpeta > summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; }
.v2-carpeta > summary::-webkit-details-marker { display: none; }
.v2-carpeta > summary::after { content: ""; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.v2-carpeta[open] > summary::after { transform: translateY(1px) rotate(-135deg); }
.v2-carpeta__lista { position: absolute; right: 0; top: calc(100% + 14px); min-width: 240px; padding: 10px; background: var(--v2-crema);
  border: 1px solid var(--v2-beige); border-radius: 16px; box-shadow: 0 16px 40px rgba(32, 23, 19, .12); display: flex; flex-direction: column; z-index: 60; }
.v2-carpeta__lista a { padding: 10px 14px; border-radius: 10px; color: var(--v2-cafe); text-decoration: none; white-space: nowrap; }
.v2-carpeta__lista a:hover { background: #F5F0EA; }
.v2-liturgia { background: var(--v2-crema); border-top: 1px solid var(--v2-beige); border-bottom: 1px solid var(--v2-beige); }
.v2-liturgia__fila { max-width: 1200px; margin: 0 auto; padding: 9px clamp(20px, 5vw, 48px); box-sizing: border-box;
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; font-size: 13px; color: var(--v2-marron); }
.v2-liturgia__tiempo { display: flex; align-items: center; gap: 8px; font-weight: 500; color: var(--v2-cafe); white-space: nowrap; }
.v2-liturgia__punto { width: 7px; height: 7px; border-radius: 50%; background: #3E7D4F; flex: none; }
@media (max-width: 640px) {
  .v2-cabecera__fila { min-height: 0; padding-top: 14px; padding-bottom: 14px; gap: 12px; }
  .v2-cabecera__logo img { height: 38px; }
  .v2-cabecera__nav { gap: 6px 20px; }
  .v2-carpeta__lista { right: auto; left: 0; }
}

/* ---------- Pie del diseño ---------- */
.v2-pie { background: var(--v2-cafe); color: var(--v2-crema); font-family: 'DM Sans', sans-serif; }
.v2-pie__fila { max-width: 1200px; margin: 0 auto; padding: 80px clamp(20px, 5vw, 48px) 40px; box-sizing: border-box;
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 48px 64px; }
.v2-pie__marca { display: flex; flex-direction: column; gap: 28px; }
.v2-pie__marca img { height: 44px; width: auto; align-self: flex-start; }
.v2-pie__datos { font-size: 15px; line-height: 1.7; color: var(--v2-beige); }
.v2-pie__datos a { color: var(--v2-crema); }
.v2-pie__columnas { display: flex; flex-wrap: wrap; gap: 40px 80px; font-size: 15px; line-height: 1.5; }
.v2-pie__columnas > div { display: flex; flex-direction: column; gap: 12px; }
.v2-pie__columnas span { font-weight: 500; margin-bottom: 6px; }
.v2-pie__columnas a, .v2-pie__legal a { color: var(--v2-beige); text-decoration: none; white-space: nowrap; }
.v2-pie__columnas a:hover, .v2-pie__legal a:hover { color: var(--v2-crema); }
.v2-pie__legal { max-width: 1200px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 48px) 40px; box-sizing: border-box; font-size: 13px; }

/* ---------- Secciones: contenido a 1200 px; las de color o con foto, como bloques redondeados ---------- */
#page .page-section { background: transparent; }
#page .page-section:not(.cdk-section):is(.has-background, [data-section-theme="light"], [data-section-theme="dark"], [data-section-theme="black"],
  [data-section-theme="black-bold"], [data-section-theme="white-bold"], [data-section-theme="bright"]) {
  margin: clamp(16px, 2vw, 24px) var(--v2-margen);
  border-radius: var(--r-box);
  overflow: hidden;
  isolation: isolate;
}
#page .page-section[data-section-theme="light"] .section-background,
#page .page-section[data-section-theme="light"] { background-color: #F5F0EA !important; }
#page .page-section:not(.cdk-section):is([data-section-theme="dark"], [data-section-theme="black"], [data-section-theme="black-bold"]):not(.has-background) .section-background { background-color: var(--v2-marron-oscuro) !important; }

/* ---------- Rejilla de tarjetas con foto (p. ej. Parroquia: Historia, Orden, Organigrama…) ---------- */
#page .cdk-section { margin: clamp(24px, 3vw, 40px) var(--v2-margen) !important; border-radius: 0 !important; overflow: visible !important; }
#page .cdk-section .sqs-section-background { display: none !important; }
#page .portfolio-grid-overlay { --portfolio-horizontal-gutter: 16px !important; --portfolio-vertical-gutter: 16px !important; gap: 16px !important; }
#page .cdk-section .content-wrapper { padding: 0 !important; }
#page .portfolio-grid-overlay .grid-item { border-radius: var(--r-box); overflow: hidden; isolation: isolate; height: auto !important; aspect-ratio: 4 / 3; }
#page .portfolio-grid-overlay .grid-image, #page .portfolio-grid-overlay .grid-image-inner-wrapper { height: 100% !important; }
#page .portfolio-grid-overlay .grid-image img { width: 100% !important; height: 100% !important; object-fit: cover; }
#page .portfolio-grid-overlay .portfolio-overlay { background: linear-gradient(180deg, rgba(32,23,19,.15), rgba(32,23,19,.55)) !important; opacity: 1 !important; }
#page .portfolio-grid-overlay .portfolio-title { font-size: clamp(22px, 2vw, 28px) !important; font-weight: 400 !important; letter-spacing: -.01em !important; color: var(--v2-crema) !important; }
#page .portfolio-grid-overlay .grid-item:hover img { transform: scale(1.03); transition: transform .5s; }

/* Títulos con el tracking del diseño */
.sqs-html-content h1 { letter-spacing: -.025em !important; }
#page .cdk-section .section-border { background: transparent !important; }
#page .portfolio-grid-overlay { padding: 0 !important; min-height: 0 !important; }
#page .portfolio-grid-overlay .grid-item,
#page .portfolio-grid-overlay .grid-image { padding-bottom: 0 !important; }
#page .portfolio-grid-overlay .grid-image { position: absolute !important; inset: 0; }

/* Campos de formulario: más específico que los estilos de Squarespace (fondo y borde siempre visibles) */
html body .sqs-block-form .form-wrapper .field-list .form-item :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
  background: var(--v2-crema) !important;
  border: 1px solid #CFC4B8 !important;
  border-radius: var(--r-img) !important;
}

/* La primera sección sin foto deja aire bajo la cabecera (antes lo daba la cabecera superpuesta de Squarespace) */
#page #sections > .page-section:first-of-type:not(.has-background) > .content-wrapper { padding-top: clamp(40px, 5vw, 72px) !important; }

/* Bloques de texto con fondo (p. ej. tarjetas de horarios): esquinas suaves */
#page .fe-block { --tweak-text-block-radius: 16px !important; border-radius: 16px !important; }

/* Primera sección: el hueco que antes dejaba la cabecera superpuesta se convierte en aire del diseño */
#page [style*="padding-top: var(--header-height)"]:not(.has-background) { padding-top: clamp(32px, 4vw, 56px) !important; }

/* Listas de tarjetas (p. ej. Horarios: Lunes–Sábado, Sábado, Domingo…): esquinas suaves */
#page .user-items-list .list-item { border-radius: var(--r-box) !important; overflow: hidden; }

/* Rejillas de cifras (La parroquia en cifras): 4 o 3 por fila; 2 en el móvil */
.v2-cifras { display: grid; gap: 12px; }
.v2-cifras--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.v2-cifras--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 720px) { .v2-cifras--4, .v2-cifras--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Mapas de Google insertados en las páginas originales (p. ej. Mapa Evangelización): como el de la Orden del Carmelo */
#page .sqs-code-container div:has(> iframe[src*="google.com/maps"]) {
  border-radius: var(--r-box) !important;
  overflow: hidden !important;
  background: #F5F0EA;
  isolation: isolate;
}
#page .sqs-code-container div:has(> iframe[src*="google.com/maps"]) {
  width: min(1200px, calc(100% - 2 * clamp(20px, 5vw, 48px))) !important;
  margin: 0 auto !important;
  aspect-ratio: auto !important;
  height: 600px !important;
}
@media (max-width: 767px) {
  #page .sqs-code-container div:has(> iframe[src*="google.com/maps"]) { height: auto !important; aspect-ratio: 5 / 6 !important; }
}
#page .fe-block:has(iframe[src*="google.com/maps"]),
#page .fe-block:has(iframe[src*="google.com/maps"]) :is(.sqs-block, .sqs-block-content, .sqs-code-container) { height: auto !important; }
#page .sqs-code-container div:has(> iframe[src*="google.com/maps"]) > iframe { top: -70px !important; height: calc(100% + 70px) !important; }

/* Parroquia · «Carta del párroco»: el texto de bienvenida como una hoja de papel con sombra */
#page .fe-block-yui_3_17_2_1_1781557337050_1312 {
  background: #FFFFFF !important;
  border-radius: 6px !important;
  padding: clamp(28px, 4vw, 56px) clamp(24px, 4vw, 56px) !important;
  box-shadow: 0 1px 2px rgba(32, 23, 19, .06), 0 6px 14px rgba(32, 23, 19, .06), 0 24px 56px rgba(32, 23, 19, .12) !important;
  border: 1px solid #EFE9E2;
  transform: rotate(-.4deg);
}
@media (max-width: 767px) { #page .fe-block-yui_3_17_2_1_1781557337050_1312 { transform: none; } }

/* =====================================================================
   Móvil (revisión 16/10/2026)
   ===================================================================== */
/* El mapa de la home es más ancho que su caja: que no asome */
div:has(> iframe[title="Mapa de la parroquia"]) { overflow: hidden !important; }

@media (max-width: 767px) {
  html { overflow-x: clip; }

  /* Cabecera compacta: logo + menú en una fila, línea litúrgica en una sola línea deslizable */
  .v2-cabecera__fila { flex-wrap: nowrap; gap: 12px; padding: 12px 16px; min-height: 0; }
  .v2-cabecera__logo img { height: 34px; }
  .v2-cabecera__nav { gap: 4px 14px; font-size: 14px; justify-content: flex-end; }
  .v2-carpeta__lista { right: 0; left: auto; }
  .v2-liturgia__fila { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding: 8px 16px; gap: 14px; font-size: 12px; }
  .v2-liturgia__fila::-webkit-scrollbar { display: none; }
  .v2-liturgia__fila > span { white-space: nowrap; }

  /* Secciones de Squarespace: sin alturas mínimas ni filas vacías de la rejilla */
  #page .page-section { min-height: 0 !important; }
  #page .page-section > .content-wrapper { min-height: 0 !important; padding-top: 32px !important; padding-bottom: 32px !important; }
  #page .fluid-engine { grid-template-rows: none !important; grid-auto-rows: minmax(0, auto) !important; row-gap: 0 !important; }
  #page .fe-block { align-self: start; margin-bottom: 14px; }
  /* La primera sección con foto (cabecera de página) mantiene algo de altura y el texto centrado */
  #page .page-section.has-background > .content-wrapper { min-height: 300px !important; display: flex; align-items: center; }
  #page .page-section.has-background > .content-wrapper > .content { width: 100%; }
  #page .page-section.has-background .fluid-engine { row-gap: 0 !important; }

  /* Fichas de evento (Squarespace): anterior / siguiente en columna */
  #page .item-pagination { display: flex !important; flex-direction: column; gap: 20px; padding: 32px 20px !important; }
  #page .item-pagination-link { width: 100% !important; max-width: 100% !important; padding: 0 !important; }
  #page .item-pagination-title { font-size: 18px !important; }

  /* Agenda y fichas generadas: márgenes de 56 px → 8 px, etiquetas a 12 px, filas en rejilla */
  main [style*="padding:0 56px"], main [style*="padding: 0px 56px"] { padding-left: 8px !important; padding-right: 8px !important; }
  main [style*="margin-left:56px"], main [style*="margin-left: 56px"] { margin-left: 0 !important; }
  main [style*="padding:16px 16px 16px 56px"] { padding: 16px 8px !important; }
  main [style*="font-size:11px"], main [style*="font-size: 11px"] { font-size: 12px !important; }
  .fila-evento { display: grid !important; grid-template-columns: 56px 72px 1fr; gap: 12px 14px !important; padding: 14px !important; margin: 0 8px !important; }
  .fila-evento > div:nth-child(3) { grid-column: 1 / -1; }
  .fila-evento > span[aria-hidden] { display: none; }
  .chips-anios, [style*="padding:0 56px"] > a { font-size: 13px; }
}
@media (max-width: 767px) {
  /* Menú: logo arriba, las cuatro entradas en una fila debajo */
  .v2-cabecera__fila { flex-wrap: wrap; gap: 10px 0; padding: 12px 16px 10px; }
  .v2-cabecera__nav { flex: 1 1 100%; justify-content: space-between; gap: 0 8px; font-size: 13.5px; flex-wrap: nowrap; }
  .v2-cabecera__nav > a, .v2-carpeta > summary { white-space: nowrap; }
}

/* Donaciones: el código Bizum, grande pero sin ser un segundo H1 */
#page .sqs-html-content p.v2-bizum { font-size: clamp(64px, 9vw, 120px) !important; font-weight: 400 !important; line-height: 1.1 !important; letter-spacing: -.02em; margin: 0 !important; }

/* Accesibilidad: los enlaces dentro del texto se distinguen; los textos atenuados mantienen contraste suficiente */
#page .sqs-html-content p a { text-decoration: underline; }
[style*="color: rgb(155, 150, 146)"], [style*="color:#9B9692"], [style*="color: rgb(180, 168, 162)"], [style*="color:#B4A8A2"] { color: #6F655F !important; }

/* Móvil · home y horarios del diseño: nada más ancho que la pantalla */
@media (max-width: 767px) {
  /* botón «Horarios de toda la semana · Ver más» */
  main button[style*="padding: 18px 56px"] { padding: 16px 0 !important; margin-top: 32px !important; }
  main button[style*="padding: 18px 56px"] > span:first-child { white-space: normal !important; font-size: 12px !important; letter-spacing: .08em !important; }
  /* cabeceras de sección con sangría de 56 px */
  main [style*="padding: 0px 56px"] { padding-left: 0 !important; padding-right: 0 !important; }
  main [style*="padding-left: 56px"] { padding-left: 0 !important; }
  main [style*="calc(56px + clamp(20px, 5vw, 48px))"] { padding-left: 20px !important; padding-right: 20px !important; }
  main h1[style*="clamp(34px, 4vw, 52px)"] { font-size: 30px !important; }
  /* filas de misas: cada dato cabe, con salto de línea cuando hace falta */
  main [style*="flex-wrap: nowrap; white-space: nowrap"] { flex-wrap: wrap !important; white-space: normal !important; gap: 4px 14px !important; padding: 10px 0 !important; }
  main [style*="flex: 0 0 192px"] { flex: 1 1 100% !important; padding: 14px 0 2px !important; }
  main [style*="flex: 1 1 480px"][style*="padding-left: 24px"] { padding-left: 0 !important; }
  main [style*="flex: 0 0 72px"] { flex: 0 0 56px !important; }
  main [style*="flex: 1 0 200px"] { flex: 1 1 auto !important; min-width: 0; }
  main [style*="flex: 0 0 170px"] { flex: 0 0 auto !important; font-size: 13px !important; }
  main [style*="flex: 0 0 170px"] ~ a, main [style*="flex-wrap: nowrap; white-space: nowrap"] > a { flex: 1 1 100% !important; font-size: 13px !important; padding-left: 70px; }
  /* tarjeta «Sacramentos» y otras tarjetas con sangría izquierda */
  main [style*="padding: 16px 16px 16px 56px"] { padding: 16px !important; }
  main article > img[style*="flex: 1.2 1 420px"] { flex: 1 1 100% !important; width: 100% !important; }
}
