/* Novaderma Framework 1.11.21 - responsive vertical rhythm.
 * Designed for existing BB Clinic modules, not arbitrary Elementor containers.
 * The desktop layout is intentionally unchanged; custom Elementor section
 * margins/paddings are respected. Full text and original content remain visible.
 */
@media (min-width: 768px) and (max-width: 1024px) {
  body.bb-clinic-site {
    --bbcf-section: clamp(56px, 6vw, 76px);
    --nv-module-space: clamp(56px, 6vw, 76px);
  }
  body.bb-clinic-site :is(.section-pad, .bbcf-section) {
    padding-block: var(--nv-module-space);
  }
  body.bb-clinic-site .section-head { margin-bottom: 34px; }
  body.bb-clinic-site :is(.section-head--wide, .split-head, .reviews-head, .appointment-grid, .philosophy-grid) {
    gap: clamp(26px, 4vw, 44px);
  }
  body.bb-clinic-site .bbcf-clinical-record { --bbcf-record-gap: 48px; }
  body.bb-clinic-site .bbcf-blog-related { padding-block: 60px; }
  body.bb-clinic-site .bbcf-blog-single__layout { padding-bottom: 74px; }
  body.bb-clinic-site .nv-treatment-archive__listing { padding-block: 64px; }
  body.bb-clinic-site .bbcf-legal__layout { padding-block: 58px 76px; }
}

