/* Parroquia · Glass. Shared visual layer; legacy modules retain their layouts. */
:root {
  --vino: #701e3a; --vino-oscuro: #391426; --vino-claro: #923953;
  --dorado: #c6a15b; --dorado-claro: #f0d7a5; --marfil: #fcf8f3;
  --oscuro: #302430; --gris: #695e68; --radio: 30px;
  --glass: rgba(255,255,255,.69); --glass-border: rgba(255,255,255,.9);
  --glass-shadow: 0 20px 60px -24px rgba(67,24,46,.2), inset 0 1px 0 rgba(255,255,255,.95);
}
body.glass-site { background: radial-gradient(ellipse at 0% 12%, #f3e2eb 0, transparent 34%), radial-gradient(ellipse at 100% 38%,#eee0c9 0,transparent 32%), radial-gradient(ellipse at 8% 75%,#eddee7 0,transparent 34%),#fcf8f3; color:var(--oscuro); font-size:1rem; }
body.glass-site .contenedor { width:min(90%,1260px); }
body.glass-site main { overflow:clip; }
body.glass-site :is(h1,h2,h3) { text-wrap:balance; }
body.glass-site p { text-wrap:pretty; }
body.glass-site a,body.glass-site button { -webkit-tap-highlight-color:transparent; }
body.glass-site :is(a,button,input,textarea,select,[tabindex]):focus-visible { outline:3px solid #ad7539!important; outline-offset:5px; }
body.glass-site :is(button,a,input,textarea) { touch-action:manipulation; }
.skip-link { position:fixed; z-index:999999; top:12px; left:20px; transform:translateY(-200%); background:#fff; color:#391426; padding:12px 20px; border-radius:20px; }
.skip-link:focus { transform:none; }
body.glass-site #site-header { height:112px; }
body.glass-site .header { position:fixed!important; z-index:1000; top:18px!important; left:50%; transform:translateX(-50%); width:min(calc(100% - 48px),1370px); border-radius:999px; background:rgba(255,255,255,.80)!important; border:1px solid rgba(255,255,255,.96); box-shadow:0 16px 50px -24px rgba(65,16,38,.34),inset 0 1px 1px white; backdrop-filter:blur(24px) saturate(145%); -webkit-backdrop-filter:blur(24px) saturate(145%); }
body.glass-site .header.scrolled { background:rgba(255,255,255,.91)!important; box-shadow:0 12px 40px -15px rgba(65,16,38,.22); }
body.glass-site .header-contenido { min-height:76px; gap:24px; width:100%; padding:8px 24px; }
body.glass-site .marca { flex:0 0 auto; gap:12px; }
body.glass-site .marca-logo-real { width:52px; height:52px; min-width:52px; border-radius:50%; box-shadow:none; }
body.glass-site .marca-titulo { font-size:1.05rem; }
body.glass-site .marca-subtitulo { font-size:.75rem; letter-spacing:.09em; }
body.glass-site .menu { gap:13px; }
body.glass-site .menu a { padding:14px 0; font-size:.875rem; color:#473444; }
body.glass-site .menu a::after { bottom:7px; }
body.glass-site .menu a.menu-donaciones { min-height:44px; padding:10px 18px; border-radius:999px; background:linear-gradient(125deg,#752b45,#43162b)!important; color:#fff!important; border:1px solid #92576a; box-shadow:0 5px 15px rgba(61,16,36,.14),inset 0 1px 0 #d49baa; }
body.glass-site .menu-donaciones-icono { color:#f0d7a5; }
.glass-main { scroll-margin-top:120px; }
body.glass-site .home-slider { width:calc(100% - 36px); margin:0 auto; min-height:660px; border-radius:46px 130px 46px 120px; box-shadow:0 28px 65px -30px #66203b77; isolation:isolate; }
body.glass-site .home-slide img { transform:none!important; object-position:center 55%; }
body.glass-site .home-slide-overlay { background:linear-gradient(90deg,rgba(35,12,25,.57),rgba(37,18,26,.12) 65%,rgba(37,18,26,.02)); }
body.glass-site .home-slide-content { min-height:660px; padding:74px 20px 98px; align-items:center; }
.glass-eyebrow { display:inline-flex; gap:10px; align-items:center; color:#f2debb; font-size:.875rem; font-weight:600; letter-spacing:.09em; margin-bottom:20px; }
.glass-eyebrow::before { content:""; width:24px; height:1px; background:#ebd3a7; }
body.glass-site .home-slide-title { font-size:clamp(2.65rem,4.7vw,4.7rem); line-height:1.09; letter-spacing:-.035em; max-width:580px; text-shadow:none; }
body.glass-site .home-slide-title span { color:#f7dfb6; font-style:italic; }
.glass-hero-description { margin-top:20px; max-width:480px; color:#fff4f2; line-height:1.75; font-size:1rem; }
.glass-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.glass-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 24px; border-radius:999px; border:1px solid rgba(255,255,255,.55); color:white; background:rgba(255,255,255,.11); font-size:.9375rem; font-weight:600; transition:background .2s,transform .2s; }
.glass-btn:hover { transform:translateY(-2px); background:rgba(255,255,255,.2); }
.glass-btn--primary { color:#3b1727; background:linear-gradient(130deg,#ffeaca,#dcc08e); border-color:#ffedcc; box-shadow:inset 0 1px 1px #fff6e6,0 5px 18px #20101c30; }
.glass-btn--primary:hover { background:#f6deaf; }
.glass-btn--wine { background:linear-gradient(140deg,#8b3453,#571e38); color:white; border-color:#a65d73; }
.glass-btn--wine:hover { background:#70233f; }
body.glass-site .home-slider-arrow { width:44px; height:44px; top:auto; bottom:26px; transform:none; background:rgba(255,255,255,.17); backdrop-filter:blur(12px); }
body.glass-site .home-slider-prev { left:46px; }
body.glass-site .home-slider-next { left:98px; right:auto; }
body.glass-site .home-slider-dots { left:180px; bottom:44px; transform:none; }
body.glass-site .home-slider-corner { right:45px; bottom:35px; font-size:.75rem; }
.glass-services { position:relative; z-index:3; width:min(84%,1130px); margin:-1px auto 0; padding:25px 30px; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; background:rgba(255,255,255,.72); border:1px solid white; border-radius:0 0 40px 40px; box-shadow:var(--glass-shadow); backdrop-filter:blur(18px); }
.glass-service { display:flex; gap:15px; align-items:center; padding:4px 10px; color:#593047; }
.glass-service + .glass-service { border-left:1px solid #7c375a22; }
.glass-icon { width:42px; height:42px; flex-shrink:0; padding:10px; border:1px solid #ffffffde; border-radius:50%; background:rgba(126,51,82,.08); color:#78314f; }
.glass-icon svg { width:100%; height:100%; stroke:currentColor; stroke-width:1.5; fill:none; }
.glass-service strong { display:block; font-size:1rem; }
.glass-service small { display:block; color:#77616d; font-size:.875rem; margin-top:3px; }
body.glass-site :is(.inicio-bienvenida-v3,.emisora-v4,.home2-parish-life,.horarios-semana-v3,.sacramentos-contenido,.quienes-somos,.historia-parroquia,.san-francisco,.sacerdotes,.jubilar,.confesion,.jubileo-oracion,.devociones,.comunidades-contenido,.comunidades-presentacion,.galeria-principal,.album-vista,.tienda-presentacion,.tienda-catalogo,.contacto-info,.contacto-form-section,.donaciones-cuentas,.donaciones-gracias,.politica-contenido) { background:transparent!important; }
body.glass-site :is(.inicio-bienvenida-v3,.emisora-v4,.home2-parish-life) { padding:90px 0; }
body.glass-site :is(.bienvenida-v3-decoracion,.parroquia-hero__aro,.sacramentos-hero__aro,.oraciones-hero__aro,.comunidades-hero__aro,.galeria-hero__aro) { display:none; }
body.glass-site .bienvenida-v3-grid { gap:80px; }
body.glass-site .bienvenida-v3-contenido h2 { font-size:clamp(2.5rem,4vw,3.7rem); line-height:1.15; }
body.glass-site .bienvenida-v3-imagen { border-radius:44px 130px 44px 44px!important; box-shadow:0 28px 55px -20px #6d344c44; }
body.glass-site .bienvenida-v3-marco { display:none; }
body.glass-site .bienvenida-v3-simbolo { background:rgba(255,255,255,.64); border:1px solid white; color:#682b47; backdrop-filter:blur(18px); border-radius:50%; box-shadow:var(--glass-shadow); }
body.glass-site .bienvenida-v3-valores { border-top:1px solid #ffffffee; background:rgba(255,255,255,.45); padding:20px; border-radius:24px; }
body.glass-site .emisora-v4-grid { padding:42px; border:1px solid white; border-radius:46px 46px 90px 46px; background:rgba(255,255,255,.54); box-shadow:var(--glass-shadow); backdrop-filter:blur(20px); }
body.glass-site .emisora-v4-identidad { background:rgba(255,255,255,.68); border:1px solid white; border-radius:34px; box-shadow:0 12px 40px -20px #44203d44; }
body.glass-site .emisora-v4-info h2 { font-size:clamp(2.5rem,3.8vw,3.6rem); }
body.glass-site .emisora-v4-player { background:linear-gradient(125deg,rgba(69,26,50,.92),rgba(43,22,43,.88))!important; border:1px solid #c992a078; border-radius:28px; box-shadow:inset 0 1px 0 #dfb5c055,0 14px 35px -15px #47142c66; }
body.glass-site .emisora-v4-web { background:rgba(255,255,255,.55); border:1px solid white; border-radius:25px; }
body.glass-site .emisora-v4-onda { opacity:.5; }
body.glass-site .home2-life-heading h2 { font-size:clamp(2.6rem,3.8vw,3.8rem); line-height:1.15; }
body.glass-site :is(.home2-life-card,.horarios-dia-v3,.horarios-domingo-v3,.horarios-milagros-v4,.horarios-despacho-v3,.sacramento-card,.sacerdotes-intro-card,.sacerdote-actual,.sacerdote-card,.jubilar-bloque,.indulgencia-card,.confesion-paso,.canto-card,.oracion-jubilar,.virgen-card,.tienda-card,.tienda-presentacion__contenido,.contacto-info__titulo-card,.contacto-dato,.contacto-form,.donaciones-dato,.donaciones-frase,.donaciones-gracias__card,.politica-indice__card,.politica-articulo) { background:var(--glass)!important; border:1px solid var(--glass-border)!important; border-radius:30px!important; box-shadow:var(--glass-shadow)!important; backdrop-filter:blur(15px); -webkit-backdrop-filter:blur(15px); }
body.glass-site .home2-life-card { min-height:300px; border-radius:32px 64px 32px 32px!important; }
body.glass-site .home2-life-card:nth-child(2) { border-radius:64px 32px 32px 32px!important; margin-top:24px; }
body.glass-site .home2-life-card-top { margin-bottom:30px; }
body.glass-site .home2-life-emoji { background:rgba(255,255,255,.7); border:1px solid white; color:#752849; }
body.glass-site .home2-life-emoji svg { width:24px; height:24px; stroke:currentColor; stroke-width:1.5; fill:none; }
.glass-card-link { display:inline-flex; margin-top:auto; padding-top:20px; color:#732747; font-weight:600; font-size:.9375rem; }
body.glass-site :is(.horarios-hero-v6,.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero,.politica-hero) { margin:0 18px; width:calc(100% - 36px); border-radius:44px 110px 44px 88px; isolation:isolate; }
body.glass-site :is(.parroquia-hero__contenido,.sacramentos-hero__contenido,.oraciones-hero__contenido,.comunidades-hero__contenido,.galeria-hero__contenido,.tienda-page-hero__contenido,.contacto-hero__contenido,.donaciones-hero__contenido,.politica-hero__contenido) { padding:34px!important; border:1px solid #ffffff50; border-radius:34px 65px 34px 34px; background:linear-gradient(140deg,#3e192d99,#59243d66); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
body.glass-site :is(.horarios-hero-v6 h1,.parroquia-hero h1,.sacramentos-hero h1,.oraciones-hero h1,.comunidades-hero h1,.galeria-hero h1,.tienda-page-hero h1,.contacto-hero h1,.donaciones-hero h1,.politica-hero h1) { font-size:clamp(2.7rem,4.7vw,4.5rem)!important; line-height:1.13!important; letter-spacing:-.03em!important; }
body.glass-site :is(.sacramento-card__informacion,.sacramento-materiales,.sacerdote-card__nombre,.tienda-card__body,.horarios-domingo-v3__info) { background:transparent!important; }
body.glass-site .sacramento-card__cabecera { background:linear-gradient(125deg,#501c38,#7c3452)!important; border:0; }
body.glass-site .sacramento-material { background:rgba(255,255,255,.61); border:1px solid #fff!important; border-radius:21px; }
body.glass-site .sacramento-card__imagen { border-radius:0 0 45px 0; }
body.glass-site .sacerdote-card { overflow:hidden; }
body.glass-site :is(.album-card,.comunidad-card) { border:1px solid white!important; border-radius:36px 70px 36px 36px!important; box-shadow:var(--glass-shadow)!important; }
body.glass-site .comunidad-card__contenido,body.glass-site .album-card__contenido { padding:22px; background:linear-gradient(130deg,#3d1f34bc,#4b284c85); backdrop-filter:blur(14px); border-top:1px solid #ffffff66; border-radius:26px 26px 0 0; }
body.glass-site .album-foto { border-radius:24px!important; }
body.glass-site .album-card__marco,body.glass-site .comunidad-card__marco { display:none; }
body.glass-site .tienda-card__media { border-radius:26px 60px 26px 26px; margin:12px; }
body.glass-site .tienda-card__media img { border-radius:inherit; }
body.glass-site .tienda-card__precio { color:#772846; }
body.glass-site .tienda-btn { border-radius:999px!important; min-height:46px; font-size:.9375rem; }
body.glass-site :is(.contacto-form__input,.contacto-form input,.contacto-form textarea) { background:rgba(255,255,255,.84); border:1px solid #cfb5c6; border-radius:18px; color:#362432; font-size:1rem; }
body.glass-site .contacto-form__enviar { border-radius:999px; }
body.glass-site .donaciones-dato--destacado { background:linear-gradient(125deg,#f5ead899,#f1d6e766)!important; }
body.glass-site .donaciones-copiar { border-radius:999px; min-height:44px; }
body.glass-site :is(.tienda-modal__dialog,.sacramento-visor__dialogo) { background:rgba(255,250,248,.96); border:1px solid white; border-radius:30px; box-shadow:0 28px 90px #1e0b2166; }
body.glass-site .lightbox { backdrop-filter:blur(20px); }
body.glass-site .footer { margin:30px 18px 18px; width:calc(100% - 36px); border-radius:50px 100px 40px 40px; background:linear-gradient(130deg,#3b1e32,#68394e)!important; padding-top:45px; padding-bottom:24px; border:1px solid #bc8c9c44; }
body.glass-site .footer-grid { gap:35px; }
body.glass-site .footer :is(a,p,span) { font-size:.875rem; }
body.glass-site .footer-marca-texto strong { font-size:1.125rem; }
body.glass-site .footer :is(.footer-social a,.footer-ubicacion) { background:rgba(255,255,255,.08); border:1px solid #ffffff44; backdrop-filter:blur(10px); }
body.glass-site .volver-arriba { background:rgba(103,36,64,.8)!important; border:1px solid #f5dcb266; backdrop-filter:blur(14px); }
body.glass-site .analytics-consent { background:rgba(255,250,247,.96); border:1px solid white; border-radius:26px; box-shadow:0 15px 60px #40183144; backdrop-filter:blur(22px); }
.glass-gallery { padding:50px 0 100px; }
.glass-section-header { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:30px; }
.glass-section-header h2 { font-family:var(--titulo); color:#481b33; font-size:clamp(2.4rem,3.6vw,3.7rem); line-height:1.15; }
.glass-section-header .glass-eyebrow { color:#813750; margin-bottom:12px; }
.glass-gallery-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:20px; }
.glass-gallery-card { position:relative; overflow:hidden; min-height:320px; border-radius:35px 70px 35px 35px; border:5px solid #ffffffaf; box-shadow:var(--glass-shadow); }
.glass-gallery-card:nth-child(2) { margin-top:35px; border-radius:65px 35px 35px 35px; }
.glass-gallery-card:nth-child(3) { margin-bottom:35px; }
.glass-gallery-card img { width:100%; height:100%; position:absolute; object-fit:cover; }
.glass-gallery-card span { position:absolute; bottom:12px; left:12px; right:12px; border:1px solid #ffffff66; background:#35182ba8; color:white; border-radius:22px; padding:16px; backdrop-filter:blur(16px); font-weight:600; }
body.glass-site .parroquia-360 { background:radial-gradient(ellipse at 0 0,#8e5c7988,transparent 70%),linear-gradient(125deg,#3d1d34,#63283f)!important; margin:10px 18px 40px; width:calc(100% - 36px); border-radius:60px 120px 60px 60px; }
body.glass-site .parroquia-360-marco { border:8px solid #ffffff5c; border-radius:40px 75px 40px 40px; background:#251b25; box-shadow:0 25px 70px #170d2566; }
body.glass-site .parroquia-360-badge { background:#ffffff20; border:1px solid #ffffff44; border-radius:25px; }
.glass-tour-start { position:absolute; inset:0; display:flex; flex-direction:column; gap:20px; justify-content:center; align-items:center; z-index:2; border:0; background:linear-gradient(#30132c50,#2c172c77),url('img/inicio/slider-1.webp') center/cover; color:#fff; font:inherit; cursor:pointer; }
.glass-tour-start span { border:1px solid #ffffff88; border-radius:999px; background:#4d243b99; padding:15px 28px; backdrop-filter:blur(14px); }
.glass-tour-start svg { width:60px; height:60px; stroke:#fff5dc; fill:none; stroke-width:1; }
.glass-tour-help { font-size:.875rem; color:#fff0e6; }
.glass-support { padding:20px 0 60px; }
.glass-support-inner { padding:42px; display:flex; gap:30px; justify-content:space-between; align-items:center; border:1px solid white; background:rgba(255,255,255,.65); border-radius:40px 80px 40px 40px; box-shadow:var(--glass-shadow); backdrop-filter:blur(16px); }
.glass-support h2 { color:#491f38; font-family:var(--titulo); font-size:2.2rem; }
.glass-support p { color:#71636b; margin-top:12px; }
.glass-form-fallback { display:inline-flex; margin:14px 0; padding:12px 20px; border-radius:999px; border:1px solid #c5a8bd; background:#fff9; color:#6c2847; font-weight:600; }
.glass-contact-note { color:#71616c; font-size:.875rem; line-height:1.6; margin-top:12px; }
.tour-unavailable { position:absolute; inset:0; display:grid; place-items:center; padding:35px; color:white; text-align:center; background:#291727; z-index:200; }
@supports not (backdrop-filter:blur(1px)) { body.glass-site .header,body.glass-site .glass-services,body.glass-site :is(.home2-life-card,.tienda-card,.sacramento-card,.contacto-form) { background:#fff9f6!important; } .home-slide-copy { background:#4b203ad9; } }
@media (min-width:1101px) and (max-width:1300px) { body.glass-site .header-contenido { padding:8px 20px; gap:16px; } body.glass-site .menu { gap:10px; } body.glass-site .marca-titulo { max-width:170px; } body.glass-site .menu a { font-size:.875rem; } }
@media (max-width:1100px) {
  body.glass-site .boton-menu { display:flex; width:48px; height:48px; }
  body.glass-site .header-contenido { justify-content:space-between; padding:10px 20px; }
  body.glass-site .menu { position:absolute; top:calc(100% + 12px); left:0; width:100%; display:flex; flex-direction:column; align-items:stretch; gap:4px; padding:14px; border:1px solid white; border-radius:28px; background:rgba(255,251,248,.97); backdrop-filter:blur(20px); box-shadow:0 18px 60px #431d3233; max-height:0; opacity:0; visibility:hidden; overflow:hidden; }
  body.glass-site .menu.abierto { opacity:1; visibility:visible; max-height:calc(100dvh - 125px); overflow-y:auto; }
  body.glass-site .menu a { padding:12px 18px; border:0; font-size:1rem; border-radius:18px; min-height:46px; }
  body.glass-site .menu a.activo { background:#ede0e7; color:#632541; }
  body.glass-site .menu a::after { display:none; }
  body.glass-site .menu a.menu-donaciones { margin:6px 0 0; }
}
@media (max-width:760px) {
  body.glass-site #site-header { height:100px; }
  body.glass-site .header { top:12px!important; width:calc(100% - 24px); }
  body.glass-site .header-contenido { min-height:66px; padding:8px 14px; }
  body.glass-site .marca-logo-real { width:44px; height:44px; min-width:44px; }
  body.glass-site .marca-titulo { font-size:1rem; }
  body.glass-site .marca-subtitulo { font-size:.75rem; margin-top:3px; }
  body.glass-site .home-slider { width:calc(100% - 20px); min-height:630px; border-radius:30px 60px 30px 60px; }
  body.glass-site .home-slide-content { min-height:630px; padding:75px 4px 100px; }
  body.glass-site .home-slide-title { font-size:clamp(2.35rem,9vw,3.4rem)!important; line-height:1.13; }
  .glass-eyebrow { font-size:.8125rem; letter-spacing:.05em; }
  .glass-hero-description { font-size:.9375rem; }
  .glass-actions { gap:10px; margin-top:24px; }
  .glass-btn { padding:12px 19px; min-height:46px; }
  body.glass-site .home-slider-prev { left:25px; }
  body.glass-site .home-slider-next { left:77px; }
  body.glass-site .home-slider-dots { left:145px; }
  body.glass-site .home-slider-corner { display:none; }
  .glass-slider-pause { top:20px; right:22px; }
  .glass-services { width:calc(100% - 42px); grid-template-columns:1fr; gap:12px; padding:20px; border-radius:0 0 30px 30px; }
  .glass-service { padding:8px 0; }
  .glass-service + .glass-service { border-left:0; border-top:1px solid #82446522; padding-top:16px; }
  body.glass-site :is(.inicio-bienvenida-v3,.emisora-v4,.home2-parish-life) { padding:55px 0; }
  body.glass-site .bienvenida-v3-grid { gap:35px; }
  body.glass-site .bienvenida-v3-contenido h2 { font-size:2.6rem!important; }
  body.glass-site .bienvenida-v3-valores { padding:18px; gap:18px; }
  body.glass-site .bienvenida-v3-imagen { border-radius:30px 75px 30px 30px!important; }
  body.glass-site .emisora-v4-grid { padding:24px; border-radius:30px 30px 60px 30px; }
  body.glass-site .emisora-v4-identidad { padding:20px; }
  body.glass-site .emisora-v4-info h2 { font-size:2.8rem!important; }
  body.glass-site .home2-life-card:nth-child(2) { margin-top:0; }
  body.glass-site :is(.horarios-hero-v6,.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero,.politica-hero) { margin:0 10px; width:calc(100% - 20px); border-radius:30px 65px 30px 55px; }
  body.glass-site :is(.parroquia-hero__contenido,.sacramentos-hero__contenido,.oraciones-hero__contenido,.comunidades-hero__contenido,.galeria-hero__contenido,.tienda-page-hero__contenido,.contacto-hero__contenido,.donaciones-hero__contenido,.politica-hero__contenido) { padding:24px!important; border-radius:28px 50px 28px 28px; }
  body.glass-site :is(.horarios-hero-v6 h1,.parroquia-hero h1,.sacramentos-hero h1,.oraciones-hero h1,.comunidades-hero h1,.galeria-hero h1,.tienda-page-hero h1,.contacto-hero h1,.donaciones-hero h1,.politica-hero h1) { font-size:clamp(2.4rem,8.6vw,3.1rem)!important; }
  body.glass-site :is(.home2-life-card,.tienda-card,.sacramento-card,.contacto-form,.horarios-dia-v3,.jubilar-bloque) { backdrop-filter:none; background:rgba(255,255,255,.8)!important; }
  .glass-section-header { align-items:start; flex-direction:column; gap:22px; }
  .glass-gallery { padding:20px 0 60px; }
  .glass-gallery-grid { grid-template-columns:1fr; gap:18px; }
  .glass-gallery-card { min-height:280px; }
  .glass-gallery-card:nth-child(2),.glass-gallery-card:nth-child(3) { margin:0; }
  body.glass-site .parroquia-360 { width:calc(100% - 20px); margin:0 10px 30px; border-radius:40px 70px 40px 40px; padding:55px 0; }
  body.glass-site .parroquia-360-badge { left:12px; bottom:12px; }
  .glass-support-inner { padding:30px; flex-direction:column; align-items:start; border-radius:30px 60px 30px 30px; }
  body.glass-site .footer { width:calc(100% - 20px); margin:20px 10px 10px; border-radius:40px 60px 30px 30px; }
  body.glass-site .footer-grid { gap:25px; }
}
@media (max-width:390px) { body.glass-site .marca-titulo { font-size:.9375rem; } body.glass-site .marca { gap:8px; } .home-slide-copy { padding:22px!important; } .glass-actions { flex-direction:column; align-items:stretch; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } body.glass-site *,body.glass-site *::before,body.glass-site *::after { animation:none!important; transition:none!important; } }
@media (max-width:390px) { body.glass-site .marca-titulo { font-size:.9375rem; } body.glass-site .marca { gap:8px; } .glass-actions { flex-direction:column; align-items:stretch; } }

/* ===========================================================
   RONDA UI · Fotografías despejadas y glass formal.
   Los bloques de main en pagina-horarios conservan su diseño.
   Las variables anteriores se mantienen para esos bloques.
=========================================================== */
:root {
  --ui-page-start: #f4ede4;
  --ui-page-end: #fffaf3;
  --ui-ink: #3e3027;
  --ui-muted: #6c5849;
  --ui-wine: #79563d;
  --ui-wine-deep: #493426;
  --ui-gold-light: #f1dbb4;
  --ui-line: #d9c8b5;
  --ui-glass-rgb: 255, 253, 250;
  --ui-glass-opacity: .88;
  --ui-glass-surface: rgba(var(--ui-glass-rgb), var(--ui-glass-opacity));
  --ui-glass-blur: 14px;
  --ui-glass-border: 1px solid rgba(255, 255, 255, .94);
  --ui-glass-shadow: 0 10px 26px rgba(92, 64, 40, .10), inset 0 1px 0 #fff;
  --ui-radius: 18px;
  --ui-radius-small: 10px;
  --ui-width: 1260px;
  --ui-gutter: 24px;
  --ui-topbar-height: 44px;
  --ui-header-top: 62px;
  --ui-header-space: 162px;
}
body.glass-site:not(.pagina-horarios) {
  background: linear-gradient(135deg, var(--ui-page-start), var(--ui-page-end));
  background-attachment: fixed;
  color: var(--ui-ink);
  --glass: var(--ui-glass-surface);
  --glass-border: rgba(255, 255, 255, .94);
  --glass-shadow: var(--ui-glass-shadow);
}
/* Barra de contacto original; misma anchura y eje que el menú. */
body.glass-site #site-header { position:relative; height:var(--ui-header-space); }
body.glass-site .topbar {
  display:block!important; position:absolute; z-index:1202;
  top:10px; left:50%; transform:translateX(-50%);
  width:min(calc(100% - var(--ui-gutter)*2), var(--ui-width));
  height:var(--ui-topbar-height); overflow:visible;
  background:var(--ui-wine-deep); border:1px solid #ffffff26;
  border-radius:var(--ui-radius-small); color:#fff; box-shadow:none;
}
body.glass-site .topbar::after { display:none; }
body.glass-site .topbar-contenido {
  width:100%; min-height:var(--ui-topbar-height); padding:0 16px;
  display:flex; flex-wrap:nowrap; justify-content:space-between; gap:16px;
}
body.glass-site .topbar-izquierda { min-width:0; gap:14px; }
body.glass-site .topbar-derecha { flex:0 0 auto; gap:4px; }
body.glass-site :is(.topbar-item,.topbar-social) {
  display:inline-flex!important; align-items:center; gap:7px;
  min-height:34px; padding:5px 8px; background:transparent;
  border:0; border-radius:6px; color:#fff; font-size:.8125rem;
  text-shadow:none; box-shadow:none;
}
body.glass-site :is(.topbar-item,.topbar-social):hover { background:#ffffff1f; color:#fff; }
body.glass-site .topbar-social { width:34px; justify-content:center; }
body.glass-site .topbar-social svg { width:18px; height:18px; color:#fff; }
body.glass-site .topbar-item svg { width:17px; height:17px; flex-shrink:0; }
body.glass-site .topbar-texto--desktop { display:inline; }
body.glass-site .topbar-texto--mobile,body.glass-site .topbar-social-texto { display:none; }
body.glass-site .header {
  top:var(--nav-top,var(--ui-header-top))!important;
  width:min(calc(100% - var(--ui-gutter)*2), var(--ui-width));
  border-radius:var(--ui-radius); background:var(--ui-glass-surface)!important;
  border:var(--ui-glass-border); box-shadow:var(--ui-glass-shadow);
  backdrop-filter:blur(var(--ui-glass-blur));
  -webkit-backdrop-filter:blur(var(--ui-glass-blur));
}
body.glass-site .header.scrolled { background:var(--ui-glass-surface)!important; box-shadow:var(--ui-glass-shadow); }
body.glass-site .header-contenido { padding:8px 20px; gap:18px; }
body.glass-site .marca-subtitulo { color:var(--ui-muted); }
body.glass-site .menu { gap:12px; }
body.glass-site .menu a { color:var(--ui-ink); }
body.glass-site .menu a.menu-donaciones { background:var(--ui-wine)!important; border-radius:var(--ui-radius-small); box-shadow:none; }
body.glass-site .menu.abierto { background:var(--ui-glass-surface); border-radius:var(--ui-radius); box-shadow:var(--ui-glass-shadow); }
body.glass-site .menu a.activo { color:var(--ui-wine); }
body.glass-site :is(main,[id]) { scroll-margin-top:var(--ui-scroll-offset,calc(var(--ui-header-space) + 14px)); }
body.glass-site :is(a,button,input,textarea,select,[tabindex]):focus-visible { outline-color:#805c20!important; }
/* Rectángulos sencillos. No se aplica a main en Horarios. */
body.glass-site:not(.pagina-horarios) main :is(section,article,aside,figure,[class*="card"],[class*="marco"],[class*="bloque"],[class*="panel"],[class*="imagen"],[class*="media"],[class*="valores"]) {
  border-radius:var(--ui-radius)!important;
}
body.glass-site:not(.pagina-horarios) main :is([class*="__halo"],[class*="__luz"],[class*="__aro"],[class*="__textura"],[class*="__destello"],[class*="__particulas"],[class*="__decoracion"],.bienvenida-v3-decoracion,.comunidad-card__brillo) { display:none!important; }
body.glass-site:not(.pagina-horarios) :is(.home2-life-card,.sacramento-card,.sacerdotes-intro-card,.sacerdote-actual,.sacerdote-card,.jubilar-bloque,.indulgencia-card,.confesion-paso,.canto-card,.oracion-jubilar,.virgen-card,.tienda-card,.tienda-presentacion__contenido,.contacto-info__titulo-card,.contacto-dato,.contacto-form,.donaciones-dato,.donaciones-frase,.donaciones-gracias__card,.politica-indice__card,.politica-articulo,.glass-support-inner,.emisora-v4-grid,.emisora-v4-identidad,.emisora-v4-web,.bienvenida-v3-valores,.galeria-principal__cabecera,.tienda-catalogo__cabecera) {
  background:var(--ui-glass-surface)!important; border:var(--ui-glass-border)!important;
  box-shadow:var(--ui-glass-shadow)!important;
  border-radius:var(--ui-radius)!important;
  backdrop-filter:blur(var(--ui-glass-blur)); -webkit-backdrop-filter:blur(var(--ui-glass-blur));
}
body.glass-site:not(.pagina-horarios) :is(.home2-life-card,.glass-gallery-card):nth-child(n) { margin-top:0; margin-bottom:0; }
body.glass-site:not(.pagina-horarios) :is(.glass-btn,.tienda-btn,.donaciones-copiar,.contacto-form__enviar,.glass-form-fallback,.sacramento-material__boton) { border-radius:var(--ui-radius-small)!important; }
.glass-btn--primary { background:var(--ui-gold-light); color:var(--ui-wine-deep); border-color:var(--ui-gold-light); box-shadow:none; }
.glass-btn--wine { background:var(--ui-wine); color:#fff; border-color:var(--ui-wine); }
.glass-btn--wine:hover { background:var(--ui-wine-deep); }
.glass-btn--primary:hover { background:#f8e7c8; }
.glass-btn { border-radius:var(--ui-radius-small); }
.glass-btn:hover { transform:none; }
.glass-service { color:var(--ui-wine); }
.glass-service small,.glass-contact-note,.glass-support p { color:var(--ui-muted); }
.glass-services {
  width:min(calc(100% - var(--ui-gutter)*2), var(--ui-width)); margin:16px auto 0;
  background:var(--ui-glass-surface); border:var(--ui-glass-border);
  border-radius:var(--ui-radius); box-shadow:var(--ui-glass-shadow);
  backdrop-filter:blur(var(--ui-glass-blur)); -webkit-backdrop-filter:blur(var(--ui-glass-blur));
}
/* Portadas panorámicas: foto completa, sin recorte ni tarjeta de vidrio. */
body.glass-site .home-slider {
  --home-photo-height:calc((100vw - var(--ui-gutter)*2)*760/1920);
  width:calc(100% - var(--ui-gutter)*2); margin:0 auto;
  height:var(--home-photo-height); min-height:0; max-height:none;
  border-radius:var(--ui-radius); background:var(--ui-wine-deep); box-shadow:var(--ui-glass-shadow);
}
body.glass-site .home-slide { background:transparent; }
body.glass-site .home-slide > img,body.glass-site .home-slide-picture {
  position:absolute!important; inset:0; width:100%!important; height:100%!important;
  border-radius:0!important; filter:none!important; transform:none!important;
}
body.glass-site .home-slide-picture img { position:absolute!important; inset:0; width:100%!important; height:100%!important; }
body.glass-site .home-slide img { object-fit:contain; object-position:center; opacity:1; filter:none!important; }
body.glass-site .home-slide-overlay {
  display:block; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg,rgba(36,25,18,.87),rgba(36,25,18,.72) 38%,rgba(36,25,18,.08) 75%,transparent);
  backdrop-filter:none; pointer-events:none;
}
body.glass-site .home-slide-content {
  position:relative; z-index:2; width:min(90%,var(--ui-width)); height:100%; min-height:0; margin:0 auto;
  padding:26px 0 76px; display:flex; align-items:center; background:transparent; color:#fff;
}
body.glass-site .home-slide-copy {
  width:min(610px,53%)!important; padding:0!important; background:none!important;
  border:0!important; border-radius:0!important; box-shadow:none!important;
  backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
}
body.glass-site .home-slide-title { font-size:clamp(2.3rem,4.3vw,4.5rem); line-height:1.12; color:#fff; }
body.glass-site .home-slide-title span,body.glass-site .glass-eyebrow { color:var(--ui-gold-light); }
body.glass-site .glass-hero-description { color:#fff; font-size:1rem; }
body.glass-site .home-slider-dots { left:max(5%,calc((100% - var(--ui-width))/2)); bottom:24px; display:flex; }
body.glass-site .home-slider-dot { display:block; background:#ffffff80; cursor:default; }
body.glass-site .home-slider-dot.active { background:var(--ui-gold-light); }
body.glass-site .home-slider-corner {
  left:auto; right:5%; bottom:24px; width:auto; max-width:45%; padding:0;
  white-space:normal; color:#fff; background:none; border:0; box-shadow:none; backdrop-filter:none; font-size:.6875rem;
}
body.glass-site :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero) {
  display:grid; grid-template-columns:minmax(0,1fr); align-items:stretch;
  padding:0!important; height:auto!important; min-height:0;
  width:calc(100% - var(--ui-gutter)*2); margin:0 auto;
  background:var(--ui-wine-deep)!important; border-radius:var(--ui-radius)!important;
  box-shadow:var(--ui-glass-shadow); overflow:hidden;
}
body.glass-site :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero)::before,body.glass-site :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero)::after {
  display:block!important; content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg,rgba(36,25,18,.87),rgba(36,25,18,.72) 38%,rgba(36,25,18,.08) 75%,transparent);
}
body.glass-site :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero)::after { display:none!important; }
body.glass-site :is(.parroquia-hero__fondo,.sacramentos-hero__fondo,.oraciones-hero__fondo,.comunidades-hero__fondo,.galeria-hero__fondo,.tienda-page-hero__fondo,.contacto-hero__fondo,.donaciones-hero__imagen) {
  position:relative!important; inset:auto; grid-column:1; grid-row:1;
  width:100%; height:auto; min-height:0; z-index:0; opacity:1;
  border-radius:0!important; transform:none; overflow:hidden;
}
body.glass-site :is(.parroquia-hero__fondo,.sacramentos-hero__fondo,.oraciones-hero__fondo,.comunidades-hero__fondo,.galeria-hero__fondo,.tienda-page-hero__fondo,.contacto-hero__fondo,.donaciones-hero__imagen) img {
  display:block; position:relative; inset:auto; width:100%; height:auto;
  object-fit:contain; object-position:center; filter:none!important; transform:none!important; opacity:1;
}
body.glass-site :is(.parroquia-hero__overlay,.sacramentos-hero__overlay,.oraciones-hero__overlay,.comunidades-hero__overlay,.galeria-hero__overlay,.tienda-page-hero__overlay,.contacto-hero__overlay,.donaciones-hero__overlay,.comunidades-hero__vineta,[class$="-hero__linea"]) { display:none!important; }
body.glass-site :is(.parroquia-hero__contenedor,.sacramentos-hero__contenedor,.oraciones-hero__contenedor,.comunidades-hero__contenedor,.galeria-hero__contenedor,.tienda-page-hero__contenedor,.contacto-hero__contenedor,.donaciones-hero__contenedor) {
  grid-column:1; grid-row:1; position:relative; z-index:2; inset:auto;
  width:min(90%,var(--ui-width))!important; max-width:none!important; min-height:0;
  display:flex; align-items:center; margin:0 auto; padding:42px 0;
  background:transparent; border-radius:0!important;
}
body.glass-site :is(.parroquia-hero__contenido,.sacramentos-hero__contenido,.oraciones-hero__contenido,.comunidades-hero__contenido,.galeria-hero__contenido,.tienda-page-hero__contenido,.contacto-hero__contenido,.donaciones-hero__contenido) {
  width:min(650px,58%); max-width:none; padding:0!important; border:0!important;
  background:transparent!important; border-radius:0!important; box-shadow:none!important;
  backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
}
body.glass-site :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero) h1 { font-size:clamp(2.4rem,4.3vw,4.5rem)!important; color:#fff; }
body.glass-site :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero) :is(h1 span,h1 em) { color:var(--ui-gold-light); }
body.glass-site :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero) p { background:none; border:0; padding:0; margin-top:20px; color:#fff; backdrop-filter:none; font-size:1rem; }
body.glass-site :is(.contacto-hero__etiqueta,.tienda-page-hero__etiqueta,.donaciones-hero__kicker,.donaciones-hero__boton) { background:transparent; border-color:#ffffff66; color:#fff; border-radius:var(--ui-radius-small); backdrop-filter:none; }
body.glass-site .politica-hero { width:min(calc(100% - var(--ui-gutter)*2),var(--ui-width)); margin:0 auto; background:var(--ui-wine-deep); border-radius:var(--ui-radius); }
body.glass-site .politica-hero__contenido { background:none; border:0; box-shadow:none; backdrop-filter:none; }
/* Álbumes y comunidades: fotografía arriba, contenido debajo. */
body.glass-site :is(.album-card,.comunidad-card) { background:var(--ui-glass-surface)!important; border:var(--ui-glass-border)!important; box-shadow:var(--ui-glass-shadow)!important; }
body.glass-site .album-card__boton {
  display:flex; flex-direction:column; position:relative!important; aspect-ratio:auto!important;
  min-height:0!important; height:auto!important; padding:0;
  background:transparent; border:0; border-radius:var(--ui-radius); box-shadow:none;
}
body.glass-site :is(.album-card__boton,.comunidad-card,.comunidad-card__enlace)::before,
body.glass-site :is(.album-card__boton,.comunidad-card,.comunidad-card__enlace)::after { display:none!important; }
body.glass-site :is(.album-card__imagen,.comunidad-card__imagen) { position:relative; inset:auto; width:100%; height:250px; min-height:250px; border-radius:0!important; }
body.glass-site :is(.album-card__imagen,.comunidad-card__imagen) img { position:relative; width:100%; height:100%; transform:none!important; filter:none!important; }
body.glass-site :is(.album-card__overlay,.comunidad-card__overlay,.album-card__marco,.comunidad-card__marco) { display:none; }
body.glass-site :is(.album-card__contenido,.comunidad-card__contenido) {
  display:block; position:relative!important; inset:auto; width:100%; margin:0; padding:24px;
  background:transparent!important; border:0; border-radius:0; color:var(--ui-ink);
  backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none;
  transform:none!important; min-height:170px;
}
body.glass-site :is(.album-card,.comunidad-card) :is(h3,h3 span,.album-card__ver,.comunidad-card__subtitulo,.comunidad-card__ornamento) { color:var(--ui-wine); text-shadow:none; }
body.glass-site .album-card__etiqueta { background:var(--ui-wine); color:#fff; backdrop-filter:none; border:0; border-radius:6px; }
body.glass-site .album-card__etiqueta { border-radius:6px!important; box-shadow:none; }
body.glass-site .album-card__etiqueta::before { color:var(--ui-gold-light); }
body.glass-site .comunidad-card { display:flex; flex-direction:column; min-height:0!important; height:auto!important; transform:none; }
body.glass-site .comunidad-card__enlace {
  display:block; aspect-ratio:auto; min-height:0; height:auto; width:100%;
  background:transparent; border:0; box-shadow:none;
  border-radius:var(--ui-radius); transform:none!important; transform-style:flat;
}
body.glass-site .comunidad-card__contenido { background:var(--ui-glass-surface)!important; min-height:120px; }
body.glass-site :is(.comunidades-contenido,.comunidades-presentacion,.comunidades-listado,.galeria-principal,.galeria-principal__cabecera)::before,
body.glass-site :is(.comunidades-contenido,.comunidades-presentacion,.comunidades-listado,.galeria-principal,.galeria-principal__cabecera)::after { display:none!important; }
body.glass-site .comunidad-card__numero { top:12px; right:12px; background:var(--ui-wine-deep); color:#fff; border-radius:6px; backdrop-filter:none; }
.glass-gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.glass-gallery-card,.glass-gallery-card:nth-child(n) { display:flex; flex-direction:column; min-height:0; margin:0; background:var(--ui-glass-surface); border:var(--ui-glass-border); border-radius:var(--ui-radius); }
.glass-gallery-card img { position:relative; height:280px; object-fit:cover; }
.glass-gallery-card span { position:static; border:0; border-radius:0; background:none; color:var(--ui-wine); padding:20px; backdrop-filter:none; }
/* Otros pies de fotografías se colocan en el flujo, sin cubrirlas. */
body.glass-site:not(.pagina-horarios) :is(.contacto-info__imagen-sello,.donaciones-cuentas__banco,.tienda-presentacion__imagen-sello,.jubilar-presentacion__imagen figcaption,.virgen-card__etiqueta) {
  position:relative!important; inset:auto; transform:none; margin:0; width:100%;
  background:var(--ui-wine-deep); color:#fff; border-radius:0!important;
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
body.glass-site .tienda-card__media { margin:12px; }
body.glass-site .tienda-card__badge { position:relative; inset:auto; display:block; border-radius:0; background:var(--ui-wine); color:#fff; backdrop-filter:none; }
body.glass-site:not(.pagina-horarios) .parroquia-360 { background:var(--ui-wine-deep)!important; border-radius:var(--ui-radius); }
body.glass-site:not(.pagina-horarios) .parroquia-360-marco { border-radius:var(--ui-radius)!important; }
body.glass-site .glass-tour-start span { backdrop-filter:none; background:var(--ui-wine-deep); border-radius:var(--ui-radius-small); }
body.glass-site .emisora-v4-player { background:var(--ui-wine-deep)!important; border-radius:var(--ui-radius)!important; }
body.glass-site .donaciones-slider__cabecera h2 em { color:var(--ui-wine); }
body.glass-site .footer {
  width:min(calc(100% - var(--ui-gutter)*2),var(--ui-width)); margin:30px auto 18px;
  border-radius:var(--ui-radius); background:var(--ui-wine-deep)!important;
}
body.glass-site :is(.analytics-consent,.glass-support-inner,.glass-form-fallback) { border-radius:var(--ui-radius); }
body.glass-site .analytics-consent { background:var(--ui-glass-surface); border:var(--ui-glass-border); box-shadow:var(--ui-glass-shadow); backdrop-filter:blur(var(--ui-glass-blur)); }
@media (max-width:1250px) and (min-width:1101px) {
  body.glass-site .header-contenido { gap:12px; padding:8px 16px; }
  body.glass-site .menu { gap:10px; }
  body.glass-site .marca-titulo { max-width:150px; }
  body.glass-site .menu a { font-size:.8125rem; }
}
@media (max-width:900px) {
  body.glass-site .topbar-ubicacion .topbar-texto--desktop { display:none; }
  body.glass-site .topbar-ubicacion .topbar-texto--mobile { display:inline; }
  body.glass-site .home-slide-title { font-size:2.35rem; }
  body.glass-site .home-slide .glass-actions { flex-direction:column; align-items:stretch; }
}
@media (max-width:760px) {
  :root { --ui-gutter:12px; --ui-topbar-height:68px; --ui-header-top:86px; --ui-header-space:166px; --ui-glass-blur:8px; }
  body.glass-site .topbar { height:68px; }
  body.glass-site .topbar-contenido { display:grid; grid-template-columns:minmax(0,1fr) auto; min-height:68px; padding:6px 10px; gap:8px; }
  body.glass-site .topbar-izquierda { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:0; width:100%; }
  body.glass-site .topbar-item { font-size:.6875rem; min-height:26px; padding:3px 0; max-width:100%; }
  body.glass-site .topbar-email { display:inline-flex!important; }
  body.glass-site .topbar-email .topbar-texto--desktop { display:inline; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  body.glass-site .topbar-email .topbar-texto--mobile { display:none; }
  body.glass-site .topbar-derecha { gap:0; }
  body.glass-site .topbar-social { width:28px; padding:4px; }
  body.glass-site .header-contenido { min-height:66px; padding:8px 14px; }
  body.glass-site .menu.abierto { max-height:calc(100dvh - var(--ui-header-space) - 24px); }
  body.glass-site .home-slide-title { font-size:2.55rem!important; }
  body.glass-site .glass-services { padding:20px; width:calc(100% - var(--ui-gutter)*2); }
  body.glass-site :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero) h1 { font-size:2.55rem!important; }
  .glass-gallery-grid { grid-template-columns:1fr; }
  body.glass-site .glass-support-inner { padding:28px; }
  body.glass-site .footer { width:calc(100% - var(--ui-gutter)*2); margin:20px auto 12px; }
}
@media (max-width:390px) {
  body.glass-site .home-slide-title { font-size:2.3rem!important; }
  body.glass-site .home-slide-content { padding-left:24px; padding-right:24px; }
}
@supports not (backdrop-filter:blur(1px)) {
  body.glass-site .header,body.glass-site .glass-services,body.glass-site:not(.pagina-horarios) :is(.home2-life-card,.sacramento-card,.tienda-card,.contacto-form) { background:rgb(var(--ui-glass-rgb))!important; }
  body.glass-site .home-slide-copy { background:transparent; }
}
/* Los controles sobre fotografías tienen fondos sólidos, sin desenfoque. */
body.glass-site:not(.pagina-horarios) .bienvenida-v3-simbolo { display:none; }
body.glass-site:not(.pagina-horarios) :is(.tienda-presentacion__sello,.donaciones-slider__flecha,.donaciones-slider__dots,.sacramento-slider__flecha,.sacramento-slider__indicadores) {
  background:var(--ui-wine-deep); color:#fff;
  backdrop-filter:none; -webkit-backdrop-filter:none;
  border-radius:var(--ui-radius-small);
}
body.glass-site .menu.abierto { backdrop-filter:blur(var(--ui-glass-blur)); -webkit-backdrop-filter:blur(var(--ui-glass-blur)); }

/* Paleta franciscana: crema, arena y café; Horarios mantiene sus bloques. */
:root { --ui-section-wash:#eee3d5; --ui-motion-duration:650ms; --ui-motion-ease:cubic-bezier(.22,.68,.2,1); }
body.glass-site { background:linear-gradient(135deg,var(--ui-page-start),var(--ui-page-end)); background-attachment:fixed; }
body.glass-site:not(.pagina-horarios) {
  --vino:var(--ui-wine); --vino-oscuro:var(--ui-wine-deep); --vino-claro:#956b4d;
  --cafe-franciscano:var(--ui-wine); --cafe-franciscano-claro:#8b6b52;
  --oscuro:var(--ui-ink); --gris:var(--ui-muted); --marfil:#fffaf3;
}
body.glass-site :is(.marca-titulo,.glass-icon,.glass-card-link,.glass-section-header h2,.glass-support h2,.tienda-card__precio,.glass-form-fallback) { color:var(--ui-wine); }
body.glass-site :is(.glass-icon,.home2-life-emoji) { background:#eadccc; color:var(--ui-wine); }
body.glass-site .glass-section-header .glass-eyebrow { color:var(--ui-wine); }
body.glass-site .volver-arriba { background:var(--ui-wine)!important; }
body.glass-site:not(.pagina-horarios) :is(.sacramento-card__cabecera,.san-francisco,.parroquia-360,.emisora-v4-player) { background:var(--ui-wine-deep)!important; }
body.glass-site:not(.pagina-horarios) main > section:not(:is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero,.home-slider,.san-francisco,.parroquia-360,.politica-hero)):nth-of-type(even) { background:linear-gradient(120deg,var(--ui-section-wash),#f8f1e7)!important; }
body.glass-site:not(.pagina-horarios) .donaciones-dato--destacado { background:#f4e7d3!important; }
body.glass-site .glass-btn:not(.glass-btn--primary):not(.glass-btn--wine) { background:#493426; border-color:#b39a7e; }
body.glass-site .glass-btn:not(.glass-btn--primary):not(.glass-btn--wine):hover { background:var(--ui-wine); }
body.glass-site :is(.glass-btn,.glass-service,.glass-card-link,.topbar-item,.topbar-social,.tienda-btn,.donaciones-copiar) {
  transition:translate .22s ease,background-color .22s ease,box-shadow .22s ease;
}
@media (prefers-reduced-motion:reduce) {
  body.glass-site :is(.glass-btn,.tienda-btn,.donaciones-copiar,.home2-life-card,.album-card,.comunidad-card,.tienda-card,.contacto-dato) { translate:none!important; transition:none!important; }
}
/* Controles compartidos también adoptan el café suave. */
body.glass-site .analytics-consent :is(h2,h3,a,.analytics-consent__link) { color:var(--ui-wine-deep); }
body.glass-site .analytics-consent button { color:var(--ui-wine-deep); border-color:var(--ui-wine); }
body.glass-site .analytics-consent button:last-child { background:var(--ui-wine); color:#fff; }
body.glass-site:not(.pagina-horarios) :is(.tienda-btn,.contacto-form__enviar,.donaciones-copiar,.sacramento-material__boton) { background:var(--ui-wine); color:#fff; border-color:var(--ui-wine); }
body.glass-site .footer .footer-copyright { opacity:1; color:#e4d5c4; }
body.glass-site .footer .footer-copyright span { color:inherit; opacity:1; }

/* Cabeceras interiores con la misma altura y composición de Horarios. */
:root { --ui-hero-height:430px; --ui-hero-radius:44px 110px 44px 88px; --ui-motion-duration:760ms; }
body.glass-site:not(.pagina-horarios) main :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero,.politica-hero) {
  position:relative; display:flex; align-items:center;
  width:calc(100% - 36px); margin:0 18px;
  height:auto!important; min-height:var(--ui-hero-height);
  border-radius:var(--ui-hero-radius)!important;
}
body.glass-site :is(.parroquia-hero__fondo,.sacramentos-hero__fondo,.oraciones-hero__fondo,.comunidades-hero__fondo,.galeria-hero__fondo,.tienda-page-hero__fondo,.contacto-hero__fondo,.donaciones-hero__imagen) {
  position:absolute!important; inset:0; width:100%; height:100%; min-height:0;
}
body.glass-site :is(.parroquia-hero__fondo,.sacramentos-hero__fondo,.oraciones-hero__fondo,.comunidades-hero__fondo,.galeria-hero__fondo,.tienda-page-hero__fondo,.contacto-hero__fondo,.donaciones-hero__imagen) img {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center;
}
body.glass-site :is(.parroquia-hero__contenedor,.sacramentos-hero__contenedor,.oraciones-hero__contenedor,.comunidades-hero__contenedor,.galeria-hero__contenedor,.tienda-page-hero__contenedor,.contacto-hero__contenedor,.donaciones-hero__contenedor) {
  position:relative; width:min(90%,var(--ui-width))!important; min-height:var(--ui-hero-height);
  height:auto; margin:0 auto; padding:50px 0; background:transparent;
}
body.glass-site :is(.parroquia-hero__contenido,.sacramentos-hero__contenido,.oraciones-hero__contenido,.comunidades-hero__contenido,.galeria-hero__contenido,.tienda-page-hero__contenido,.contacto-hero__contenido,.donaciones-hero__contenido) { width:100%; max-width:820px; margin:0; }
body.glass-site :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero) h1 { font-size:clamp(2.7rem,4.7vw,4.5rem)!important; }
body.glass-site .politica-hero {
  background:var(--ui-wine-deep) url('img/inicio/horarios-header.webp') center/cover!important;
}
body.glass-site .politica-hero::before {
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(90deg,rgba(36,25,18,.88),rgba(36,25,18,.75) 45%,rgba(36,25,18,.24));
}
body.glass-site .politica-hero__contenedor {
  position:relative; z-index:1; width:min(90%,var(--ui-width)); margin:0 auto; min-height:var(--ui-hero-height);
  display:flex; align-items:center; padding:50px 0;
}
body.glass-site .politica-hero__contenido { max-width:650px; padding:0!important; background:none!important; backdrop-filter:none; border:0; }
body.glass-site .menu.abierto { max-height:calc(100dvh - var(--nav-top,var(--ui-header-top)) - 100px); }
@media (max-width:1100px) {
  body.glass-site .home-slider { height:500px; min-height:500px; }
  body.glass-site .home-slide > img,body.glass-site .home-slide-picture { inset:0; height:100%!important; }
  body.glass-site .home-slide-picture img,body.glass-site .home-slide > img { object-fit:cover; }
  body.glass-site .home-slide-overlay { display:block; }
  body.glass-site .home-slide-content {
    position:relative; inset:auto; width:90%; height:100%; min-height:0; margin:0 auto;
    padding:36px 0 66px; background:transparent; align-items:center;
  }
  body.glass-site .home-slide-copy { width:100%!important; max-width:650px; margin:0; }
  body.glass-site .home-slide-title { font-size:clamp(2.5rem,5.4vw,3.6rem)!important; }
  body.glass-site .home-slide .glass-actions { flex-direction:row; align-items:center; }
  body.glass-site .home-slider-dots { left:5%; bottom:24px; }
  body.glass-site .home-slider-corner { right:5%; left:auto; bottom:24px; width:auto; max-width:48%; }
}
@media (max-width:760px) {
  :root { --ui-hero-radius:30px 65px 30px 55px; }
  body.glass-site:not(.pagina-horarios) main :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero,.politica-hero) { width:calc(100% - 20px); margin:0 10px; }
}
@media (max-width:600px) {
  :root { --ui-hero-height:450px; }
  body.glass-site:not(.pagina-horarios) main :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero,.politica-hero,.home-slider) { border-radius:var(--ui-hero-radius)!important; }
  body.glass-site :is(.parroquia-hero__contenedor,.sacramentos-hero__contenedor,.oraciones-hero__contenedor,.comunidades-hero__contenedor,.galeria-hero__contenedor,.tienda-page-hero__contenedor,.contacto-hero__contenedor,.donaciones-hero__contenedor,.politica-hero__contenedor) { width:90%!important; padding:42px 0; }
  body.glass-site :is(.parroquia-hero__contenido,.sacramentos-hero__contenido,.oraciones-hero__contenido,.comunidades-hero__contenido,.galeria-hero__contenido,.tienda-page-hero__contenido,.contacto-hero__contenido,.donaciones-hero__contenido) { max-width:none; }
  body.glass-site :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero,.politica-hero) h1 { font-size:clamp(2.15rem,9.2vw,2.7rem)!important; line-height:1.13!important; }
  body.glass-site :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero,.politica-hero) p { font-size:.875rem; line-height:1.65; }
  body.glass-site :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero)::before,body.glass-site .politica-hero::before {
    background:linear-gradient(90deg,rgba(36,25,18,.86),rgba(36,25,18,.73));
  }
  body.glass-site .home-slider { width:calc(100% - 20px); min-height:450px; height:450px; }
  body.glass-site .home-slide-content { padding:30px 0 54px; }
  body.glass-site .home-slide-title { font-size:clamp(2rem,9vw,2.6rem)!important; line-height:1.12; }
  body.glass-site .home-slide .glass-eyebrow { margin-bottom:14px; font-size:.6875rem; letter-spacing:.07em; }
  body.glass-site .home-slide .glass-hero-description { font-size:.875rem; line-height:1.6; margin-top:14px; }
  body.glass-site .home-slide .glass-actions { margin-top:20px; flex-direction:row; gap:8px; }
  body.glass-site .home-slide .glass-btn { flex:1 1 140px; min-height:42px; padding:10px 12px; font-size:.8125rem; }
  body.glass-site .home-slide-overlay { background:linear-gradient(90deg,rgba(36,25,18,.86),rgba(36,25,18,.73)); }
  body.glass-site .home-slider-corner { display:none; }
}

body.glass-site :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero) p { max-width:620px; }
@media (max-width:600px) { body.glass-site .home-slide .glass-actions { align-items:stretch; } }
/* Última ronda: una entrada por elemento y tipografía de portada común. */
body.glass-site:not(.pagina-horarios) main :is(.revelar,.contacto-reveal,.tienda-reveal,.galeria-reveal,.don-animar) {
  opacity:1; transform:none; filter:none; transition-delay:0s!important;
}
body.glass-site:not(.pagina-horarios) main [data-ui-motion] { opacity:1; transform:none; filter:none; animation:none!important; }
body.glass-site:not(.pagina-horarios) main [data-ui-motion="done"] { transform:none; }
body.glass-site:not(.pagina-horarios) :is(.tienda-page-hero__etiqueta,.tienda-page-hero h1,.tienda-page-hero__contenido p) {
  opacity:1; animation:none!important; transform:none;
}
body.glass-site :is(.home-slide-title,.parroquia-hero h1,.sacramentos-hero h1,.oraciones-hero h1,.comunidades-hero h1,.galeria-hero h1,.tienda-page-hero h1,.contacto-hero h1,.donaciones-hero h1,.politica-hero h1) {
  max-width:710px; margin:0; color:#fff; font-family:var(--titulo); font-weight:600;
  font-size:clamp(2.7rem,4.7vw,4.5rem)!important; line-height:1.13!important; letter-spacing:-.03em!important;
  text-shadow:0 6px 25px rgba(0,0,0,.25);
}
body.glass-site :is(.home-slide-title,.parroquia-hero h1,.sacramentos-hero h1,.oraciones-hero h1,.comunidades-hero h1,.galeria-hero h1,.tienda-page-hero h1,.contacto-hero h1,.donaciones-hero h1,.politica-hero h1) :is(span,em) {
  display:block; margin-top:5px; color:var(--dorado-claro); font-style:italic; font-weight:inherit;
}
body.glass-site :is(.glass-eyebrow,.contacto-hero__etiqueta,.tienda-page-hero__etiqueta,.donaciones-hero__kicker) {
  color:var(--dorado-claro); font-size:.70rem; font-weight:700; text-transform:uppercase; letter-spacing:.18em;
}
body.glass-site :is(.glass-eyebrow,.contacto-hero__etiqueta,.tienda-page-hero__etiqueta,.donaciones-hero__kicker)::before {
  content:""; display:inline-block; width:38px; height:1px; background:var(--dorado-claro); margin-right:10px; vertical-align:middle;
}
/* La identidad bancaria se muestra completa; el rótulo queda debajo. */
body.glass-site .donaciones-cuentas__visual {
  display:flex; flex-direction:column; align-self:start; aspect-ratio:auto!important;
  height:auto!important; min-height:0!important; overflow:hidden;
}
body.glass-site .donaciones-cuentas__visual figure {
  position:relative!important; inset:auto!important; width:100%; height:auto!important; min-height:0;
  margin:0; border-radius:0!important;
}
body.glass-site .donaciones-cuentas__visual img { width:100%!important; height:auto!important; object-fit:contain!important; border-radius:0; }
body.glass-site .donaciones-cuentas__banco {
  position:relative!important; inset:auto!important; width:100%; margin:0; padding:18px 24px;
  background:var(--ui-glass-surface); color:var(--ui-ink); border:0; border-top:1px solid var(--ui-line);
  backdrop-filter:none; border-radius:0!important;
}
body.glass-site .donaciones-cuentas__banco span { color:var(--ui-muted); font-size:.75rem; }
body.glass-site .donaciones-cuentas__banco strong { color:var(--ui-wine-deep); font-size:1.25rem; }
body.glass-site .donaciones-dato--llave :is(strong,.donaciones-dato__etiqueta) { color:var(--ui-wine-deep); }
/* Footer: columnas equilibradas y una sola tipografía para la franja legal. */
body.glass-site .footer.footer--compacto { padding:0!important; border-color:#ffffff30; }
body.glass-site .footer.footer--compacto .footer-grid {
  width:100%; padding:40px 32px!important; min-height:0!important; margin:0;
  display:grid!important; grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr) minmax(0,1fr)!important;
  align-items:start; gap:36px!important;
}
body.glass-site .footer.footer--compacto .footer-marca { gap:14px; align-items:center; }
body.glass-site .footer.footer--compacto .footer-logo-real { width:56px!important; height:56px!important; min-width:56px; padding:5px!important; border-radius:12px!important; }
body.glass-site .footer.footer--compacto .footer-marca-texto strong { font-size:1.25rem!important; line-height:1.3!important; color:#fff; }
body.glass-site .footer.footer--compacto .footer-marca-texto span { font-size:.75rem!important; line-height:1.5!important; color:#eadfd3; margin-top:4px!important; letter-spacing:.10em; }
body.glass-site .footer.footer--compacto :is(.footer-bloque,.footer-conecta) h3 { font-size:1rem!important; line-height:1.5!important; margin:0 0 14px!important; color:#fff; }
body.glass-site .footer.footer--compacto .footer-enlaces { gap:8px!important; }
body.glass-site .footer.footer--compacto .footer-enlaces a { font-size:.875rem!important; line-height:1.6!important; color:#eadfd3; padding:2px 0; }
body.glass-site .footer.footer--compacto .footer-ubicacion { font-size:.875rem!important; line-height:1.6!important; padding:8px 12px!important; color:#fff; }
body.glass-site .footer.footer--compacto .footer-ubicacion svg { width:18px!important; height:18px!important; }
body.glass-site .footer.footer--compacto .footer-sociales { gap:10px!important; margin-top:16px!important; }
body.glass-site .footer.footer--compacto .footer-social { width:40px!important; height:40px!important; }
body.glass-site .footer.footer--compacto .footer-social svg { width:18px!important; height:18px!important; }
body.glass-site .footer.footer--compacto .footer-legal { border-top:1px solid #ffffff26!important; background:transparent!important; }
body.glass-site .footer.footer--compacto .footer-legal-contenido {
  width:100%; padding:18px 32px!important; min-height:0!important;
  display:flex!important; flex-wrap:wrap; align-items:center; justify-content:flex-start!important; gap:12px 24px!important;
}
body.glass-site .footer.footer--compacto :is(.footer-politica-link,.footer-copyright) {
  font-family:var(--texto)!important; font-size:.875rem!important; font-weight:400!important;
  line-height:1.6!important; color:#eadfd3!important; letter-spacing:0!important; opacity:1!important;
}
body.glass-site .footer.footer--compacto .footer-copyright { margin-left:auto!important; text-align:left!important; }
body.glass-site .footer.footer--compacto .footer-copyright span {
  display:inline!important; font:inherit!important; line-height:inherit!important; color:inherit!important;
  letter-spacing:inherit!important; opacity:1!important;
}
@media (max-width:900px) {
  body.glass-site .footer.footer--compacto .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:28px!important; }
  body.glass-site .footer.footer--compacto .footer-identidad { grid-column:1 / -1; }
  body.glass-site .footer.footer--compacto .footer-copyright { margin-left:0!important; width:100%; }
}
@media (max-width:760px) {
  body.glass-site :is(.home-slide-title,.parroquia-hero h1,.sacramentos-hero h1,.oraciones-hero h1,.comunidades-hero h1,.galeria-hero h1,.tienda-page-hero h1,.contacto-hero h1,.donaciones-hero h1,.politica-hero h1) { font-size:clamp(2.4rem,8.6vw,3.1rem)!important; }
}
@media (max-width:600px) {
  body.glass-site :is(.glass-eyebrow,.contacto-hero__etiqueta,.tienda-page-hero__etiqueta,.donaciones-hero__kicker) { font-size:.61rem; letter-spacing:.14em; }
  body.glass-site .home-slide .glass-eyebrow { font-size:.61rem; letter-spacing:.14em; }
  body.glass-site .footer.footer--compacto .footer-grid { padding:28px 22px!important; grid-template-columns:1fr!important; gap:28px!important; }
  body.glass-site .footer.footer--compacto .footer-legal-contenido { padding:18px 22px!important; flex-direction:column!important; align-items:flex-start!important; gap:10px!important; }
  body.glass-site .footer.footer--compacto .footer-copyright { width:100%; margin:4px 0 0!important; }
  body.glass-site .footer.footer--compacto .footer-marca-texto strong { font-size:1.125rem!important; }
}
@media (max-width:360px) { body.glass-site .home-slider { height:510px; min-height:510px; } }
body.glass-site :is(.glass-eyebrow,.contacto-hero__etiqueta,.tienda-page-hero__etiqueta,.donaciones-hero__kicker) {
  display:inline-flex; align-items:center; gap:11px; margin-bottom:12px;
  padding:0; border:0; background:none; box-shadow:none;
}
body.glass-site :is(.glass-eyebrow,.contacto-hero__etiqueta,.tienda-page-hero__etiqueta,.donaciones-hero__kicker)::before { margin-right:0; flex-shrink:0; }
body.glass-site:not(.pagina-horarios) .donaciones-cuentas__visual .donaciones-cuentas__banco { background:var(--ui-glass-surface)!important; color:var(--ui-ink); }
body.glass-site .footer.footer--compacto :is(.footer-identidad,.footer-bloque,.footer-conecta) { display:block!important; }
body.glass-site .footer.footer--compacto :is(.footer-bloque,.footer-conecta) h3 { display:block!important; }
body.glass-site .footer.footer--compacto .footer-enlaces { display:flex!important; flex-direction:column; }
@media (max-width:600px) {
  body.glass-site .footer.footer--compacto .footer-enlaces { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px!important; }
  body.glass-site .footer.footer--compacto .footer-copyright { padding-right:48px; }
}

/* Detalles de portada comunes: la etiqueta y el separador de Horarios. */
:root { --ui-hero-detail-width:230px; --ui-footer-width:1440px; --ui-footer-padding:22px 28px; }
body.glass-site .ui-hero-kicker {
  display:inline-flex; align-items:center; gap:11px; max-width:100%;
  margin:0 0 12px!important; padding:0!important; border:0!important; border-radius:0!important;
  background:none!important; box-shadow:none!important; backdrop-filter:none!important;
  color:var(--dorado-claro)!important; font-family:var(--texto); font-size:.70rem!important;
  font-weight:700; line-height:1.5; text-transform:uppercase; letter-spacing:.18em!important;
}
body.glass-site .ui-hero-kicker::before {
  content:""; display:block; flex:0 0 38px; width:38px; height:1px; margin:0;
  background:linear-gradient(90deg,var(--dorado),var(--dorado-claro));
}
body.glass-site .ui-hero-kicker > [aria-hidden="true"] { display:none; }
body.glass-site .ui-hero-detail {
  display:flex; align-items:center; gap:12px; width:var(--ui-hero-detail-width); max-width:100%; margin-top:26px;
  pointer-events:none;
}
body.glass-site .ui-hero-detail > span {
  height:1px; flex:1; background:linear-gradient(90deg,transparent,rgba(224,201,146,.65));
}
body.glass-site .ui-hero-detail > span:last-child { background:linear-gradient(90deg,rgba(224,201,146,.65),transparent); }
body.glass-site .ui-hero-detail > strong {
  color:var(--dorado-claro); font-size:.95rem; line-height:1.5; animation:uiHeroStar 3s ease-in-out infinite;
}
@keyframes uiHeroStar {
  0%,100% { transform:rotate(0deg) scale(1); opacity:.75; }
  50% { transform:rotate(20deg) scale(1.13); opacity:1; }
}
body.glass-site .home-slider { min-height:max(var(--home-photo-height),var(--ui-slider-content-height,0px)); }
@media (max-width:1100px) { body.glass-site .home-slider { min-height:max(500px,var(--ui-slider-content-height,0px)); } }
@media (max-width:600px) {
  body.glass-site .ui-hero-kicker { font-size:.61rem!important; letter-spacing:.14em!important; }
  body.glass-site .home-slider { min-height:max(450px,var(--ui-slider-content-height,0px)); }
}
@media (prefers-reduced-motion:reduce) { body.glass-site .ui-hero-detail > strong { animation:none; opacity:1; } }

/* Pie más ancho y bajo: enlaces en filas, ubicación y redes en paralelo. */
body.glass-site .footer.footer--compacto { width:min(calc(100% - var(--ui-gutter)*2),var(--ui-footer-width)); }
body.glass-site .footer.footer--compacto .footer-grid {
  padding:var(--ui-footer-padding)!important; grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) minmax(0,1.1fr)!important;
  align-items:center!important; gap:20px 30px!important;
}
body.glass-site .footer.footer--compacto .footer-identidad { grid-column:auto; max-width:none!important; }
body.glass-site .footer.footer--compacto .footer-marca { gap:12px!important; }
body.glass-site .footer.footer--compacto .footer-logo-real { width:48px!important; height:48px!important; min-width:48px; }
body.glass-site .footer.footer--compacto .footer-marca-texto strong { font-size:1.125rem!important; }
body.glass-site .footer.footer--compacto .footer-marca-texto span { font-size:.6875rem!important; }
body.glass-site .footer.footer--compacto :is(.footer-bloque,.footer-conecta) h3 { font-size:.9375rem!important; margin:0 0 8px!important; }
body.glass-site .footer.footer--compacto .footer-enlaces { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 16px!important; }
body.glass-site .footer.footer--compacto .footer-enlaces a { font-size:.8125rem!important; padding:0; line-height:1.6!important; }
body.glass-site .footer.footer--compacto .footer-conecta { display:grid!important; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; align-items:center; }
body.glass-site .footer.footer--compacto .footer-conecta h3 { grid-column:1 / -1; margin-bottom:0!important; }
body.glass-site .footer.footer--compacto .footer-ubicacion { width:fit-content; padding:6px 9px!important; font-size:.8125rem!important; white-space:normal; }
body.glass-site .footer.footer--compacto .footer-sociales { margin:0!important; gap:6px!important; }
body.glass-site .footer.footer--compacto .footer-social { width:34px!important; height:34px!important; }
body.glass-site .footer.footer--compacto .footer-legal-contenido { padding:12px 28px!important; gap:8px 20px!important; flex-direction:row!important; align-items:center!important; }
body.glass-site .footer.footer--compacto :is(.footer-politica-link,.footer-copyright) { font-size:.8125rem!important; }
body.glass-site .footer.footer--compacto .footer-copyright { width:auto; margin:0 0 0 auto!important; padding-right:0; }
@media (max-width:1050px) {
  body.glass-site .footer.footer--compacto .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  body.glass-site .footer.footer--compacto .footer-conecta { grid-column:1 / -1; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; }
  body.glass-site .footer.footer--compacto .footer-conecta h3 { grid-column:auto; margin:0!important; }
  body.glass-site .footer.footer--compacto .footer-copyright { width:100%; margin-left:0!important; }
}
@media (max-width:600px) {
  :root { --ui-footer-padding:18px 16px; }
  body.glass-site .footer.footer--compacto .footer-grid { gap:16px!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; align-items:start!important; }
  body.glass-site .footer.footer--compacto .footer-identidad { grid-column:1 / -1; }
  body.glass-site .footer.footer--compacto .footer-marca-texto strong { font-size:1.0625rem!important; }
  body.glass-site .footer.footer--compacto .footer-conecta { grid-column:auto; grid-template-columns:minmax(0,1fr); gap:8px; }
  body.glass-site .footer.footer--compacto .footer-enlaces { grid-template-columns:1fr; gap:4px!important; }
  body.glass-site .footer.footer--compacto .footer-conecta h3 { grid-column:auto; }
  body.glass-site .footer.footer--compacto .footer-social { width:32px!important; height:32px!important; }
  body.glass-site .footer.footer--compacto .footer-legal-contenido { padding:12px 16px!important; gap:6px 14px!important; }
  body.glass-site .footer.footer--compacto .footer-copyright { margin-top:4px!important; padding-right:36px; }
}

/* Escritorio: una altura exacta para todas las cabeceras interiores. */
@media (min-width:1101px) {
  body.glass-site:not(.pagina-horarios) main > :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero,.politica-hero) {
    height:var(--ui-hero-height)!important; min-height:var(--ui-hero-height)!important;
  }
  body.glass-site :is(.parroquia-hero__contenedor,.sacramentos-hero__contenedor,.oraciones-hero__contenedor,.comunidades-hero__contenedor,.galeria-hero__contenedor,.tienda-page-hero__contenedor,.contacto-hero__contenedor,.donaciones-hero__contenedor,.politica-hero__contenedor) {
    height:var(--ui-hero-height)!important; min-height:var(--ui-hero-height)!important;
    padding:24px 0!important; box-sizing:border-box; display:flex; align-items:center;
  }
  body.glass-site :is(.parroquia-hero__contenido,.sacramentos-hero__contenido,.oraciones-hero__contenido,.comunidades-hero__contenido,.galeria-hero__contenido,.tienda-page-hero__contenido,.contacto-hero__contenido,.donaciones-hero__contenido,.politica-hero__contenido) {
    width:100%; max-width:900px; padding:0!important;
  }
  body.glass-site :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero,.politica-hero) h1 { max-width:900px; }
}

/* Tienda: la imagen, su etiqueta y el contenido caben dentro de la tarjeta. */
:root { --ui-product-inset:12px; --ui-product-photo-ratio:4 / 5; --ui-photo-gap:18px; }
body.glass-site .tienda-card__media {
  display:flex; flex-direction:column; flex:0 0 auto;
  width:calc(100% - var(--ui-product-inset)*2); max-width:calc(100% - var(--ui-product-inset)*2);
  margin:var(--ui-product-inset) var(--ui-product-inset) 0; padding:0;
  height:auto; min-height:0; aspect-ratio:auto;
  border:1px solid var(--ui-line); border-radius:var(--ui-radius-small); background:var(--ui-page-start);
}
body.glass-site .tienda-card__media img {
  display:block; flex:0 0 auto; width:100%; height:auto; aspect-ratio:var(--ui-product-photo-ratio);
  object-fit:contain; object-position:center; border-radius:0; transform:none!important; filter:none!important;
}
body.glass-site .tienda-card__media::after { display:none; }
body.glass-site .tienda-card__media .tienda-card__badge {
  position:static; display:block; width:100%; padding:8px 10px; margin:0; min-height:30px;
  border:0; border-radius:0; box-shadow:none; background:var(--ui-wine-deep); color:#fff;
  backdrop-filter:none; line-height:1.5;
}
body.glass-site .tienda-presentacion__imagen {
  height:auto!important; min-height:0!important; aspect-ratio:auto; overflow:hidden;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  border-radius:var(--ui-radius); background:var(--ui-page-start);
}
body.glass-site .tienda-presentacion__imagen > img {
  display:block; grid-column:1 / -1; width:100%; height:auto!important; object-fit:contain; transform:none!important;
}
body.glass-site .tienda-presentacion__imagen .tienda-presentacion__sello {
  position:static; inset:auto; width:auto; min-width:0; max-width:none; margin:0; padding:12px;
  border:0; border-radius:0; box-shadow:none; background:var(--ui-wine-deep);
}
body.glass-site .tienda-presentacion__sello span { color:#eadfd3; font-size:.6875rem; line-height:1.5; }
body.glass-site .tienda-presentacion__sello strong { font-size:1rem; line-height:1.4; }
body.glass-site .tienda-modal__imagen-wrap { background:var(--ui-page-start); }
body.glass-site :is(.tienda-modal__imagen-wrap,.tienda-modal__miniatura) img {
  object-fit:contain; object-position:center; transform:none;
}
/* Galería: columnas fluidas; cada fotografía conserva su altura natural. */
body.glass-site .album-grid { display:block; columns:3; column-gap:var(--ui-photo-gap); }
body.glass-site :is(.album-foto,.album-foto--ancha,.album-foto--alta) {
  display:block; width:100%; height:auto; min-height:0; aspect-ratio:auto;
  grid-column:auto; grid-row:auto; margin:0 0 var(--ui-photo-gap); padding:0;
  break-inside:avoid; background:var(--ui-page-start); border-radius:var(--ui-radius)!important;
}
body.glass-site .album-foto img {
  display:block; width:100%; height:auto; object-fit:contain; object-position:center;
  transform:none; filter:none;
}
body.glass-site .galeria-grid { align-items:flex-start!important; }
body.glass-site .album-card { overflow:hidden; }
body.glass-site .album-card__imagen { height:auto; min-height:0; aspect-ratio:auto; }
body.glass-site .album-card__imagen img { display:block; width:100%; height:auto; object-fit:contain; }
@media (max-width:1050px) { body.glass-site .album-grid { columns:2; } }
@media (max-width:600px) {
  :root { --ui-photo-gap:15px; }
  body.glass-site .album-grid { columns:1; }
}

/* Portadas de álbum: retícula y encuadre uniformes; originales completos dentro del álbum. */
:root {
  --ui-album-gap:24px;
  --ui-album-cover-ratio:1 / 1;
  --ui-home-width:1440px;
  --ui-home-inset:48px;
}
body.glass-site .galeria-grid {
  display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr));
  width:100%; margin:0; gap:var(--ui-album-gap)!important;
  align-items:stretch!important;
}
body.glass-site .album-card {
  display:flex!important; width:auto!important; max-width:none!important;
  margin:0!important; height:100%!important; min-width:0!important;
}
body.glass-site .album-card__boton {
  height:100%!important; width:100%!important; transform:none!important;
}
body.glass-site .album-card__imagen {
  flex:0 0 auto; aspect-ratio:var(--ui-album-cover-ratio);
  height:auto; min-height:0; background:var(--ui-page-start);
}
body.glass-site .album-card__imagen img {
  position:absolute; inset:0; display:block;
  width:100%; height:100%; object-fit:cover; object-position:center;
}
body.glass-site .album-card__contenido {
  flex:1; display:flex; flex-direction:column; align-items:flex-start;
  gap:16px; min-height:196px; padding:24px;
  border-top:1px solid var(--ui-line);
}
body.glass-site:not(.pagina-horarios) main .album-card__contenido { border-radius:0!important; }
body.glass-site:not(.pagina-horarios) main .album-card__imagen { border-radius:0!important; }
body.glass-site:not(.pagina-horarios) main .album-card__etiqueta { border-radius:6px!important; }
body.glass-site .album-card__etiqueta { margin:0; }
body.glass-site .album-card h3 {
  margin:0; min-height:2.4em; font-size:1.65rem; line-height:1.2;
  text-wrap:initial; letter-spacing:-.02em;
}
body.glass-site .album-card__ver {
  margin-top:auto; font-size:.75rem; line-height:1.5;
}
body.glass-site .album-card__flecha { color:var(--ui-wine); }
body.glass-site .album-card:focus-within { outline:2px solid var(--ui-wine); outline-offset:4px; }
@media (max-width:1100px) {
  body.glass-site .galeria-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  body.glass-site .galeria-grid { grid-template-columns:minmax(0,1fr); gap:20px!important; }
  body.glass-site .album-card__contenido { min-height:184px; padding:22px; }
}

/* Inicio: portada y barras de borde a borde; contenido en un eje común. */
body.glass-site:has(.home-slider) {
  --ui-width:var(--ui-home-width);
  --ui-header-top:44px;
  --ui-header-space:122px;
  --ui-nav-edge:0px;
  --ui-home-mobile-height:max(640px,calc(100svh - var(--ui-header-space)));
}
body.glass-site:has(.home-slider) :is(.topbar,.header) { width:100%; border-radius:0; }
body.glass-site:has(.home-slider) .topbar { top:0; }
body.glass-site:has(.home-slider) :is(.topbar-contenido,.header-contenido) {
  width:min(calc(100% - var(--ui-gutter)*2),var(--ui-width)); margin:0 auto;
}
body.glass-site:has(.home-slider) .header { border-bottom-color:var(--ui-line); }
body.glass-site:not(.pagina-horarios) main :is(.home-slider,.home-slide,.home-slide-picture) {
  border-radius:0!important;
}
body.glass-site .home-slider {
  --home-frame-width:100vw;
  --home-photo-height:calc(var(--home-frame-width)*760/1920);
  width:100%; box-shadow:none;
}
body.glass-site .home-slide { transform:none!important; }
@media (min-width:1101px) {
  body.glass-site .home-slide-content {
    width:min(calc(100% - var(--ui-gutter)*2),var(--ui-width));
    padding:48px 24px 92px;
  }
  body.glass-site .home-slide-copy { width:min(780px,62%)!important; }
  body.glass-site .home-slide .home-slide-title {
    max-width:none; font-size:clamp(3.25rem,4.4vw,4.5rem)!important;
    line-height:1.12!important; letter-spacing:-.035em;
    margin-bottom:20px;
  }
  body.glass-site .home-slide .home-slide-title span { margin-top:4px; }
  body.glass-site .home-slide .ui-hero-kicker { margin-bottom:20px; }
  body.glass-site .home-slide .glass-hero-description { margin-top:0; margin-bottom:0; }
  body.glass-site .home-slide .ui-hero-detail { margin:24px 0; }
  body.glass-site .home-slide .glass-actions { margin-top:0; gap:12px; flex-wrap:wrap; }
  body.glass-site .home-slide .glass-btn { min-height:48px; padding:12px 22px; }
  body.glass-site .home-slider-dots { left:max(var(--ui-home-inset),calc((100% - var(--ui-width))/2 + 24px)); bottom:32px; }
  body.glass-site .home-slider-corner { right:max(var(--ui-home-inset),calc((100% - var(--ui-width))/2 + 24px)); bottom:32px; }
}
@media (max-width:1100px) {
  body.glass-site .home-slider {
    height:auto; min-height:max(640px,var(--ui-home-mobile-height),var(--ui-slider-content-height,0px));
  }
  body.glass-site .home-slide > img,
  body.glass-site .home-slide-picture,
  body.glass-site .home-slide-picture img {
    top:0!important; bottom:auto!important; height:var(--home-photo-height)!important;
    object-fit:contain; object-position:center;
  }
  body.glass-site .home-slide-overlay {
    inset:var(--home-photo-height) 0 0;
    background:linear-gradient(135deg,#38281f,var(--ui-wine-deep));
  }
  body.glass-site .home-slide-content {
    width:min(calc(100% - 48px),720px); padding:calc(var(--home-photo-height) + 36px) 0 76px;
    align-items:flex-start;
  }
  body.glass-site .home-slide-copy {
    max-width:none; display:flex; flex-direction:column;
    min-height:max(0px,calc(var(--ui-home-mobile-height) - var(--home-photo-height) - 112px));
  }
  body.glass-site .home-slide .home-slide-title { max-width:none; }
  body.glass-site .home-slide .ui-hero-detail { margin-bottom:24px; }
  body.glass-site .home-slide .glass-actions { margin-top:auto; }
  body.glass-site .home-slider-dots { left:max(24px,calc((100% - 720px)/2)); }
  body.glass-site .home-slider-corner { right:24px; }
}
@media (min-width:1101px) and (max-width:1250px) {
  body.glass-site .home-slide-content { padding:32px 24px 68px; }
}
@media (max-width:760px) {
  body.glass-site:has(.home-slider) { --ui-header-top:68px; --ui-header-space:136px; }
  body.glass-site:has(.home-slider) .marca-logo-header { width:48px!important; height:48px!important; min-width:48px; }
}

/* Páginas interiores: solo el ancho de las dos barras, a ras de su portada. */
body.glass-site:not(:has(.home-slider)) { --ui-menu-frame-gutter:18px; }
body.glass-site:not(:has(.home-slider)) :is(.topbar,.header) {
  width:calc(100% - var(--ui-menu-frame-gutter)*2);
}
@media (max-width:760px) {
  body.glass-site:not(:has(.home-slider)) { --ui-menu-frame-gutter:10px; }
}

/* Inicio: el mismo marco redondeado de las portadas interiores.
   Se conservan la altura grande, la tipografía y el contenido del carrusel. */
body.glass-site:has(.home-slider) {
  --ui-menu-frame-gutter:18px;
  --ui-header-top:62px;
  --ui-nav-edge:10px;
  --ui-home-nav-gap:22px;
  --ui-home-view-header-space:122px;
  --ui-home-mobile-height:max(640px,calc(100svh - var(--ui-home-view-header-space)));
}
body.glass-site:has(.home-slider) :is(.topbar,.header) {
  width:calc(100% - var(--ui-menu-frame-gutter)*2);
}
body.glass-site:has(.home-slider) .topbar { top:10px; border-radius:var(--ui-radius-small); }
body.glass-site:has(.home-slider) .header { border-radius:var(--ui-radius); }
body.glass-site:has(.home-slider) :is(.topbar-contenido,.header-contenido) { width:100%; }
body.glass-site .home-slider {
  width:calc(100% - var(--ui-menu-frame-gutter)*2);
  margin:var(--ui-home-nav-gap) auto 0; box-shadow:var(--ui-glass-shadow);
}
body.glass-site:not(.pagina-horarios) main > .home-slider { border-radius:var(--ui-hero-radius)!important; }
@media (min-width:1101px) {
  body.glass-site .home-slide-content {
    width:min(calc(100vw - var(--ui-gutter)*2),var(--ui-width));
  }
}
@media (max-width:1100px) {
  body.glass-site .home-slide-content { width:min(calc(100vw - 48px),720px); }
}
@media (max-width:760px) {
  body.glass-site:has(.home-slider) {
    --ui-menu-frame-gutter:10px;
    --ui-header-top:86px;
    --ui-home-nav-gap:12px;
    --ui-home-view-header-space:136px;
  }
}

/* Inicio en móvil: una única portada fotográfica, como Horarios. */
@media (max-width:1100px) {
  body.glass-site .home-slider {
    height:auto;
    min-height:max(500px,var(--ui-slider-content-height,0px));
  }
  body.glass-site .home-slide > img,
  body.glass-site .home-slide-picture,
  body.glass-site .home-slide-picture img {
    inset:0!important;
    height:100%!important;
    object-fit:cover;
    object-position:center;
  }
  body.glass-site .home-slide-overlay {
    inset:0;
    background:linear-gradient(90deg,rgba(36,25,18,.82),rgba(36,25,18,.64));
  }
  body.glass-site .home-slide-content {
    width:min(90%,720px);
    padding:42px 0 64px;
    align-items:center;
  }
  body.glass-site .home-slide-copy {
    display:block;
    min-height:0;
  }
  body.glass-site .home-slide .ui-hero-detail {
    margin:20px 0;
  }
  body.glass-site .home-slide .glass-actions {
    margin-top:0;
    flex-direction:row;
    align-items:stretch;
    gap:8px;
  }
  body.glass-site .home-slider-dots {
    left:5%;
    bottom:24px;
  }
}
@media (max-width:760px) {
  body.glass-site .home-slider {
    min-height:max(450px,var(--ui-slider-content-height,0px));
  }
  body.glass-site .home-slide .home-slide-title {
    font-size:clamp(2rem,8.6vw,2.6rem)!important;
    line-height:1.13!important;
    margin:0;
  }
  body.glass-site .home-slide .ui-hero-kicker {
    margin-bottom:14px;
  }
  body.glass-site .home-slide .glass-hero-description {
    font-size:.875rem;
    line-height:1.6;
    margin:14px 0 0;
  }
  body.glass-site .home-slide .glass-btn {
    flex:1 1 0;
    min-width:0;
    min-height:44px;
    padding:10px 12px;
    font-size:.8125rem;
  }
}

/* Acabado glass final: materiales cálidos; tamaños y fotografías aprobados. */
:root {
  --ui-page-start:#f2e9df;
  --ui-page-end:#fffaf5;
  --ui-section-wash:#ece1d4;
  --ui-glass-opacity:.82;
  --ui-glass-blur:12px;
  --ui-glass-saturation:112%;
  --ui-glass-surface:linear-gradient(145deg,rgba(255,255,255,.96),rgba(var(--ui-glass-rgb),var(--ui-glass-opacity)) 62%,rgba(248,241,231,.86));
  --ui-glass-border:1px solid rgba(255,255,255,.94);
  --ui-glass-bar-surface:linear-gradient(145deg,rgba(255,255,255,.98),rgba(var(--ui-glass-rgb),.90) 62%,rgba(248,241,231,.94));
  --ui-glass-shadow:0 16px 38px -18px rgba(76,52,34,.24),0 3px 10px rgba(76,52,34,.05),inset 0 1px 0 #fff,inset 0 -1px 0 rgba(169,134,98,.12);
  --ui-glass-hover-shadow:0 22px 44px -18px rgba(76,52,34,.29),0 4px 12px rgba(76,52,34,.07),inset 0 1px 0 #fff;
  --ui-glass-inner:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,250,243,.70));
  --ui-glass-inner-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 2px 8px rgba(76,52,34,.04);
  --ui-control-border:#bcaa95;
  --ui-control-focus:#79563d;
  --ui-control-ring:0 0 0 4px rgba(121,86,61,.13);
  --ui-polish-duration:240ms;
}
body.glass-site {
  background:linear-gradient(155deg,var(--ui-page-start),var(--ui-page-end) 54%,#eee3d7);
  background-attachment:scroll;
}
body.glass-site .header {
  background:var(--ui-glass-bar-surface)!important;
  backdrop-filter:blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturation));
  -webkit-backdrop-filter:blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturation));
}
body.glass-site .header.scrolled {
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,250,244,.94))!important;
}
body.glass-site:not(.pagina-horarios) :is(
  .home2-life-card,.glass-services,.glass-gallery-card,.sacramento-card,
  .sacerdotes-intro-card,.sacerdote-actual,.sacerdote-card,.jubilar-bloque,
  .canto-card,.oracion-jubilar,.virgen-card,.album-card,.comunidad-card,
  .tienda-card,.tienda-presentacion__contenido,.contacto-info__titulo-card,
  .contacto-form,.donaciones-frase,.donaciones-gracias__card,
  .politica-indice__card,.politica-articulo,.glass-support-inner,
  .emisora-v4-grid,.bienvenida-v3-valores,.galeria-principal__cabecera,.tienda-catalogo__cabecera
) {
  background:var(--ui-glass-surface)!important;
  border:var(--ui-glass-border)!important;
  box-shadow:var(--ui-glass-shadow)!important;
  backdrop-filter:blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturation));
  -webkit-backdrop-filter:blur(var(--ui-glass-blur)) saturate(var(--ui-glass-saturation));
  transition:box-shadow var(--ui-polish-duration) ease,border-color var(--ui-polish-duration) ease,translate var(--ui-polish-duration) ease;
}
/* Las capas interiores conservan el brillo, sin volver a desenfocar el panel. */
body.glass-site:not(.pagina-horarios) :is(
  .sacramento-material,.indulgencia-card,.confesion-paso,.contacto-dato,
  .donaciones-dato,.emisora-v4-identidad,.emisora-v4-web
) {
  background:var(--ui-glass-inner)!important;
  border:var(--ui-glass-border)!important;
  box-shadow:var(--ui-glass-inner-shadow)!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body.glass-site:not(.pagina-horarios) .donaciones-dato--destacado {
  background:linear-gradient(145deg,#fcf3e4,#f0dec4)!important;
}
body.glass-site .sacramento-material::after { display:none; }
body.glass-site :is(.contacto-form__input,.contacto-form input,.contacto-form textarea,.contacto-form select) {
  background:linear-gradient(145deg,#fff,rgba(255,252,248,.95));
  color:var(--ui-ink);
  border-color:var(--ui-control-border);
  box-shadow:inset 0 1px 2px rgba(76,52,34,.04);
  transition:border-color var(--ui-polish-duration) ease,box-shadow var(--ui-polish-duration) ease;
}
body.glass-site :is(.contacto-form input,.contacto-form textarea,.contacto-form select):focus {
  border-color:var(--ui-control-focus);
  box-shadow:var(--ui-control-ring);
}
body.glass-site :is(.contacto-form input,.contacto-form textarea)::placeholder { color:var(--ui-muted); opacity:1; }
body.glass-site:not(.pagina-horarios) :is(.tienda-btn,.contacto-form__enviar,.donaciones-copiar,.sacramento-material__boton) {
  background:linear-gradient(145deg,var(--ui-wine),#694a35);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 4px 10px rgba(76,52,34,.12);
}
body.glass-site .footer {
  background:linear-gradient(140deg,rgba(255,255,255,.06),transparent 65%),linear-gradient(115deg,var(--ui-wine-deep),#38291f)!important;
  box-shadow:0 16px 38px -22px rgba(76,52,34,.28),inset 0 1px 0 rgba(255,255,255,.16);
}
body.glass-site .footer :is(.footer-ubicacion,.footer-social) {
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
@media (max-width:760px) { :root { --ui-glass-blur:8px; } }
@media (prefers-reduced-motion:reduce) {
  body.glass-site :is(.header,.contacto-form input,.contacto-form textarea,.contacto-form select) { transition:none; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  body.glass-site { --ui-glass-surface:linear-gradient(145deg,#fff,#fffaf3); --ui-glass-inner:#fffaf3; }
}
/* Últimos acentos: café en el catálogo y los datos bancarios. */
body.glass-site :is(.tienda-card__titulo,.tienda-presentacion__contenido h2,.tienda-catalogo__cabecera h2,.donaciones-cuentas__cabecera h2,.donaciones-slider__cabecera h2,.donaciones-gracias h2) { color:var(--ui-wine-deep); }
body.glass-site .donaciones-dato strong { color:var(--ui-wine-deep); }
body.glass-site .donaciones-dato--destacado strong { color:var(--ui-wine); }
body.glass-site :is(.home2-life-card,.canto-card)::after { display:none; }

/* Confesión: texto legible sobre las superficies claras, sin tocar fotografías. */
body.glass-site .confesion { color:var(--ui-ink); }
body.glass-site .confesion :is(.confesion__cabecera h2,.confesion-paso__contenido span,.confesion__frase p) {
  color:var(--ui-ink)!important;
  text-shadow:none;
}
body.glass-site .confesion :is(.confesion__cabecera > span,.confesion__cabecera h2 em,.confesion__frase cite) {
  color:var(--ui-wine)!important;
  text-shadow:none;
}
body.glass-site .confesion-paso__contenido p { color:var(--ui-muted)!important; }
body.glass-site .confesion-paso__numero {
  color:var(--ui-wine-deep);
  background:var(--ui-gold-light);
  border-color:var(--ui-wine-deep);
}

/* Una respuesta al mouse por tarjeta; translate no interfiere con las entradas. */
:root {
  --ui-hover-lift:-4px;
  --ui-hover-control-lift:-2px;
  --ui-hover-ease:cubic-bezier(.2,.7,.2,1);
}
body.glass-site:not(.pagina-horarios) :is(
  .home2-life-card,.glass-gallery-card,.sacramento-card,.sacerdote-actual,
  .sacerdote-card,.jubilar-bloque,.confesion-paso,.confesion__frase,.canto-card,.oracion-jubilar,
  .virgen-card,.devocion-oracion,.principio,.album-card,.album-foto,.comunidad-card,.tienda-card,
  .contacto-dato,.donaciones-dato,.donaciones-frase,.donaciones-gracias__card
) {
  transition:translate var(--ui-polish-duration) var(--ui-hover-ease),
    box-shadow var(--ui-polish-duration) ease,border-color var(--ui-polish-duration) ease;
}
body.glass-site :is(
  .glass-btn,.glass-service,.glass-card-link,.topbar-item,.topbar-social,
  .footer-social,.footer-ubicacion,.boton-menu,.tienda-btn,.donaciones-copiar,
  .contacto-form__enviar,.contacto-arquidiocesis__enlace,.sacramento-material__boton,
  .album-volver,.volver-arriba,.donaciones-hero__boton,.horarios-milagros-v4__boton
) {
  transition:translate var(--ui-polish-duration) var(--ui-hover-ease),
    background-color var(--ui-polish-duration) ease,color var(--ui-polish-duration) ease,
    box-shadow var(--ui-polish-duration) ease,border-color var(--ui-polish-duration) ease;
}
body.glass-site .album-card__imagen img {
  transition:transform 360ms var(--ui-hover-ease);
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  body.glass-site:not(.pagina-horarios) :is(
    .home2-life-card,.glass-gallery-card,.sacramento-card,.sacerdote-actual,
    .sacerdote-card,.jubilar-bloque,.confesion-paso,.confesion__frase,.canto-card,.oracion-jubilar,
    .virgen-card,.devocion-oracion,.principio,.album-card,.album-foto,.comunidad-card,.tienda-card,
    .contacto-dato,.donaciones-dato,.donaciones-frase,.donaciones-gracias__card
  ):not([data-ui-motion="pending"]):not([data-ui-motion="running"]):hover {
    transform:none!important;
    translate:0 var(--ui-hover-lift);
    border-color:#fff!important;
    box-shadow:var(--ui-glass-hover-shadow)!important;
  }
  /* Los paneles interiores reflejan la luz, sin sumar otro salto al de su tarjeta. */
  body.glass-site:not(.pagina-horarios) :is(
    .sacramento-material,.indulgencia-card,.contacto-form,.politica-indice__card,
    .politica-articulo,.glass-support-inner,.emisora-v4-identidad,.emisora-v4-web
  ):not([data-ui-motion="pending"]):not([data-ui-motion="running"]):hover {
    transform:none!important;
    translate:none;
    box-shadow:var(--ui-glass-hover-shadow)!important;
  }
  body.glass-site :is(
    .glass-btn,.glass-service,.glass-card-link,.topbar-item,.topbar-social,
    .footer-social,.footer-ubicacion,.boton-menu,.tienda-btn,.donaciones-copiar,
    .contacto-form__enviar,.contacto-arquidiocesis__enlace,.sacramento-material__boton,
    .album-volver,.volver-arriba,.donaciones-hero__boton,.horarios-milagros-v4__boton
  ):not(:disabled):hover {
    transform:none!important;
    translate:0 var(--ui-hover-control-lift);
  }
  body.glass-site .album-card__boton:hover .album-card__imagen img {
    transform:scale(1.035)!important;
    filter:none;
  }
  body.glass-site .glass-service:hover { background:var(--ui-glass-inner); }
}
body.glass-site :is(a,button):focus-visible {
  outline:2px solid var(--ui-control-focus);
  outline-color:var(--ui-control-focus)!important;
  outline-offset:4px;
}
body.glass-site :is(.topbar,.footer) :is(a,button):focus-visible {
  outline-color:var(--ui-gold-light)!important;
}
/* Ni desplazamientos por hover en pantallas táctiles ni movimiento si se reduce. */
@media (hover:none), (prefers-reduced-motion:reduce) {
  body.glass-site :is(
    .home2-life-card,.glass-gallery-card,.sacramento-card,.sacerdote-actual,
    .sacerdote-card,.jubilar-bloque,.confesion-paso,.confesion__frase,.canto-card,.oracion-jubilar,
    .virgen-card,.devocion-oracion,.principio,.album-card,.album-foto,.comunidad-card,.tienda-card,
    .contacto-dato,.donaciones-dato,.donaciones-frase,.donaciones-gracias__card,
    .glass-btn,.glass-service,.glass-card-link,.topbar-item,.topbar-social,
    .footer-social,.footer-ubicacion,.boton-menu,.tienda-btn,.donaciones-copiar,
    .contacto-form__enviar,.contacto-arquidiocesis__enlace,.sacramento-material__boton,
    .album-volver,.volver-arriba,.donaciones-hero__boton
  ):not([data-ui-motion="pending"]):not([data-ui-motion="running"]):hover {
    transform:none!important;
    translate:none!important;
  }
  body.glass-site .album-card__boton:hover .album-card__imagen img {
    transform:none!important;
    filter:none;
  }
}

/* Presentación de Tienda: texto contenido y una jerarquía proporcionada. */
body.glass-site.pagina-tienda .tienda-presentacion__contenido {
  --ui-shop-copy-padding:32px;
  width:100%;
  max-width:none;
  min-width:0;
  padding:var(--ui-shop-copy-padding);
  text-align:left;
}
body.glass-site.pagina-tienda .tienda-presentacion__contenido h2 {
  max-width:100%;
  margin:0;
  font-size:clamp(1.85rem,2.3vw,2.25rem);
  line-height:1.18;
  letter-spacing:-.02em;
  text-align:left;
  text-wrap:wrap;
}
body.glass-site.pagina-tienda .tienda-presentacion__contenido h2 em {
  max-width:100%;
  margin-top:12px;
  font-size:.86em;
  line-height:1.3;
  text-wrap:balance;
}
body.glass-site.pagina-tienda .tienda-presentacion__descripcion {
  max-width:55ch;
  margin:20px 0 0;
  line-height:1.75;
  text-align:left;
}
body.glass-site.pagina-tienda .tienda-presentacion__chips {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:24px;
}
body.glass-site.pagina-tienda .tienda-presentacion__chip {
  min-width:0;
  min-height:44px;
  max-width:100%;
  justify-content:flex-start;
  line-height:1.45;
}
@media (max-width:1180px) {
  body.glass-site.pagina-tienda .tienda-presentacion__contenido { --ui-shop-copy-padding:28px; }
}
@media (max-width:600px) {
  body.glass-site.pagina-tienda .tienda-presentacion__contenido { --ui-shop-copy-padding:24px; }
  body.glass-site.pagina-tienda .tienda-presentacion__contenido h2 {
    font-size:clamp(1.8rem,7.4vw,2.15rem);
  }
  body.glass-site.pagina-tienda .tienda-presentacion__chips { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:360px) {
  body.glass-site.pagina-tienda .tienda-presentacion__contenido { --ui-shop-copy-padding:20px; }
}


/* Ajustes móviles: navegación completa y márgenes simétricos. */
@media (max-width:1100px) {
  body.glass-site #menu {
    display:grid;
    grid-template-columns:repeat(var(--ui-menu-columns,2),minmax(0,1fr));
    gap:2px;
    padding:10px;
    background:rgba(250,247,242,.98)!important;
    align-content:start;
  }
  body.glass-site #menu.abierto { max-height:var(--ui-menu-available,calc(100dvh - 180px)); }
  body.glass-site #menu a,
  body.glass-site #menu a.menu-donaciones {
    box-sizing:border-box;
    min-width:0;
    min-height:44px;
    margin:0;
    padding:10px 12px;
    font-size:.92rem;
    line-height:1.25;
    white-space:normal;
    border-radius:14px;
  }
}
@media (max-width:600px) {
  body.glass-site .jubilar-presentacion { grid-template-columns:minmax(0,1fr); }
  body.glass-site .jubilar-presentacion__imagen,
  body.glass-site .jubilar-presentacion__titulo {
    box-sizing:border-box;
    min-width:0;
    width:100%;
    max-width:100%;
    margin-inline:0;
  }
  body.glass-site .album-volver { max-width:100%; font-size:.9rem; padding:10px 14px; }
}
body.glass-site .album-volver-wrap {
  top:var(--ui-scroll-offset,100px);
  max-width:100%;
}

/* El visor debe escapar de los contenedores glass y sus animaciones. */
.ui-tour-ancestor {
  transform:none!important;
  translate:none!important;
  rotate:none!important;
  scale:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  perspective:none!important;
  contain:none!important;
  will-change:auto!important;
  isolation:auto!important;
  z-index:auto!important;
  overflow:visible!important;
  clip-path:none!important;
}
body.tour360-overlay-body #site-header,
body.tour360-overlay-body #header,
body.tour360-overlay-body .volver-arriba { visibility:hidden!important; pointer-events:none!important; }
body.glass-site .parroquia-360-visual.tour360-overlay-activo {
  inset:auto!important;
  top:var(--tour360-top,0px)!important;
  left:var(--tour360-left,0px)!important;
  width:var(--tour360-vw,100vw)!important;
  height:var(--tour360-vh,100dvh)!important;
  min-height:0!important;
  max-height:none!important;
  border-radius:0!important;
  border:0!important;
  transform:none!important;
  filter:none!important;
}
body.glass-site .tour360-overlay-activo .parroquia-360-marco,
body.glass-site .tour360-overlay-activo iframe {
  border:0!important;
  border-radius:0!important;
  min-height:0!important;
  max-height:none!important;
}

/* Portadas móviles: texto más ligero y fotografía más visible. */
@media (max-width:760px) {
  body.glass-site {
    --ui-mobile-hero-title:clamp(1.85rem,7.3vw,2.2rem);
    --ui-mobile-hero-overlay:linear-gradient(180deg,rgba(36,25,18,.36),rgba(36,25,18,.68) 20%,rgba(36,25,18,.68) 80%,rgba(36,25,18,.38));
  }
  body.glass-site .home-slide .home-slide-title,
  body.glass-site :is(.horarios-hero-v6,.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero,.politica-hero) h1 {
    font-size:var(--ui-mobile-hero-title)!important;
    line-height:1.16!important;
    letter-spacing:-.025em!important;
  }
  body.glass-site .home-slide-overlay,
  body.glass-site :is(.parroquia-hero,.sacramentos-hero,.oraciones-hero,.comunidades-hero,.galeria-hero,.tienda-page-hero,.contacto-hero,.donaciones-hero,.politica-hero)::before {
    background:var(--ui-mobile-hero-overlay);
  }
  body.glass-site .ui-hero-kicker { color:#fff1d2!important; margin-bottom:12px; }
  body.glass-site .home-slide .ui-hero-detail { margin:16px 0; }
  body.glass-site :is(.horarios-hero-v6__contenido,.home-slide-copy,.parroquia-hero__contenido,.sacramentos-hero__contenido,.oraciones-hero__contenido,.comunidades-hero__contenido,.galeria-hero__contenido,.tienda-page-hero__contenido,.contacto-hero__contenido,.donaciones-hero__contenido,.politica-hero__contenido) > p {
    font-size:.875rem;
    line-height:1.55;
    color:#fff;
    text-shadow:0 1px 3px rgba(24,17,12,.45);
  }
}
/* Logo de radio sin el relleno blanco de su contenedor. */
body.glass-site .emisora-v4-logo-bloque--emisora {
  padding:0;
  border:0;
  background:transparent;
}

/* Flechas discretas de Inicio, con un área de pulsación de 44 px. */
body.glass-site #homeSlider .home-slider-controls {
  position:absolute;
  z-index:11;
  right:5%;
  bottom:16px;
  display:flex;
  gap:4px;
}
body.glass-site #homeSlider .home-slider-controls .home-slider-arrow {
  position:relative;
  inset:auto;
  width:44px;
  height:44px;
  padding:0;
  display:grid;
  place-items:center;
  transform:none;
  border:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  color:#fff;
  box-shadow:none;
}
body.glass-site #homeSlider .home-slider-arrow::before {
  content:"";
  position:absolute;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  background:rgba(49,34,24,.82);
  transition:background-color .2s ease;
}
body.glass-site #homeSlider .home-slider-arrow svg { position:relative; z-index:1; }
body.glass-site #homeSlider .home-slider-arrow:hover::before,
body.glass-site #homeSlider .home-slider-arrow:focus-visible::before { background:var(--ui-wine-deep); }
@media (min-width:761px) {
  body.glass-site #homeSlider .home-slider-controls { right:50%; bottom:22px; transform:translateX(50%); }
}
@media (max-width:760px) {
  body.glass-site #homeSlider .glass-actions { gap:8px; flex-wrap:nowrap; }
  body.glass-site #homeSlider .glass-btn {
    flex:0 1 auto;
    min-height:40px;
    padding:8px 9px;
    font-size:clamp(.6875rem,3.05vw,.75rem);
    line-height:1.2;
    text-align:center;
    white-space:nowrap;
  }
}

/* Rendimiento: conservar el material cálido sin desenfocar tarjetas anidadas. */
body.glass-site:not(.pagina-horarios) :is(
  .home2-life-card,.glass-services,.glass-gallery-card,.sacramento-card,
  .sacerdotes-intro-card,.sacerdote-actual,.sacerdote-card,.jubilar-bloque,
  .canto-card,.oracion-jubilar,.virgen-card,.album-card,.comunidad-card,
  .tienda-card,.tienda-presentacion__contenido,.contacto-info__titulo-card,
  .contacto-form,.donaciones-frase,.donaciones-gracias__card,
  .politica-indice__card,.politica-articulo,.glass-support-inner,
  .emisora-v4-grid,.bienvenida-v3-valores,.galeria-principal__cabecera,.tienda-catalogo__cabecera
) { backdrop-filter:none; -webkit-backdrop-filter:none; }
body.glass-site main section.ui-motion-outside,
body.glass-site main section.ui-motion-outside *,
body.glass-site main section.ui-motion-outside *::before,
body.glass-site main section.ui-motion-outside *::after { animation-play-state:paused!important; }
html.ui-light-device { scroll-behavior:auto; }
html.ui-light-device body.glass-site *,
html.ui-light-device body.glass-site *::before,
html.ui-light-device body.glass-site *::after {
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  filter:none!important;
  animation:none!important;
  transition-duration:120ms!important;
  will-change:auto!important;
}
/* El carrusel sigue avanzando en los equipos ligeros; solo se aligera su transición. */
html.ui-light-device body.glass-site .home-slide { transition:opacity 220ms ease!important; }
