/* v1.2.2 · Final card structure and global theme chrome.
   One shared component for 2- and 3-column course grids; footer cannot float
   above an empty area when a sibling card contains more text. */
body .ao-header,
body header.ao-header{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  background:var(--ao-user-header,#fff)!important;
  color:var(--ao-ink,#27202a);
  width:100%!important;
  max-height:none!important;
  min-height:78px!important;
  overflow:visible!important;
}
body .ao-header-row{min-height:78px!important;display:flex!important;align-items:center!important}
body .ao-header .ao-site-brand,
body .ao-header .ao-site-brand img{display:block!important;visibility:visible!important;opacity:1!important}
body .ao-footer,
body footer.ao-footer{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  min-height:240px!important;
  max-height:none!important;
  overflow:visible!important;
  background:var(--ao-user-footer,#211c27)!important;
  clear:both!important;
}
body footer.ao-footer .ao-footer-main{display:grid!important;grid-template-columns:1.25fr .8fr .8fr;gap:40px;max-width:var(--ao-max-width,1240px)}
/* Explicit layouts: three cards in one row, four/two cards in 2 columns. */
body.page-template-landing-formacion .ao-services-grid,
body.page-template-landing-formacion .wp-block-columns.ao-services-grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  grid-auto-rows:auto;
  gap:24px!important;
}
body.page-template-landing-formacion .ao-services-grid.ao-count-2,
body.page-template-landing-formacion .ao-services-grid.ao-count-4{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
body.page-template-landing-formacion .ao-services-grid.ao-count-3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
body.page-template-landing-formacion .ao-services-grid > .ao-service-col,
body.page-template-landing-formacion .ao-services-grid > .wp-block-column{
  min-width:0!important;
  width:100%!important;
  align-self:stretch!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  margin:0!important;
}
/* Flex column is resilient to Gutenberg's extra block wrappers. */
body.page-template-landing-formacion .ao-services-grid .ao-service-col > .ao-service-card,
body.page-template-landing-formacion .ao-services-grid .ao-service-card {
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  width:100%!important;
  min-width:0!important;
  min-height:100%!important;
  justify-content:stretch!important;
  align-self:stretch!important;
  overflow:hidden!important;
}
body.page-template-landing-formacion .ao-services-grid .ao-service-card > .ao-card-main{
  display:block!important;
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
}
body.page-template-landing-formacion .ao-services-grid .ao-service-card > .ao-card-foot{
  display:flex!important;
  flex:0 0 auto!important;
  align-self:stretch!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  position:relative!important;
  height:auto!important;
  width:100%!important;
  margin:0!important;
  padding:24px 25px 27px!important;
  gap:18px!important;
  border-top:1px solid #eee3eb!important;
  background:#fff7fb!important;
}
body.page-template-landing-formacion .ao-services-grid .ao-card-foot .ao-price-box{margin:0!important}
body.page-template-landing-formacion .ao-services-grid .ao-card-foot .ao-price{margin:3px 0 0!important}
body.page-template-landing-formacion .ao-services-grid .ao-card-foot .ao-card-cta{margin:0!important}
@media(max-width:850px){
  body.page-template-landing-formacion .ao-services-grid.ao-count-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body footer.ao-footer .ao-footer-main{grid-template-columns:1fr 1fr}
  body footer.ao-footer .ao-footer-about{grid-column:1 / -1}
}
@media(max-width:600px){
  body .ao-header,body header.ao-header,body .ao-header-row{min-height:69px!important}
  body.page-template-landing-formacion .ao-services-grid,
  body.page-template-landing-formacion .ao-services-grid.ao-count-2,
  body.page-template-landing-formacion .ao-services-grid.ao-count-3,
  body.page-template-landing-formacion .ao-services-grid.ao-count-4{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
  body footer.ao-footer .ao-footer-main{grid-template-columns:1fr!important;gap:28px}
  body footer.ao-footer .ao-footer-about{grid-column:auto}
}
