/* Academia Minas · propuesta visual de prueba v1 · 2026-09-26
   Capa exclusivamente visual. No cambia datos, lógica ni estructura funcional. */

.am-visual-v2{
  --amv-bg:#f7f9fc;
  --amv-surface:#ffffff;
  --amv-text:#10213a;
  --amv-muted:#526276;
  --amv-border:#d9e3ee;
  --amv-border-strong:#c7d6e5;
  --amv-blue:#2f5d95;
  --amv-blue-dark:#21456f;
  --amv-blue-deep:#173b78;
  --amv-soft-blue:#f2f7fc;
  --amv-radius-hero:26px;
  --amv-radius-module:22px;
  --amv-radius-card:18px;
  --amv-radius-control:14px;
  --amv-shadow-module:0 12px 30px rgba(15,35,60,.065);
  --amv-shadow-card:0 7px 20px rgba(15,35,60,.048);
  --amv-space-1:.45rem;
  --amv-space-2:.7rem;
  --amv-space-3:1rem;
  --amv-space-4:1.35rem;
  --amv-space-5:1.8rem;
  --amv-space-6:2.35rem;
  background:var(--amv-bg);
  color:var(--amv-text);
}

/* 1. Ritmo y jerarquía tipográfica */
.am-visual-v2 :where(h1,h2,h3){text-wrap:balance;}
.am-visual-v2 :where(p,li){text-wrap:pretty;}
.am-visual-v2 .section{padding-top:clamp(1.55rem,2.7vw,2.15rem)!important;padding-bottom:clamp(1.55rem,2.7vw,2.15rem)!important;}
.am-visual-v2 .section + .section{margin-top:0!important;}
.am-visual-v2 :where(.section-title,.section-head){max-width:860px;margin-left:auto!important;margin-right:auto!important;margin-bottom:clamp(.95rem,1.6vw,1.25rem)!important;}
.am-visual-v2 :where(.section-title,.section-head) h2{font-size:clamp(1.58rem,2.25vw,2.18rem)!important;line-height:1.12!important;letter-spacing:-.025em!important;margin-bottom:.45rem!important;color:#122746;}
.am-visual-v2 :where(.section-title,.section-head) p{font-size:clamp(.96rem,1.1vw,1.03rem)!important;line-height:1.58!important;color:var(--amv-muted)!important;margin-left:auto;margin-right:auto;}
.am-visual-v2 :where(.card,.section-card,.panel,.notice,.info-card,.subject-card,.review-card,.process-card,.faq-item,.filters,.schedule-card,.cta-box) h2{line-height:1.16;}
.am-visual-v2 :where(.card,.section-card,.panel,.notice,.info-card,.subject-card,.review-card,.process-card,.faq-item,.filters,.schedule-card,.cta-box) h3{line-height:1.22;}

/* 2. Sistema único de superficies */
.am-visual-v2 :where(.card,.section-card,.panel,.notice,.review-card,.faq-group,.filters,.ubicaciones-card,.contact-data-card,.contacto-hero-card,.year-card,.cta-box,.academy-gallery-card){
  border-color:var(--amv-border)!important;
  border-radius:var(--amv-radius-module)!important;
  box-shadow:var(--amv-shadow-module)!important;
}
.am-visual-v2 :where(.career-card,.info-card,.subject-card,.schedule-card,.process-card,.proof-item,.feature-item,.faq-item,.contact-channel-row,.contact-place-row,.am-public-pdf-box,.no-schedule-card,.option-block,.am-view-card){
  border-color:var(--amv-border)!important;
  border-radius:var(--amv-radius-card)!important;
  box-shadow:var(--amv-shadow-card)!important;
}
.am-visual-v2 :where(.card,.section-card,.panel,.notice,.review-card,.filters,.ubicaciones-card,.contact-data-card,.contacto-hero-card,.year-card,.cta-box,.academy-gallery-card,.career-card,.info-card,.subject-card,.schedule-card,.process-card,.proof-item,.feature-item,.faq-item,.contact-channel-row,.contact-place-row,.am-public-pdf-box,.no-schedule-card,.option-block):hover{
  transform:none!important;
}
.am-visual-v2 :where(.module-line-blue,.module-line-green,.module-line-orange,.module-line-combo,.module-line-soft)::before{height:4px!important;}

/* 3. Botones y controles: mismas alturas, radios y foco */
.am-visual-v2 :where(.btn,.am-index-hero-btn,.career-open-btn,.news-tile-btn,.back-area-btn,.am-public-pdf-btn){
  min-height:48px!important;
  border-radius:999px!important;
  padding:.78rem 1.08rem!important;
  font-size:.95rem!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:-.005em;
  box-shadow:0 5px 14px rgba(15,35,60,.05)!important;
}
.am-visual-v2 :where(.btn,.am-index-hero-btn,.career-open-btn,.news-tile-btn,.back-area-btn,.am-public-pdf-btn):hover{transform:none!important;filter:none!important;}
.am-visual-v2 :where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid rgba(47,93,149,.28)!important;outline-offset:3px!important;}
.am-visual-v2 :where(input,select,textarea){min-height:46px;border-radius:var(--amv-radius-control)!important;border-color:var(--amv-border-strong)!important;box-shadow:inset 0 1px 1px rgba(15,35,60,.025);}
.am-visual-v2 :where(.hero-actions,.cta-actions,.reviews-actions){gap:.7rem!important;}

