/* StartBootstrap Creative adapted for GeoNorte */
:root{
  --creative-primary:#246b43;
  --creative-primary-dark:#153f27;
  --creative-accent:#d7a943;
  --creative-ink:#16221a;
  --creative-soft:#f5f7f1;
  --creative-shadow:0 18px 55px rgba(21,63,39,.16);
}
html{scroll-behavior:smooth}
body{padding-top:82px;background:linear-gradient(180deg,#fff,#f5f8f3 42%,#fff);font-family:"Merriweather Sans",Arial,Helvetica,sans-serif}
.login-page,.setup-page{padding-top:0}
.site-header,.admin-shell-header{position:fixed!important;inset:0 0 auto 0;z-index:1030;min-height:82px;border-bottom:1px solid rgba(216,225,218,.72);background:rgba(255,255,255,.92)!important;box-shadow:0 10px 30px rgba(21,63,39,.06);backdrop-filter:blur(16px);transition:min-height .2s,box-shadow .2s,background .2s}
.site-header.navbar-shrink,.admin-shell-header.navbar-shrink{min-height:68px;background:rgba(255,255,255,.98)!important;box-shadow:0 14px 35px rgba(21,63,39,.12)}
.brand-link strong{font-weight:900;color:var(--creative-ink)}.brand-link small{letter-spacing:.01em}
.brand-logo{box-shadow:0 8px 22px rgba(21,63,39,.1)}
.top-actions .btn,.admin-nav a{border-radius:999px!important}
.admin-nav a{font-weight:700}.admin-nav a:hover{background:#e9f5ed;color:var(--creative-primary)}
.btn,.quick-actions a{border-radius:999px!important;transition:transform .18s,box-shadow .18s,background .18s}
.btn:hover,.quick-actions a:hover{transform:translateY(-1px)}
.btn.primary,.primary{background:linear-gradient(135deg,var(--creative-primary),#1d7a49)!important;box-shadow:0 10px 25px rgba(36,107,67,.22)}
.btn.ghost{background:rgba(255,255,255,.9)!important;border-color:#d8e1da!important}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 0}
.hero-outline{background:rgba(255,255,255,.14)!important;color:#fff!important;border:1px solid rgba(255,255,255,.44)!important;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.hero-outline:hover{background:#fff!important;color:var(--creative-primary-dark)!important}
.creative-public .top-actions{gap:8px}
.hero{margin-top:-82px;min-height:calc(100vh + 8px);grid-template-columns:minmax(0,1fr) minmax(360px,430px);padding-top:150px;position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 24%,rgba(215,169,67,.28),transparent 28%),linear-gradient(120deg,rgba(15,45,28,.94),rgba(36,107,67,.62));z-index:-1}
.hero-content{max-width:780px}.hero h1{font-size:clamp(42px,7vw,78px);letter-spacing:0;line-height:.94;text-shadow:0 10px 36px rgba(0,0,0,.2)}
.hero h1::after,.creative-section-title::after,.detail-panel h1::after{content:"";display:block;width:72px;height:4px;border-radius:999px;background:var(--creative-accent);margin:24px 0 0}
.hero p{font-size:clamp(17px,2vw,21px);color:rgba(255,255,255,.88)}
.hero-card{background:rgba(255,255,255,.15)!important;border-color:rgba(255,255,255,.32)!important;box-shadow:0 22px 70px rgba(0,0,0,.16)}
.hero-card img{height:118px}
.hero-metrics span{border-radius:14px!important;background:rgba(255,255,255,.16)!important}
.creative-services{padding:74px 0;background:#fff}
.creative-section-title{text-align:center;max-width:760px;margin:0 auto 38px}.creative-section-title h2{font-size:clamp(30px,4vw,44px);margin:0}.creative-section-title::after{margin-left:auto;margin-right:auto}
.creative-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.creative-service-card{text-align:center;padding:28px 20px;border:1px solid #e3ebe5;border-radius:14px;background:#fff;box-shadow:0 16px 40px rgba(21,63,39,.08)}
.creative-service-card i{font-size:42px;color:var(--creative-primary)}.creative-service-card h3{font-size:18px;margin:16px 0 8px}.creative-service-card p{color:#667268;margin:0}
.creative-portfolio{padding:70px 0;background:var(--creative-soft)}
.creative-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-radius:16px;overflow:hidden;box-shadow:var(--creative-shadow)}
.creative-portfolio-item{position:relative;display:block;min-height:340px;overflow:hidden;background:#0f2d1c;color:#fff}
.creative-portfolio-item img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .35s,opacity .35s}
.creative-portfolio-item:hover img{transform:scale(1.06);opacity:.46}
.creative-portfolio-caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;background:linear-gradient(180deg,transparent,rgba(12,34,21,.88));opacity:.96}
.creative-portfolio-caption small{text-transform:uppercase;font-weight:900;color:#dceee2}.creative-portfolio-caption strong{font-size:24px;line-height:1.1}.creative-portfolio-caption span{margin-top:8px;color:#fff}
.geonorte-feature-carousel{position:relative;overflow:hidden;border:1px solid #dfe8e2;border-radius:22px;background:#fff;box-shadow:var(--creative-shadow)}
.geonorte-feature-slide{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);min-height:560px}
.geonorte-feature-media{display:grid;place-items:center;min-height:560px;background:linear-gradient(135deg,#ecf4ee,#dfeade)}
.geonorte-feature-media img{width:100%;height:100%;max-height:640px;object-fit:contain;object-position:center;background:#edf4ef;padding:10px}
.geonorte-feature-info{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:clamp(24px,4vw,46px);background:linear-gradient(180deg,#fff,#f7fbf8)}
.geonorte-feature-count{margin:0;color:var(--creative-primary);font-size:13px;font-weight:900}
.geonorte-feature-info h3{margin:0;color:var(--creative-ink);font-size:clamp(30px,4vw,50px);line-height:1.02}
.geonorte-feature-info .muted-text{display:flex;align-items:center;gap:8px;margin:0;font-size:16px}
.geonorte-feature-facts{display:grid;gap:10px;margin:8px 0}
.geonorte-feature-facts span{border:1px solid #dfe8e2;border-radius:12px;background:#fff;padding:14px 16px}
.geonorte-feature-facts strong{display:block;color:var(--creative-ink);font-size:18px}
.geonorte-feature-facts small{display:block;margin-top:4px;color:#667268;font-size:11px;font-weight:900;text-transform:uppercase}
.geonorte-feature-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.map-unavailable{display:inline-flex;align-items:center;gap:8px;border:1px dashed #cfd8d2;border-radius:999px;padding:11px 16px;color:#667268;font-weight:800}
.geonorte-feature-carousel .carousel-control-prev,.geonorte-feature-carousel .carousel-control-next{width:72px;opacity:1}
.geonorte-feature-carousel .carousel-control-prev-icon,.geonorte-feature-carousel .carousel-control-next-icon{width:48px;height:48px;border-radius:999px;background-size:48%;background-color:rgba(21,63,39,.92);box-shadow:0 12px 32px rgba(21,63,39,.28)}
.creative-cta{padding:72px 0;background:linear-gradient(135deg,var(--creative-primary-dark),var(--creative-primary));color:#fff;text-align:center}
.creative-cta h2{font-size:clamp(30px,4vw,46px)}.creative-cta p{max-width:720px;margin:0 auto 24px;color:#dceee2}
.site-footer{background:#111b15!important;color:#fff;border:0!important}.site-footer span{color:#bdc9c0}.social-links a{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}
.property-card,.admin-panel,.contact-card,.detail-panel,.login-card,.setup-card,.photo-admin-card,.dashboard-grid article{border-radius:14px!important;box-shadow:var(--creative-shadow)!important}
.detail-layout{align-items:start}.gallery-main img{height:520px;border-radius:16px;box-shadow:var(--creative-shadow);object-fit:contain;background:#edf4ef}.gallery-strip img,.digital-phone img,.digital-photo-grid img{border-radius:10px;object-fit:contain;background:#edf4ef}
.detail-panel{padding:30px}.contact-card{position:sticky;top:100px}.detail-stats span,.digital-card{border-radius:12px!important}
.digital-hero>div:first-child,.digital-phone,.digital-card{border-radius:16px!important}.digital-hero h1{font-size:clamp(34px,6vw,62px)}
.login-page{background:#f6f8f4}.login-visual{position:relative}.login-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(21,63,39,.36),rgba(21,63,39,.05))}
.login-card{padding:34px!important;border:0!important}.login-card h1{font-size:clamp(34px,5vw,48px);line-height:1.05}.login-brand{height:116px}
.admin-page{background:linear-gradient(180deg,#f6f8f4,#edf4ef)}.admin-container{padding-top:34px}
.admin-title h1{font-size:clamp(32px,4vw,48px)}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}
.dashboard-grid article{background:linear-gradient(180deg,#fff,#f8fbf8)}.dashboard-grid strong{font-size:clamp(28px,4vw,40px)}
.filter-bar{border-radius:14px!important}.table-wrap table{background:#fff}.row-actions a{color:var(--creative-primary)}
@media(max-width:960px){body{padding-top:76px}.hero{grid-template-columns:1fr;margin-top:-76px;padding-top:124px}.creative-service-grid,.creative-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-card{position:static}}
@media(max-width:960px){.geonorte-feature-slide{grid-template-columns:1fr;min-height:0}.geonorte-feature-media{min-height:0;aspect-ratio:16/10}.geonorte-feature-info{padding:24px}.geonorte-feature-carousel .carousel-control-prev,.geonorte-feature-carousel .carousel-control-next{top:calc((100vw - 32px) * .31);bottom:auto;width:58px}}
@media(max-width:640px){body{padding-top:72px}.site-header,.admin-shell-header{min-height:72px}.hero{min-height:calc(100vh + 12px);padding-top:110px}.hero h1{font-size:42px}.hero-card{display:none}.hero-ctas .btn{width:100%}.creative-service-grid,.creative-portfolio-grid{grid-template-columns:1fr}.creative-portfolio-item{min-height:300px}.geonorte-feature-media{aspect-ratio:16/11}.geonorte-feature-info h3{font-size:28px}.geonorte-feature-actions .btn,.map-unavailable{width:100%;justify-content:center}.geonorte-feature-carousel .carousel-control-prev,.geonorte-feature-carousel .carousel-control-next{width:52px;top:155px}.site-footer{padding-bottom:88px}.gallery-main img{height:340px}.login-card{padding:24px!important}}
@media(max-width:1080px){.mobile-menu-toggle{display:inline-flex!important}.site-header .top-actions,.admin-shell-header .admin-nav{display:none!important;position:absolute;left:12px;right:12px;top:calc(100% + 8px);background:#fff;border:1px solid #d8e1da;border-radius:14px;box-shadow:var(--creative-shadow);padding:10px}.site-header.menu-open .top-actions,.admin-shell-header.menu-open .admin-nav{display:grid!important;grid-template-columns:1fr;align-items:stretch}.site-header .top-actions a,.admin-shell-header .admin-nav a{width:100%;justify-content:flex-start;border-radius:10px!important;padding:12px 13px}.admin-shell-header .admin-nav{gap:2px}.site-header .brand-link,.admin-shell-header .brand-link{max-width:calc(100% - 54px)}}
@media print{body{padding-top:0}.site-header,.admin-shell-header{display:none!important}.hero::before{display:none}}


/* GeoNorte v2 carousel, QR and print refinements */
.geonorte-feature-carousel{max-width:min(1180px,100%);margin:0 auto;border-radius:24px}
.geonorte-feature-slide{grid-template-columns:minmax(0,1.55fr) minmax(340px,.7fr);min-height:clamp(620px,74vh,790px)}
.geonorte-feature-media{min-height:clamp(620px,74vh,790px);padding:clamp(8px,1.2vw,18px)}
.geonorte-feature-media img{max-height:clamp(600px,72vh,760px);padding:0;border-radius:16px;box-shadow:inset 0 0 0 1px rgba(21,63,39,.06)}
.geonorte-feature-info{min-width:0;align-self:stretch;justify-content:center;padding:clamp(26px,3.4vw,52px)}
.geonorte-feature-info h3{font-size:clamp(28px,3.2vw,48px);overflow-wrap:anywhere;hyphens:auto}
.geonorte-feature-facts{grid-template-columns:1fr}.geonorte-feature-facts span{min-width:0}.geonorte-feature-facts strong{overflow-wrap:anywhere}
.geonorte-feature-qr{display:flex;align-items:center;gap:14px;margin-top:8px;padding:14px;border:1px solid #dfe8e2;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(21,63,39,.08)}
.geonorte-feature-qr strong{display:block;color:var(--creative-ink);font-weight:900}.geonorte-feature-qr span{display:block;color:#667268;font-size:12px;line-height:1.35}
.geonorte-qr{display:grid;place-items:center;flex:0 0 auto;width:104px;height:104px;padding:8px;border:1px solid #e1e9e3;border-radius:14px;background:#fff}.geonorte-qr svg{width:100%;height:100%;display:block}
.admin-ficha-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start;margin:0 0 18px}.admin-ficha-actions .btn{box-shadow:0 10px 24px rgba(21,63,39,.12)}
.report-brand-header{text-align:right;min-width:230px}.report-brand-logo{display:block;width:82px;height:82px;margin:0 0 8px auto;border-radius:999px;object-fit:contain;border:1px solid #dfe8e2;background:#fff;padding:6px}.report-brand-copy strong,.report-brand-copy span{display:block}.report-brand-copy strong{font-size:13px;color:#16221a}.report-brand-copy span{font-size:11px;color:#6a756d;line-height:1.45}.report-brand-copy span:last-child{color:#43a260}
@media(max-width:960px){.geonorte-feature-slide{grid-template-columns:1fr;min-height:0}.geonorte-feature-media{min-height:0;aspect-ratio:16/11}.geonorte-feature-media img{max-height:none;width:100%;height:100%}.geonorte-feature-info{padding:24px}.geonorte-feature-qr{align-items:flex-start}.geonorte-qr{width:92px;height:92px}}
@media(max-width:640px){.geonorte-feature-info h3{font-size:clamp(25px,9vw,34px)}.geonorte-feature-facts span{padding:12px 13px}.geonorte-feature-qr{display:grid;grid-template-columns:auto 1fr}.geonorte-qr{width:86px;height:86px}.report-brand-header{text-align:left}.report-brand-logo{margin:0 0 8px 0}}
@media print{.admin-ficha-actions,.print-actions{display:none!important}.report-brand-header{break-inside:avoid}.report-brand-logo{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* GeoNorte v3 full-width public carousel */
.geonorte-feature-carousel{
  max-width:min(1320px,calc(100vw - 32px));
  border-radius:26px;
  overflow:hidden;
}
.geonorte-feature-slide{
  display:flex;
  flex-direction:column;
  min-height:0;
  background:#fff;
}
.geonorte-feature-media{
  width:100%;
  min-height:0;
  height:auto;
  padding:clamp(14px,2vw,26px);
  background:linear-gradient(135deg,#edf5ef,#e3eee6);
}
.geonorte-feature-media img{
  display:block;
  width:100%;
  height:auto;
  max-height:min(78vh,820px);
  object-fit:contain;
  object-position:center;
  margin:0 auto;
  border-radius:18px;
  background:#f5faf6;
  box-shadow:0 18px 45px rgba(21,63,39,.12);
}
.geonorte-feature-info{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px);
  align-items:start;
  gap:clamp(18px,2.6vw,34px);
  justify-content:normal;
  padding:clamp(22px,3vw,42px);
  background:#fff;
}
.geonorte-feature-count,
.geonorte-feature-info>.status-pill,
.geonorte-feature-info>h3,
.geonorte-feature-info>.muted-text,
.geonorte-feature-facts,
.geonorte-feature-actions{
  grid-column:1;
}
.geonorte-feature-info>h3{
  max-width:920px;
  font-size:clamp(30px,4vw,58px);
  line-height:1.02;
}
.geonorte-feature-info>.muted-text{
  max-width:840px;
}
.geonorte-feature-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:4px 0 0;
}
.geonorte-feature-facts span{
  border-radius:16px;
  padding:16px 18px;
  min-height:78px;
}
.geonorte-feature-actions{
  margin-top:4px;
}
.geonorte-feature-qr{
  grid-column:2;
  grid-row:1 / span 7;
  align-self:end;
  width:100%;
  margin:0;
  padding:16px;
  border-radius:18px;
}
.geonorte-qr{
  width:112px;
  height:112px;
}
.geonorte-feature-carousel .carousel-control-prev,
.geonorte-feature-carousel .carousel-control-next{
  top:calc(min(78vh,820px) / 2 + 16px);
  bottom:auto;
  width:74px;
}
@media(max-width:980px){
  .geonorte-feature-carousel{max-width:calc(100vw - 24px)}
  .geonorte-feature-info{
    grid-template-columns:1fr;
    padding:22px;
  }
  .geonorte-feature-count,
  .geonorte-feature-info>.status-pill,
  .geonorte-feature-info>h3,
  .geonorte-feature-info>.muted-text,
  .geonorte-feature-facts,
  .geonorte-feature-actions,
  .geonorte-feature-qr{
    grid-column:1;
  }
  .geonorte-feature-qr{
    grid-row:auto;
    align-self:stretch;
    max-width:360px;
  }
  .geonorte-feature-carousel .carousel-control-prev,
  .geonorte-feature-carousel .carousel-control-next{
    top:clamp(170px,34vw,300px);
    width:58px;
  }
}
@media(max-width:640px){
  .geonorte-feature-carousel{max-width:calc(100vw - 16px);border-radius:18px}
  .geonorte-feature-media{padding:10px}
  .geonorte-feature-media img{max-height:70vh;border-radius:14px}
  .geonorte-feature-info{padding:18px;gap:12px}
  .geonorte-feature-info>h3{font-size:clamp(26px,9.2vw,38px)}
  .geonorte-feature-facts{grid-template-columns:1fr;gap:9px}
  .geonorte-feature-actions .btn,.map-unavailable{width:100%;justify-content:center}
  .geonorte-feature-qr{max-width:none;grid-template-columns:auto 1fr}
  .geonorte-qr{width:92px;height:92px}
}

/* GeoNorte v4 image-fit carousel tuning */
.geonorte-feature-media{
  aspect-ratio:auto!important;
  display:flex;
  align-items:center;
  justify-content:center;
  height:clamp(430px,72vh,820px);
}
.geonorte-feature-media img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
  object-position:center;
}
.geonorte-feature-carousel .carousel-control-prev,
.geonorte-feature-carousel .carousel-control-next{
  top:calc(clamp(430px,72vh,820px) / 2 + 12px);
}
@media(max-width:640px){
  .geonorte-feature-media{
    height:clamp(280px,62vh,520px);
  }
  .geonorte-feature-carousel .carousel-control-prev,
  .geonorte-feature-carousel .carousel-control-next{
    top:calc(clamp(280px,62vh,520px) / 2 + 8px);
  }
}

/* GeoNorte v5 carousel arrow position fallback */
.geonorte-feature-carousel .carousel-control-prev,
.geonorte-feature-carousel .carousel-control-next{
  top:clamp(225px,36vh,420px);
}
@media(max-width:640px){
  .geonorte-feature-carousel .carousel-control-prev,
  .geonorte-feature-carousel .carousel-control-next{
    top:clamp(148px,31vh,268px);
  }
}

/* GeoNorte v6 ficha back button */
.ficha-back-actions{
  align-items:center;
  margin-bottom:20px;
}
.ficha-back-actions .btn.ghost{
  background:#fff!important;
  color:var(--creative-primary-dark)!important;
  border-color:#d8e1da!important;
}
@media(max-width:640px){
  .ficha-back-actions .btn{
    width:100%;
    justify-content:center;
  }
}

/* GeoNorte Bienes y Raices brand overrides */
.report-brand-logo{width:150px!important;height:76px!important;border-radius:7px!important;object-fit:cover!important;background:#000!important;padding:0!important}
.report-brand-header{min-width:270px}
.report-brand-copy span{line-height:1.35}
