/*
Theme Name: Mundo Peludín Unificado 4.21
Theme URI: https://mundopeludin.com/
Author: OpenAI
Description: Tema independiente de Mundo Peludín con portada, menús, footer y newsletter integrada; no requiere tema padre.
Version: 4.21.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: mundo-peludin
*/
:root{--mp-orange:#f36f21;--mp-green:#348353;--mp-ink:#261b16;--mp-muted:#62676b;--mp-cream:#fff6ec;--mp-line:#eee9e4;--mp-bg:#fff;--mp-radius:13px;--mp-shadow:0 3px 18px rgba(32,22,15,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#171717;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:var(--mp-orange);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}button,input{font:inherit}.mp-wrap{width:min(1240px,calc(100% - 40px));margin-inline:auto}.mp-top{border-bottom:1px solid #eee;background:#fff}.mp-top-inner{min-height:76px;display:grid;grid-template-columns:270px minmax(220px,1fr) 180px;gap:26px;align-items:center}.mp-brand{display:flex;align-items:center;gap:10px;color:var(--mp-ink);font-weight:850;font-size:30px;letter-spacing:-1.3px;line-height:1.05}.mp-brand:hover{text-decoration:none}.mp-brand .mp-orange{color:var(--mp-orange)}.mp-brand .mp-paw{font-size:26px}.mp-tagline{font-size:11px;color:#333;font-weight:500;letter-spacing:0;margin-top:4px}.mp-search{display:flex;border:1px solid #e4e4e4;border-radius:30px;overflow:hidden;height:42px;max-width:450px;width:100%;justify-self:center}.mp-search input{min-width:0;flex:1;border:0;padding:0 16px;outline:none;font-size:13px}.mp-search button{width:44px;border:0;background:var(--mp-orange);color:#fff;cursor:pointer}.mp-social{display:flex;justify-content:flex-end;gap:9px}.mp-social a{width:25px;height:25px;border-radius:50%;background:#f5f5f5;display:grid;place-items:center;font-size:12px;font-weight:800;color:#333}.mp-nav{border-bottom:1px solid #eee;background:#fff}.mp-nav ul{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:0;margin:0;min-height:44px;flex-wrap:wrap}.mp-nav a{display:block;color:#171717;font-size:13px;font-weight:650;padding:10px 0}.mp-nav a:hover,.mp-nav .current-menu-item>a{color:var(--mp-orange)}.mp-mobile-menu{display:none}
.mp-hero{position:relative;min-height:310px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(255,246,236,.04),rgba(255,246,236,.78) 31%,rgba(255,246,236,.88) 50%,rgba(255,246,236,.75) 69%,rgba(255,246,236,.03)),linear-gradient(135deg,#d6e0c6,#f7dfc7 55%,#d6e5cc);isolation:isolate}.mp-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.mp-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,246,236,.04) 0%,rgba(255,246,236,.65) 34%,rgba(255,246,236,.88) 50%,rgba(255,246,236,.62) 67%,rgba(255,246,236,.02) 100%)}.mp-hero-content{width:min(600px,90%);text-align:center;padding:36px 10px 50px}.mp-hero h1{font-size:clamp(30px,3.3vw,43px);line-height:1.12;letter-spacing:-1.4px;margin:0 0 12px;color:#321d14;font-weight:850}.mp-hero h1 span{display:block;color:var(--mp-orange)}.mp-hero p{max-width:500px;margin:0 auto 17px;color:#41464b;font-size:17px;line-height:1.45}.mp-buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.mp-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:30px;padding:11px 22px;color:#fff;font-weight:750;background:var(--mp-orange);box-shadow:0 5px 12px rgba(243,111,33,.18)}.mp-button:hover{color:#fff;text-decoration:none;filter:brightness(.96)}.mp-button.green{background:var(--mp-green);box-shadow:0 5px 12px rgba(52,131,83,.18)}.mp-trust{position:relative;margin:-20px auto 22px;width:max-content;max-width:calc(100% - 30px);padding:10px 22px;background:#fff;border:1px solid #f0eae4;border-radius:30px;box-shadow:var(--mp-shadow);display:flex;gap:22px;justify-content:center;flex-wrap:wrap;font-size:12px;font-weight:650}.mp-trust span{display:inline-flex;align-items:center;gap:7px}.mp-trust b{font-size:18px;color:var(--mp-orange)}.mp-quick{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:20px auto 24px}.mp-quick a{min-height:104px;border:1px solid #f0efed;border-radius:11px;box-shadow:0 2px 10px rgba(0,0,0,.035);display:flex;align-items:center;gap:10px;padding:10px;color:#111;background:#fff}.mp-quick a:hover{border-color:#f6bd91;text-decoration:none;transform:translateY(-1px)}.mp-quick .mp-emoji{font-size:33px;flex-shrink:0}.mp-quick strong{display:block;font-size:13px;line-height:1.25}.mp-quick small{display:block;font-size:10px;color:var(--mp-muted);line-height:1.35;margin-top:4px}.mp-section-title{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:25px;line-height:1.2;letter-spacing:-.5px}.mp-section-title .mp-icon{color:var(--mp-orange);font-size:25px}.mp-section-title a{font-size:13px;font-weight:600;margin-left:auto;letter-spacing:0}.mp-feature-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.92fr);gap:26px}.mp-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.mp-card{border:1px solid #f0efed;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.025);color:inherit}.mp-card:hover{text-decoration:none;box-shadow:var(--mp-shadow)}.mp-card-img{width:100%;aspect-ratio:1.72;object-fit:cover;background:#f4eee8}.mp-card-body{padding:14px 16px 17px}.mp-tag{display:inline-block;background:var(--mp-orange);color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;border-radius:5px;padding:3px 8px;margin-bottom:7px}.mp-card h3{font-size:19px;line-height:1.25;color:#151515;margin:0 0 7px;letter-spacing:-.3px}.mp-card p{font-size:14px;color:var(--mp-muted);line-height:1.45;margin:0 0 13px}.mp-meta{display:flex;gap:14px;flex-wrap:wrap;color:#74797c;font-size:12px}.mp-popular{background:var(--mp-cream);border-radius:12px;padding:15px}.mp-popular h2{font-size:20px;margin:0 0 8px;display:flex;align-items:center;gap:8px}.mp-popular h2 span{color:var(--mp-orange)}.mp-popular-list{list-style:none;margin:0;padding:0}.mp-popular-list li{display:grid;grid-template-columns:26px 64px minmax(0,1fr);align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(140,90,50,.1)}.mp-popular-list li:last-child{border-bottom:0}.mp-rank{width:23px;height:23px;border-radius:50%;background:var(--mp-orange);color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px}.mp-popular-list img{width:64px;height:54px;object-fit:cover;border-radius:7px;background:#eee}.mp-popular-list a{font-size:13px;color:#161616;font-weight:650;line-height:1.3}.mp-popular-list small{display:block;color:#777;font-size:11px;margin-top:3px;font-weight:400}.mp-categories{margin:25px auto 36px}.mp-category-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.mp-category-tile{position:relative;min-height:100px;aspect-ratio:1.35;overflow:hidden;border-radius:10px;background:linear-gradient(135deg,#d7e2ce,#e8d2b7);display:flex;align-items:flex-end;justify-content:center;color:#fff;font-weight:800;text-shadow:0 2px 6px #000;padding:10px}.mp-category-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .25s}.mp-category-tile:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.65))}.mp-category-tile span{position:relative;z-index:1}.mp-category-tile:hover{text-decoration:none}.mp-category-tile:hover img{transform:scale(1.04)}
.mp-content{padding:34px 0 55px}.mp-page-title{font-size:clamp(30px,4vw,42px);line-height:1.15;letter-spacing:-1px;margin:0 0 20px}.mp-archive-intro{color:var(--mp-muted);max-width:760px}.mp-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.mp-pagination{margin:28px 0;display:flex;gap:8px;flex-wrap:wrap}.mp-pagination a,.mp-pagination span{padding:8px 12px;border:1px solid var(--mp-line);border-radius:8px}.mp-pagination .current{background:var(--mp-green);color:#fff}.mp-article{max-width:850px;margin-inline:auto}.mp-article .mp-article-image{width:100%;max-height:490px;object-fit:cover;border-radius:14px;margin:20px 0}.mp-article .entry-content{font-size:18px;line-height:1.8}.mp-article .entry-content h2,.mp-article .entry-content h3{line-height:1.3;margin-top:1.6em}.mp-article .entry-content img{border-radius:10px}.mp-article .entry-content a{text-decoration:underline}.mp-article-meta{color:var(--mp-muted);font-size:13px;margin-bottom:12px}.mp-related{margin-top:38px;padding-top:24px;border-top:1px solid var(--mp-line)}.mp-footer{background:#243f31;color:#f6f5f0;padding:35px 0 18px;margin-top:20px}.mp-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.mp-footer a{color:#fff}.mp-footer h3{font-size:17px;margin:0 0 8px}.mp-footer p{color:#e1e8e2;font-size:14px}.mp-footer-bottom{border-top:1px solid rgba(255,255,255,.18);padding-top:14px;margin-top:22px;color:#d7dfd9;font-size:12px}.mp-empty{padding:25px;border:1px dashed #ddd;border-radius:12px;color:#666}.screen-reader-text{position:absolute;left:-9999px}
@media(max-width:1000px){.mp-top-inner{grid-template-columns:1fr minmax(180px,1.1fr);gap:15px;padding:12px 0}.mp-social{display:none}.mp-nav ul{justify-content:flex-start;gap:18px}.mp-quick{grid-template-columns:repeat(3,minmax(0,1fr))}.mp-feature-layout{grid-template-columns:1fr}.mp-popular-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.mp-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){.mp-wrap{width:min(100% - 28px,1240px)}.mp-top-inner{grid-template-columns:1fr auto;gap:10px}.mp-brand{font-size:25px}.mp-tagline{font-size:10px}.mp-search{grid-column:1/-1;grid-row:2;max-width:none}.mp-nav ul{gap:0;overflow-x:auto;flex-wrap:nowrap;min-height:42px}.mp-nav li{flex:0 0 auto}.mp-nav a{padding:10px 12px 10px 0;font-size:12px}.mp-hero{min-height:350px}.mp-hero-content{width:95%;padding:35px 8px 45px}.mp-hero h1{font-size:31px}.mp-hero p{font-size:15px}.mp-button{padding:10px 16px;font-size:13px}.mp-trust{border-radius:14px;gap:8px 13px;padding:10px 12px;font-size:10px;margin-top:-18px}.mp-quick{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mp-quick a{min-height:86px;padding:8px;gap:8px}.mp-quick .mp-emoji{font-size:27px}.mp-section-title{font-size:22px}.mp-feature-grid{grid-template-columns:1fr;gap:13px}.mp-card h3{font-size:18px}.mp-popular-list{grid-template-columns:1fr}.mp-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mp-category-tile{min-height:115px}.mp-archive-grid{grid-template-columns:1fr}.mp-footer-grid{grid-template-columns:1fr;gap:18px}.mp-article .entry-content{font-size:17px}}


/* Ajustes 1.1: logo compacto y submenús desplegables */
.mp-brand{max-width:190px;font-size:25px;letter-spacing:-.8px}
.mp-brand .custom-logo-link{display:block;line-height:0;max-width:190px}
.mp-brand .custom-logo-link img,.mp-top .custom-logo{display:block;width:auto!important;height:auto!important;max-width:190px!important;max-height:78px!important;object-fit:contain}
.mp-top-inner{grid-template-columns:245px minmax(220px,1fr) 180px}
.mp-nav .menu{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:0;margin:0;min-height:44px;flex-wrap:wrap}
.mp-nav li{position:relative}
.mp-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:205px;z-index:1000;background:#fff;padding:8px 0;margin:0;list-style:none;box-shadow:0 8px 24px rgba(0,0,0,.13);border:1px solid #eee;border-radius:0 0 10px 10px;flex-direction:column;gap:0}
.mp-nav li:hover>.sub-menu,.mp-nav li:focus-within>.sub-menu{display:flex}
.mp-nav .sub-menu li{width:100%}
.mp-nav .sub-menu a{display:block;padding:9px 15px;white-space:nowrap;font-size:13px}
.mp-nav .sub-menu a:hover{background:#fff6ec}
.mp-nav .menu-item-has-children>a:after{content:"⌄";font-size:12px;margin-left:6px;color:#777}
@media(max-width:1000px){.mp-top-inner{grid-template-columns:1fr minmax(180px,1.1fr);gap:15px;padding:12px 0}.mp-brand .custom-logo-link img,.mp-top .custom-logo{max-width:170px!important;max-height:70px!important}.mp-nav .menu{justify-content:flex-start;gap:18px}}
@media(max-width:640px){.mp-top-inner{grid-template-columns:1fr auto;gap:10px}.mp-brand{max-width:165px;font-size:22px}.mp-brand .custom-logo-link img,.mp-top .custom-logo{max-width:155px!important;max-height:60px!important}.mp-nav .menu{gap:0;overflow-x:auto;flex-wrap:nowrap}.mp-nav .menu>li{flex:0 0 auto}.mp-nav .sub-menu{position:absolute;top:100%;left:0;max-width:85vw;min-width:180px}.mp-nav .sub-menu a{padding:10px 12px}}


/* Ajuste 1.2: navegación más compacta y equilibrada */
.mp-nav .menu{justify-content:center!important;gap:clamp(12px,1.7vw,24px)!important}
.mp-nav .menu>li>a{padding:10px 0;font-size:13px;white-space:nowrap}
.mp-nav .menu .sub-menu{gap:0!important}
.mp-nav .menu .sub-menu li a{padding:9px 15px;white-space:nowrap}
@media(max-width:1000px){.mp-nav .menu{justify-content:flex-start!important;gap:16px!important}}
@media(max-width:640px){.mp-nav .menu{justify-content:flex-start!important;gap:14px!important}}


/* Ajuste 1.3: forzar menú compacto incluso si el tema/constructor aplica reglas genéricas */
body .mp-nav .mp-wrap > ul,
body .mp-nav .mp-wrap > .menu,
body .mp-nav .mp-wrap > div > ul,
body .mp-nav .mp-wrap > div > .menu{
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:20px!important;
  width:100%;
}
body .mp-nav .mp-wrap > ul > li,
body .mp-nav .mp-wrap > .menu > li,
body .mp-nav .mp-wrap > div > ul > li,
body .mp-nav .mp-wrap > div > .menu > li{flex:0 0 auto!important;margin:0!important}
body .mp-nav .mp-wrap > ul > li > a,
body .mp-nav .mp-wrap > .menu > li > a,
body .mp-nav .mp-wrap > div > ul > li > a,
body .mp-nav .mp-wrap > div > .menu > li > a{padding:10px 0!important;white-space:nowrap!important}
body .mp-nav .sub-menu{display:none;gap:0!important}
body .mp-nav li:hover>.sub-menu,
body .mp-nav li:focus-within>.sub-menu{display:flex}
@media(max-width:1000px){
 body .mp-nav .mp-wrap > ul,body .mp-nav .mp-wrap > .menu,body .mp-nav .mp-wrap > div > ul,body .mp-nav .mp-wrap > div > .menu{gap:16px!important}
}
@media(max-width:640px){
 body .mp-nav .mp-wrap > ul,body .mp-nav .mp-wrap > .menu,body .mp-nav .mp-wrap > div > ul,body .mp-nav .mp-wrap > div > .menu{gap:14px!important;overflow-x:auto;flex-wrap:nowrap}
}


/* Ajuste 1.4: WordPress puede generar el UL sin clase .menu; apuntar a todos los UL de la navegación */
body .mp-nav .mp-wrap ul,
body .mp-nav .mp-wrap > div > ul{
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:22px!important;
  width:100%;
  padding-left:0!important;
  margin:0!important;
  list-style:none!important;
}
body .mp-nav .mp-wrap ul li{position:relative;flex:0 0 auto!important;margin:0!important}
body .mp-nav .mp-wrap ul li a{display:block!important;padding:10px 0!important;white-space:nowrap!important}
body .mp-nav .mp-wrap ul li ul.sub-menu{
  display:none!important;position:absolute!important;top:100%!important;left:0!important;
  min-width:205px!important;width:auto!important;flex-direction:column!important;gap:0!important;
  background:#fff!important;padding:8px 0!important;z-index:99999!important;
  box-shadow:0 8px 24px rgba(0,0,0,.13)!important;border:1px solid #eee!important;border-radius:0 0 10px 10px!important;
}
body .mp-nav .mp-wrap ul li:hover>ul.sub-menu,
body .mp-nav .mp-wrap ul li:focus-within>ul.sub-menu{display:flex!important}
body .mp-nav .mp-wrap ul li ul.sub-menu li{width:100%!important}
body .mp-nav .mp-wrap ul li ul.sub-menu a{padding:9px 15px!important;white-space:nowrap!important}
@media(max-width:1000px){body .mp-nav .mp-wrap ul{gap:16px!important}}
@media(max-width:640px){body .mp-nav .mp-wrap ul:not(.sub-menu){gap:14px!important;overflow-x:auto;flex-wrap:nowrap!important}body .mp-nav .mp-wrap ul.sub-menu{overflow:visible!important}}


/* Ajuste 1.5: centrar el menú y retirar el eslogan bajo el logo */
body .mp-nav .mp-wrap ul,
body .mp-nav .mp-wrap > div > ul{
  justify-content:center!important;
}
body .mp-tagline{display:none!important}
@media(max-width:1000px){
 body .mp-nav .mp-wrap ul,body .mp-nav .mp-wrap > div > ul{justify-content:center!important}
}
@media(max-width:640px){
 body .mp-nav .mp-wrap ul:not(.sub-menu),body .mp-nav .mp-wrap > div > ul:not(.sub-menu){justify-content:flex-start!important}
}


/* Versión 1.7: detalles de contenido */
.mp-card-img{display:block;width:100%;aspect-ratio:1.72;object-fit:cover;background:#f4eee8}
.mp-popular-list li>div{min-width:0}
.mp-popular-list li>div>a{overflow-wrap:anywhere}


/* v1.9: tarjetas individuales para la sección Para descubrir */
.mp-popular-list{display:flex;flex-direction:column;gap:9px}
.mp-popular-list li.mp-discover-card{
  display:grid;
  grid-template-columns:25px 76px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:9px;
  margin:0;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(130,91,59,.12);
  border-radius:10px;
  box-shadow:0 2px 8px rgba(55,35,20,.035);
}
.mp-popular-list .mp-discover-image{display:block;width:76px;height:62px;overflow:hidden;border-radius:7px;background:#f4eee8}
.mp-popular-list .mp-discover-image img,
.mp-popular-list .mp-discover-image .mp-card-img{display:block;width:100%;height:100%;max-width:none;aspect-ratio:auto;object-fit:cover;border-radius:7px}
.mp-popular-list .mp-discover-image div.mp-card-img{display:grid;place-items:center;font-size:25px}
.mp-popular-list .mp-discover-copy{min-width:0}
.mp-popular-list .mp-discover-title{display:block;font-size:13px;line-height:1.35;font-weight:700;color:#191919;overflow-wrap:anywhere}
.mp-popular-list .mp-discover-copy small{display:block;color:#767676;font-size:11px;margin-top:4px}
@media(max-width:1000px){
  .mp-popular-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .mp-popular-list li.mp-discover-card{grid-template-columns:24px 62px minmax(0,1fr);gap:8px}
  .mp-popular-list .mp-discover-image{width:62px;height:58px}
}
@media(max-width:640px){
  .mp-popular-list{display:flex;flex-direction:column}
  .mp-popular-list li.mp-discover-card{grid-template-columns:25px 70px minmax(0,1fr)}
  .mp-popular-list .mp-discover-image{width:70px;height:58px}
}


/* Versión 2.0: tarjetas visuales para Explora por categorías */
.mp-category-tile{isolation:isolate;min-height:112px;aspect-ratio:1.38;padding:10px;background:#e8e2d9}
.mp-category-tile .mp-category-visual{position:absolute;inset:0;display:grid;place-items:center;font-size:66px;line-height:1;text-shadow:0 4px 14px rgba(28,25,20,.14);z-index:0;opacity:.96}
.mp-category-tile .mp-category-label{position:relative;z-index:2;display:block;text-align:center;font-size:14px;line-height:1.2;font-weight:800;color:#fff;text-shadow:0 2px 5px rgba(0,0,0,.65)}
.mp-category-tile .mp-category-visual--perros{background:linear-gradient(135deg,#91b47a,#d6c59b 55%,#668b57)}
.mp-category-tile .mp-category-visual--gatos{background:linear-gradient(135deg,#9ab2b0,#e3d3bc 55%,#778a7a)}
.mp-category-tile .mp-category-visual--salud{background:linear-gradient(135deg,#b8d7c4,#f3f0e4 55%,#8cbaab)}
.mp-category-tile .mp-category-visual--alimentacion{background:linear-gradient(135deg,#efd7a2,#faf0db 55%,#b8c68f)}
.mp-category-tile .mp-category-visual--razas{background:linear-gradient(135deg,#d8bd9a,#f0e4d4 55%,#a6b28a)}
.mp-category-tile .mp-category-visual--curiosidades{background:linear-gradient(135deg,#b9c7d9,#f4e3b9 55%,#c3b0d5)}
.mp-category-tile .mp-category-visual--adopcion{background:linear-gradient(135deg,#dfb99e,#f4e7da 55%,#b1c59f)}
.mp-category-tile:after{z-index:1;inset:32% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.58))}
.mp-category-tile img{z-index:0}
.mp-category-tile:hover .mp-category-visual{transform:scale(1.04)}
@media(max-width:1000px){.mp-category-tile{min-height:110px}.mp-category-tile .mp-category-visual{font-size:60px}}
@media(max-width:640px){.mp-category-tile{min-height:125px}.mp-category-tile .mp-category-visual{font-size:64px}.mp-category-tile .mp-category-label{font-size:14px}}


/* Versión 2.1: ajustes permanentes del banner y del menú.
   Estos estilos forman parte del tema y no dependen de CSS adicional del personalizador. */

/* Banner un poco más alto y encuadre desplazado hacia arriba para mostrar los ojos */
body .mp-hero {
    min-height: 400px !important;
}
body .mp-hero-photo {
    object-position: center 27% !important;
}

/* Menú superior más legible y centrado */
body .mp-nav .mp-wrap ul:not(.sub-menu) > li > a {
    font-size: 15px !important;
    font-weight: 600 !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}
body .mp-nav .mp-wrap ul.sub-menu li a {
    font-size: 14px !important;
    font-weight: 500 !important;
}
body .mp-nav .mp-wrap > ul,
body .mp-nav .mp-wrap > .menu,
body .mp-nav .mp-wrap > div > ul,
body .mp-nav .mp-wrap > div > .menu {
    justify-content: center !important;
}

@media (max-width: 1000px) {
    body .mp-hero {
        min-height: 380px !important;
    }
    body .mp-hero-photo {
        object-position: center 27% !important;
    }
}
@media (max-width: 640px) {
    body .mp-hero {
        min-height: 370px !important;
    }
    body .mp-hero-photo {
        object-position: center 30% !important;
    }
    body .mp-nav .mp-wrap ul:not(.sub-menu) > li > a {
        font-size: 14px !important;
    }
}


/* v2.2: categorías separadas por especie */
.mp-animal-categories{margin:28px auto 36px}
.mp-animal-category-group{margin:0 0 25px}
.mp-animal-category-group:last-child{margin-bottom:0}
.mp-animal-category-group .mp-section-title{margin-bottom:13px}
.mp-animal-category-group .mp-icon{font-size:29px;min-width:34px}
.mp-category-grid--animal{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.mp-category-grid--animal .mp-category-tile{min-height:112px;aspect-ratio:1.42}
.mp-category-grid--animal .mp-category-tile span.mp-category-label{font-size:14px}
@media(max-width:1000px){
  .mp-category-grid--animal{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:640px){
  .mp-animal-categories{margin-top:24px}
  .mp-animal-category-group{margin-bottom:24px}
  .mp-animal-category-group .mp-section-title{font-size:21px}
  .mp-category-grid--animal{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .mp-category-grid--animal .mp-category-tile{min-height:115px;aspect-ratio:1.35}
  .mp-category-grid--animal .mp-category-tile span.mp-category-label{font-size:13px}
}


/* v2.3: botones de categoría utilizan imagen exacta de su página; icono si no existe */
.mp-category-tile .mp-category-visual{
 display:grid;place-items:center;width:100%;height:100%;min-height:100px;
 font-size:40px;background:linear-gradient(135deg,#e9f0e1,#fff0e3)
}
.mp-category-tile img{object-fit:cover}


/* v2.4: resultados de búsqueda relevantes */
.mp-search-header{margin-bottom:16px}
.mp-search-query{color:var(--mp-muted);margin:-8px 0 8px}
.mp-search-count{font-size:13px;color:var(--mp-muted);margin:0 0 14px}
.mp-search-grid .mp-card h2{font-size:20px;line-height:1.25;margin:0 0 8px}
.mp-search-grid .mp-card h2 a{color:#171717}
.mp-search-grid .mp-search-card-image{display:block}
.mp-search-grid .mp-search-card-image .mp-card-img{width:100%;aspect-ratio:1.72;object-fit:cover}
.mp-search-empty{max-width:760px;margin:20px auto}
.mp-search-empty h2{margin-top:0}
.mp-search-empty-form{margin-top:16px;max-width:520px}
@media(max-width:640px){.mp-search-grid{grid-template-columns:1fr}}


/* v2.5: presentación de búsquedas precisas */
.mp-search-header{margin-bottom:16px}
.mp-search-query{color:var(--mp-muted);margin:-8px 0 8px}
.mp-search-count{font-size:13px;color:var(--mp-muted);margin:0 0 14px}
.mp-search-grid .mp-card h2{font-size:20px;line-height:1.25;margin:0 0 8px}
.mp-search-grid .mp-card h2 a{color:#171717}
.mp-search-grid .mp-search-card-image{display:block}
.mp-search-grid .mp-search-card-image .mp-card-img{width:100%;aspect-ratio:1.72;object-fit:cover}
.mp-search-empty{max-width:760px;margin:20px auto}
.mp-search-empty h2{margin-top:0}
.mp-search-empty-form{margin-top:16px;max-width:520px}
@media(max-width:640px){.mp-search-grid{grid-template-columns:1fr}}


/* v2.6: enlaces sociales reales de Mundo Peludín */
.mp-social{display:flex;justify-content:flex-end;align-items:center;gap:9px}
.mp-social a{
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  color:#fff!important;font-size:15px;font-weight:800;line-height:1;
  text-decoration:none!important;transition:transform .15s ease,filter .15s ease;
}
.mp-social a:nth-child(1){background:#1877F2}
.mp-social a:nth-child(2){background:linear-gradient(135deg,#833AB4 0%,#C13584 48%,#F77737 100%)}
.mp-social a:nth-child(3){background:#BD081C}
.mp-social a:hover{transform:translateY(-1px);filter:brightness(.96)}
.mp-social a:focus-visible{outline:2px solid var(--mp-ink);outline-offset:3px}
@media(max-width:1000px){.mp-social{display:none}}


/* v2.7: distintivo P de Pinterest claramente visible dentro del círculo rojo */
.mp-social a.mp-social-pinterest{
  background:#BD081C!important;
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:0!important;
}
.mp-social a.mp-social-pinterest span{
  display:block;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:21px;
  font-weight:900;
  font-style:normal;
  line-height:1;
  letter-spacing:-1.5px;
  transform:translateY(-1px);
}


/* v2.8: iconos vectoriales reconocibles y a color para Facebook, Instagram y Pinterest */
.mp-social{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.mp-social a{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  color:#fff!important;text-decoration:none!important;line-height:1;
  transition:transform .15s ease,filter .15s ease;overflow:hidden;
}
.mp-social a svg{display:block;width:19px;height:19px;fill:currentColor;color:#fff}
.mp-social a.mp-social-facebook{background:#1877F2!important}
.mp-social a.mp-social-instagram{background:linear-gradient(135deg,#833AB4 0%,#C13584 45%,#F77737 78%,#FCAF45 100%)!important}
.mp-social a.mp-social-pinterest{background:#BD081C!important}
.mp-social a:hover{transform:translateY(-1px);filter:brightness(.96)}
.mp-social a:focus-visible{outline:2px solid var(--mp-ink);outline-offset:3px}
.mp-social a.mp-social-instagram svg rect,.mp-social a.mp-social-instagram svg circle:first-of-type{stroke:#fff}
@media(max-width:1000px){.mp-social{display:none}}


/* v2.9: integrar el ranking real de visitas de Top 10 en la portada */
.mp-top10-panel{background:var(--mp-cream);border-radius:12px;padding:15px}
.mp-top10-panel h2{font-size:20px;margin:0 0 10px;display:flex;align-items:center;gap:8px}
.mp-top10-panel h2 span{color:var(--mp-orange)}
.mp-top10-list .tptn_posts,
.mp-top10-list .tptn_posts_daily{margin:0!important;clear:both}
.mp-top10-list .tptn_posts ul,
.mp-top10-list .tptn_posts ol,
.mp-top10-list .tptn_posts_daily ul,
.mp-top10-list .tptn_posts_daily ol{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  counter-reset:mp-top10-counter;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.mp-top10-list .tptn_posts li,
.mp-top10-list .tptn_posts_daily li{
  counter-increment:mp-top10-counter;
  display:grid!important;
  grid-template-columns:24px 70px minmax(0,1fr);
  align-items:center;
  gap:9px;
  margin:0!important;
  padding:9px!important;
  border:1px solid rgba(130,91,59,.12);
  border-radius:10px;
  background:rgba(255,255,255,.92);
  box-shadow:0 2px 8px rgba(55,35,20,.035);
  min-width:0;
}
.mp-top10-list .tptn_posts li:before,
.mp-top10-list .tptn_posts_daily li:before{
  content:counter(mp-top10-counter);
  width:23px;height:23px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--mp-orange);color:#fff;
  font-size:12px;font-weight:800;line-height:1;
}
.mp-top10-list .tptn_posts .tptn_thumb,
.mp-top10-list .tptn_posts_daily .tptn_thumb{
  display:block!important;
  width:70px!important;height:58px!important;
  max-width:none!important;object-fit:cover;
  border-radius:7px;margin:0!important;
  box-shadow:none!important;
}
.mp-top10-list .tptn_posts .tptn_title,
.mp-top10-list .tptn_posts_daily .tptn_title{
  display:block;font-size:13px;line-height:1.35;
  font-weight:700;color:#191919;overflow-wrap:anywhere;
}
.mp-top10-list .tptn_posts a,
.mp-top10-list .tptn_posts_daily a{color:#191919;text-decoration:none}
.mp-top10-list .tptn_posts a:hover,
.mp-top10-list .tptn_posts_daily a:hover{text-decoration:underline;color:var(--mp-orange)}
.mp-top10-list .tptn_posts .tptn_after_thumb,
.mp-top10-list .tptn_posts_daily .tptn_after_thumb{min-width:0;margin:0!important}
.mp-top10-list .tptn_counter,
.mp-top10-list .tptn_date,
.mp-top10-list .tptn_excerpt,
.mp-top10-list .tptn_list_count{display:none!important}
.mp-top10-empty{font-size:13px;line-height:1.5;color:var(--mp-muted);margin:0;padding:8px 2px}
@media(max-width:1000px){
  .mp-top10-list .tptn_posts ul,.mp-top10-list .tptn_posts ol,
  .mp-top10-list .tptn_posts_daily ul,.mp-top10-list .tptn_posts_daily ol{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch
  }
  .mp-top10-list .tptn_posts li,.mp-top10-list .tptn_posts_daily li{grid-template-columns:22px 60px minmax(0,1fr);gap:7px}
  .mp-top10-list .tptn_posts .tptn_thumb,.mp-top10-list .tptn_posts_daily .tptn_thumb{width:60px!important;height:56px!important}
}
@media(max-width:640px){
  .mp-top10-list .tptn_posts ul,.mp-top10-list .tptn_posts ol,
  .mp-top10-list .tptn_posts_daily ul,.mp-top10-list .tptn_posts_daily ol{
    display:flex;flex-direction:column
  }
  .mp-top10-list .tptn_posts li,.mp-top10-list .tptn_posts_daily li{grid-template-columns:24px 70px minmax(0,1fr)}
  .mp-top10-list .tptn_posts .tptn_thumb,.mp-top10-list .tptn_posts_daily .tptn_thumb{width:70px!important;height:58px!important}
}


/* v3.0: plantillas de páginas más editoriales y sin doble título */
.mp-page-content{background:#fcfaf7;padding-top:28px;padding-bottom:58px}
.mp-page-wrap{max-width:1120px}
.mp-standard-page{max-width:1040px;margin:0 auto}
.mp-page-card{
  background:#fff;
  border:1px solid #f0e9e2;
  border-radius:18px;
  padding:clamp(22px,4vw,48px);
  box-shadow:0 5px 24px rgba(45,31,20,.045);
}
.mp-breadcrumbs{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  color:#85817d;font-size:13px;line-height:1.45;
  margin:0 0 22px;padding:0 0 14px;
  border-bottom:1px solid #f0ebe5;
}
.mp-breadcrumbs a{color:#8b5c42;font-weight:600}
.mp-breadcrumbs span[aria-current="page"]{color:#6d6a66}
.mp-page-title--main,
.mp-page-body>h1:first-child,
.mp-page-body h1:first-child{
  color:#2e221c;
  font-size:clamp(31px,3.7vw,43px);
  line-height:1.16;
  letter-spacing:-.9px;
  font-weight:800;
  margin:0 0 22px;
  text-align:left;
}
.mp-page-body>h1:first-child,
.mp-page-body h1:first-child{
  border-left:5px solid var(--mp-orange);
  padding-left:17px;
  font-style:normal;
}
.mp-page-body{
  max-width:900px;
  margin:0 auto;
  color:#303030;
  font-size:17px;
  line-height:1.82;
}
.mp-page-body p{margin:0 0 1.25em}
.mp-page-body h2{
  color:#2e221c;
  font-size:clamp(24px,2.7vw,31px);
  line-height:1.28;
  letter-spacing:-.35px;
  font-weight:750;
  margin:1.7em 0 .65em;
}
.mp-page-body h3{
  color:#2e221c;font-size:22px;line-height:1.35;
  font-weight:700;margin:1.45em 0 .55em;
}
.mp-page-body h1 em,.mp-page-body h2 em,.mp-page-body h3 em{font-style:normal}
.mp-page-body img{
  max-width:100%;height:auto;border-radius:14px;
}
.mp-page-body figure,
.mp-page-featured-image{
  margin:24px auto 30px;
  max-width:100%;
}
.mp-page-body figure img,
.mp-page-featured-image img{
  display:block;width:100%;height:auto;object-fit:cover;
  border-radius:16px;
  box-shadow:0 6px 20px rgba(27,24,20,.08);
}
.mp-page-body figure figcaption{
  color:#777;font-size:13px;line-height:1.45;
  margin-top:8px;text-align:center;
}
.mp-page-body ul,.mp-page-body ol{padding-left:1.35em;margin:0 0 1.35em}
.mp-page-body li{margin:.3em 0}
.mp-page-body blockquote{
  margin:1.6em 0;padding:16px 22px;
  border-left:4px solid var(--mp-green);
  background:#f5f8f3;border-radius:0 10px 10px 0;
}
.mp-page-body a{color:#bd5b22;text-decoration:underline;text-underline-offset:3px}
.mp-page-body a:hover{color:#348353}
.mp-page-body .wp-block-image.alignwide,
.mp-page-body .alignwide{max-width:100%;margin-left:auto;margin-right:auto}
.mp-page-body .wp-block-image.alignfull,
.mp-page-body .alignfull{max-width:100%;margin-left:auto;margin-right:auto}
@media(max-width:640px){
  .mp-page-content{padding-top:16px;padding-bottom:32px}
  .mp-page-card{padding:19px 16px;border-radius:13px}
  .mp-breadcrumbs{font-size:12px;margin-bottom:18px;padding-bottom:11px}
  .mp-page-title--main,.mp-page-body>h1:first-child,.mp-page-body h1:first-child{
    font-size:29px;line-height:1.2;margin-bottom:18px
  }
  .mp-page-body{font-size:16px;line-height:1.75}
  .mp-page-body h2{font-size:24px}
  .mp-page-body h3{font-size:20px}
  .mp-page-body img,.mp-page-body figure img,.mp-page-featured-image img{border-radius:10px}
}

/* v3.2: limitar el formato 200 x 200 a fotografías independientes del contenido.
   No aplica a imágenes enlazadas, iconos en párrafos, tarjetas, miniaturas ni banner. */

/* Bloques clásicos de imagen de WordPress sin enlace alrededor de la imagen */
body:not(.home):not(.front-page) .mp-page-body figure.wp-block-image > img:not(.mp-page-main-image),
body:not(.home):not(.front-page) .mp-article .entry-content figure.wp-block-image > img {
    display: block;
    width: 200px !important;
    height: 200px !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    border-radius: 12px;
}

/* Imágenes independientes en bloques Imagen y texto; solo si la imagen es hija directa,
   no si está envuelta en un enlace. */
body:not(.home):not(.front-page) .mp-page-body .wp-block-media-text__media > img:not(.mp-page-main-image),
body:not(.home):not(.front-page) .mp-article .entry-content .wp-block-media-text__media > img:not(.mp-page-main-image) {
    display: block;
    width: 200px !important;
    height: 200px !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    border-radius: 12px;
}

/* En móviles, conserva el cuadrado sin desbordar columnas estrechas. */
@media (max-width: 640px) {
    body:not(.home):not(.front-page) .mp-page-body figure.wp-block-image > img:not(.mp-page-main-image),
    body:not(.home):not(.front-page) .mp-article .entry-content figure.wp-block-image > img:not(.mp-page-main-image),
    body:not(.home):not(.front-page) .mp-page-body .wp-block-media-text__media > img:not(.mp-page-main-image),
    body:not(.home):not(.front-page) .mp-article .entry-content .wp-block-media-text__media > img:not(.mp-page-main-image) {
        width: min(200px, 100%) !important;
        height: auto !important;
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }
}


/* v3.3: unificar solo fotografías sueltas dentro del contenido de páginas y artículos.
   No modifica el banner, tarjetas, imagen destacada principal, imágenes enlazadas ni emojis. */
body:not(.home):not(.front-page) .mp-page-body img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]),
body:not(.home):not(.front-page) .mp-article .entry-content img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
    width: 200px !important;
    height: 200px !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 12px;
}

/* Imágenes enlazadas: conserva sus proporciones originales. */
body:not(.home):not(.front-page) .mp-page-body a img,
body:not(.home):not(.front-page) .mp-article .entry-content a img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
}

/* Iconos/emojis rasterizados dentro de párrafos: tamaño de texto, no 200 px. */
body:not(.home):not(.front-page) .mp-page-body p img.emoji,
body:not(.home):not(.front-page) .mp-article .entry-content p img.emoji,
body:not(.home):not(.front-page) .mp-page-body p img.wp-smiley,
body:not(.home):not(.front-page) .mp-article .entry-content p img.wp-smiley {
    display: inline !important;
    width: 1em !important;
    height: 1em !important;
    vertical-align: -0.12em !important;
    border-radius: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
}

body:not(.home):not(.front-page) .mp-page-body img.icon,
body:not(.home):not(.front-page) .mp-article .entry-content img.icon,
body:not(.home):not(.front-page) .mp-page-body img[class*="icon"],
body:not(.home):not(.front-page) .mp-article .entry-content img[class*="icon"] {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
}

@media (max-width: 640px) {
    body:not(.home):not(.front-page) .mp-page-body img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]),
    body:not(.home):not(.front-page) .mp-article .entry-content img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
        max-width: min(200px, 100%) !important;
    }
}


/* v3.4: separar la imagen principal de las imágenes secundarias. */
body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image {
    display: block !important;
    width: min(760px, 100%) !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 560px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 24px auto 30px !important;
    border-radius: 14px;
}

/* Fotografías secundarias, incluidas las de los enlaces internos, cuadradas 200 x 200. */
body:not(.home):not(.front-page) .mp-page-body img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]),
body:not(.home):not(.front-page) .mp-article .entry-content img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
    display: inline-block;
    width: 200px !important;
    height: 200px !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 12px;
}

/* Excluir iconos rasterizados pequeños con anchura explícita. */
body:not(.home):not(.front-page) .mp-page-body img[width="16"],
body:not(.home):not(.front-page) .mp-page-body img[width="18"],
body:not(.home):not(.front-page) .mp-page-body img[width="20"],
body:not(.home):not(.front-page) .mp-page-body img[width="24"],
body:not(.home):not(.front-page) .mp-page-body img[width="32"],
body:not(.home):not(.front-page) .mp-article .entry-content img[width="16"],
body:not(.home):not(.front-page) .mp-article .entry-content img[width="18"],
body:not(.home):not(.front-page) .mp-article .entry-content img[width="20"],
body:not(.home):not(.front-page) .mp-article .entry-content img[width="24"],
body:not(.home):not(.front-page) .mp-article .entry-content img[width="32"] {
    display: inline !important;
    width: auto !important;
    height: auto !important;
    max-width: 2em !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    border-radius: 0 !important;
}

body:not(.home):not(.front-page) .mp-page-body p img.emoji,
body:not(.home):not(.front-page) .mp-article .entry-content p img.emoji,
body:not(.home):not(.front-page) .mp-page-body p img.wp-smiley,
body:not(.home):not(.front-page) .mp-article .entry-content p img.wp-smiley {
    display: inline !important;
    width: 1em !important;
    height: 1em !important;
    max-width: 1em !important;
    aspect-ratio: auto !important;
    vertical-align: -0.12em !important;
    border-radius: 0 !important;
    object-fit: contain !important;
}

.mp-hero-photo, .mp-card-img, .mp-page-featured-image img { aspect-ratio: auto; }
@media (max-width: 640px) {
    body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image {
        width: 100% !important;
        height: auto !important;
        max-height: 420px !important;
    }
    body:not(.home):not(.front-page) .mp-page-body img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]),
    body:not(.home):not(.front-page) .mp-article .entry-content img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
        width: min(200px, 100%) !important;
        height: 200px !important;
        aspect-ratio: 1 / 1 !important;
        object-fit: cover !important;
    }
}


/* v3.5 — reglas finales de tamaño por tipo de imagen.
   1) Imágenes dentro de enlaces internos: 150 x 150.
   2) Fotografías secundarias normales: 200 x 200.
   3) Imagen principal del contenido: visual horizontal y destacada.
   4) Tarjetas/portadas de la home se mantienen horizontales. */

/* Imagen principal de cada página: área horizontal destacada. */
body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image {
    display: block !important;
    width: 100% !important;
    height: clamp(260px, 38vw, 430px) !important;
    max-width: 760px !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 22px auto 30px !important;
    border-radius: 14px !important;
}

/* El contenedor de la imagen principal también ocupa el ancho disponible. */
body:not(.home):not(.front-page) .mp-page-body figure:has(> img.mp-page-main-image),
body:not(.home):not(.front-page) .mp-page-body p:has(> img.mp-page-main-image) {
    display: block !important;
    width: 100% !important;
    max-width: 800px !important;
    margin: 22px auto 30px !important;
}

/* Imágenes que forman parte de enlaces/tarjetas dentro del contenido: 150 x 150. */
body:not(.home):not(.front-page) .mp-page-body a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]),
body:not(.home):not(.front-page) .mp-article .entry-content a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
    display: inline-block !important;
    width: 150px !important;
    height: 150px !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 10px !important;
}

/* Fotografías normales secundarias dentro de páginas y artículos: 200 x 200. */
body:not(.home):not(.front-page) .mp-page-body img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]),
body:not(.home):not(.front-page) .mp-article .entry-content img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
    display: inline-block;
    width: 200px !important;
    height: 200px !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 12px;
}

/* Icons and emojis within running text must remain small. */
body:not(.home):not(.front-page) .mp-page-body p img.emoji,
body:not(.home):not(.front-page) .mp-article .entry-content p img.emoji,
body:not(.home):not(.front-page) .mp-page-body p img.wp-smiley,
body:not(.home):not(.front-page) .mp-article .entry-content p img.wp-smiley {
    display: inline !important;
    width: 1em !important;
    height: 1em !important;
    max-width: 1em !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    vertical-align: -0.12em !important;
    border-radius: 0 !important;
}

/* Homepage cards stay landscape; never apply 150/200px square sizing here. */
body.home .mp-card-img,
body.front-page .mp-card-img,
.mp-card-img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1.72 / 1;
    object-fit: cover;
    object-position: center;
}
.mp-hero-photo {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
}

/* Mobile: keep the page lead visual wide; secondary/link images stay square. */
@media (max-width: 640px) {
    body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image {
        width: 100% !important;
        height: 250px !important;
        max-width: 100% !important;
        aspect-ratio: 16 / 9 !important;
    }
    body:not(.home):not(.front-page) .mp-page-body a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]),
    body:not(.home):not(.front-page) .mp-article .entry-content a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
        width: min(150px, 100%) !important;
        height: 150px !important;
    }
    body:not(.home):not(.front-page) .mp-page-body img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]),
    body:not(.home):not(.front-page) .mp-article .entry-content img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
        width: min(200px, 100%) !important;
        height: 200px !important;
    }
}


/* v3.6 — reglas finales por función de imagen. */

/* Fotografías normales dentro de páginas y artículos: 200 x 200 px. */
body:not(.home):not(.front-page) .mp-page-body img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]),
body:not(.home):not(.front-page) .mp-article .entry-content img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
    display: inline-block !important;
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    height: 200px !important;
    min-height: 200px !important;
    max-height: 200px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 12px !important;
}

/* Las imágenes que forman parte de un enlace deben ser de 150 x 150 px.
   Esta regla se coloca después de la regla general para que prevalezca. */
body:not(.home):not(.front-page) .mp-page-body a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]),
body:not(.home):not(.front-page) .mp-article .entry-content a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
    display: inline-block !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 10px !important;
}

/* Primera imagen dentro del contenido: rectangular y destacada. */
body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image,
body:not(.home):not(.front-page) .mp-page-body a img.mp-page-main-image,
body:not(.home):not(.front-page) .mp-article .entry-content img.mp-page-main-image {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 760px !important;
    height: 428px !important;
    min-height: 428px !important;
    max-height: 428px !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 22px auto 30px !important;
    border-radius: 14px !important;
}

/* Imagen destacada separada, si la plantilla la utiliza: horizontal también. */
body:not(.home):not(.front-page) .mp-page-featured-image img,
body:not(.home):not(.front-page) img.mp-article-image {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 760px !important;
    height: 428px !important;
    min-height: 428px !important;
    max-height: 428px !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 22px auto 30px !important;
    border-radius: 14px !important;
}

/* Los iconos pequeños dentro del párrafo mantienen tamaño de texto. */
body:not(.home):not(.front-page) .mp-page-body p img.emoji,
body:not(.home):not(.front-page) .mp-article .entry-content p img.emoji,
body:not(.home):not(.front-page) .mp-page-body p img.wp-smiley,
body:not(.home):not(.front-page) .mp-article .entry-content p img.wp-smiley,
body:not(.home):not(.front-page) .mp-page-body img[width="16"],
body:not(.home):not(.front-page) .mp-page-body img[width="18"],
body:not(.home):not(.front-page) .mp-page-body img[width="20"],
body:not(.home):not(.front-page) .mp-page-body img[width="24"],
body:not(.home):not(.front-page) .mp-page-body img[width="32"],
body:not(.home):not(.front-page) .mp-article .entry-content img[width="16"],
body:not(.home):not(.front-page) .mp-article .entry-content img[width="18"],
body:not(.home):not(.front-page) .mp-article .entry-content img[width="20"],
body:not(.home):not(.front-page) .mp-article .entry-content img[width="24"],
body:not(.home):not(.front-page) .mp-article .entry-content img[width="32"] {
    display: inline !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 2em !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 2em !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    vertical-align: -0.12em !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

/* Portada: conservar el banner y las tarjetas en formato horizontal. */
.mp-hero-photo { width: 100%; height: 100%; object-fit: cover; aspect-ratio: auto; }
.mp-card-img { display: block; width: 100%; height: auto; aspect-ratio: 1.72 / 1; object-fit: cover; }

@media (max-width: 640px) {
  body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image,
  body:not(.home):not(.front-page) .mp-page-body a img.mp-page-main-image,
  body:not(.home):not(.front-page) .mp-article .entry-content img.mp-page-main-image,
  body:not(.home):not(.front-page) .mp-page-featured-image img,
  body:not(.home):not(.front-page) img.mp-article-image {
    width: 100% !important; max-width: 100% !important;
    height: 250px !important; min-height: 250px !important; max-height: 250px !important;
  }
  body:not(.home):not(.front-page) .mp-page-body a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]),
  body:not(.home):not(.front-page) .mp-article .entry-content a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
    width: min(150px, 100%) !important; min-width: 0 !important; max-width: min(150px, 100%) !important;
    height: 150px !important; min-height: 150px !important; max-height: 150px !important;
  }
}


/* v3.7: corregir el contenedor de la imagen principal cuando WordPress la envuelve en un enlace.
   La imagen heredaba el ancho intrínseco de 200 px del enlace, por eso se mantenía vertical. */
body:not(.home):not(.front-page) .mp-page-body a:has(> img.mp-page-main-image),
body:not(.home):not(.front-page) .mp-page-body figure:has(> img.mp-page-main-image),
body:not(.home):not(.front-page) .mp-page-body figure:has(> a > img.mp-page-main-image),
body:not(.home):not(.front-page) .mp-page-body p:has(> img.mp-page-main-image),
body:not(.home):not(.front-page) .mp-page-body p:has(> a > img.mp-page-main-image),
body:not(.home):not(.front-page) .mp-page-body .wp-block-image:has(img.mp-page-main-image) {
    display: block !important;
    float: none !important;
    flex: 0 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 760px !important;
    margin: 22px auto 30px !important;
    clear: both !important;
    box-sizing: border-box !important;
}

body:not(.home):not(.front-page) .mp-page-body a:has(> img.mp-page-main-image) {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
}

body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image,
body:not(.home):not(.front-page) .mp-page-body a img.mp-page-main-image,
body:not(.home):not(.front-page) .mp-article .entry-content img.mp-page-main-image {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 760px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 428px !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 auto !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
}

/* Si el archivo original es cuadrado, se crea un encuadre horizontal sin deformar la fotografía. */
body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image {
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
}
@supports (height: 1cqi) {
    body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image {
        height: clamp(260px, 38vw, 428px) !important;
    }
}
@media (max-width: 640px) {
    body:not(.home):not(.front-page) .mp-page-body a:has(> img.mp-page-main-image),
    body:not(.home):not(.front-page) .mp-page-body figure:has(> img.mp-page-main-image),
    body:not(.home):not(.front-page) .mp-page-body figure:has(> a > img.mp-page-main-image),
    body:not(.home):not(.front-page) .mp-page-body p:has(> img.mp-page-main-image),
    body:not(.home):not(.front-page) .mp-page-body p:has(> a > img.mp-page-main-image),
    body:not(.home):not(.front-page) .mp-page-body .wp-block-image:has(img.mp-page-main-image) {
        width: 100% !important;
        max-width: 100% !important;
    }
    body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image,
    body:not(.home):not(.front-page) .mp-page-body a img.mp-page-main-image,
    body:not(.home):not(.front-page) .mp-article .entry-content img.mp-page-main-image {
        width: 100% !important;
        max-width: 100% !important;
        height: 250px !important;
        max-height: 250px !important;
    }
}


/* v3.8 — REGLAS DE SEGURIDAD PARA LA PORTADA.
   Estas reglas prevalecen sobre los tamaños cuadrados del contenido interior.
   No alterar imágenes de la portada, tarjetas destacadas, categorías ni Top 10. */

/* Banner principal: panorámico y ocupando toda su área. */
html body .mp-hero img.mp-hero-photo,
html body .mp-hero > img.mp-hero-photo {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Tarjetas de artículos destacados: imagen horizontal 1.72:1, nunca 200 x 200. */
html body .mp-feature-layout .mp-feature-grid > a.mp-card > img.mp-card-img,
html body .mp-feature-layout .mp-feature-grid > a.mp-card > .mp-card-img,
html body .mp-feature-grid > .mp-card img.mp-card-img,
html body .mp-feature-grid > .mp-card > img,
html body a.mp-card > img.mp-card-img {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1.72 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 10px 10px 0 0 !important;
}

/* Tarjetas de categorías caninas/felinas: imagen horizontal en el mosaico. */
html body .mp-category-grid--animal .mp-category-tile > img,
html body .mp-category-tile > img,
html body .mp-categories .mp-category-tile img {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Ranking Top 10: conserva miniaturas horizontales 70 x 58 px. */
html body .mp-top10-list .tptn_posts img,
html body .mp-top10-list .tptn_posts_daily img {
    display: block !important;
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
}

/* Asegura que las fotos principales de portada no hereden 150/200 px. */
html body.home .mp-card img,
html body.front-page .mp-card img,
html body.home .mp-card-img,
html body.front-page .mp-card-img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1.72 / 1 !important;
    object-fit: cover !important;
}

@media (max-width: 640px) {
    html body .mp-feature-grid > a.mp-card > img.mp-card-img,
    html body .mp-feature-grid > .mp-card img.mp-card-img,
    html body a.mp-card > img.mp-card-img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 1.72 / 1 !important;
    }
}


/* v3.9 — REGLAS CONSOLIDADAS: no mezclar imágenes de contenido y de portada.
   Orden: primero imágenes normales, después enlaces (150), y por último imágenes principales/horizontales. */

/* 1. Fotografías normales dentro del cuerpo de las páginas: 200 x 200 px. */
html body:not(.home):not(.front-page) .mp-page-body img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]):not([width="16"]):not([width="18"]):not([width="20"]):not([width="24"]):not([width="32"]),
html body:not(.home):not(.front-page) .mp-article .entry-content img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]):not([width="16"]):not([width="18"]):not([width="20"]):not([width="24"]):not([width="32"]) {
    display: inline-block !important;
    width: 200px !important;
    min-width: 200px !important;
    max-width: min(200px, 100%) !important;
    height: 200px !important;
    min-height: 200px !important;
    max-height: 200px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 12px !important;
}

/* 2. Solo las imágenes dentro de enlaces del contenido: 150 x 150 px.
      Esta regla aparece después de la de 200 px para que prevalezca. */
html body:not(.home):not(.front-page) .mp-page-body a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]):not([width="16"]):not([width="18"]):not([width="20"]):not([width="24"]):not([width="32"]),
html body:not(.home):not(.front-page) .mp-article .entry-content a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]):not([width="16"]):not([width="18"]):not([width="20"]):not([width="24"]):not([width="32"]) {
    display: inline-block !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: min(150px, 100%) !important;
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 10px !important;
}

/* 3. Imagen principal del contenido: horizontal, no cuadrada. */
html body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image,
html body:not(.home):not(.front-page) .mp-page-body a img.mp-page-main-image,
html body:not(.home):not(.front-page) .mp-article .entry-content img.mp-page-main-image {
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;
    min-width: 0 !important;
    height: clamp(260px, 38vw, 428px) !important;
    min-height: 260px !important;
    max-height: 428px !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 22px auto 30px !important;
    border-radius: 14px !important;
}

/* Imagen destacada de las páginas, si la plantilla la presenta por separado: horizontal. */
html body:not(.home):not(.front-page) .mp-page-featured-image img,
html body:not(.home):not(.front-page) img.mp-article-image {
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;
    min-width: 0 !important;
    height: clamp(260px, 38vw, 428px) !important;
    min-height: 260px !important;
    max-height: 428px !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 22px auto 30px !important;
    border-radius: 14px !important;
}

/* 4. Iconos y emojis dentro de texto conservan un tamaño pequeño. */
html body:not(.home):not(.front-page) .mp-page-body p img.emoji,
html body:not(.home):not(.front-page) .mp-article .entry-content p img.emoji,
html body:not(.home):not(.front-page) .mp-page-body p img.wp-smiley,
html body:not(.home):not(.front-page) .mp-article .entry-content p img.wp-smiley,
html body:not(.home):not(.front-page) .mp-page-body img[width="16"],
html body:not(.home):not(.front-page) .mp-page-body img[width="18"],
html body:not(.home):not(.front-page) .mp-page-body img[width="20"],
html body:not(.home):not(.front-page) .mp-page-body img[width="24"],
html body:not(.home):not(.front-page) .mp-page-body img[width="32"],
html body:not(.home):not(.front-page) .mp-article .entry-content img[width="16"],
html body:not(.home):not(.front-page) .mp-article .entry-content img[width="18"],
html body:not(.home):not(.front-page) .mp-article .entry-content img[width="20"],
html body:not(.home):not(.front-page) .mp-article .entry-content img[width="24"],
html body:not(.home):not(.front-page) .mp-article .entry-content img[width="32"] {
    display: inline !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 2em !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 2em !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    vertical-align: -0.12em !important;
    border-radius: 0 !important;
    margin: 0 !important;
}

/* 5. PORTADA: banner, tarjetas destacadas y mosaico de categorías siempre horizontales. */
html body.home .mp-hero,
html body.front-page .mp-hero {
    position: relative;
    overflow: hidden;
}
html body.home .mp-hero img.mp-hero-photo,
html body.front-page .mp-hero img.mp-hero-photo {
    display: block !important;
    position: absolute;
    inset: 0;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
}
html body.home .mp-feature-grid > a.mp-card > img.mp-card-img,
html body.front-page .mp-feature-grid > a.mp-card > img.mp-card-img,
html body.home .mp-feature-grid > a.mp-card > div.mp-card-img,
html body.front-page .mp-feature-grid > a.mp-card > div.mp-card-img,
html body .mp-search-grid .mp-search-card-image .mp-card-img {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 220px !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1.72 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
}
html body.home .mp-category-grid--animal .mp-category-tile > img,
html body.front-page .mp-category-grid--animal .mp-category-tile > img,
html body.home .mp-category-tile > img,
html body.front-page .mp-category-tile > img {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
}
html body.home .mp-top10-list .tptn_posts img,
html body.front-page .mp-top10-list .tptn_posts img,
html body.home .mp-top10-list .tptn_posts_daily img,
html body.front-page .mp-top10-list .tptn_posts_daily img {
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
}

/* Tablet/móvil: las imágenes de portada siguen siendo apaisadas. */
@media (max-width: 640px) {
    html body.home .mp-feature-grid > a.mp-card > img.mp-card-img,
    html body.front-page .mp-feature-grid > a.mp-card > img.mp-card-img,
    html body .mp-search-grid .mp-search-card-image .mp-card-img {
        height: 190px !important;
    }
    html body.home .mp-top10-list .tptn_posts img,
    html body.home .mp-top10-list .tptn_posts_daily img {
        width: 70px !important;
        height: 58px !important;
    }
}


/* v4.0: corregir el contenedor de la imagen principal en páginas interiores.
   La imagen y su figura se amplían juntas, para que estilos del bloque no la dejen estrecha. */
html body:not(.home):not(.front-page) .mp-page-body figure.mp-page-main-image-figure,
html body:not(.home):not(.front-page) .mp-page-body figure.wp-block-image:has(> img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body figure.wp-block-image:has(> a > img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body figure.wp-block-image:has(img.mp-page-main-image) {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 800px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 22px auto 30px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
}
html body:not(.home):not(.front-page) .mp-page-body figure.mp-page-main-image-figure > a,
html body:not(.home):not(.front-page) .mp-page-body figure.mp-page-main-image-figure > img,
html body:not(.home):not(.front-page) .mp-page-body figure.mp-page-main-image-figure > a > img {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 760px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
}
html body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 760px !important;
    height: 428px !important;
    min-height: 260px !important;
    max-height: 428px !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 auto !important;
    border-radius: 14px !important;
}
html body:not(.home):not(.front-page) .mp-page-body figure.mp-page-main-image-figure figcaption {
    width: 100% !important;
    max-width: 760px !important;
    margin: 8px auto 0 !important;
    text-align: center;
}
@media (max-width: 640px) {
    html body:not(.home):not(.front-page) .mp-page-body figure.mp-page-main-image-figure,
    html body:not(.home):not(.front-page) .mp-page-body figure.wp-block-image:has(img.mp-page-main-image) {
        width: 100% !important;
        max-width: 100% !important;
    }
    html body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image {
        width: 100% !important;
        max-width: 100% !important;
        height: 250px !important;
        min-height: 250px !important;
        max-height: 250px !important;
    }
}


/* v4.1 — la primera imagen HTML del contenido recibe la clase mp-page-main-image.
   Ajustar su contenedor inmediato evita que herede el ancho de una tarjeta/enlace pequeño. */
html body:not(.home):not(.front-page) .mp-page-body figure:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body p:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body a:has(> img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body .wp-block-image:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body .wp-block-media-text__media:has(img.mp-page-main-image) {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 800px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 22px auto 30px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
html body:not(.home):not(.front-page) .mp-page-body figure:has(img.mp-page-main-image) > a,
html body:not(.home):not(.front-page) .mp-page-body p:has(img.mp-page-main-image) > a {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 760px !important;
    height: auto !important;
    margin: 0 auto !important;
}
html body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 760px !important;
    height: 428px !important;
    min-height: 260px !important;
    max-height: 428px !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 auto !important;
    border-radius: 14px !important;
}

/* Preserve the rules explicitly requested for all other images. */
html body:not(.home):not(.front-page) .mp-page-body a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]),
html body:not(.home):not(.front-page) .mp-article .entry-content a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
    width: 150px !important;
    min-width: 150px !important;
    max-width: min(150px, 100%) !important;
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
}

/* Home page assets stay landscape and never take on interior square sizes. */
html body.home .mp-hero-photo,
html body.front-page .mp-hero-photo {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
}
html body.home .mp-feature-grid .mp-card-img,
html body.front-page .mp-feature-grid .mp-card-img {
    width: 100% !important;
    height: 220px !important;
    max-width: 100% !important;
    aspect-ratio: 1.72 / 1 !important;
    object-fit: cover !important;
}
html body.home .mp-category-tile img,
html body.front-page .mp-category-tile img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
}
@media (max-width: 640px) {
    html body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image {
        width: 100% !important;
        max-width: 100% !important;
        height: 250px !important;
        min-height: 250px !important;
        max-height: 250px !important;
    }
    html body.home .mp-feature-grid .mp-card-img,
    html body.front-page .mp-feature-grid .mp-card-img {
        height: 190px !important;
    }
}


/* v4.2 — corregir también los BLOQUES ANCESTROS que pueden encoger la imagen principal.
   En v4.1 se ampliaban la foto y su figura, pero una columna Gutenberg podía seguir midiendo poco. */

/* Si la primera imagen está dentro de columnas, convertir esa fila en una zona de ancho completo. */
html body:not(.home):not(.front-page) .mp-page-body .wp-block-columns:has(img.mp-page-main-image) {
    display: block !important;
    width: 100% !important;
    max-width: 800px !important;
    min-width: 0 !important;
    margin: 22px auto 30px !important;
    gap: 0 !important;
}
html body:not(.home):not(.front-page) .mp-page-body .wp-block-columns:has(img.mp-page-main-image) > .wp-block-column:has(img.mp-page-main-image) {
    flex: 0 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 800px !important;
    margin: 0 auto !important;
}

/* Si se ha usado el bloque Imagen y texto, el área multimedia también debe ocupar todo el ancho. */
html body:not(.home):not(.front-page) .mp-page-body .wp-block-media-text:has(img.mp-page-main-image) {
    display: block !important;
    width: 100% !important;
    max-width: 800px !important;
    min-width: 0 !important;
    margin: 22px auto 30px !important;
    grid-template-columns: 1fr !important;
}
html body:not(.home):not(.front-page) .mp-page-body .wp-block-media-text:has(img.mp-page-main-image) .wp-block-media-text__media {
    display: block !important;
    width: 100% !important;
    max-width: 800px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
}
html body:not(.home):not(.front-page) .mp-page-body .wp-block-media-text:has(img.mp-page-main-image) .wp-block-media-text__content {
    padding: 0 !important;
}

/* La figura, párrafo o enlace que rodea la primera imagen no puede seguir imponiendo ancho pequeño. */
html body:not(.home):not(.front-page) .mp-page-body figure:has(> img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body figure:has(> a > img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body p:has(> img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body p:has(> a > img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body a:has(> img.mp-page-main-image) {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 800px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 22px auto 30px !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Imagen principal: horizontal 16:9. El recorte centra la imagen, no la deforma. */
html body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 760px !important;
    height: 428px !important;
    min-height: 260px !important;
    max-height: 428px !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 auto !important;
    border-radius: 14px !important;
}

/* Los tamaños secundarios se mantienen: enlaces 150 x 150, fotos interiores 200 x 200. */
html body:not(.home):not(.front-page) .mp-page-body a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]),
html body:not(.home):not(.front-page) .mp-article .entry-content a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
    width: 150px !important;
    min-width: 150px !important;
    max-width: min(150px, 100%) !important;
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
}
html body:not(.home):not(.front-page) .mp-page-body img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]):not(a img),
html body:not(.home):not(.front-page) .mp-article .entry-content img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
    width: 200px !important;
    min-width: 200px !important;
    max-width: min(200px, 100%) !important;
    height: 200px !important;
    min-height: 200px !important;
    max-height: 200px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
}
@media (max-width: 640px) {
    html body:not(.home):not(.front-page) .mp-page-body .wp-block-columns:has(img.mp-page-main-image),
    html body:not(.home):not(.front-page) .mp-page-body .wp-block-media-text:has(img.mp-page-main-image) {
        width: 100% !important;
        max-width: 100% !important;
    }
    html body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image {
        width: 100% !important;
        max-width: 100% !important;
        height: 250px !important;
        min-height: 250px !important;
        max-height: 250px !important;
    }
}


/* v4.3 — reglas directas sobre la figura marcada y todos sus hijos.
   Evita depender de que el selector :has() encuentre el bloque correcto. */
html body:not(.home):not(.front-page) .mp-page-body figure.mp-page-main-image-figure {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 800px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 22px auto 30px !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}
html body:not(.home):not(.front-page) .mp-page-body figure.mp-page-main-image-figure a {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 760px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
    overflow: visible !important;
}
html body:not(.home):not(.front-page) .mp-page-body figure.mp-page-main-image-figure img.mp-page-main-image {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 760px !important;
    height: 428px !important;
    min-height: 260px !important;
    max-height: 428px !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 auto !important;
    border-radius: 14px !important;
}
html body:not(.home):not(.front-page) .mp-page-body figure.mp-page-main-image-figure figcaption {
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 8px auto 0 !important;
}

/* Mantener la especificación de las imágenes secundarias: enlace 150 px, interior 200 px. */
html body:not(.home):not(.front-page) .mp-page-body figure:not(.mp-page-main-image-figure) a img:not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]),
html body:not(.home):not(.front-page) .mp-article .entry-content a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
    width: 150px !important;
    min-width: 150px !important;
    max-width: min(150px, 100%) !important;
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
}
@media (max-width: 640px) {
    html body:not(.home):not(.front-page) .mp-page-body figure.mp-page-main-image-figure img.mp-page-main-image {
        width: 100% !important;
        max-width: 100% !important;
        height: 250px !important;
        min-height: 250px !important;
        max-height: 250px !important;
    }
}


