/* Reglas finales LAGOROCA. Esta hoja prevalece sobre el historial de estilos. */

/* Fondo inmediato mientras el navegador prepara el primer cuadro del video. */
.timed-intro .cinematic-intro__media{
  background:#080b08;
}

@media (min-width:801px){
  :root{
    --text-font:"Century Gothic","Avenir Next",sans-serif;
    --text-size:clamp(.875rem,1vw,1rem);
  }

  .landing-cover__body p,.project-map__environment-copy p,.map-place-story>p:last-child,
  .model-cover__heading p,.house-configurator__note,.house-choice__body p,
  .addon-card small,.economic-note,.about-intro p,.about-people p{
    font-family:var(--text-font)!important;
    font-size:var(--text-size)!important;
    font-weight:300!important;
    line-height:1.55!important;
    letter-spacing:.01em!important;
  }
  .landing-cover__body,.model-cover__heading p,.economic-note{max-width:50vw!important}
  .landing-cover__body,.project-map__environment-copy p,.map-place-story>p:last-child,
  .model-cover__heading p,.house-configurator__note,.house-choice__body p,
  .addon-card small,.economic-note{text-align:center!important}

  .landing-cover__heading{text-align:left!important}
  .landing-cover__availability{
    position:static!important;display:grid!important;width:100%!important;
    margin:1.7rem 0 1rem!important;padding:0!important;gap:.35rem!important;
    justify-items:start!important;text-align:left!important;
  }
  .landing-cover__heading p{margin-top:.7rem!important}

  /* Etapas */
  .project-map__details{
    left:50%!important;top:50%!important;width:min(430px,34vw)!important;
    align-items:center!important;text-align:center!important;
    translate:-50% -50%!important;transform:none!important;
  }
  .project-map[data-map-state="stage1"] .project-map__details,
  .project-map[data-map-state="stage2"] .project-map__details{translate:-50% -50%!important}
  .project-map__stage-label{
    display:block!important;fill:#fff;font:500 15px/1 var(--text-font);
    letter-spacing:.1em;text-anchor:middle;paint-order:stroke;
    stroke:rgba(0,0,0,.7);stroke-width:3px;pointer-events:none;
  }

  /* Entorno a Fauna */
  .project-map__environment-copy{
    left:var(--master-title-left)!important;top:var(--master-title-top)!important;
    display:flex!important;width:50vw!important;
    height:calc(100svh - var(--master-title-top) - 4rem)!important;
    flex-direction:column!important;
  }
  .project-map__environment-copy p{
    width:50%!important;max-width:none!important;margin:auto 0!important;
    align-self:flex-start!important;text-align:center!important;white-space:pre-line;
  }

  /* Lugares cercanos */
  .map-place-story{
    left:2rem!important;right:calc(clamp(23rem,24vw,29rem) + 2rem)!important;
    top:auto!important;bottom:2rem!important;display:grid!important;width:auto!important;
    grid-template-columns:minmax(280px,.7fr) minmax(420px,1.5fr)!important;
    grid-template-rows:auto auto!important;gap:.3rem 2rem!important;
    padding:1rem 1.25rem!important;background:rgba(2,8,7,.88)!important;
    translate:0!important;transform:none!important;
  }
  .map-place-story h3{grid-column:1;grid-row:2;margin:0!important}
  .map-place-story__time{grid-column:1;grid-row:1;margin:0!important}
  .map-place-story>p:last-child{grid-column:2;grid-row:1/3;align-self:center;max-width:none!important}

  /* Modela tu proyecto existe como capítulo completo. */
  .model-cover{display:flex!important;min-height:100svh!important}
  .model-cover__heading{display:block!important;opacity:1!important;visibility:visible!important}

  /* En parcelas quedan arriba únicamente los controles de la parcela activa. */
  .project-cart{
    left:50%!important;top:6.8rem!important;bottom:auto!important;display:block!important;
    width:auto!important;padding:0!important;border:0!important;background:transparent!important;
    backdrop-filter:none!important;translate:-50% 0!important;
  }
  .project-cart>div:not(.project-cart__actions),.project-cart>a{display:none!important}
  .project-cart__actions{display:flex!important;gap:.6rem!important;opacity:1}
  .project-cart__actions:not(.is-visible){visibility:hidden!important}
  .project-cart__actions button{min-width:11rem!important}

  /* Una sola barra de total, horizontal y persistente. */
  .house-summary{display:none!important}
  .addons-summary{
    position:fixed!important;z-index:18!important;
    left:var(--master-title-left)!important;right:clamp(23rem,24vw,29rem)!important;
    bottom:1rem!important;width:auto!important;height:112px!important;max-height:112px!important;
    padding:.7rem 1rem!important;display:grid!important;
    grid-template-columns:minmax(0,1fr) 8rem 9rem!important;
    grid-template-rows:auto 1fr!important;gap:.3rem .75rem!important;
    translate:0!important;overflow:hidden!important;
    border:1px solid rgba(0,0,0,.24)!important;background:rgba(255,255,255,.92)!important;
    color:#111!important;backdrop-filter:blur(10px)!important;
  }
  .addons-summary>h3{grid-column:1/-1!important;grid-row:1;margin:0!important;font-size:.72rem!important}
  .addons-summary .house-summary__breakdown{
    grid-column:1!important;grid-row:2!important;display:flex!important;
    min-width:0!important;flex-direction:row!important;gap:0!important;overflow:hidden!important;
  }
  .addons-summary .summary-category{
    min-width:0;flex:1 1 0;padding:0 .65rem;border-right:1px solid rgba(0,0,0,.18);
  }
  .addons-summary .summary-category>small{display:block!important;margin-bottom:.2rem;color:rgba(0,0,0,.55)!important;font-size:.5rem!important;letter-spacing:.08em;text-transform:uppercase}
  .summary-category__content{max-height:48px;overflow:auto;scrollbar-width:none}
  .summary-category__line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.3rem;font-size:.62rem}
  .summary-category__line span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .summary-category__line b{font-size:.62rem}
  .addons-summary .house-summary__item{
    display:grid!important;min-width:0!important;flex:1 1 0!important;
    grid-template-columns:1.15rem minmax(0,1fr)!important;grid-template-rows:auto auto!important;
    align-content:center!important;padding:0 .55rem!important;border-right:1px solid rgba(0,0,0,.18)!important;
  }
  .house-summary__remove{
    grid-column:1;grid-row:1/3;border:0;padding:0;background:none;color:#c7332f;
    font:500 1.2rem/1 Manrope,sans-serif;cursor:pointer;
  }
  .addons-summary .house-summary__item span{grid-column:2;grid-row:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .addons-summary .house-summary__item small{display:none!important}
  .addons-summary .house-summary__item b{grid-column:2;grid-row:2;font-size:.7rem!important}
  .addons-summary .house-summary__grand-total{grid-column:2!important;grid-row:1/3!important;align-self:center!important}
  .addons-summary .house-summary__grand-total strong{font-size:1.4rem!important}
  .addons-summary>a{grid-column:3!important;grid-row:1/3!important;display:grid!important;place-items:center;background:#111!important;color:#fff!important}
  .model-step--options,.model-step--typologies,.project-summary,.visit{padding-bottom:9rem!important}

  /* Opcionales 20% más bajos. */
  .addon-card{min-height:clamp(210px,36vh,330px)!important}

  /* Casas con fotografía completa y controles superpuestos. */
  .house-choice:not(.house-choice--none){position:relative!important;display:block!important;overflow:hidden!important}
  .house-choice:not(.house-choice--none)>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
  .house-choice:not(.house-choice--none) .house-choice__body{
    position:absolute!important;z-index:2;inset:0!important;display:flex!important;padding:1.2rem!important;
    flex-direction:column!important;justify-content:space-between!important;
    background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 45%,rgba(0,0,0,.78))!important;
  }
  .house-choice__actions{align-self:flex-start;padding:.45rem .65rem;background:rgba(0,0,0,.72)}

  /* Agenda usa el aire y la retícula de Modelo económico. */
  .visit__summary{display:none!important}
  .visit__layout{display:block!important;border-top:1px solid rgba(0,0,0,.35)!important;border-bottom:0!important}
  .visit__contact{width:min(900px,72vw)!important}
  .visit__contact form{
    display:grid!important;width:100%!important;min-height:0!important;padding:1.5rem 0!important;
    grid-template-columns:1fr 1fr!important;gap:1.2rem 2rem!important;
  }
  .visit__contact fieldset label{display:grid!important;grid-template-columns:1fr!important;gap:.3rem!important;font-size:.7rem!important}
  .visit__contact input{height:2.75rem!important;font-size:.9rem!important}
  .visit__message-label{grid-column:1/-1!important;grid-template-columns:11rem 1fr!important}
  .visit__message-label textarea{height:4.5rem!important;font-size:.9rem!important}
  .visit__contact form>button{grid-column:1/-1!important;width:100%!important;min-height:3rem!important}
}

