/* My Teacher Pablo · experiencia móvil «tipo app» (se carga al final).
   Barra de pestañas inferior, encabezado compacto, hojas que suben desde abajo y se cierran deslizando,
   botones de acción fijos, áreas táctiles de 44 px y respeto de las zonas seguras del iPhone. */
.tabbar{display:none}
@media (max-width:860px){
  html{scroll-padding-top:64px;-webkit-tap-highlight-color:transparent}
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom));overscroll-behavior-y:none}
  input,select,textarea{font-size:16px!important}   /* evita el zoom automático de iOS */
  button,a,.card,summary{-webkit-touch-callout:none}

  /* Encabezado compacto con el logo centrado */
  .site-header .bar{justify-content:center;min-height:54px}
  .bar-actions{display:none}
  .brand img{height:30px}
  .cart-btn,.burger{display:none}

  /* Barra de pestañas */
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:35;justify-content:space-around;padding:6px 10px calc(6px + env(safe-area-inset-bottom));background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);border-top:1px solid rgba(0,0,0,.08)}
  .tb{flex:1;position:relative;display:grid;justify-items:center;align-content:center;gap:2px;min-height:50px;border:0;background:none;color:#8e8e93;font:500 .66rem var(--sans);letter-spacing:0;cursor:pointer;border-radius:14px;transition:color .15s,transform .12s}
  .tb svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .tb[data-tab="more"] svg{fill:currentColor;stroke:none}
  .tb.on{color:var(--brand)}
  .tb.on svg{stroke-width:2}
  .tb:active{transform:scale(.92)}
  .tb-badge{position:absolute;top:2px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ff3b30;color:#fff;font:700 .68rem/18px var(--sans);text-align:center}
  .tb-badge[hidden]{display:none}
  .cartbar{display:none!important}
  body.has-cartbar .site-footer{padding-bottom:calc(36px + env(safe-area-inset-bottom))}

  /* «More»: hoja con los enlaces */
  .nav{position:fixed;left:12px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom));top:auto;z-index:34;display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:10px;border:0;border-radius:24px;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 24px 60px rgba(0,0,0,.28);transform:translateY(24px) scale(.97);opacity:0;pointer-events:none;visibility:hidden;transition:transform .25s,opacity .2s,visibility .25s}
  .nav.open{transform:none;opacity:1;pointer-events:auto;visibility:visible}
  .nav a{padding:15px 16px;font-size:1.02rem;font-weight:500;border-radius:14px;opacity:1}
  .nav a:active{background:rgba(0,0,0,.06)}
  .nav-social{margin:4px 0 2px;padding:10px 6px 4px;border-top:1px solid rgba(0,0,0,.08);justify-content:center;gap:12px}
  .soc{width:44px;height:44px}

  /* Contenido */
  .wrap{width:min(1180px,100% - 32px)}
  .hero-grid{gap:16px;padding:12px 0 28px}
  .hero-card{border-radius:24px;box-shadow:0 18px 40px rgba(0,0,0,.16)}
  .hero-text h1{font-size:clamp(2.1rem,9vw,2.7rem)}
  .hero-text .btns{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-text .btn-lg{width:100%}
  .info-chips{margin-inline:-16px;padding:2px 16px 6px;scroll-snap-type:x proximity}
  .info-chip{scroll-snap-align:start}
  section{padding:48px 0}
  .section-title,.sec-head h2{font-size:clamp(1.8rem,7.5vw,2.3rem)}
  .benefits{grid-template-columns:1fr;gap:12px}
  .quotes{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .faq summary{padding:18px 30px 18px 0;min-height:56px;display:flex;align-items:center}
  .btn{min-height:50px}
  .btn-sm{min-height:42px}

  /* Tarjetas de producto: fila táctil */
  .grid,.grid-flat{grid-template-columns:1fr;gap:12px;max-width:none}
  .card{flex-direction:row;border-radius:22px}
  .card-img{width:128px;min-height:128px}
  .add-btn,.in-cart{height:44px;padding:0 20px}

  /* Hojas inferiores */
  .overlay,.modal{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .drawer{top:auto;left:0;right:0;bottom:0;width:100%;height:auto;max-height:calc(100dvh - 28px);min-height:50dvh;border-radius:28px 28px 0 0;transform:translateY(105%);transition:transform .34s cubic-bezier(.32,.72,0,1);box-shadow:0 -20px 60px rgba(0,0,0,.28)}
  .drawer.open{transform:none}
  .drawer-head{padding:22px 16px 12px;position:relative}
  .drawer-head::before{content:"";position:absolute;top:8px;left:50%;width:42px;height:5px;border-radius:3px;background:#c7c7cc;transform:translateX(-50%)}
  .drawer-body{padding:12px 16px calc(16px + env(safe-area-inset-bottom))}
  .modal{align-items:end;padding:0}
  .modal-card{position:relative;width:100%;max-width:none;border-radius:28px 28px 0 0;max-height:calc(100dvh - 28px);padding:26px 18px calc(18px + env(safe-area-inset-bottom));animation:sheetup .34s cubic-bezier(.32,.72,0,1)}
  .modal-card::before{content:"";position:absolute;top:8px;left:50%;width:42px;height:5px;border-radius:3px;background:#c7c7cc;transform:translateX(-50%)}
  @keyframes sheetup{from{transform:translateY(100%)}to{transform:none}}
  .pd .lb-close{top:-14px;right:-6px}
  .lb{padding:0;align-items:end}
  .lb-card{border-radius:28px 28px 0 0;width:100%}
  .popup-bg{align-items:end;padding:0}
  .popup-card,.popup-card.has-img{border-radius:28px 28px 0 0;width:100%;max-width:none}
  .toasts{bottom:calc(84px + env(safe-area-inset-bottom))}
  body.lock .tabbar{visibility:hidden}

  /* Botón de acción fijo al pie de la ficha de la sesión y de la agenda */
  .pd-cta{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));margin:0 -18px;padding:12px 18px calc(14px + env(safe-area-inset-bottom));display:grid;gap:10px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid rgba(0,0,0,.07);z-index:2}
  .pd-cta .btn{width:100%}
  .pd-sched .pd-media{order:1}
  .pd-sched .pd-info{order:0}
  .pd-sched .pd-desc{max-height:none}
  .sch-day{max-width:none}
  .sch-slots{grid-template-columns:repeat(3,1fr)}
  .sch-slot{min-height:48px}
  .sch-h{min-height:44px}
  .pk-confirm{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom));z-index:3;box-shadow:0 12px 40px rgba(0,0,0,.2);background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
  .pk-confirm .btn{width:100%}
  .order-page .site-header .bar{justify-content:space-between}
  .order-page{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .order-page .bar-actions{display:flex}
}
@media (max-width:860px) and (display-mode:standalone){
  .site-header{padding-top:env(safe-area-inset-top)}
}

.pd-cta{display:grid;gap:10px}

@media (hover:none){.card-title:hover{text-decoration:none}}