@media (max-width: 767px) {
  body.bb-clinic-site {
    --bbcf-section: clamp(40px, 8vw, 54px);
    --nv-module-space: clamp(40px, 8vw, 54px);
    --nv-block-space: clamp(30px, 7vw, 42px);
    --nv-card-pad: clamp(18px, 4.8vw, 24px);
  }

  /* Main sections: remove desktop-sized empty bands, not content. */
  body.bb-clinic-site :is(.section-pad, .bbcf-section) { padding-block: var(--nv-module-space); }
  body.bb-clinic-site .section-head { margin-bottom: 26px; }
  body.bb-clinic-site .section-head h2 { margin-bottom: 13px; }
  body.bb-clinic-site .eyebrow { margin-bottom: 13px; }
  body.bb-clinic-site :is(.section-head--wide, .split-head, .reviews-head,
    .philosophy-grid, .appointment-grid, .inner-cta-grid) { gap: 24px; }
  body.bb-clinic-site .section-cta { margin-top: 24px; }

  /* Home / landing hero: keep clearance for the fixed header and slider controls. */
  body.bb-clinic-site .hero:not(.hero-slider) { padding-block: 112px 48px; }
  body.bb-clinic-site .hero-grid { gap: 28px; }
  body.bb-clinic-site .hero-slide { padding-block: 106px 88px; }
  body.bb-clinic-site .hero-slider .hero-grid { gap: 28px; }
  body.bb-clinic-site .hero-intro { margin-top: 17px; }
  body.bb-clinic-site .actions { margin-top: 20px; }
  body.bb-clinic-site .hero-signals { margin-top: 25px; }

  /* Specialties + Team cards: no artificially tall blank card bodies. */
  body.bb-clinic-site .card-media { height: clamp(220px, 62vw, 275px); }
  body.bb-clinic-site .card-body {
    min-height: 0;
    height: auto;
    padding: var(--nv-card-pad);
  }
  body.bb-clinic-site .card-body h3 { margin-block: 11px 12px; }
  body.bb-clinic-site .card-body p { margin-bottom: 14px; }
  body.bb-clinic-site .slider-footer { margin-top: 18px; gap: 12px; }
  body.bb-clinic-site .review-card { min-height: 0; padding: 22px; }
  body.bb-clinic-site .review-top { margin-bottom: 22px; }
  body.bb-clinic-site .review-card > p { margin-bottom: 18px; }
  body.bb-clinic-site .reviews-controls { margin-top: 20px; }

  /* Team directory and specialty/treatment detail tiles. */
  body.bb-clinic-site :is(.team-grid, .staff-grid) { gap: 16px; margin-top: 26px; }
  body.bb-clinic-site .team-card { min-height: 0; }
  body.bb-clinic-site .team-card__body { padding: var(--nv-card-pad); }
  body.bb-clinic-site .team-card__body h3 { margin-top: 12px; }
  body.bb-clinic-site .team-role { margin-bottom: 11px !important; }
  body.bb-clinic-site .staff-card { padding: var(--nv-card-pad); }
  body.bb-clinic-site .staff-card__mark { margin-bottom: 16px; }
  body.bb-clinic-site .doctor-row { padding-block: 19px; min-height: 0; }
  body.bb-clinic-site .treatment-grid { margin-top: 25px; gap: 14px; }
  body.bb-clinic-site .treatment-card { min-height: 0; padding: var(--nv-card-pad); }
  body.bb-clinic-site .treatment-card h3 { margin-block: 20px 12px; }
  body.bb-clinic-site .treatment-card .text-link { margin-top: 12px; }
  body.bb-clinic-site .specialist-panel { padding: var(--nv-card-pad); }
  body.bb-clinic-site .specialist-list { margin-top: 22px; }
  body.bb-clinic-site .specialist-item { padding-block: 17px; }

  /* Editorial sections / FAQs / cross-links. */
  body.bb-clinic-site .inner-hero { padding-block: 110px 42px; }
  body.bb-clinic-site .inner-hero-grid { gap: 26px; }
  body.bb-clinic-site .breadcrumbs { margin-bottom: 19px; }
  body.bb-clinic-site .inner-hero h1 { margin-bottom: 17px; }
  body.bb-clinic-site .inner-deck { margin-bottom: 15px; }
  body.bb-clinic-site .inner-hero-actions { margin-top: 19px; }
  body.bb-clinic-site .content-block { padding-bottom: var(--nv-block-space); }
  body.bb-clinic-site .content-block + .content-block { padding-top: var(--nv-block-space); }
  body.bb-clinic-site .content-block h2 { margin-bottom: 18px; }
  body.bb-clinic-site .longform-subsection h3 { margin-bottom: 12px; }
  body.bb-clinic-site .subsection-separator { margin-block: 28px 22px; }
  body.bb-clinic-site .technology-strip { margin-top: 20px; }
  body.bb-clinic-site .faq-list { margin-top: 22px; }
  body.bb-clinic-site .faq-item summary { padding-block: 17px; gap: 12px; }
  body.bb-clinic-site .related-area-card { padding: var(--nv-card-pad); gap: 18px; }
  body.bb-clinic-site .related-area-card h2 { margin-bottom: 10px; }
  body.bb-clinic-site .inner-cta p { margin-top: 14px; }

  /* Full dynamic CPT record (normal template and Elementor full-record widget). */
  body.bb-clinic-site .bbcf-clinical-record { --bbcf-record-gap: var(--nv-block-space); }
  body.bb-clinic-site .bbcf-clinical-record .inner-hero { padding-block: 108px 36px; }
  body.bb-clinic-site .bbcf-clinical-record .inner-hero-grid { gap: 23px; }
  body.bb-clinic-site .bbcf-clinical-record .bbcf-clinical-body { padding-block: 32px 48px; }
  body.bb-clinic-site .bbcf-clinical-record .inner-layout { gap: 20px; }
  body.bb-clinic-site .bbcf-clinical-record .content-block h2 { margin-bottom: 17px; }
  body.bb-clinic-site .bbcf-clinical-record .treatment-grid,
  body.bb-clinic-site .bbcf-clinical-record .bbcf-treatment-chapter-grid { margin-top: 20px; gap: 14px; }
  body.bb-clinic-site .bbcf-clinical-record .treatment-card { min-height: 0; padding: var(--nv-card-pad); }
  body.bb-clinic-site .bbcf-clinical-record .treatment-card h3 { margin-block: 17px 12px; }
  body.bb-clinic-site .bbcf-clinical-record .specialist-panel { padding: var(--nv-card-pad); }
  body.bb-clinic-site .bbcf-clinical-record .related-area-card { gap: 16px; }

  /* Consultation CTA, philosophy and reviews. */
  body.bb-clinic-site .appointment-grid { gap: 22px; }
  body.bb-clinic-site .appointment-caption { margin-top: 15px; }
  body.bb-clinic-site .appointment-options article { padding-block: 21px; gap: 11px; }
  body.bb-clinic-site .appointment-options h3 { margin-bottom: 10px; }
  body.bb-clinic-site .appointment-options p { margin-bottom: 10px; }
  body.bb-clinic-site .philosophy-grid { gap: 30px; }
  body.bb-clinic-site .philosophy-copy h2 { margin-bottom: 19px; }
  body.bb-clinic-site .philosophy-copy blockquote { margin-top: 28px; padding-top: 18px; }
  body.bb-clinic-site .philosophy-media { height: clamp(290px, 92vw, 450px); }

  /* Blog, archives, legal and footer. */
  body.bb-clinic-site :is(.bbcf-blog-hero, .bbcf-blog-single__hero) { padding-block: 108px 40px; }
  body.bb-clinic-site .bbcf-blog-crumbs { margin-bottom: 22px; }
  body.bb-clinic-site .bbcf-blog-results { padding-block: 34px 53px; }
  body.bb-clinic-site .bbcf-blog-card h2 { margin-block: 14px 10px; }
  body.bb-clinic-site .bbcf-blog-card p { margin-bottom: 18px; }
  body.bb-clinic-site .bbcf-blog-card__inner { padding: var(--nv-card-pad); }
  body.bb-clinic-site .bbcf-blog-pagination { margin-top: 28px; }
  body.bb-clinic-site .bbcf-blog-featured { margin-bottom: 28px; }
  body.bb-clinic-site .bbcf-blog-single__layout { gap: 30px; padding-bottom: 50px; }
  body.bb-clinic-site .bbcf-blog-prose p { margin-bottom: 1.15em; }
  body.bb-clinic-site .bbcf-blog-related { padding-block: 44px 54px; }
  body.bb-clinic-site .bbcf-blog-related__head h2 { margin-bottom: 24px; }
  body.bb-clinic-site .bbcf-legal__hero { padding-block: 108px 40px; }
  body.bb-clinic-site .bbcf-legal__crumbs { margin-bottom: 22px; }
  body.bb-clinic-site .bbcf-legal__layout { gap: 28px; padding-block: 36px 56px; }
  body.bb-clinic-site .bbcf-legal__aside { padding: 22px; }
  body.bb-clinic-site .nv-treatment-archive__hero { padding-block: 110px 40px; }
  body.bb-clinic-site .nv-treatment-archive__breadcrumbs { margin-bottom: 22px; }
  body.bb-clinic-site .nv-treatment-archive__listing { padding-block: 40px 54px; }
  body.bb-clinic-site .nv-treatment-archive__grid { margin-top: 24px; gap: 14px; }
  body.bb-clinic-site .nv-treatment-archive__card { min-height: 0; }
  body.bb-clinic-site .nv-treatment-archive__card h3 { margin-block: 17px 11px; }
  body.bb-clinic-site .nv-treatment-archive__image { margin-top: 14px; }
  body.bb-clinic-site .nv-treatment-archive__pagination { margin-top: 26px; }
  body.bb-clinic-site .nv-treatment-archive__cta { padding-block: 42px; }
  body.bb-clinic-site .nv-treatment-archive__cta > .container { gap: 20px; }
  body.bb-clinic-site :is(.site-footer, .bbcf-footer) { padding-block: 46px 26px; }
  body.bb-clinic-site :is(.footer-grid, .bbcf-footer__grid) { gap: 28px; }
  body.bb-clinic-site :is(.footer-bottom, .bbcf-footer__legal) { margin-top: 30px; }
}

/* Tight phones, including 320px devices; text remains untruncated. */
@media (max-width: 359px) {
  body.bb-clinic-site .card-body,
  body.bb-clinic-site .treatment-card,
  body.bb-clinic-site .staff-card,
  body.bb-clinic-site .bbcf-clinical-record .treatment-card { padding: 17px; }
  body.bb-clinic-site .hero-slide { padding-bottom: 80px; }
  body.bb-clinic-site .appointment-options article { gap: 9px; }
}
