/*
Theme Name: Lluvia de Rosas
Theme URI: https://lluviaderosas.com/santateresita/
Author: Lluvia de Rosas
Description: Tema propio, liviano y responsive para Lluvia de Rosas.
Version: 1.27
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: lluvia-de-rosas
*/

:root{
  --ldr-rose:#a5284a;
  --ldr-rose-dark:#7f1f39;
  --ldr-rose-soft:#fff4f6;
  --ldr-pink:#f3dce2;
  --ldr-cream:#fffaf8;
  --ldr-ink:#4a3235;
  --ldr-muted:#806f72;
  --ldr-line:#ead2d9;
  --ldr-white:#ffffff;
  --ldr-shadow:0 12px 30px rgba(118,58,74,.08);
  --ldr-radius:18px;
  --ldr-max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ldr-ink);background:#fff;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.ldr-container{width:min(var(--ldr-max),calc(100% - 40px));margin:auto}
.ldr-serif{font-family:Georgia,'Times New Roman',serif}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #f3ecee;backdrop-filter:blur(8px)}
.header-inner{min-height:74px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;min-width:260px}
.brand-mark{width:42px;height:42px;border:2px solid var(--ldr-rose);border-radius:50%;display:grid;place-items:center;color:var(--ldr-rose);font-size:21px}
.brand-text strong{display:block;font:700 26px/1 Georgia,'Times New Roman',serif;color:var(--ldr-rose)}
.brand-text small{display:block;font-size:9px;letter-spacing:.18em;margin-top:5px}
.main-nav{margin-left:auto;align-self:stretch;display:flex;align-items:center}
.main-nav ul{list-style:none;padding:0;margin:0}
.main-nav>ul{display:flex;gap:22px;align-items:center}
.main-nav li{position:relative;margin:0}
.main-nav a{display:block;font-size:14px;line-height:1.25;white-space:nowrap;padding:27px 0;color:var(--ldr-ink)}
.main-nav>ul>li>a:hover,.main-nav>ul>li.current-menu-item>a,.main-nav>ul>li.current-menu-ancestor>a{color:var(--ldr-rose)}
.main-nav .menu-item-has-children>a{padding-right:16px}
.main-nav .menu-item-has-children>a:after{content:"⌄";position:absolute;right:0;top:50%;transform:translateY(-54%);font-size:13px;color:var(--ldr-rose)}
.main-nav .sub-menu{display:none;position:absolute;z-index:100;top:calc(100% - 10px);left:-18px;min-width:220px;background:#fff;border:1px solid #f0e2e6;border-radius:10px;padding:8px 0;box-shadow:0 14px 34px rgba(82,42,52,.13)}
.main-nav .sub-menu:before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:block}
.main-nav .sub-menu li{width:100%}
.main-nav .sub-menu a{padding:10px 18px;font-size:13px;white-space:normal;min-width:220px}
.main-nav .sub-menu a:hover{background:var(--ldr-rose-soft);color:var(--ldr-rose)}
.main-nav .sub-menu .menu-item-has-children>a:after{content:"›";right:12px}
.main-nav .sub-menu .sub-menu{top:-8px;left:calc(100% - 4px)}
.header-cta{margin-left:4px;white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:13px 22px;font-weight:700;font-size:14px;border:1px solid var(--ldr-rose);transition:.2s ease}
.btn-primary{background:var(--ldr-rose);color:#fff;box-shadow:0 8px 20px rgba(214,31,75,.18)}
.btn-primary:hover{background:var(--ldr-rose-dark)}
.btn-outline{background:#fff;color:var(--ldr-rose)}
.btn-outline:hover{background:var(--ldr-rose-soft)}
.mobile-toggle{display:none;margin-left:auto;border:0;background:none;font-size:28px}

.hero{background:linear-gradient(100deg,#fff7f4 0%,#fce7ea 55%,#f7cfd8 100%);overflow:hidden}
.hero-inner{min-height:365px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:24px}
.hero-copy{padding:42px 0}
.hero h1{font:700 clamp(42px,5vw,64px)/1.02 Georgia,'Times New Roman',serif;color:var(--ldr-rose-dark);margin:0 0 10px}
.hero h2{font:400 clamp(25px,2.8vw,36px)/1.2 Georgia,'Times New Roman',serif;margin:0 0 28px}
.ornament{display:flex;align-items:center;gap:10px;color:var(--ldr-rose);margin-bottom:22px}.ornament:before,.ornament:after{content:"";width:60px;height:1px;background:#e7a9b8}.ornament span{font-size:20px}
.hero p{font-size:17px;max-width:560px;margin:0 0 26px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-media{align-self:stretch;display:flex;align-items:flex-end;justify-content:center;min-height:365px}
.hero-media img{width:100%;height:365px;object-fit:cover;object-position:center right;mix-blend-mode:multiply}

.quick-links{padding:16px 0 10px;background:#fff}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.quick-card{background:linear-gradient(180deg,#fffaf8,#fff4f5);border:1px solid #f5e7ea;border-radius:14px;padding:25px;text-align:center;min-height:150px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 6px 20px rgba(100,50,60,.04)}
.quick-icon{font-size:31px;color:var(--ldr-rose);margin-bottom:8px}
.quick-card h3{font:700 25px/1.2 Georgia,'Times New Roman',serif;margin:0 0 8px}.quick-card p{font-size:14px;color:var(--ldr-muted);margin:0 0 12px}.text-link{color:var(--ldr-rose);font-weight:700;font-size:14px}

.section{padding:28px 0}
.petitions{background:linear-gradient(90deg,#fffaf8,#fff1f4)}
.petition-layout{display:grid;grid-template-columns:250px 1fr;gap:28px;align-items:center}
.petition-intro h2{font:700 31px/1.15 Georgia,'Times New Roman',serif;margin:0 0 10px}.petition-intro p{color:var(--ldr-muted);font-size:14px;margin:0 0 16px}
.petition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.petition-card{background:white;border:1px solid #f3e4e8;border-radius:12px;padding:18px;box-shadow:var(--ldr-shadow);min-height:155px}.petition-card .label{color:var(--ldr-rose);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.petition-card p{margin:10px 0 12px;font-size:15px}.petition-card small{color:var(--ldr-muted)}

.duo{padding:22px 0}.duo-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:16px}.duo-card{min-height:175px;border-radius:14px;padding:26px;background:linear-gradient(90deg,#fff6f4,#fde9ed);border:1px solid #f3e1e6;display:flex;align-items:center;justify-content:space-between;gap:20px;overflow:hidden}.duo-card h3{font:700 24px/1.15 Georgia,'Times New Roman',serif;margin:0 0 9px}.duo-card p{font-size:14px;color:var(--ldr-muted);margin:0 0 14px;max-width:440px}.duo-card img{width:190px;height:130px;object-fit:cover;border-radius:12px;opacity:.93}.newsletter-form{display:flex;gap:8px;flex-wrap:wrap}.newsletter-form input{flex:1;min-width:220px;padding:12px 14px;border:1px solid #eadde1;border-radius:7px;background:#fff}
.quote{padding:8px 0 26px;text-align:center;font:italic 22px/1.4 Georgia,'Times New Roman',serif;color:#4a4040}.quote strong{color:var(--ldr-rose);font-size:45px;vertical-align:middle;margin-right:8px}

.site-footer{background:linear-gradient(180deg,#fff8f6,#fff1f4);border-top:1px solid #f2dfe4;padding:30px 0 18px}.footer-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr) 1.2fr;gap:28px}.footer-grid h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px}.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid li{margin:5px 0;font-size:13px;color:#514949}.footer-brand{font:700 24px Georgia,'Times New Roman',serif;color:var(--ldr-rose);margin-bottom:8px}.footer-note{font-size:13px;color:var(--ldr-muted)}.footer-box{background:rgba(255,255,255,.6);border:1px solid #f0dce2;border-radius:12px;padding:18px}.copyright{border-top:1px solid #f0dfe4;margin-top:22px;padding-top:14px;font-size:12px;color:#776e6e;display:flex;justify-content:space-between;gap:18px}

.content-wrap{width:min(900px,calc(100% - 40px));margin:42px auto}.entry-title{font:700 42px/1.15 Georgia,'Times New Roman',serif;color:var(--ldr-rose-dark);margin:0 0 20px}.entry-content{font-size:17px}.entry-content img{border-radius:8px}

@media (max-width:900px){
 .header-inner{min-height:66px;position:relative}.brand{min-width:auto}.brand-text strong{font-size:22px}.header-cta{display:none}.mobile-toggle{display:block;color:var(--ldr-rose);cursor:pointer}
 .main-nav{display:none;position:absolute;top:66px;left:0;right:0;margin:0;background:#fff;border-top:1px solid #f2e4e8;box-shadow:0 14px 26px rgba(82,42,52,.10);align-self:auto}
 .main-nav.is-open{display:block}
 .main-nav>ul{display:block;padding:8px 18px 14px}
 .main-nav li{width:100%}
 .main-nav a{padding:11px 4px;font-size:15px;white-space:normal}
 .main-nav .menu-item-has-children>a{padding-right:30px}
 .main-nav .menu-item-has-children>a:after{right:8px;content:"+";font-size:18px}
 .main-nav .menu-item-has-children.submenu-open>a:after{content:"−"}
 .main-nav .sub-menu{display:none!important;position:static;min-width:0;border:0;border-left:2px solid var(--ldr-line);border-radius:0;padding:0 0 0 13px;box-shadow:none;margin:0 0 3px 4px}
 .main-nav li.submenu-open>.sub-menu{display:block!important}
 .main-nav .sub-menu a{min-width:0;padding:9px 4px;font-size:14px}
 .main-nav .sub-menu .menu-item-has-children>a:after{content:"+";right:8px}
 .main-nav .sub-menu .menu-item-has-children.submenu-open>a:after{content:"−"}
 .hero-inner{grid-template-columns:1fr}.hero-copy{text-align:center;padding:34px 0 12px}.ornament{justify-content:center}.hero p{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-media{min-height:255px}.hero-media img{height:255px;object-position:center 22%}
 .quick-grid{grid-template-columns:1fr}.petition-layout{grid-template-columns:1fr}.petition-intro{text-align:center}.petition-grid{grid-template-columns:1fr}.duo-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.copyright{flex-direction:column}
}
@media (max-width:560px){.ldr-container{width:min(100% - 24px,var(--ldr-max))}.hero h1{font-size:42px}.hero h2{font-size:27px}.btn{width:100%}.duo-card{flex-direction:column;align-items:flex-start}.duo-card img{width:100%;height:160px}.footer-grid{grid-template-columns:1fr}.footer-grid>div{grid-column:auto!important}}


/* v0.3 — portada más compacta y secciones finales */
.header-inner{min-height:68px;gap:22px}
.brand{min-width:245px}
.brand-mark{width:38px;height:38px;font-size:18px}
.brand-text strong{font-size:24px}
.main-nav>ul{gap:19px}
.main-nav a{padding:24px 0;font-size:13px}
.header-cta{padding:11px 18px}
.hero-inner{min-height:318px;grid-template-columns:1.08fr .92fr}
.hero-copy{padding:30px 0}
.hero h1{font-size:clamp(38px,4.25vw,54px);margin-bottom:7px}
.hero h2{font-size:clamp(23px,2.4vw,31px);margin-bottom:20px}
.ornament{margin-bottom:17px}.ornament:before,.ornament:after{width:50px}
.hero p{font-size:16px;margin-bottom:21px}
.hero-media{min-height:318px}.hero-media img{height:318px}
.quick-links{padding:14px 0 8px}.quick-card{padding:21px;min-height:138px}.quick-icon{font-size:27px}.quick-card h3{font-size:23px}
.petitions{padding:34px 0}.petition-layout{grid-template-columns:270px 1fr;align-items:start}.petition-intro h2{font-size:30px}.petition-intro .eyebrow{display:block;color:var(--ldr-rose);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:8px}.petition-card{min-height:170px}.petition-card .petition-name{display:block;font:700 17px Georgia,'Times New Roman',serif;margin:9px 0 5px}.petition-card .petition-meta{display:block;color:#9a878c;font-size:12px;margin-top:12px}
.duo{padding:26px 0 16px}.duo-card{min-height:165px}.community-visual{width:180px;height:120px;border-radius:12px;background:linear-gradient(135deg,#f6c8d1,#fff4f2);display:grid;place-items:center;font-size:55px;flex:0 0 auto}.newsletter-note{font-size:11px;color:#9a878c;margin-top:8px}
.quote{position:relative;padding:18px 20px 30px}.quote:before,.quote:after{content:'✦';color:#e7a9b8;margin:0 14px;font-size:13px}.quote strong{font-size:36px}.quote small{font-size:14px}
@media (max-width:900px){.hero-inner{min-height:auto}.hero-media{min-height:235px}.hero-media img{height:235px}.community-visual{width:145px}.main-nav a{padding:11px 4px;font-size:15px}}
@media (max-width:560px){.hero h1{font-size:38px}.hero h2{font-size:25px}.hero-copy{padding-top:28px}.quick-card{min-height:auto}.community-visual{width:100%;height:120px}.quote:before,.quote:after{display:none}}


/* v0.4 — navegación provisional estable + iconografía lineal */
.hero h1{font-size:clamp(36px,3.8vw,50px)}
.hero-inner{min-height:302px}
.hero-media{min-height:302px}.hero-media img{height:302px}
.quick-icon{width:38px;height:38px;margin:0 auto 9px;color:var(--ldr-rose)}
.quick-icon svg,.ornament-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ornament-icon{display:inline-grid;width:20px;height:20px;place-items:center}
.petition-head{display:flex;flex-direction:column;gap:5px;margin-bottom:9px}
.petition-card .petition-name{margin:0;line-height:1.25}
.petition-card p{margin:8px 0 12px}
.main-nav .ldr-demo-menu{display:flex;gap:19px;align-items:center;list-style:none;padding:0;margin:0}
@media (max-width:900px){
 .main-nav .ldr-demo-menu{display:block;padding:8px 18px 14px}
 .hero-media{min-height:225px}.hero-media img{height:225px}
}


/* v0.5 — identidad cromática y logotipo inspirados en el sitio histórico */
:root{
  --ldr-rose:#a5284a;
  --ldr-rose-dark:#7f1f39;
  --ldr-rose-soft:#fff4f6;
  --ldr-pink:#f3dce2;
  --ldr-cream:#fffaf8;
  --ldr-ink:#4a3235;
  --ldr-muted:#806f72;
  --ldr-line:#ead2d9;
}
body{color:var(--ldr-ink)}
.brand-text strong{
  font-family:'Segoe Script','Brush Script MT','Lucida Handwriting',cursive;
  font-size:27px;
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--ldr-rose-dark);
  text-shadow:0 2px 3px rgba(109,45,61,.18);
  transform:rotate(-1deg);
  transform-origin:left center;
}
.brand-mark{border-color:var(--ldr-rose-dark);color:var(--ldr-rose-dark)}
.brand-text small{color:#5f4b4f;letter-spacing:.16em}
.hero h1,.entry-title{color:var(--ldr-rose-dark)}
.hero h2,.quick-card h3,.petition-intro h2,.petition-card .petition-name,.duo-card h3,.quote,.footer-grid h4{color:#4b2f34}
.main-nav a{color:#46383a}
.main-nav>ul>li>a:hover,.main-nav>ul>li.current-menu-item>a,.main-nav>ul>li.current-menu-ancestor>a,
.text-link,.petition-card .label,.petition-intro .eyebrow,.footer-brand{color:var(--ldr-rose)}
.btn-primary{background:var(--ldr-rose);border-color:var(--ldr-rose);box-shadow:0 8px 20px rgba(165,40,74,.16)}
.btn-primary:hover{background:var(--ldr-rose-dark);border-color:var(--ldr-rose-dark)}
.btn-outline{border-color:var(--ldr-rose);color:var(--ldr-rose)}
.hero{background:linear-gradient(100deg,#fff9f6 0%,#fcebed 57%,#f2d4dc 100%)}
.quick-card{background:linear-gradient(180deg,#fffaf8,#fff6f7)}
.petitions{background:linear-gradient(90deg,#fffaf8,#fff3f5)}
.site-footer{background:linear-gradient(180deg,#fff9f7,#fff2f4)}
@media (max-width:900px){.brand-text strong{font-size:24px}}


/* v0.6 — identidad visible + cache busting */
:root{
  --ldr-rose:#9b3150;
  --ldr-rose-dark:#7d2341;
  --ldr-ink:#543c40;
  --ldr-muted:#7e696e;
}
.brand{gap:10px;min-width:280px}
.brand-mark{width:37px;height:37px;border-color:var(--ldr-rose-dark);color:var(--ldr-rose-dark);font-size:17px}
.brand-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1}
.brand-script-logo{display:block;width:220px;max-width:none;height:auto;margin:0 0 2px}
.brand-text strong{display:none!important}
.brand-text small{font-size:8px;letter-spacing:.19em;color:#6b555a;margin:0 0 0 12px}
.main-nav a{color:#4d3940;font-weight:600}
.main-nav>ul>li>a:hover,.main-nav>ul>li.current-menu-item>a,.main-nav>ul>li.current-menu-ancestor>a{color:var(--ldr-rose-dark)}
.hero h1{color:#8e2748;font-weight:700}
.hero h2{color:#503a3f}
.quick-card h3,.petition-intro h2,.petition-card .petition-name,.duo-card h3,.entry-title{color:#7f2946}
.petition-card p,.petition-intro p,.quick-card p,.duo-card p{color:#6f5b60}
.text-link,.petition-card .label,.petition-intro .eyebrow{color:#a12e51}
.btn-primary{background:#a12e51;border-color:#a12e51;box-shadow:0 8px 20px rgba(142,39,72,.18)}
.btn-primary:hover{background:#7d2341;border-color:#7d2341}
.btn-outline{color:#8e2748;border-color:#b44b68}
.btn-outline:hover{background:#fff0f3}
.quick-icon,.ornament-icon{color:#a12e51}
.hero{background:linear-gradient(100deg,#fff9f7 0%,#faeaed 57%,#efcfd8 100%)}
.quick-card{border-color:#efdce2}
.petitions{background:linear-gradient(90deg,#fffaf8,#fdf0f3)}
.footer-script-logo{display:block;width:205px;height:auto;margin-bottom:8px}
.footer-brand{margin-bottom:4px}
.footer-grid h4{color:#7f2946}
.site-footer a:hover{color:#8e2748}
@media (max-width:900px){
 .brand{min-width:auto}.brand-script-logo{width:185px}.brand-text small{font-size:7px;margin-left:9px}
}
@media (max-width:560px){
 .brand-script-logo{width:165px}.brand-mark{width:33px;height:33px}
}


/* v0.7 — cabecera, logotipo, tipografía y paleta fieles a /lluvia/ */
:root{
  --ldr-rose:#d94040;
  --ldr-rose-dark:#7a1f1f;
  --ldr-ink:#333333;
  --ldr-muted:#6e6767;
  --ldr-line:#ead9d5;
}
body{
  color:#333;
  font-family:Arial,Helvetica,sans-serif;
}
.site-header{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(232,222,222,.9);
  box-shadow:0 2px 12px rgba(0,0,0,.04);
}
.header-inner{
  min-height:72px;
  gap:28px;
}
.brand.site-logo-text{
  min-width:auto;
  display:inline-block;
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:34px;
  line-height:1;
  font-weight:400;
  color:#d94040;
  text-shadow:1px 1px 0 #fff,2px 2px 6px rgba(0,0,0,.18);
  white-space:nowrap;
  letter-spacing:0;
  transform:none;
  transition:color .25s ease,transform .25s ease;
}
.brand.site-logo-text:hover{
  color:#cf3a3a;
  transform:translateY(-1px);
}
.main-nav{margin-left:auto}
.main-nav>ul,
.main-nav .ldr-demo-menu{
  gap:30px;
}
.main-nav a{
  color:#1f2d3d;
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.main-nav>ul>li>a,
.main-nav .ldr-demo-menu>li>a{
  padding:26px 0;
}
.main-nav>ul>li>a:hover,
.main-nav>ul>li.current-menu-item>a,
.main-nav>ul>li.current-menu-ancestor>a,
.main-nav .ldr-demo-menu>li>a:hover{
  color:#b74a4a;
}
.main-nav .menu-item-has-children>a:after{
  color:inherit;
  font-size:9px;
}
.main-nav .sub-menu{
  border:1px solid #ececec;
  border-radius:12px;
  box-shadow:0 16px 30px rgba(0,0,0,.10);
}
.main-nav .sub-menu a{
  color:#1f2d3d;
  font-size:14px;
  font-weight:500;
  text-transform:none;
  letter-spacing:0;
}
.main-nav .sub-menu a:hover{
  color:#b74a4a;
  background:#fcf4f2;
}
.header-cta{
  text-transform:none;
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  font-weight:700;
  background:#b93660;
  border-color:#b93660;
  box-shadow:0 7px 18px rgba(155,28,71,.16);
}
.header-cta:hover{background:#9b1c47;border-color:#9b1c47}
.hero h1,
.entry-title,
.quick-card h3,
.petition-intro h2,
.petition-card .petition-name,
.duo-card h3,
.footer-grid h4{
  font-family:Georgia,"Times New Roman",serif;
  color:#7a1f1f;
}
.hero h2{color:#4a3d3d}
.hero p,
.quick-card p,
.petition-intro p,
.petition-card p,
.duo-card p{color:#333}
.text-link,
.petition-card .label,
.petition-intro .eyebrow{color:#9b1c47}
.btn-primary{background:#b93660;border-color:#b93660}
.btn-primary:hover{background:#9b1c47;border-color:#9b1c47}
.btn-outline{color:#9b1c47;border-color:#cf8383}
.quick-icon,.ornament-icon{color:#b45d5d}
.hero{background:linear-gradient(100deg,#fff9f7 0%,#fcf0ed 58%,#f3d8d5 100%)}

@media (max-width:900px){
  .brand.site-logo-text{font-size:30px}
  .main-nav a{text-transform:none}
  .main-nav>ul>li>a,.main-nav .ldr-demo-menu>li>a{padding:11px 4px}
}
@media (max-width:560px){
  .brand.site-logo-text{font-size:28px}
}

/* v0.9 — integración de peticiones y comunidad real */
.community-home{padding:34px 0 26px;background:#fff}
.community-home-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch}
.community-copy{background:linear-gradient(120deg,#fff8f7,#fbecef);border:1px solid #f0d9de;border-radius:16px;padding:30px}
.community-copy .eyebrow{display:block;color:#9b1c47;font:800 11px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.09em;text-transform:uppercase;margin-bottom:9px}
.community-copy h2{font:700 30px/1.15 Georgia,"Times New Roman",serif;color:#7a1f1f;margin:0 0 10px}
.community-copy p{color:#4f4547;font-size:15px;line-height:1.7;margin:0 0 18px;max-width:650px}
.community-actions{display:flex;gap:10px;flex-wrap:wrap}
.community-stats{display:grid;grid-template-columns:1fr;gap:14px}
.community-stat{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#fff;border:1px solid #f0dfe3;border-radius:16px;padding:24px 18px;box-shadow:var(--ldr-shadow)}
.community-stat strong{font:700 38px/1 Georgia,"Times New Roman",serif;color:#9b1c47;margin-bottom:8px}
.community-stat span{font:600 13px/1.35 Arial,Helvetica,sans-serif;color:#6d5b60}
.petition-card p{max-height:7.2em;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5}
@media (max-width:900px){.community-home-inner{grid-template-columns:1fr}.community-stats{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.community-stats{grid-template-columns:1fr}.community-copy{padding:23px 18px}.community-copy h2{font-size:27px}.community-stat strong{font-size:34px}}


/* v0.10 - Frase del día y ¿Sabías que? desde /lluvia/ */
.daily-word {
  padding: 38px 0 34px;
  background: #fff;
  border-top: 1px solid #f3dfdf;
  border-bottom: 1px solid #f3dfdf;
}
.daily-word-inner {
  max-width: 900px;
  text-align: center;
}
.daily-word .eyebrow {
  display: block;
  margin-bottom: 12px;
}
.daily-word-quote {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2.2vw, 31px);
  line-height: 1.45;
  font-style: italic;
  color: #63383d;
}
.daily-word-quote strong {
  color: #b52f4d;
  font-size: 1.35em;
  margin-right: 7px;
}
.daily-word-author {
  margin-top: 14px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
  font-style: italic;
  color: #6d5558;
}
.did-you-know {
  padding: 30px 0;
  background: #fff;
}
.did-you-know-card {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 25px 30px;
  border: 1px solid #ead9d5;
  border-radius: 18px;
  background: #fcf6f5;
}
.did-you-know-mark {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border: 1px solid #b52f4d;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 29px;
  color: #b52f4d;
}
.did-you-know-card .eyebrow {
  display: block;
  margin-bottom: 7px;
}
.did-you-know-card p {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  line-height: 1.55;
  color: #4b383b;
}
@media (max-width: 700px) {
  .daily-word { padding: 30px 0; }
  .did-you-know-card { align-items: flex-start; padding: 22px; }
  .did-you-know-card p { font-size: 18px; }
}

/* v0.11 */
.daily-word{padding:24px 0;background:#fff}.daily-word-inner{padding:22px 28px;border:1px solid #f2dede;border-radius:16px;background:linear-gradient(90deg,#fffafa,#fff5f6,#fffafa)}
.petitions{padding-top:34px}.petition-card{position:relative;box-shadow:0 8px 24px rgba(91,44,51,.05)}.petition-card:after{content:none !important;display:none !important;}
.home-panels{padding:24px 0 28px;background:#fff}.home-panels-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.visual-panel{min-height:235px;display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;border:1px solid #efdada;border-radius:18px;background:#fff8f8;box-shadow:0 8px 26px rgba(91,44,51,.05)}.visual-panel-copy{padding:28px 12px 26px 30px;align-self:center;position:relative;z-index:2}.visual-panel h2{margin:4px 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:25px;line-height:1.12;color:#542f35}.visual-panel p{margin:0 0 18px;line-height:1.55;color:#5f5355}.visual-panel img{width:100%;height:100%;min-height:235px;object-fit:cover;object-position:center}.panel-icon{font-size:28px;color:#bd3150}.did-you-know-bottom{padding-top:0}.did-you-know-bottom .did-you-know-card{background:#fffaf2;border-color:#efdfc7}.site-footer{margin-top:0}
@media(max-width:800px){.home-panels-grid{grid-template-columns:1fr}.visual-panel{grid-template-columns:1fr 42%}}@media(max-width:560px){.visual-panel{grid-template-columns:1fr}.visual-panel-copy{padding:24px}.visual-panel img{height:180px;min-height:180px}}


/* v0.12 - Hero aprobado + contadores destacados */
.home-counters {
  padding: 24px 0 8px;
  background: #fff;
}
.home-counters-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.home-counter-card {
  min-height: 125px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #efd8dc;
  border-radius: 18px;
  background: #fffdfd;
  text-align: center;
}
.home-counter-card strong {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1;
  color: #a9294a;
  letter-spacing: .02em;
}
.home-counter-card span {
  margin-top: 8px;
  font-size: 15px;
  color: #5f5053;
}
@media (max-width: 650px) {
  .home-counters-grid { grid-template-columns: 1fr; }
}


/* v0.15 - orden final de bloques + identidad tipográfica del footer */

/* ¿Sabías que? va arriba de Comunidad / Inspiración */
.did-you-know-bottom {
  padding: 26px 0 14px;
  background: #fff;
}

/* El nombre Lluvia de Rosas del footer debe verse igual al de la barra superior */
.footer-brand-script {
  font-family: "Brush Script MT", "Segoe Script", "Lucida Handwriting", cursive !important;
  font-size: 34px;
  line-height: 1;
  font-weight: 400 !important;
  color: #d94040 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.95),
    0 2px 3px rgba(178,46,67,.18);
  letter-spacing: 0;
  white-space: nowrap;
}

/* Si el footer hereda estilos de heading, neutralizarlos */
.site-footer .footer-brand-script,
footer .footer-brand-script {
  font-family: "Brush Script MT", "Segoe Script", "Lucida Handwriting", cursive !important;
  font-style: normal;
  text-transform: none;
}

@media (max-width: 700px) {
  .footer-brand-script {
    font-size: 30px;
  }
}


/* v0.17 - corrección definitiva del logo del footer */
.footer-identity .footer-site-logo {
  display: inline-block;
  min-width: 0;
  margin: 0 0 12px 0;
  padding: 0;
  /* La identidad visual proviene de .brand.site-logo-text,
     exactamente igual que en la barra superior. */
}
.footer-identity .footer-note {
  max-width: 245px;
}


/* v0.18 - corrección de imagen del Hero */
.hero-media {
  position: relative;
  overflow: hidden;
  background: transparent;
}
.hero-media img {
  width: 100%;
  height: 365px;
  object-fit: cover;
  object-position: 58% center;
  mix-blend-mode: normal;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.72) 10%, #000 24%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.72) 10%, #000 24%);
}
@media (max-width: 900px) {
  .hero-media img {
    -webkit-mask-image: none;
    mask-image: none;
    object-position: center;
  }
}


/* v0.19 - Hero integrado de punta a punta */
.hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(
      90deg,
      rgba(255,248,246,1) 0%,
      rgba(255,244,245,.98) 33%,
      rgba(255,235,239,.78) 50%,
      rgba(255,225,232,.28) 67%,
      rgba(255,225,232,.05) 100%
    ),
    url("assets/images/hero-integrado-v019.jpg") right center / auto 100% no-repeat;
}

.hero:after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      rgba(255,249,247,.98) 0%,
      rgba(255,247,246,.92) 30%,
      rgba(255,243,244,.68) 45%,
      rgba(255,240,242,.18) 62%,
      rgba(255,240,242,0) 78%
    );
}

.hero-inner {
  position: relative;
  z-index: 1;
  min-height: 365px;
  grid-template-columns: 1.02fr .98fr;
}

.hero-copy {
  position: relative;
  z-index: 2;
}

.hero-media {
  min-height: 365px;
  background: transparent;
}

/* Ya no usamos una imagen rectangular independiente dentro del hero */
.hero-media img {
  display: none !important;
}

/* Evita que el fondo se vea cortado en monitores anchos */
@media (min-width: 1500px) {
  .hero {
    background-size: auto 115%;
    background-position: right 48%;
  }
}

@media (max-width: 900px) {
  .hero {
    background:
      linear-gradient(
        180deg,
        rgba(255,248,246,.96) 0%,
        rgba(255,241,244,.90) 56%,
        rgba(255,233,238,.72) 100%
      ),
      url("assets/images/hero-integrado-v019.jpg") center bottom / cover no-repeat;
  }

  .hero:after {
    background: rgba(255,248,246,.22);
  }

  .hero-inner {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .hero-copy {
    padding: 36px 0 290px;
  }

  .hero-media {
    display: none;
  }
}

@media (max-width: 560px) {
  .hero-copy {
    padding-bottom: 230px;
  }
}


/* v0.20 - desplazar la composición de Santa Teresita hacia la izquierda */
@media (min-width: 901px) {
  .hero {
    background-position: calc(100% - 105px) center;
  }
}

@media (min-width: 1500px) {
  .hero {
    background-position: calc(100% - 135px) 48%;
  }
}


/* v0.21 - estado automático de la novena mensual */
.novena-status {
  padding: 0 0 18px;
  background: #fff;
}
.novena-status-card {
  display: grid;
  grid-template-columns: 46px 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 20px 24px;
  border: 1px solid #efd9dd;
  border-radius: 16px;
  background: linear-gradient(90deg, #fffafa, #fff5f6);
}
.novena-status-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid var(--ldr-rose);
  border-radius: 50%;
  color: var(--ldr-rose);
  font-size: 20px;
}
.novena-status-copy .eyebrow {
  display: block;
  margin-bottom: 5px;
  color: var(--ldr-rose-dark);
}
.novena-status-copy p {
  margin: 0;
  color: #4f4345;
  line-height: 1.5;
}
.novena-status-copy small {
  display: block;
  margin-top: 4px;
  color: var(--ldr-muted);
}
.novena-status-link {
  white-space: nowrap;
}
@media (max-width: 760px) {
  .novena-status-card {
    grid-template-columns: 42px 1fr;
  }
  .novena-status-link {
    grid-column: 1 / -1;
    justify-self: start;
    margin-left: 60px;
  }
}
@media (max-width: 520px) {
  .novena-status-card {
    grid-template-columns: 1fr;
  }
  .novena-status-icon {
    margin-bottom: -4px;
  }
  .novena-status-link {
    grid-column: auto;
    margin-left: 0;
  }
}


/* v0.23 - Novena destacada durante los días 9 al 17 */
.novena-active-banner{padding:18px 0 8px;background:#fff}
.novena-active-card{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:20px;padding:22px 26px;border:1px solid #e8c8d0;border-radius:18px;background:linear-gradient(90deg,#fff7f8 0%,#fff0f3 58%,#fde7ec 100%);box-shadow:0 10px 28px rgba(128,31,57,.08)}
.novena-active-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:var(--ldr-rose);color:#fff;font-size:22px}
.novena-active-copy .eyebrow{display:block;margin-bottom:5px;color:var(--ldr-rose-dark);font-size:14px}
.novena-active-copy p{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.45;color:#4d3438}
.novena-active-copy small{display:block;margin-top:5px;color:var(--ldr-muted)}
.home-info-strip{padding:26px 0 14px;background:#fff}
.home-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.home-info-card,.info-card-full{min-height:118px}
.novena-compact-card{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:18px 20px;border:1px solid #efd9dd;border-radius:16px;background:#fff8f9}
.novena-compact-copy p{margin:2px 0 0;line-height:1.4;color:#514548}
.novena-compact-copy small{display:block;margin-top:4px;color:var(--ldr-muted)}
.novena-compact-card .text-link{white-space:nowrap}
@media(max-width:760px){.novena-active-card{grid-template-columns:48px 1fr}.novena-active-card .btn{grid-column:1/-1;justify-self:start;margin-left:68px}.home-info-grid{grid-template-columns:1fr}}
@media(max-width:520px){.novena-active-card{grid-template-columns:1fr}.novena-active-card .btn{grid-column:auto;margin-left:0}.novena-compact-card{grid-template-columns:40px 1fr}.novena-compact-card .text-link{grid-column:1/-1;margin-left:54px}}

/* v0.26 - redes sociales footer */
.footer-social{margin-top:18px}
.footer-social-title{display:block;margin-bottom:9px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ldr-rose-dark)}
.footer-social-icons{display:flex;align-items:center;gap:9px}
.footer-social-link{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e8bdc8;border-radius:50%;color:var(--ldr-rose);background:#fff;transition:.18s ease}
.footer-social-link:hover{transform:translateY(-2px);background:var(--ldr-rose);border-color:var(--ldr-rose);color:#fff}
.footer-social-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-social-link[aria-label="Facebook"] svg,.footer-social-link[aria-label="YouTube"] svg{fill:currentColor;stroke:none}
.footer-social-link .youtube-play{fill:#fff}


/* v0.29 - Alineación del Hero con las tarjetas inferiores */
@media (min-width: 901px) {
  .hero {
    background-position: calc(50% + 455px) 48%;
  }
}


/* v0.30 - Hero alineado exactamente con el ancho de las tarjetas */
@media (min-width: 901px) {
  .hero {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    background-position: right 48%;
  }
}


/* v0.32 - Iconografía lineal propia */
.quick-icon svg,
.ldr-line-icon svg {
  width: 34px;
  height: 34px;
  display: block;
  margin: 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.quick-icon {
  color: #cf4663;
  margin-bottom: 8px;
}

.novena-active-icon.ldr-line-icon {
  background: #fff7f8;
  color: #c93659;
  border: 1px solid #e8a8b7;
}

.novena-active-icon.ldr-line-icon svg {
  width: 34px;
  height: 34px;
}

.novena-status-icon.ldr-line-icon {
  color: #c93659;
}

.novena-status-icon.ldr-line-icon svg {
  width: 32px;
  height: 32px;
}


/* v0.33 - iconos grandes, claros y uniformes */
.quick-icon {
  width: 86px !important;
  height: 86px !important;
  margin: 0 auto 18px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid #efc0ca;
  border-radius: 50%;
  background: #fff8fa;
  color: #c93659 !important;
  box-shadow: 0 7px 18px rgba(164, 48, 76, .06);
}

.quick-icon svg {
  width: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.novena-active-icon.ldr-line-icon {
  width: 76px !important;
  height: 76px !important;
  border-radius: 50%;
  background: #fff8fa !important;
  border: 1px solid #efb8c5 !important;
  color: #c93659 !important;
  box-shadow: 0 7px 18px rgba(164, 48, 76, .06);
}

.novena-active-icon.ldr-line-icon svg {
  width: 46px !important;
  height: 46px !important;
  margin: 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.novena-status-icon.ldr-line-icon {
  width: 58px !important;
  height: 58px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff8fa;
  border: 1px solid #efc0ca;
  color: #c93659 !important;
}

.novena-status-icon.ldr-line-icon svg {
  width: 36px !important;
  height: 36px !important;
}

.quick-card h3 {
  margin-top: 0 !important;
}

@media (max-width: 700px) {
  .quick-icon {
    width: 72px !important;
    height: 72px !important;
  }
  .quick-icon svg {
    width: 40px !important;
    height: 40px !important;
  }
  .novena-active-icon.ldr-line-icon {
    width: 66px !important;
    height: 66px !important;
  }
  .novena-active-icon.ldr-line-icon svg {
    width: 40px !important;
    height: 40px !important;
  }
}


/* v0.34 - iconos más elaborados y protagonistas */
.quick-icon {
  width: 104px !important;
  height: 104px !important;
  margin: 0 auto 20px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid #edb9c6 !important;
  border-radius: 50%;
  background: linear-gradient(180deg,#fffafa,#fff5f7) !important;
  color: #c53055 !important;
  box-shadow: 0 10px 24px rgba(168,48,79,.08);
}

.quick-icon svg {
  width: 64px !important;
  height: 64px !important;
  margin: 0 !important;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.15;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.novena-active-icon.ldr-line-icon {
  width: 86px !important;
  height: 86px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:linear-gradient(180deg,#fffafa,#fff5f7) !important;
  border:1px solid #edb9c6 !important;
  color:#c53055 !important;
  box-shadow:0 10px 24px rgba(168,48,79,.08);
}

.novena-active-icon.ldr-line-icon svg {
  width: 58px !important;
  height: 58px !important;
  fill:none;
  stroke:currentColor;
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.novena-status-icon.ldr-line-icon {
  width:64px !important;
  height:64px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#fff8fa;
  border:1px solid #edbdc8;
  color:#c53055 !important;
}

.novena-status-icon.ldr-line-icon svg {
  width:44px !important;
  height:44px !important;
}

@media (max-width:700px) {
  .quick-icon {
    width:88px !important;
    height:88px !important;
  }
  .quick-icon svg {
    width:54px !important;
    height:54px !important;
  }
  .novena-active-icon.ldr-line-icon {
    width:74px !important;
    height:74px !important;
  }
  .novena-active-icon.ldr-line-icon svg {
    width:50px !important;
    height:50px !important;
  }
}


/* =========================================================
   v0.35 - Iconos definitivos según referencia visual aprobada
   ========================================================= */

.quick-card {
  padding-top: 26px !important;
}

.quick-icon {
  width: 112px !important;
  height: 112px !important;
  margin: 0 auto 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1.5px solid #efb8c5 !important;
  border-radius: 50% !important;
  background: #fff9fa !important;
  color: #c82f54 !important;
  box-shadow: 0 8px 20px rgba(190, 53, 85, .07) !important;
}

.quick-icon .ldr-icon-svg {
  width: 72px !important;
  height: 72px !important;
  display: block !important;
  margin: 0 !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  overflow: visible !important;
}

.novena-active-icon.ldr-line-icon {
  width: 92px !important;
  height: 92px !important;
  min-width: 92px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1.5px solid #efb8c5 !important;
  border-radius: 50% !important;
  background: #fff9fa !important;
  color: #c82f54 !important;
  box-shadow: 0 8px 20px rgba(190, 53, 85, .07) !important;
}

.novena-active-icon.ldr-line-icon .ldr-icon-svg {
  width: 64px !important;
  height: 64px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.novena-status-icon.ldr-line-icon {
  width: 68px !important;
  height: 68px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1.5px solid #efb8c5 !important;
  border-radius: 50% !important;
  background: #fff9fa !important;
  color: #c82f54 !important;
}

.novena-status-icon.ldr-line-icon .ldr-icon-svg {
  width: 47px !important;
  height: 47px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

@media (max-width: 700px) {
  .quick-icon {
    width: 92px !important;
    height: 92px !important;
  }
  .quick-icon .ldr-icon-svg {
    width: 60px !important;
    height: 60px !important;
  }
  .novena-active-icon.ldr-line-icon {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
  }
  .novena-active-icon.ldr-line-icon .ldr-icon-svg {
    width: 52px !important;
    height: 52px !important;
  }
}


/* =========================================================
   v0.36 - Iconos como imágenes reales de la referencia aprobada
   ========================================================= */

.ldr-image-icon {
  overflow: hidden;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.quick-icon.ldr-image-icon {
  width: 118px !important;
  height: 118px !important;
  margin: 0 auto 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.quick-icon.ldr-image-icon img {
  width: 118px !important;
  height: 118px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 50% !important;
}

.novena-active-icon.ldr-image-icon {
  width: 92px !important;
  height: 92px !important;
  min-width: 92px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.novena-active-icon.ldr-image-icon img {
  width: 92px !important;
  height: 92px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: block !important;
}

.novena-status-icon.ldr-image-icon {
  width: 68px !important;
  height: 68px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.novena-status-icon.ldr-image-icon img {
  width: 68px !important;
  height: 68px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: block !important;
}

@media (max-width: 700px) {
  .quick-icon.ldr-image-icon,
  .quick-icon.ldr-image-icon img {
    width: 98px !important;
    height: 98px !important;
  }

  .novena-active-icon.ldr-image-icon,
  .novena-active-icon.ldr-image-icon img {
    width: 78px !important;
    height: 78px !important;
    min-width: 78px !important;
  }
}


/* =========================================================
   v0.37 - Corrección de recortes y alineación de iconos
   ========================================================= */

/* Evita que los iconos PNG se recorten dentro de sus círculos */
.quick-icon.ldr-image-icon,
.novena-active-icon.ldr-image-icon,
.novena-status-icon.ldr-image-icon {
  overflow: visible !important;
}

.quick-icon.ldr-image-icon img,
.novena-active-icon.ldr-image-icon img,
.novena-status-icon.ldr-image-icon img {
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 0 !important;
}

/* Un poco de aire alrededor del dibujo para que no toque los bordes */
.quick-icon.ldr-image-icon img {
  width: 108px !important;
  height: 108px !important;
}

.novena-active-icon.ldr-image-icon img {
  width: 84px !important;
  height: 84px !important;
}

.novena-status-icon.ldr-image-icon img {
  width: 62px !important;
  height: 62px !important;
}

/* La grilla anterior reservaba menos ancho que el nuevo icono */
.novena-active-card {
  grid-template-columns: 92px minmax(0, 1fr) auto !important;
  column-gap: 22px !important;
}

.novena-active-copy {
  min-width: 0;
}

.novena-active-copy .eyebrow {
  margin-top: 0 !important;
}

.novena-active-card .btn {
  margin-left: 12px;
}

/* Tarjetas: mantener centrados los iconos sin recortes */
.quick-card {
  overflow: visible !important;
}

.quick-icon.ldr-image-icon {
  flex: 0 0 118px;
}

/* Responsive */
@media (max-width: 760px) {
  .novena-active-card {
    grid-template-columns: 78px minmax(0,1fr) !important;
    column-gap: 16px !important;
  }

  .novena-active-card .btn {
    grid-column: 1 / -1 !important;
    margin-left: 94px !important;
  }

  .novena-active-icon.ldr-image-icon {
    width: 78px !important;
    height: 78px !important;
    min-width: 78px !important;
  }

  .novena-active-icon.ldr-image-icon img {
    width: 72px !important;
    height: 72px !important;
  }
}

@media (max-width: 520px) {
  .novena-active-card {
    grid-template-columns: 1fr !important;
  }

  .novena-active-card .btn {
    grid-column: auto !important;
    margin-left: 0 !important;
  }
}


/* =========================================================
   v0.38 - Iconos un poco más chicos para evitar recortes
   ========================================================= */

.quick-icon.ldr-image-icon {
  width: 96px !important;
  height: 96px !important;
  flex: 0 0 96px !important;
  margin: 0 auto 16px !important;
}

.quick-icon.ldr-image-icon img {
  width: 88px !important;
  height: 88px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.novena-active-icon.ldr-image-icon {
  width: 76px !important;
  height: 76px !important;
  min-width: 76px !important;
}

.novena-active-icon.ldr-image-icon img {
  width: 68px !important;
  height: 68px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.novena-active-card {
  grid-template-columns: 76px minmax(0,1fr) auto !important;
  column-gap: 18px !important;
}

.novena-status-icon.ldr-image-icon {
  width: 58px !important;
  height: 58px !important;
}

.novena-status-icon.ldr-image-icon img {
  width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
}

/* evitamos cualquier recorte del PNG */
.quick-icon.ldr-image-icon,
.novena-active-icon.ldr-image-icon,
.novena-status-icon.ldr-image-icon {
  overflow: visible !important;
}

@media (max-width: 760px) {
  .quick-icon.ldr-image-icon {
    width: 84px !important;
    height: 84px !important;
    flex-basis: 84px !important;
  }

  .quick-icon.ldr-image-icon img {
    width: 76px !important;
    height: 76px !important;
  }

  .novena-active-card {
    grid-template-columns: 68px minmax(0,1fr) !important;
  }

  .novena-active-icon.ldr-image-icon,
  .novena-active-icon.ldr-image-icon img {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
  }
}


/* =========================================================
   v0.40 - Mantiene los iconos originales de v0.38
   Solo se reduce el tamaño y se agrega aire para evitar
   cualquier recorte visual dentro de las tarjetas.
   ========================================================= */

.quick-card {
  overflow: visible !important;
}

.quick-icon.ldr-image-icon {
  width: 78px !important;
  height: 78px !important;
  min-width: 78px !important;
  flex: 0 0 78px !important;
  margin: 0 auto 14px !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.quick-icon.ldr-image-icon img {
  width: 68px !important;
  height: 68px !important;
  max-width: 68px !important;
  max-height: 68px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  border-radius: 0 !important;
}

/* Icono superior de la novena: mismo PNG original */
.novena-active-icon.ldr-image-icon {
  width: 62px !important;
  height: 62px !important;
  min-width: 62px !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.novena-active-icon.ldr-image-icon img {
  width: 54px !important;
  height: 54px !important;
  max-width: 54px !important;
  max-height: 54px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  border-radius: 0 !important;
}

.novena-active-card {
  grid-template-columns: 62px minmax(0,1fr) auto !important;
  column-gap: 16px !important;
}

/* Icono de novena cuando aparece en la tarjeta inferior */
.novena-status-icon.ldr-image-icon {
  width: 52px !important;
  height: 52px !important;
  overflow: visible !important;
}

.novena-status-icon.ldr-image-icon img {
  width: 46px !important;
  height: 46px !important;
  max-width: 46px !important;
  max-height: 46px !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  border-radius: 0 !important;
}

@media (max-width: 760px) {
  .quick-icon.ldr-image-icon {
    width: 70px !important;
    height: 70px !important;
    min-width: 70px !important;
    flex-basis: 70px !important;
  }

  .quick-icon.ldr-image-icon img {
    width: 60px !important;
    height: 60px !important;
    max-width: 60px !important;
    max-height: 60px !important;
  }

  .novena-active-card {
    grid-template-columns: 56px minmax(0,1fr) !important;
    column-gap: 14px !important;
  }

  .novena-active-icon.ldr-image-icon {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
  }

  .novena-active-icon.ldr-image-icon img {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
  }
}


/* v0.49 - Comilla de cierre en la frase del día */
.daily-word-quote .daily-word-quote-close{
  display:inline-block;
  margin-left:8px;
  color:var(--rose,#c52f5d);
  font-family:Georgia, "Times New Roman", serif;
  font-size:1.25em;
  line-height:.7;
  vertical-align:.08em;
  font-weight:700;
}


/* =========================================================
   v0.50 - Alinear Peticiones y Footer con el ancho general
   No modifica contenido, tipografías ni estructura interna.
   ========================================================= */

.petitions,
.site-footer {
  width: calc(100% - 40px);
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 18px;
  overflow: hidden;
}

.petitions {
  margin-top: 14px;
  margin-bottom: 14px;
}

.site-footer {
  margin-top: 18px;
  margin-bottom: 18px;
}

@media (max-width: 760px) {
  .petitions,
  .site-footer {
    width: calc(100% - 24px);
    border-radius: 14px;
  }
}


/* v0.51 - Quitar líneas horizontales de la sección Frase del día */
.daily-word{
  border-top:0 !important;
  border-bottom:0 !important;
}


/* v0.52 - Eliminar el adorno de rosa de las tarjetas de peticiones */
.petition-card .petition-rose,
.petition-card .rose-icon,
.petition-card .petition-icon {
  display: none !important;
}


/* =========================================================
   v0.54 - Página WordPress integrada de Peticiones
   ========================================================= */

.ldr-peticiones-page{
  padding:28px 0 44px;
}

.ldr-peticiones-hero{
  padding:14px 0 24px;
}

.ldr-peticiones-hero-inner{
  max-width:980px;
  text-align:center;
}

.ldr-peticiones-hero h1{
  margin:8px 0 18px;
  color:var(--wine,#7d1738);
  font-size:clamp(34px,5vw,54px);
}

.ldr-peticiones-frase{
  position:relative;
  max-width:760px;
  margin:0 auto 22px;
  padding:24px 38px 18px;
  background:#fff;
  border:1px solid #f0dfe5;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(125,23,56,.05);
}

.ldr-peticiones-frase p{
  margin:0;
  color:#5d2637;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(18px,2.3vw,25px);
  line-height:1.45;
}

.ldr-peticiones-frase small{
  display:block;
  margin-top:12px;
  color:#9a6d7b;
}

.ldr-peticiones-comilla{
  position:absolute;
  left:14px;
  top:7px;
  color:#cc4c75;
  font-family:Georgia,"Times New Roman",serif;
  font-size:46px;
  line-height:1;
}

.ldr-peticiones-comilla.cierre{
  left:auto;
  top:auto;
  right:14px;
  bottom:22px;
}

.ldr-peticiones-total{
  margin:0 auto 8px;
  color:#73515d;
  font-size:16px;
}

.ldr-peticiones-total strong{
  color:#9f3154;
  font-size:22px;
}

.ldr-peticiones-bajada{
  margin:0 auto;
  color:#8c747d;
  font-size:14px;
}

.ldr-peticiones-hero-actions{
  margin-top:20px;
}

.ldr-peticiones-listado{
  padding:18px 0 24px;
}

.ldr-peticiones-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.ldr-intencion-card{
  display:flex;
  flex-direction:column;
  min-height:285px;
  padding:22px;
  background:#fff;
  border:1px solid #ecdce2;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(125,23,56,.055);
  transition:transform .2s ease, box-shadow .2s ease;
}

.ldr-intencion-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(125,23,56,.08);
}

.ldr-intencion-card.es-privada{
  background:#fffafb;
  border-style:dashed;
}

.ldr-intencion-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  margin-bottom:12px;
}

.ldr-intencion-head .label{
  display:inline-flex;
  padding:5px 10px;
  border-radius:999px;
  background:#f9e7ed;
  color:#a52e55;
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ldr-intencion-fecha{
  color:#ae98a0;
  font-size:12px;
}

.ldr-intencion-persona{
  margin-bottom:12px;
  color:#6b203a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  font-weight:700;
}

.ldr-intencion-texto{
  flex:1;
  color:#5f4b52;
  font-size:15px;
  line-height:1.65;
}

.ldr-intencion-texto.texto-privado{
  color:#8a6d77;
  font-style:italic;
}

.ldr-intencion-acciones{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  padding-top:18px;
  margin-top:18px;
  border-top:1px solid #f3e7eb;
}

.ldr-rezar-btn{
  min-width:190px;
}

.ldr-rezar-btn[disabled]{
  opacity:.85;
  cursor:default;
}

.ldr-intencion-rezos{
  color:#a1838e;
  font-size:12px;
}

.ldr-mensaje-espiritual{
  width:100%;
  padding:10px 13px;
  border:1px solid #d9eadf;
  border-radius:10px;
  background:#eef8f1;
  color:#39734b;
  font-size:13px;
}

.ldr-intencion-card.esta-rezada{
  box-shadow:0 0 0 2px rgba(205,75,116,.18),0 15px 34px rgba(125,23,56,.1);
}

.ldr-paginacion{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  margin-top:30px;
  flex-wrap:wrap;
}

.ldr-paginacion span{
  color:#836b74;
  font-size:14px;
  font-weight:600;
}

.ldr-peticiones-alerta{
  max-width:760px;
  margin:0 auto 20px;
  padding:14px 18px;
  border:1px solid #eadfe3;
  border-radius:12px;
  background:#fff;
  color:#68535b;
  text-align:center;
}

.ldr-peticiones-alerta.error{
  border-color:#edcaca;
  background:#fff5f5;
  color:#9f3030;
}

@media (max-width:760px){
  .ldr-peticiones-page{
    padding-top:14px;
  }

  .ldr-peticiones-grid{
    grid-template-columns:1fr;
  }

  .ldr-peticiones-frase{
    padding:22px 30px 18px;
  }

  .ldr-intencion-card{
    min-height:0;
  }

  .ldr-rezar-btn{
    width:100%;
  }
}


/* =========================================================
   v0.56 - Más calidez visual en la página Peticiones
   Solo estilos: no modifica lógica ni contenido.
   ========================================================= */

.ldr-peticiones-page{
  background:#fffdfd;
}

.ldr-peticiones-hero{
  width:calc(100% - 40px);
  max-width:1180px;
  margin:22px auto 10px;
  padding:34px 22px 36px;
  background:linear-gradient(135deg,#fff8fa 0%,#fdf0f4 100%);
  border:1px solid #f1dce3;
  border-radius:20px;
}

.ldr-peticiones-hero h1{
  margin-top:10px;
}

.ldr-peticiones-frase{
  background:rgba(255,255,255,.82);
  border-color:#ebd2da;
  box-shadow:0 8px 24px rgba(125,23,56,.045);
}

.ldr-peticiones-total{
  margin-top:4px;
}

.ldr-peticiones-listado{
  width:calc(100% - 40px);
  max-width:1180px;
  margin:0 auto 26px;
  padding:24px 0 30px;
  background:#fff9fa;
  border-radius:20px;
}

.ldr-peticiones-listado > .ldr-container{
  padding-left:22px;
  padding-right:22px;
}

.ldr-intencion-card{
  background:#fff;
  border-color:#ead6dd;
  box-shadow:0 8px 24px rgba(125,23,56,.045);
}

.ldr-intencion-card.es-privada{
  background:#fffafb;
}

.ldr-intencion-rezos{
  display:inline-block;
  padding:7px 10px;
  background:#fff3f6;
  border-radius:9px;
  color:#8f5367;
  font-size:12px;
  line-height:1.35;
}

.ldr-intencion-card.esta-rezada .ldr-intencion-rezos{
  background:#f4faf5;
  color:#477653;
}

@media (max-width:760px){
  .ldr-peticiones-hero,
  .ldr-peticiones-listado{
    width:calc(100% - 24px);
    border-radius:16px;
  }

  .ldr-peticiones-hero{
    margin-top:12px;
    padding:26px 14px 28px;
  }

  .ldr-peticiones-listado > .ldr-container{
    padding-left:12px;
    padding-right:12px;
  }
}


/* =========================================================
   v0.57 - Cabecera de Peticiones más compacta
   Inspirada en la proporción de la página anterior.
   ========================================================= */

.ldr-peticiones-hero{
  margin-top:18px;
  margin-bottom:8px;
  padding-top:22px;
  padding-bottom:24px;
}

.ldr-peticiones-hero h1{
  margin:5px 0 12px;
  font-size:clamp(30px,4vw,44px);
}

.ldr-peticiones-frase{
  max-width:650px;
  margin-bottom:14px;
  padding:15px 34px 12px;
}

.ldr-peticiones-frase p{
  font-size:clamp(17px,2vw,22px);
  line-height:1.35;
}

.ldr-peticiones-frase small{
  margin-top:7px;
  font-size:12px;
}

.ldr-peticiones-comilla{
  top:4px;
  font-size:38px;
}

.ldr-peticiones-comilla.cierre{
  bottom:13px;
}

.ldr-peticiones-total{
  margin-bottom:4px;
  font-size:14px;
}

.ldr-peticiones-total strong{
  font-size:20px;
}

.ldr-peticiones-bajada{
  font-size:13px;
}

.ldr-peticiones-hero-actions{
  margin-top:14px;
}

@media (max-width:760px){
  .ldr-peticiones-hero{
    padding-top:20px;
    padding-bottom:22px;
  }

  .ldr-peticiones-frase{
    padding:15px 28px 12px;
  }
}


/* =========================================================
   v0.58 - Compactación real del encabezado de Peticiones
   ========================================================= */

.ldr-peticiones-page{
  padding-top:10px !important;
}

.ldr-peticiones-hero{
  width:calc(100% - 40px) !important;
  max-width:1060px !important;
  margin:12px auto 6px !important;
  padding:18px 20px 18px !important;
  border-radius:16px !important;
}

.ldr-peticiones-hero .eyebrow{
  display:block !important;
  margin:0 0 2px !important;
  font-size:12px !important;
  line-height:1.2 !important;
}

.ldr-peticiones-hero h1{
  margin:2px 0 10px !important;
  font-size:38px !important;
  line-height:1.05 !important;
}

.ldr-peticiones-frase{
  max-width:585px !important;
  margin:0 auto 10px !important;
  padding:12px 32px 10px !important;
  border-radius:14px !important;
}

.ldr-peticiones-frase p{
  margin:0 !important;
  font-size:19px !important;
  line-height:1.25 !important;
}

.ldr-peticiones-frase small{
  margin-top:5px !important;
  font-size:11px !important;
  line-height:1.2 !important;
}

.ldr-peticiones-comilla{
  left:12px !important;
  top:3px !important;
  font-size:32px !important;
}

.ldr-peticiones-comilla.cierre{
  left:auto !important;
  right:12px !important;
  top:auto !important;
  bottom:9px !important;
}

.ldr-peticiones-total{
  margin:4px auto 2px !important;
  font-size:13px !important;
  line-height:1.3 !important;
}

.ldr-peticiones-total strong{
  font-size:18px !important;
}

.ldr-peticiones-bajada{
  margin:0 auto !important;
  font-size:12px !important;
  line-height:1.3 !important;
}

.ldr-peticiones-hero-actions{
  margin-top:10px !important;
}

.ldr-peticiones-hero-actions .btn{
  padding:10px 18px !important;
  font-size:13px !important;
}

.ldr-peticiones-listado{
  margin-top:4px !important;
}

@media (max-width:760px){
  .ldr-peticiones-hero{
    width:calc(100% - 24px) !important;
    padding:16px 12px 16px !important;
  }

  .ldr-peticiones-hero h1{
    font-size:31px !important;
  }

  .ldr-peticiones-frase{
    max-width:100% !important;
    padding:11px 27px 9px !important;
  }

  .ldr-peticiones-frase p{
    font-size:17px !important;
  }
}


/* =========================================================
   v0.59 - Página WordPress integrada "Dejar petición"
   ========================================================= */

.ldr-dejar-peticion-page{
  padding:28px 0 44px;
  background:#fffdfd;
}

.ldr-dejar-peticion-card{
  width:calc(100% - 40px);
  max-width:1180px;
  margin:0 auto;
  padding:30px 34px;
  background:linear-gradient(135deg,#fffafb 0%,#fff4f7 100%);
  border:1px solid #eed9e0;
  border-radius:20px;
}

.ldr-dejar-peticion-header{
  max-width:720px;
  margin:0 auto 24px;
  text-align:center;
}

.ldr-dejar-peticion-header h1,
.ldr-confirmacion-peticion h1{
  margin:5px 0 10px;
  color:#861a40;
  font-size:clamp(32px,4.4vw,46px);
  line-height:1.08;
}

.ldr-dejar-peticion-header p{
  margin:0 auto 6px;
  color:#6f4d59;
  font-size:16px;
  line-height:1.6;
}

.ldr-dejar-peticion-header .ldr-dejar-peticion-sub{
  color:#9a7783;
  font-size:14px;
}

.ldr-peticion-form{
  max-width:760px;
  margin:0 auto;
  padding:24px;
  background:#fff;
  border:1px solid #ecdce2;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(125,23,56,.045);
}

.ldr-form-row.two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.ldr-form-field{
  margin-bottom:18px;
}

.ldr-form-field label{
  display:block;
  margin-bottom:7px;
  color:#6c2039;
  font-weight:700;
  font-size:14px;
}

.ldr-form-field input,
.ldr-form-field select,
.ldr-form-field textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #e6d6dc;
  border-radius:11px;
  background:#fffdfd;
  color:#49363c;
  font:inherit;
  padding:12px 13px;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.ldr-form-field textarea{
  resize:vertical;
  min-height:150px;
  line-height:1.55;
}

.ldr-form-field input:focus,
.ldr-form-field select:focus,
.ldr-form-field textarea:focus{
  background:#fff;
  border-color:#cf6b8b;
  box-shadow:0 0 0 3px rgba(196,47,94,.09);
}

.ldr-form-field small,
.ldr-field-help-row small{
  display:block;
  margin-top:6px;
  color:#9b818a;
  font-size:12px;
  line-height:1.4;
}

.ldr-field-help-row{
  display:flex;
  justify-content:space-between;
  gap:14px;
}

.ldr-check-linea{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:4px 0 18px;
  color:#684d56;
  font-size:13px;
}

.ldr-check-linea input{
  margin-top:2px;
}

.ldr-form-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 22px;
}

.ldr-reglas-publicacion{
  padding:18px 20px;
  background:#fff8fa;
  border:1px solid #eedfe4;
  border-radius:14px;
}

.ldr-reglas-publicacion h2{
  margin:0 0 10px;
  color:#7e2945;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
}

.ldr-reglas-publicacion ul{
  margin:0;
  padding-left:18px;
  color:#69545c;
  font-size:13px;
  line-height:1.62;
}

.ldr-reglas-publicacion li{
  margin-bottom:7px;
}

.ldr-reglas-publicacion li:last-child{
  margin-bottom:0;
}

.ldr-form-alert{
  max-width:760px;
  margin:0 auto 20px;
  padding:14px 17px;
  border-radius:12px;
  font-size:14px;
  line-height:1.5;
}

.ldr-form-alert.error{
  background:#fff4f4;
  border:1px solid #edcccc;
  color:#913636;
}

.ldr-form-alert.ok{
  background:#f3faf5;
  border:1px solid #d7e9dc;
  color:#4d7258;
}

.ldr-form-alert ul{
  margin:8px 0 0 18px;
  padding:0;
}

.ldr-confirmacion-peticion{
  max-width:700px;
  margin:0 auto;
  text-align:center;
  padding:18px 0 8px;
}

.ldr-confirmacion-principal,
.ldr-confirmacion-cierre{
  color:#6e525b;
  line-height:1.75;
}

.ldr-confirmacion-cierre{
  margin:20px auto;
  font-family:Georgia,"Times New Roman",serif;
  color:#6b2940;
  font-size:17px;
}

.ldr-redireccion{
  color:#9a8189;
  font-size:13px;
}

@media (max-width:760px){
  .ldr-dejar-peticion-page{
    padding:14px 0 28px;
  }

  .ldr-dejar-peticion-card{
    margin:0 12px;
    padding:22px 14px;
    border-radius:16px;
  }

  .ldr-peticion-form{
    padding:18px 14px;
  }

  .ldr-form-row.two{
    grid-template-columns:1fr;
    gap:0;
  }

  .ldr-form-actions .btn{
    width:100%;
    text-align:center;
  }

  .ldr-field-help-row{
    display:block;
  }
}


/* v0.67 - Dejar petición alineado al ancho del Hero principal */
@media (max-width: 700px){
  .ldr-dejar-peticion-card{
    width:calc(100% - 24px);
  }
}


/* =========================================================
   v0.68 - Página WordPress integrada "Sumarse a Orar"
   ========================================================= */

.ldr-sumarse-page{
  padding:28px 0 44px;
  background:#fffdfd;
}

.ldr-sumarse-card{
  width:calc(100% - 40px);
  max-width:1180px;
  margin:0 auto;
  padding:30px 34px;
  background:linear-gradient(135deg,#fffafb 0%,#fff4f7 100%);
  border:1px solid #eed9e0;
  border-radius:20px;
}

.ldr-sumarse-header{
  max-width:760px;
  margin:0 auto 24px;
  text-align:center;
}

.ldr-sumarse-header h1,
.ldr-sumarse-confirmacion h1{
  margin:5px 0 10px;
  color:#861a40;
  font-size:clamp(32px,4.4vw,46px);
  line-height:1.08;
}

.ldr-sumarse-header p{
  margin:0 auto 6px;
  color:#6f4d59;
  font-size:16px;
  line-height:1.6;
}

.ldr-sumarse-header .ldr-sumarse-sub{
  color:#9a7783;
  font-size:14px;
}

.ldr-sumarse-total{
  display:inline-block;
  margin-top:10px;
  padding:9px 14px;
  background:#fff;
  border:1px solid #ecdce2;
  border-radius:999px;
  color:#8c596b;
  font-size:13px;
}

.ldr-sumarse-total strong{
  color:#a62d55;
  font-size:17px;
}

.ldr-sumarse-form{
  max-width:860px;
  margin:0 auto;
  padding:24px;
  background:#fff;
  border:1px solid #ecdce2;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(125,23,56,.045);
}

.ldr-sumarse-form .ldr-form-field{
  margin-bottom:18px;
}

.ldr-sumarse-form .ldr-form-field label{
  display:block;
  margin-bottom:7px;
  color:#6c2039;
  font-weight:700;
  font-size:14px;
}

.ldr-sumarse-form .ldr-form-field input,
.ldr-sumarse-form .ldr-form-field select,
.ldr-sumarse-form .ldr-form-field textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #e6d6dc;
  border-radius:11px;
  background:#fffdfd;
  color:#49363c;
  font:inherit;
  padding:12px 13px;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.ldr-sumarse-form .ldr-form-field textarea{
  resize:vertical;
  min-height:110px;
  line-height:1.55;
}

.ldr-sumarse-form .ldr-form-field input:focus,
.ldr-sumarse-form .ldr-form-field select:focus,
.ldr-sumarse-form .ldr-form-field textarea:focus{
  background:#fff;
  border-color:#cf6b8b;
  box-shadow:0 0 0 3px rgba(196,47,94,.09);
}

.ldr-sumarse-form .ldr-form-field small{
  display:block;
  margin-top:6px;
  color:#9b818a;
  font-size:12px;
  line-height:1.4;
}

.ldr-bloque-opcional{
  display:none;
  margin:4px 0 18px;
  padding:18px;
  background:#fff8fa;
  border:1px solid #eedfe4;
  border-radius:14px;
}

.ldr-compromiso{
  margin-top:8px;
  padding:14px 16px;
  background:#fff8fa;
  border:1px solid #eedfe4;
  border-radius:12px;
}

.ldr-honeypot{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.ldr-sumarse-confirmacion{
  max-width:720px;
  margin:0 auto;
  padding:18px 0 8px;
  text-align:center;
}

.ldr-sumarse-confirmacion > p{
  color:#6e525b;
  line-height:1.7;
}

.ldr-sumarse-actions{
  margin:20px 0;
}

.ldr-link-personal{
  word-break:break-all;
  color:#9b818a !important;
  font-size:12px;
}

@media (max-width:760px){
  .ldr-sumarse-page{
    padding:14px 0 28px;
  }

  .ldr-sumarse-card{
    width:calc(100% - 24px);
    padding:22px 14px;
    border-radius:16px;
  }

  .ldr-sumarse-form{
    padding:18px 14px;
  }
}


/* =========================================================
   v0.69 - La Novena integrada y administrable en WordPress
   ========================================================= */

.ldr-novena-page{
  padding:28px 0 44px;
  background:#fffdfd;
}

.ldr-novena-shell{
  width:calc(100% - 40px);
  max-width:1180px;
  margin:0 auto;
}

.ldr-novena-hero{
  margin-bottom:20px;
  padding:28px 30px;
  text-align:center;
  background:linear-gradient(135deg,#fff8fa 0%,#fdf0f4 100%);
  border:1px solid #eed9e0;
  border-radius:20px;
}

.ldr-novena-hero h1{
  margin:5px 0 10px;
  color:#861a40;
  font-size:clamp(34px,4.5vw,50px);
  line-height:1.08;
}

.ldr-novena-hero p{
  max-width:820px;
  margin:0 auto;
  color:#6f4d59;
  font-size:16px;
  line-height:1.65;
}

.ldr-novena-estado{
  display:inline-block;
  margin-top:14px;
  padding:8px 14px;
  background:#fff;
  border:1px solid #e7cad3;
  border-radius:999px;
  color:#8b3653;
  font-size:13px;
  font-weight:700;
}

.ldr-novena-dia-card,
.ldr-novena-intenciones,
.ldr-novena-dias{
  margin-bottom:18px;
  padding:26px;
  background:#fff;
  border:1px solid #ecdce2;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(125,23,56,.045);
}

.ldr-novena-dia-etiqueta{
  display:inline-flex;
  padding:5px 10px;
  margin-bottom:10px;
  background:#f9e7ed;
  border-radius:999px;
  color:#a52e55;
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ldr-novena-dia-card h2{
  margin:0 0 8px;
  color:#7d1738;
  font-size:clamp(28px,3.6vw,40px);
  line-height:1.15;
}

.ldr-novena-subtitulo{
  margin-bottom:18px;
  color:#a13a5c;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  line-height:1.5;
}

.ldr-novena-contenido{
  color:#55484c;
  font-size:17px;
  line-height:1.85;
}

.ldr-novena-contenido h2,
.ldr-novena-contenido h3,
.ldr-novena-contenido h4,
.ldr-novena-oracion h2,
.ldr-novena-oracion h3,
.ldr-novena-oracion h4{
  color:#7d1738;
}

.ldr-novena-contenido blockquote,
.ldr-novena-oracion blockquote{
  margin:18px 0;
  padding:12px 16px;
  background:#fff8fa;
  border-left:4px solid #d99ab0;
  border-radius:10px;
}

.ldr-novena-oracion{
  margin-top:22px;
  padding:20px;
  background:#fff8fa;
  border:1px solid #edd9df;
  border-radius:15px;
  color:#584a4f;
  line-height:1.8;
}

.ldr-novena-oracion h3,
.ldr-novena-comunidad h3,
.ldr-novena-intenciones h3{
  margin:0 0 9px;
  color:#7d1738;
  font-family:Georgia,"Times New Roman",serif;
}

.ldr-novena-comunidad{
  margin-top:22px;
  padding:20px;
  text-align:center;
  background:linear-gradient(135deg,#fff9fb 0%,#fff 100%);
  border:1px solid #eedfe4;
  border-radius:15px;
}

.ldr-novena-comunidad p,
.ldr-novena-intenciones p{
  color:#705b63;
  line-height:1.65;
}

.ldr-novena-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.ldr-novena-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:20px;
}

.ldr-novena-nav > div:last-child{
  text-align:right;
}

.ldr-novena-intenciones{
  text-align:center;
  background:#fff9fa;
}

.ldr-novena-dias-title{
  margin-bottom:14px;
  color:#8d5668;
  font-size:13px;
  font-weight:700;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.ldr-novena-dias-grid{
  display:grid;
  grid-template-columns:repeat(9,1fr);
  gap:9px;
}

.ldr-novena-dia-pill{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:8px;
  background:#fff8fa;
  border:1px solid #ead8de;
  border-radius:13px;
  color:#7d1738;
  text-decoration:none;
  font-weight:700;
}

.ldr-novena-dia-pill span{
  font-size:18px;
}

.ldr-novena-dia-pill small{
  font-size:10px;
  opacity:.75;
}

.ldr-novena-dia-pill.activo{
  background:#a92f57;
  border-color:#a92f57;
  color:#fff;
}

.ldr-novena-dia-pill.hoy:not(.activo){
  border-color:#cb6b8a;
}

.ldr-novena-proxima{
  text-align:center;
}

.ldr-novena-proxima > p{
  color:#705b63;
}

@media (max-width:900px){
  .ldr-novena-dias-grid{
    grid-template-columns:repeat(5,1fr);
  }
}

@media (max-width:760px){
  .ldr-novena-page{
    padding:14px 0 28px;
  }

  .ldr-novena-shell{
    width:calc(100% - 24px);
  }

  .ldr-novena-hero,
  .ldr-novena-dia-card,
  .ldr-novena-intenciones,
  .ldr-novena-dias{
    padding:20px 15px;
    border-radius:16px;
  }

  .ldr-novena-contenido{
    font-size:16px;
  }

  .ldr-novena-nav{
    grid-template-columns:1fr;
  }

  .ldr-novena-nav > div,
  .ldr-novena-nav > div:last-child{
    text-align:center;
  }
}

@media (max-width:520px){
  .ldr-novena-dias-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .ldr-novena-actions .btn{
    width:100%;
  }
}


/* =========================================================
   v0.70 - Oraciones de Santa Teresita
   ========================================================= */

.ldr-oraciones-page,
.ldr-oracion-single-page{
  padding:28px 0 44px;
  background:#fffdfd;
}

.ldr-oraciones-shell,
.ldr-oracion-single{
  width:calc(100% - 40px);
  max-width:1180px;
  margin:0 auto;
}

.ldr-oraciones-hero{
  margin-bottom:20px;
  padding:28px 30px;
  text-align:center;
  background:linear-gradient(135deg,#fff8fa 0%,#fdf0f4 100%);
  border:1px solid #eed9e0;
  border-radius:20px;
}

.ldr-oraciones-hero h1,
.ldr-oracion-single-head h1{
  margin:5px 0 10px;
  color:#861a40;
  font-size:clamp(34px,4.5vw,50px);
  line-height:1.08;
}

.ldr-oraciones-hero p{
  max-width:800px;
  margin:0 auto;
  color:#6f4d59;
  font-size:16px;
  line-height:1.65;
}

.ldr-oraciones-intro{
  margin-bottom:20px;
  background:#fff;
  border:1px solid #ecdce2;
  border-radius:16px;
  overflow:hidden;
}

.ldr-oraciones-intro summary{
  cursor:pointer;
  padding:17px 20px;
  color:#7d1738;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  font-weight:700;
  background:#fff8fa;
}

.ldr-oraciones-intro-content{
  padding:20px 24px;
  color:#5e5055;
  line-height:1.75;
}

.ldr-oraciones-intro-content p:first-child{
  margin-top:0;
}

.ldr-oraciones-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.ldr-oracion-card{
  display:flex;
  flex-direction:column;
  min-height:155px;
  padding:20px;
  background:#fff;
  border:1px solid #ecdce2;
  border-radius:16px;
  box-shadow:0 8px 22px rgba(125,23,56,.04);
}

.ldr-oracion-numero{
  display:inline-block;
  margin-bottom:9px;
  color:#ad496b;
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ldr-oracion-card h2{
  flex:1;
  margin:0 0 15px;
  color:#6f203b;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  line-height:1.3;
}

.ldr-oracion-single{
  max-width:980px;
}

.ldr-oracion-single-head{
  padding:24px 26px 18px;
  text-align:center;
  background:linear-gradient(135deg,#fff8fa 0%,#fdf0f4 100%);
  border:1px solid #eed9e0;
  border-radius:20px 20px 0 0;
}

.ldr-oracion-single-head h1{
  font-size:clamp(30px,4vw,44px);
}

.ldr-oracion-single-content{
  padding:30px 34px;
  background:#fff;
  border-left:1px solid #ecdce2;
  border-right:1px solid #ecdce2;
  color:#51464a;
  font-size:17px;
  line-height:1.9;
}

.ldr-oracion-single-content p{
  margin:0 0 18px;
}

.ldr-oracion-single-content blockquote{
  margin:20px 0;
  padding:14px 18px;
  background:#fff8fa;
  border-left:4px solid #d99ab0;
  border-radius:10px;
}

.ldr-oracion-single-nav{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
  padding:18px 22px;
  background:#fff9fa;
  border:1px solid #ecdce2;
  border-radius:0 0 20px 20px;
}

.ldr-oracion-single-nav > div:last-child{
  text-align:right;
}

.ldr-oraciones-volver{
  white-space:nowrap;
}

.ldr-oraciones-empty{
  padding:24px;
  text-align:center;
  background:#fff;
  border:1px solid #ecdce2;
  border-radius:16px;
  color:#78656d;
}

@media (max-width:900px){
  .ldr-oraciones-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .ldr-oraciones-page,
  .ldr-oracion-single-page{
    padding:14px 0 28px;
  }

  .ldr-oraciones-shell,
  .ldr-oracion-single{
    width:calc(100% - 24px);
  }

  .ldr-oraciones-hero,
  .ldr-oracion-single-head{
    padding:22px 15px;
    border-radius:16px;
  }

  .ldr-oracion-single-head{
    border-radius:16px 16px 0 0;
  }

  .ldr-oraciones-grid{
    grid-template-columns:1fr;
  }

  .ldr-oracion-single-content{
    padding:22px 18px;
    font-size:16px;
  }

  .ldr-oracion-single-nav{
    grid-template-columns:1fr;
    text-align:center;
  }

  .ldr-oracion-single-nav > div,
  .ldr-oracion-single-nav > div:last-child{
    text-align:center;
  }
}


/* v0.72 - Referencias y notas de las oraciones históricas */
.ldr-oracion-single-content .ldr-nota-ref,
.ldr-oracion-single-content .ldr-nota-num{
  color:#a52f57;
  font-size:.72em;
  font-weight:700;
  line-height:0;
  vertical-align:super;
}

.ldr-oracion-single-content .ldr-notas-titulo{
  margin:32px 0 14px;
  padding-top:20px;
  border-top:1px solid #ead9df;
  color:#7d1738;
  font-size:20px;
}


/* v0.73 - Presentación de las notas históricas */
.ldr-oracion-single-content .ldr-nota-ref{
  color:#a52f57;
  font-size:.72em;
  font-weight:700;
  vertical-align:super;
  line-height:0;
}

.ldr-notas-section{
  margin-top:34px;
  padding-top:22px;
  border-top:1px solid #ead9df;
}

.ldr-notas-section h3{
  margin:0 0 16px;
  color:#7d1738;
  font-size:20px;
}

.ldr-notas-list{
  margin:0;
  padding-left:22px;
  color:#6b5a61;
  font-size:14px;
  line-height:1.7;
}

.ldr-notas-list li{
  margin-bottom:10px;
}

.ldr-notas-list .ldr-nota-num{
  color:#a52f57;
  font-weight:700;
}


/* v0.74 - Bloque completo de notas por oración */
.ldr-notas-section{
  margin-top:34px;
  padding-top:22px;
  border-top:1px solid #ead9df;
}

.ldr-notas-section h3{
  margin:0 0 14px;
  color:#7d1738;
  font-size:21px;
}

.ldr-notas-intro{
  margin:0 0 14px !important;
  color:#7a6870;
  font-size:14px;
  line-height:1.7;
}

.ldr-notas-list{
  margin:0;
  padding-left:24px;
  color:#62545a;
  font-size:14px;
  line-height:1.7;
}

.ldr-notas-list li{
  margin:0 0 12px;
}

.ldr-notas-list .ldr-nota-num{
  color:#a52f57;
  font-weight:700;
}


/* =========================================================
   v0.75 - Normalización visual de las notas de Oraciones
   Evita cambios de fuente/tamaño causados por formato manual del editor.
   ========================================================= */

.ldr-oracion-single-content .ldr-notas-section,
.ldr-oracion-single-content .ldr-notas-section p,
.ldr-oracion-single-content .ldr-notas-section li,
.ldr-oracion-single-content .ldr-notas-section span,
.ldr-oracion-single-content .ldr-notas-section em,
.ldr-oracion-single-content .ldr-notas-section strong{
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  letter-spacing: normal !important;
}

.ldr-oracion-single-content .ldr-notas-section p,
.ldr-oracion-single-content .ldr-notas-section li{
  color:#62545a !important;
}

.ldr-oracion-single-content .ldr-notas-section h3{
  font-family: inherit !important;
  font-size:21px !important;
  line-height:1.3 !important;
  color:#7d1738 !important;
}

.ldr-oracion-single-content .ldr-notas-section .ldr-nota-num,
.ldr-oracion-single-content .ldr-notas-section sup{
  font-family: inherit !important;
  color:#a52f57 !important;
}



/* =========================================================
   v0.76 - Evitar numeración duplicada en las notas
   El <ol> ya genera 1., 2., 3...; ocultamos el número repetido interno.
   ========================================================= */
.ldr-oracion-single-content .ldr-notas-list .ldr-nota-num{
  display:none !important;
}


/* =========================================================
   v0.77 - Numeración de notas como superíndice
   ========================================================= */
.ldr-oracion-single-content .ldr-notas-list{
  list-style:none !important;
  padding-left:0 !important;
}

.ldr-oracion-single-content .ldr-notas-list li{
  padding-left:0 !important;
}

.ldr-oracion-single-content .ldr-notas-list .ldr-nota-num{
  display:inline !important;
  position:relative;
  top:-0.35em;
  font-size:10px !important;
  line-height:1 !important;
  vertical-align:baseline;
  margin-right:4px;
  color:#a52f57 !important;
  font-weight:700;
}


/* =========================================================
   v0.78 - Referencias clickeables hacia las notas
   ========================================================= */
.ldr-oracion-single-content .ldr-nota-ref a{
  color:inherit !important;
  text-decoration:none !important;
  cursor:pointer;
}

.ldr-oracion-single-content .ldr-nota-ref a:hover,
.ldr-oracion-single-content .ldr-nota-ref a:focus{
  text-decoration:underline !important;
}

.ldr-oracion-single-content .ldr-notas-list li{
  scroll-margin-top:90px;
}


/* v0.80 - Mi intención */
.ldr-mi-intencion{max-width:980px;margin:46px auto;padding:0 20px}
.ldr-mi-intencion-card{background:#fff;border:1px solid #efd7dd;border-radius:20px;padding:38px;box-shadow:0 10px 30px rgba(110,31,55,.06)}
.ldr-mi-intencion-kicker{font-size:.92rem;color:#8b1538;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.ldr-mi-intencion-card h1{color:#8b1538;margin:0 0 12px}
.ldr-mi-intencion-intro,.ldr-mi-intencion-cierre{line-height:1.7}
.ldr-mi-intencion-texto{margin:28px 0;padding:20px 24px;border-left:4px solid #c73563;background:#fff7f9;border-radius:0 12px 12px 0;font-style:italic;line-height:1.7}
.ldr-mi-intencion-meta{margin:22px 0;color:#5f5357}
.ldr-mi-intencion-btn{display:inline-block;padding:12px 18px;border-radius:9px;background:#c73563;color:#fff!important;text-decoration:none;font-weight:600}
@media(max-width:640px){.ldr-mi-intencion{margin:24px auto;padding:0 14px}.ldr-mi-intencion-card{padding:24px 20px}}


/* =========================================================
   v0.84 - Espacio de oración para oradores
   ========================================================= */
.ldr-orador-panel-page{padding:30px 0 48px;background:#fffdfd}
.ldr-orador-panel-wrap{width:calc(100% - 40px);max-width:960px;margin:0 auto}
.ldr-orador-panel-head{text-align:center;margin-bottom:26px}
.ldr-orador-panel-rosa{font-size:52px;line-height:1;margin-bottom:10px}
.ldr-orador-panel-head h1{margin:5px 0 18px;color:#861a40;font-size:clamp(34px,4.4vw,48px)}
.ldr-orador-panel-bienvenida,.ldr-orador-panel-card{background:#fff8fa;border:1px solid #ecd8df;border-radius:16px;padding:20px 24px;line-height:1.7;color:#5d5055;text-align:left}
.ldr-orador-panel-alert{margin:0 auto 22px;padding:13px 18px;background:#f8eef2;border:1px solid #e6c9d3;border-radius:12px;text-align:center;color:#7d1738}
.ldr-orador-panel-subtitle{color:#7d1738;margin:0 0 16px}
.ldr-orador-intenciones{display:flex;flex-direction:column;gap:15px}
.ldr-orador-intencion-card{padding:20px 22px;background:#fff;border:1px solid #ead9df;border-radius:15px;box-shadow:0 7px 20px rgba(90,45,60,.04)}
.ldr-orador-intencion-meta{font-size:14px;color:#765e67;margin-bottom:6px}
.ldr-orador-intencion-contador{font-size:13px;color:#9d4563;margin-bottom:9px}
.ldr-orador-intencion-estado{font-size:13px;color:#7d1738;font-weight:700;margin-bottom:9px}
.ldr-orador-intencion-texto{font-style:italic;line-height:1.75;color:#433b3e}
.ldr-orador-panel-acciones{text-align:center;margin-top:28px}
.ldr-orador-panel-al-dia{color:#7d1738;font-weight:600}
.ldr-orador-panel-frase{text-align:center;margin-top:40px;color:#8b737c;font-family:Georgia,"Times New Roman",serif;font-style:italic}
.ldr-orador-panel-error{text-align:center}
.ldr-orador-panel-empty{text-align:center}
@media(max-width:640px){.ldr-orador-panel-page{padding-top:18px}.ldr-orador-panel-wrap{width:calc(100% - 24px)}.ldr-orador-panel-bienvenida,.ldr-orador-panel-card{padding:18px}}

/* v0.85 - Lugares teresianos */
.ldr-lugares-page{padding:42px 0 64px;background:#fffdfd}
.ldr-lugares-hero{max-width:780px;margin:0 auto 34px;text-align:center}
.ldr-lugares-hero h1{margin:6px 0 14px;color:#861a40;font-size:clamp(36px,5vw,54px);line-height:1.08}
.ldr-lugares-hero p{margin:0;color:#68585e;font-size:18px;line-height:1.7}
.ldr-lugares-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.ldr-lugar-card{overflow:hidden;background:#fff;border:1px solid #ead9df;border-radius:18px;box-shadow:0 10px 28px rgba(89,43,58,.07);display:flex;flex-direction:column}
.ldr-lugar-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#f7ecef}
.ldr-lugar-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
.ldr-lugar-card:hover .ldr-lugar-image img{transform:scale(1.025)}
.ldr-lugar-image-placeholder{display:flex;align-items:center;justify-content:center;text-decoration:none;background:linear-gradient(145deg,#fff8fa,#f3e4e9)}
.ldr-lugar-image-placeholder span{font-size:52px}
.ldr-lugar-body{padding:22px;display:flex;flex:1;flex-direction:column}
.ldr-lugar-body h2{margin:0 0 10px;font-size:25px;line-height:1.2}
.ldr-lugar-body h2 a{color:#7d1738;text-decoration:none}
.ldr-lugar-body p{margin:0 0 20px;color:#65575c;line-height:1.68}
.ldr-lugar-link{margin-top:auto;color:#9b3154;font-weight:700;text-decoration:none}
.ldr-lugar-link:hover{text-decoration:underline}
.ldr-lugares-empty{max-width:700px;margin:0 auto;padding:28px;text-align:center;background:#fff8fa;border:1px solid #ead9df;border-radius:16px}
@media(max-width:900px){.ldr-lugares-grid{grid-template-columns:1fr}.ldr-lugar-card{max-width:700px;width:100%;margin:0 auto}}
@media(max-width:640px){.ldr-lugares-page{padding:26px 0 44px}.ldr-lugares-hero p{font-size:16px}.ldr-lugar-body{padding:19px}}


/* =========================================================
   v0.85.2 - Lugares teresianos: 4 tarjetas en una fila
   ========================================================= */
@media (min-width: 1100px){
  .ldr-lugares-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:18px !important;
  }

  .ldr-lugar-body{
    padding:18px !important;
  }

  .ldr-lugar-body h2{
    font-size:22px !important;
  }

  .ldr-lugar-body p{
    font-size:15px;
    line-height:1.58;
  }

  .ldr-lugar-link{
    font-size:14px;
  }
}

@media (min-width: 700px) and (max-width: 1099px){
  .ldr-lugares-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}


/* =========================================================
   v0.90 - Archivo histórico THERESE adaptado a WordPress
   ========================================================= */
.ldr-therese-page,.ldr-material-page{padding:42px 0 64px;background:#fffdfd}
.ldr-therese-hero,.ldr-material-hero{max-width:820px;margin:0 auto 34px;text-align:center}
.ldr-therese-hero h1,.ldr-material-hero h1{margin:6px 0 14px;color:#861a40;font-size:clamp(38px,5vw,56px);line-height:1.08}
.ldr-therese-hero p,.ldr-material-hero p{margin:0;color:#68585e;font-size:18px;line-height:1.7}
.ldr-therese-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ldr-therese-card,.ldr-reading-card,.ldr-efemeride,.ldr-obra-card{background:#fff;border:1px solid #ead9df;border-radius:18px;box-shadow:0 9px 26px rgba(89,43,58,.06)}
.ldr-therese-card{padding:22px;display:flex;flex-direction:column;min-height:190px}
.ldr-therese-card h2{margin:0 0 10px;font-size:23px}.ldr-therese-card h2 a{color:#7d1738;text-decoration:none}
.ldr-therese-card p{color:#65575c;line-height:1.6;margin:0 0 18px}.ldr-therese-link{margin-top:auto;color:#9b3154;font-weight:700;text-decoration:none}
.ldr-reading-card,.ldr-efemeride{max-width:900px;margin:0 auto 24px;padding:28px}
.ldr-reading-card h2,.ldr-efemeride h2{color:#7d1738}.ldr-reading-content,.ldr-efemeride{line-height:1.78;color:#433b3e}
.ldr-source-note{font-size:13px;color:#8d7a81;font-style:italic}
.ldr-family-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:28px 0}.ldr-family-grid figure{margin:0;text-align:center}.ldr-family-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:14px}.ldr-family-grid figcaption{margin-top:7px;color:#7d1738;font-weight:600}
.ldr-obras-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ldr-obra-card{padding:22px}.ldr-obra-card h2{color:#7d1738;margin-top:0}.ldr-obra-card a{color:#9b3154;font-weight:700;text-decoration:none}
.entry-content{line-height:1.78}.entry-content h2{color:#7d1738;margin-top:30px}.entry-content p{margin:0 0 16px}
@media(max-width:900px){.ldr-therese-grid,.ldr-obras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ldr-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ldr-therese-grid,.ldr-obras-grid{grid-template-columns:1fr}.ldr-reading-card,.ldr-efemeride{padding:20px}.ldr-therese-page,.ldr-material-page{padding-top:26px}}


/* v0.92 - lectura de páginas editables desde WordPress */
.page .content-wrap{max-width:980px;margin:42px auto 64px;padding:0 20px}
.page .entry-title{text-align:center;color:#861a40;font-size:clamp(36px,5vw,52px);line-height:1.08;margin:0 0 28px}
.page .entry-content{background:#fff;border:1px solid #ead9df;border-radius:18px;box-shadow:0 10px 28px rgba(89,43,58,.05);padding:34px 42px;color:#433b3e;font-size:17px;line-height:1.8}
.page .entry-content h2{color:#7d1738;font-size:28px;line-height:1.25;margin:34px 0 14px}
.page .entry-content h3{color:#8b2447;font-size:21px;margin:28px 0 10px}
.page .entry-content p{margin:0 0 19px}
.page .entry-content img{max-width:100%;height:auto}
@media(max-width:640px){.page .content-wrap{margin:26px auto 46px;padding:0 12px}.page .entry-content{padding:24px 20px;font-size:16px}}


/* =========================================================
   v0.93 - Fondo clásico de rosas recuperado del sitio anterior
   ========================================================= */
html{
  background:#f7efef;
}

body{
  background-color:#f7efef !important;
  background-image:url("assets/images/fondo-rosas.png") !important;
  background-repeat:repeat !important;
  background-size:1536px 864px !important;
  background-attachment:fixed;
}

/* El encabezado y el hero conservan su identidad propia */
.site-header{
  background:rgba(255,255,255,.97);
}

/* Las zonas de lectura dejan ver el fondo de forma muy suave,
   replicando el criterio del sitio anterior. */
.novena-active-banner,
.quick-links,
.daily-word,
.home-info-strip,
.content-wrap,
.ldr-lugares-page,
.ldr-orador-panel-page{
  background:rgba(255,255,255,.92) !important;
}

.petitions{
  background:rgba(255,248,249,.91) !important;
}

.site-footer{
  background:rgba(255,246,248,.94) !important;
}

/* Las páginas normales quedan como una hoja clara sobre el patrón */
.page .content-wrap,
.single .content-wrap,
.archive .content-wrap{
  background:rgba(255,255,255,.94);
  border-radius:18px;
  padding:34px 40px 48px;
  box-shadow:0 10px 30px rgba(89,43,58,.05);
}

@media(max-width:700px){
  body{
    background-size:1152px 648px !important;
    background-attachment:scroll;
  }

  .page .content-wrap,
  .single .content-wrap,
  .archive .content-wrap{
    padding:24px 18px 34px;
    border-radius:14px;
  }
}


/* =========================================================
   v0.93.1 - Fondo de rosas continuo, sin franjas
   ========================================================= */

/* El patrón vive en todo el fondo de la página */
html,
body{
  background-color:#f7efef !important;
  background-image:url("assets/images/fondo-rosas.png") !important;
  background-repeat:repeat !important;
  background-size:1536px 864px !important;
}

/* Quitamos fondos de secciones grandes que generaban franjas */
.site,
.site-content,
main,
.home main,
.quick-links,
.daily-word,
.home-info-strip,
.petitions,
.ldr-lugares-page,
.ldr-orador-panel-page{
  background:transparent !important;
}

/* El hero conserva su imagen/fondo propio */
.hero{
  position:relative;
  z-index:1;
}

/* Los bloques reales de contenido siguen legibles */
.novena-active-banner,
.quick-card,
.daily-word-inner,
.petition-card,
.home-info-card,
.stats-card,
.page .content-wrap,
.single .content-wrap,
.archive .content-wrap,
.site-footer .footer-inner{
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
}

/* Footer sin franja opaca */
.site-footer{
  background:transparent !important;
  border-top:0 !important;
}

/* En páginas internas, el patrón queda visible alrededor del contenido */
.page .content-wrap,
.single .content-wrap,
.archive .content-wrap{
  border:1px solid rgba(234,217,223,.95);
}

/* Mantener la cabecera limpia */
.site-header{
  background:rgba(255,255,255,.97) !important;
}

@media(max-width:700px){
  html,
  body{
    background-size:1152px 648px !important;
  }
}


/* =========================================================
   v0.93.2 - Quitar las últimas franjas blancas del home
   ========================================================= */

/* Todas las secciones grandes dejan ver el patrón */
.novena-active-banner,
.quick-links,
.daily-word,
.petitions,
.home-info-strip,
.home-panels,
.home-counters,
.community-home,
.duo,
.did-you-know-bottom{
  background:transparent !important;
}

/* El blanco queda solamente en los bloques/tarjetas concretos */
.novena-active-card,
.quick-card,
.daily-word-inner,
.petition-card,
.home-info-card,
.visual-panel,
.home-counter-card,
.community-copy,
.community-stat,
.duo-card,
.did-you-know-card{
  background-color:rgba(255,255,255,.94) !important;
}

/* Conservar gradientes suaves dentro de tarjetas donde aportan diseño */
.novena-active-card{
  background:linear-gradient(
    90deg,
    rgba(255,247,248,.96) 0%,
    rgba(255,240,243,.96) 58%,
    rgba(253,231,236,.96) 100%
  ) !important;
}

.daily-word-inner{
  background:linear-gradient(
    90deg,
    rgba(255,250,250,.96),
    rgba(255,245,246,.96),
    rgba(255,250,250,.96)
  ) !important;
}

.visual-panel{
  background:rgba(255,248,248,.95) !important;
}

.home-counter-card{
  background:rgba(255,253,253,.95) !important;
}


/* =========================================================
   v0.94 - Portadas dinámicas administradas desde WordPress
   ========================================================= */
.ldr-section-hub{
  padding:42px 0 68px;
}

.ldr-section-hub .ldr-container{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}

.ldr-section-hub-head{
  max-width:820px;
  margin:0 auto 32px;
  text-align:center;
}

.ldr-section-hub-head h1{
  margin:6px 0 14px;
  color:#861a40;
  font-size:clamp(38px,5vw,54px);
  line-height:1.08;
}

.ldr-section-hub-head .ldr-section-description{
  color:#68585e;
  font-size:18px;
  line-height:1.7;
}

.ldr-section-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.ldr-section-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  min-height:100%;
  background:rgba(255,255,255,.95);
  border:1px solid #ead9df;
  border-radius:17px;
  box-shadow:0 10px 26px rgba(89,43,58,.05);
}

.ldr-section-card-image{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#fff7f9;
}

.ldr-section-card-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.ldr-section-card-body{
  padding:20px 20px 22px;
  display:flex;
  flex:1;
  flex-direction:column;
}

.ldr-section-card h2{
  margin:0 0 10px;
  color:#861a40;
  font-size:24px;
  line-height:1.2;
}

.ldr-section-card h2 a{
  color:inherit;
  text-decoration:none;
}

.ldr-section-card p{
  margin:0 0 18px;
  color:#5e5156;
  line-height:1.65;
}

.ldr-section-card-link{
  margin-top:auto;
  color:#b22150;
  font-weight:700;
  text-decoration:none;
}

.ldr-section-card-link:hover{
  text-decoration:underline;
}

.ldr-section-empty{
  max-width:760px;
  margin:0 auto;
  padding:26px;
  text-align:center;
  background:rgba(255,255,255,.94);
  border:1px solid #ead9df;
  border-radius:16px;
}

@media(max-width:900px){
  .ldr-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:640px){
  .ldr-section-hub{padding:28px 0 46px}
  .ldr-section-hub .ldr-container{padding:0 14px}
  .ldr-section-grid{grid-template-columns:1fr}
  .ldr-section-hub-head .ldr-section-description{font-size:16px}
}


/* v0.98 - Su Vida: página + archivo histórico */
.ldr-su-vida-articles{margin-top:38px}
.ldr-su-vida-intro{text-align:center;max-width:760px;margin:0 auto 24px}
.ldr-su-vida-intro h2{margin:0 0 8px;color:#861a40;font-size:clamp(28px,4vw,38px)}
.ldr-su-vida-intro p{margin:0;color:#68585e;font-size:17px;line-height:1.65}


/* =========================================================
   v0.99 - Categorías de contenido en formato de tarjetas
   ========================================================= */
.ldr-category-hub .ldr-section-hub-head{
  margin-bottom:30px;
}

.ldr-category-grid .ldr-section-card{
  min-width:0;
}

.ldr-category-grid .ldr-section-card-body{
  min-height:220px;
}

.ldr-category-grid .ldr-section-card h2{
  font-size:23px;
}

.ldr-category-pagination{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-top:34px;
}

.ldr-category-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:42px;
  padding:8px 12px;
  border:1px solid #ead9df;
  border-radius:10px;
  background:rgba(255,255,255,.95);
  color:#861a40;
  text-decoration:none;
  font-weight:700;
}

.ldr-category-pagination .page-numbers.current{
  background:#861a40;
  border-color:#861a40;
  color:#fff;
}

@media(max-width:640px){
  .ldr-category-grid .ldr-section-card-body{
    min-height:0;
  }
}


/* =========================================================
   v1.02 - Categorías en 4 columnas
   ========================================================= */
.ldr-category-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

@media (max-width:1100px){
  .ldr-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  .ldr-category-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v1.05 - Subcategorías como tarjetas
   ========================================================= */
.ldr-subcategories-section{margin-bottom:38px;}
.ldr-subcategory-card .ldr-section-card-body{min-height:190px;}
.ldr-category-section-title{margin:8px 0 22px;text-align:center;}
.ldr-category-section-title h2{
  margin:0;
  color:#861a40;
  font-size:clamp(26px,3vw,34px);
}


/* =========================================================
   v1.06 - Corrección: categorías mantienen 4 tarjetas por fila
   ========================================================= */
.ldr-category-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

@media (max-width:1100px){
  .ldr-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  .ldr-category-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v1.08 - Subcategorías y entradas directas en una misma grilla
   ========================================================= */
.ldr-mixed-category-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

@media (max-width:1100px){
  .ldr-mixed-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  .ldr-mixed-category-grid{
    grid-template-columns:1fr;
  }
}


/* v1.10 - Imágenes históricas recuperadas de Joomla */
.ldr-legacy-image{
  display:block;
  max-width:100%;
  height:auto;
  margin:18px auto;
  border-radius:10px;
}


/* =========================================================
   v1.12 - Navegación anterior / siguiente
   ========================================================= */
.ldr-article-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin:34px auto 10px;
  padding-top:24px;
  border-top:1px solid #ead9df;
}

.ldr-article-nav-prev,
.ldr-article-nav-next{
  min-width:0;
}

.ldr-article-nav-next{
  text-align:right;
}

.ldr-article-nav-label{
  display:block;
  margin-bottom:6px;
  color:#8a6d76;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.ldr-article-nav a{
  color:#861a40;
  font-weight:700;
  text-decoration:none;
  line-height:1.4;
}

.ldr-article-nav a:hover{
  text-decoration:underline;
}

@media (max-width:640px){
  .ldr-article-nav{
    grid-template-columns:1fr;
  }

  .ldr-article-nav-next{
    text-align:left;
  }
}


/* =========================================================
   v1.13 - Entradas con estética de las páginas de oraciones
   ========================================================= */
.ldr-single-article{
  padding:40px 18px 56px;
}

.ldr-single-wrap{
  max-width:980px;
  margin:0 auto;
}

.ldr-single-card{
  overflow:hidden;
  background:rgba(255,255,255,.97);
  border:1px solid #ead9df;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(91,40,58,.05);
}

.ldr-single-head{
  padding:24px 30px 22px;
  text-align:center;
  background:rgba(255,245,248,.92);
  border-bottom:1px solid #ead9df;
}

.ldr-single-kicker{
  margin-bottom:5px;
  color:#5f4b52;
  font-size:14px;
  line-height:1.4;
}

.ldr-single-head h1{
  margin:0;
  color:#9a1747;
  font-size:clamp(34px,5vw,48px);
  line-height:1.12;
}

.ldr-single-content{
  padding:28px 30px 34px;
  color:#333;
  font-size:17px;
  line-height:1.8;
}

.ldr-single-content > :first-child{
  margin-top:0;
}

.ldr-single-content img{
  max-width:100%;
  height:auto;
}

.ldr-single-footer-nav{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
  padding:18px 24px;
  background:rgba(255,248,250,.9);
  border-top:1px solid #ead9df;
}

.ldr-single-nav-side{
  min-width:0;
}

.ldr-single-nav-next{
  text-align:right;
}

.ldr-single-nav-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:9px 15px;
  border:1px solid #d94b70;
  border-radius:8px;
  color:#a31445;
  text-decoration:none;
  font-weight:700;
  background:#fff;
}

.ldr-single-nav-button:hover{
  background:#fff4f7;
}

.ldr-single-nav-center a{
  color:#a31445;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}

.ldr-single-nav-center a:hover{
  text-decoration:underline;
}

/* Oculta la navegación vieja de v1.12 si quedara renderizada por caché/fragmento. */
.ldr-article-nav{
  display:none !important;
}

@media(max-width:700px){
  .ldr-single-article{
    padding:20px 10px 34px;
  }

  .ldr-single-head{
    padding:20px 18px;
  }

  .ldr-single-content{
    padding:22px 18px 28px;
    font-size:16px;
  }

  .ldr-single-footer-nav{
    grid-template-columns:1fr;
    text-align:center;
  }

  .ldr-single-nav-prev,
  .ldr-single-nav-next{
    text-align:center;
  }
}


/* v1.17 - Imágenes históricas Santa Faz */
.ldr-legacy-image-wrap{
  text-align:center;
  margin:24px 0;
}





/* =========================================================
   v1.19 - Respeta el tamaño elegido en el editor de WordPress
   ========================================================= */
.ldr-single-content .ldr-legacy-image{
  max-width:100%;
  height:auto;
}

.ldr-single-content .ldr-legacy-image-wrap{
  text-align:center;
}


/* v1.23 - Estado de envío del formulario de peticiones */
#ldr-enviar-peticion.is-sending,
#ldr-enviar-peticion:disabled{
  opacity:.72;
  cursor:wait;
  pointer-events:none;
}

#ldr-enviar-peticion.is-sending::before{
  content:"";
  display:inline-block;
  width:14px;
  height:14px;
  margin-right:8px;
  vertical-align:-2px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:ldr-peticion-spin .7s linear infinite;
}

@keyframes ldr-peticion-spin{
  to{transform:rotate(360deg)}
}
