/* ===== Ajustes para celular / táctil (se carga después de style.css) ===== */
html{ -webkit-text-size-adjust:100%; }
img, video{ max-width:100%; }
.btn-sm{ padding:12px 24px; }
.btn-block{ width:100%; justify-content:center; }
.link-fake{ font-size:13.5px; font-weight:600; color:var(--ink); }
.float-wa{ right:max(16px, env(safe-area-inset-right)); bottom:max(16px, env(safe-area-inset-bottom)); }
.hero{ min-height:100vh; min-height:100svh; }
.slot:disabled{ cursor:not-allowed; }

@media (max-width:980px){
  header{ padding:14px 0; }
  header.menu-open{ background:rgba(255,255,242,.95); backdrop-filter:blur(10px); }
  .burger{ width:44px; height:44px; flex-shrink:0; }
  .nav-links.open{ top:72px; max-height:calc(100svh - 90px); overflow-y:auto; }
  .nav-links.open a{ font-size:16px; padding:6px 0; width:100%; }
  .agenda-feats{ max-width:none; }
  .hero{ min-height:auto; }
}

@media (max-width:620px){
  .container{ width:min(1180px, 90%); }
  .nav-row{ gap:12px; }
  .hero{ padding-top:100px; padding-bottom:50px; }
  .hero-grid{ gap:40px; }
  .hero-visual{ margin-bottom:24px; }
  .float-badge{ left:50%; right:auto; transform:translateX(-50%); animation:none; bottom:-22px; white-space:nowrap; }
  .about, .services, .portfolio, .testimonials{ padding-block:64px; }
  .about-grid{ gap:40px; }
  .agenda{ padding:80px 0 70px; }
  .agenda-card{ border-radius:28px; }
  .service-card{ padding:28px 22px; }
  .t-card{ padding:26px 22px; }
  .a-input input, .a-input select, .a-field input{ font-size:16px; } /* evita el zoom automático de iOS */
  .a-input{ height:52px; }
  .slots{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
  .slot{ padding:12px 0; min-height:44px; text-align:center; }
  .a-btn{ letter-spacing:.12em; }
  .modal{ padding:14px; align-items:flex-end; }
  .modal-box{ max-height:90svh; overflow-y:auto; border-radius:28px 28px 20px 20px; }
  .footer-bottom{ flex-direction:column; }
}

@media (max-width:360px){
  .logo{ font-size:16px; }
  .slots{ grid-template-columns:repeat(3,1fr); }
  .hero-stats{ flex-wrap:wrap; }
}

/* Dispositivos táctiles: sin efectos hover que se "pegan" */
@media (hover:none){
  .service-card:hover, .p-item:hover, .btn-primary:hover, .a-btn:hover, .float-wa:hover{ transform:none; }
  .service-card:hover{ box-shadow:0 16px 40px -24px rgba(74,44,51,.25); }
}