/* 4. Cabeceras y módulos destacados */
.am-visual-v2 .am-photo-shell{border-radius:var(--amv-radius-hero)!important;border-color:var(--amv-border)!important;box-shadow:0 16px 38px rgba(15,35,60,.075)!important;}
.am-visual-v2 .am-photo-tag{border-radius:14px!important;border-color:rgba(210,224,238,.96)!important;box-shadow:0 5px 14px rgba(15,35,60,.035)!important;}
.am-visual-v2 .am-photo-stat{border-radius:14px!important;border-color:rgba(210,224,238,.96)!important;box-shadow:0 4px 12px rgba(15,35,60,.028)!important;}
.am-visual-v2 :where(.hero-card,.contacto-hero-card){border-radius:var(--amv-radius-hero)!important;}
.am-visual-v2 :where(.hero-card,.contacto-hero-card) .lead{line-height:1.58!important;}
.am-visual-v2 .eyebrow,.am-visual-v2 .am-photo-eyebrow{letter-spacing:.005em;}

/* 5. Iconografía: tamaño y tratamiento consistentes en módulos principales */
.am-visual-v2 :where(.news-section-icon,.contact-channel-icon,.contact-place-icon,.feature-icon){
  width:44px!important;height:44px!important;flex:0 0 44px!important;border-radius:13px!important;display:flex!important;align-items:center!important;justify-content:center!important;
}
.am-visual-v2 :where(.news-section-icon,.contact-channel-icon,.contact-place-icon,.feature-icon) svg{width:22px!important;height:22px!important;}
.am-visual-v2 .am-photo-tag-icon{width:36px!important;height:36px!important;flex-basis:36px!important;border-radius:11px!important;}
.am-visual-v2 .am-photo-tag-icon svg{width:19px!important;height:19px!important;}

