:root{
  --uxo-primary:#BF2002;
  --uxo-secondary:#111111;
  --uxo-accent:#BF2002;
  /* Override template defaults for better contrast */
  --font-color: #374151;
  --bg-color: #ffffff;
}

.title-subhny{ letter-spacing:1.5px; }
.title-w3l{ letter-spacing:.2px; }

/* Galería estática uniforme */
.uxo-gallery-grid .card-header img,
.uxo-gallery-grid img.radius-image{
  width:100%;
  height:260px;
  object-fit:cover;
}

.uxo-gallery-grid .item{
  margin-bottom:24px;
}

/* Formulario de hallazgos */
.uxo-report-card{
  background:#fff;
  border-radius:14px;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  padding:28px;
}

.uxo-alert-soft{
  background:#fff7e6;
  border:1px solid #ffe2a8;
  border-radius:12px;
  padding:14px 16px;
  color:#7a5200;
}

.uxo-form-help{
  font-size:13px;
  color:#6c757d;
}

/* Botón WhatsApp */
.uxo-whatsapp-btn{
  position:fixed;
  right:18px;
  bottom:18px;
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#25D366;
  color:#fff;
  border-radius:50%;
  z-index:999;
  box-shadow:0 10px 24px rgba(0,0,0,.20);
  text-decoration:none;
}
.uxo-whatsapp-btn:hover{ opacity:.92; color:#fff; }

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}

/* =========================
   Modern UI Enhancements v1
   ========================= */
:root{
  --uxo-bg: #f6f8fb;
  --uxo-text:#0f172a;
  --uxo-muted:#64748b;
  --uxo-card:#ffffff;
  --uxo-border: rgba(15, 23, 42, 0.08);
  --uxo-shadow: 0 14px 34px rgba(2, 6, 23, 0.10);
  --uxo-radius: 16px;
}

body{
  color: var(--uxo-text);
}

.w3l-main-slider .banner-info-bg p{
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

/* Header glassy */
.w3lhny-head.fixed-top{
  backdrop-filter: saturate(1.2) blur(10px);
  -webkit-backdrop-filter: saturate(1.2) blur(10px);
  background: rgba(255,255,255,0.92) !important;
  border-bottom: 1px solid var(--uxo-border);
}

/* Buttons */
.btn.btn-primary, .btn.btn-style.btn-primary{
  border-radius: 12px;
  padding: 12px 18px;
  font-weight: 700;
  letter-spacing: .2px;
}

/* Section spacing */
.py-5{ padding-top: 72px !important; padding-bottom: 72px !important; }
@media (max-width: 768px){
  .py-5{ padding-top: 54px !important; padding-bottom: 54px !important; }
}

/* Cards */
.uxo-report-card,
.w3l-text-11 .text11-content .card,
.w3l-content-2 .content-2-info,
.w3l-aboutblock .about-info,
.w3l-contact-10 .form-41-mian{
  border-radius: var(--uxo-radius);
  box-shadow: var(--uxo-shadow);
  border: 1px solid var(--uxo-border);
  background: var(--uxo-card);
}

/* Gallery uniform */
.uxo-gallery-grid .card{
  border-radius: var(--uxo-radius);
  overflow: hidden;
}
.uxo-gallery-grid img{
  border-radius: 0 !important;
}

/* Contact form inputs */
.signin-form .contact-input,
.signin-form textarea,
.form-control, .form-control-file{
  border-radius: 12px !important;
  border: 1px solid var(--uxo-border) !important;
}

/* Improve readability */
.header-section p, .header-section .mt-3{
  color: var(--uxo-muted);
}

/* WhatsApp */
.uxo-whatsapp-btn{
  width: 56px;
  height: 56px;
}

/* Reduce CLS for preview image */
#imgPreview{
  max-width: 100%;
  border-radius: 12px;
  border: 1px solid var(--uxo-border);
}

/* =========================
   Brand (Rojo / Blanco / Negro)
   ========================= */
#site-header,
.w3lhny-head,
.w3lhny-head.fixed-top,
.w3lhny-head.nav-fixed{
  background: rgba(255,255,255,0.97) !important;
  border-bottom: 1px solid rgba(17,17,17,0.10);
}

#site-header .navbar-brand{
  color: var(--uxo-secondary) !important;
  font-weight: 800;
}
#site-header .navbar-brand .sublog{
  color: var(--uxo-primary) !important;
}

#site-header .navbar-nav .nav-link{
  color: var(--uxo-secondary) !important;
  font-weight: 700;
}
#site-header .navbar-nav .nav-link:hover,
#site-header .navbar-nav .active > .nav-link,
#site-header .navbar-nav .nav-link.active{
  color: var(--uxo-primary) !important;
}

#site-header .navbar-toggler{
  border-color: rgba(17,17,17,0.25) !important;
}
#site-header .navbar-toggler-icon{
  color: var(--uxo-secondary) !important;
}

.btn.btn-primary,
.btn.btn-style.btn-primary{
  background: var(--uxo-primary) !important;
  border-color: var(--uxo-primary) !important;
}
.btn.btn-primary:hover,
.btn.btn-style.btn-primary:hover{
  background: var(--uxo-secondary) !important;
  border-color: var(--uxo-secondary) !important;
}

.title-subhny{
  color: var(--uxo-primary) !important;
}

a{ color: var(--uxo-secondary); }
a:hover{ color: var(--uxo-primary); }

/* Hero overlay: asegurar contraste del texto sin ocultar el menú */
.w3l-main-slider .banner-view{
  position: relative;
}
.w3l-main-slider .banner-view:before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(255,255,255,0.25) 0%, rgba(255,255,255,0.10) 35%, rgba(0,0,0,0.20) 100%);
  pointer-events:none;
}
.w3l-main-slider .banner-info{
  position: relative;
  z-index: 1;
}

/* Ajuste del escudo en el logo */
#site-header .navbar-brand img{
  width: 64px !important;
  height: 64px !important;
  object-fit: contain;
  margin-right: 12px;
  vertical-align: middle;
  flex: 0 0 auto;
}

/* Links + navegación */
a:hover,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{
  color: var(--uxo-brand) !important;
}

/* Botones principales */
.btn-primary,
.btn.btn-style.btn-primary{
  background: var(--uxo-brand) !important;
  border-color: var(--uxo-brand) !important;
}
.btn-primary:hover,
.btn.btn-style.btn-primary:hover{
  background: var(--uxo-brand-dark) !important;
  border-color: var(--uxo-brand-dark) !important;
}

/* Todo lo "amarillo" (warning) pasa a rojo vino */
.text-warning{ color: var(--uxo-brand) !important; }
.bg-warning{ background: var(--uxo-brand) !important; }
.badge-warning{ background: var(--uxo-brand) !important; color:#fff !important; }
.btn-warning{ background: var(--uxo-brand) !important; border-color: var(--uxo-brand) !important; color:#fff !important; }
.btn-warning:hover{ background: var(--uxo-brand-dark) !important; border-color: var(--uxo-brand-dark) !important; }

/* Subtítulos y acentos */
.title-subhny{ color: var(--uxo-brand) !important; }

/* Header: evita solapes (brand vs Inicio / toggler) */
#site-header .navbar h2{ margin:0 !important; }
#site-header .navbar{ align-items:center; }
#site-header .navbar-brand{
  display:flex !important;
  align-items:center;
  gap:12px;
  line-height:1.1;
  margin:0;
  padding:6px 0;
  color:#111 !important;
  max-width: 72vw;
}
#site-header .navbar-brand img{
  width: 64px !important;
  height: 64px !important;
  object-fit: contain;
}
#site-header .navbar-nav .nav-link{
  color:#111 !important;
  font-weight:600;
}

/* El buscador del template empuja el menú; se oculta para diseño limpio */
/* Ajustes en móvil */
@media (max-width: 991px){
  #site-header .navbar-brand{ max-width: 68vw; font-size:16px; }
  #site-header .navbar-brand img{
    width: 50px !important;
    height: 50px !important;
  }
  #site-header .navbar-toggler{ margin-left:auto; }
}

/* Mensaje "importante": pasa de amarillo a rojo vino suave */
.uxo-alert-soft{
  background: var(--uxo-warning-bg) !important;
  border: 1px solid var(--uxo-warning-border) !important;
  color: var(--uxo-brand-dark) !important;
}

/* Iconos/acentos en bloques (si vienen con warning) */
.w3l-industry-address .ad-icon span{
  background: var(--uxo-brand) !important;
}
.w3l-industry-address .one-address:hover .ad-icon span{
  background: var(--uxo-brand-dark) !important;
}

/* Hero: forzar imagen de portada */
.w3l-main-slider .banner-view.banner-top2{
  background: url(../images/bg1.webp) no-repeat center !important;
  background-size: cover !important;
}

/* Evitar que WhatsApp se monte sobre el botón "subir" */
#movetop{
  right: 18px !important;
  bottom: 18px !important;
  z-index: 999 !important;
}
.uxo-whatsapp-btn{
  right: 18px !important;
  bottom: 90px !important; /* arriba del movetop */
  z-index: 998 !important;
}

