/* Shared layout corrections. Desktop geometry remains owned by existing styles. */
.idamed-conversion-product .idamed-conversion-intro p { margin-bottom: 12px; line-height: 1.5; }
.idamed-conversion-product .idamed-conversion-intro ul { margin: 0 0 16px 20px; }
.idamed-conversion-product .idamed-conversion-size-link { font-size: 0.875rem; margin: 8px 0 12px; }
.idamed-conversion-product .idamed-conversion-returns { clear: both; margin: 16px 0; padding: 12px 0; border-top: 1px solid var(--idamed-border); }
.idamed-conversion-product .idamed-conversion-returns h2 { font-size: 1rem; margin: 0 0 6px; }
.idamed-conversion-product .idamed-conversion-returns p,
.idamed-conversion-product .idamed-conversion-returns a { font-size: 0.875rem; line-height: 1.5; }
.idamed-conversion-product .idamed-conversion-returns p { margin-bottom: 6px; }
.idamed-conversion-product .idamed-conversion-details { clear: both; margin-block: 24px; }
:where(.site-content, .idamed-home-section, .idamed-footer-pre) :where(h1, h2, h3, h4, p, li, a, th, td, label, summary),
.single-product .product_title,
body :is(.idamed-controlled-page__content, .idamed-products-page__content, .idamed-contact-page__content, .idamed-erfecen-content, .idamed-rfq-page-template, .idamed-inner-cta) :is(h1, h2, h3, h4, p, li, a, label, summary),
.idamed-inner-page .entry-title,
.idamed-section-header h2 {
  overflow-wrap: anywhere;
  hyphens: auto;
}

/* An auto-sized button column must not squeeze the text column to a few pixels. */
.idamed-inner-cta {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.idamed-inner-cta > * {
  min-width: 0;
}

.idamed-inner-cta .idamed-actions {
  flex-wrap: wrap;
}

@media (max-width: 1023px) {
  :root {
    --idamed-container-padding: 24px;
    --idamed-panel-padding: 20px;
  }

  /* The outer .site already owns the gutter; do not subtract it a second time. */
  .site.grid-container > .site-content {
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }

  .site-content > *,
  .site-main,
  .inside-article,
  .entry-content,
  .entry-content :where(.wp-block-column, .wp-block-group, .idamed-card),
  .single-product div.product > *,
  .idamed-footer-pre__inner > * {
    min-width: 0;
  }

  .separate-containers .inside-article {
    padding-inline: var(--idamed-panel-padding);
  }

  .single-product.separate-containers .inside-article {
    padding-inline: 0;
  }

  .single-product div.product {
    overflow: visible;
  }

  .single-product .idamed-product-benefits,
  .single-product .idamed-product-enhancements {
    width: auto;
    max-width: 100%;
    margin-inline: 0;
  }

  .site-content :where(button, .button, .idamed-button--primary, .idamed-button--secondary) {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .site-content :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .single-product .summary,
  .single-product .woocommerce-product-gallery,
  .single-product .variations_form,
  .single-product .variations td {
    min-width: 0;
    max-width: 100%;
  }

  .single-product .variations select {
    width: 100%;
    min-height: 48px;
  }

  .single-product .single_variation_wrap .woocommerce-variation-add-to-cart {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 12px;
  }

  .single-product .single_variation_wrap .quantity {
    float: none;
    margin: 0;
    flex: 0 0 80px;
  }

  .single-product .single_variation_wrap .quantity input {
    width: 100%;
    min-height: 48px;
  }

  .single-product .single_add_to_cart_button {
    min-height: 48px;
    flex: 1 1 180px;
    margin: 0;
  }
}

@media (max-width: 767px) {
  .idamed-conversion-product .woocommerce-product-gallery__image img:not(.zoomImg),
  .idamed-conversion-product .woocommerce-product-gallery__image--placeholder img {
    max-height: 260px;
    width: 100%;
    object-fit: contain;
  }

  .idamed-conversion-product .woocommerce-product-gallery .flex-control-thumbs img {
    max-height: 48px;
    object-fit: contain;
  }

  .idamed-conversion-product .woocommerce-product-gallery { margin-bottom: 16px; }
  .idamed-conversion-product .summary .product_title { margin-bottom: 8px; }
  .idamed-conversion-product .summary .price { margin-bottom: 12px; }
  :root {
    --idamed-container-padding: 16px;
    --idamed-panel-padding: 16px;
  }

  /* Custom full-width templates already own their section gutters. */
  .home.separate-containers .inside-article,
  .idamed-inner-page.separate-containers .inside-article,
  .idamed-contact-page.separate-containers .inside-article,
  .idamed-products-page.separate-containers .inside-article,
  .idamed-controlled-page.separate-containers .inside-article,
  .idamed-rfq-page-template.separate-containers .inside-article {
    padding-inline: 0;
  }

  .idamed-inner-page .entry-header,
  .idamed-inner-page .entry-content {
    padding-inline: var(--idamed-panel-padding);
  }

  .idamed-contact-page .entry-content,
  .idamed-products-page .entry-content,
  .idamed-controlled-page .entry-content,
  .idamed-rfq-page-template .entry-content {
    padding-inline: 0;
  }

  .single-product .idamed-product-section:not(.idamed-product-trust),
  .single-product .idamed-product-benefits,
  .single-product .idamed-product-notice,
  .single-product .idamed-product-rfq {
    padding: var(--idamed-panel-padding);
  }

  .single-product .idamed-product-documentation__grid,
  .single-product .idamed-product-downloads__grid,
  .single-product .idamed-product-benefits__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .single-product div.product form.cart table.variations tr {
    display: block;
  }

  .single-product div.product form.cart table.variations th.label,
  .single-product div.product form.cart table.variations td.value {
    display: block;
    width: 100%;
    padding-inline: 0;
    text-align: start;
  }

  .single-product div.product form.cart table.variations th.label {
    padding-bottom: 8px;
  }

  .single-product div.product form.cart table.variations label {
    white-space: nowrap;
    overflow-wrap: normal;
    hyphens: none;
  }

  .single-product .idamed-product-documentation__card,
  .single-product .idamed-product-downloads__card {
    min-width: 0;
    padding: var(--idamed-panel-padding);
  }

  .single-product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-inline: 0;
  }

  .single-product .woocommerce-tabs ul.tabs li {
    margin: 0;
    max-width: 100%;
  }

  .single-product .woocommerce-tabs ul.tabs li a {
    white-space: normal;
    min-height: 48px;
  }

  /* Blocks' fixed mobile tracks plus an implicit total column exceed narrow panels. */
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: 64px minmax(0, 1fr);
    column-gap: 12px;
  }

  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image {
    grid-column: 1;
    grid-row: 1;
    padding-right: 0;
  }

  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }

  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
    margin-top: 8px;
  }

  .wc-block-cart .wc-block-cart-item__quantity {
    flex-wrap: wrap;
    gap: 8px;
  }

  .wc-block-cart .wc-block-components-quantity-selector {
    min-height: 48px;
    min-width: 146px;
  }

  .wc-block-cart .wc-block-components-quantity-selector__button,
  .wc-block-cart .wc-block-cart-item__remove-link {
    min-width: 48px;
    min-height: 48px;
  }
}

