/* Refinamientos posteriores a la auditoría global: controles financieros y tarjetas editoriales. */
.financing-comparator .comparator-input-panel,
.financing-comparator .comparator-scenarios,
.financing-comparator .comparator-fields,
.financing-comparator .comparator-fields .calculator-fields,
.financing-comparator .comparator-fields .calculator-fields>label{
  inline-size:100%!important;
  max-inline-size:none!important;
  min-inline-size:0!important;
  justify-self:stretch!important;
}

/* Cada alternativa usa una sola columna interna. Factoring y Crédito siguen lado a lado como bloques. */
.financing-comparator .comparator-fields .calculator-fields{
  grid-template-columns:minmax(0,1fr)!important;
}
.financing-comparator .comparator-fields .calculator-field-wide{
  grid-column:auto!important;
}

.financing-comparator .comparator-fields input[data-field],
.financing-comparator .comparator-fields select,
.financing-comparator .comparator-fields .money-input,
.financing-comparator .comparator-fields .money-input input{
  inline-size:100%!important;
  width:100%!important;
  max-inline-size:none!important;
  max-width:none!important;
  min-inline-size:0!important;
  min-width:0!important;
  justify-self:stretch!important;
}

.financing-comparator .comparator-fields .money-input{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
}

.calculator-presets button,
.calculator-actions button,
.calculator-actions .quiet-action{
  min-height:44px!important;
}

/* Los títulos editoriales no deben cortarse en puntos arbitrarios. */
.tool-card h3,
.story-card h3,
.home-route strong,
.discovery-card h3,
.topic-hub-card h3{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/*
 * El calendario tiene tres piezas: selector, fecha y contenido. Una regla heredada de la capa
 * compartida lo reducía a dos columnas y enviaba el texto a una fila de apenas 44–82 px.
 */
.tax-calendar-page .tax-event{
  display:grid!important;
  grid-template-columns:55px 104px minmax(0,1fr)!important;
  align-items:stretch!important;
  min-width:0!important;
}
.tax-calendar-page .tax-event>.event-check{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
}
.tax-calendar-page .tax-event>time{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
}
.tax-calendar-page .tax-event>.tax-event-copy{
  grid-column:3!important;
  grid-row:1!important;
  width:auto!important;
  min-width:0!important;
}
.tax-calendar-page .tax-event-copy>*{
  min-width:0;
  max-width:100%;
}
.tax-calendar-page .tax-event-meta span,
.tax-calendar-page .tax-event h3,
.tax-calendar-page .tax-event p{
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
}

@media(max-width:720px){
  .tax-calendar-page .tax-event{
    grid-template-columns:44px 70px minmax(0,1fr)!important;
  }
  .tax-calendar-page .tax-event-copy{
    padding:15px 13px!important;
  }
}

@media(max-width:420px){
  .tax-calendar-page .tax-event{
    grid-template-columns:40px 64px minmax(0,1fr)!important;
  }
  .tax-calendar-page .tax-event-copy{
    padding:14px 11px!important;
  }
}

/*
 * Scroll táctil en móvil.
 * Las imágenes y tarjetas animadas crean capas transformadas; en Safari móvil el gesto puede
 * interpretarse como interacción/arrastre sobre el bloque y no como desplazamiento de página.
 * Se declara explícitamente el paneo vertical y se evita que la imagen capture el arrastre.
 */
@media (pointer:coarse), (max-width:980px){
  html,
  body,
  #contenido,
  main{
    touch-action:pan-y pinch-zoom;
    overscroll-behavior-x:none;
  }

  :where(
    .masthead-fresh,
    .lead,
    .lead-copy,
    .lead-art,
    .home-route,
    .home-route>a,
    .section-block,
    .story-grid,
    .story-card,
    .story-image,
    .tool-grid,
    .tool-card,
    .tool-card-art,
    .newsletter,
    .listing-hero,
    .listing-grid,
    .article-top,
    .article-layout,
    .article,
    .article-visual,
    .tool-hero,
    .tool-body,
    .tool-workspace,
    .calculator,
    .calculator-form,
    .calculator-result,
    .site-footer
  ){
    touch-action:pan-y pinch-zoom;
  }

  :where(a,button,summary){
    touch-action:manipulation;
  }

  :where(
    .lead-art,
    .story-image,
    .tool-card-art,
    .article-visual,
    .tool-hero
  ) img{
    -webkit-user-drag:none;
    user-select:none;
    pointer-events:none;
    touch-action:pan-y pinch-zoom;
  }
}