/* en móvil usamos solo el menú; búsqueda en la página de búsqueda */

/* Language switch */
.uxo-lang a{
  display:inline-flex;
  align-items:center;
  height:38px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.14);
  color:#111 !important;
  font-weight:700;
  text-decoration:none;
}
.uxo-lang a:hover{
  border-color:#BF2002;
  color:#BF2002 !important;
}


/* ===== UXO BRAND OVERRIDE - Logo Red (rojo del logo) ===== */
:root{
  --uxo-brand:#BF2002;
  --uxo-brand-rgb:191,32,2;
  --uxo-brand-dark:#851601;

  /* Map theme variables (reemplaza rojos y amarillos del template) */
  --primary-color: #BF2002;
  --warning: #BF2002;
  --yellow: #BF2002;
  --danger: #BF2002;
  --red: #BF2002;

  /* Soft background used for alerts/cards previously in amarillo */
  --uxo-warning-bg: #FFF1F1;
  --uxo-warning-border: #FFC9C9;
}

/* Enlaces + navegación */
a:hover,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{
  color: var(--uxo-brand) !important;
}

/* Botones */
.btn-primary,
.btn.btn-style.btn-primary,
.btn-warning,
.btn.btn-style.btn-warning{
  background: var(--uxo-brand) !important;
  border-color: var(--uxo-brand) !important;
  color:#fff !important;
}
.btn-primary:hover,
.btn.btn-style.btn-primary:hover,
.btn-warning:hover,
.btn.btn-style.btn-warning:hover{
  background: var(--uxo-brand-dark) !important;
  border-color: var(--uxo-brand-dark) !important;
  color:#fff !important;
}

/* Clases warning/text-warning */
.text-warning{ color: var(--uxo-brand) !important; }
.bg-warning{ background: var(--uxo-brand) !important; color:#fff !important; }
.badge-warning{ background: var(--uxo-brand) !important; color:#fff !important; }

/* Subtítulos/acentos */
.title-subhny{ color: var(--uxo-brand) !important; }

/* Alertas suaves */
.uxo-alert-soft{
  background: var(--uxo-warning-bg) !important;
  border: 1px solid var(--uxo-warning-border) !important;
  color: #4a0a0a !important;
}

/* ===== Header / Menu alignment (sin barra de búsqueda) ===== */
#site-header .navbar {
  gap: 10px;
}

#site-header .navbar-collapse {
  justify-content: flex-end;
}

#site-header .navbar-nav {
  align-items: center;
  gap: 6px;
}

#site-header .navbar-nav .nav-link {
  padding: 10px 12px;
  border-radius: 12px;
  transition: background .2s ease, color .2s ease;
}

#site-header .navbar-nav .nav-link:hover {
  background: rgba(191,32,2,.08);
}

#site-header .navbar-nav .nav-link.active {
  background: rgba(191,32,2,.10);
  color: var(--uxo-brand) !important;
}

#site-header .uxo-lang a {
  border: 1px solid rgba(15,23,42,.14);
  background: #fff;
}

#site-header .uxo-lang a:hover {
  border-color: #BF2002;
}

@media (max-width: 991px) {
  #site-header .navbar-nav .nav-link {
    padding: 10px 10px;
  }
}

/* ===== Language switch (ES/EN) ===== */
.uxo-lang-switch{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left: 4px !important;
  margin-right: 18px;
}
.uxo-lang-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 34px;
  min-width: 42px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.16);
  color:#111 !important;
  font-weight: 800;
  text-decoration:none;
  background:#fff;
}
.uxo-lang-pill:hover{
  border-color: var(--uxo-brand);
  color: var(--uxo-brand) !important;
}
.uxo-lang-pill.active{
  background: var(--uxo-brand);
  border-color: var(--uxo-brand);
  color:#fff !important;
}
@media (max-width: 991px){
  .uxo-lang-switch{ margin-left: 0; margin-right: 0; padding: 10px 0; }
}

/* ===== UXO Carousel (Proyectos) ===== */
.uxo-carousel{
  position: relative;
  display:flex;
  align-items:center;
  gap: 12px;
}
.uxo-carousel-track{
  display:flex;
  gap: 16px;
  overflow-x: auto;
  padding: 6px 2px 10px;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}
.uxo-carousel-track::-webkit-scrollbar{ height: 8px; }
.uxo-carousel-track::-webkit-scrollbar-thumb{ background: rgba(15,23,42,.18); border-radius: 999px; }
.uxo-carousel-slide{
  flex: 0 0 340px;
  height: 240px;
  border-radius: 18px;
  overflow:hidden;
  scroll-snap-align: start;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 14px 34px rgba(2,6,23,0.08);
  background:#fff;
}
.uxo-carousel-slide picture,
.uxo-carousel-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit: cover;
}
.uxo-carousel-btn{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.14);
  background: #fff;
  color: #111;
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 10px 24px rgba(2,6,23,0.10);
}
.uxo-carousel-btn:hover{
  border-color: var(--uxo-brand);
  color: var(--uxo-brand);
}
@media (max-width: 991px){
  .uxo-carousel-btn{ display:none; } /* swiping is easiest on mobile */
  .uxo-carousel-slide{ flex-basis: 78vw; height: 220px; }
}
@media (max-width: 480px){
  .uxo-carousel-slide{ flex-basis: 86vw; height: 210px; }
}

/* ===== Services symmetry ===== */
#services1 .cwp23-title{ max-width: 560px; }
#services1 .cwp23-text-cols{
  display:grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
@media (min-width: 992px){
  #services1 .cwp23-text-cols{
    grid-template-columns: 1fr;
  }
}
#services1 .cwp23-text-cols .column span.fa{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(191,32,2,.10);
  color: var(--uxo-brand);
}
#services1 .cwp23-text-cols .column h6 a{
  text-decoration:none;
}
#services1 .cwp23-text-cols .column p{
  line-height: 1.6;
}

/* ===== Enhanced Services Blocks ===== */
.uxo-kpi-box{
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  padding: 18px 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(2,6,23,0.06);
}
.uxo-kpi-item{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 10px 8px;
}
.uxo-kpi-item + .uxo-kpi-item{
  border-top: 1px solid rgba(15,23,42,.08);
}
.uxo-kpi-item .fa{
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(191,32,2,.10);
  color: var(--uxo-brand);
  font-size: 18px;
}
.uxo-kpi-sub{ color: rgba(15,23,42,.72); font-size: 14px; }

.uxo-service-card{
  height: 100%;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  padding: 22px 20px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(2,6,23,0.06);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.uxo-service-card:hover{
  transform: translateY(-2px);
  border-color: rgba(191,32,2,.35);
  box-shadow: 0 18px 48px rgba(2,6,23,0.10);
}
.uxo-service-icon{
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(191,32,2,.12);
  color: var(--uxo-brand);
  font-size: 22px;
}
.uxo-service-card h5{
  margin-top: 14px;
  margin-bottom: 10px;
  font-weight: 800;
  font-size: 18px;
}
.uxo-service-card p{ margin-bottom: 0; color: rgba(15,23,42,.78); line-height: 1.6; }

.uxo-gallery-tile{
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 14px 34px rgba(2,6,23,0.06);
  background:#fff;
}
.uxo-gallery-tile img{ width:100%; height: 260px; object-fit: cover; display:block; }

.uxo-cta{
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.28)), url(../images/bg1.webp) center/cover no-repeat;
}
.uxo-cta .btn.btn-light{
  background:#fff !important;
  color:#111 !important;
  border-color:#fff !important;
}
.uxo-cta .btn.btn-outline-light{
  border-color: rgba(255,255,255,.80) !important;
}
@media (max-width: 575px){
  .uxo-gallery-tile img{ height: 220px; }
}
/* ===== End Enhanced Services Blocks ===== */

/* ===== UXO Hero (Home) ===== */
.w3l-main-slider .banner-top2{
  min-height: 100vh;
  background-image: url(../images/bg.webp), url(../images/bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
.w3l-main-slider .banner-top2::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.55));
}
.w3l-main-slider .banner-top2 .banner-info{
  position: relative;
  z-index: 1;
}
.uxo-hero-title{
  margin: 0;
  color:#fff;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-size: clamp(34px, 5vw, 74px);
  line-height: 1.05;
  text-shadow: 0 12px 30px rgba(0,0,0,.55);
  max-width: 980px;
}
@media (max-width: 575px){
  .uxo-hero-title{ font-size: clamp(30px, 9vw, 48px); }
}
/* ===== End UXO Hero ===== */

