/* Ajustes finales de encuadre, jerarquía y movimiento. */
.rm-app-showcase{max-width:1160px;padding:40px;margin:48px auto;border-radius:24px}
.rm-app-showcase .rm-show-grid{grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:36px;align-items:center;max-width:960px;margin:28px auto}
.rm-app-carousel{width:100%;max-width:340px;min-width:0;margin:auto}
.rm-carousel-frame{position:relative;height:auto;min-height:0;max-width:100%;margin:auto;border:0;border-radius:22px;background:transparent!important;overflow:hidden;box-shadow:0 12px 28px #0002;transition:none}
.rm-carousel-frame .rm-carousel-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:none;transition:opacity .45s ease;animation:none;pointer-events:none}
.rm-carousel-frame .rm-carousel-slide.is-active{opacity:1;transform:none;z-index:1}
.rm-carousel-controls{margin-top:14px;gap:12px}.rm-carousel-controls button{width:40px;height:40px;font-size:24px}.rm-carousel-controls .rm-carousel-pause{font-size:14px}
.rm-show-benefits{gap:14px}.rm-show-benefits article,.rm-show-benefits .rm-show-panic{padding:20px;border-radius:16px}.rm-show-benefits h3{font-size:19px}.rm-show-benefits .rm-show-panic h3{font-size:23px}.rm-show-benefits p{font-size:14px;line-height:1.6}.rm-app-showcase>p{max-width:780px}
.rm-wholesale-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:24px;align-items:start}.rm-wholesale-main,.rm-wholesale-extra{padding:28px;border-radius:22px}.rm-wholesale-main h3{font-size:28px}.rm-wholesale-services{gap:14px}.rm-wholesale-services article{padding:18px}.rm-wholesale-extra .rm-brand-preview{max-width:270px}.rm-wholesale-extra h3{font-size:25px}.rm-wholesale-extra p{font-size:14px;line-height:1.65}
.rm-app-cta{font-size:15px;padding:14px 22px;min-height:48px;border-radius:12px;line-height:1.4;text-align:center;white-space:normal}
#clientes{--clients-item-w:190px;--clients-item-h:110px;--clients-logo-h:78px}
#clientes .clientes-carousel-container{height:140px;min-height:140px;margin-top:24px}
#clientes .clientes-carousel{gap:22px;animation:rmClientsLoop var(--rm-logo-duration,100s) linear infinite;contain:none;transform:translateZ(0)}
#clientes .clientes-item{box-sizing:border-box;padding:14px;box-shadow:none;border:1px solid #e0e4ea;border-radius:12px;transition:none}
#clientes .clientes-item:hover{transform:none;box-shadow:none}
#clientes .clientes-logo{max-width:160px;max-height:78px!important;width:auto;height:auto;object-fit:contain}
@keyframes rmClientsLoop{to{transform:translate3d(calc(-1 * var(--rm-logo-distance,4000px)),0,0)}}
.section .container{min-width:0}.premium-image{overflow:hidden}.emp-hero-card{height:auto!important;min-height:440px}.emp-hero-overlay{padding:32px!important}
body.dark-mode .rm-cookie-settings{background:#101010}
@media(max-width:1000px){.rm-wholesale-grid{grid-template-columns:1fr}.rm-app-showcase{margin:36px 20px;padding:30px}.rm-app-showcase .rm-show-grid{gap:24px;grid-template-columns:minmax(220px,300px) minmax(0,1fr)}}
@media(max-width:700px){.rm-app-showcase{margin:28px 16px;padding:24px 18px}.rm-app-showcase .rm-show-grid{grid-template-columns:1fr;gap:24px}.rm-show-benefits{grid-row:auto;grid-column:auto}.rm-app-carousel{max-width:290px}.rm-wholesale-services{grid-template-columns:1fr}.rm-wholesale-main,.rm-wholesale-extra{padding:22px}.rm-dealer-app{padding:22px;grid-template-columns:1fr}.emp-hero-card{min-height:500px}.emp-hero-overlay{padding:22px!important}#instaladores .container>div[style*="repeat(3"]{grid-template-columns:1fr!important;gap:16px!important}.rm-app-cta{max-width:100%}}
@media(prefers-reduced-motion:reduce){.rm-carousel-frame .rm-carousel-slide{transition:none}}

/* Jerarquía del index revisada sobre la versión publicada. */
#instaladores .rm-wholesale-heading{max-width:920px;text-align:center;margin:0 auto 36px}
#instaladores .instaladores-title{font-size:clamp(30px,3.2vw,42px);line-height:1.2;margin:16px auto 22px;max-width:860px}
#instaladores .instaladores-intro-text{font-size:17px;line-height:1.7;margin:0 auto;max-width:820px}
.rm-wholesale-services article:last-child:nth-child(odd){grid-column:1 / -1}
section[id]{scroll-margin-top:92px}
#inicio .hero-title-sub{font-size:clamp(15px,1.6vw,21px);line-height:1.5;max-width:900px;margin:18px auto}
#inicio .hero-subtitle{font-size:clamp(16px,1.5vw,20px);line-height:1.7;max-width:900px;margin-left:auto;margin-right:auto}
@media(max-width:700px){#instaladores .instaladores-intro-text{font-size:15px}.rm-wholesale-heading .badge-pill{font-size:12px!important;padding:10px 14px!important}.rm-wholesale-services article:last-child:nth-child(odd){grid-column:auto}section[id]{scroll-margin-top:80px}}

/* RM: imagen sin marco adicional; no altera la app mayorista. */
.rm-app-showcase .rm-carousel-frame{box-sizing:border-box!important;border:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;border-radius:22px!important}
.rm-app-showcase .rm-carousel-frame .rm-carousel-slide{border:0!important;padding:0!important;margin:0!important;border-radius:0!important}
#clientes .clientes-carousel{flex-wrap:nowrap;width:max-content;animation-name:rmClientsLoop;animation-duration:var(--rm-logo-duration,100s);animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}

/* Afiches de Edificios: margen de seguridad sin ampliar ni recortar texto. */
#edificios .edificios-visual{gap:24px;position:static;top:auto;height:auto}
#edificios .edificios-visual>.zoom-hover{box-sizing:border-box;padding:6px;border:1px solid #dce2e9;background:#fff;overflow:hidden;border-radius:20px!important;transition:box-shadow .25s ease}
#edificios .edificios-visual>.zoom-hover img{display:block;width:100%;height:auto;object-fit:contain;border-radius:4px;transform:none!important;filter:none!important;transition:none;will-change:auto}
#edificios .edificios-visual>.zoom-hover:hover img{transform:none!important;filter:none!important}
#edificios .edificios-visual>.zoom-hover:hover{box-shadow:0 12px 28px #14203320!important}
body.dark-mode #edificios .edificios-visual>.zoom-hover{background:#17202d;border-color:#344052}
@media(max-width:700px){#edificios .edificios-visual{gap:20px}#edificios .edificios-visual>.zoom-hover{padding:4px;border-radius:16px!important}}

/* Edificios: servicios a la izquierda, afiches completos a la derecha. */
#edificios .edificios-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px;align-items:start}
#edificios .edificios-info{grid-column:1;grid-row:1;width:100%;max-width:none;height:auto}
#edificios .edificios-visual{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:24px;max-width:460px;width:100%;margin:0 auto;position:static;height:auto}
#edificios .edificios-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0}
#edificios .edificios-feature{min-width:0;height:auto;box-sizing:border-box;padding:22px 18px;gap:14px}
#edificios .edificios-feature-icon{flex-shrink:0;width:44px;height:44px;font-size:20px}
#edificios .edificios-feature-text h4{font-size:17px;line-height:1.35;margin:0 0 10px}
#edificios .edificios-feature-text p{font-size:14px;line-height:1.65;margin:0}
@media(max-width:1100px){#edificios .edificios-grid{grid-template-columns:1fr}#edificios .edificios-info{grid-column:1;grid-row:1}#edificios .edificios-visual{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}}
@media(max-width:650px){#edificios .edificios-visual{grid-template-columns:1fr;max-width:440px;gap:20px}#edificios .edificios-features{grid-template-columns:1fr;gap:14px}#edificios .edificios-grid{gap:24px}}

/* Transición de la app RM y la app con marca propia. */
.rm-app-carousel .rm-carousel-frame .rm-carousel-slide{opacity:0;transform:translate3d(16px,0,0);transition:opacity .6s ease,transform .6s cubic-bezier(.22,.61,.36,1);animation:none;backface-visibility:hidden}
.rm-app-carousel .rm-carousel-frame .rm-carousel-slide.is-active{opacity:1;transform:translate3d(0,0,0)}
@media(prefers-reduced-motion:reduce){.rm-app-carousel .rm-carousel-frame .rm-carousel-slide{transition:none;transform:none}}