/* v4.4 — regla final: la foto principal se selecciona tras el primer encabezado editorial.
   Se muestra en su proporción real: el original es horizontal (1000 x 600), así evitamos recortes. */
html body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 760px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 22px auto 30px !important;
    border-radius: 14px !important;
}

/* Amplía el contenedor completo de la imagen principal, incluyendo figure, enlace,
   párrafo o bloque de imagen Gutenberg que pueda conservar un ancho estrecho. */
html body:not(.home):not(.front-page) .mp-page-body figure:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body p:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body a:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body .wp-block-image:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body .wp-block-columns:has(img.mp-page-main-image) > .wp-block-column:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body .wp-block-media-text:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body .wp-block-media-text:has(img.mp-page-main-image) .wp-block-media-text__media {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 800px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 22px auto 30px !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* El bloque de columnas completo debe dejar de reservar un hueco estrecho a la foto. */
html body:not(.home):not(.front-page) .mp-page-body .wp-block-columns:has(img.mp-page-main-image) {
    display: block !important;
    width: 100% !important;
    max-width: 800px !important;
    min-width: 0 !important;
    margin: 22px auto 30px !important;
}

/* Confirma las reglas secundarias pedidas, sin alterar la clase de imagen principal. */
html body:not(.home):not(.front-page) .mp-page-body a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]),
html body:not(.home):not(.front-page) .mp-article .entry-content a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
    width: 150px !important;
    min-width: 150px !important;
    max-width: min(150px, 100%) !important;
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
}
@media (max-width: 640px) {
    html body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image {
        max-width: 100% !important;
        height: auto !important;
    }
}