/* ===== Back to top button ===== */
.uxo-back-to-top{
  position: fixed;
  right: 18px;
  bottom: 86px; /* keeps clear of WhatsApp button */
  width: 52px;
  height: 52px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: var(--uxo-brand);
  color: #fff;
  text-decoration: none;
  z-index: 998;
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.18);
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.uxo-back-to-top.show{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.uxo-back-to-top:hover{
  filter: brightness(1.04);
}
.uxo-back-to-top .fa{
  font-size: 18px;
}
@media (max-width: 991px){
  .uxo-back-to-top{ bottom: 92px; }
}
/* ===== End Back to top button ===== */

/* ===== About page upgrades ===== */
.uxo-media-frame{
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 18px 48px rgba(2,6,23,0.10);
  background: #000;
}
.uxo-checklist .uxo-check{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  padding: 8px 0;
}
.uxo-checklist .uxo-check .fa{
  width: 22px;
  height: 22px;
  border-radius: 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(191,32,2,.12);
  color: var(--uxo-brand);
  margin-top: 2px;
  flex: 0 0 22px;
}
.uxo-mini-note{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(2,6,23,0.03);
}
.uxo-mini-note .fa{ color: var(--uxo-brand); margin-top: 2px; }

.uxo-about-features .uxo-feature-card{
  height: 100%;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  padding: 22px 20px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(2,6,23,0.06);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.uxo-about-features .uxo-feature-card:hover{
  transform: translateY(-2px);
  border-color: rgba(191,32,2,.35);
  box-shadow: 0 18px 48px rgba(2,6,23,0.10);
}
.uxo-feature-ico{
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(191,32,2,.12);
  color: var(--uxo-brand);
  font-size: 22px;
}
.uxo-feature-card h5{
  margin-top: 14px;
  margin-bottom: 10px;
  font-weight: 800;
  font-size: 18px;
}
.uxo-feature-card p{ margin-bottom: 0; color: rgba(15,23,42,.78); line-height: 1.6; }

.uxo-about-photos{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.uxo-about-photos .uxo-photo{
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 12px 28px rgba(2,6,23,0.06);
  background:#fff;
}
.uxo-about-photos img{ width:100%; height: 110px; object-fit: cover; display:block; }

.uxo-mvv-card{
  height: 100%;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  padding: 20px 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(2,6,23,0.06);
}
.uxo-mvv-ico{
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(191,32,2,.12);
  color: var(--uxo-brand);
  font-size: 20px;
}
.uxo-mvv-card h5{ margin-top: 12px; margin-bottom: 8px; font-weight: 800; }
.uxo-mvv-card p{ margin-bottom: 0; color: rgba(15,23,42,.78); line-height: 1.6; }

.uxo-scope{
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  padding: 18px 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(2,6,23,0.06);
}
.uxo-scope-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px 14px;
}
.uxo-scope-item{
  display:flex;
  gap: 10px;
  align-items:flex-start;
}
.uxo-scope-item .fa{
  color: var(--uxo-brand);
  margin-top: 2px;
}

.uxo-about-gallery .uxo-gallery-tile{
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 14px 34px rgba(2,6,23,0.06);
  background:#fff;
}
.uxo-about-gallery .uxo-gallery-tile img{
  width:100%;
  height: 280px;
  object-fit: cover;
  display:block;
}

.uxo-about-cta{
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.28)), url(../images/bg1.webp) center/cover no-repeat;
}
.uxo-about-cta .btn.btn-light{
  background:#fff !important;
  color:#111 !important;
  border-color:#fff !important;
}
.uxo-about-cta .btn.btn-outline-light{
  border-color: rgba(255,255,255,.80) !important;
}

@media (max-width: 991px){
  .uxo-about-photos img{ height: 100px; }
  .uxo-scope-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 575px){
  .uxo-about-gallery .uxo-gallery-tile img{ height: 220px; }
}
/* ===== End About page upgrades ===== */

/* ===== WhatsApp above BackToTop (positioning) ===== */
.uxo-back-to-top{ bottom: 18px !important; } /* below */
.uxo-whatsapp-btn{ bottom: 86px !important; } /* above */
@media (max-width: 991px){
  .uxo-whatsapp-btn{ bottom: 92px !important; }
  .uxo-back-to-top{ bottom: 18px !important; }
}
/* ===== End WhatsApp above BackToTop ===== */

/* ===== Enhanced Home Services ===== */
.uxo-home-services{
  position: relative;
  background: radial-gradient(1200px 600px at 15% 10%, rgba(191,32,2,.06), transparent 55%),
              radial-gradient(900px 520px at 90% 35%, rgba(0,0,0,.05), transparent 55%),
              #ffffff;
}
.uxo-services-hero-img{
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 18px 48px rgba(2,6,23,0.10);
  background: #fff;
}
.uxo-services-hero-img img{
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
}
.uxo-service-tile{
  height: 100%;
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  background: #fff;
  box-shadow: 0 14px 34px rgba(2,6,23,0.06);
  padding: 20px 18px;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.uxo-service-tile:hover{
  transform: translateY(-2px);
  border-color: rgba(191,32,2,.35);
  box-shadow: 0 18px 48px rgba(2,6,23,0.10);
}
.uxo-service-top{
  display:flex;
  gap: 14px;
  align-items:flex-start;
}
.uxo-service-ico{
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(191,32,2,.12);
  color: var(--uxo-brand);
  font-size: 22px;
  flex: 0 0 54px;
}
.uxo-service-meta h4{
  margin: 0 0 8px 0;
  font-weight: 900;
  font-size: 18px;
  line-height: 1.25;
}
.uxo-service-meta h4 a{ color: #111; }
.uxo-service-meta p{
  margin: 0;
  color: rgba(15,23,42,.78);
  line-height: 1.55;
  font-size: 15px;
}
.uxo-service-link{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  margin-top: 14px;
  font-weight: 800;
  color: var(--uxo-brand);
  text-decoration: none;
}
.uxo-service-link:hover{ text-decoration: underline; }
@media (max-width: 575px){
  .uxo-services-hero-img img{ height: 220px; }
}
/* ===== End Enhanced Home Services ===== */

/* ===== Home cover image section ===== */
.uxo-home-cover{
  position: relative;
  width: 100%;
  height: clamp(320px, 55vh, 720px);
  overflow: hidden;
  margin: 0;
  background: #000;
}
.uxo-home-cover img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.uxo-home-cover::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.40));
  pointer-events:none;
}
/* keep spacing consistent with surrounding sections */
@media (max-width: 575px){
  .uxo-home-cover{ height: clamp(260px, 45vh, 520px); }
}
/* ===== End Home cover image section ===== */

/* ===== Responsive YouTube embeds ===== */
.uxo-video-embed{
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  border-radius: 18px;
  overflow: hidden;
  background: #000;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 18px 48px rgba(2,6,23,0.10);
}
.uxo-video-embed iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.uxo-video-fallback{
  display: inline-block;
  margin-top: 10px;
  font-weight: 800;
  color: var(--uxo-brand);
  text-decoration: none;
}
.uxo-video-fallback:hover{ text-decoration: underline; }
/* ===== End Responsive YouTube embeds ===== */

/* ===== Enhanced Footer ===== */
.footer-28{
  background: #07172b;
}
.footer-28 a{
  transition: color .15s ease;
}
.footer-28 .text-white-50:hover{
  color: rgba(255,255,255,.90) !important;
}
.footer-28 hr{
  opacity: 1;
}
@media (max-width: 575px){
  .footer-28 .row.mb-4{ margin-bottom: 1.5rem !important; }
}
/* ===== End Enhanced Footer ===== */

/* ===== Contact info cards ===== */
.uxo-report-card .fa.fa-2x{
  display: block;
}
/* ===== End Contact info cards ===== */

/* ===== Form validation feedback ===== */
.uxo-field-error{
  display: none;
  font-size: 12px;
  color: var(--uxo-brand);
  margin-top: 4px;
}
.uxo-field-error.show{
  display: block;
}
.contact-input.is-invalid,
textarea.is-invalid,
.form-control.is-invalid{
  border-color: var(--uxo-brand) !important;
  box-shadow: 0 0 0 3px rgba(191,32,2,.12) !important;
}
.contact-input.is-valid,
textarea.is-valid,
.form-control.is-valid{
  border-color: #28a745 !important;
}
/* ===== End Form validation feedback ===== */

/* ===== Home cover image section (About divider) ===== */
.uxo-home-cover.uxo-home-cover--about{
  position: relative;
  width: 100%;
  height: clamp(420px, 70vh, 860px);
  overflow: hidden;
  margin: 0;
  background: #000;
  display: flex;
  align-items: center;
}
.uxo-home-cover.uxo-home-cover--about picture,
.uxo-home-cover.uxo-home-cover--about > img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.uxo-home-cover.uxo-home-cover--about img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
}
.uxo-home-cover.uxo-home-cover--about::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.40) 45%, rgba(0,0,0,.18) 100%);
  pointer-events:none;
}
.uxo-home-cover-content{
  position: relative;
  z-index: 2;
  max-width: 640px;
  margin-left: clamp(16px, 5vw, 64px);
  padding: 22px 22px;
  border-radius: 18px;
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(8px);
  box-shadow: 0 18px 48px rgba(0,0,0,.30);
}
.uxo-cover-kicker{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #fff;
  opacity: .92;
}
.uxo-cover-kicker::before{
  content:"";
  width: 34px;
  height: 3px;
  border-radius: 999px;
  background: var(--uxo-brand);
  box-shadow: 0 0 0 6px rgba(191,32,2,.12);
}
.uxo-home-cover-content h2{
  color: #fff;
  margin: 12px 0 10px 0;
  font-weight: 900;
  font-size: clamp(26px, 3.2vw, 44px);
  line-height: 1.1;
  text-shadow: 0 14px 34px rgba(0,0,0,.35);
}
.uxo-home-cover-content p{
  color: rgba(255,255,255,.88);
  margin: 0 0 16px 0;
  line-height: 1.6;
  font-size: 16px;
}
.uxo-cover-actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}
.uxo-home-cover .btn.btn-outline-light{
  border-color: rgba(255,255,255,.70) !important;
  color: #fff !important;
}
.uxo-home-cover .btn.btn-outline-light:hover{
  border-color: rgba(255,255,255,.90) !important;
  filter: brightness(1.03);
}

