/* FCES-001A45R58: portada integral aprobada. */
.page-home{
  --home-orange:#ff6600;
  --home-orange-dark:#d94f00;
  --home-navy:#071d49;
  --home-black:#111827;
  --home-muted:#5b6578;
  --home-border:#dce2ea;
  --home-surface:#f7f8fa;
}
.page-home .catalog-reference{background:#fff!important;}
.page-home .catalog-reference-head{text-align:center!important;margin-bottom:34px!important;}
.page-home .catalog-reference-head h2{color:var(--home-navy)!important;}
.page-home .catalog-reference-head p{color:var(--home-muted)!important;}
.page-home .program-section-head{
  width:100%;
  margin:52px 0 22px;
  text-align:left;
}
.page-home .program-section-toolbar{
  display:grid;
  grid-template-columns:minmax(250px,.62fr) minmax(620px,1.38fr);
  align-items:center;
  gap:22px;
  width:100%;
  margin:26px auto 28px;
  padding:14px 14px 20px;
  border:1px solid var(--home-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 34px rgba(7,29,73,.08);
}
.page-home .program-section-toolbar .catalog-filter-shell{margin:0!important;}
.page-home .program-section-toolbar .catalog-filter-shell{grid-column:2;grid-row:1;}
.page-home .program-section-toolbar .catalog-tools{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.page-home .program-section-toolbar .program-section-head{
  grid-column:1;
  grid-row:1;
  margin:0!important;
  padding:0 22px 0 2px;
  border-top:0;
  border-right:1px solid var(--home-border);
}
.page-home .program-section-toolbar>.program-section-head:first-child{margin-top:0!important;padding-top:4px;border-top:0;}
.page-home .program-section-head h2{
  margin:0 0 7px;
  color:var(--home-black)!important;
  font-size:clamp(30px,4vw,43px);
  line-height:1.08;
}
.page-home .program-section-head p{
  max-width:760px;
  margin:0;
  color:var(--home-muted)!important;
  font-size:17px;
  line-height:1.55;
}
.page-home .catalog-filter-shell{width:100%!important;max-width:none!important;justify-self:stretch!important;margin:52px auto 0!important;}
.page-home .catalog-filter-shell+.program-section-head{margin-top:18px!important;}
.page-home .home-diplomas .program-section-toolbar{margin-top:27px!important;}
.page-home .catalog-tools{border-color:var(--home-border)!important;box-shadow:0 12px 30px rgba(7,29,73,.08)!important;}
.page-home .catalog-tools input:focus,
.page-home .catalog-tools select:focus{outline:3px solid rgba(255,102,0,.15)!important;border-color:var(--home-orange)!important;}
.page-home .course-count-public{background:#fff1e8!important;color:var(--home-orange-dark)!important;}
.page-home .course-card{
  overflow:hidden;
  border-color:var(--home-border)!important;
  border-radius:0 0 16px 16px!important;
  box-shadow:0 10px 28px rgba(7,29,73,.07)!important;
}
.page-home .first-course-row .course-card.featured-card,
.page-home #publicCourseResults .course-card.ref-card,
.page-home #publicDiplomaResults .course-card.ref-card{
  border-top-left-radius:0!important;
  border-top-right-radius:0!important;
  border-bottom-right-radius:16px!important;
  border-bottom-left-radius:16px!important;
}
.page-home .course-card .thumb,
.page-home .course-card .thumb img{
  border-top-left-radius:0!important;
  border-top-right-radius:0!important;
}
.page-home .course-card h3{color:var(--home-navy)!important;}
.page-home .course-card .course-type{
  width:max-content;
  border-radius:999px!important;
  background:var(--home-black)!important;
  color:#fff!important;
}
.page-home .course-card-meta-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
}
.page-home .course-duration-mini{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  margin-left:auto;
  color:var(--home-black);
  white-space:nowrap;
}
.page-home .course-duration-mini svg{width:14px;height:14px;flex:0 0 14px;}
.page-home .course-duration-mini small{font-size:11px;line-height:1;font-weight:750;letter-spacing:.01em;}
.page-home .course-card .interest{color:var(--home-orange-dark)!important;}
.page-home .course-card .course-modality-mini{
  display:inline-flex;
  align-items:center;
  min-width:0;
  color:#5b6578;
  font-size:11px;
  line-height:1.1;
  font-weight:500;
  letter-spacing:.01em;
  white-space:nowrap;
}
.page-home .course-card .card-bottom{
  align-items:center!important;
}
.page-home .home-diplomas{margin-top:10px;}
.page-home .diploma-course-grid{margin-top:0!important;}
.page-home #publicCourseResults [data-course-card][hidden],
.page-home #publicDiplomaResults [data-course-card][hidden]{display:none!important;}
.page-home .home-institutional-counter{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:22px 0 3px;
  overflow:hidden;
  border-radius:0 0 18px 18px;
  border:1px solid #d5dae0;
  background:linear-gradient(120deg,#e9edf1,#dde2e7);
  color:#111;
  box-shadow:0 14px 32px rgba(17,24,39,.08);
}

/* R66 acumulado: reducir 50 % el espacio exterior alrededor del contador */
body.page-home section#cursos.section.catalog-reference{
  padding-bottom:26px!important;
}
body.page-home section#contacto.section.home-contact-section{
  padding-top:8px!important;
}
.page-home .home-location-map{
  padding:8px 0;
  background:#fff;
}
.page-home .home-location-map-frame{
  width:100%;
  height:clamp(260px,30vw,360px);
  overflow:hidden;
  border:1px solid #d5dae0;
  border-radius:0 0 18px 18px;
  background:#e9edf1;
  box-shadow:0 14px 32px rgba(17,24,39,.08);
}
.page-home .home-location-map-frame iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.page-home .home-institutional-counter article{
  position:relative;
  display:grid;
  grid-template-columns:30px 1px minmax(0,1fr);
  gap:13px;
  align-items:center;
  min-height:128px;
  padding:22px 24px;
  text-align:left;
}
.page-home .home-institutional-counter article+article:before{
  content:"";
  position:absolute;
  left:0;
  top:22%;
  bottom:22%;
  width:1px;
  background:rgba(17,24,39,.16);
}
.page-home .home-institutional-counter .counter-vector{display:grid;place-items:center;width:30px;height:30px;color:#111;}
.page-home .home-institutional-counter .counter-vector svg{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.page-home .home-institutional-counter .counter-mini-divider{display:block;width:1px;height:42px;background:rgba(17,24,39,.24);}
.page-home .home-institutional-counter .counter-copy{display:grid;gap:5px;justify-items:start;min-width:0;}
.page-home .home-institutional-counter strong{font-size:clamp(30px,3.2vw,44px);line-height:1;font-weight:750;white-space:nowrap;}
.page-home .home-institutional-counter .counter-label{color:#111;font-size:13px;line-height:1.15;font-weight:600;text-align:left;}
.page-home .feature-yellow .feature-icon{color:var(--home-black)!important;}
.page-home .feature-yellow .feature-icon svg{color:var(--home-black)!important;fill:currentColor;}
.page-home .feature-yellow .feature-icon img{filter:grayscale(1) brightness(.18)!important;}
.page-home .badge:not(.hero-smart-badge):not(.home-carousel-badge){border-color:#ffbd91!important;background:#fff1e8!important;color:var(--home-orange-dark)!important;}
@media(max-width:820px){
  .page-home .home-institutional-counter{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-home .home-institutional-counter article:nth-child(3):before{display:none;}
  .page-home .home-institutional-counter article:nth-child(n+3){border-top:1px solid rgba(17,24,39,.12);}
  .page-home .home-institutional-counter article{padding:20px 18px;}
}
@media(max-width:1120px){
  .page-home .program-section-toolbar{grid-template-columns:1fr;gap:18px;}
  .page-home .program-section-toolbar .catalog-filter-shell{grid-column:1;grid-row:2;}
  .page-home .program-section-toolbar .program-section-head{grid-column:1;grid-row:1;padding:0 0 16px;border-right:0;border-bottom:1px solid var(--home-border);}
}
@media(max-width:520px){
  .page-home .program-section-head{margin-top:38px;}
  .page-home .program-section-head p{font-size:15px;}
  .page-home .home-institutional-counter{grid-template-columns:1fr 1fr;}
  .page-home .home-institutional-counter article{min-height:108px;padding:17px 10px;}
  .page-home .home-institutional-counter article{grid-template-columns:24px 1px minmax(0,1fr);gap:8px;}
  .page-home .home-institutional-counter .counter-vector{width:24px;height:24px;}
  .page-home .home-institutional-counter .counter-vector svg{width:21px;height:21px;}
  .page-home .home-institutional-counter .counter-mini-divider{height:36px;}
  .page-home .home-institutional-counter strong{font-size:clamp(25px,8vw,34px);}
  .page-home .home-institutional-counter .counter-label{font-size:11px;}
}

/* FCES-20260911-R2: el estándar final de labels se aplica desde public-labels-20260911.css. */

