/* Content defines card height; media and text must never compete for that space. */
.ik-product-feature__image-button { flex: 0 0 auto; }
button.ik-product-feature__button { height: auto; flex: 1 0 auto; }
.ik-product-feature figure { flex-shrink: 0; }
.ik-product-feature :is(h3,p), .ik-product-facts strong { overflow-wrap: anywhere; hyphens: auto; }
.ik-carousel-native .ik-carousel-card__text p { display: block; -webkit-line-clamp: unset; line-clamp: unset; overflow: visible; max-height: none; }
.ik-product-facts > section, .ik-product-feature, .ik-carousel-card { min-width: 0; }
.ik-youtube-embed__gate { aspect-ratio: auto; }
.ik-youtube-embed__consent { height: auto; }

/* Office hours are a proper contact card, shared by footer and contact page. */
.ik-footer__grid { grid-template-columns: repeat(4,minmax(0,1fr)); max-width: 1180px; margin-inline: auto; }
.ik-office-hours { margin: 0; text-align: left; }
.ik-office-hours > div { padding: .7rem 0; border-top: 1px solid #cedad5; }
.ik-footer__card .ik-office-hours > div { padding: .7rem 0; }
.ik-office-hours > div:first-child { padding-top: 0; border-top: 0; }
.ik-office-hours dt { color: #405654; font-size: .9rem; line-height: 1.45; font-weight: 500; }
.ik-office-hours dd { margin: .2rem 0 0; color: #203b3d; font-size: 1.05rem; line-height: 1.45; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ik-office-hours dd span { font-size: .85rem; font-weight: 500; }
.ik-footer__card--hours { background: #f1f6f3; }
@media (max-width: 1100px) {
 .ik-footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .ik-product-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
 main :is(h1,h2,h3,h4,strong), main a { overflow-wrap: anywhere; }
 main :is(h1,h2,h3,h4) { hyphens: auto; }
 main :is(article,section,figure), main [class*="__inner"], main [class*="__body"] { min-width: 0; }
 .ik-product-facts { grid-template-columns: minmax(0,1fr); gap: .75rem; }
 .ik-product-facts section { height: auto; padding: 1.15rem; }
 .ik-product-facts strong { font-size: 1.1rem; line-height: 1.35; margin-bottom: .45rem; }
 .ik-product-facts span, .ik-product-facts span p { font-size: 1rem; line-height: 1.55; }
 .ik-product-feature-grid { grid-template-columns: minmax(0,1fr); align-items: start; }
 .ik-product-feature { height: auto; }
 .ik-product-feature figure { padding: .75rem; }
 .ik-product-feature img { max-height: 220px; height: auto; aspect-ratio: 16/10; object-fit: contain; }
 .ik-product-feature div { padding: 1.15rem; }
 .ik-product-feature h3 { font-size: 1.2rem; line-height: 1.35; }
 .ik-product-feature p { font-size: 1rem; line-height: 1.6; }
 .ik-hardware-card, .ik-hardware-card--featured, .ik-hardware-card--filler-wide { display: flex; flex-direction: column; height: auto; min-width: 0; }
 .ik-hardware-card figure, .ik-hardware-card--featured figure, .ik-hardware-card--filler-wide figure { flex: 0 0 auto; height: auto; min-height: 0; aspect-ratio: 16/10; }
 .ik-hardware-card figure img { height: 100%; width: 100%; max-height: 240px; object-fit: contain; }
 .ik-hardware-card--filler figure img { object-fit: cover; }
 .ik-hardware-card > div { flex: 0 0 auto; height: auto; }
 .ik-hardware-card h2 { line-height: 1.3; }
 .ik-product-section, .ik-product-content-block--imageText, .ik-product-section__lead { min-width: 0; }
 .ik-product-hero h1, .ik-hardware-hero h1 { font-size: clamp(1.65rem,7vw,2.1rem); line-height: 1.2; }
 .ik-product-hero__brand, .ik-product-hero__image, .ik-product-hero__video { min-width: 0; max-width: 100%; }
 .ik-product-hero__brand img { max-width: 100%; height: auto; object-fit: contain; }
 .ik-contact-grid { grid-template-columns: minmax(0,1fr); grid-auto-rows: auto; align-items: start; gap: .85rem; }
 .ik-contact-tile { min-height: 0; height: auto; padding: 1.25rem; }
 .ik-contact-tile h2 { font-size: 1.1rem; line-height: 1.35; }
 .ik-contact-tile p, .ik-contact-tile address { font-size: 1rem; line-height: 1.6; }
 .ik-contact-tile__icon { margin-bottom: .7rem; }
 .ik-footer__grid { grid-template-columns: minmax(0,1fr); max-width: 480px; gap: .85rem; }
 .ik-footer__card { height: auto; min-height: 0; padding: 1.25rem; display: grid; grid-template-columns: 44px minmax(0,1fr); column-gap: 1rem; align-content: start; }
 .ik-footer__card > .ik-footer__icon { grid-column: 1; grid-row: 1 / 3; width: 44px; height: 44px; margin: 0; font-size: 1.2rem; }
 .ik-footer__card > :is(h3,p,div,dl) { grid-column: 2; min-width: 0; }
 .ik-footer__card > h3 { margin: 0 0 .5rem; font-size: 1.05rem; }
 .ik-footer__card p, .ik-footer__card > div { font-size: .95rem; }
 .ik-footer__card--hours .ik-office-hours > div { padding-block: .55rem; }
 .ik-office-hours dt { font-size: .85rem; }
 .ik-office-hours dd { font-size: 1rem; }
 .ik-copy :is(h1,h2), .article-detail__body h2 { font-size: 1.5rem; line-height: 1.35; }
 .ik-youtube-embed__consent { padding: 1.15rem; }
 .ik-youtube-embed__consent p { font-size: .95rem; line-height: 1.5; margin: .75rem 0 1rem; text-align: left; }
 .ik-youtube-embed__consent strong { font-size: 1.1rem; }
 .ik-youtube-embed__consent button { min-height: 44px; font-size: .9rem; }
 .ik-youtube-embed__consent a { font-size: .85rem; line-height: 1.45; margin-top: .85rem; }
}