/* v4.4.1 — FIX RAÍZ: la regla antigua de 200 × 200 tenía más especificidad
   que las reglas principales. Excluir explícitamente la imagen principal arriba
   y aplicar aquí un selector con especificidad superior a las reglas heredadas. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body img.mp-page-main-image:not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 760px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 22px auto 30px !important;
    border-radius: 14px !important;
}

/* Ensanchar el bloque de la imagen principal, sin cambiar fotos secundarias. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body figure:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body p:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body a:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body .wp-block-image:has(img.mp-page-main-image) {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 800px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 22px auto 30px !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Mantener solo las imágenes enlazadas en 150 x 150 y las demás interiores en 200 x 200. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body a img:not(.mp-page-main-image):not(.emoji):not(.wp-smiley):not(.icon):not([class*="icon"]) {
    width: 150px !important;
    min-width: 150px !important;
    max-width: min(150px, 100%) !important;
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
}


/* v4.5 — tipografía y lectura de páginas interiores.
   Deliberadamente no modifica tamaños, proporciones ni contenedores de imágenes. */

/* Cuerpo del artículo: ancho de lectura cómodo, color y ritmo constantes. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body,
html body:not(.home):not(.front-page) .mp-article .entry-content {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    color: #37322e;
    font-size: 17px;
    line-height: 1.82;
    font-weight: 400;
    letter-spacing: 0;
    text-align: left;
    overflow-wrap: break-word;
}

/* Párrafos: separación constante sin crear grandes huecos. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body p,
html body:not(.home):not(.front-page) .mp-article .entry-content p {
    margin: 0 0 1.15em;
    color: #37322e;
    font-size: 17px;
    line-height: 1.82;
    font-weight: 400;
}

/* Primer título editorial: mantiene el estilo visual de la web, con tamaño equilibrado. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body > h1:first-child,
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body h1:first-child,
html body:not(.home):not(.front-page) .mp-article .entry-content > h1:first-child {
    margin: 0 0 26px;
    color: #30221b;
    font-size: clamp(30px, 3.3vw, 42px);
    line-height: 1.18;
    letter-spacing: -0.55px;
    font-weight: 800;
}

/* Subtítulos principales: jerarquía clara y suficiente separación del párrafo anterior. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body h2,
html body:not(.home):not(.front-page) .mp-article .entry-content h2 {
    margin: 1.65em 0 0.62em;
    color: #30221b;
    font-size: clamp(24px, 2.5vw, 29px);
    line-height: 1.3;
    letter-spacing: -0.3px;
    font-weight: 760;
}

/* Subapartados: visibles, sin competir con los H2. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body h3,
html body:not(.home):not(.front-page) .mp-article .entry-content h3 {
    margin: 1.45em 0 0.55em;
    color: #48352a;
    font-size: clamp(20px, 2vw, 22px);
    line-height: 1.38;
    letter-spacing: -0.1px;
    font-weight: 750;
}

html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body h4,
html body:not(.home):not(.front-page) .mp-article .entry-content h4 {
    margin: 1.35em 0 0.5em;
    color: #48352a;
    font-size: 19px;
    line-height: 1.4;
    font-weight: 700;
}

/* Listas: mejor legibilidad y separación entre elementos. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body ul,
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body ol,
html body:not(.home):not(.front-page) .mp-article .entry-content ul,
html body:not(.home):not(.front-page) .mp-article .entry-content ol {
    margin: 0 0 1.4em;
    padding-left: 1.45em;
    font-size: 16.5px;
    line-height: 1.75;
}

html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body li,
html body:not(.home):not(.front-page) .mp-article .entry-content li {
    margin: 0 0 0.48em;
    padding-left: 0.12em;
    line-height: 1.72;
}

html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body li > ul,
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body li > ol,
html body:not(.home):not(.front-page) .mp-article .entry-content li > ul,
html body:not(.home):not(.front-page) .mp-article .entry-content li > ol {
    margin-top: 0.5em;
    margin-bottom: 0.6em;
}

/* Énfasis: negritas visibles sin agrandar la línea; cursivas más discretas. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body strong,
html body:not(.home):not(.front-page) .mp-article .entry-content strong {
    color: #30221b;
    font-weight: 750;
}

html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body em,
html body:not(.home):not(.front-page) .mp-article .entry-content em {
    color: #514740;
}

/* Enlaces del texto: color naranja de marca y subrayado claro para identificarlos. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body a,
html body:not(.home):not(.front-page) .mp-article .entry-content a {
    color: #b95720;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body a:hover,
html body:not(.home):not(.front-page) .mp-article .entry-content a:hover {
    color: #2f8150;
}

/* Recuadros de consejos/citas: distinguidos del cuerpo sin exagerar su tamaño. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body blockquote,
html body:not(.home):not(.front-page) .mp-article .entry-content blockquote {
    margin: 1.6em 0;
    padding: 16px 22px;
    border-left: 4px solid #3b965d;
    border-radius: 0 10px 10px 0;
    background: #f4f8f2;
    color: #373f37;
}

html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body blockquote p,
html body:not(.home):not(.front-page) .mp-article .entry-content blockquote p {
    margin-bottom: 0.65em;
}

html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body blockquote p:last-child,
html body:not(.home):not(.front-page) .mp-article .entry-content blockquote p:last-child {
    margin-bottom: 0;
}

/* Tablas y pies de imagen: legibles y sin competir con el texto principal. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body table,
html body:not(.home):not(.front-page) .mp-article .entry-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15.5px;
    line-height: 1.6;
}

html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body th,
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body td,
html body:not(.home):not(.front-page) .mp-article .entry-content th,
html body:not(.home):not(.front-page) .mp-article .entry-content td {
    padding: 10px 12px;
    border: 1px solid #e9e0d7;
    text-align: left;
    vertical-align: top;
}

html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body figcaption,
html body:not(.home):not(.front-page) .mp-article .entry-content figcaption {
    color: #77716b;
    font-size: 13px;
    line-height: 1.5;
}

/* Móvil: misma jerarquía con texto algo más compacto y sin desbordamientos. */
@media (max-width: 640px) {
    html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body,
    html body:not(.home):not(.front-page) .mp-article .entry-content {
        font-size: 16px;
        line-height: 1.76;
    }

    html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body p,
    html body:not(.home):not(.front-page) .mp-article .entry-content p {
        font-size: 16px;
        line-height: 1.76;
        margin-bottom: 1.08em;
    }

    html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body > h1:first-child,
    html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body h1:first-child,
    html body:not(.home):not(.front-page) .mp-article .entry-content > h1:first-child {
        font-size: 29px;
        line-height: 1.2;
        letter-spacing: -0.3px;
        margin-bottom: 20px;
    }

    html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body h2,
    html body:not(.home):not(.front-page) .mp-article .entry-content h2 {
        font-size: 23px;
        line-height: 1.32;
        margin-top: 1.5em;
    }

    html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body h3,
    html body:not(.home):not(.front-page) .mp-article .entry-content h3 {
        font-size: 20px;
    }

    html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body ul,
    html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body ol,
    html body:not(.home):not(.front-page) .mp-article .entry-content ul,
    html body:not(.home):not(.front-page) .mp-article .entry-content ol {
        font-size: 16px;
        line-height: 1.72;
    }

    html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body blockquote,
    html body:not(.home):not(.front-page) .mp-article .entry-content blockquote {
        padding: 13px 16px;
    }
}