@media (max-width: 575px){
  .uxo-home-cover.uxo-home-cover--about{
    height: clamp(360px, 68vh, 560px);
    align-items: flex-end;
    padding-bottom: 18px;
  }
  .uxo-home-cover-content{
    max-width: none;
    margin: 0 14px;
    padding: 18px 16px;
  }
}
/* ===== End Home cover image section (About divider) ===== */

/* ===== Carousel controls overlay ===== */
.uxo-carousel{
  position: relative;
}
.uxo-carousel-track{
  padding-left: 60px;
  padding-right: 60px;
}
.uxo-carousel-btn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
}
.uxo-carousel-prev{ left: 10px; }
.uxo-carousel-next{ right: 10px; }

/* Prevent buttons from being hidden by parent overflow */
.uxo-carousel{ overflow: visible; }

/* Slight transparency to keep focus on images */
.uxo-carousel-btn{
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(6px);
}
.uxo-carousel-btn:active{ transform: translateY(-50%) scale(.98); }

@media (max-width: 991px){
  .uxo-carousel-track{ padding-left: 6px; padding-right: 6px; }
}
/* ===== End Carousel controls overlay ===== */


/* ===== Carousel controls positioning fix ===== */
.uxo-carousel{ position: relative; }
.uxo-carousel-btn{
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 20 !important;
}
.uxo-carousel-prev{ left: 10px !important; }
.uxo-carousel-next{ right: 10px !important; }
@media (max-width: 991px){
  /* keep hidden on mobile per design; adjust if needed */
}

/* ================================================================
   REDISEÑO VISUAL INTEGRAL — UXO PANAMÁ 2026
   Jerarquía de secciones, contraste, tipografía y componentes
   ================================================================ */

/* ── Variables extendidas ───────────────────────────────────────── */
:root{
  --uxo-navy:   #0d1b2a;
  --uxo-slate:  #1e293b;
  --uxo-warm:   #f5f3ef;
  --uxo-border-light: rgba(15,23,42,.08);
  --uxo-shadow-sm:    0 4px 16px rgba(2,6,23,.08);
  --uxo-shadow-md:    0 12px 32px rgba(2,6,23,.12);
  --uxo-shadow-lg:    0 24px 56px rgba(2,6,23,.16);
}

/* ── HERO: texto centrado + padding superior ────────────────────── */
.w3l-main-slider .banner-info{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding-top: 80px;
}
.banner-info-bg{
  text-align: center;
  padding: 0 16px;
}
.uxo-hero-title{
  font-size: clamp(36px, 6vw, 80px) !important;
  letter-spacing: .03em;
}
/* Línea decorativa bajo hero title */
.uxo-hero-title::after{
  content:"";
  display:block;
  width: 64px;
  height: 4px;
  border-radius: 999px;
  background: var(--uxo-brand);
  margin: 22px auto 0;
}

/* ── ALTERNANCIA DE FONDOS ──────────────────────────────────────── */
/* About → blanco puro */
.w3l-index1{ background: #fff; }

/* Servicios → fondo cálido */
.uxo-home-services{ background: var(--uxo-warm) !important; }

/* CTA "Llámenos" → elimina la tarjeta blanca flotante */
.w3l-content-mid .welcome-left{
  background: transparent !important;
  border-radius: 0;
  padding: 0;
}
.w3l-content-mid .welcome-left .title-subhny{ color: var(--uxo-brand) !important; }
.w3l-content-mid .welcome-left h3{
  color: #fff !important;
  font-size: clamp(22px, 3vw, 38px);
  font-weight: 900;
  max-width: 580px;
  line-height: 1.2;
}
/* Centrar el bloque en el contenedor */
.w3l-content-mid .content-4-main{
  padding: 80px 0;
}
.w3l-content-mid .container{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 28px;
}
.w3l-content-mid .welcome-left{
  flex: 1 1 340px;
}
/* Teléfono como CTA prominente */
.w3l-content-mid .btn.btn-style.btn-primary{
  font-size: 20px !important;
  padding: 16px 36px !important;
  border-radius: 14px !important;
  letter-spacing: .5px;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Formulario reporte → fondo navy oscuro */
#reporte-mnd{
  background: var(--uxo-navy) !important;
}
#reporte-mnd .header-section .title-subhny{ color: var(--uxo-brand) !important; }
#reporte-mnd .title-w3l{
  color: #fff !important;
}
#reporte-mnd > .container > .header-section > p{
  color: rgba(255,255,255,.72) !important;
}
.uxo-alert-soft{
  background: rgba(191,32,2,.12) !important;
  border: 1px solid rgba(191,32,2,.30) !important;
  color: #ffd5cc !important;
}
.uxo-report-card{
  background: #fff !important;
  border-radius: 20px !important;
  box-shadow: var(--uxo-shadow-lg) !important;
  border: none !important;
  padding: 36px !important;
}

/* Galería → fondo oscuro para que las fotos resalten */
#blogs{
  background: var(--uxo-slate) !important;
}
#blogs .title-subhny{ color: var(--uxo-brand) !important; }
#blogs .title-w3l{ color: #fff !important; }

/* Estadísticas: eliminar el gray box flotante */
.w3l-stats .stats-left{
  background: transparent !important;
  padding: 50px 40px !important;
}
.w3l-stats .header-section .title-w3l{
  color: #fff !important;
}
.w3l-stats .counter{
  color: var(--uxo-brand) !important;
  font-size: 46px !important;
  font-weight: 900 !important;
  line-height: 1;
  margin-bottom: 4px;
}
.w3l-stats .stats_info h4{
  color: rgba(255,255,255,.80) !important;
  font-size: 13px !important;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.w3l-stats .stats-con > p{
  color: rgba(255,255,255,.68) !important;
  font-size: 15px;
  line-height: 1.7;
  margin-top: 24px !important;
}
/* Línea divisora entre stats y texto */
.w3l-stats .stats-con{
  border-top: 1px solid rgba(255,255,255,.10);
  padding-top: 24px;
}
/* Redondear imagen stats */
.w3l-stats img{
  border-radius: 20px !important;
  object-fit: cover;
}

/* ── SECCIÓN SOBRE NOSOTROS ─────────────────────────────────────── */
.w3l-index1 .lead{
  font-size: 17px;
  font-weight: 700;
  color: var(--uxo-slate);
  line-height: 1.55;
}
.w3l-index1 p{ line-height: 1.75; }

/* ── TARJETAS DE SERVICIOS ──────────────────────────────────────── */
.uxo-service-tile{
  background: #fff !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  border-radius: 20px !important;
  box-shadow: var(--uxo-shadow-sm) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
  padding: 24px 22px !important;
}
.uxo-service-tile:hover{
  transform: translateY(-4px) !important;
  box-shadow: var(--uxo-shadow-md) !important;
  border-color: rgba(191,32,2,.25) !important;
}
/* Ícono: sólido oscuro con texto rojo */
.uxo-service-ico{
  background: var(--uxo-navy) !important;
  color: var(--uxo-brand) !important;
  border-radius: 16px !important;
  width: 56px !important;
  height: 56px !important;
  font-size: 24px !important;
}
.uxo-service-meta h4{ font-size: 17px !important; font-weight: 800; }
.uxo-service-meta h4 a{ color: var(--uxo-navy) !important; }
.uxo-service-link{ color: var(--uxo-brand) !important; font-weight: 800; font-size: 14px; }

/* Imagen de servicios más alta */
.uxo-services-hero-img img{ height: 340px !important; object-fit: cover; }

/* ── FORMULARIO DE CONTACTO INPUTS ──────────────────────────────── */
.contact-input,
.signin-form textarea,
.form-control,
input[type="text"].contact-input,
input[type="email"].contact-input,
input[type="tel"].contact-input{
  background: #f8f9fb !important;
  border: 1.5px solid rgba(15,23,42,.12) !important;
  border-radius: 12px !important;
  padding: 13px 16px !important;
  font-size: 15px !important;
  color: var(--uxo-navy) !important;
  transition: border-color .15s, box-shadow .15s !important;
  width: 100%;
}
.contact-input:focus,
.signin-form textarea:focus,
.form-control:focus{
  border-color: var(--uxo-brand) !important;
  box-shadow: 0 0 0 3px rgba(191,32,2,.10) !important;
  background: #fff !important;
  outline: none;
}
/* Botón Obtener ubicación */
.input-group-append .btn-outline-secondary{
  border-radius: 0 12px 12px 0 !important;
  border: 1.5px solid rgba(15,23,42,.14) !important;
  border-left: none !important;
  color: var(--uxo-slate) !important;
  font-weight: 700;
}

/* ── BREADCRUMB / INNER BANNER ──────────────────────────────────── */
.inner-banner{
  background: var(--uxo-navy) !important;
  min-height: 160px;
  background-image: url(../images/bg1.webp) !important;
  background-size: cover !important;
  background-position: center !important;
  position: relative;
}
.inner-banner::before{
  content:"";
  position: absolute;
  inset:0;
  background: linear-gradient(135deg, rgba(13,27,42,.90), rgba(13,27,42,.70));
}
.w3l-breadcrumb{
  background: var(--uxo-navy) !important;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.w3l-breadcrumb .breadcrumbs-custom-path li a{
  color: rgba(255,255,255,.55) !important;
  font-size: 14px;
}
.w3l-breadcrumb .breadcrumbs-custom-path .active{
  color: rgba(255,255,255,.85) !important;
  font-size: 14px;
}
.w3l-breadcrumb .breadcrumbs-custom-path li .fa{
  color: var(--uxo-brand) !important;
}

/* ── HEADER (navbar) refinado ───────────────────────────────────── */
#site-header.fixed-top{
  box-shadow: 0 2px 20px rgba(2,6,23,.10) !important;
}

/* ── BOTONES ────────────────────────────────────────────────────── */
.btn.btn-style.btn-primary,
.btn.btn-primary{
  border-radius: 12px !important;
  padding: 12px 26px !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  letter-spacing: .2px;
  transition: background .18s, transform .12s, box-shadow .18s !important;
}
.btn.btn-style.btn-primary:hover,
.btn.btn-primary:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(191,32,2,.30) !important;
}

