/* ==========================================================================
   NUGEE Elevadores — overrides sobre Finbiz style.css
   Cargar SIEMPRE después de assets/css/style.css.
   Solo color/acento y textos decorativos. No cambia estructura ni animaciones.
   ========================================================================== */

/* --- Sin scroll horizontal fantasma: el menú lateral oculto (.side-bar) se
   posiciona fuera del viewport en vez de con transform, así que sin esto
   agrega ~8px de ancho invisible al body en móvil. --- */
html, body{ overflow-x: hidden; max-width: 100%; }

:root{
  --color-primary: #0B2545;   /* navy: acento principal (botones, rellenos) */
  --color-primary-2: #0B2545;
  --color-primary-3: #C9A15B;  /* gold: acento secundario */
  --color-secondary: #0B2545;
  --color-heading-1: #0B2545;
  --background-color-1: #0B2545;
  --color-primary-alta: #EDF0F4;
  --gold: #C9A15B;
  --gold-ink: #8A6B34;
  --platinum: #C7CCD1;
}

/* --- Eyebrow / pre-title en dorado (premium, contraste AA) --- */
.rts-title-area p.pre-title,
.title-area .pre,
.rts-title-area .pre-title span,
p.pre-title span{ color: var(--gold-ink) !important; }
.rts-banner-one .banner-one-inner .pre-title,
.rts-banner-one .banner-one-inner .pre-title span,
.banner-one-inner .pre-title span{ color: var(--gold) !important; }

/* --- Palabras marca de agua detrás de los títulos: al español --- */
.rts-title-area::after{ content: "NUGEE" !important; }
.rts-title-area.service::after,
.rts-title-area.service-four::after{ content: "Líneas" !important; }
.rts-title-area.pricing-planes::after{ content: "Precios" !important; }
.rts-title-area.business::after{ content: "Proceso" !important; }
.rts-title-area.gallery::after{ content: "Proyectos" !important; }
.rts-title-area.team::after{ content: "Equipo" !important; }
.rts-title-area.feedback::after,
.rts-title-area.reviews::after{ content: "Testimonios" !important; }
.rts-title-area.feature::after{ content: "Ventajas" !important; }
.rts-title-area.contact::after,
.rts-title-area.contact-appoinment::after{ content: "Hola" !important; }

html[lang^="en"] .rts-title-area.service::after,
html[lang^="en"] .rts-title-area.service-four::after{ content: "Product lines" !important; }
html[lang^="en"] .rts-title-area.business::after{ content: "Process" !important; }
html[lang^="en"] .rts-title-area.feature::after{ content: "Benefits" !important; }
html[lang^="en"] .rts-title-area.contact::after,
html[lang^="en"] .rts-title-area.contact-appoinment::after{ content: "Hello" !important; }
.rts-title-area.contact-fluid::after{ content: "Contacto" !important; }

/* --- Formas decorativas rojas de Finbiz -> tono azul marca --- */
.rts-banner-one .animation-img .shape-img,
.rts-banner-one .banner-one-inner .shape-img,
.rts-banner-one .animation-img img,
.rts-cta-wrapper .background-cta img,
.wized-title img,
img[src*="/shape/"],
img[src*="shape-"]{
  filter: grayscale(1) brightness(.4) sepia(1) hue-rotate(178deg) saturate(1.8) !important;
}
.bg-about-sm-shape::before,
.bg-about-sm-shape::after,
.rts-service-area::before,
.rts-service-area::after,
[class*="-shape"]::before,
[class*="-shape"]::after{
  filter: grayscale(1) brightness(.4) sepia(1) hue-rotate(178deg) saturate(1.8) !important;
}

/* --- Botón blanco: texto en navy (contraste) --- */
.rts-btn.btn-white{ color: var(--color-primary) !important; }
.rts-btn.btn-white:hover{ background: var(--gold) !important; color: var(--color-primary) !important; }

