/* LANDMUK CAMPUS — campus-home-v2.css
   Reconstruido para las clases usadas por CatalogView.php */
.campus-home{width:100%;padding:0 0 64px}
.campus-home .home-hero{
  position:relative;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr);
  min-height:520px;overflow:hidden;margin:0 0 22px;border-radius:28px;
  background:linear-gradient(125deg,#0d2856 0%,#174694 52%,#4357d4 100%);
  box-shadow:0 22px 55px rgba(20,40,85,.16)
}
.home-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:64px 58px}
.home-eyebrow{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-bottom:17px;padding:7px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.10);color:#dce8ff;font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.home-hero h1{max-width:720px;margin:0 0 19px;color:#fff;font-size:clamp(2.65rem,4.6vw,5rem);line-height:.98;letter-spacing:-.055em}
.home-hero h1 em{color:#9cead8;font-style:normal}
.home-hero-copy>p{max-width:650px;margin:0;color:#dce6f8;font-size:1.05rem;line-height:1.7}
.home-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}
.home-actions .button.light{border-color:#fff;background:#fff;color:#173f8c;box-shadow:0 10px 24px rgba(0,0,0,.13)}
.home-text-link{color:#fff!important;font-size:.9rem;font-weight:850;text-decoration:none!important}
.home-hero-media{position:relative;min-height:520px;overflow:hidden;background:#d9e5f8}
.home-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,40,86,.30),transparent 38%)}
.home-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.home-photo-note{position:absolute;z-index:2;right:24px;bottom:23px;padding:10px 13px;border:1px solid rgba(255,255,255,.48);border-radius:11px;background:rgba(15,32,67,.78);backdrop-filter:blur(8px);color:#fff;font-size:.76rem;font-weight:850}

/* Ventajas */
.home-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 46px}
.home-benefits article{display:flex;align-items:flex-start;gap:15px;padding:21px 22px;border:1px solid #e1e7f0;border-radius:17px;background:#fff;box-shadow:0 5px 18px rgba(20,37,68,.04)}
.home-benefit-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:11px;background:#edf2ff;color:#3158d7;font-size:.72rem;font-weight:900}
.home-benefits strong{display:block;margin:1px 0 4px;color:#17233d;font-size:.92rem}
.home-benefits p{margin:0;color:#69778f;font-size:.82rem;line-height:1.48}

/* Secciones */
.home-section{padding:42px 0}
.home-section-heading{display:grid;grid-template-columns:.72fr 1.1fr 1fr;gap:28px;align-items:start;margin-bottom:25px}
.home-section-heading .eyebrow{margin-top:7px}
.home-section-heading h2{margin:0;color:#14213d;font-size:clamp(1.7rem,2.7vw,2.55rem);letter-spacing:-.035em}
.home-section-heading p{margin:3px 0 0;color:#68768d;line-height:1.65}
.home-subscription-panel{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:31px 34px!important;background:linear-gradient(115deg,#f5f8ff,#fff)}
.home-subscription-panel p{max-width:760px;color:#64738b}

/* Modalidades */
.home-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.home-mode{position:relative;min-height:220px;padding:31px;border:1px solid #dfe5ef;border-radius:21px;background:#fff;overflow:hidden}
.home-mode:after{content:"";position:absolute;width:160px;height:160px;right:-70px;bottom:-80px;border-radius:50%;background:#eef2ff}
.mode-index{display:block;margin-bottom:34px;color:#3158d7;font-size:.7rem;font-weight:900;letter-spacing:.09em}
.home-mode h3{position:relative;z-index:1;font-size:1.35rem}.home-mode p{position:relative;z-index:1;color:#65748b;max-width:55ch}

/* Presentación LandMuk */
.home-feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);overflow:hidden;border:1px solid #dfe5ef;border-radius:25px;background:#fff;box-shadow:0 10px 32px rgba(20,37,68,.06)}
.home-feature-photo{min-height:430px;background:#dce7f5}.home-feature-photo img{display:block;width:100%;height:100%;object-fit:cover}
.home-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:48px}
.home-feature-copy h2{font-size:clamp(1.8rem,3vw,2.7rem)}
.home-feature-copy>p{color:#64738a;font-size:1rem;line-height:1.7}
.home-feature-points{display:grid;gap:11px;margin:19px 0 0;padding:0;list-style:none}
.home-feature-points li{position:relative;padding:12px 14px 12px 42px;border-radius:11px;background:#f6f8fc;color:#34415a;font-weight:750}
.home-feature-points li:before{content:"✓";position:absolute;left:15px;color:#16825e;font-weight:950}

/* Pasos */
.home-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.home-step{min-height:205px;padding:25px;border-top:3px solid #3158d7;border-radius:0 0 17px 17px;background:#fff;box-shadow:0 7px 22px rgba(20,37,68,.05)}
.home-step>span{display:block;margin-bottom:28px;color:#3158d7;font-size:.77rem;font-weight:900}
.home-step h3{font-size:1.15rem}.home-step p{color:#68768d;font-size:.9rem}

/* FAQ */
.home-faq-list{display:grid;gap:10px;max-width:1000px;margin:0 auto}
.home-faq-list details{overflow:hidden;border:1px solid #dfe5ef;border-radius:14px;background:#fff}
.home-faq-list summary{position:relative;padding:18px 50px 18px 20px;color:#23304a;font-weight:850;cursor:pointer;list-style:none}
.home-faq-list summary::-webkit-details-marker{display:none}
.home-faq-list summary:after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);color:#3158d7;font-size:1.4rem;font-weight:500}
.home-faq-list details[open] summary:after{content:"−"}
.home-faq-list details p{margin:0;padding:0 20px 20px;color:#66758c}

/* CTA final */
.home-final{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:42px 0 0;padding:38px 40px;border-radius:24px;background:linear-gradient(115deg,#102d63,#3158d7 62%,#6548d9);color:#fff;box-shadow:0 18px 42px rgba(29,58,129,.18)}
.home-final .eyebrow{color:#b7cdfd}.home-final h2{margin:5px 0 8px;color:#fff;font-size:clamp(1.65rem,3vw,2.5rem)}.home-final p{margin:0;color:#e2e9fa}.home-final .button{border-color:#fff;background:#fff;color:#214ba9;box-shadow:none}

/* Filtros del catálogo: cubre las estructuras habituales del módulo shop */
#catalogo form{max-width:100%}
#catalogo .catalog-filters,#catalogo .shop-filters,#catalogo .filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 22px;padding:15px;border:1px solid #e1e6ef;border-radius:15px;background:#fff}
#catalogo .catalog-filters label,#catalogo .shop-filters label,#catalogo .filters label{margin:0;min-width:180px;flex:1}
#catalogo select,#catalogo input[type=search],#catalogo input[type=text]{min-height:43px}

/* Evita imágenes gigantes si una regla específica no carga */
#catalogo .cards{display:grid}
#catalogo .card-art{overflow:hidden}
#catalogo .card-art img{max-width:100%}

/* Responsive */
@media(max-width:980px){
  .campus-home .home-hero{grid-template-columns:1fr;min-height:0}
  .home-hero-copy{padding:48px 38px}.home-hero-media{min-height:380px}
  .home-benefits{grid-template-columns:1fr}
  .home-section-heading{grid-template-columns:1fr;gap:7px}
  .home-feature{grid-template-columns:1fr}.home-feature-photo{min-height:360px}
}
@media(max-width:720px){
  .campus-home .home-hero{border-radius:20px}.home-hero-copy{padding:36px 23px}.home-hero h1{font-size:2.55rem}
  .home-hero-media{min-height:260px}.home-photo-note{right:14px;bottom:14px}
  .home-modes,.home-steps{grid-template-columns:1fr}
  .home-subscription-panel,.home-final{align-items:flex-start;flex-direction:column;padding:25px!important}
  .home-feature-copy{padding:29px 22px}.home-feature-photo{min-height:270px}
  .home-section{padding:30px 0}
}

/* =========================================================
   LANDMUK CAMPUS — RESTAURACION VISUAL FINAL
   Compatible con la estructura historica v53 encontrada en
   app/Catalog/CatalogView.php. No modifica logica PHP.
   ========================================================= */
.campus-home{overflow:visible}
.campus-home .home-section{scroll-margin-top:28px}
.campus-home .home-section-heading{max-width:820px}
.campus-home .home-section-heading h2{letter-spacing:-.035em}
.campus-home .home-section-heading p{max-width:720px}

/* Mantiene las portadas limpias y uniformes, como en la version historica. */
#catalogo .cards{align-items:stretch}
#catalogo .card{background:#fff}
#catalogo .card-art{background:#12346c}
#catalogo .card-art img{object-fit:cover;object-position:center}

/* Evita que imagenes del home queden oscuras por reglas antiguas. */
.home-hero-media:before,.home-hero-media:after,
.home-feature-photo:before,.home-feature-photo:after{pointer-events:none}
.home-hero-media img,.home-feature-photo img{filter:none!important;opacity:1!important}

/* Paneles y tarjetas con el acabado compacto de las versiones previas. */
.home-benefit,.home-mode,.home-step,.home-faq-list details,.home-subscription-panel{
  border-color:#e1e7f0;
  box-shadow:0 7px 24px rgba(20,37,68,.055);
}
.home-benefit:hover,.home-mode:hover,.home-step:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 34px rgba(20,37,68,.09);
}
.home-faq-list summary{cursor:pointer}
.home-faq-list details[open]{border-color:#cbd7ef;box-shadow:0 12px 28px rgba(20,37,68,.07)}

/* Footer: si existe una imagen rota antigua, no debe deformar la marca. */
footer img:not([src]),footer img[src=""]{display:none!important}

@media(max-width:680px){
  .campus-home .home-section{margin-top:54px}
  .campus-home .home-section-heading h2{font-size:clamp(1.55rem,7vw,2rem)}
  .home-benefit,.home-mode,.home-step{border-radius:17px}
  .home-final{border-radius:20px}
}



/* =========================================================
   LANDMUK CAMPUS — AJUSTE DEL DISEÑO CENTRAL
   Solo layout. No cambia imágenes ni contenido.
   ========================================================= */

/* Sección "Conoce LandMuk": vuelve a composición horizontal */
.campus-home .home-feature{
  display:grid!important;
  grid-template-columns:minmax(360px, .92fr) minmax(0, 1.08fr)!important;
  align-items:stretch!important;
  max-width:1180px;
  margin-inline:auto;
  min-height:410px;
  overflow:hidden!important;
  border:1px solid #e1e7f0!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(20,37,68,.07)!important;
}
.campus-home .home-feature-photo{
  position:relative;
  min-width:0!important;
  min-height:410px!important;
  height:auto!important;
  overflow:hidden!important;
  background:#e8edf5;
}
.campus-home .home-feature-photo img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  border:0!important;
}
.campus-home .home-feature-copy{
  min-width:0;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:44px 46px!important;
}
.campus-home .home-feature-copy .home-eyebrow{
  margin-bottom:14px;
}
.campus-home .home-feature-copy h2{
  max-width:620px;
  margin:0 0 15px!important;
  font-size:clamp(1.9rem,2.7vw,2.65rem)!important;
  line-height:1.08!important;
}
.campus-home .home-feature-copy>p{
  max-width:650px;
  margin:0!important;
  line-height:1.65!important;
}
.campus-home .home-feature-points{
  margin-top:20px!important;
}

/* Pasos: encabezado compacto arriba y tres tarjetas alineadas */
.campus-home #como-funciona .home-section-heading{
  display:grid!important;
  grid-template-columns:190px minmax(260px,.85fr) minmax(300px,1.15fr)!important;
  max-width:none!important;
  gap:28px!important;
  align-items:center!important;
  margin-bottom:26px!important;
}
.campus-home #como-funciona .home-section-heading .eyebrow{
  margin:0!important;
}
.campus-home .home-steps{
  gap:16px!important;
}
.campus-home .home-step{
  min-height:190px!important;
  padding:24px 24px 26px!important;
  border:1px solid #e1e7f0!important;
  border-top:3px solid #3158d7!important;
  border-radius:16px!important;
}
.campus-home .home-step>span{
  margin-bottom:20px!important;
}

/* FAQ: encabezado y acordeón contenidos, sin dispersarse */
.campus-home .home-faq .home-section-heading{
  display:grid!important;
  grid-template-columns:220px minmax(250px,.75fr) minmax(320px,1.25fr)!important;
  max-width:none!important;
  gap:28px!important;
  align-items:start!important;
  margin-bottom:24px!important;
}
.campus-home .home-faq-list{
  max-width:none!important;
  margin:0!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
}
.campus-home .home-faq-list details{
  align-self:start;
}
.campus-home .home-faq-list summary{
  min-height:58px;
  display:flex;
  align-items:center;
}

/* Reduce aire excesivo antes del CTA y del footer */
.campus-home .home-faq{
  padding-bottom:26px!important;
}
.campus-home .home-final{
  margin-top:18px!important;
  margin-bottom:8px!important;
}

/* Tableta */
@media(max-width:980px){
  .campus-home .home-feature{
    grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)!important;
  }
  .campus-home .home-feature-photo{
    min-height:380px!important;
  }
  .campus-home .home-feature-copy{
    padding:34px!important;
  }
  .campus-home #como-funciona .home-section-heading,
  .campus-home .home-faq .home-section-heading{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .campus-home .home-faq-list{
    grid-template-columns:1fr!important;
  }
}

/* Celular */
@media(max-width:720px){
  .campus-home .home-feature{
    grid-template-columns:1fr!important;
    border-radius:19px!important;
  }
  .campus-home .home-feature-photo{
    position:relative;
    min-height:260px!important;
    aspect-ratio:16/10;
  }
  .campus-home .home-feature-copy{
    padding:28px 23px 30px!important;
  }
  .campus-home .home-feature-copy h2{
    font-size:1.85rem!important;
  }
  .campus-home .home-faq-list{
    grid-template-columns:1fr!important;
  }
}