/* ── CONTACT PAGE — tarjetas de info ───────────────────────────── */
.w3l-contact-2 .uxo-report-card{
  background: #fff !important;
  transition: transform .16s ease, box-shadow .16s ease;
}
.w3l-contact-2 .uxo-report-card:hover{
  transform: translateY(-3px);
  box-shadow: var(--uxo-shadow-md) !important;
}
.w3l-contact-2 .uxo-report-card h5{ font-weight: 800; color: var(--uxo-navy); }
.w3l-contact-2 .uxo-report-card a{ color: var(--uxo-brand); font-weight: 600; }

/* Mapa con bordes redondeados */
.map-iframe iframe{
  border-radius: 18px !important;
  box-shadow: var(--uxo-shadow-md) !important;
}

/* ── SECCIÓN DE CONTACTO — imagen lateral ───────────────────────── */
.contact-grids .contact-left-img .radius-image{
  border-radius: 20px !important;
  box-shadow: var(--uxo-shadow-md) !important;
  width: 100%;
  object-fit: cover;
}

/* ── COVER SECTION (imagen entre nosotros y servicios) ─────────── */
.uxo-home-cover-content{
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  background: rgba(13,27,42,.52) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

/* ── GALERÍA CAROUSEL ───────────────────────────────────────────── */
.uxo-carousel-slide{
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(0,0,0,.28) !important;
  border: none !important;
}
.uxo-carousel-btn{
  background: rgba(255,255,255,.95) !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.25) !important;
  color: var(--uxo-navy) !important;
}
.uxo-carousel-btn:hover{ color: var(--uxo-brand) !important; }

/* ── TARJETA ALERTA IMPORTANTE (formulario reporte) ─────────────── */
#reporte-mnd .uxo-alert-soft strong{ color: #fff !important; }

/* ── WHATSAPP + BACK TO TOP ────────────────────────────────────── */
.uxo-whatsapp-btn{
  box-shadow: 0 8px 28px rgba(37,211,102,.35) !important;
}
.uxo-back-to-top{
  box-shadow: 0 8px 28px rgba(191,32,2,.30) !important;
}

/* ── FOOTER LINKS hover ─────────────────────────────────────────── */
.footer-28 a.text-white-50:hover{
  color: #fff !important;
}

/* ── RESPONSIVE: stats en móvil ─────────────────────────────────── */
@media (max-width: 991px){
  .w3l-stats .stats-left{ padding: 36px 20px !important; }
  .w3l-stats .counter{ font-size: 38px !important; }
  .w3l-content-mid .container{
    flex-direction: column;
    text-align: center;
  }
  .w3l-content-mid .welcome-left h3{ max-width: 100%; }
}
@media (max-width: 575px){
  .uxo-report-card{ padding: 22px 16px !important; }
  .w3l-stats .counter{ font-size: 34px !important; }
}

/* ── TITLE-SUBHNY decorativo (líneas laterales) ─────────────────── */
.title-subhny{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase;
}
.title-subhny::before,
.title-subhny::after{
  content:"";
  display: inline-block;
  width: 28px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  opacity: .55;
}

/* ── HEADER-SECTION centrado refinado ───────────────────────────── */
.header-section.text-center{
  text-align: center;
}
.header-section .title-w3l{
  font-weight: 900;
  font-size: clamp(22px, 3vw, 36px);
  line-height: 1.15;
  margin-top: 12px;
}

/* ── DARK SECTIONS — forzar text-center subtitle ────────────────── */
#blogs .header-section,
.w3l-stats .header-section{
  text-align: center;
}

/* ================================================================
   FIN REDISEÑO VISUAL INTEGRAL
   ================================================================ */

/* ================================================================
   PARCHE ÍCONOS SERVICIOS — fondo navy, ícono rojo
   ================================================================ */

/* Tarjetas de servicio detalladas (services.html) */
.uxo-service-icon{
  background: var(--uxo-navy) !important;
  color: var(--uxo-brand) !important;
  border-radius: 16px !important;
  width: 56px !important;
  height: 56px !important;
  font-size: 22px !important;
  flex-shrink: 0;
}
.uxo-service-card{
  border-radius: 20px !important;
  box-shadow: var(--uxo-shadow-sm) !important;
  border: 1px solid var(--uxo-border-light) !important;
  padding: 26px 22px !important;
  background: #fff !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.uxo-service-card:hover{
  transform: translateY(-4px) !important;
  box-shadow: var(--uxo-shadow-md) !important;
  border-color: rgba(191,32,2,.22) !important;
}
.uxo-service-card h5{
  color: var(--uxo-navy) !important;
  font-weight: 800 !important;
  font-size: 17px !important;
}

/* Íconos del bloque #services1 (lista texto) */
#services1 .cwp23-text-cols .column span.fa{
  background: var(--uxo-navy) !important;
  color: var(--uxo-brand) !important;
  width: 50px !important;
  height: 50px !important;
  border-radius: 14px !important;
  font-size: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#services1 .cwp23-text-cols .column h6 a{
  color: var(--uxo-navy) !important;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .3px;
}
#services1 .cwp23-text-cols .column p{
  color: rgba(15,23,42,.70) !important;
}

/* KPI box en servicios */
.uxo-kpi-box{
  background: var(--uxo-warm) !important;
  border: 1px solid rgba(15,23,42,.07) !important;
  border-radius: 20px !important;
  box-shadow: var(--uxo-shadow-sm) !important;
}
.uxo-kpi-item .fa{
  background: var(--uxo-navy) !important;
  color: var(--uxo-brand) !important;
  border-radius: 12px !important;
}

/* Galería de campo en servicios — fondo cálido */
.w3l-team#services-gallery{
  background: var(--uxo-warm) !important;
}

/* Sección intro servicios (#services1) — fondo blanco, imagen redondeada */
#services1 .cwp23-img .radius-image{
  border-radius: 20px !important;
  box-shadow: var(--uxo-shadow-md) !important;
}

/* Sección de alcance — fondo blanco limpio */
.w3l-content-4#services-cards{
  background: #fff !important;
}

/* ================================================================
   FIN PARCHE ÍCONOS SERVICIOS
   ================================================================ */

/* ================================================================
   CERTIFICACIONES ISO — FOOTER BADGES (v2 — rediseño premium)
   ================================================================ */

/* Strip container */
.uxo-certs-strip{
  margin-bottom: 28px;
  padding-bottom: 26px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  text-align: center;
}

/* Label "CERTIFICACIONES" con líneas decorativas */
.uxo-certs-label{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 20px;
}
.uxo-certs-label::before,
.uxo-certs-label::after{
  content: '';
  display: inline-block;
  width: 32px;
  height: 1px;
  background: rgba(255,255,255,.35);
}