/* --- Barra de idioma en la topbar --- */
.nugge-lang{display:inline-flex;align-items:center;gap:4px;margin-right:16px;padding:3px;border:1px solid rgba(255,255,255,.32);border-radius:999px;vertical-align:middle}
.nugge-lang a{display:inline-flex;align-items:center;gap:4px;min-width:52px;height:25px;padding:0 8px;border-radius:999px;color:rgba(255,255,255,.78)!important;font:700 10px/1 Arial,sans-serif;letter-spacing:.04em;text-decoration:none;transition:.2s}
.nugge-lang a span{font-size:15px;line-height:1;filter:none!important}
.nugge-lang a:hover,.nugge-lang a:focus-visible{background:rgba(255,255,255,.12);color:#fff!important}
.nugge-lang a.is-active{background:var(--gold);color:var(--color-primary)!important}
@media(max-width:1199px){.nugge-lang{margin-right:8px}.nugge-lang a{min-width:46px;padding:0 6px}}

/* --- Fotos del banner (fondo CSS): versionadas para forzar recarga tras el cambio --- */
.banner-one .swiper-wrapper .swiper-slide{ background-image:url(../images/banner/banner-01.jpg); }
.banner-one .swiper-wrapper .swiper-slide.two{ background-image:url(../images/banner/banner-02.jpg); }
.banner-one .swiper-wrapper .swiper-slide.three{ background-image:url(../images/banner/banner-03.jpg); }

/* Las fotos reales de elevador son más oscuras/cargadas: velo azul a la izquierda + texto en blanco */
.rts-banner-one .swiper-wrapper .swiper-slide::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(90deg, rgba(9,27,52,.86) 0%, rgba(9,27,52,.62) 38%, rgba(9,27,52,.15) 72%, rgba(9,27,52,0) 100%);
}
.rts-banner-one .swiper-wrapper .swiper-slide .banner-one-inner{ z-index:2; }
.rts-banner-one .banner-one-inner .title,
.rts-banner-one .banner-one-inner .title span,
.rts-banner-one .swiper-slide-active .title{ color:#fff !important; }
.rts-banner-one .banner-one-inner .disc,
.rts-banner-one .banner-one-inner p.disc{ color:rgba(255,255,255,.88) !important; }
.rts-banner-one .banner-one-inner .pre-title,
.rts-banner-one .banner-one-inner .pre-title span{ color:#D9B980 !important; }
.rts-banner-one .banner-one-inner .rts-btn.color-h-black{ background:var(--gold); color:var(--color-primary); border-color:var(--gold); }
.rts-banner-one .banner-one-inner .rts-btn.color-h-black:hover{ background:#fff; color:var(--color-primary); }

/* --- Breadcrumb (páginas internas): velo azul para que el título blanco se lea sobre la foto --- */
.rts-breadcrumb-area{ position:relative; }
.rts-breadcrumb-area::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(90deg, rgba(9,27,52,.82) 0%, rgba(9,27,52,.55) 45%, rgba(9,27,52,.12) 100%);
}
.rts-breadcrumb-area .container{ position:relative; z-index:1; }
.rts-breadcrumb-area .breadcrumb-1 .title{ color:#fff; }
.rts-breadcrumb-area .bread-tag a{ color:rgba(255,255,255,.82); }
.rts-breadcrumb-area .bread-tag a.active{ color:var(--gold); }

/* --- Franja "clientes/marcas": oculta hasta tener logos reales (Cibes, PVE, UP, Grupo Hallbart) --- */
.rts-trusted-client{ display:none !important; }

/* --- Imágenes de contenido: encuadre consistente --- */
.gallery .thumbnail-gallery img,
.business-goal-one img,
.contact-image-one img,
.rts-test-one-image-inner img,
.single-blog-one-wrapper .thumbnail img,
.team-image-area img{ object-fit: cover; }

[data-nugge-form]{ outline:0 }

/* --- Páginas legales (Términos, Privacidad, Cookies) --- */
.rts-legal-content{ max-width:860px; margin:0 auto; }
.rts-legal-content h2.title{ font-size:24px; font-weight:800; color:var(--color-heading-1,#0B2545); margin:42px 0 14px; }
.rts-legal-content h2.title:first-of-type{ margin-top:0; }
.rts-legal-content p.disc{ color:var(--color-body,#5D666F); line-height:1.85; margin:0 0 16px; font-size:15px; }
.rts-legal-content ul{ color:var(--color-body,#5D666F); line-height:1.85; margin:0 0 20px; padding-left:22px; font-size:15px; }
.rts-legal-content li{ margin-bottom:8px; }
.rts-legal-content li::marker{ color:var(--gold-ink,#8A6B34); }
.rts-legal-content a{ color:var(--gold-ink,#8A6B34); text-decoration:underline; }
.rts-legal-content span{ color:var(--color-heading-1,#0B2545); font-weight:600; }
.rts-legal-content code{ background:var(--soft,#F4F6F7); padding:1px 6px; border-radius:4px; font-size:13px; }
.rts-legal-content .legal-meta{ color:#8a8d92; font-size:13px; margin:0 0 22px; }
.rts-legal-content .legal-note{ background:var(--soft,#F4F6F7); border-left:3px solid var(--gold,#C9A15B); border-radius:6px; padding:16px 20px; margin:0 0 32px; font-size:13.5px; line-height:1.7; color:var(--color-body,#5D666F); }
.rts-legal-content .legal-note strong{ color:var(--color-heading-1,#0B2545); }

/* --- Página de modelo Cibes: hero tipo ecommerce (foto + panel de compra) --- */
.nugee-product-hero{ display:grid; grid-template-columns: 1fr 1fr; gap:48px; align-items:start; }
.nugee-product-image{
  background: var(--soft,#F4F6F7); border-radius:16px; aspect-ratio: 4 / 5;
  display:flex; align-items:center; justify-content:center; padding:32px;
  position:sticky; top:24px;
}
.nugee-product-image img{
  max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain;
  filter: drop-shadow(0 12px 24px rgba(11,37,69,.15));
}
.nugee-product-gallery{ border-radius:16px; overflow:hidden; aspect-ratio:4/5; position:sticky; top:24px; background:var(--soft,#F4F6F7); }
.nugee-product-gallery .swiper{ width:100%; height:100%; }
.nugee-product-gallery .swiper-slide img{ width:100%; height:100%; object-fit:cover; display:block; }
.nugee-product-gallery .swiper-pagination-bullet{ background:#fff; opacity:.65; }
.nugee-product-gallery .swiper-pagination-bullet-active{ opacity:1; background:var(--gold,#C9A15B); }
.nugee-product-gallery .swiper-button-next,
.nugee-product-gallery .swiper-button-prev{
  color:#fff; background:rgba(11,37,69,.45); width:34px; height:34px; border-radius:50%;
}
.nugee-product-gallery .swiper-button-next::after,
.nugee-product-gallery .swiper-button-prev::after{ font-size:13px; }
@media (max-width:991px){ .nugee-product-gallery{ position:static; aspect-ratio:1/1; } }

.nugee-video-section{ margin-top:48px; padding:28px; border:1px solid #e3e8ef; border-radius:18px; background:#f7f9fb; }
.nugee-video-section h6.title{ margin:5px 0 8px; font-size:28px; line-height:1.2; }
.nugee-video-eyebrow{ color:var(--gold,#C9A15B); font-size:12px; line-height:1.3; font-weight:800; letter-spacing:.08em; }
.nugee-video-intro{ margin:0 0 18px; color:#5f6b7a; font-size:15px; line-height:1.6; }
.nugee-video-wrap{ position:relative; width:100%; aspect-ratio:16/9; border-radius:12px; overflow:hidden; background:#000; }
.nugee-video-wrap iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.nugee-video-note{ margin:12px 0 0; color:#687586; font-size:12px; line-height:1.55; }
@media (max-width:767px){ .nugee-video-section{ margin-top:34px; padding:18px; border-radius:14px; } .nugee-video-section h6.title{ font-size:22px; } }
.nugee-product-buybox h1.title{ font-size:32px; font-weight:800; color:var(--color-primary); margin:0 0 12px; line-height:1.15; }
.nugee-product-buybox .pitch{ font-size:16px; line-height:1.6; color:var(--color-body,#5D666F); margin:0 0 24px; }
.nugee-key-specs{ list-style:none; margin:0 0 28px; padding:0; display:grid; gap:12px; }
.nugee-key-specs li{ position:relative; padding-left:30px; font-size:14.5px; color:#2b3542; }
.nugee-key-specs li::before{
  content:"✓"; position:absolute; left:0; top:0; color:var(--gold-ink); font-weight:800;
  width:20px; height:20px; border-radius:50%; background:#FBF3E6;
  display:flex; align-items:center; justify-content:center; font-size:12px;
}
.nugee-cta-row{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
.nugee-cta-row .rts-btn.btn-outline{ background:#fff; color:var(--color-primary); border:2px solid var(--color-primary); }
.nugee-cta-row .rts-btn.btn-outline:hover{ background:var(--color-primary); color:#fff; }
.nugee-microtrust{ font-size:13px; color:#8a8d92; margin:0; }
@media (max-width: 991px){
  .nugee-product-hero{ grid-template-columns:1fr; gap:24px; }
  .nugee-product-image{ position:static; aspect-ratio: 1/1; }
}

/* --- Estabilización responsive y orientación de imágenes --- */
*, *::before, *::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{ min-width:0; }
body{ background:var(--nugee-surface,#fff); color:var(--color-body,#5D666F); }
img, svg, video, iframe{ max-width:100%; }
img{ height:auto; image-orientation:from-image; }
.container, .container-fluid, .row, [class*="col-"]{ min-width:0; }
.row{ max-width:100%; }
.rts-header-area, main, footer, section{ max-width:100%; }
.rts-footer-area-one, .rts-copyright-area{ background-color:var(--nugee-footer,#081B31); }

/* El template original aplica giros/escala en hover y animaciones heredadas.
   Las fotos de contenido deben conservar siempre su orientación real. */
.business-goal-one > img,
.about-image-v-inner .image-area > img,
.team-image-area img,
.single-blog-one-wrapper .thumbnail img,
.contact-image-one img,
.nugee-product-image img,
.nugee-product-gallery img{
  transform:none !important;
  rotate:none !important;
  scale:1 !important;
}

@media (max-width: 991px){
  .container{ width:100%; padding-left:20px; padding-right:20px; }
  .rts-banner-one .banner-one-inner{ padding-left:0; padding-right:0; }
  .rts-banner-one .banner-one-inner .title{ font-size:clamp(34px,8vw,54px); line-height:1.05; overflow-wrap:anywhere; }
  .rts-banner-one .banner-one-inner .disc{ max-width:100%; }
  .nugee-editor-shell{ grid-template-columns:1fr; }
  .rts-cta-wrapper, .rts-footer-area-one, .rts-copyright-area{ overflow:hidden; }
}

@media (max-width: 575px){
  .container{ padding-left:16px; padding-right:16px; }
  .rts-btn{ min-height:48px; display:inline-flex; align-items:center; justify-content:center; white-space:normal; text-align:center; }
  .nugee-cta-row{ display:grid; grid-template-columns:1fr; }
  .nugee-cta-row .rts-btn{ width:100%; }
  .rts-title-area .title, .title-area .title{ font-size:clamp(28px,8vw,38px); overflow-wrap:anywhere; }
  .nugee-product-buybox h1.title{ font-size:clamp(28px,8vw,36px); }
  .nugee-product-gallery, .nugee-product-image{ border-radius:12px; }
  table{ display:block; max-width:100%; overflow-x:auto; }
}

/* Captación de correo honesta: no se presenta como newsletter. */
.rts-cta-wrapper .nugee-email-lead-copy{
  margin:10px 0 0;
  max-width:52ch;
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.55;
}
.rts-cta-wrapper .cta-input-arae{ flex-wrap:wrap; }
.rts-cta-wrapper .nugee-email-privacy{
  flex:0 0 100%;
  margin:10px 4px 0;
  color:rgba(255,255,255,.7);
  font-size:12px;
  line-height:1.45;
}
.rts-cta-wrapper .nugee-email-privacy a{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
.screen-reader-text{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}

/* --- Home v2.1: jerarquía, contraste y ritmo ajustados con QA visual --- */
.rts-banner-one .banner-one-inner .title{
  max-width:900px;
  font-size:clamp(42px,4.4vw,74px) !important;
  line-height:1.04 !important;
  letter-spacing:-.03em;
  text-wrap:balance;
}
.rts-banner-one .banner-one-inner .title br{ display:none; }
.rts-banner-one .banner-one-inner .disc{ color:#fff !important; max-width:720px; line-height:1.65; }
.rts-banner-one .swiper-wrapper .swiper-slide .banner-one-inner .shape-img.one,
.rts-banner-one > .animation-img{ display:none !important; }

/* Presentar una sola foto inequívoca por bloque. */
.about-one-thumbnail > img:first-child,
.business-goal-one > img:first-child{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:14px;
}
.about-one-thumbnail .small-img,
.business-goal-one img.small{ display:none !important; }

/* Perfil de contacto compacto: la foto deja de dominar y el nombre no se parte. */
.about-founder-wrapper{ display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.about-founder-wrapper > [class*="col-"]{ width:auto; flex:0 1 auto; }
.about-founder-wrapper .author-inner{ gap:14px; }
.about-founder-wrapper .author-inner::after{ display:none; }
.about-founder-wrapper .author-inner a.thumbnail{ width:86px; height:86px; margin:0; flex:0 0 86px; }
.about-founder-wrapper .author-inner a.thumbnail img{ width:100%; height:100%; object-fit:cover; }
.about-founder-wrapper .founder-details{ min-width:150px; }
.about-founder-wrapper .founder-details .title{ white-space:nowrap; font-size:18px; line-height:1.2; }
.about-founder-wrapper .author-call-option{ min-width:255px; }

/* CTA de borde a borde, sin márgenes blancos ni texto gris apagado. */
.cta-one-bg{
  position:relative;
  left:50%;
  width:100vw !important;
  max-width:none !important;
  margin-left:-50vw;
  padding:0 clamp(24px,8vw,160px);
}
.cta-one-bg .cta-one-inner{ min-height:220px; padding:48px 0 !important; }
.cta-one-bg .cta-left .title{ color:#fff !important; margin-bottom:10px; }
.cta-one-bg .cta-left .disc{ color:rgba(255,255,255,.88) !important; max-width:760px; line-height:1.65; }

/* La franja de cifras tenía 762 px fijos para una sola fila. */
.rts-counter-up-area.counter-bg{
  height:auto !important;
  min-height:0;
  padding-top:64px !important;
  padding-bottom:64px !important;
  background-position:center;
}

.rts-business-goal{ padding-top:80px; }
.rts-business-goal .goal-button-wrapper{ margin-top:36px !important; }

@media (max-width: 991px){
  .rts-banner-one .banner-one-inner .title{ font-size:clamp(38px,7vw,58px) !important; }
  .about-founder-wrapper{ align-items:flex-start; }
  .cta-one-bg .cta-one-inner{ min-height:0; padding:40px 0 !important; gap:24px; }
  .rts-counter-up-area.counter-bg{ padding-top:48px !important; padding-bottom:48px !important; }
  .rts-business-goal{ padding-top:56px; }
}

@media (max-width: 575px){
  .rts-banner-one .banner-one-inner .title{ font-size:clamp(34px,10vw,46px) !important; line-height:1.02 !important; }
  .about-founder-wrapper{ display:grid; gap:20px; margin-top:28px !important; }
  .about-founder-wrapper > [class*="col-"]{ width:100%; }
  .about-founder-wrapper .author-call-option{ min-width:0; }
  .cta-one-bg{ padding:0 20px; }
  .cta-one-bg .cta-one-inner{ align-items:flex-start; }
  .cta-one-bg .cta-right, .cta-one-bg .rts-btn{ width:100%; }
  .rts-counter-up-area.counter-bg{ padding-top:40px !important; padding-bottom:40px !important; }
}

/* --- Enlaces legales bajo el copyright del pie --- */
.rts-copyright-area .nugge-legal-links{ margin-top:8px; font-size:12px; color:rgba(255,255,255,.5); }
.rts-copyright-area .nugge-legal-links a{ color:rgba(255,255,255,.72); text-decoration:none; }
.rts-copyright-area .nugge-legal-links a:hover{ color:var(--gold); }
.rts-copyright-area .nugge-legal-links span{ margin:0 6px; }