/* Match GeneratePress/IDAMED's existing mobile-header breakpoint, including 768px. */
@media (max-width: 768px) {
  /* Whole words wrap first; emergency wrapping is only for an overlong token. */
  body :is(.site-content, .idamed-home-section, .idamed-footer-pre) :is(h1, h2, h3, h4, p, li, a, th, td, label, summary, button),
  body :is(.idamed-controlled-page__content, .idamed-products-page__content, .idamed-contact-page__content, .idamed-erfecen-content, .idamed-rfq-page-template, .idamed-inner-cta) :is(h1, h2, h3, h4, p, li, a, label, summary) {
    hyphens: none;
    -webkit-hyphens: none;
    word-break: normal;
    overflow-wrap: anywhere;
    min-width: 0;
  }

  :root {
    --idamed-mobile-h1: 30px;
    --idamed-mobile-h2: 26px;
    --idamed-mobile-h3: 22px;
  }

  body .site-content h1,
  body .site-content :is(.entry-content, .entry-header, .summary, .idamed-home-section, .idamed-section-header, .idamed-controlled-page__content) h1,
  body .idamed-home-section h1 {
    font-size: var(--idamed-mobile-h1);
    line-height: 1.2;
    hyphens: none;
    -webkit-hyphens: none;
  }

  body .site-content h2,
  body .site-content :is(.entry-content, .summary, .idamed-home-section, .idamed-section-header, .idamed-controlled-page__content) h2,
  body .idamed-home-section h2 {
    font-size: var(--idamed-mobile-h2);
    line-height: 1.3;
    hyphens: none;
    -webkit-hyphens: none;
  }

  body .site-content h3,
  body .site-content :is(.entry-content, .summary, .idamed-home-section, .idamed-section-header, .idamed-controlled-page__content) h3,
  body .idamed-home-section h3 {
    font-size: var(--idamed-mobile-h3);
    line-height: 1.35;
    hyphens: none;
    -webkit-hyphens: none;
  }

  /* Compact notices and repeated product cards are not section headings. */
  body .site-content .idamed-conversion-returns h2 { font-size: 16px; }
  body .site-content .idamed-product-notice h2,
  body .site-content ul.products li.product h2 { font-size: 20px; }

  body .site-content :is(.entry-content, .summary) :is(p, li) {
    line-height: 1.6;
  }

  body .site-content :is(.entry-content, .summary) :is(ul, ol) {
    padding-inline-start: 1.25em;
    margin-inline-start: 0;
  }

  .inside-header .site-branding,
  .inside-header .site-logo {
    min-width: 0;
    max-width: 100%;
  }

  .inside-header {
    position: relative;
  }

  .idamed-header-search:focus-within {
    position: static;
  }

  .idamed-header-search:focus-within button {
    position: relative;
    inset: auto;
  }

  .idamed-header-search:focus-within input[type="search"] {
    position: absolute;
    inset-inline: 0;
    top: calc(100% + 8px);
    width: 100%;
    height: 48px;
    min-height: 48px;
    padding: 10px 14px;
    clip: auto;
    box-sizing: border-box;
    background: var(--idamed-white, #fff);
    z-index: 1001;
  }

  .main-navigation.toggled .inside-navigation {
    width: 100%;
    max-height: calc(100dvh - 90px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .site-header:has(.main-navigation.toggled) {
    max-height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .main-navigation .main-nav ul li a {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .widget .wp-block-search__inside-wrapper {
    flex-wrap: wrap;
    gap: 8px;
  }

  .widget .wp-block-search__input {
    min-width: 0;
    flex: 1 1 120px;
  }

  .widget .wp-block-search__button {
    margin-inline-start: 0;
    white-space: normal;
    min-height: 48px;
  }

  .site-content :where(h1, h2, h3, [id]),
  .idamed-home-section [id] {
    scroll-margin-top: 180px;
  }
}

@media (max-width: 374px) {
  :root {
    --idamed-mobile-h1: 28px;
    --idamed-mobile-h2: 24px;
    --idamed-mobile-h3: 20px;
  }
}