/* Fila de badges */
.uxo-certs-row{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

/* ── ICONTEC badge ───────────────────────── */
.uxo-cert-icontec{
  position: relative;
  width: 104px;
  padding: 14px 12px 12px;
  border-radius: 10px;
  background: linear-gradient(170deg, #1a7fd4 0%, #0a4fa8 100%);
  text-align: center;
  box-shadow:
    0 6px 22px rgba(10,79,168,.42),
    0 1px 0 rgba(255,255,255,.08) inset,
    0 -1px 0 rgba(0,0,0,.15) inset;
  transition: transform .2s ease, box-shadow .2s ease;
  overflow: hidden;
}
/* Línea de acento superior azul claro */
.uxo-cert-icontec::before{
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #7ec8f8, #b8e3ff);
  border-radius: 10px 10px 0 0;
}
/* Reflejo de luz sutil */
.uxo-cert-icontec::after{
  content: '';
  position: absolute;
  top: 3px; left: 0; right: 0;
  height: 40%;
  background: linear-gradient(to bottom, rgba(255,255,255,.08), transparent);
  pointer-events: none;
}
.uxo-cert-icontec:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(10,79,168,.52), 0 1px 0 rgba(255,255,255,.1) inset;
}

/* Icono de círculos concéntricos */
.uxo-icontec-icon-wrap{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  margin-bottom: 9px;
  position: relative;
  z-index: 1;
}
.uxo-icontec-circles{
  position: relative;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.uxo-icontec-circles::before{
  content: '';
  position: absolute;
  width: 34px; height: 34px;
  border-radius: 50%;
  border: 2.5px solid rgba(255,255,255,.9);
}
.uxo-icontec-circles::after{
  content: '';
  position: absolute;
  width: 21px; height: 21px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.65);
}
.uxo-icontec-dot{
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #fff;
  position: relative;
  z-index: 1;
}
.uxo-icontec-wordmark{
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1px;
  color: rgba(255,255,255,.95);
  text-transform: lowercase;
  line-height: 1;
}

/* Número ISO */
.uxo-cert-iso-num{
  font-size: 15px;
  font-weight: 900;
  color: #fff;
  letter-spacing: .3px;
  border-top: 1px solid rgba(255,255,255,.2);
  padding-top: 8px;
  margin-top: 2px;
  line-height: 1.1;
  position: relative;
  z-index: 1;
}

/* Número de serie */
.uxo-cert-serial{
  font-size: 8px;
  color: rgba(255,255,255,.5);
  margin-top: 4px;
  letter-spacing: .4px;
  line-height: 1;
  position: relative;
  z-index: 1;
}

/* ── IQNET badge ─────────────────────────── */
.uxo-cert-iqnet{
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, #1d5bb5 0%, #0a2a6e 55%, #061840 100%);
  border: 2.5px solid rgba(255,255,255,.15);
  box-shadow:
    0 6px 22px rgba(6,24,64,.55),
    0 1px 0 rgba(255,255,255,.1) inset;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  gap: 0;
  transition: transform .2s ease, box-shadow .2s ease;
  padding: 8px;
}
.uxo-cert-iqnet:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(6,24,64,.65);
}


/* ── ICONTEC NORSOK badge ───────────────── */
.uxo-cert-image-card{
  position: relative;
  width: 104px;
  min-height: 124px;
  padding: 14px 12px 12px;
  border-radius: 10px;
  background: linear-gradient(170deg, #1a7fd4 0%, #0a4fa8 100%);
  text-align: center;
  box-shadow:
    0 6px 22px rgba(10,79,168,.42),
    0 1px 0 rgba(255,255,255,.08) inset,
    0 -1px 0 rgba(0,0,0,.15) inset;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s ease, box-shadow .2s ease;
  overflow: hidden;
}
.uxo-cert-image-card::before{
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #7ec8f8, #b8e3ff);
  border-radius: 10px 10px 0 0;
}
.uxo-cert-image-card::after{
  content: '';
  position: absolute;
  top: 3px; left: 0; right: 0;
  height: 40%;
  background: linear-gradient(to bottom, rgba(255,255,255,.08), transparent);
  pointer-events: none;
}
.uxo-cert-image-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(10,79,168,.52), 0 1px 0 rgba(255,255,255,.1) inset;
}
.uxo-cert-image-card img{
  display: block;
  width: 84%;
  height: auto;
  max-height: 92px;
  object-fit: contain;
  position: relative;
  z-index: 1;
  border-radius: 8px;
  background: #fff;
  padding: 4px;
  box-shadow: 0 6px 16px rgba(0,0,0,.14);
}
.uxo-cert-norsok .uxo-cert-iso-num{
  font-size: 12px;
  letter-spacing: 1.2px;
}
.uxo-cert-norsok .uxo-cert-serial{
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.3px;
  color: rgba(255,255,255,.82);
  margin-top: 6px;
}
.uxo-iqnet-dots{
  display: flex;
  gap: 2.5px;
  margin-bottom: 3px;
}
.uxo-iqnet-dots span{
  width: 3px; height: 3px;
  border-radius: 50%;
  background: rgba(255,255,255,.5);
}
.uxo-iqnet-title{
  font-size: 17px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  letter-spacing: .8px;
}
.uxo-iqnet-sub{
  font-size: 6px;
  font-weight: 700;
  color: rgba(255,255,255,.68);
  text-transform: uppercase;
  letter-spacing: .5px;
  line-height: 1.45;
  margin-top: 3px;
}

/* ── Responsive ────────────────────────── */
@media (max-width: 575px){
  .uxo-certs-row{ gap: 10px; }
  .uxo-cert-icontec{ width: 90px; padding: 12px 10px 10px; }
  .uxo-cert-iqnet{ width: 74px; height: 74px; }
  .uxo-cert-image-card{ width: 90px; min-height: 108px; padding: 12px 10px 10px; }
  .uxo-icontec-circles{ width: 28px; height: 28px; }
  .uxo-icontec-circles::before{ width: 28px; height: 28px; }
  .uxo-icontec-circles::after{ width: 17px; height: 17px; }
  .uxo-cert-iso-num{ font-size: 13px; }
  .uxo-iqnet-title{ font-size: 15px; }
}
/* ================================================================ */

/* ── CONTRASTE: texto oscuro en secciones con fondo claro ─────── */
/* Fondo blanco y cálido: forzar texto a navy oscuro */
.w3l-index1 p,
.w3l-index1 li,
.uxo-home-services p,
.uxo-home-services li,
.uxo-home-services .mt-3,
.uxo-home-services .mb-4,
section.w3l-blog-grid p,
section.w3l-blog-grid li,
.w3l-content-4 p,
.w3l-content-4 li,
.uxo-service-tile p,
.uxo-service-card p,
.uxo-feature-card p,
.uxo-report-form .form-text,
.uxo-report-form small,
#reporte-mnd .form-text,
#reporte-mnd small,
.contact-right-info p {
  color: #374151 !important;
}
/* Headings en secciones claras — navy fuerte */
.w3l-index1 h2, .w3l-index1 h3, .w3l-index1 h4,
.uxo-home-services h2, .uxo-home-services h3, .uxo-home-services h4,
.uxo-service-tile h4, .uxo-service-card h4,
.w3l-content-4 h2, .w3l-content-4 h3, .w3l-content-4 h4 {
  color: #0b2341 !important;
}
/* ================================================================ */

/* ================================================================
   PAGE BACKGROUND CONTRAST FIX
   Contacto / Servicios / Nosotros en blanco
   ================================================================ */
#about,
#mvv,
#contact,
#services1,
#services-cards,
#services-gallery{
  background: #fff !important;
}

/* Mantener lectura limpia dentro de estas páginas */
#contact .contact-right,
#contact .contact-left-img,
#services-gallery .container,
#services-cards .container,
#services1 .container,
#mvv .container,
#about .container{
  background: transparent;
}


/* ================================================================
   TITLE CONTRAST FIX
   Títulos en negro sobre fondos blancos (Contacto / Servicios / Nosotros)
   ================================================================ */
#about .title-w3l,
#about .title-subhny,
#mvv .title-w3l,
#mvv .title-subhny,
#contact .title-w3l,
#contact .title-subhny,
#services1 .title-w3l,
#services1 .title-subhny,
#services-cards .title-w3l,
#services-cards .title-subhny,
#services-gallery .title-w3l,
#services-gallery .title-subhny,
#about h5,
#mvv h5,
#contact h5,
#services1 h5,
#services-cards h5,
#services-gallery h5,
#services1 h6,
#services-cards h6,
#services-gallery h6,
#services1 h6 a,
#services-cards h6 a,
#services-gallery h6 a{
  color: #000 !important;
}


/* ================================================================
   GALLERY PAGE
   Modern media page with hero videos and photo placeholders
   ================================================================ */