/* Lugares cercanos usa un único fondo, sin transparencia con el mapa anterior. */
.map-section.is-connectivity-visible>.project-map{visibility:hidden!important;opacity:0!important;transition:none!important}
.map-section.is-connectivity-visible>.map-explorer{background:#07100e!important;visibility:visible!important;opacity:1!important;transition:none!important}

@media (max-width:800px){
  .landing-cover__heading{text-align:left!important}
  .landing-cover__availability{
    position:static!important;display:grid!important;width:100%!important;
    margin:1.05rem 0 .65rem!important;padding:0!important;gap:.2rem!important;
    justify-items:start!important;text-align:left!important;
  }
  .landing-cover__heading p{margin-top:.55rem!important}
  .house-summary{display:none!important}
  .addons-summary{max-height:94px!important}
  .visit__summary{display:none!important}
  .visit__layout{grid-template-columns:1fr!important}
  .project-map__stage-label{fill:#fff;font:600 18px/1 "Century Gothic","Avenir Next",sans-serif;text-anchor:middle;paint-order:stroke;stroke:#000;stroke-width:3px}
}

/* El recorrido del mapa sigue siendo secuencial, sin capturar la rueda ni el gesto táctil. */
html{scroll-snap-type:none!important}
.map-scroll-step{scroll-snap-stop:normal!important}
