/* Composición visual integrada, no overlays. Los componentes interactivos originales se conservan. */
body{background:#f8f3ef!important}
.home{max-width:1500px!important;margin:auto!important;padding:16px clamp(14px,3vw,48px) 75px!important}
.premium-hero{min-height:610px!important;border-radius:26px!important;overflow:hidden!important;grid-template-columns:1.05fr .8fr!important;box-shadow:0 20px 65px #4c33431c!important}
.premium-photo{background-image:url('visuales/aprobada-portada.webp')!important;background-position:center 42%!important}
.premium-copy h1{font-size:clamp(66px,7vw,108px)!important;line-height:.85!important}
.premium-wheel-panel{background:#fff9;padding:18px 20px;border-radius:30px;box-shadow:0 12px 45px #3d274222}
.premium-wheel-panel object{pointer-events:none}
.module-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:16px!important}
.module-card{display:flex!important;flex-direction:column!important;min-width:0!important;border-radius:19px!important;overflow:hidden!important;background:#fffaf6!important;box-shadow:0 12px 34px #4c3d4e1b!important;padding:0 0 18px!important;transition:transform .2s ease!important}
.module-card:hover{transform:translateY(-4px)!important}
.module-card .module-photo{order:0!important;width:100%!important;height:190px!important;object-fit:cover!important;border-radius:0!important;margin:0 0 14px!important;display:block!important}
.module-card .mnum{order:-1!important;padding:16px 16px 10px!important;font-size:10px!important;letter-spacing:.08em!important;line-height:1.3!important;min-height:50px!important}
.module-card h2{padding:0 16px!important;margin:0 0 9px!important;font:600 27px/1.02 'Cormorant Garamond',serif!important;color:#3f3145!important}
.module-card p{padding:0 16px!important;font:400 12px/1.6 Inter,sans-serif!important;flex:1!important;color:#615b64!important}
.module-card .go{margin:8px 16px 0!important;padding:10px 13px!important;background:#806891!important;border-radius:22px!important;color:white!important;align-self:flex-start!important}
@media(max-width:1200px){.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:800px){.premium-hero{grid-template-columns:1fr!important;gap:20px!important}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){.module-grid{grid-template-columns:1fr!important}.premium-hero{padding:30px 18px!important}.premium-copy h1{font-size:66px!important}}
/* Banners interiores: elementos en flujo normal, sin position:absolute ni superposiciones */
.cromo-interior-banner{display:block;position:relative;isolation:isolate;overflow:hidden;border-radius:18px;margin:12px 0 28px;min-height:250px;background:#e6d5c9;box-shadow:0 12px 36px #4a314526}
.cromo-interior-banner img{display:block;width:100%;height:clamp(240px,29vw,365px);object-fit:cover;object-position:center}
.cromo-interior-banner .cromo-banner-text{position:absolute;inset:auto 0 0;padding:48px 24px 24px;background:linear-gradient(transparent,#211729c9);color:#fff}
.cromo-interior-banner .cromo-banner-text small{display:block;letter-spacing:.16em;font:600 11px Inter,sans-serif;margin-bottom:8px}
.cromo-interior-banner .cromo-banner-text h2{color:#fff!important;font:600 clamp(27px,4vw,48px)/1.05 'Cormorant Garamond',serif!important;margin:0!important;text-shadow:0 1px 7px #0006}
@media(max-width:600px){.cromo-interior-banner img{height:230px}.cromo-interior-banner .cromo-banner-text{padding:42px 17px 17px}}

/* Integración visual: imágenes completas, sin recortes y sin superposiciones. */
.module-card .module-photo{height:auto!important;aspect-ratio:16/9!important;object-fit:contain!important;background:#eee7e6!important}
.cromo-interior-banner img{height:auto!important;aspect-ratio:16/9!important;object-fit:contain!important;background:#eee7e6!important}
.course-hero-photo{display:block;overflow:hidden;border-radius:20px;background:#eee7e6}
.course-hero-photo img{display:block;width:100%;height:auto!important;aspect-ratio:16/9;object-fit:contain!important}
header.hero:has(>.course-hero-photo){display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,38%);column-gap:26px;align-items:center;overflow:hidden}
header.hero:has(>.course-hero-photo)>h1,header.hero:has(>.course-hero-photo)>p{grid-column:1}
header.hero:has(>.course-hero-photo)>.course-hero-photo{grid-column:2;grid-row:1 / span 3}
@media(max-width:760px){header.hero:has(>.course-hero-photo){grid-template-columns:1fr}header.hero:has(>.course-hero-photo)>.course-hero-photo{grid-column:1;grid-row:auto}}
