/* Bird Bros Clinic Blueprint 1.11.66 – specialist directory cards on phones.
 * Applies ONLY to the Elementor CPT-card widget showing 'profesional'.
 * The home team carousel, other CPTs, Elementor outer geometry, and desktop
 * layouts are intentionally left unchanged.
 *
 * Previous conflict: theme team-card__portrait min-height:100%, grid track
 * stretching and fixed media heights fought Blueprint's absolute image rules;
 * description flex:1 could push CTA links far below their paragraphs.
 * The mobile layout uses the image's intrinsic proportions and natural flow.
 */
@media (max-width: 767px) {
  .elementor-widget-bbcb_dynamic_post_cards .bbcb-dynamic-post-cards--profesional
  .bbcb-dynamic-cards-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-rows: max-content !important;
    align-items: start !important;
    align-content: start !important;
  }
  .elementor-widget-bbcb_dynamic_post_cards .bbcb-dynamic-post-cards--profesional
  .bbcb-dynamic-cards-grid > .team-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    align-self: start !important;
    justify-content: flex-start !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  .elementor-widget-bbcb_dynamic_post_cards .bbcb-dynamic-post-cards--profesional
  .bbcb-dynamic-cards-grid > .team-card > .team-card__portrait {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    flex: none !important;
    align-self: stretch !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    box-sizing: border-box;
  }
  .elementor-widget-bbcb_dynamic_post_cards .bbcb-dynamic-post-cards--profesional
  .bbcb-dynamic-cards-grid > .team-card > .team-card__portrait > img {
    display: block !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: var(--bbcb-dynamic-photo-mobile-max, 540px) !important;
    aspect-ratio: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    opacity: 1 !important;
  }
  /* Optional uniform frame: all of the image remains visible. */
  .elementor-widget-bbcb_dynamic_post_cards .bbcb-dynamic-post-cards--profesional.bbcb-mobile-photo--frame
  .team-card > .team-card__portrait,
  .elementor-widget-bbcb_dynamic_post_cards .bbcb-dynamic-post-cards--profesional.bbcb-mobile-photo--editorial
  .team-card > .team-card__portrait {
    aspect-ratio: 3 / 4 !important;
    height: auto !important;
    max-height: var(--bbcb-dynamic-photo-mobile-max, 540px) !important;
  }
  .elementor-widget-bbcb_dynamic_post_cards .bbcb-dynamic-post-cards--profesional.bbcb-mobile-photo--frame
  .team-card > .team-card__portrait > img,
  .elementor-widget-bbcb_dynamic_post_cards .bbcb-dynamic-post-cards--profesional.bbcb-mobile-photo--editorial
  .team-card > .team-card__portrait > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
  }
  .elementor-widget-bbcb_dynamic_post_cards .bbcb-dynamic-post-cards--profesional.bbcb-mobile-photo--editorial
  .team-card > .team-card__portrait > img {
    object-fit: cover !important;
  }
  /* No image: show a monogram without a collapsed or giant placeholder. */
  .elementor-widget-bbcb_dynamic_post_cards .bbcb-dynamic-post-cards--profesional
  .bbcb-dynamic-cards-grid > .team-card > .team-card__portrait:not(:has(> img)) {
    height: clamp(180px, 45vw, 240px) !important;
    min-height: 0 !important;
    display: grid !important;
    place-items: center !important;
  }
  /* Text and links follow content instead of filling a shared fixed row. */
  .elementor-widget-bbcb_dynamic_post_cards .bbcb-dynamic-post-cards--profesional
  .team-card > .team-card__body {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    align-self: stretch !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    box-sizing: border-box;
    overflow-wrap: anywhere;
  }
  .elementor-widget-bbcb_dynamic_post_cards .bbcb-dynamic-post-cards--profesional
  .team-card__body > p:not(.team-role) {
    flex: 0 0 auto !important;
    width: 100%;
    margin-bottom: 0 !important;
  }
  .elementor-widget-bbcb_dynamic_post_cards .bbcb-dynamic-post-cards--profesional
  .team-card__body > .text-link {
    flex: 0 0 auto !important;
    margin-top: 12px !important;
  }
  .elementor-widget-bbcb_dynamic_post_cards .bbcb-dynamic-post-cards--profesional
  .team-card__body > .bbcb-linkedin {
    flex: 0 0 auto !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
  }
  /* Touchscreen: do not zoom portraits and inadvertently hide the edges. */
  .elementor-widget-bbcb_dynamic_post_cards .bbcb-dynamic-post-cards--profesional
  .team-card:hover > .team-card__portrait > img {
    transform: none !important;
  }
}
