/* Novaderma 1.11.50: no artificial trailing bands in the appointment and
 * True Section / Dermatologos Elementor widgets. Other widgets and desktop
 * layouts are intentionally not changed. Respect per-widget Elementor padding.
 */
@media (max-width: 1024px) {
  :is(.elementor-widget-bbcb_appointment_form,
      .elementor-widget-bbcb_true_section_dermatologos) {
    min-height: 0;
    height: auto;
  }
  :is(.elementor-widget-bbcb_appointment_form,
      .elementor-widget-bbcb_true_section_dermatologos) > .elementor-widget-container,
  :is(.elementor-widget-bbcb_appointment_form,
      .elementor-widget-bbcb_true_section_dermatologos) .bbcb-elementor-render {
    min-height: 0;
    height: auto;
    max-height: none;
  }
  /* The script applies these only where it has measured anomalous free space. */
  .bbcb-mobile-excess-gap-layout {
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: clamp(16px, 3vw, 30px) !important;
    align-content: start !important;
    justify-content: flex-start !important;
  }
  .bbcb-mobile-excess-gap-internal {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
  }
  .bbcb-mobile-excess-gap-section {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding-bottom: clamp(20px, 4vw, 32px) !important;
  }
  .bbcb-mobile-excess-gap-widget {
    margin-bottom: 0 !important;
    min-height: 0 !important;
    height: auto !important;
  }
}
@media (max-width: 767px) {
  /* Keep a modest, intentional gap to the next section, not two stacked bands. */
  body .bbcb-appointment-form-section {
    padding-top: clamp(26px, 7vw, 36px);
    padding-bottom: clamp(20px, 5vw, 28px);
    min-height: 0;
    height: auto;
  }
  body .bbcb-true-derma {
    padding-top: clamp(32px, 8vw, 42px);
    padding-bottom: clamp(20px, 5vw, 30px);
    min-height: 0;
    height: auto;
  }
  .bbcb-ap__container,
  .bbcb-ap__panel,
  .bbcb-ap__intro,
  .bbcb-ts-container,
  .bbcb-ts-grid,
  .bbcb-ts-card,
  .bbcb-ts-content {
    min-height: 0;
    height: auto;
  }
  .bbcb-ap__container { align-items: start; }
  .bbcb-ap__panel { align-self: start; }
  .bbcb-ap__form { margin-bottom: 0; }
  .bbcb-ts-grid { gap: clamp(14px, 4vw, 20px); }
  .bbcb-ts-intro { margin-bottom: clamp(20px, 5vw, 30px); }
  .bbcb-ts-content { padding-bottom: 20px; }
  .bbcb-ts-description { margin-bottom: 14px; }
}
@media (max-width: 420px) {
  /* The old portrait area had a fixed 320px height even on 320px phones. */
  .bbcb-ts-visual {
    height: clamp(235px, 74vw, 294px);
    min-height: 0;
  }
  .bbcb-ts-card { grid-template-columns: minmax(0, 1fr); }
}
