/* FASE5A148C1 — experiencia móvil pública */
:root{--px-mobile-gutter:16px;--px-mobile-radius:18px;--px-safe-bottom:env(safe-area-inset-bottom,0px)}
@media(max-width:900px){
  html{scroll-padding-top:82px}
  body{overflow-x:hidden}
  .container{width:100%!important;max-width:none!important;padding-left:var(--px-mobile-gutter)!important;padding-right:var(--px-mobile-gutter)!important;box-sizing:border-box}
  .topbar{position:sticky!important;top:0!important;z-index:120!important;background:#fff!important;box-shadow:0 5px 18px rgba(16,24,40,.08)}
  .topbar .nav{min-height:68px!important;padding-top:8px!important;padding-bottom:8px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;gap:12px!important;align-items:center!important}
  .topbar .logo{max-width:min(220px,65vw)!important;height:auto!important;max-height:48px!important;object-fit:contain!important;object-position:left center!important}
  .mobile-menu-toggle{display:grid!important;place-content:center!important;width:48px!important;height:48px!important;min-height:48px!important;border-radius:14px!important;margin:0!important}
  .menu{position:fixed!important;left:12px!important;right:12px!important;top:78px!important;width:auto!important;max-height:calc(100dvh - 94px)!important;overflow:auto!important;overscroll-behavior:contain!important;padding:12px!important;border-radius:18px!important;background:#fff!important;box-shadow:0 24px 70px rgba(16,24,40,.28)!important;transform:translateY(-12px) scale(.98)!important;opacity:0!important;pointer-events:none!important;display:grid!important;gap:4px!important}
  body.menu-open .menu{transform:none!important;opacity:1!important;pointer-events:auto!important}
  .menu a{display:flex!important;align-items:center!important;min-height:50px!important;padding:11px 14px!important;border-radius:12px!important;font-size:15px!important;line-height:1.25!important;letter-spacing:.02em!important}
  .menu a[aria-current="page"]{background:#edf8f1!important;text-decoration:none!important}
  main{min-width:0}
  .section{padding-top:44px!important;padding-bottom:44px!important}
  .hero-main-smart{min-height:440px!important;height:auto!important;background-position:center!important}
  .hero-smart-inner{min-height:440px!important;padding-top:48px!important;padding-bottom:48px!important;align-items:flex-end!important}
  .hero-smart-copy{max-width:100%!important;width:100%!important;padding:22px!important;border-radius:20px!important;backdrop-filter:blur(8px)}
  .hero-smart-copy h1{font-size:clamp(35px,10vw,58px)!important;line-height:1.02!important;overflow-wrap:anywhere}
  .hero-smart-copy p{font-size:clamp(17px,4.8vw,24px)!important;line-height:1.35!important}
  .features-overlap{margin-top:-18px!important}
  .features-shell{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding:12px!important}
  .feature-yellow{padding:20px!important;min-height:0!important;border-radius:16px!important}
  .catalog-reference{padding-top:48px!important}
  .catalog-reference-head{max-width:100%!important;margin-bottom:24px!important;padding:0 4px!important}
  .catalog-reference-head h2{font-size:clamp(32px,8vw,48px)!important;line-height:1.06!important;overflow-wrap:anywhere}
  .catalog-tools{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:12px!important;border-radius:16px!important}
  .catalog-tools :is(input,select){width:100%!important;min-height:48px!important}
  .course-count-public{justify-content:center!important;min-height:44px!important}
  .first-course-row,.rest-course-grid,.course-grid,.grid{grid-template-columns:1fr!important}
  .course-card,.featured-card{border-radius:20px!important;overflow:hidden!important}
  .course-card .course-body,.featured-card .course-body{padding:20px!important}
  .course-card h3,.featured-card h3{overflow-wrap:anywhere}
  .course-card .interest,.featured-card .interest{min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;text-align:center!important}
  .course-v74-hero,.course-detail-grid,.course-reserve-grid{grid-template-columns:1fr!important}
  .course-v74-hero-copy h1{font-size:clamp(38px,11vw,62px)!important;overflow-wrap:anywhere}
  .course-actions,.course-hero-actions,.flow-continue-actions,.success-actions,.registered-actions,.actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .course-actions :is(a,button),.course-hero-actions :is(a,button),.flow-continue-actions :is(a,button),.success-actions :is(a,button),.registered-actions :is(a,button),.actions :is(a,button){width:100%!important;min-height:50px!important;justify-content:center!important;box-sizing:border-box!important}
  .pym-reserve{padding:20px!important;border-radius:20px!important}
  .pym-reserve :is(input,select,textarea,button){font-size:16px!important}
  .pym-reserve :is(input,select,textarea){width:100%!important;max-width:100%!important;box-sizing:border-box!important}
  .pym-reserve [class*="grid"],.pym-reserve [class*="row"]{grid-template-columns:1fr!important}
  .pym-slot-card{min-height:0!important;padding:14px!important}
  .pym-submit{width:100%!important;min-height:52px!important}
  .wrap{width:100%!important;max-width:none!important;padding-left:var(--px-mobile-gutter)!important;padding-right:var(--px-mobile-gutter)!important;box-sizing:border-box!important}
  .summary-grid,.main,.grid,.steps-row{grid-template-columns:1fr!important}
  .steps-row{display:grid!important;gap:10px!important}
  .step{min-width:0!important;width:100%!important}
  .card,.flow-continue-card,.registered-panel,.success-final,.next-card{border-radius:18px!important;padding:20px!important}
  .form-card .grid{gap:14px!important}
  .form-card label{min-width:0!important}
  .form-card :is(input,select,textarea){font-size:16px!important;min-height:48px!important;width:100%!important;box-sizing:border-box!important}
  .form-card textarea{min-height:120px!important}
  .terms{align-items:flex-start!important;gap:10px!important}
  .terms input{width:22px!important;min-width:22px!important;height:22px!important;min-height:22px!important;margin-top:2px!important}
  .footer-modern-v77 .footer-main-grid{grid-template-columns:1fr!important;gap:28px!important}
  .footer-modern-v77 .footer-bottom-inner{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;text-align:center!important}
  .footer-modern-v77 .footer-socials,.footer-modern-v77 .footer-bottom-links{justify-content:center!important;flex-wrap:wrap!important}
  .footer-modern-v77 .footer-whatsapp-primary{width:100%!important;justify-content:center!important}
  .whatsapp-float,.floating-whatsapp{right:12px!important;bottom:calc(12px + var(--px-safe-bottom))!important;max-width:calc(100vw - 24px)!important}
}
@media(max-width:620px){
  :root{--px-mobile-gutter:14px}
  .features-shell{grid-template-columns:1fr!important}
  .feature-yellow{padding:18px!important}
  .hero-main-smart,.hero-smart-inner{min-height:390px!important}
  .hero-smart-copy{padding:18px!important}
  .hero-smart-copy h1{font-size:clamp(32px,10.5vw,46px)!important}
  .catalog-reference-head h2{font-size:clamp(29px,9vw,40px)!important}
  .course-card .course-body,.featured-card .course-body{padding:18px!important}
  .cms-page-hero h1{font-size:clamp(34px,10vw,48px)!important}
  .cms-page-content{padding:24px 18px!important}
  .cms-page-content table{display:block!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
}
@media(max-width:380px){
  .topbar .logo{max-width:195px!important}
  .hero-smart-copy h1{font-size:31px!important}
  .catalog-reference-head h2{font-size:28px!important}
  .course-card .course-body,.featured-card .course-body,.card,.pym-reserve{padding:16px!important}
}