/* 6. Imágenes: encuadre y acabado homogéneos */
.am-visual-v2 :where(.career-thumb,.academy-photo){object-fit:cover!important;}
.am-visual-v2 .career-thumb-link{border-color:var(--amv-border)!important;background:#edf3f9!important;}
.am-visual-v2 .career-thumb{filter:saturate(.94) contrast(1.015);}
.am-visual-v2 .career-card:hover .career-thumb{transform:scale(1.025)!important;}
.am-visual-v2 .academy-photo{border-radius:16px!important;}

/* Portada: módulos con el mismo ritmo */
.am-visual-v2.page-index :where(#index-avisos,#index-elegir,.google-reviews) .card{padding:clamp(1.15rem,2vw,1.5rem)!important;}
.am-visual-v2.page-index .review-card{padding:1rem 1.05rem!important;}
.am-visual-v2.page-index .am-index-hero-actions{gap:.7rem!important;}
.am-visual-v2.page-index .news-grid{gap:.85rem!important;}

/* Grados: tarjetas más uniformes sin cambiar su estructura */
.am-visual-v2.page-carreras .career-grid{gap:1rem!important;}
.am-visual-v2.page-carreras .career-card{padding:1.1rem!important;gap:.68rem!important;}
.am-visual-v2.page-carreras .career-thumb-link{margin:-1.1rem -1.1rem .82rem!important;width:calc(100% + 2.2rem)!important;border-radius:18px 18px 0 0!important;}
.am-visual-v2.page-carreras .career-card h2{font-size:1.12rem!important;line-height:1.22!important;letter-spacing:-.012em;}
.am-visual-v2.page-carreras .career-card p{line-height:1.48!important;}
.am-visual-v2.page-carreras .career-open-btn{margin-top:.2rem;}
.am-visual-v2.page-carreras .career-faculty-pill{border-radius:999px!important;}

/* Horarios: menos densidad aparente, mismos datos y comportamiento */
.am-visual-v2.page-horarios .filters{padding:1.05rem 1.1rem!important;}
.am-visual-v2.page-horarios .filters .field{gap:.32rem!important;}
.am-visual-v2.page-horarios .am-view-section{margin-top:.95rem!important;}
.am-visual-v2.page-horarios .am-view-card{min-height:116px!important;padding:.95rem 1rem!important;}
.am-visual-v2.page-horarios .am-public-pdf-box{padding:1rem 1.05rem!important;}
.am-visual-v2.page-horarios .subject-item{border-radius:16px!important;border-color:var(--amv-border)!important;box-shadow:0 5px 16px rgba(15,35,60,.04)!important;}
.am-visual-v2.page-horarios .subject-head-btn{padding:.82rem .9rem!important;}
.am-visual-v2.page-horarios .subject-item.open .subject-content-inner{padding:.9rem!important;}
.am-visual-v2.page-horarios .option-block{padding:.82rem!important;border-radius:14px!important;}
.am-visual-v2.page-horarios .day{border-radius:12px!important;border-color:#dde6ef!important;}
.am-visual-v2.page-horarios :where(.meta span,.meta a.whatsapp-chip,.info-chip,.exam-tag,.flex-tag,.note-tag,.option-badge,.hours-badge,.workload-label){border-radius:999px!important;}

/* Funcionamiento */
.am-visual-v2.page-funcionamiento :where(.feature-item,.process-card){padding:1.05rem!important;}
.am-visual-v2.page-funcionamiento .academy-gallery-card{padding:1rem!important;}
.am-visual-v2.page-funcionamiento .academy-gallery{gap:.8rem!important;}

/* FAQ */
.am-visual-v2.page-faq .faq-group{border-radius:var(--amv-radius-module)!important;box-shadow:var(--amv-shadow-module)!important;}
.am-visual-v2.page-faq .faq-item{border-radius:16px!important;box-shadow:none!important;}
.am-visual-v2.page-faq .faq-question{padding:.92rem 1rem!important;}
.am-visual-v2.page-faq .faq-answer-inner{padding:.2rem 1rem 1rem!important;line-height:1.58!important;}
.am-visual-v2.page-faq .faq-topic{border-radius:999px!important;}

/* Contacto */
.am-visual-v2.page-contacto :where(.contact-channel-row,.contact-place-row){padding:.95rem 1rem!important;border-radius:16px!important;}
.am-visual-v2.page-contacto :where(.contact-channel-list,.contact-place-list){gap:.7rem!important;}
.am-visual-v2.page-contacto .contact-intro{line-height:1.55!important;}

/* Fichas de grado/área y asignatura */
.am-visual-v2.home:not(.page-index):not(.page-carreras) :where(.info-card,.subject-card){padding:1.08rem!important;}
.am-visual-v2.home:not(.page-index):not(.page-carreras) .subject-grid{gap:.85rem!important;}
.am-visual-v2.impartida-page .hero{padding-top:.85rem!important;padding-bottom:.55rem!important;}
.am-visual-v2.impartida-page .hero-card{padding:1.05rem 1.15rem!important;}
.am-visual-v2.impartida-page .badge-list{gap:.48rem!important;}
.am-visual-v2.impartida-page .badge{padding:.36rem .68rem!important;font-size:.86rem!important;border-color:var(--amv-border)!important;}
.am-visual-v2.impartida-page .schedule-card{padding:1rem!important;}
.am-visual-v2.impartida-page .notice{padding:1.25rem!important;}
.am-visual-v2.impartida-page .back-area-wrap{margin-bottom:1.1rem!important;}

/* Pie: chips y separación coherentes */
.am-visual-v2 .footer{margin-top:1.15rem!important;}
.am-visual-v2 :where(.footer-link,.legal-link){border-radius:999px!important;padding:.58rem .88rem!important;}

@media (max-width:760px){
  .am-visual-v2 .section{padding-top:1.25rem!important;padding-bottom:1.25rem!important;}
  .am-visual-v2 :where(.card,.section-card,.panel,.notice,.review-card,.faq-group,.filters,.ubicaciones-card,.contact-data-card,.contacto-hero-card,.year-card,.cta-box,.academy-gallery-card){border-radius:18px!important;}
  .am-visual-v2 :where(.career-card,.info-card,.subject-card,.schedule-card,.process-card,.proof-item,.feature-item,.faq-item,.contact-channel-row,.contact-place-row,.am-public-pdf-box,.no-schedule-card,.option-block,.am-view-card){border-radius:15px!important;}
  .am-visual-v2 :where(.btn,.am-index-hero-btn,.career-open-btn,.news-tile-btn,.back-area-btn,.am-public-pdf-btn){min-height:47px!important;padding:.72rem .92rem!important;font-size:.92rem!important;}
  .am-visual-v2.page-horarios .filters{padding:.88rem!important;}
  .am-visual-v2.page-horarios .am-view-card{min-height:104px!important;}
  .am-visual-v2.page-horarios .subject-head-btn{padding:.75rem!important;}
  .am-visual-v2.page-horarios .subject-item.open .subject-content-inner{padding:.78rem!important;}
  .am-visual-v2.page-carreras .career-card{padding:1rem!important;}
  .am-visual-v2.page-carreras .career-thumb-link{margin:-1rem -1rem .75rem!important;width:calc(100% + 2rem)!important;border-radius:15px 15px 0 0!important;}
  .am-visual-v2.impartida-page .hero-card{padding:.95rem!important;}
}

@media (prefers-reduced-motion:reduce){
  .am-visual-v2 *{scroll-behavior:auto!important;}
}

/* 7. Sello “Academia Minas · Desde 1961”
   En anchos donde cabe, permanece dentro de la imagen abajo a la derecha,
   a la altura visual de las etiquetas. Cuando el ancho ya no da margen,
   pasa al flujo y queda centrado debajo de las etiquetas. Se decide solo
   por ancho disponible, no por si el dispositivo es táctil. */
@media (min-width:761px){
  .am-visual-v2:is(.page-index,.page-carreras,.page-horarios,.page-funcionamiento,.page-faq,.page-contacto) .am-photo-corner{
    position:absolute!important;
    left:auto!important;
    right:18px!important;
    top:auto!important;
    bottom:18px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:max-content!important;
    max-width:38%!important;
    margin:0!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
}
@media (max-width:760px){
  .am-visual-v2:is(.page-index,.page-carreras,.page-horarios,.page-funcionamiento,.page-faq,.page-contacto) .am-photo-corner{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:max-content!important;
    max-width:calc(100% - 2rem)!important;
    margin:.95rem auto 1rem!important;
    text-align:center!important;
    white-space:normal!important;
  }
}

/* v3 · ajuste específico de Index y Horarios para “Academia Minas · Desde 1961”.
   Estas dos cabeceras pasan a contenido de ancho completo por debajo de 981 px;
   por eso el sello solo permanece dentro de la foto cuando realmente queda zona
   libre a la derecha. Al reducir ancho o aumentar zoom, pasa al flujo y se centra. */
@media (min-width:981px){
  body.am-visual-v2.page-index .am-photo-corner,
  body.am-visual-v2.page-horarios .am-photo-corner{
    position:absolute!important;
    left:auto!important;
    right:18px!important;
    top:auto!important;
    bottom:18px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:max-content!important;
    max-width:38%!important;
    margin:0!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
}
@media (max-width:980px){
  body.am-visual-v2.page-index .am-photo-copy,
  body.am-visual-v2.page-horarios .am-photo-copy{
    padding-bottom:0!important;
  }
  body.am-visual-v2.page-index .am-photo-corner,
  body.am-visual-v2.page-horarios .am-photo-corner{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:max-content!important;
    max-width:calc(100% - 2rem)!important;
    margin:.95rem auto 1rem!important;
    text-align:center!important;
    white-space:normal!important;
  }
}
