/* =========================================================================
   RESPONSIVE · iPad / tablet / móvil, interfaz táctil y Safari iOS
   Todo lo de este archivo es intencionado: no eliminar al "limpiar".
   ========================================================================= */

/* iPad horizontal grande (Air/Pro 11" 1180-1194, Pro 12.9"/13" 1366) y escritorio ancho:
   aprovechar más ancho sin cambiar la estructura */
@media (min-width:1180px){
  :root{--maxw:1080px;}
}

/* Tablets e iPad vertical (768-1024): fila de resultados en 2 niveles */
@media (max-width:1024px){
  .svc-result-row{grid-template-columns:repeat(4,minmax(0,1fr));}
  .svc-result-row > :first-child{grid-column:1 / 4;grid-row:1;}
  .svc-result-row .final{grid-column:4;grid-row:1;align-self:stretch;display:flex;flex-direction:column;justify-content:center;}
}

/* iPad vertical (744-834) y tablets pequeñas: formularios a 3 columnas */
@media (max-width:900px){
  .prod-card{grid-template-columns:repeat(3,minmax(0,1fr));}
  .prod-card .name-field{grid-column:span 2;}
  .prod-status{grid-column:1 / -1;flex-direction:row;justify-content:space-between;align-items:center;}
  .variant-row{grid-template-columns:repeat(3,minmax(0,1fr));}
  .variant-row .name-field{grid-column:span 2;}
  .var-actions{grid-column:1 / -1;}
}

/* Móvil grande / tablets estrechas */
@media (max-width:700px){
  .example-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .example-row > :nth-child(2){grid-column:span 2;}
}

@media (max-width:640px){
  .compare-grid,.impact-final-grid{grid-template-columns:1fr;}
}

/* Móvil */
@media (max-width:560px){
  :root{--gutter:16px;}
  .wrap{padding-top:28px;}
  .card-lg{padding:20px 18px;}
  .svc-card{padding:16px;}
  .priorities,.diff-panel,.impact-final{padding:22px 18px;}
  .hero-hour{padding:28px 18px;}
  .prod-card{grid-template-columns:repeat(2,minmax(0,1fr));}
  .prod-card .name-field{grid-column:1 / -1;}
  .variant-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .variant-row .name-field{grid-column:1 / -1;}
  .recipe-line{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 32px;}
  .recipe-line > select{grid-column:1 / -1;}
  .svc-result-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .svc-result-row > :first-child{grid-column:1 / -1;}
  .svc-result-row .final{grid-column:1 / -1;grid-row:auto;}
  .counters{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer-inner{gap:8px;}
  .btn-next{margin-left:auto;}
  /* En móvil no cabe la nota entre los botones: se muestra solo el estado de guardado
     y el icono de información, en una línea discreta debajo de los botones. */
  .footer-inner{flex-wrap:wrap;row-gap:6px;}
  .footer-note{order:3;flex:1 0 100%;display:flex;justify-content:center;align-items:center;gap:8px;}
  .footer-note-text{display:none;}
  .footer-note-line{order:2;}
  .save-status{order:1;margin-top:0;}
}

/* ===== INTERFAZ TÁCTIL =====
   any-pointer:coarse cubre el iPad incluso con teclado/trackpad conectado.
   Solo se agranda la zona pulsable; el aspecto visual se mantiene. */
@media (any-pointer:coarse){
  .tabs{gap:18px;}
  .tab-btn{min-height:var(--tap);padding-left:6px;padding-right:6px;}
  .btn-back,.btn-next,.btn-start{min-height:var(--tap);}
  .btn-help{min-height:var(--tap);}
  .btn-del{min-height:var(--tap);min-width:var(--tap);}
  .row-x{min-width:var(--tap);min-height:var(--tap);display:inline-flex;align-items:center;justify-content:center;}
  .help-panel .close,.data-panel .close{min-width:var(--tap);min-height:var(--tap);margin:-12px -14px -12px 0;}
  .dashed-add{min-height:var(--tap);}
  .reset-link,.cover-link{display:inline-block;padding:15px 8px;}
  .cover .cover-link{margin-top:0;}
  input.money,.prod-card input,.variant-row input,.recipe-line input{min-height:var(--tap);}
  input.plain,.svc-head input{min-height:var(--tap);}
  select{min-height:var(--tap);padding:0 8px;}
  input[type=range]{height:var(--tap);margin-top:4px !important;}
  .var-actions{gap:10px;}
  .recipe-line{grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto minmax(0,1fr) var(--tap);}
  .recipe-line .calc-box{min-height:var(--tap);display:flex;align-items:center;}
  .info-btn::after{top:-14px;right:-14px;bottom:-14px;left:-14px;}
}
@media (any-pointer:coarse) and (max-width:560px){
  .recipe-line{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) var(--tap);}
}

/* Safari iOS: nunca por debajo de 16px en campos (evita el zoom automático al enfocar) */
@supports (-webkit-touch-callout:none){
  input,select,textarea{font-size:max(16px,1em);}
}

@media (prefers-reduced-motion:reduce){
  .progress-fill,.goal-progress .fill,.save-status{transition:none;}
}