.uxo-gallery-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(191,32,2,0.12), transparent 30%),
    linear-gradient(135deg, #f8fafc 0%, #ffffff 42%, #f4f6f9 100%);
}
.uxo-gallery-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(15,23,42,0.03) 100%);
  pointer-events:none;
}
.uxo-gallery-hero .container{ position:relative; z-index:1; }
.uxo-gallery-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(191,32,2,0.08);
  color:#8a1602;
  font-size:13px;
  font-weight:700;
  letter-spacing:.45px;
  text-transform:uppercase;
}
.uxo-gallery-intro{
  max-width:760px;
  color:#475569;
  font-size:18px;
  line-height:1.75;
}
.uxo-gallery-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.uxo-gallery-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(15,23,42,0.08);
  box-shadow:0 8px 24px rgba(15,23,42,0.06);
  color:#0f172a;
  font-weight:600;
}
.uxo-gallery-videos-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:42px;
}
.uxo-video-card{
  background:#fff;
  border:1px solid rgba(15,23,42,0.08);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(15,23,42,0.12);
  transition:transform .25s ease, box-shadow .25s ease;
}
.uxo-video-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 48px rgba(15,23,42,0.16);
}
.uxo-video-shell{
  position:relative;
  aspect-ratio:16/10;
  background:#0f172a;
}
.uxo-video-shell::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(15,23,42,0.06) 0%, rgba(15,23,42,0.32) 100%);
  pointer-events:none;
}
.uxo-video-shell video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.uxo-video-badge{
  position:absolute;
  top:16px;
  left:16px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,0.92);
  color:#0f172a;
  font-size:12px;
  font-weight:800;
  letter-spacing:.45px;
  text-transform:uppercase;
  box-shadow:0 10px 22px rgba(15,23,42,0.16);
}
.uxo-video-copy{
  padding:22px 22px 24px;
}
.uxo-video-copy h4{
  margin:0 0 10px;
  color:#0f172a;
  font-size:22px;
  line-height:1.3;
}
.uxo-video-copy p{
  margin:0;
  color:#64748b;
  line-height:1.75;
}
.uxo-gallery-panel{
  background:#fff;
  border:1px solid rgba(15,23,42,0.08);
  border-radius:26px;
  box-shadow:0 18px 44px rgba(15,23,42,0.10);
  padding:32px;
}
.uxo-gallery-panel p:last-child{ margin-bottom:0; }
.uxo-photo-board{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:22px;
  margin-top:34px;
}
.uxo-photo-slot{
  position:relative;
  min-height:260px;
  border-radius:24px;
  padding:24px;
  border:1.5px dashed rgba(15,23,42,0.14);
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  box-shadow:0 14px 34px rgba(15,23,42,0.08);
}
.uxo-photo-slot::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top right, rgba(191,32,2,0.08), transparent 26%),
    radial-gradient(circle at bottom left, rgba(15,23,42,0.05), transparent 22%);
  pointer-events:none;
}
.uxo-photo-slot > *{ position:relative; z-index:1; }
.uxo-photo-slot .uxo-slot-icon{
  width:60px;
  height:60px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#bf2002;
  font-size:24px;
  margin-bottom:auto;
  box-shadow:0 10px 20px rgba(15,23,42,0.08);
}
.uxo-photo-slot h5{
  margin:18px 0 8px;
  color:#0f172a;
  font-size:22px;
}
.uxo-photo-slot p{
  margin:0;
  color:#64748b;
  line-height:1.7;
}
.uxo-photo-slot .uxo-slot-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:16px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(15,23,42,0.06);
  color:#334155;
  font-size:12px;
  font-weight:700;
  letter-spacing:.35px;
  text-transform:uppercase;
}
.uxo-col-4{ grid-column:span 4; }
.uxo-col-5{ grid-column:span 5; }
.uxo-col-6{ grid-column:span 6; }
.uxo-col-7{ grid-column:span 7; }
.uxo-col-8{ grid-column:span 8; }
.uxo-slot-tall{ min-height:360px; }
.uxo-slot-xl{ min-height:420px; }
.uxo-gallery-note{
  margin-top:18px;
  color:#64748b;
  font-size:14px;
}

@media (max-width: 991px){
  .uxo-gallery-videos-grid{ grid-template-columns:1fr; }
  .uxo-photo-board{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .uxo-col-4, .uxo-col-5, .uxo-col-6, .uxo-col-7, .uxo-col-8{ grid-column:span 1; }
  .uxo-slot-tall, .uxo-slot-xl{ min-height:300px; }
}

@media (max-width: 575px){
  .uxo-gallery-panel{ padding:24px; border-radius:22px; }
  .uxo-gallery-intro{ font-size:16px; }
  .uxo-photo-board{ grid-template-columns:1fr; gap:18px; }
  .uxo-photo-slot{ min-height:240px; padding:22px; }
  .uxo-slot-tall, .uxo-slot-xl{ min-height:260px; }
  .uxo-video-copy h4{ font-size:20px; }
}


/* ================================================================
   HOMEPAGE VISUAL REFINEMENT — hero, section backgrounds, Panama map
   ================================================================ */

/* Home hero: richer background composition */
.w3l-main-slider .banner-top2{
  background-image:
    radial-gradient(circle at 16% 22%, rgba(191,32,2,.34) 0%, rgba(191,32,2,0) 28%),
    radial-gradient(circle at 84% 18%, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 22%),
    radial-gradient(circle at 72% 78%, rgba(191,32,2,.22) 0%, rgba(191,32,2,0) 26%),
    linear-gradient(118deg, rgba(4,16,29,.94) 0%, rgba(9,27,48,.82) 42%, rgba(14,39,70,.70) 70%, rgba(191,32,2,.38) 100%),
    url(../images/bg.webp) !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  overflow: hidden;
}
.w3l-main-slider .banner-top2::before{
  background:
    linear-gradient(0deg, rgba(3,10,19,.66), rgba(3,10,19,.42)),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.04) 1px, transparent 1px) !important;
  background-size: auto, 72px 72px, 72px 72px !important;
  mix-blend-mode: screen;
  opacity: .78;
}
.w3l-main-slider .banner-top2::after{
  content:"";
  position:absolute;
  inset:auto auto -12% -8%;
  width:min(42vw, 520px);
  aspect-ratio:1/1;
  border-radius:50%;
  background: radial-gradient(circle, rgba(191,32,2,.24) 0%, rgba(191,32,2,.08) 40%, rgba(191,32,2,0) 70%);
  filter: blur(6px);
  pointer-events:none;
}
.w3l-main-slider .banner-info-bg{
  position: relative;
  max-width: min(920px, 92vw);
  margin: 0 auto;
  padding: clamp(28px, 4vw, 42px) clamp(22px, 4vw, 44px);
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 28px 80px rgba(0,0,0,.28);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.w3l-main-slider .banner-info-bg::before{
  content:"";
  position:absolute;
  inset: 0 auto auto 0;
  width: 110px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,255,255,.95), var(--uxo-brand));
}
.w3l-main-slider .banner-info-bg::after{
  content:"";
  position:absolute;
  inset: auto 22px 18px auto;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.10);
  opacity: .55;
}
.uxo-hero-title{
  max-width: 100%;
  text-wrap: balance;
  text-shadow: 0 16px 38px rgba(0,0,0,.34) !important;
}
.uxo-hero-title::after{
  margin-top: 24px !important;
  width: 82px !important;
}

/* Home divider cover: color-treated overlay */
.uxo-home-cover.uxo-home-cover--about::after{
  background:
    linear-gradient(90deg, rgba(6,19,34,.78) 0%, rgba(10,30,52,.48) 44%, rgba(191,32,2,.18) 100%),
    radial-gradient(circle at 85% 20%, rgba(255,255,255,.10), rgba(255,255,255,0) 26%) !important;
}

/* Home about summary: white canvas with Panama silhouette */
.w3l-index1#about{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%) !important;
}
.w3l-index1#about::before{
  content:"";
  position:absolute;
  left:31%;
  top:63%;
  width:min(63.5vw, 952px);
  height:clamp(145px, 14.55vw, 225px);
  background: url(../images/panama-silhouette-soft.svg) no-repeat center center / contain;
  opacity: .42;
  transform: translate(-50%, -50%);
  pointer-events:none;
  z-index: 0;
}
.w3l-index1#about::after{
  content:"";
  position:absolute;
  left: -8%;
  bottom: -12%;
  width:min(34vw, 420px);
  aspect-ratio:1/1;
  background: radial-gradient(circle, rgba(191,32,2,.10) 0%, rgba(191,32,2,0) 68%);
  pointer-events:none;
  z-index:0;
}
.w3l-index1#about .container{
  position: relative;
  z-index: 1;
}
.w3l-index1#about .row{
  align-items: center;
}
.w3l-index1#about .header-section{
  margin-bottom: 3rem !important;
}
.w3l-index1#about .lead{
  padding: 18px 20px;
  border-left: 4px solid var(--uxo-brand);
  border-radius: 0 16px 16px 0;
  background: linear-gradient(90deg, rgba(191,32,2,.06), rgba(191,32,2,0));
}
.w3l-index1#about .uxo-video-embed{
  border-radius: 24px;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 24px 58px rgba(2,6,23,.14);
}

/* Home services: softer premium background */
.uxo-home-services{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 20%, rgba(191,32,2,.08) 0%, rgba(191,32,2,0) 22%),
    radial-gradient(circle at 88% 8%, rgba(11,35,65,.08) 0%, rgba(11,35,65,0) 22%),
    linear-gradient(180deg, #f7f3ed 0%, #f5f8fc 100%) !important;
}
.uxo-home-services::before{
  content:"";
  position:absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.36) 1px, transparent 1px),
              linear-gradient(180deg, rgba(255,255,255,.28) 1px, transparent 1px);
  background-size: 68px 68px;
  opacity: .32;
  pointer-events:none;
}
.uxo-home-services .container{
  position: relative;
  z-index: 1;
}

