/* ---------------  TIPOGRAFÍA  --------------- */
/* Tipografia local: sin dependencias externas ni bloqueos CSP. */
html,body{font-family:'Aptos','Segoe UI Variable','Segoe UI',Arial,sans-serif!important;}

/* ---------------  VARIABLES  --------------- */
:root{ --nav-h:135px; }

/* ---------------  NAVBAR  --------------- */
.navbar-toggler{background:#000!important;padding:.45rem .55rem;}
.navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23CC9641' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

.gallery-tabs{display:flex;gap:.55rem;flex-wrap:wrap;margin:1.4rem 0}.gallery-tabs button{border:1px solid #ddcfb4;background:#fff;color:#163a5f;border-radius:999px;padding:.65rem 1.05rem;font-weight:600;font-size:.82rem;transition:.2s}.gallery-tabs button:hover,.gallery-tabs button.active{background:#163a5f;border-color:#163a5f;color:#fff;box-shadow:0 8px 20px rgba(22,58,95,.16)}.property-gallery figure[hidden]{display:none}.gallery-image-button{display:block;border:0;padding:0;background:none;width:100%;overflow:hidden}.gallery-image-button img{transition:transform .35s ease}.gallery-image-button:hover img{transform:scale(1.035)}.gallery-phase{color:#a47d36!important;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem!important;font-weight:700}.property-gallery figcaption strong{display:block;color:#163a5f;margin-top:.2rem}#gallery-lightbox{width:min(92vw,1100px);border:0;border-radius:20px;padding:0;background:#0a1724;color:#fff;box-shadow:0 25px 100px rgba(0,0,0,.5)}#gallery-lightbox::backdrop{background:rgba(5,15,25,.84);backdrop-filter:blur(4px)}#gallery-lightbox img{display:block;width:100%;max-height:78vh;object-fit:contain}#gallery-lightbox p{margin:0;padding:1rem 1.25rem}.lightbox-close{position:absolute;right:1rem;top:1rem;width:2.5rem;height:2.5rem;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#163a5f;font-size:1.7rem;line-height:1;z-index:2}
.property-video-section{padding:clamp(1.25rem,3vw,2rem);border-radius:24px;background:linear-gradient(145deg,#0e2c49,#183f65);color:#fff}.property-video-section .property-kicker{color:#e2c98f}.property-video-section>.text-muted{color:#c4d0da!important}.property-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1.25rem}.property-video-card{overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(255,255,255,.07)}.property-video-card video{display:block;width:100%;aspect-ratio:16/9;background:#07131f;object-fit:contain}.property-video-card>div{padding:1rem}.property-video-card span{color:#e2c98f;text-transform:uppercase;letter-spacing:.08em;font-size:.67rem;font-weight:700}.property-video-card h3{font-size:1rem;margin:.3rem 0 0}.property-video-card p{font-size:.82rem;color:#cbd5df;margin:.45rem 0 0}.virtual-tour-link{display:flex;align-items:center;gap:1rem;margin-top:1.25rem;padding:1rem 1.15rem;border:1px solid rgba(226,201,143,.45);border-radius:16px;color:#fff;text-decoration:none;background:rgba(198,161,91,.11);transition:.2s}.virtual-tour-link:hover{color:#fff;background:rgba(198,161,91,.22);transform:translateY(-2px)}.virtual-tour-link>i:first-child{font-size:2rem;color:#e2c98f}.virtual-tour-link span{flex:1}.virtual-tour-link strong,.virtual-tour-link small{display:block}.virtual-tour-link small{color:#cbd5df;margin-top:.2rem}
.allocation-public-bar{height:10px;background:#eee8dd;border-radius:999px;overflow:hidden;margin-bottom:.55rem}.allocation-public-bar span{display:block;height:100%;background:linear-gradient(90deg,#c6a15b,#163a5f);border-radius:inherit}
.property-chart-suite{border:1px solid #e8dfcf;border-radius:24px;padding:clamp(1.25rem,3vw,2rem);background:linear-gradient(145deg,#fff,#faf8f3);box-shadow:0 18px 50px rgba(13,41,71,.06)}.chart-suite-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem}.chart-live-badge{border:1px solid #dfd2ba;border-radius:999px;padding:.45rem .75rem;color:#476072;font-size:.72rem}.property-chart-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(400px,1.4fr);gap:1.5rem;margin-top:1.5rem}.property-chart-grid article{border:1px solid #eee6d8;border-radius:18px;background:#fff;padding:1rem}.property-chart-grid h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.07em;color:#536574}.chart-wrap{height:300px;position:relative}.chart-wrap--donut{max-width:340px;margin:auto}.chart-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none;padding-bottom:34px}.chart-center strong{font-size:1.65rem;color:#173b5f}.chart-center span{font-size:.7rem;color:#71808d;text-transform:uppercase;letter-spacing:.08em}@media(max-width:850px){.property-chart-grid{grid-template-columns:1fr}.chart-wrap{height:260px}}
.property-interest-cta{margin-top:1.25rem;padding:1.15rem;border-radius:18px;background:linear-gradient(145deg,#102f50,#183f65);color:#fff}.interest-availability{display:flex;justify-content:space-between;align-items:center}.interest-availability span{font-size:.72rem;color:#c5d1db;text-transform:uppercase;letter-spacing:.08em}.interest-availability strong{color:#e3c77f;font-size:1.15rem}.property-interest-cta p{font-size:.8rem;color:#d2dce4;margin:.8rem 0}.property-interest-button{display:flex;width:100%;justify-content:space-between;align-items:center;background:#c6a15b;color:#fff;padding:.8rem 1rem;border-radius:10px}.property-interest-button:hover{background:#e0bf78;color:#102f50}.property-interest-cta>small{display:block;text-align:center;color:#acbdca;font-size:.65rem;margin-top:.55rem}.property-interest-modal{border:1px solid #e5d8bf;border-radius:22px;overflow:hidden}.interest-modal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.interest-modal-summary div{background:#f8f5ee;border-radius:12px;padding:.75rem}.interest-modal-summary span,.interest-modal-summary strong{display:block}.interest-modal-summary span{font-size:.65rem;color:#74818b}.interest-modal-summary strong{color:#173b5f;margin-top:.25rem}@media(max-width:575px){.interest-modal-summary{grid-template-columns:1fr}}
.property-media-viewer{border-radius:24px;padding:.55rem;background:#fff;border:1px solid #e9e1d3;box-shadow:0 18px 50px rgba(13,41,71,.09)}.property-media-viewer .carousel-inner{border-radius:18px;overflow:hidden;background:#0a1724}.property-media-stage{height:clamp(380px,53vw,610px);background:#e7eaec;display:flex;align-items:center;justify-content:center}.property-media-stage img{width:100%;height:100%;object-fit:cover}.property-media-stage--video{background:radial-gradient(circle at center,#173b5f,#07131f)}.property-media-stage video{width:100%;height:100%;object-fit:contain;background:#07131f}.media-stage-label,.media-stage-count{position:absolute;z-index:2;top:1rem;border:1px solid rgba(255,255,255,.2);background:rgba(7,23,36,.72);backdrop-filter:blur(10px);color:#fff;border-radius:999px;padding:.45rem .7rem;font-size:.69rem;font-weight:700}.media-stage-label{left:1rem}.media-stage-count{right:1rem}.property-carousel-control{top:50%;bottom:auto;width:44px;height:44px;margin:0 .85rem;transform:translateY(-50%);border-radius:50%;background:rgba(7,23,36,.72);opacity:.9;backdrop-filter:blur(8px)}.property-carousel-control:hover{background:#c6a15b}.property-carousel-control .carousel-control-prev-icon,.property-carousel-control .carousel-control-next-icon{width:1.15rem;height:1.15rem}.property-media-thumbs{display:flex;gap:.5rem;overflow-x:auto;padding:.6rem .1rem .05rem;scrollbar-width:thin}.property-media-thumbs button{position:relative;flex:0 0 94px;height:68px;border:2px solid transparent;border-radius:10px;overflow:hidden;padding:0;background:#132f4b;color:#fff;opacity:.72;transition:.2s}.property-media-thumbs button:hover,.property-media-thumbs button.active{border-color:#c6a15b;opacity:1;transform:translateY(-1px)}.property-media-thumbs img{width:100%;height:100%;object-fit:cover}.property-media-thumbs button:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(5,16,26,.9))}.property-media-thumbs span{position:absolute;z-index:2;left:.3rem;right:.3rem;bottom:.22rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.56rem;font-weight:700;text-align:left}.media-thumb-video{display:grid;place-items:center}.media-thumb-video>i{font-size:1.5rem;color:#e3c77f}@media(max-width:767px){.property-media-stage{height:360px}.property-media-thumbs button{flex-basis:78px;height:58px}.property-carousel-control{width:38px;height:38px;margin:0 .45rem}}
.main-navbar{height:var(--nav-h);background:#F6F7F8;}

@media(min-width:992px){
  #topNavOC{padding-right:0!important;}
  #topNavOC .navbar-nav>li:last-child>*{padding-right:0!important;}
}

/* ---------------  CARDS  --------------- */
.card-img-top{max-height:250px;object-fit:cover;}
.img-top{max-height:300px;max-width:300px;object-fit:cover;}
.card .list-group-item:last-child{border-bottom:0;}

/* ---------------  DONUT GENÉRICO --------------- */
.donut-progress{
  /* valor 0-100 → lo inyecta JS */
  --value:0;
  --angle:calc(var(--value)*3.6deg);           /* 100 → 360°          */
  --fill :hsl(calc(var(--value)*1.2),70%,50%); /* rojo→ámbar→verde    */
  --bg   :#e5e5e5;

  width:72px;aspect-ratio:1/1;
  border-radius:50%;
  position:relative;

  background:conic-gradient(var(--fill) 0 var(--angle),var(--bg) 0) padding-box;
  transition:background 1s ease;               /* animación suave     */
}

/* agujero interior */
.donut-progress::after{
  content:'';
  position:absolute;
  inset:15%;                                   /* grosor del anillo   */
  background:#fff;
  border-radius:50%;
  z-index:1;                                    /* detrás del texto    */
}

/* porcentaje centrado */
.donut-progress::before{
  content:attr(data-label);
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font:700 .8rem/1 'Open Sans',sans-serif;
  color:#333;
  pointer-events:none;
  z-index:2;                                    /* sobre el agujero    */
}

/* tamaños */
.donut-lg{width:140px;}
.donut-sm{width:80px;}

/* donut XS para las cards (≈ 48 px) */
.donut-xs{ width:75px; }

.card .donut-progress{
  margin:0 auto;         /* centra dentro de la tarjeta */
}

/* Centra cualquier donut dentro de un <li class="list-group-item"> */
.list-group-item .donut-progress{
  display:block;      /* asegura que se comporte como bloque */
  margin:1rem auto 0; /* auto a ambos lados → centrado      */
}

/* ---------------  LISTA DE SUB-PAGOS --------------- */
.lista-subpagos{
  list-style:none;
  margin:1rem 0 0;padding:0;
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:1rem;
}
.subpago-item{
  flex:0 0 calc(100%/6 - 1rem);      /* máximo 6 por línea */
  display:flex;justify-content:center;
}

/* ---------------  LOGIN BG, BOTONES, ETC. (sin cambios) --------------- */
body.login-bg{
  background-image:
    linear-gradient(135deg,#0d6efd 0%,#6610f2 100%),
    url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 10 10' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23ffffff0d'/%3E%3C/svg%3E");
  background-size:cover,auto;min-height:100vh;
}
body.login-bg .card{
  border:none;border-radius:1rem;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.25);
}
.form-floating>.form-control{height:48px;border-radius:.5rem;}
.form-control:focus{border-color:#0d6efd;box-shadow:0 0 0 .2rem rgba(13,110,253,.25);}

/* enlaces auxiliares */
.link-aux{
  color:#000!important;text-decoration:underline;
  transition:transform .2s;display:inline-block;
  font-weight:bold;font-size:1em;
}
.link-aux:hover{color:#b07d2c!important;transform:scale(1.3);}

/* botones */
.btn{padding:.75rem 1.5rem;border:none;border-radius:5px;cursor:pointer;font-weight:bold;font-size:1em;transition:background-color .2s;text-align:center;}
.btn-primary{background:#CC9641;color:#fff;}
.btn-primary:hover{background:#e9c986;border:3px solid #CC9641;color:#000;text-decoration:none;}

/* logo */
.logo-img{vertical-align:middle;}

/* texto responsive */
.container.text-end.medium{font-size:1.3em;}

/* ---------------  DOCUMENTOS --------------- */
.doc-group input[type='file']{display:block;margin-top:.5rem;}
.doc-group .legend{font-size:.85rem;color:#666;margin-bottom:.25rem;}

.doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;}
.doc-card{
  border:1px solid #e0e0e0;border-radius:8px;padding:1rem;background:#fafafa;
  display:flex;flex-direction:column;gap:.75rem;
}
.doc-title{font-weight:600;color:#333;}
.doc-link{color:#CC9641;font-size:.9rem;}
.doc-link:hover{text-decoration:underline;}
.doc-card input[type='file']{margin-top:.25rem;}

.navbar-toggler.logo-img{margin-right:1rem;}

/* ---------------  NextGestión Activos BRAND SYSTEM  --------------- */
:root{
  --activos-blue:#163a5f;
  --activos-blue-2:#0d2947;
  --activos-accent:#c6a15b;
  --activos-ink:#1f2937;
  --activos-muted:#6b7280;
  --activos-paper:#ffffff;
  --activos-soft:#f5f7fb;
  --activos-line:#e4e8f0;
  --nav-h:96px;
}

/* NextGestión Activos · patrimonio transformado */
body{background:#fff;color:#24303b}.main-navbar{background:#fff;border-bottom:1px solid #eee7d9;box-shadow:0 8px 30px rgba(13,41,71,.06)}
.theme-brand-logo{max-height:78px;width:auto;object-fit:contain}.btn-primary{background:#b9934c;color:#fff}.btn-primary:hover{background:#163a5f;border-color:#163a5f;color:#fff}
.property-kicker{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:#9b7738;font-weight:700}.property-cover{height:100%;min-height:430px;border-radius:24px;overflow:hidden;background:#f5f2eb}.property-cover img{width:100%;height:100%;object-fit:cover}.property-empty{height:100%;min-height:430px;display:grid;place-content:center;text-align:center;color:#a3916d;gap:1rem}.property-empty i{font-size:4rem}.property-panel{background:#fff;border:1px solid #ece5d8;border-radius:24px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 18px 50px rgba(13,41,71,.07)}.property-type{color:#163a5f;font-weight:700}.property-kpis{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.75rem}.property-kpis div{background:#faf8f3;border-radius:16px;padding:1rem}.property-kpis strong,.property-kpis span{display:block}.property-kpis strong{font-size:1.25rem;color:#163a5f}.property-kpis span{font-size:.75rem;color:#687582;margin-top:.25rem}.property-data{margin:0}.property-data div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid #eee}.property-data dt{color:#687582;font-weight:500}.property-data dd{font-weight:600;text-align:right;margin:0}.financial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem}.financial-grid div{border-left:3px solid #c6a15b;padding:.5rem 1rem}.financial-grid span,.financial-grid strong{display:block}.financial-grid span{font-size:.78rem;color:#687582}.financial-grid strong{color:#163a5f;margin-top:.25rem}.property-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.property-gallery figure{margin:0;border-radius:18px;overflow:hidden;border:1px solid #ece5d8;background:#fff}.property-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.property-gallery figcaption{padding:.85rem}.property-gallery figcaption span{display:block;color:#687582;font-size:.82rem;margin-top:.25rem}

html,
body{
  font-family:'Aptos','Segoe UI Variable','Segoe UI',Arial,sans-serif!important;
  color:var(--activos-ink);
  background:var(--activos-soft);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

body{
  letter-spacing:0;
  overflow-x:hidden;
}

/* Visible solo al navegar con teclado; no ocupa espacio en el lienzo. */
.skip-link{
  position:fixed;
  z-index:10000;
  top:.65rem;
  left:.65rem;
  padding:.7rem 1rem;
  border:2px solid var(--activos-gold-500);
  border-radius:10px;
  color:#fff;
  background:var(--activos-navy-950);
  box-shadow:0 10px 28px rgba(7,26,45,.28);
  font-weight:750;
  text-decoration:none;
  transform:translateY(calc(-100% - 1.5rem));
  transition:transform .16s ease;
}

.skip-link:focus,
.skip-link:focus-visible{
  color:#fff;
  transform:translateY(0);
  outline:3px solid rgba(229,207,156,.5);
  outline-offset:2px;
}

img,
svg,
video,
canvas{
  max-width:100%;
}

img{
  height:auto;
  image-rendering:auto;
}

canvas{
  image-rendering:auto;
}

.flex-grow-1,
main,
main > .container,
main > .container-fluid,
.container,
.container-fluid,
.row,
.card,
.modal-content{
  min-width:0;
}

.container,
.container-fluid{
  max-width:100%;
}

.table-responsive{
  -webkit-overflow-scrolling:touch;
}

.table{
  vertical-align:middle;
}

.table th,
.table td{
  overflow-wrap:anywhere;
}

.table td.text-end,
.table th.text-end,
.amount-cell,
[class*="money"]{
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

h1,h2,h3,h4,h5,h6,
.navbar,
.btn{
  font-family:'Aptos Display','Aptos','Segoe UI Variable Display','Segoe UI',Arial,sans-serif!important;
}

h1,h2,h3{
  color:var(--activos-blue);
  font-weight:800;
}

.main-navbar{
  min-height:var(--nav-h);
  height:auto;
  background:var(--activos-blue)!important;
  box-shadow:0 10px 30px rgba(9,32,90,.18);
  padding:.55rem 0;
}

.main-navbar .container-fluid{
  padding-left:clamp(1rem,3vw,2.5rem);
  padding-right:clamp(1rem,3vw,2.5rem)!important;
  gap:.75rem;
}

.main-navbar .navbar-brand img{
  height:58px!important;
  width:auto;
  max-width:260px;
  object-fit:contain;
}

.main-navbar .nav-link,
.main-navbar .link-aux{
  color:#fff!important;
  text-decoration:none;
  font-size:.92rem;
  font-weight:600;
  letter-spacing:.02em;
  text-transform:none;
  transform:none!important;
}

.main-navbar .nav-link:hover,
.main-navbar .link-aux:hover{
  color:#dce9ff!important;
  transform:none!important;
}

.main-navbar .nav-message-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:.38rem;
  overflow:visible;
}

.main-navbar .nav-unread-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:1.12rem;
  height:1.12rem;
  padding:0 .32rem;
  border-radius:999px;
  background:#dc2626;
  color:#fff;
  font-size:.66rem;
  font-weight:800;
  line-height:1;
  box-shadow:0 0 0 2px rgba(255,255,255,.72), 0 7px 16px rgba(220,38,38,.36);
  transform:translateY(-.45rem);
}

.main-navbar .dropdown-menu{
  border:0;
  border-radius:14px;
  box-shadow:0 16px 36px rgba(9,32,90,.2);
}

.offcanvas{
  background:var(--activos-blue);
}

.offcanvas .navbar-nav{
  width:100%;
}

.offcanvas .nav-item,
.offcanvas .btn{
  max-width:100%;
}

.offcanvas .offcanvas-title,
.offcanvas .btn-close{
  color:#fff;
}

.navbar-toggler{
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:999px!important;
}

.navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")!important;
}

main.py-4{
  padding-top:2rem!important;
  padding-bottom:2.5rem!important;
}

.card{
  border:1px solid var(--activos-line)!important;
  border-radius:16px!important;
  box-shadow:0 12px 28px rgba(19,37,91,.08)!important;
  overflow:hidden;
}

.card-header,
.modal-header.bg-primary{
  background:var(--activos-blue)!important;
  color:#fff!important;
}

.table-light th{
  background:#eef3fb!important;
  color:var(--activos-blue)!important;
  border-bottom:2px solid var(--activos-accent)!important;
}

.btn{
  border-radius:999px!important;
  padding:.65rem 1.25rem;
  font-weight:700;
  letter-spacing:.01em;
  min-width:0;
  white-space:normal;
}

.btn-primary,
.btn-success{
  background:var(--activos-blue)!important;
  border:1px solid var(--activos-blue)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(19,37,91,.18);
}

.btn-primary:hover,
.btn-success:hover{
  background:var(--activos-accent)!important;
  border-color:var(--activos-accent)!important;
  color:#fff!important;
}

.btn-outline-primary,
.btn-outline-secondary{
  color:var(--activos-blue)!important;
  border:1px solid var(--activos-blue)!important;
  background:#fff!important;
}

.btn-outline-primary:hover,
.btn-outline-secondary:hover{
  color:#fff!important;
  background:var(--activos-blue)!important;
}

.form-control,
.form-select,
.input-group-text{
  border-radius:999px!important;
  border-color:#d9deea!important;
  min-width:0;
}

textarea.form-control,
textarea{
  border-radius:18px!important;
}

.form-control:focus,
.form-select:focus{
  border-color:var(--activos-accent)!important;
  box-shadow:0 0 0 .18rem rgba(45,130,216,.18)!important;
}

.badge.bg-warning,
.badge.text-bg-primary,
.bg-primary{
  background-color:var(--activos-blue)!important;
  color:#fff!important;
}

.text-primary,
a{
  color:var(--activos-blue);
}

a:hover{
  color:var(--activos-accent);
}

.product-card{
  border-radius:18px!important;
}

.product-card-img,
.card-img-top{
  background:#edf2fb;
}

.product-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(19,37,91,.16)!important;
}

footer{
  background:var(--activos-blue)!important;
  color:#dce4f4!important;
  border-top:4px solid var(--activos-accent);
}

footer a{
  color:#fff!important;
}

.filters-heading{
  background:var(--activos-blue)!important;
  color:#fff!important;
  padding:1rem 1.25rem!important;
  border-radius:8px 8px 0 0;
}

.filters-heading h1,
.filters-heading h2,
.filters-heading h3,
.filters-heading h4,
.filters-heading h5,
.filters-heading h6,
.filters-heading .filters-heading-copy{
  color:inherit!important;
}

.filters-heading .filters-heading-copy{
  opacity:.92;
}

.activos-page-kicker{
  color:var(--activos-accent);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  font-weight:800;
}

.activos-hero{
  background:linear-gradient(135deg,var(--activos-blue),#1d3b83);
  color:#fff;
  border-radius:0;
  padding:clamp(2.5rem,6vw,5.5rem) clamp(1rem,4vw,3rem);
  margin:-2rem -1rem 2rem;
}

.activos-hero h1,
.activos-hero h2,
.activos-hero p{
  color:#fff;
}

/* Document upload controls */
.document-file-widget{
  display:grid;
  grid-template-columns:1fr;
  gap:.35rem;
  min-width:0;
}
.document-file-widget.has-current{
  grid-template-columns:minmax(220px, 1fr) minmax(220px, .9fr);
  align-items:center;
}
.document-file-current{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  min-width:0;
  min-height:34px;
  padding:.32rem .5rem;
  border:1px solid rgba(20,37,91,.16);
  border-radius:7px;
  background:#f8fbff;
}
.document-file-current-info{
  min-width:0;
  max-width:100%;
  display:flex;
  align-items:center;
  gap:.38rem;
}
.document-file-status{
  color:#6b7890;
  font-size:.64rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.02em;
  white-space:nowrap;
}
.document-file-link{
  display:inline-flex;
  align-items:center;
  gap:.28rem;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:700;
  color:var(--panel-color-botones,#13255b);
  text-decoration:none;
}
.document-file-link:hover,
.document-file-link:focus{
  text-decoration:underline;
}
.document-file-clear{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  margin:0;
  color:#8c2f2f;
  font-size:.76rem;
  white-space:nowrap;
  cursor:pointer;
}
.document-file-clear input{
  margin:0;
}
.document-file-input input[type="file"],
.document-file-widget input[type="file"]{
  min-height:34px;
  font-size:.82rem;
  width:100%;
}
.document-extra-card{
  overflow:hidden;
  border:1px solid rgba(20,37,91,.14);
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,37,72,.08);
}
.document-extra-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  padding:.7rem .85rem;
  border-bottom:1px solid rgba(20,37,91,.1);
  background:linear-gradient(90deg,rgba(19,37,91,.06),rgba(45,128,112,.05));
}
.document-extra-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.75rem;
  flex:1 1 auto;
  min-width:280px;
}
.document-status-list{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:.32rem;
}
.document-status-pill{
  display:inline-flex;
  align-items:center;
  gap:.28rem;
  min-height:24px;
  padding:.18rem .42rem;
  border:1px solid transparent;
  border-radius:7px;
  font-size:.7rem;
  font-weight:700;
  line-height:1.15;
  background:#fff;
  white-space:nowrap;
}
.document-status-pill.is-attached{
  border-color:rgba(35,132,88,.26);
  color:#146c43;
  background:#eefaf4;
}
.document-status-pill.is-missing{
  border-color:rgba(189,52,69,.28);
  color:#9f2738;
  background:#fff1f3;
}
.document-status-dot{
  width:.4rem;
  height:.4rem;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 3px rgba(255,255,255,.8);
}
.document-status-name{
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.document-status-text{
  opacity:.72;
  font-weight:800;
  text-transform:uppercase;
  font-size:.62rem;
  letter-spacing:.02em;
}
.document-extra-add{
  flex:0 0 auto;
  border-radius:8px;
}
.document-extra-body{
  padding:.65rem;
}
.document-extra-rows{
  display:flex;
  flex-direction:column;
  gap:.45rem;
}
.document-extra-row{
  padding:.45rem .55rem;
  border:1px solid rgba(20,37,91,.12);
  border-radius:8px;
  background:#fff;
}
.document-extra-row--removed{
  display:none;
}
.document-extra-line{
  display:grid;
  grid-template-columns:132px minmax(250px,1fr) minmax(290px,1.1fr) minmax(500px,1.7fr) auto;
  gap:.65rem;
  align-items:center;
}
.document-extra-row-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.75rem;
}
.document-extra-index{
  align-self:center;
  color:#6b7890;
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  white-space:nowrap;
  padding-right:.65rem;
  border-right:1px solid rgba(20,37,91,.12);
}
.document-extra-field{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:.38rem;
  min-width:0;
}
.document-extra-field--file{
  grid-template-columns:auto minmax(0,1fr);
}
.document-extra-field .form-label{
  margin:0;
  color:#42526e;
  font-size:.76rem;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}
.document-extra-field select,
.document-extra-field input,
.document-extra-field textarea{
  min-height:34px;
}
.document-extra-remove{
  align-self:center;
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  border:0;
  background:transparent;
  color:#c23b3b;
  font-weight:700;
  font-size:.76rem;
  padding:.15rem .25rem;
}
.document-extra-remove:hover,
.document-extra-remove:focus{
  color:#8d2222;
  text-decoration:underline;
}
.document-extra-footer{
  display:flex;
  justify-content:flex-start;
  padding-top:.45rem;
}
.document-extra-add-line{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-height:32px;
  padding:.28rem .75rem;
  border:1px dashed rgba(20,37,91,.32);
  border-radius:8px;
  background:rgba(248,251,255,.86);
  color:var(--panel-color-botones,#13255b);
  font-size:.82rem;
  font-weight:800;
}
.document-extra-add-line:hover,
.document-extra-add-line:focus{
  border-style:solid;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,37,72,.08);
}

@media(max-width:991.98px){
  .document-extra-header{
    align-items:flex-start;
    flex-direction:column;
  }
  .document-extra-actions{
    width:100%;
    min-width:0;
    align-items:flex-start;
    justify-content:space-between;
  }
  .document-status-list{
    justify-content:flex-start;
  }
  .document-extra-line{
    position:relative;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:.45rem .6rem;
    padding-top:1.2rem;
  }
  .document-extra-index{
    position:absolute;
    top:0;
    left:0;
    padding-right:0;
    border-right:0;
  }
  .document-extra-field--file{
    grid-column:1 / -1;
  }
  .document-extra-remove{
    position:absolute;
    top:-.15rem;
    right:0;
  }
  .document-file-widget.has-current{
    grid-template-columns:minmax(0,1fr) minmax(190px,.8fr);
  }
}

@media(max-width:575.98px){
  .document-extra-actions{
    flex-direction:column;
  }
  .document-extra-add{
    width:100%;
  }
  .document-extra-add-line{
    width:100%;
    justify-content:center;
  }
  .document-status-pill{
    width:100%;
    justify-content:space-between;
  }
  .document-extra-line{
    grid-template-columns:1fr;
  }
  .document-extra-field,
  .document-extra-field--file{
    grid-template-columns:1fr;
    gap:.22rem;
  }
  .document-file-widget.has-current{
    grid-template-columns:1fr;
  }
  .document-file-current-info{
    align-items:flex-start;
    flex-direction:column;
    gap:.08rem;
  }
}

/* Relato visual coordinado: estado actual, plano, proyección y vídeo */
.property-media-stage--plan{
  background:linear-gradient(145deg,#f8f6f1,#ece6da);
}
.property-media-stage--plan img{
  object-fit:contain;
  padding:clamp(.35rem,1.2vw,1rem);
}
.conceptual-media-note{
  display:flex;
  align-items:center;
  gap:.7rem;
  margin:.65rem .15rem .1rem;
  padding:.72rem .85rem;
  border-radius:13px;
  color:#536476;
  background:#f8f5ee;
  font-size:.75rem;
  line-height:1.4;
}
.conceptual-media-note i{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  border-radius:50%;
  color:#fff;
  background:#173b5f;
}
.conceptual-media-note strong{
  color:#173b5f;
}
.conceptual-disclaimer{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:1rem;
  overflow:hidden;
  padding:1rem 1.15rem;
  border:1px solid rgba(198,161,91,.42);
  border-radius:18px;
  background:linear-gradient(110deg,#fffdf8,#f5efe2);
  box-shadow:0 14px 35px rgba(22,58,95,.06);
}
.conceptual-disclaimer>i{
  display:grid;
  place-items:center;
  width:2.75rem;
  height:2.75rem;
  border-radius:14px;
  color:#e7cf99;
  background:#173b5f;
  font-size:1.25rem;
}
.conceptual-disclaimer strong{
  display:block;
  color:#123653;
  margin-bottom:.15rem;
}
.conceptual-disclaimer p{
  margin:0;
  color:#647384;
  font-size:.82rem;
}
.conceptual-disclaimer>span{
  padding:.35rem .65rem;
  border:1px solid #c6a15b;
  border-radius:999px;
  color:#8d6828;
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.14em;
}
.transformation-compare-section{
  padding:clamp(1.25rem,3vw,2rem);
  border:1px solid #e8dfcf;
  border-radius:26px;
  background:
    radial-gradient(circle at 92% 5%,rgba(198,161,91,.16),transparent 25%),
    linear-gradient(145deg,#fff,#f8f5ef);
  box-shadow:0 22px 60px rgba(12,42,70,.08);
}
.transformation-heading,.video-section-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.comparison-proof,.video-proof-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.5rem .75rem;
  border-radius:999px;
  color:#fff;
  background:#173b5f;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.03em;
}
.comparison-proof i,.video-proof-badge i{
  color:#e5c77f;
  font-size:1rem;
}
.transformation-compare-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.15rem;
  margin-top:1.35rem;
}
.transformation-compare-card{
  overflow:hidden;
  border:1px solid #e6ddcd;
  border-radius:20px;
  background:#fff;
  box-shadow:0 13px 34px rgba(15,44,70,.08);
}
.comparison-card-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.85rem 1rem;
  color:#143858;
}
.comparison-card-heading>div{
  display:flex;
  gap:.35rem;
}
.comparison-card-heading span{
  padding:.25rem .5rem;
  border-radius:999px;
  color:#687888;
  background:#f1eee7;
  font-size:.61rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.comparison-card-heading span:last-child{
  color:#fff;
  background:#173b5f;
}
.before-after-stage{
  position:relative;
  overflow:hidden;
  aspect-ratio:4/3;
  background:#dce3e8;
  isolation:isolate;
}
.before-after-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  user-select:none;
  pointer-events:none;
}
.before-after-image--before{
  z-index:2;
  clip-path:inset(0 calc(100% - var(--compare-position)) 0 0);
}
.before-after-divider{
  position:absolute;
  z-index:4;
  top:0;
  bottom:0;
  left:var(--compare-position);
  width:3px;
  transform:translateX(-50%);
  background:#fff;
  box-shadow:0 0 0 1px rgba(8,36,61,.16),0 0 18px rgba(8,36,61,.28);
  pointer-events:none;
}
.before-after-divider i{
  position:absolute;
  top:50%;
  left:50%;
  display:grid;
  place-items:center;
  width:2.55rem;
  height:2.55rem;
  transform:translate(-50%,-50%);
  border:3px solid #fff;
  border-radius:50%;
  color:#fff;
  background:#173b5f;
  box-shadow:0 8px 22px rgba(5,25,42,.3);
}
.before-after-chip{
  position:absolute;
  z-index:5;
  top:.75rem;
  padding:.35rem .58rem;
  border-radius:999px;
  color:#fff;
  background:rgba(7,30,50,.74);
  backdrop-filter:blur(8px);
  font-size:.64rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  pointer-events:none;
}
.before-after-chip--before{left:.75rem}
.before-after-chip--after{right:.75rem;background:rgba(166,125,51,.86)}
.before-after-control{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:.7rem;
  padding:.8rem 1rem 1rem;
  color:#9a7737;
}
.before-after-control input{
  width:100%;
  height:5px;
  border-radius:999px;
  outline:none;
  accent-color:#173b5f;
  cursor:ew-resize;
}
.property-gallery figure[data-gallery-category="plano"]{
  grid-column:span 2;
}
.property-gallery figure[data-gallery-category="plano"] .gallery-image-button{
  background:#f4f0e8;
}
.property-gallery figure[data-gallery-category="plano"] img{
  aspect-ratio:16/10;
  object-fit:contain;
}
.video-section-heading{
  align-items:center;
}
.video-proof-badge{
  border:1px solid rgba(226,201,143,.42);
  background:rgba(255,255,255,.1);
}

@media(max-width:991.98px){
  .transformation-compare-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:767.98px){
  .transformation-heading,.video-section-heading{
    display:block;
  }
  .comparison-proof,.video-proof-badge{
    margin-top:.75rem;
  }
  .property-gallery figure[data-gallery-category="plano"]{
    grid-column:span 1;
  }
  .conceptual-disclaimer{
    grid-template-columns:auto 1fr;
  }
  .conceptual-disclaimer>span{
    display:none;
  }
  .comparison-card-heading{
    align-items:flex-start;
  }
  .comparison-card-heading>div{
    display:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .before-after-image--before,.before-after-divider{
    transition:none;
  }
}

@media(max-width:991.98px){
  .main-navbar .navbar-brand img{
    height:48px!important;
    max-width:min(52vw,220px);
  }
  .main-navbar{
    min-height:78px;
  }
  .main-navbar .container-fluid{
    padding-right:1rem!important;
  }
  .offcanvas{
    width:min(86vw,360px)!important;
    max-width:100vw;
    overflow-x:hidden;
  }
  .offcanvas.offcanvas-end:not(.show):not(.showing){
    right:0;
    transform:translateX(100%);
  }
  .offcanvas .navbar-nav{
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:.75rem!important;
    padding:1rem;
  }
  .offcanvas .nav-link,
  .offcanvas .btn,
  .offcanvas .dropdown-toggle{
    display:flex!important;
    justify-content:center;
    align-items:center;
    width:100%;
    min-height:42px;
    margin:0;
  }
  .offcanvas .dropdown-menu{
    position:static!important;
    transform:none!important;
    width:100%;
    margin-top:.4rem;
  }
  main.py-4{
    padding-top:1.25rem!important;
    padding-bottom:1.75rem!important;
  }
  .activos-hero{
    margin:-1.25rem -.75rem 1.25rem;
  }
  .card{
    border-radius:12px!important;
  }
}

@media(max-width:767.98px){
  main > .container-fluid,
  main > .container{
    padding-left:.75rem!important;
    padding-right:.75rem!important;
  }
  .d-flex.justify-content-between,
  .d-flex.justify-content-end,
  .d-flex.align-items-center{
    min-width:0;
  }
  .btn-group{
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:.25rem;
  }
  .btn-group > .btn{
    border-radius:999px!important;
  }
  .filters-heading{
    padding:.85rem 1rem!important;
  }
  .filters-heading h1,
  .filters-heading h2,
  .filters-heading h3,
  .filters-heading h4,
  .filters-heading h5,
  .filters-heading h6{
    font-size:1rem;
  }
  .table{
    min-width:680px;
  }
  .table.table-sm{
    font-size:.86rem;
  }
}

@media(max-width:575.98px){
  h1,.h1{font-size:1.55rem;}
  h2,.h2{font-size:1.28rem;}
  h3,.h3{font-size:1.14rem;}
  .btn{
    padding:.58rem .9rem;
    font-size:.9rem;
  }
  .card-body{
    padding:1rem;
  }
  .row{
    --bs-gutter-x:.85rem;
  }
  .input-group{
    flex-wrap:nowrap;
  }
  .input-group .form-control{
    min-width:0;
  }
  .display-6{
    font-size:1.55rem;
  }
}

/* NextGestión Activos 2026 · cierre de cascada global (debe permanecer al final). */
:root{
  --activos-navy-950:#071a2d;
  --activos-navy-900:#0d2947;
  --activos-navy-800:#153b60;
  --activos-gold-700:#9a702f;
  --activos-gold-600:#b78a43;
  --activos-gold-500:#cda85f;
  --activos-gold-300:#e5cf9c;
  --activos-ivory:#fbfaf7;
  --activos-surface-soft:#f6f3ec;
  --activos-text:#172333;
  --activos-text-soft:#617083;
  --activos-border:#e8e1d3;
  --activos-shadow-sm:0 8px 24px rgba(7,26,45,.07);
  --activos-shadow:0 20px 55px rgba(7,26,45,.10);
  --activos-ring:0 0 0 .22rem rgba(183,138,67,.24);
  --nav-h:104px;
}

html{
  scroll-padding-top:calc(var(--nav-h) + 1rem);
}

body{
  background:radial-gradient(circle at 8% 0,rgba(205,168,95,.07),transparent 26rem),linear-gradient(180deg,#fff 0,var(--activos-ivory) 100%)!important;
  color:var(--activos-text);
  line-height:1.62;
}

.main-navbar{
  position:sticky;
  z-index:1030;
  top:0;
  min-height:var(--nav-h);
  height:auto;
  padding:.1rem 0;
  background:rgba(255,255,255,.96)!important;
  border-top:3px solid var(--activos-gold-500);
  border-bottom:1px solid rgba(154,112,47,.22);
  box-shadow:0 12px 36px rgba(7,26,45,.08);
  backdrop-filter:blur(18px) saturate(145%);
}

.main-navbar .navbar-brand{
  display:flex;
  flex:0 0 auto;
  width:230px;
  height:96px;
  overflow:hidden;
  align-items:center;
  justify-content:center;
  padding:0;
}

.main-navbar .navbar-brand img,
.main-navbar .navbar-brand .theme-brand-logo{
  display:block;
  width:230px!important;
  min-width:230px;
  height:100px!important;
  max-width:none;
  max-height:none;
  object-fit:cover!important;
  object-position:center;
}

.main-navbar .nav-link,
.main-navbar .link-aux{
  position:relative;
  padding:.65rem .2rem!important;
  color:var(--activos-navy-900)!important;
  font-size:.88rem;
  font-weight:650;
  text-decoration:none;
  transform:none!important;
}

.main-navbar .nav-link:not(.btn):hover,
.main-navbar .link-aux:not(.btn):hover{
  color:var(--activos-gold-700)!important;
  transform:none!important;
}

.main-navbar .btn,
.main-navbar .nav-link.btn{
  min-height:42px;
  padding:.58rem 1rem!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--activos-gold-600),var(--activos-gold-700))!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  box-shadow:0 9px 22px rgba(154,112,47,.2);
}

.main-navbar .btn:hover,
.main-navbar .nav-link.btn:hover{
  color:#fff!important;
  background:linear-gradient(135deg,var(--activos-navy-800),var(--activos-navy-950))!important;
  border-color:transparent!important;
}

.main-navbar .dropdown-menu{
  padding:.55rem;
  border:1px solid var(--activos-border);
  border-radius:16px;
  background:rgba(255,255,255,.98);
  box-shadow:var(--activos-shadow);
}

.main-navbar .dropdown-item{
  padding:.68rem .8rem;
  border-radius:10px;
  color:var(--activos-navy-900);
  font-weight:550;
}

.main-navbar .dropdown-item:hover,
.main-navbar .dropdown-item:focus{
  background:var(--activos-surface-soft);
  color:var(--activos-gold-700);
}

.navbar-toggler{
  width:46px;
  height:46px;
  margin-right:0!important;
  padding:.5rem!important;
  border:1px solid rgba(154,112,47,.32)!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 7px 18px rgba(7,26,45,.08);
}

.navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%230d2947' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")!important;
}

.offcanvas{
  background:#fff;
}

.offcanvas .offcanvas-title,
.offcanvas .btn-close{
  color:var(--activos-navy-900);
}

main.py-4{
  padding-top:clamp(1.5rem,3vw,2.75rem)!important;
  padding-bottom:clamp(3rem,6vw,5.5rem)!important;
}

main > .container,
main > .container-fluid{
  width:min(100%,1560px);
  margin-inline:auto;
}

.card,
.modal-content,
.accordion-item,
.list-group{
  border:1px solid var(--activos-border)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.98);
  box-shadow:var(--activos-shadow-sm)!important;
}

.card{
  transition:box-shadow .22s ease,border-color .22s ease,transform .22s ease;
}

.card:hover{
  border-color:rgba(183,138,67,.34)!important;
  box-shadow:var(--activos-shadow)!important;
}

.card-header,
.card-footer{
  padding:1rem 1.2rem;
  border-color:var(--activos-border)!important;
}

.card-header:not(.bg-primary):not(.bg-dark):not(.bg-success):not(.bg-danger):not(.filters-heading),
.card-footer{
  background:linear-gradient(180deg,#fff,var(--activos-ivory));
}

.modal-content{
  overflow:hidden;
  border-radius:24px!important;
}

.list-group{
  overflow:hidden;
}

.list-group-item{
  border-color:var(--activos-border);
  background:transparent;
}

.btn{
  min-height:42px;
  padding:.62rem 1.1rem;
  border-width:1px!important;
  border-style:solid!important;
  border-radius:12px!important;
  font-size:.9rem;
  font-weight:700;
  line-height:1.25;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease;
}

.btn:hover:not(:disabled){
  transform:translateY(-1px);
}

.btn-primary,
.btn-success{
  background:linear-gradient(135deg,var(--activos-navy-800),var(--activos-navy-950))!important;
  border-color:var(--activos-navy-900)!important;
  color:#fff!important;
  box-shadow:0 9px 20px rgba(13,41,71,.16);
}

.btn-primary:hover,
.btn-success:hover{
  background:linear-gradient(135deg,var(--activos-gold-600),var(--activos-gold-700))!important;
  border-color:var(--activos-gold-700)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(154,112,47,.22);
}

.btn-outline-primary,
.btn-outline-secondary{
  border-color:rgba(13,41,71,.36)!important;
  color:var(--activos-navy-900)!important;
  background:#fff!important;
}

.btn-outline-primary:hover,
.btn-outline-secondary:hover{
  border-color:var(--activos-navy-900)!important;
  background:var(--activos-navy-900)!important;
  color:#fff!important;
}

.btn-danger,
.btn-outline-danger:hover{
  background:#a73f46!important;
  border-color:#a73f46!important;
  color:#fff!important;
}

.btn-warning{
  background:#f3e5c8!important;
  border-color:#dfc48e!important;
  color:#604214!important;
}

.btn-sm{
  min-height:34px;
  padding:.42rem .72rem;
  border-radius:9px!important;
  font-size:.8rem;
}

.form-label,
legend{
  color:var(--activos-navy-900);
  font-weight:700;
}

.form-control,
.form-select,
.input-group-text{
  min-height:46px;
  border:1px solid #d7dce2!important;
  border-radius:12px!important;
  background-color:#fff;
  color:var(--activos-text);
  box-shadow:inset 0 1px 2px rgba(7,26,45,.02);
}

textarea.form-control,
textarea{
  min-height:120px;
  border-radius:14px!important;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus{
  border-color:var(--activos-gold-600)!important;
  box-shadow:var(--activos-ring)!important;
}

.form-check-input:checked{
  border-color:var(--activos-navy-900);
  background-color:var(--activos-navy-900);
}

.table-responsive{
  border:1px solid var(--activos-border);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--activos-shadow-sm);
}

.table{
  margin-bottom:0;
  color:var(--activos-text);
}

.table > :not(caption) > * > *{
  padding:.85rem 1rem;
  border-bottom-color:#ece7de;
}

.table thead th,
.table-light th{
  border-bottom:1px solid rgba(183,138,67,.45)!important;
  background:var(--activos-surface-soft)!important;
  color:var(--activos-navy-900)!important;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.065em;
  text-transform:uppercase;
}

.alert{
  padding:1rem 1.1rem 1rem 1.25rem;
  border:1px solid transparent;
  border-left-width:4px;
  border-radius:12px;
  box-shadow:var(--activos-shadow-sm);
}

.alert-success{border-color:#b9d9ca;border-left-color:#277457;background:#f0f8f4;color:#18533e;}
.alert-danger,.alert-error{border-color:#e7c5c8;border-left-color:#a73f46;background:#fff4f4;color:#782d33;}
.alert-warning{border-color:#ead6aa;border-left-color:#9b6b20;background:#fff9ed;color:#684817;}
.alert-info{border-color:#bfdae8;border-left-color:#22658a;background:#f1f8fb;color:#184f6d;}

.site-footer{
  position:relative;
  margin-top:auto;
  padding:clamp(2.4rem,5vw,4.25rem) 0 1.45rem;
  overflow:hidden;
  border-top:0;
  background:radial-gradient(circle at 84% 8%,rgba(205,168,95,.15),transparent 25rem),linear-gradient(135deg,var(--activos-navy-950),var(--activos-navy-800))!important;
  color:#dce4eb!important;
}

.site-footer::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,transparent,var(--activos-gold-500) 22%,var(--activos-gold-300) 50%,var(--activos-gold-500) 78%,transparent);
}

.site-footer__inner{
  width:min(100% - 2rem,1320px);
  margin-inline:auto;
}

.site-footer__lead,
.site-footer__legal{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
}

.site-footer__wordmark{
  margin:0;
  color:#fff;
  font-size:clamp(1.45rem,2.5vw,2.15rem);
  font-weight:800;
  letter-spacing:.22em;
  line-height:1;
}

.site-footer__promise{
  max-width:650px;
  margin:.8rem 0 0;
  color:#bdc9d3;
  font-size:.91rem;
}

.site-footer__nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.65rem 1.35rem;
}

.site-footer__nav a{
  color:#fff!important;
  font-size:.84rem;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:transparent;
  text-underline-offset:.35rem;
  transition:text-decoration-color .18s ease;
}

.site-footer__nav a:hover,
.site-footer__nav a:focus-visible{
  text-decoration-color:var(--activos-gold-500);
}

.site-footer__rule{
  height:1px;
  margin:2rem 0 1.15rem;
  background:linear-gradient(90deg,rgba(229,207,156,.55),rgba(255,255,255,.08));
}

.site-footer__legal{
  color:#9fafbd;
  font-size:.74rem;
}

.site-footer__signature{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:#d7c08a;
  font-weight:650;
}

@media(max-width:991.98px){
  :root{--nav-h:82px;}
  .main-navbar{min-height:var(--nav-h);}
  .main-navbar .navbar-brand{width:185px;height:76px;}
  .main-navbar .navbar-brand img,
  .main-navbar .navbar-brand .theme-brand-logo{width:185px!important;min-width:185px;height:80px!important;}
  .offcanvas{width:min(88vw,380px)!important;border-left:1px solid var(--activos-border)!important;box-shadow:-20px 0 55px rgba(7,26,45,.16);}
  .offcanvas .offcanvas-header{min-height:78px;padding:1rem 1.25rem;border-bottom:1px solid var(--activos-border);}
  .offcanvas .navbar-nav{gap:.35rem!important;padding:1rem 1.25rem 1.5rem;}
  .offcanvas .nav-link:not(.btn){justify-content:flex-start!important;padding:.7rem .75rem!important;border-radius:10px;color:var(--activos-navy-900)!important;}
  .offcanvas .nav-link:not(.btn):hover{background:var(--activos-surface-soft);}
}

@media(max-width:767.98px){
  .site-footer{text-align:center;}
  .site-footer__lead,.site-footer__legal{flex-direction:column;justify-content:center;gap:1rem;}
  .site-footer__promise{margin-inline:auto;}
  .site-footer__nav{justify-content:center;}
  .site-footer__rule{margin:1.6rem 0 1rem;}
}

@media(max-width:575.98px){
  .main-navbar .container-fluid{padding-inline:.7rem!important;}
  .main-navbar .navbar-brand{width:155px;height:72px;}
  .main-navbar .navbar-brand img,
  .main-navbar .navbar-brand .theme-brand-logo{width:165px!important;min-width:165px;height:72px!important;}
}

@media(max-width:991.98px){
  html,
  body{
    overflow-x:clip;
  }

  /* Un filtro en el ancestro convertiría el offcanvas fijo en hijo de la
     cabecera; en móvil debe posicionarse respecto de toda la ventana. */
  .main-navbar{
    backdrop-filter:none;
  }

  .offcanvas.offcanvas-end:not(.show):not(.showing){
    visibility:hidden;
    pointer-events:none;
  }
}

.demo-notice{background:#e9dfcb;color:#173651;font:12px/1.5 system-ui,sans-serif;text-align:center;padding:7px 16px}.demo-notice a{color:inherit;font-weight:700}.demo-access{max-width:1080px;margin:24px auto}.demo-access summary{cursor:pointer;font-weight:700;color:#123b61}.demo-access td,.demo-access th{padding:10px 14px}.demo-access code{white-space:nowrap}

/* Ajuste del nuevo logotipo vectorial, sin el recorte del PNG antiguo. */
.main-navbar .navbar-brand img,.main-navbar .navbar-brand .theme-brand-logo{object-fit:contain!important;min-width:0;width:210px!important;height:58px!important;max-width:100%}.main-navbar .navbar-brand{height:80px;overflow:visible;width:220px;flex-shrink:0}.main-navbar .container-fluid{padding-left:24px!important;padding-right:24px!important}@media(max-width:600px){.main-navbar .navbar-brand{width:175px}.main-navbar .container-fluid{padding-left:14px!important;padding-right:14px!important}}
