/*
Theme Name: Luxury Seguros Dynamic 4.2
Theme URI: https://www.luxuryseguros.com/
Author: Mixture
Description: Réplica administrable del prototipo Luxury Seguros, optimizada para Gutenberg.
Version: 4.2.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: luxury-exact
*/

html{scroll-behavior:smooth}
body{margin:0;background:#fff}
body{overflow-x:hidden;font-synthesis:none}
h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}
.wp-site-blocks,.entry-content{max-width:none;margin:0;padding:0}
/* Los bloques HTML deben conservar los márgenes del prototipo. Esta regla solo
   neutraliza el contenedor que añade Gutenberg, no sus secciones internas. */
.entry-content>.wp-block-html{max-width:none!important;margin:0!important}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.luxury-form-status{grid-column:1/-1;padding:14px 18px;background:#fff7d8;color:#161616;font-weight:700}
.luxury-form-status.success{background:#e9f8ed;color:#174c27}
.luxury-form-status.error{background:#fff0ef;color:#7a1d17}
.review-stage blockquote,.review-person span,.review-person b{transition:opacity .18s ease,transform .18s ease}
.review-stage .changing{opacity:0;transform:translateY(5px)}
.wp-block-html{min-height:32px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Safety fallback: content stays readable even if motion scripting is delayed. */
@media (scripting: none){.motion-block,.motion-card{opacity:1!important;transform:none!important}}

.service-admin-note{padding:16px 18px;background:#fff8dc;border-left:4px solid #f4c400;margin:18px 0}
.dynamic-blog-cover{display:block;width:100%;height:100%;object-fit:cover}
.article-hero-image{max-width:1240px;margin:0 auto 54px;padding:0 24px}
.article-hero-image img{display:block;width:100%;height:min(52vw,620px);min-height:320px;object-fit:cover;border-radius:0}
.service-featured-hero{background-size:cover;background-position:center}
.blog-grid article .blog-cover{overflow:hidden}
.blog-grid article .blog-cover{display:block}
.blog-grid article .blog-cover:empty{background:#f3f1ea}
.dynamic-blog-index .blog-grid article{min-width:0}
.dynamic-blog-index .blog-grid h3 a{font-size:inherit;color:inherit;font-weight:inherit}
.dynamic-blog-index .blog-grid h3 a:hover{color:var(--gold-dark)}

/* Footer: cuatro columnas legibles sin que contacto invada las redes. */
footer .footer-main{grid-template-columns:170px minmax(180px,240px) minmax(0,1fr);gap:32px;max-width:1500px;margin-inline:auto}
footer .footer-main>img{max-width:100%}
footer .footer-main>p{margin:0;max-width:230px}
footer .footer-links{grid-template-columns:minmax(120px,.8fr) minmax(145px,1fr) minmax(210px,1.35fr) minmax(150px,.85fr);gap:28px;min-width:0}
footer .footer-links>div{min-width:0}
footer .footer-links a{overflow-wrap:anywhere}
footer .footer-links .footer-address{overflow-wrap:normal}
footer .footer-socials{align-items:center;align-content:flex-start;gap:9px!important}
footer .footer-socials a{flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid #454641;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700;line-height:1}
footer .footer-socials a:hover{color:var(--ink);background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}

/* Ajustes de seguridad responsive para contenido administrable. */
.entry-content img,.entry-content iframe{max-width:100%}
.article-cover{background-repeat:no-repeat}
@media(max-width:1180px){
 footer .footer-main{grid-template-columns:180px minmax(0,1fr)}
 footer .footer-main>p{max-width:520px}
 footer .footer-links{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}
}
@media(max-width:850px){
 footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:38px}
 .article-cover>span{max-width:calc(100% - 48px);line-height:1.45}
}
@media(max-width:700px){
 .article-hero-image{margin-bottom:34px;padding:0 18px}.article-hero-image img{height:58vw;min-height:220px}
 footer .footer-main{grid-template-columns:1fr;gap:22px}
 footer .footer-main>p{max-width:100%}
 footer .footer-links{grid-template-columns:1fr;gap:30px}
 footer .footer-socials{flex-direction:row!important}
 .article-cover{min-height:300px;height:72vw}
 .article-cover>span{bottom:18px;left:18px;max-width:calc(100% - 36px)}
 .friendly-cta .btn,.contact-page .btn{max-width:100%;white-space:normal}
}