/* CTA section: richer depth on homepage */
.w3l-content-mid{
  background:
    radial-gradient(circle at 14% 18%, rgba(191,32,2,.26) 0%, rgba(191,32,2,0) 28%),
    linear-gradient(120deg, #07172b 0%, #0b2341 48%, #143456 100%) !important;
}

@media (max-width: 991px){
  .w3l-main-slider .banner-info-bg{
    max-width: min(92vw, 760px);
    padding: 24px 20px 28px;
  }
  .w3l-index1#about::before{
    left:50%;
    width:min(88vw, 860px);
    height:clamp(104px, 20vw, 170px);
    top:50%;
    opacity: .52;
  }
}
@media (max-width: 575px){
  .w3l-main-slider .banner-top2::before{
    background-size: auto, 46px 46px, 46px 46px !important;
  }
  .w3l-main-slider .banner-info-bg{
    border-radius: 22px;
  }
  .w3l-index1#about::before{
    left:50%;
    width:min(92vw, 560px);
    height:clamp(86px, 24vw, 130px);
    top:50%;
    opacity: .48;
  }
  .w3l-index1#about .lead{
    padding: 16px 16px;
  }
}
/* ================================================================ */


/* ================================================================
   AJUSTES FINALES — JUSTIFICACIÓN DE PÁRRAFOS
   ================================================================ */
body p{
  text-align: justify !important;
  text-justify: inter-word;
  hyphens: auto;
}

/* Excepciones visuales que deben conservar su alineación original */
body p.counter,
body p.uxo-certs-label,
body .uxo-certs-strip p.uxo-certs-label{
  text-align: center !important;
}

body footer > .container > .d-flex > p,
body footer .d-flex.flex-column.flex-sm-row > p,
body p.mb-2.mb-sm-0.text-white-50{
  text-align: left !important;
}


/* ── AJUSTE: estadísticas no invaden el footer ─────────────────── */
.w3l-stats .img-w3-content{
  margin-bottom: 0 !important;
  overflow: hidden;
  border-radius: 20px !important;
}
.w3l-stats{
  overflow: hidden;
}

/* ===== Header spacing refinement: menu items and language buttons closer ===== */
@media (min-width: 992px){
  #site-header .navbar-expand-lg .navbar-nav{
    gap: 0 !important;
  }

  #site-header .navbar-expand-lg .navbar-nav .nav-item{
    padding: 0 5px !important;
  }

  #site-header .navbar-nav .nav-link{
    padding: 10px 8px !important;
    letter-spacing: 0 !important;
  }

  #site-header .uxo-lang-switch{
    gap: 6px;
    margin-left: 6px !important;
    margin-right: 8px !important;
  }

  #site-header .uxo-lang-switch.uxo-lang-switch,
  #site-header li.nav-item.uxo-lang-switch{
    padding-left: 4px !important;
    padding-right: 0 !important;
  }

  #site-header .uxo-lang-pill{
    min-width: 40px;
    padding: 0 9px;
  }
}

/* ================================================================
   GALLERY PAGE TEXT CONTRAST TUNING
   Forces gallery content text to black/dark for maximum readability
   ================================================================ */
.uxo-gallery-hero .title-w3l,
.uxo-gallery-hero .uxo-gallery-intro,
.uxo-gallery-hero .uxo-gallery-chip,
.uxo-gallery-hero .uxo-video-copy h4,
.uxo-gallery-hero .uxo-video-copy p,
#gallery-photos .title-w3l,
#gallery-photos .title-subhny,
#gallery-photos .uxo-gallery-panel > p,
#gallery-photos .uxo-photo-slot h5,
#gallery-photos .uxo-photo-slot p,
#gallery-photos .uxo-photo-slot .uxo-slot-tag,
#gallery-photos .uxo-gallery-note{
  color:#000 !important;
}

#gallery-photos .uxo-photo-slot .uxo-slot-tag{
  background:rgba(0,0,0,0.05);
}


/* Sequential gallery videos */
.uxo-video-meta-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
.uxo-video-status{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(191,32,2,0.10);
  color:#8a1b09;
  font-size:12px;
  font-weight:800;
  letter-spacing:.35px;
  text-transform:uppercase;
}
.uxo-video-card.is-active{
  box-shadow:0 22px 52px rgba(15,23,42,0.18);
  transform:translateY(-2px);
}
.uxo-video-card.is-active .uxo-video-shell{
  box-shadow:inset 0 0 0 2px rgba(191,32,2,0.28);
}
.uxo-video-card.is-complete .uxo-video-status{
  background:rgba(15,118,110,0.12);
  color:#0f766e;
}
.uxo-video-card.is-pending .uxo-video-status{
  background:rgba(15,23,42,0.08);
  color:#475569;
}
.uxo-sequence-video{
  background:#0f172a;
}

/* Clean photo gallery layout */
.uxo-photo-board--clean{
  margin-top:0;
  align-items:stretch;
}
.uxo-photo-board--clean .uxo-photo-card{
  min-height:320px;
  padding:0;
  border:1px solid rgba(15,23,42,0.08);
  background:#e2e8f0;
  border-radius:24px;
  box-shadow:0 18px 42px rgba(15,23,42,0.12);
}
.uxo-photo-board--clean .uxo-photo-card::before,
.uxo-photo-board--clean .uxo-photo-badge,
.uxo-photo-board--clean .uxo-photo-copy{
  display:none;
}
.uxo-photo-board--clean .uxo-photo-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.uxo-photo-board--clean .uxo-slot-xl{ min-height:520px; }
.uxo-photo-board--clean .uxo-slot-tall{ min-height:430px; }
.uxo-photo-board--clean .uxo-col-7:not(.uxo-slot-xl){ min-height:350px; }
.uxo-photo-board--clean .uxo-col-6{ min-height:330px; }
.uxo-photo-board--clean .uxo-col-4{ min-height:290px; }
.uxo-photo-board--clean .uxo-photo-card:hover img{ transform:scale(1.03); }

@media (max-width: 991px){
  .uxo-photo-board--clean .uxo-slot-xl,
  .uxo-photo-board--clean .uxo-slot-tall,
  .uxo-photo-board--clean .uxo-col-7,
  .uxo-photo-board--clean .uxo-col-6,
  .uxo-photo-board--clean .uxo-col-4{ min-height:320px; }
}

@media (max-width: 575px){
  .uxo-video-meta-row{ justify-content:flex-start; }
  .uxo-photo-board--clean .uxo-slot-xl,
  .uxo-photo-board--clean .uxo-slot-tall,
  .uxo-photo-board--clean .uxo-col-7,
  .uxo-photo-board--clean .uxo-col-6,
  .uxo-photo-board--clean .uxo-col-4{ min-height:260px; }
}


/* ================================================================
   GALLERY MASONRY REFINEMENT — cleaner image sizing and spacing
   ================================================================ */
.uxo-photo-board--clean{
  display:block;
  column-count:3;
  column-gap:22px;
  margin-top:8px;
}
.uxo-photo-board--clean .uxo-photo-card{
  display:inline-block;
  width:100%;
  margin:0 0 22px;
  min-height:0 !important;
  padding:0;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(15,23,42,0.08);
  box-shadow:0 18px 38px rgba(15,23,42,0.10);
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  transition:transform .28s ease, box-shadow .28s ease;
}
.uxo-photo-board--clean .uxo-photo-card img{
  position:static;
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:auto;
  object-fit:initial;
  transform:none;
}
.uxo-photo-board--clean .uxo-photo-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 48px rgba(15,23,42,0.14);
}
.uxo-photo-board--clean .uxo-slot-xl,
.uxo-photo-board--clean .uxo-slot-tall,
.uxo-photo-board--clean .uxo-col-7,
.uxo-photo-board--clean .uxo-col-6,
.uxo-photo-board--clean .uxo-col-5,
.uxo-photo-board--clean .uxo-col-4{
  grid-column:auto !important;
}

@media (max-width: 991px){
  .uxo-photo-board--clean{
    column-count:2;
    column-gap:18px;
  }
  .uxo-photo-board--clean .uxo-photo-card{
    margin-bottom:18px;
    border-radius:20px;
  }
}

@media (max-width: 575px){
  .uxo-photo-board--clean{
    column-count:1;
    column-gap:0;
  }
  .uxo-photo-board--clean .uxo-photo-card{
    margin-bottom:16px;
    border-radius:18px;
  }
}



/* Sequential gallery video placeholders */
.uxo-sequence-wrap{ margin-top:34px; }
.uxo-sequence-wrap .uxo-gallery-videos-grid{ margin-top:0; }
.uxo-video-card .uxo-video-copy{ padding:18px 20px 20px; }
.uxo-video-card .uxo-video-copy:empty{ display:none; }
.uxo-video-status{ min-width:122px; justify-content:center; }
.uxo-video-shell video{ background:#0f172a; }
.uxo-video-shell video::-webkit-media-controls{ display:none !important; }
@media (max-width: 575px){
  .uxo-sequence-wrap{ margin-top:26px; }
}
