/*
 * Visitafuenllana.com — V006
 * Ajustes visuales aislados para no alterar la lógica, el contenido ni el panel.
 */

:root{
  --leaf:#20bfc7;
  --olive:#20bfc7;
  --sun:#ff9f1c;
  --gold:#ffad33;
}

/* Identidad cromática: azul, turquesa y naranja. */
.progress{
  background:linear-gradient(90deg,#1493ff,#20bfc7,#ff9f1c)!important;
}
.quick-card:nth-child(1){--accent:#1493ff!important;border-top-color:#1493ff!important;}
.quick-card:nth-child(2){--accent:#ff8a00!important;border-top-color:#ff8a00!important;}
.quick-card:nth-child(3){--accent:#20bfc7!important;border-top-color:#20bfc7!important;}
.quick-card:nth-child(4){--accent:#0b5ed7!important;border-top-color:#0b5ed7!important;}
.idea:nth-child(1){--card-accent:#1493ff!important;}
.idea:nth-child(2){--card-accent:#20bfc7!important;}
.idea:nth-child(3){--card-accent:#ff8a00!important;}
.section-head.center::after,
.section-head::after{
  background:linear-gradient(90deg,#1493ff,#20bfc7,#ff9f1c)!important;
}
.santiago-band .eyebrow,
.memory-banner .eyebrow{
  color:#ffb04a!important;
}

/* Marca: conserva el nombre del municipio en teléfonos estrechos. */
.brand > .brand-name{
  display:block!important;
  min-width:0;
}
.brand .brand-prefix{
  display:inline;
}

/* Cabeceras interiores con imagen contextual. */
.seo-hero--image{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  min-height:clamp(390px,52vw,570px);
  padding:clamp(106px,12vw,166px) 0 clamp(48px,6vw,72px)!important;
  background-image:
    linear-gradient(90deg,rgba(4,22,39,.86) 0%,rgba(4,22,39,.66) 48%,rgba(4,22,39,.28) 100%),
    linear-gradient(0deg,rgba(4,22,39,.34),rgba(4,22,39,.08)),
    var(--seo-hero-image)!important;
  background-size:cover!important;
  background-position:var(--seo-hero-position,center)!important;
  background-repeat:no-repeat!important;
  color:#fff;
  border-bottom-left-radius:42px;
  border-bottom-right-radius:42px;
  box-shadow:0 22px 64px rgba(7,52,88,.13);
}
.seo-hero--image .container{
  position:relative;
  z-index:2;
  max-width:1080px;
}
.seo-hero--image h1{
  max-width:980px;
  color:#fff!important;
  text-shadow:0 4px 28px rgba(0,0,0,.28);
}
.seo-hero--image p:not(.eyebrow){
  color:rgba(255,255,255,.90)!important;
  text-shadow:0 2px 18px rgba(0,0,0,.26);
}
.seo-hero--image .eyebrow{
  color:#ffb04a!important;
  text-shadow:0 2px 14px rgba(0,0,0,.28);
}
.seo-hero--image .breadcrumb,
.seo-hero--image .breadcrumb a,
.seo-hero--image .breadcrumb a:visited{
  color:rgba(255,255,255,.88)!important;
}
.seo-hero--image .breadcrumb a:hover,
.seo-hero--image .breadcrumb a:focus-visible{
  color:#fff!important;
}
.seo-hero--cross::before{
  content:"";
  position:absolute;
  right:clamp(22px,8vw,130px);
  bottom:clamp(26px,5vw,68px);
  width:clamp(118px,17vw,240px);
  aspect-ratio:1;
  z-index:1;
  background:url('../../imagenes/cruz-santiago.png') center/contain no-repeat;
  opacity:.16;
  filter:drop-shadow(0 16px 34px rgba(0,0,0,.28));
  pointer-events:none;
}

/* Menos aspecto de panel: sombras suaves en bloques secundarios. */
.seo-card{
  box-shadow:0 12px 34px rgba(15,72,112,.07)!important;
  border-color:rgba(16,32,51,.10)!important;
}
.seo-grid > article.seo-card{
  background:rgba(255,255,255,.78)!important;
  box-shadow:none!important;
  border-color:rgba(16,32,51,.09)!important;
}
.seo-side .seo-card{
  box-shadow:0 10px 28px rgba(15,72,112,.065)!important;
}
.idea,
.quick-plan-card{
  box-shadow:0 11px 32px rgba(15,72,112,.065)!important;
}
.idea:hover,
.quick-plan-card:hover{
  box-shadow:0 18px 46px rgba(15,72,112,.11)!important;
}

/* Modo oscuro: mantiene fotografía y reduce sombras en tarjetas secundarias. */
html[data-theme="dark"] .seo-hero--image{
  background-image:
    linear-gradient(90deg,rgba(2,14,25,.90) 0%,rgba(2,14,25,.72) 50%,rgba(2,14,25,.42) 100%),
    linear-gradient(0deg,rgba(2,14,25,.40),rgba(2,14,25,.12)),
    var(--seo-hero-image)!important;
  background-size:cover!important;
  background-position:var(--seo-hero-position,center)!important;
  box-shadow:0 22px 64px rgba(0,0,0,.28)!important;
}
html[data-theme="dark"] .seo-grid > article.seo-card{
  background:#0d2133!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .seo-side .seo-card,
html[data-theme="dark"] .idea,
html[data-theme="dark"] .quick-plan-card{
  box-shadow:0 10px 28px rgba(0,0,0,.20)!important;
}

/* Ritmo móvil: conserva todo el contenido con menos altura acumulada. */
@media(max-width:760px){
  .section{
    padding:44px 0!important;
  }
  .section-head{
    margin-bottom:26px!important;
  }
  .quick-strip{
    margin-top:14px!important;
  }
  .quick-grid{
    gap:12px!important;
  }
  .quick-card{
    min-height:116px!important;
    padding:18px 20px!important;
    border-radius:20px!important;
  }
  .quick-card strong{
    font-size:1.18rem!important;
  }
  .intro-section,
  .focus-section,
  .plan-section,
  .quick-plans-section,
  .gallery-section{
    padding-top:44px!important;
    padding-bottom:44px!important;
  }
  .santiago-section{
    padding-top:34px!important;
    padding-bottom:34px!important;
  }
  .visit-memory-bridge{
    padding-top:36px!important;
    padding-bottom:36px!important;
  }
  .map-section{
    padding-top:38px!important;
    padding-bottom:44px!important;
  }
  .santiago-band{
    padding:26px 22px!important;
    gap:22px!important;
  }
  .santiago-symbol{
    width:132px!important;
  }
  .memory-banner{
    min-height:300px!important;
  }
  .memory-banner-content{
    padding:34px 0!important;
  }
  .quick-plans-grid{
    gap:12px!important;
  }
  .quick-plan-card img{
    min-height:132px!important;
  }
  .gallery{
    gap:11px!important;
  }
  .seo-hero--image{
    min-height:390px;
    padding:76px 0 42px!important;
    border-radius:0;
  }
  .seo-hero--image h1{
    font-size:clamp(2.65rem,13vw,4.3rem)!important;
    line-height:.92!important;
    margin-bottom:16px!important;
  }
  .seo-hero--image p:not(.eyebrow){
    font-size:1.04rem!important;
  }
  .seo-content{
    padding:44px 0!important;
  }
  .seo-grid{
    gap:22px!important;
  }
  .seo-card{
    padding:22px!important;
    border-radius:22px!important;
  }
}

@media(max-width:420px){
  .site-header .brand{
    max-width:124px!important;
    gap:7px!important;
  }
  .site-header .brand img{
    width:34px!important;
    height:34px!important;
    flex:0 0 34px!important;
  }
  .site-header .brand > .brand-name{
    display:block!important;
    max-width:82px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:11px!important;
    letter-spacing:.045em!important;
  }
  .site-header .brand .brand-prefix{
    display:none!important;
  }
  .site-header{
    padding-inline:10px!important;
    gap:7px!important;
  }
  .header-actions{
    gap:4px!important;
  }
  .lang-switcher a{
    min-width:27px!important;
    padding:0 5px!important;
  }
  .seo-hero--cross::before{
    width:118px;
    right:-18px;
    bottom:18px;
  }
}

@media(max-width:360px){
  .site-header .brand{
    max-width:104px!important;
  }
  .site-header .brand > .brand-name{
    max-width:64px!important;
    font-size:10px!important;
  }
  .lang-switcher a{
    min-width:25px!important;
    padding:0 4px!important;
  }
}

/* Especificidad final del acento en cabeceras interiores oscuras. */
html[data-theme="dark"] .seo-hero--image .eyebrow{
  color:#ffb04a!important;
}
html[data-theme="dark"] .seo-hero--image .breadcrumb,
html[data-theme="dark"] .seo-hero--image .breadcrumb a,
html[data-theme="dark"] .seo-hero--image .breadcrumb a:visited{
  color:rgba(255,255,255,.88)!important;
}