/* v4.6 — colores de títulos según las referencias del usuario.
   Solo páginas y artículos interiores; no afecta a la portada ni a las reglas de imagen. */

/* Título principal editorial (H1): naranja cálido, negrita y cursiva, centrado. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body > h1:first-child,
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body h1:first-child,
html body:not(.home):not(.front-page) .mp-article .entry-content > h1:first-child {
    color: #c55b27 !important;
    font-style: italic !important;
    font-weight: 800 !important;
    text-align: center !important;
    border-left: 0 !important;
    padding-left: 0 !important;
    background: transparent !important;
}

/* Conserva el color naranja incluso si el título incluye cursiva/negrita internas. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body > h1:first-child em,
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body h1:first-child em,
html body:not(.home):not(.front-page) .mp-article .entry-content > h1:first-child em {
    color: #c55b27 !important;
    font-style: italic !important;
}

/* Primer subtítulo editorial (H2): degradado cálido de naranja a dorado. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body > h2:first-of-type,
html body:not(.home):not(.front-page) .mp-article .entry-content > h2:first-of-type {
    color: #d8892d !important; /* fallback */
    background-image: linear-gradient(90deg, #bd5728 0%, #e59b37 52%, #f0c85d 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-align: center !important;
    font-weight: 800 !important;
    line-height: 1.3;
}

/* Si el tema/editor envuelve el encabezado en enlaces o énfasis, el degradado sigue visible. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body > h2:first-of-type a,
html body:not(.home):not(.front-page) .mp-article .entry-content > h2:first-of-type a,
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body > h2:first-of-type em,
html body:not(.home):not(.front-page) .mp-article .entry-content > h2:first-of-type em {
    color: #d8892d !important;
    -webkit-text-fill-color: #d8892d !important;
}

/* En móvil, mantener el centrado sin reducir la legibilidad. */
@media (max-width: 640px) {
    html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body > h1:first-child,
    html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body h1:first-child,
    html body:not(.home):not(.front-page) .mp-article .entry-content > h1:first-child {
        font-size: 29px !important;
        line-height: 1.22 !important;
    }

    html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body > h2:first-of-type,
    html body:not(.home):not(.front-page) .mp-article .entry-content > h2:first-of-type {
        font-size: 23px !important;
        line-height: 1.32 !important;
    }
}


/* v4.7 — ajuste específico solicitado a partir de las capturas.
   No modifica las reglas de tamaño de imágenes. */

/* Centrar la fotografía principal con su contenedor completo. */
html body:not(.home):not(.front-page) .mp-page-body figure:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body p:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body .wp-block-image:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-body .wp-block-media-text__media:has(img.mp-page-main-image) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 800px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Imagen principal: mantener el tamaño horizontal que ya funciona y centrarla. */
html body:not(.home):not(.front-page) .mp-page-body img.mp-page-main-image {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 760px !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Solo el H2 que hace de subtítulo inmediatamente posterior a la imagen principal.
   El resto de los H2 (incluido "¿Qué encontrarás en esta página?") conserva su estilo propio. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body h2.mp-page-subtitle,
html body:not(.home):not(.front-page) .mp-article .entry-content h2.mp-page-subtitle {
    color: #d8892d !important;
    background-image: linear-gradient(90deg, #bd5728 0%, #e59b37 52%, #f0c85d 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-align: center !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    margin-top: 1.15em !important;
    margin-bottom: 0.7em !important;
}

/* El índice de enlaces no debe heredar el color del subtítulo.
   Botones del índice con contraste legible y colores de marca. */
html body:not(.home):not(.front-page) .mp-page-body .wp-block-buttons .wp-block-button__link,
html body:not(.home):not(.front-page) .mp-page-body .wp-block-button__link,
html body:not(.home):not(.front-page) .mp-page-body .wp-element-button {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: #c55b27 !important;
    text-decoration: none !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}

html body:not(.home):not(.front-page) .mp-page-body .wp-block-buttons .wp-block-button__link:hover,
html body:not(.home):not(.front-page) .mp-page-body .wp-block-button__link:hover,
html body:not(.home):not(.front-page) .mp-page-body .wp-element-button:hover {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: #347f4e !important;
}

/* Enlaces normales del contenido mantienen el color de marca; no se les aplica el degradado. */
html body:not(.home):not(.front-page) .mp-page-card .entry-content.mp-page-body a:not(.wp-block-button__link):not(.wp-element-button),
html body:not(.home):not(.front-page) .mp-article .entry-content a:not(.wp-block-button__link):not(.wp-element-button) {
    color: #b95720;
    -webkit-text-fill-color: currentColor;
}


/* v4.8 — correcciones precisas a partir de las capturas:
   A) mismo estilo para H1 editorial y H1 generado por plantilla;
   B) color solo para el subtítulo marcado;
   C) enlaces de índice tipo ancla legibles;
   D) centrar el contenedor y la foto principal juntos.
   No cambia el tamaño de fotografías secundarias ni las imágenes de la portada. */

/* A1. H1 escrito dentro del contenido y H1 generado por la plantilla.
   Incluye páginas en las que el título no es el primer hijo del bloque. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body h1,
html body:not(.home):not(.front-page) .mp-page-card > h1.mp-page-title,
html body:not(.home):not(.front-page) .mp-page-card h1.mp-page-title--main,
html body:not(.home):not(.front-page) .mp-article .entry-content h1 {
    color: #c55b27 !important;
    -webkit-text-fill-color: #c55b27 !important;
    background: none !important;
    background-image: none !important;
    font-style: italic !important;
    font-weight: 800 !important;
    text-align: center !important;
    border: 0 !important;
    border-left: 0 !important;
    padding-left: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    line-height: 1.2 !important;
}

/* Si el H1 tiene etiquetas strong/em internas, conservar el mismo color. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body h1 *,
html body:not(.home):not(.front-page) .mp-page-card h1.mp-page-title--main *,
html body:not(.home):not(.front-page) .mp-article .entry-content h1 * {
    color: #c55b27 !important;
    -webkit-text-fill-color: #c55b27 !important;
    font-style: italic !important;
}

/* A2. Subtítulo destacado: solo el H2 que PHP marca como mp-page-subtitle. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body h2.mp-page-subtitle,
html body:not(.home):not(.front-page) .mp-article .entry-content h2.mp-page-subtitle {
    color: #d8892d !important;
    background: none !important;
    background-image: linear-gradient(90deg, #bd5728 0%, #e59b37 52%, #f0c85d 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    text-align: center !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    margin: 1.1em auto 0.75em !important;
    border: 0 !important;
    padding: 0 !important;
}
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body h2.mp-page-subtitle *,
html body:not(.home):not(.front-page) .mp-article .entry-content h2.mp-page-subtitle * {
    background-image: inherit !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

/* B. Centrar el bloque entero de imagen principal, no solo la etiqueta <img>. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body figure:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .wp-block-image:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body p:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .wp-block-media-text__media:has(img.mp-page-main-image) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 800px !important;
    height: auto !important;
    margin: 22px auto 30px !important;
    padding: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body figure:has(img.mp-page-main-image) > a,
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body p:has(img.mp-page-main-image) > a {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 760px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
}
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body img.mp-page-main-image {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 760px !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}

/* C. Índice de navegación con enlaces internos (#seccion):
   botones naranja de marca, texto blanco legible, hover verde.
   No afecta a enlaces externos ni a enlaces editoriales normales. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body a[href^="#"],
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body a[href*="/#"],
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body a[href*="adoptar-perros/#"],
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body a[href*="elegir-perro/#"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 100% !important;
    padding: 0.62em 1.15em !important;
    margin: 0.15em 0.12em !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #c55b27 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
    line-height: 1.35 !important;
    box-shadow: none !important;
}
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body a[href^="#"]:hover,
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body a[href*="/#"]:hover,
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body a[href*="adoptar-perros/#"]:hover,
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body a[href*="elegir-perro/#"]:hover {
    background: #347f4e !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Móvil: conservar el estilo sin que los botones se salgan del ancho disponible. */
@media (max-width: 640px) {
    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body h1,
    html body:not(.home):not(.front-page) .mp-page-card h1.mp-page-title--main,
    html body:not(.home):not(.front-page) .mp-article .entry-content h1 {
        font-size: 29px !important;
        line-height: 1.22 !important;
    }
    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body figure:has(img.mp-page-main-image),
    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .wp-block-image:has(img.mp-page-main-image),
    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body p:has(img.mp-page-main-image) {
        width: 100% !important;
        max-width: 100% !important;
    }
    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body a[href^="#"],
    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body a[href*="/#"] {
        white-space: normal !important;
        text-align: center !important;
    }
}


/* v4.9 — ajuste fino de la imagen principal y la distancia entre encabezados.
   No cambia las reglas de tamaño de imágenes, botones del índice ni el diseño de la portada. */

/* H1 editorial: reducir el hueco inferior antes de la imagen principal. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body h1,
html body:not(.home):not(.front-page) .mp-page-card > h1.mp-page-title,
html body:not(.home):not(.front-page) .mp-page-card h1.mp-page-title--main,
html body:not(.home):not(.front-page) .mp-article .entry-content h1 {
    margin-top: 8px !important;
    margin-bottom: 10px !important;
    text-align: center !important;
}

/* Centrar el bloque que envuelve la primera imagen independientemente de alineación de Gutenberg. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body figure:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body figure.wp-block-image:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body p:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .wp-block-image:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .wp-block-media-text__media:has(img.mp-page-main-image) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    clear: both !important;
    position: relative !important;
    inset-inline: auto !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 800px !important;
    height: auto !important;
    margin: 10px auto 12px !important;
    padding: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

/* Si WordPress envuelve la imagen principal con un enlace, centrar también ese enlace. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body figure:has(img.mp-page-main-image) > a,
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body p:has(img.mp-page-main-image) > a,
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body a:has(> img.mp-page-main-image) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 760px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* La imagen ocupa el ancho disponible, mantiene su proporción y queda centrada. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body img.mp-page-main-image,
html body:not(.home):not(.front-page) .mp-article .entry-content img.mp-page-main-image {
    display: block !important;
    float: none !important;
    position: static !important;
    inset-inline: auto !important;
    transform: none !important;
    flex: 0 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 760px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
}

/* Subtítulo editorial H2: acercarlo a la imagen sin tocar los demás H2 del texto. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body h2.mp-page-subtitle,
html body:not(.home):not(.front-page) .mp-article .entry-content h2.mp-page-subtitle {
    margin-top: 8px !important;
    margin-bottom: 18px !important;
    text-align: center !important;
}

/* Compactar el hueco del primer bloque después de la imagen si el editor añadió un párrafo vacío. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body p:has(img.mp-page-main-image) + p:empty,
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body figure:has(img.mp-page-main-image) + p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Móvil: centrado y separación compacta sin forzar un ancho mayor que la pantalla. */
@media (max-width: 640px) {
    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body figure:has(img.mp-page-main-image),
    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body p:has(img.mp-page-main-image),
    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .wp-block-image:has(img.mp-page-main-image) {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 8px !important;
        margin-bottom: 10px !important;
    }

    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body img.mp-page-main-image,
    html body:not(.home):not(.front-page) .mp-article .entry-content img.mp-page-main-image {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }

    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body h2.mp-page-subtitle,
    html body:not(.home):not(.front-page) .mp-article .entry-content h2.mp-page-subtitle {
        margin-top: 8px !important;
        margin-bottom: 14px !important;
    }
}


/* v4.10 — SOLO separación de H1, imagen principal y subtítulo H2.
   No cambia colores, tamaños de imagen, portada ni estilo del índice de enlaces. */

/* Título principal: acercar ligeramente la imagen de debajo. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body h1,
html body:not(.home):not(.front-page) .mp-page-card > h1.mp-page-title,
html body:not(.home):not(.front-page) .mp-page-card h1.mp-page-title--main,
html body:not(.home):not(.front-page) .mp-article .entry-content h1 {
    margin-bottom: 2px !important;
    padding-bottom: 0 !important;
}

/* Quitar márgenes verticales acumulados del bloque principal de imagen. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body figure:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body figure.wp-block-image:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body p:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .wp-block-image:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .wp-block-media-text__media:has(img.mp-page-main-image) {
    margin-top: 2px !important;
    margin-bottom: 2px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    row-gap: 0 !important;
}

/* El posible enlace que envuelve la imagen no añade espacio alrededor. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body figure:has(img.mp-page-main-image) > a,
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body p:has(img.mp-page-main-image) > a,
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body a:has(> img.mp-page-main-image) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* La imagen conserva sus dimensiones actuales; solo eliminamos márgenes extra. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body img.mp-page-main-image,
html body:not(.home):not(.front-page) .mp-article .entry-content img.mp-page-main-image {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Subtítulo H2: acercarlo a la parte inferior de la imagen. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body h2.mp-page-subtitle,
html body:not(.home):not(.front-page) .mp-article .entry-content h2.mp-page-subtitle {
    margin-top: 4px !important;
    margin-bottom: 14px !important;
    padding-top: 0 !important;
}

/* Gutenberg puede insertar bloques vacíos de párrafo o separador. Ocultar solo
   los espacios vacíos inmediatamente junto a la imagen principal. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body figure:has(img.mp-page-main-image) + p:empty,
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body figure:has(img.mp-page-main-image) + p:has(> br:only-child),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body p:has(img.mp-page-main-image) + p:empty,
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body p:has(img.mp-page-main-image) + p:has(> br:only-child),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body figure:has(img.mp-page-main-image) + .wp-block-spacer,
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .wp-block-image:has(img.mp-page-main-image) + .wp-block-spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* La misma distancia compacta se conserva en móvil. */
@media (max-width: 640px) {
    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body h1,
    html body:not(.home):not(.front-page) .mp-page-card > h1.mp-page-title,
    html body:not(.home):not(.front-page) .mp-page-card h1.mp-page-title--main,
    html body:not(.home):not(.front-page) .mp-article .entry-content h1 {
        margin-bottom: 2px !important;
    }

    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body figure:has(img.mp-page-main-image),
    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .wp-block-image:has(img.mp-page-main-image),
    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body p:has(img.mp-page-main-image) {
        margin-top: 2px !important;
        margin-bottom: 2px !important;
    }

    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body h2.mp-page-subtitle,
    html body:not(.home):not(.front-page) .mp-article .entry-content h2.mp-page-subtitle {
        margin-top: 4px !important;
        margin-bottom: 12px !important;
    }
}


/* v4.11 — espaciado resuelto mediante un contenedor editorial explícito.
   No toca los tamaños de imagen, sus colores, los botones ni la portada principal. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 22px !important;
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto 28px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro > h1 {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1.2 !important;
}
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro figure:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro .wp-block-image:has(img.mp-page-main-image) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 800px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro img.mp-page-main-image {
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
}
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro figure > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro > h2.mp-page-subtitle {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1.3 !important;
}
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro p:empty,
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro p:has(> br:only-child),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro .wp-block-spacer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
@media (max-width: 640px) {
    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro {
        gap: 16px !important;
        margin-bottom: 22px !important;
    }
    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro img.mp-page-main-image {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* v4.12 — espaciado compacto efectivo después de normalizar H2 editorial a H1.
   El contenedor .mp-page-intro ahora sí se crea en páginas donde el título original era H2. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto 24px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* No añadir márgenes propios que se sumen al gap entre H1, imagen y H2. */
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro > h1,
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro > h2.mp-page-subtitle,
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro figure:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro .wp-block-image:has(img.mp-page-main-image) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro > h1 {
    width: 100% !important;
    text-align: center !important;
    line-height: 1.2 !important;
}

html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro figure:has(img.mp-page-main-image),
html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro .wp-block-image:has(img.mp-page-main-image) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 800px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro img.mp-page-main-image {
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
}

html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro > h2.mp-page-subtitle {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1.3 !important;
}

@media (max-width: 640px) {
    html body:not(.home):not(.front-page) .mp-page-card .mp-page-body .mp-page-intro {
        gap: 12px !important;
        margin-bottom: 20px !important;
    }
}


/* Newsletter Mundo Peludín — integrada al final de la portada, antes del footer. */
.mp-newsletter {
  width: 100%;
  margin: 34px 0 0;
  padding: clamp(28px, 4vw, 48px) 20px;
  border: 1px solid #f0e4d7;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff7ed 0%, #fffdf9 62%, #eef7ef 100%);
  color: #29372e;
}
.mp-newsletter-inner {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
.mp-newsletter-kicker {
  margin: 0 0 8px;
  color: #348353;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.mp-newsletter h2 {
  max-width: 700px;
  margin: 0 auto 12px;
  color: #65351f;
  font-size: clamp(25px, 3vw, 36px);
  font-weight: 800;
  line-height: 1.2;
}
.mp-newsletter-text {
  max-width: 620px;
  margin: 0 auto 22px;
  color: #4d554f;
  font-size: 16px;
  line-height: 1.65;
}
.mp-newsletter-form {
  max-width: 520px;
  margin: 0 auto;
  text-align: left;
}
.mp-newsletter-form form {
  width: 100%;
  margin: 0 auto;
}
.mp-newsletter-form input[type="email"],
.mp-newsletter-form input[type="text"] {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #d9dfd8;
  border-radius: 9px;
  background: #fff;
  color: #29372e;
  font-size: 16px;
  box-sizing: border-box;
}
.mp-newsletter-form input:focus {
  outline: 2px solid #f36f21;
  outline-offset: 1px;
}
.mp-newsletter-form .sib-default-btn,
.mp-newsletter-form input[type="submit"] {
  display: inline-block;
  width: 100%;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid #e45f1d;
  border-radius: 28px;
  background: #f36f21;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease;
}
.mp-newsletter-form .sib-default-btn:hover,
.mp-newsletter-form input[type="submit"]:hover {
  background: #c95117;
  border-color: #c95117;
}
.mp-newsletter-form a { color: #246b43; text-decoration: underline; }
.mp-newsletter-form p { margin: 0 0 12px; line-height: 1.55; }
.mp-newsletter-form label { color: #29372e; }
.mp-newsletter-form .sib_msg_disp { margin-top: 12px; }
@media (max-width: 640px) {
  .mp-newsletter { margin-top: 24px; padding: 28px 15px; border-radius: 13px; }
  .mp-newsletter h2 { font-size: 25px; }
  .mp-newsletter-text { font-size: 15px; margin-bottom: 18px; }
}


/* Newsletter integrada — versión compacta, todo en un solo tema. */
.mp-newsletter {
  box-sizing: border-box !important;
  margin: 16px 0 0 !important;
  padding: 18px 18px 20px !important;
}
.mp-newsletter .mp-newsletter-inner {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.mp-newsletter .mp-newsletter-kicker {
  margin: 0 0 5px !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
}
.mp-newsletter .mp-newsletter-inner h2#mp-newsletter-title {
  max-width: 620px !important;
  margin: 0 auto 8px !important;
  font-size: clamp(24px, 2.5vw, 30px) !important;
  line-height: 1.16 !important;
}
.mp-newsletter .mp-newsletter-text {
  max-width: 560px !important;
  margin: 0 auto 10px !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
}
.mp-newsletter .mp-newsletter-form {
  width: 100% !important;
  max-width: 440px !important;
  margin: 0 auto !important;
  text-align: left !important;
  font-size: 14px !important;
}
.mp-newsletter .mp-newsletter-form form { width: 100% !important; margin: 0 !important; }
.mp-newsletter .mp-newsletter-form p { margin: 0 0 7px !important; line-height: 1.4 !important; }
.mp-newsletter .mp-newsletter-form input[type="email"],
.mp-newsletter .mp-newsletter-form input[type="text"] {
  min-height: 40px !important;
  padding: 8px 11px !important;
  font-size: 15px !important;
  box-sizing: border-box !important;
}
.mp-newsletter .mp-newsletter-form .sib-default-btn,
.mp-newsletter .mp-newsletter-form input[type="submit"] {
  min-height: 42px !important;
  padding: 9px 15px !important;
  font-size: 15px !important;
}
.mp-newsletter .mp-newsletter-form .sib-terms,
.mp-newsletter .mp-newsletter-form .sib-optin,
.mp-newsletter .mp-newsletter-form .sib-terms-area {
  font-size: 13px !important;
  line-height: 1.4 !important;
}
@media (max-width: 640px) {
  .mp-newsletter { margin-top: 14px !important; padding: 18px 13px 18px !important; border-radius: 13px !important; }
  .mp-newsletter .mp-newsletter-inner h2#mp-newsletter-title { font-size: 24px !important; }
  .mp-newsletter .mp-newsletter-text { font-size: 14px !important; margin-bottom: 9px !important; }
  .mp-newsletter .mp-newsletter-form { max-width: 100% !important; }
}


/* Newsletter compacta 4.14: reglas integradas en el tema y con prioridad sobre estilos del plugin. */
.mp-newsletter {
  margin: 12px 0 0 !important;
  padding: 12px 16px 14px !important;
}
.mp-newsletter .mp-newsletter-inner { max-width: 650px !important; }
.mp-newsletter .mp-newsletter-kicker { margin: 0 0 3px !important; font-size: 11px !important; line-height: 1.25 !important; }
.mp-newsletter .mp-newsletter-inner h2#mp-newsletter-title {
  max-width: 600px !important; margin: 0 auto 5px !important;
  font-size: clamp(22px, 2.2vw, 28px) !important; line-height: 1.12 !important;
}
.mp-newsletter .mp-newsletter-text {
  max-width: 550px !important; margin: 0 auto 7px !important;
  font-size: 14px !important; line-height: 1.35 !important;
}
.mp-newsletter .mp-newsletter-form { max-width: 400px !important; width: 100% !important; margin: 0 auto !important; text-align: left !important; font-size: 13px !important; }
.mp-newsletter .mp-newsletter-form form { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
.mp-newsletter .mp-newsletter-form p,
.mp-newsletter .mp-newsletter-form .sib-email-area,
.mp-newsletter .mp-newsletter-form .sib-FORMNAME-area { margin: 0 0 5px !important; line-height: 1.3 !important; }
.mp-newsletter .mp-newsletter-form input[type="email"],
.mp-newsletter .mp-newsletter-form input[type="text"] { min-height: 36px !important; padding: 6px 10px !important; font-size: 14px !important; }
.mp-newsletter .mp-newsletter-form .sib-default-btn,
.mp-newsletter .mp-newsletter-form input[type="submit"] { min-height: 38px !important; padding: 7px 13px !important; font-size: 14px !important; }
.mp-newsletter .mp-newsletter-form label,
.mp-newsletter .mp-newsletter-form .sib-terms,
.mp-newsletter .mp-newsletter-form .sib-optin,
.mp-newsletter .mp-newsletter-form .sib-terms-area { font-size: 12px !important; line-height: 1.3 !important; }
.mp-newsletter .mp-newsletter-form .sib_msg_disp { margin-top: 5px !important; }
@media (max-width: 640px) {
 .mp-newsletter { margin-top: 10px !important; padding: 14px 12px !important; }
 .mp-newsletter .mp-newsletter-inner h2#mp-newsletter-title { font-size: 22px !important; }
 .mp-newsletter .mp-newsletter-text { font-size: 14px !important; margin-bottom: 7px !important; }
 .mp-newsletter .mp-newsletter-form { max-width: 100% !important; }
}


/* v4.19: últimas publicaciones en tres tarjetas con imágenes horizontales */
.mp-latest-section{margin:34px 0 38px}
.mp-latest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.mp-latest-card{min-width:0;overflow:hidden}
.mp-latest-card img{width:100%;height:170px;aspect-ratio:16/9;object-fit:cover;display:block}
.mp-latest-card .mp-card-body{padding:16px}
.mp-latest-card h3{margin:7px 0 8px}
.mp-latest-card p{margin:0 0 12px}
@media(max-width:900px){.mp-latest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-latest-card img{height:160px}}
@media(max-width:560px){.mp-latest-grid{grid-template-columns:1fr}.mp-latest-card img{height:auto;aspect-ratio:16/9}}


/* v4.20: navegación fija y botón accesible para volver arriba */
.mp-nav{
  position:sticky;
  top:0;
  z-index:9990;
  background:rgba(255,255,255,.97);
  backdrop-filter:saturate(150%) blur(8px);
  box-shadow:0 2px 10px rgba(30,30,30,.045);
}
.admin-bar .mp-nav{top:32px}
.mp-nav{transition:box-shadow .2s ease, background-color .2s ease}
.mp-nav.mp-nav-scrolled{box-shadow:0 4px 16px rgba(30,30,30,.10)}
.mp-back-to-top{
  position:fixed;
  right:22px;
  bottom:82px;
  z-index:10000;
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:50%;
  background:var(--mp-orange,#f16a1b);
  color:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.mp-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.mp-back-to-top:hover{filter:brightness(.94)}
.mp-back-to-top:focus-visible{outline:3px solid #222;outline-offset:3px}
.mp-back-to-top svg{width:22px;height:22px;display:block}
@media(max-width:782px){.admin-bar .mp-nav{top:46px}}
@media(max-width:640px){
 .mp-back-to-top{right:14px;bottom:76px;width:42px;height:42px}
 .mp-nav{z-index:9990}
}
@media(prefers-reduced-motion:reduce){
 .mp-nav,.mp-back-to-top{transition:none}
 html{scroll-behavior:auto}
}


/* Footer configurable desde Apariencia > Menús: cuatro columnas. */
.mp-footer-grid{grid-template-columns:2fr 1fr 1fr 1.35fr;gap:30px}
.mp-footer-menu{list-style:none;margin:0;padding:0}
.mp-footer-menu li{margin:0 0 5px;padding:0}
.mp-footer-menu a{color:#f6f5f0;text-decoration:none}
.mp-footer-menu a:hover{text-decoration:underline;color:#fff}
.mp-footer-column h3{font-size:17px;margin:0 0 8px;color:#fff}
.mp-footer-brand p{color:#e1e8e2;font-size:14px}
@media(max-width:1000px){.mp-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:640px){.mp-footer-grid{grid-template-columns:1fr;gap:18px}}
