/* Common five approved-reference pilot families: scoped, selected rules from the approved reference.
   Only applicable size/color/financial rules retained; no new breakpoint. */

/* compatibility-tests/assets/design-phase-2e.css : 231 selected rules */
body.orthoshop-template { overflow-x: visible; }
.orthoshop-template #orthoshop-product-main {
  --troja-ink: #13243d;
  --troja-muted: #5c6b7c;
  --troja-green: #087d49;
  --troja-line: #e1e8e6;
  background: #f6f9f8;
  color: var(--troja-ink);
}
.orthoshop-template #orthoshop-product-main *,
.orthoshop-template #orthoshop-product-main *::before,
.orthoshop-template #orthoshop-product-main *::after { box-sizing: border-box; }
.orthoshop-template .orthoshop-product-container { width: min(calc(100% - 56px), 1180px); max-width: 1180px; padding-inline: 0; }
.orthoshop-template .orthoshop-product-hero { padding: 20px 0 18px; background: transparent; }
.orthoshop-template .orthoshop-product-breadcrumb { margin-bottom: 20px; }
.orthoshop-template .orthoshop-product-breadcrumb .uh-breadcrumb { gap: 8px; font-size: .76rem; }
.orthoshop-template .orthoshop-product-hero__layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.orthoshop-template .orthoshop-product-gallery { display: grid; grid-template-columns: minmax(0, 1fr) 82px; gap: 12px; align-items: start; width: 100%; max-width: none; margin: 0; }
.orthoshop-template .troja-gallery-stage { position: relative; min-width: 0; }
.orthoshop-template .orthoshop-product-gallery__main { width: 100%; aspect-ratio: 1 / 1; border: 1px solid var(--troja-line); border-radius: 12px; background: #fff; box-shadow: none; }
.orthoshop-template .orthoshop-product-gallery--contain .orthoshop-product-gallery__main img { padding: 24px 8px 6px; background: #fff; }
@media (min-width: 1100px) {
.orthoshop-template .orthoshop-product-gallery { contain: size; min-height: 0; align-self: stretch; grid-template-rows: minmax(0, 1fr); }
.orthoshop-template .troja-gallery-stage { height: 100%; min-height: 0; }
.orthoshop-template .orthoshop-product-gallery__main { height: 100%; aspect-ratio: auto; }
}
.orthoshop-template .troja-gallery-brand { position: absolute; z-index: 2; top: 17px; left: 17px; width: 105px; height: 38px; object-fit: cover; object-position: center; pointer-events: none; background: #fff; border-radius: 8px; }
.orthoshop-template .orthoshop-product-gallery__thumbs { display: grid; grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: minmax(0, 1fr); gap: 9px; margin: 0; height: auto; overflow: visible; }
.orthoshop-template .orthoshop-product-gallery__thumb { padding: 4px; border-radius: 8px; border-color: var(--troja-line); }
.orthoshop-template .orthoshop-product-gallery__thumb[aria-current="true"] { border: 2px solid var(--troja-green); box-shadow: none; }
.orthoshop-template .orthoshop-product-gallery__thumb[aria-current="true"]::after { content: none; }
.orthoshop-template .orthoshop-product-gallery__zoom { top: 15px; right: 15px; bottom: auto; width: 38px; height: 38px; min-height: 38px; padding: 0; justify-content: center; color: var(--troja-green); box-shadow: 0 4px 18px #1831290d; }
.orthoshop-template .orthoshop-product-gallery__zoom > span { display: none; }
.orthoshop-template .troja-gallery-arrow { position: absolute; top: calc(50% - 22px); z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #edf0ee; border-radius: 50%; background: #fff; color: var(--troja-green); box-shadow: 0 5px 18px #1831290a; font-size: 26px; cursor: pointer; }
.orthoshop-template .troja-gallery-arrow--previous { left: 12px; }
.orthoshop-template .troja-gallery-arrow--next { right: 12px; }
.orthoshop-template .troja-gallery-arrow[hidden],
.orthoshop-template .troja-gallery-counter[hidden] { display: none; }
.orthoshop-template .troja-gallery-arrow:focus-visible { outline: 3px solid var(--troja-green); outline-offset: 3px; }
.orthoshop-template .troja-gallery-counter { position: absolute; left: 16px; bottom: 12px; padding: 4px 9px; border-radius: 7px; color: var(--troja-muted); background: #ffffffef; font-size: .73rem; }
.orthoshop-template .orthoshop-product-summary { height: auto; min-width: 0; padding: 20px; border: 1px solid var(--troja-line); border-radius: 12px; background: #fff; }
.orthoshop-template .orthoshop-product-summary__metadata { gap: 8px; margin: 0 0 14px; font-size: .72rem; }
.orthoshop-template .orthoshop-product-summary__brand,
.orthoshop-template .orthoshop-product-summary__category { padding: 4px 12px; border-radius: 6px; background: #ebf8ed; color: var(--troja-green); font-weight: 700; }
.orthoshop-template .orthoshop-product-summary__category { background: #eaf5f3; color: #326d67; font-weight: 500; }
.orthoshop-template .orthoshop-product-summary__metadata-separator { display: none; }
.orthoshop-template .orthoshop-product-summary h1 { max-width: 100%; font-size: clamp(1.5rem, 2.08vw, 1.92rem); line-height: 1.2; color: var(--troja-ink); letter-spacing: -.025em; overflow-wrap: break-word; }
.orthoshop-template .orthoshop-product-summary__description-row { margin: 10px 0 0; }
.orthoshop-template .orthoshop-product-summary__lead { width: auto; max-width: none; font-size: .83rem; line-height: 1.6; color: var(--troja-muted); }
.orthoshop-template .orthoshop-product-summary__details-link { font-size: .72rem; min-height: 26px; margin-top: 3px; }
.orthoshop-template .troja-commerce-card { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: 10px 16px; margin-top: 12px; padding: 17px; border-radius: 10px; background: linear-gradient(110deg, #f0f9f1, #f3faf6); }
.orthoshop-template .orthoshop-product-summary__commerce { grid-row: 1 / 3; margin: 0; padding: 0; border: 0; min-width: 0; }
.orthoshop-template .orthoshop-product-price { gap: 7px; }
.orthoshop-template .orthoshop-product-price > span { font-size: .62rem; line-height: 1.4; }
.orthoshop-template .orthoshop-product-price > strong { font-size: 1.9rem; line-height: 1.2; color: var(--troja-ink); overflow-wrap: anywhere; }
.orthoshop-template .orthoshop-product-summary__availability { padding: 3px 9px; border-radius: 20px; background: #fff5dd; color: #9a5700; gap: 6px; }
.orthoshop-template .orthoshop-product-summary__availability strong { font-size: .71rem; }
.orthoshop-template .orthoshop-product-summary__actions { grid-template-columns: minmax(0, 1fr); gap: 8px; margin: 0; }
.orthoshop-template .orthoshop-product-summary__actions .orthoshop-btn { width: 100%; min-width: 0; min-height: 40px; height: auto; padding: 10px 8px; border-radius: 7px; font-size: .74rem; line-height: 1.3; }
.orthoshop-template .orthoshop-product-summary__actions .orthoshop-btn--primary { background: linear-gradient(105deg, #00633d, #078554); box-shadow: none; }
.orthoshop-template .orthoshop-product-summary__actions .orthoshop-btn--quiet { background: #fff; border: 1px solid #d8e2e3; color: var(--troja-ink); }
.orthoshop-template .orthoshop-product-summary__action-label--default { display: inline; }
.orthoshop-template .orthoshop-product-summary__action-label--mobile { display: none; }
.orthoshop-template .orthoshop-product-summary__verification { margin: 0; padding: 0; font-size: .64rem; line-height: 1.55; min-width: 0; gap: 7px; }
.orthoshop-template .orthoshop-product-summary__verification strong { color: #08603c; }
.orthoshop-template .orthoshop-product-summary__verification-trigger { min-width: 28px; min-height: 28px; }
.orthoshop-template .orthoshop-product-details { padding: 0 0 14px; background: transparent; }
.orthoshop-template .troja-details-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.orthoshop-template .troja-details-title .orthoshop-product-section-head { margin: 0 0 10px; }
.orthoshop-template .troja-details-title .orthoshop-eyebrow,
.orthoshop-template .troja-details-title p { display: none; }
.orthoshop-template .troja-details-title h2 { font-size: .83rem; color: var(--troja-muted); margin: 0 0 10px; font-weight: 600; line-height: 1.4; }
.orthoshop-template .troja-tabs-card { min-width: 0; padding: 0 17px 18px; border: 1px solid var(--troja-line); border-radius: 10px; background: #fff; }
.orthoshop-template .troja-tabs-shell { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 2px; min-width: 0; }
.orthoshop-template .troja-tabs-shell .troja-tabs { grid-column: 1; grid-row: 1; }
.orthoshop-template .troja-tabs-shell--scrollable { grid-template-columns: 44px minmax(0, 1fr) 44px; }
.orthoshop-template .troja-tabs-shell--scrollable .troja-tabs { grid-column: 2; }
.orthoshop-template .troja-tabs-scroll-button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; grid-row: 1; border: 0; border-radius: 4px; background: transparent; color: var(--troja-green); font-size: 22px; cursor: pointer; }
.orthoshop-template .troja-tabs-scroll-button--previous { grid-column: 1; }
.orthoshop-template .troja-tabs-scroll-button--next { grid-column: 3; }
.orthoshop-template .troja-tabs-scroll-button[hidden] { display: none; }
.orthoshop-template .troja-tabs-scroll-button:disabled { color: #8b9b91; opacity: .65; cursor: default; }
.orthoshop-template .troja-tabs-scroll-button:focus-visible { outline: 2px solid var(--troja-green); outline-offset: -4px; }
@media (max-width: 599px) {
.orthoshop-template .troja-tabs-shell--scrollable .troja-tabs { grid-column: 1 / -1; }
.orthoshop-template .troja-tabs-shell--scrollable .troja-tabs-scroll-button { grid-row: 2; }
}
.orthoshop-template .troja-tabs { display: flex; flex-wrap: nowrap; gap: 0 2px; min-width: 0; max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; border-bottom: 1px solid var(--troja-line); }
.orthoshop-template .troja-tabs::-webkit-scrollbar { display: none; }
.orthoshop-template .troja-tabs a { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 48px; padding: 14px 14px 11px; border-bottom: 2px solid transparent; color: #52627b; font-size: .82rem; font-weight: 500; text-decoration: none; white-space: nowrap; transition: color .15s; }
.orthoshop-template .troja-tabs a[aria-selected="true"] { color: var(--troja-green); border-color: var(--troja-green); font-weight: 800; }
.orthoshop-template .troja-tabs a:focus-visible { outline: 2px solid var(--troja-green); outline-offset: -4px; border-radius: 4px; }
.orthoshop-template .troja-tab-panel { min-width: 0; padding: 18px 4px 2px; scroll-margin-top: 120px; }
.orthoshop-template .troja-tab-panel[hidden] { display: none; }
.orthoshop-template .orthoshop-product-editorial-block { border: 0; padding: 0; max-width: none; }
.orthoshop-template .orthoshop-product-section-title { color: var(--troja-ink); font-size: 1rem; margin: 0 0 12px; font-weight: 800; line-height: 1.4; }
.orthoshop-template .orthoshop-product-section-title i { color: var(--troja-green); }
.orthoshop-template .orthoshop-product-editorial-block p { max-width: none; font-size: .85rem; line-height: 1.85; color: var(--troja-muted); }
.orthoshop-template .orthoshop-product-editorial-list { gap: 10px; }
.orthoshop-template .orthoshop-product-editorial-list li { color: var(--troja-muted); font-size: .85rem; }
.orthoshop-template .orthoshop-product-sizing,
.orthoshop-template .orthoshop-product-variants,
.orthoshop-template .orthoshop-product-availability { padding: 0; border: 0; grid-column: auto; }
.orthoshop-template .orthoshop-product-variants { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--troja-line); }
.orthoshop-template .orthoshop-product-variants__text,
.orthoshop-template .orthoshop-product-availability p { max-width: none; font-size: .85rem; line-height: 1.75; }
.orthoshop-template .orthoshop-product-editorial-block--additional .orthoshop-product-secondary__panel { padding: 0; }
.orthoshop-template .orthoshop-product-editorial-block--additional p,
.orthoshop-template .orthoshop-product-editorial-block--additional li { font-size: .85rem; line-height: 1.8; color: var(--troja-muted); }
.orthoshop-template .troja-secondary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 18px; margin-top: 18px; }
.orthoshop-template .troja-secondary-grid--collapsed { align-items: stretch; }
.orthoshop-template .troja-secondary-card { display: flex; flex-direction: column; min-width: 0; padding: 22px; border: 1px solid var(--troja-line); border-radius: 12px; background: #fff; }
.orthoshop-template .troja-secondary-grid > .orthoshop-product-pricing { grid-column: auto; }
.orthoshop-template .troja-secondary-card .orthoshop-product-section-title { display: flex; align-items: center; min-height: 24px; font-size: .91rem; margin: 0 0 12px; }
.orthoshop-template .troja-facts { margin: 0; }
.orthoshop-template .troja-information-facts { display: grid; grid-template-columns: minmax(0, 1fr); }
.orthoshop-template .troja-fact { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 12px; padding: 8px 0; border-top: 1px solid #edf1ef; font-size: .83rem; line-height: 1.65; }
.orthoshop-template .troja-fact dt { display: flex; align-items: baseline; gap: 8px; margin: 0; color: var(--troja-muted); font-weight: 500; }
.orthoshop-template .troja-fact dt .fa { flex: 0 0 15px; width: 15px; color: var(--troja-green); text-align: center; }
.orthoshop-template .troja-fact dt span { min-width: 0; }
.orthoshop-template .troja-fact dd { margin: 0; color: var(--troja-ink); overflow-wrap: anywhere; }
.orthoshop-template .orthoshop-product-secondary__panel { padding: 0 0 16px; }
.orthoshop-template .orthoshop-product-secondary__panel p,
.orthoshop-template .orthoshop-product-secondary__panel li { font-size: .77rem; line-height: 1.75; overflow-wrap: anywhere; }
.orthoshop-template .orthoshop-product-secondary__professional-notice { font-size: .72rem; }
.orthoshop-template .orthoshop-product-editorial-block--sources .orthoshop-product-secondary__panel { padding: 0; }
.orthoshop-template .orthoshop-product-editorial-block--sources p,
.orthoshop-template .orthoshop-product-editorial-block--sources li { font-size: .85rem; line-height: 1.8; overflow-wrap: break-word; }
.orthoshop-template .orthoshop-product-editorial-block--sources .orthoshop-list { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.orthoshop-template .orthoshop-product-editorial-block--sources .orthoshop-list li { padding: 0; }
.orthoshop-template .orthoshop-product-editorial-block--sources .orthoshop-list li::before { content: none; }
.orthoshop-template .orthoshop-product-editorial-block--sources a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; color: var(--troja-green); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.orthoshop-template .orthoshop-product-editorial-block--sources a:focus-visible { outline: 2px solid var(--troja-green); outline-offset: 4px; border-radius: 2px; }
.orthoshop-template .orthoshop-product-pricing { scroll-margin-top: 120px; }
.orthoshop-template .orthoshop-product-pricing__layout { display: block; margin-top: 0; }
.orthoshop-template .orthoshop-product-pricing__display { margin: 6px 0 14px; font-size: 2rem; color: var(--troja-ink); }
.orthoshop-template .orthoshop-product-pricing__label { font-size: .76rem; }
.orthoshop-template .orthoshop-product-pricing__meta { margin-top: 14px; }
.orthoshop-template .orthoshop-product-pricing__meta-item { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 20px; padding: 10px 0; }
.orthoshop-template .orthoshop-product-pricing__meta dt,
.orthoshop-template .orthoshop-product-pricing__meta dd { font-size: .88rem; line-height: 1.7; }
.orthoshop-template .orthoshop-product-pricing__meta-item[data-troja-reference-amount] dd { font-weight: 700; }
.orthoshop-template .orthoshop-product-pricing__conditions h4 { font-size: .76rem; color: #08603c; }
.orthoshop-template .troja-conditions-panel { min-width: 0; margin-top: 16px; padding: 20px 0 0; border-top: 1px solid var(--troja-line); scroll-margin-top: 120px; animation: troja-conditions-enter .18s ease-out; }
@keyframes troja-conditions-enter { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }
.orthoshop-template .troja-conditions-panel .orthoshop-product-pricing__conditions { padding: 0; border: 0; }
.orthoshop-template .troja-conditions-panel .orthoshop-product-pricing__conditions h4 { margin: 0 0 12px; font-size: .93rem; }
.orthoshop-template .troja-conditions-panel .orthoshop-product-pricing__conditions-text { margin: 0; max-height: none; overflow: visible; font-size: .86rem; line-height: 1.85; }
.orthoshop-template .troja-conditions-toggle { display: inline-flex; align-items: center; justify-content: space-between; align-self: stretch; gap: 10px; min-height: 44px; margin-top: 10px; padding: 9px 0 0; border: 0; background: transparent; color: var(--troja-green); font-size: .83rem; font-weight: 700; line-height: 1.5; text-align: left; cursor: pointer; }
.orthoshop-template .troja-conditions-toggle[aria-expanded="true"] .fa-angle-down { transform: rotate(180deg); }
.orthoshop-template .troja-conditions-toggle--close { margin-top: 12px; padding: 6px 0; }
.orthoshop-template .troja-conditions-panel[hidden],
.orthoshop-template .troja-conditions-toggle[hidden] { display: none; }
.orthoshop-template .troja-conditions-toggle:focus-visible,
.orthoshop-template .troja-conditions-panel:focus-visible { outline: 2px solid var(--troja-green); outline-offset: 4px; }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) { padding: 0 0 18px; background: transparent; }
.orthoshop-template .orthoshop-product-related > .orthoshop-product-container { padding: 15px; border: 1px solid var(--troja-line); border-radius: 10px; background: #fff; }
.orthoshop-template .orthoshop-product-related__heading-row { display: flex; align-items: center; gap: 14px; justify-content: space-between; margin-bottom: 12px; }
.orthoshop-template .orthoshop-product-related .orthoshop-product-section-head { margin: 0; max-width: none; }
.orthoshop-template .orthoshop-product-related .orthoshop-eyebrow { display: none; }
.orthoshop-template .orthoshop-product-related h2 { margin: 0; font-size: 1.08rem; color: var(--troja-ink); }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: row; grid-auto-columns: auto; gap: 12px; padding: 0; overflow: visible; scroll-snap-type: none; touch-action: auto; }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card { position: relative; display: grid; grid-template-columns: 95px minmax(0, 1fr); grid-template-rows: auto; min-height: 118px; border-radius: 7px; transform: none; box-shadow: none; }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card__media { aspect-ratio: auto; min-height: 118px; padding: 8px; border: 0; background: #fafbfa; }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card__body { gap: 3px; padding: 13px 32px 12px 8px; }
.orthoshop-template .orthoshop-product-related-card__brand { font-size: .62rem; font-weight: 500; }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card__title { font-size: .78rem; -webkit-line-clamp: unset; display: block; overflow: visible; color: var(--troja-ink); }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card__description { display: -webkit-box; -webkit-line-clamp: 3; font-size: .65rem; line-height: 1.5; }
.orthoshop-template .troja-related-commerce { display: grid; gap: 5px; margin-top: 5px; }
.orthoshop-template .troja-related-price { color: var(--troja-ink); font-weight: 800; font-size: .87rem; }
.orthoshop-template .troja-related-status { display: inline-flex; align-items: center; justify-self: start; gap: 5px; padding: 2px 6px; border-radius: 8px; background: #fff5dd; color: #925400; font-size: .59rem; }
.orthoshop-template .troja-related-status i { font-size: 6px; }
.orthoshop-template .troja-related-arrow { position: absolute; right: 8px; bottom: 13px; display: grid; place-items: center; width: 26px; height: 30px; border: 1px solid var(--troja-line); border-radius: 6px; color: var(--troja-ink); }
.orthoshop-template .orthoshop-product-related__catalogue-link-wrap { text-align: right; margin-top: 12px; }
.orthoshop-template .orthoshop-product-related__catalogue-link { padding: 0; font-size: .72rem; min-height: 28px; border: 0; }
@media (min-width: 1100px) {
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card { grid-template-columns: 112px minmax(0, 1fr); min-height: 132px; }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card__media { min-height: 132px; padding: 10px; }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card__body { gap: 4px; padding: 14px 34px 14px 10px; }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card__title { font-size: .86rem; }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card__description { -webkit-line-clamp: 2; font-size: .68rem; }
}
.orthoshop-template .orthoshop-product-contact { padding: 24px 0 36px; background: transparent; }
.orthoshop-template .orthoshop-product-contact__inner { grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr); gap: 38px; padding: 36px; border: 1px solid var(--troja-line); border-radius: 22px; background: #fff; box-shadow: 0 3px 20px #18312905; }
.orthoshop-template .orthoshop-product-contact .orthoshop-eyebrow { display: inline-block; color: var(--troja-green); font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.orthoshop-template .orthoshop-product-contact h2 { color: var(--troja-ink); font-size: clamp(1.35rem, 2vw, 1.8rem); margin: 9px 0 13px; line-height: 1.25; }
.orthoshop-template .orthoshop-product-contact p { font-size: .87rem; line-height: 1.75; }
.orthoshop-template .orthoshop-product-contact__actions { gap: 12px; }
.orthoshop-template .orthoshop-product-contact__actions .orthoshop-btn { width: 100%; min-width: 0; min-height: 46px; font-size: .79rem; padding: 12px 6px; border-radius: 10px; gap: 6px; box-shadow: none; }
.orthoshop-template .orthoshop-product-contact__actions .orthoshop-product-contact__primary { min-height: 56px; font-size: .9rem; padding: 14px 12px; }
.orthoshop-template .orthoshop-product-contact__secondary-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.orthoshop-template .orthoshop-product-contact__secondary span { white-space: nowrap; }
@media (min-width: 744px) and (max-width: 1099px) {
.orthoshop-template .orthoshop-product-container { width: calc(100% - 40px); }
.orthoshop-template .orthoshop-product-hero__layout { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 14px; }
.orthoshop-template .orthoshop-product-gallery { display: block; max-width: none; padding: 12px; border: 1px solid var(--troja-line); border-radius: 12px; background: #fff; }
.orthoshop-template .orthoshop-product-gallery__main { border: 0; border-radius: 8px; }
.orthoshop-template .orthoshop-product-gallery__thumbs { grid-auto-flow: column; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.orthoshop-template .orthoshop-product-summary { padding: 17px; }
.orthoshop-template .orthoshop-product-summary h1 { font-size: clamp(1.38rem, 2.5vw, 1.8rem); }
.orthoshop-template .orthoshop-product-summary__metadata { gap: 4px; font-size: .67rem; }
.orthoshop-template .orthoshop-product-summary__brand,
.orthoshop-template .orthoshop-product-summary__category { padding: 2px 0; background: transparent; }
.orthoshop-template .orthoshop-product-summary__metadata-separator { display: inline; }
.orthoshop-template .orthoshop-product-summary__lead { font-size: .78rem; }
.orthoshop-template .troja-commerce-card { display: flex; flex-direction: column; align-items: stretch; padding: 13px; gap: 12px; }
.orthoshop-template .orthoshop-product-summary__verification { font-size: .62rem; }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card { grid-template-columns: 72px minmax(0, 1fr); }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card__body { padding-right: 24px; }
.orthoshop-template .troja-related-arrow { right: 4px; width: 21px; height: 25px; }
}
@media (max-width: 743px) {
.orthoshop-template .orthoshop-product-page,
.orthoshop-template #orthoshop-product-main { background: #fafcfb; }
.orthoshop-template .orthoshop-product-container { width: calc(100% - 30px); }
.orthoshop-template .orthoshop-product-hero { padding: 16px 0; }
.orthoshop-template .orthoshop-product-breadcrumb { margin-bottom: 15px; }
.orthoshop-template .orthoshop-product-breadcrumb .breadcrumb-item.active { display: inline-flex; }
.orthoshop-template .orthoshop-product-breadcrumb .uh-breadcrumb { font-size: .65rem; gap: 5px; }
.orthoshop-template .orthoshop-product-hero__layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
.orthoshop-template .orthoshop-product-gallery { display: block; max-width: none; }
.orthoshop-template .orthoshop-product-gallery__main { border-radius: 12px; }
.orthoshop-template .orthoshop-product-gallery--contain .orthoshop-product-gallery__main img { padding: 20px 4px 3px; }
.orthoshop-template .troja-gallery-brand { top: 12px; left: 12px; width: 100px; height: 34px; }
.orthoshop-template .orthoshop-product-gallery__zoom { width: 38px; height: 38px; min-height: 38px; right: 12px; top: 12px; }
.orthoshop-template .orthoshop-product-gallery__thumbs { grid-auto-flow: column; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 10px; }
.orthoshop-template .orthoshop-product-gallery__thumb { aspect-ratio: 1.3 / 1; }
.orthoshop-template .orthoshop-product-summary { padding: 0; border: 0; background: transparent; }
.orthoshop-template .orthoshop-product-summary__metadata { font-size: .76rem; margin-bottom: 7px; }
.orthoshop-template .orthoshop-product-summary__brand,
.orthoshop-template .orthoshop-product-summary__category { padding: 0; background: transparent; }
.orthoshop-template .orthoshop-product-summary__metadata-separator { display: inline; }
.orthoshop-template .orthoshop-product-summary h1 { font-size: 1.64rem; line-height: 1.2; }
.orthoshop-template .orthoshop-product-summary__description-row { margin-top: 9px; }
.orthoshop-template .orthoshop-product-summary__lead { max-width: none; font-size: .9rem; line-height: 1.55; }
.orthoshop-template .orthoshop-product-summary__details-link { font-size: .75rem; }
.orthoshop-template .troja-commerce-card { display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding: 17px; margin-top: 16px; }
.orthoshop-template .orthoshop-product-price > span { font-size: .72rem; }
.orthoshop-template .orthoshop-product-price > strong { font-size: 2.1rem; }
.orthoshop-template .orthoshop-product-summary__availability strong { font-size: .74rem; }
.orthoshop-template .orthoshop-product-summary__verification { order: 1; padding-top: 10px; border-top: 1px solid #dbe8df; font-size: .68rem; }
.orthoshop-template .orthoshop-product-summary__actions { order: 2; }
.orthoshop-template .orthoshop-product-summary__actions .orthoshop-btn { min-height: 45px; padding: 12px; font-size: .82rem; }
.orthoshop-template .troja-details-title h2 { font-size: .75rem; }
.orthoshop-template .troja-tabs-card { padding: 0 12px 14px; }
.orthoshop-template .troja-tabs a { min-height: 48px; padding: 13px 12px 11px; font-size: .82rem; }
.orthoshop-template .troja-tab-panel { padding-top: 16px; }
.orthoshop-template .orthoshop-product-editorial-block p { font-size: .83rem; line-height: 1.8; }
.orthoshop-template .troja-secondary-grid { grid-template-columns: minmax(0, 1fr); gap: 9px; }
.orthoshop-template .troja-secondary-card { padding: 18px; }
.orthoshop-template .orthoshop-product-related > .orthoshop-product-container { padding: 12px; }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related__grid { grid-template-columns: minmax(0, 1fr); gap: 9px; }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card { grid-template-columns: 94px minmax(0, 1fr); min-height: 108px; }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card__media { min-height: 108px; }
.orthoshop-template .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card__title { font-size: .83rem; }
.orthoshop-template .troja-related-price { font-size: .96rem; }
.orthoshop-template .troja-related-status { font-size: .68rem; }
.orthoshop-template .orthoshop-product-contact__inner { padding: 24px 20px; gap: 24px; }
}
@media (min-width: 600px) and (max-width: 899px) {
.orthoshop-template .troja-information-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
}
@media (max-width: 899px) {
.orthoshop-template .troja-secondary-grid { grid-template-columns: minmax(0, 1fr); }
.orthoshop-template .orthoshop-product-contact__inner { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 389px) {
.orthoshop-template .orthoshop-product-contact__secondary-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.orthoshop-template .orthoshop-product-contact__route { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
.orthoshop-template .troja-tabs { scroll-behavior: auto; }
.orthoshop-template .troja-conditions-panel { animation: none; }
}

/* compatibility-tests/assets/compatibility.css : 32 selected rules */
.orthoshop-template .orthoshop-product-gallery--single { grid-template-columns: minmax(0, 1fr); }
.orthoshop-template .orthoshop-product-gallery__main img { object-fit: contain; object-position: center; }
.orthoshop-template:not([data-compat-pilot]) .orthoshop-product-summary__actions .orthoshop-btn { min-height: 44px; }
/* Availability colours are resolved by the published semantic tone below. */
.orthoshop-template .orthoshop-product-price > strong { word-break: normal; overflow-wrap: normal; }
.orthoshop-template .orthoshop-product-price > strong { overflow-wrap: normal; line-height: 1.2; }
.orthoshop-template .orthoshop-product-price > strong span:not(.compat-configuration-label) { font: inherit; letter-spacing: inherit; text-transform: none; color: inherit; }
.orthoshop-template .compat-amount,
.orthoshop-template .compat-price-unit { white-space: nowrap; }
.orthoshop-template .compat-price-unit { display: inline-block; }
.orthoshop-template .compat-configurations { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 16px 22px; }
.orthoshop-template .compat-configuration { display: grid; align-content: start; gap: 7px; }
.orthoshop-template .compat-configuration-label { font-size: .7rem; line-height: 1.5; font-weight: 600; text-transform: uppercase; color: var(--troja-muted); }
.orthoshop-template .compat-configuration-separator { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.orthoshop-template:not([data-compat-pilot]) .troja-commerce-card { display: grid; grid-template-columns: minmax(0, 1fr); }
.orthoshop-template:not([data-compat-pilot]) .orthoshop-product-summary__commerce { grid-row: auto; }
.orthoshop-template:not([data-compat-pilot]) .orthoshop-product-summary__actions { order: initial; }
.orthoshop-template:not([data-compat-pilot]) .orthoshop-product-summary__verification { order: initial; }
.orthoshop-template .orthoshop-product-pricing__meta dd { min-width: 0; overflow-wrap: anywhere; }
.orthoshop-template .compat-references { min-width: 0; padding-top: 14px; }
.orthoshop-template .compat-references h4 { display: flex; align-items: center; gap: 8px; font-size: .83rem; font-weight: 600; color: var(--troja-muted); }
.orthoshop-template .compat-references p { font-size: .83rem; line-height: 1.7; overflow-wrap: anywhere; margin: 8px 0 0; }
.orthoshop-template .orthoshop-product-key-points { margin: 17px 0; }
.orthoshop-template .orthoshop-product-key-points h2 { font-size: .83rem; }
.orthoshop-template .orthoshop-product-key-points .orthoshop-product-facts { grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)); gap: 8px 16px; }
.orthoshop-template .orthoshop-product-key-points li { font-size: .8rem; line-height: 1.6; }
.orthoshop-template .orthoshop-product-related-card__body { min-width: 0; }
.orthoshop-template .troja-related-price { overflow-wrap: anywhere; }
@media (min-width: 1100px) {
.orthoshop-template .orthoshop-product-gallery__thumbs { height: 100%; min-height: 0; overflow-y: auto; overflow-x: hidden; grid-auto-rows: 82px; align-content: start; scrollbar-width: thin; }
.orthoshop-template .orthoshop-product-gallery__thumb { width: 100%; min-width: 0; height: 82px; aspect-ratio: 1; }
}
@media (max-width: 1099px) {
.orthoshop-template .orthoshop-product-gallery__thumbs { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.orthoshop-template .orthoshop-product-gallery__thumb { width: 100%; min-width: 0; }
}
@media (max-width: 899px) {
.orthoshop-template .troja-information-facts { grid-template-columns: minmax(0, 1fr); }
}

/* hero-harmonization/assets/hero.css : 25 selected rules */
.orthoshop-template .orthoshop-product-summary { container-type: inline-size; container-name: hero-summary; }
.orthoshop-template .hero-highlights { margin: 16px 0 12px; }
.orthoshop-template .hero-highlight-list { display: grid; list-style: none; padding: 0; margin: 0; gap: 12px 14px; }
.orthoshop-template .hero-highlight-text { font-size: .83rem; line-height: 1.55; color: var(--troja-muted, #5c6b7c); }
.orthoshop-template .hero-highlight-icon { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; color: #087d49; background: #eff9f1; font-size: 18px; }
.orthoshop-template .hero-highlights--checklist .hero-highlight-list { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.orthoshop-template .hero-highlights--checklist li { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.orthoshop-template .hero-highlights--checklist .hero-highlight-icon { width: 20px; height: 22px; flex-basis: 20px; font-size: 12px; background: transparent; }
.orthoshop-template .hero-highlights--checklist .hero-highlight-text { color: var(--troja-ink, #13243d); }
.orthoshop-template .hero-variants { margin: 10px 0 12px; font-size: .83rem; line-height: 1.55; color: var(--troja-muted, #5c6b7c); }
.orthoshop-template .hero-detail-link { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; min-width: 44px; color: #087d49; font-size: .83rem; text-decoration: none; }
.orthoshop-template .hero-detail-link:hover { text-decoration: underline; }
.orthoshop-template .hero-detail-link:focus-visible { outline: 2px solid #087d49; outline-offset: 3px; border-radius: 3px; }
.orthoshop-template .hero-price-context { margin: 5px 0 0; font-size: .75rem; line-height: 1.5; color: var(--troja-muted, #5c6b7c); }
@media (min-width: 744px) and (max-width: 1099px) {
.orthoshop-template .orthoshop-product-gallery[data-hero-gallery-count="1"],
.orthoshop-template .orthoshop-product-gallery[data-hero-gallery-count="2"],
.orthoshop-template .orthoshop-product-gallery[data-hero-gallery-count="3"] { display: grid; grid-template-columns: minmax(0, 1fr); contain: size; min-height: 0; align-self: stretch; grid-template-rows: minmax(0, 1fr) auto; }
.orthoshop-template .orthoshop-product-gallery[data-hero-gallery-count="1"] { grid-template-rows: minmax(0, 1fr); }
.orthoshop-template .orthoshop-product-gallery[data-hero-gallery-count="1"] .troja-gallery-stage,
.orthoshop-template .orthoshop-product-gallery[data-hero-gallery-count="2"] .troja-gallery-stage,
.orthoshop-template .orthoshop-product-gallery[data-hero-gallery-count="3"] .troja-gallery-stage { height: 100%; min-height: 0; }
.orthoshop-template .orthoshop-product-gallery[data-hero-gallery-count="1"] .orthoshop-product-gallery__main,
.orthoshop-template .orthoshop-product-gallery[data-hero-gallery-count="2"] .orthoshop-product-gallery__main,
.orthoshop-template .orthoshop-product-gallery[data-hero-gallery-count="3"] .orthoshop-product-gallery__main { height: 100%; aspect-ratio: auto; }
.orthoshop-template .orthoshop-product-gallery[data-hero-gallery-count="2"] .orthoshop-product-gallery__thumbs,
.orthoshop-template .orthoshop-product-gallery[data-hero-gallery-count="3"] .orthoshop-product-gallery__thumbs { margin-top: 0; }
}
@container hero-summary (max-width: 359px) {
.orthoshop-template .hero-highlights { margin: 12px 0 8px; }
.orthoshop-template .hero-variants { margin: 6px 0 8px; }
}
@media (pointer: coarse) {
.orthoshop-template .orthoshop-product-summary__actions .orthoshop-btn { min-height: 44px; }
.orthoshop-template .orthoshop-product-summary__details-link { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; }
.orthoshop-template .orthoshop-product-summary__verification-trigger { min-width: 44px; min-height: 44px; }
.orthoshop-template .orthoshop-product-price__conditions-link::before { inset: auto; left: 50%; top: 50%; width: 44px; height: 44px; transform: translate(-50%, -50%); }
}

/* hero-polish/assets/polish.css : 27 selected rules */
.orthoshop-template .orthoshop-product-summary {
  --hero-near: 8px;
  --hero-group: 12px;
  --hero-zone: 20px;
}
.orthoshop-template .hero-highlights { margin: var(--hero-zone) 0 var(--hero-group); }
.orthoshop-template .hero-highlight-list { gap: 12px; }
.orthoshop-template .hero-highlights--checklist .hero-highlight-list { gap: var(--hero-near); }
.orthoshop-template .hero-highlights--checklist li { gap: 8px; }
.orthoshop-template .hero-highlights--checklist .hero-highlight-icon { flex-basis: 18px; width: 18px; }
.orthoshop-template .polish-variants { display: flex; flex-wrap: wrap; align-items: center; column-gap: 20px; row-gap: 4px; margin: var(--hero-group) 0; }
.orthoshop-template .hero-detail-link { gap: 6px; min-height: 44px; min-width: 44px; }
.orthoshop-template .polish-variants .hero-detail-link { margin-left: auto; }
.orthoshop-template .troja-commerce-card { gap: var(--hero-near) 16px; margin-top: var(--hero-zone); }
.orthoshop-template .hero-highlights + .troja-commerce-card,
.orthoshop-template .polish-variants + .troja-commerce-card { margin-top: 16px; }
.orthoshop-template .orthoshop-product-summary__actions .orthoshop-btn { min-height: 44px; }
.orthoshop-template .orthoshop-product-summary .compat-configurations { gap: 12px 20px; }
.orthoshop-template .orthoshop-product-summary .compat-configuration { gap: 6px; }
.orthoshop-template .hero-price-context { margin-top: 4px; line-height: 1.45; }
.orthoshop-template .polish-conditions-link { margin-left: auto; font-size: .75rem; }
.orthoshop-template .polish-financial { display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; grid-column: 1 / -1; min-width: 0; border-top: 1px solid var(--troja-line); padding-top: 8px; }
.orthoshop-template .polish-financial dl { display: flex; flex-wrap: wrap; gap: 6px 24px; margin: 0; }
.orthoshop-template .polish-financial dl .orthoshop-product-pricing__meta-item { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; padding: 0; border: 0; font-size: .83rem; line-height: 1.5; }
.orthoshop-template .polish-financial dt { font-weight: 400; }
.orthoshop-template .polish-financial dd { margin: 0; font-weight: 600; }
.orthoshop-template .polish-fee-asterisk { display: inline-block; position: relative; color: inherit; font-weight: 600; }
.orthoshop-template .polish-fee-asterisk::before { content: ''; position: absolute; width: 44px; height: 44px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.orthoshop-template .polish-fee-asterisk:focus-visible { outline: 2px solid var(--troja-green); outline-offset: 2px; }
@container hero-summary (max-width: 359px) {
.orthoshop-template .hero-highlights { margin: 16px 0 12px; }
.orthoshop-template .polish-variants { margin: 12px 0; column-gap: 16px; }
.orthoshop-template .polish-variants .hero-detail-link { margin-left: 0; }
}

/* ui-consistency/assets/consistency.css : 40 selected rules */
.orthoshop-template #orthoshop-product-main {
  --detail-heading: 1rem;
  --detail-body: 1rem;
  --detail-secondary: .9375rem;
  --detail-notice: .875rem;
  --detail-leading: 1.7;
}
.orthoshop-template #orthoshop-product-main .troja-commerce-card { display: block; }
.orthoshop-template #orthoshop-product-main .polish-financial { margin-top: 10px; }
.orthoshop-template #orthoshop-product-main .consistency-commercial-body { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; min-width: 0; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary__commerce { flex: 1 1 150px; min-width: min-content; grid-row: auto; }
.orthoshop-template #orthoshop-product-main .consistency-commercial-actions { display: grid; gap: 8px; flex: 1.7 1 330px; min-width: 0; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary__actions { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; order: initial; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary__actions .orthoshop-btn { min-height: 44px; padding: 11px 10px; border-radius: 7px; font-size: .82rem; line-height: 1.35; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary__verification { display: flex; align-items: center; gap: 7px; padding: 0; border: 0; margin: 0; font-size: .75rem; line-height: 1.5; order: initial; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary__verification strong { min-width: 0; font: inherit; font-weight: 600; white-space: normal; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary__verification-tooltip { flex: 0 0 auto; }
.orthoshop-template #orthoshop-product-main [data-consistency-family="complex"] .consistency-commercial-actions { display: contents; }
.orthoshop-template #orthoshop-product-main [data-consistency-family="complex"] .orthoshop-product-summary__commerce,
.orthoshop-template #orthoshop-product-main [data-consistency-family="complex"] .orthoshop-product-summary__actions { flex: 1 1 210px; min-width: 0; }
.orthoshop-template #orthoshop-product-main [data-consistency-family="complex"] .orthoshop-product-summary__verification { flex-basis: 100%; }
.orthoshop-template #orthoshop-product-main [data-consistency-price-kind="configurations"] .orthoshop-product-summary__commerce,
.orthoshop-template #orthoshop-product-main [data-consistency-price-kind="range"] .orthoshop-product-summary__commerce { flex-basis: 100%; }
.orthoshop-template #orthoshop-product-main [data-consistency-price-kind="configurations"] .orthoshop-product-summary__actions,
.orthoshop-template #orthoshop-product-main [data-consistency-price-kind="range"] .orthoshop-product-summary__actions { flex-basis: 100%; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-price > strong .consistency-time-unit { font-size: 1rem; font-weight: 500; line-height: 1.5; vertical-align: baseline; }
@container hero-summary (min-width: 480px) {
.orthoshop-template #orthoshop-product-main [data-consistency-price-kind="configurations"] .orthoshop-product-summary__actions,
.orthoshop-template #orthoshop-product-main [data-consistency-price-kind="range"] .orthoshop-product-summary__actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
.orthoshop-template #orthoshop-product-main .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card { grid-template-columns: 120px minmax(0,1fr); min-height: 140px; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card__media { min-height: 140px; padding: 4px; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card__media img { width: auto; height: auto; max-width: 100%; max-height: 132px; object-fit: contain; object-position: center; }
@media(min-width:1100px) {
.orthoshop-template #orthoshop-product-main .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card { grid-template-columns: 136px minmax(0,1fr); min-height: 152px; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card__media { min-height: 152px; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card__media img { max-height: 144px; }
}
@media(min-width:744px) and (max-width:1099px) {
.orthoshop-template #orthoshop-product-main .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card { grid-template-columns: 88px minmax(0,1fr); }
}
@media(max-width:389px) {
.orthoshop-template #orthoshop-product-main .orthoshop-product-related:not(.orthoshop-product-related--variants) .orthoshop-product-related-card { grid-template-columns: 94px minmax(0,1fr); }
}
.orthoshop-template #orthoshop-product-main .troja-tab-panel .orthoshop-product-section-title,
.orthoshop-template #orthoshop-product-main .troja-tab-panel h3,
.orthoshop-template #orthoshop-product-main .troja-tab-panel .orthoshop-product-key-points > h2 { font-size: var(--detail-heading); font-weight: 700; color: var(--troja-ink); line-height: 1.4; margin: 0 0 12px; max-width: none; text-transform: none; letter-spacing: normal; }
.orthoshop-template #orthoshop-product-main .troja-tab-panel p,
.orthoshop-template #orthoshop-product-main .troja-tab-panel li,
.orthoshop-template #orthoshop-product-main .troja-tab-panel dd { font-size: var(--detail-body); font-weight: 400; line-height: var(--detail-leading); color: var(--troja-muted); }
.orthoshop-template #orthoshop-product-main .troja-tab-panel p { margin: 0 0 12px; max-width: 78ch; }
.orthoshop-template #orthoshop-product-main .troja-tab-panel p:last-child { margin-bottom: 0; }
.orthoshop-template #orthoshop-product-main .troja-tab-panel > * + * { margin-top: 24px; }
.orthoshop-template #orthoshop-product-main .troja-tab-panel .orthoshop-product-sizing,
.orthoshop-template #orthoshop-product-main .troja-tab-panel .orthoshop-product-variants { padding: 0; border: 0; }
.orthoshop-template #orthoshop-product-main .troja-tab-panel .orthoshop-product-facts dd { grid-template-columns: 16px minmax(0,1fr); gap: 8px; align-items: start; }
.orthoshop-template #orthoshop-product-main .troja-tab-panel .orthoshop-product-facts dd > i { font-size: 12px; color: var(--troja-green); }
.orthoshop-template #orthoshop-product-main .troja-tab-panel td,
.orthoshop-template #orthoshop-product-main .troja-tab-panel th,
.orthoshop-template #orthoshop-product-main .troja-tab-panel .orthoshop-product-editorial-block--sources p,
.orthoshop-template #orthoshop-product-main .troja-tab-panel .orthoshop-product-editorial-block--sources li { font-size: var(--detail-secondary); line-height: var(--detail-leading); }
.orthoshop-template #orthoshop-product-main .troja-tab-panel th { font-weight: 600; }
.orthoshop-template #orthoshop-product-main .troja-tab-panel [class*="professional-notice"] { font-size: var(--detail-notice) !important; line-height: 1.65 !important; color: var(--troja-muted) !important; }
.orthoshop-template #orthoshop-product-main .troja-tab-panel [class*="professional-notice"] strong { font-weight: 700; }
.orthoshop-template #orthoshop-product-main .troja-conditions-panel .orthoshop-product-pricing__conditions-text { font-size: var(--detail-body); line-height: var(--detail-leading); }
.orthoshop-template #orthoshop-product-main .orthoshop-product-related__catalogue-link { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; }

/* hero-final-polish/assets/final-polish.css : 8 selected rules */
.orthoshop-template #orthoshop-product-main .troja-commerce-card {
  container: final-commerce / inline-size;
}
.orthoshop-template #orthoshop-product-main [data-consistency-family="standard"] .orthoshop-product-summary__commerce {
  flex: 1 1 0%;
  min-width: min-content;
}
.orthoshop-template #orthoshop-product-main [data-consistency-family="standard"] .consistency-commercial-actions {
  flex: 1 1 260px;
  max-width: 285px;
}
@container final-commerce (max-width: 479px) {
.orthoshop-template #orthoshop-product-main [data-consistency-family="standard"] .orthoshop-product-summary__commerce,
.orthoshop-template #orthoshop-product-main [data-consistency-family="standard"] .consistency-commercial-actions {
    flex-basis: 100%;
    min-width: 0;
    max-width: none;
  }
}
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary__verification-trigger {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  margin: -8px;
}
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary__verification-tooltip {
  width: 28px;
  height: 28px;
}
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary__verification {
  justify-content: flex-start;
}
.orthoshop-template #orthoshop-product-main .hero-highlights + .polish-variants[data-final-variant-separator] {
  border-top: 1px solid var(--troja-line);
  padding-top: 12px;
  margin-top: 12px;
}

/* rental-fees-polish/assets/rental-fees.css : 14 selected rules */
.orthoshop-template #orthoshop-product-main .rental-fees-zone {
  display: grid; gap: 12px; margin-top: 10px; border-top: 1px solid var(--troja-line); padding-top: 12px; min-width: 0;
}
.orthoshop-template #orthoshop-product-main .rental-fees-grid { display: grid; grid-template-columns: minmax(0,.32fr) minmax(0,.68fr); gap: 0 18px; }
.orthoshop-template #orthoshop-product-main .rental-fees-group { display: grid; align-content: center; gap: 10px; margin: 0; min-width: 0; }
.orthoshop-template #orthoshop-product-main .rental-fees-group--fees { border-left: 1px solid var(--troja-line); padding-left: 18px; }
.orthoshop-template #orthoshop-product-main .rental-fee-row { display: flex; align-items: center; gap: 8px; min-width: 0; }
.orthoshop-template #orthoshop-product-main .rental-fee-row dt { display: flex; align-items: center; gap: 8px; margin: 0; font-size: .8125rem; font-weight: 400; line-height: 1.5; color: var(--troja-muted); min-width: 0; }
.orthoshop-template #orthoshop-product-main .rental-fee-row dt svg { height: 20px; width: 20px; flex: 0 0 20px; font-size: 20px; color: var(--troja-green); text-align: center; }
.orthoshop-template #orthoshop-product-main .rental-fee-row dd { flex: 0 0 auto; margin: 0; font-size: .875rem; font-weight: 650; line-height: 1.5; color: var(--troja-ink); white-space: nowrap; }
.orthoshop-template #orthoshop-product-main .rental-fees-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; border-top: 1px solid var(--troja-line); padding-top: 6px; min-width: 0; }
.orthoshop-template #orthoshop-product-main .rental-fees-note { flex: 1 1 260px; margin: 0; font-size: .75rem; line-height: 1.5; color: var(--troja-muted); }
.orthoshop-template #orthoshop-product-main .rental-fees-footer .polish-conditions-link { flex: 0 0 auto; margin-left: auto; font-size: .75rem; text-decoration: underline; text-underline-offset: 2px; }
.orthoshop-template #orthoshop-product-main .rental-fees-note:target { outline: 2px solid var(--troja-green); outline-offset: 3px; }
@container final-commerce (max-width: 429px) {
.orthoshop-template #orthoshop-product-main .rental-fees-grid { grid-template-columns: minmax(0,1fr); gap: 10px; }
.orthoshop-template #orthoshop-product-main .rental-fees-group--fees { border-left: 0; padding-left: 0; border-top: 1px solid var(--troja-line); padding-top: 10px; }
}

/* responsive-final-polish/assets/responsive.css : 46 selected rules */
.orthoshop-template #orthoshop-product-main .responsive-gallery-frame { container: product-gallery / inline-size; min-width: 0; display: grid; align-self: stretch; }
.orthoshop-template #orthoshop-product-main [data-product-gallery] { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto; gap: 12px; contain: none; align-self: start; height: auto; min-height: 0; }
.orthoshop-template #orthoshop-product-main [data-hero-gallery-count="1"] { grid-template-rows: auto; }
.orthoshop-template #orthoshop-product-main .troja-gallery-stage { height: auto; min-height: 0; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-gallery__main { height: auto; aspect-ratio: 1; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-gallery__thumbs { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 104px; grid-auto-rows: 82px; height: 82px; gap: 9px; margin: 0; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; scroll-padding: 2px; scrollbar-width: none; overscroll-behavior-x: contain; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-gallery__thumbs::-webkit-scrollbar { display: none; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-gallery__thumb { width: 100%; min-width: 0; height: 82px; aspect-ratio: auto; scroll-snap-align: start; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-gallery__thumb img { object-fit: contain; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-gallery__thumb:focus-visible { outline: 2px solid var(--troja-green); outline-offset: -4px; }
.orthoshop-template #orthoshop-product-main [data-hero-gallery-count="2"] .orthoshop-product-gallery__thumbs { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-columns: auto; }
.orthoshop-template #orthoshop-product-main [data-hero-gallery-count="3"] .orthoshop-product-gallery__thumbs { grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-columns: auto; }
@media (min-width:744px) {
.orthoshop-template #orthoshop-product-main .orthoshop-product-hero__layout { align-items: stretch; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary { align-self: stretch; }
.orthoshop-template #orthoshop-product-main [data-product-gallery] { align-self: stretch; contain: none; grid-template-rows: minmax(auto,1fr) auto; }
.orthoshop-template #orthoshop-product-main [data-hero-gallery-count="1"] { grid-template-rows: minmax(auto,1fr); }
.orthoshop-template #orthoshop-product-main .troja-gallery-stage { width: 100%; height: auto; aspect-ratio: 1; align-self: stretch; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-gallery__main { height: 100%; aspect-ratio: auto; }
@container product-gallery (min-width:540px) {
.orthoshop-template #orthoshop-product-main [data-product-gallery] { grid-template-columns: minmax(0,1fr) 82px; grid-template-rows: minmax(auto,1fr); contain: none; min-height: 0; align-self: stretch; padding: 0; border: 0; background: transparent; }
.orthoshop-template #orthoshop-product-main [data-product-gallery].orthoshop-product-gallery--single { grid-template-columns: minmax(0,1fr); }
.orthoshop-template #orthoshop-product-main .troja-gallery-stage { height: auto; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-gallery__main { height: 100%; aspect-ratio: auto; border: 1px solid var(--troja-line); }
.orthoshop-template #orthoshop-product-main .orthoshop-product-gallery__thumbs,
.orthoshop-template #orthoshop-product-main [data-hero-gallery-count="2"] .orthoshop-product-gallery__thumbs,
.orthoshop-template #orthoshop-product-main [data-hero-gallery-count="3"] .orthoshop-product-gallery__thumbs { grid-auto-flow: row; grid-template-columns: minmax(0,1fr); grid-auto-rows: 82px; height: auto; min-height: 0; align-self: stretch; overflow-x: hidden; overflow-y: hidden; scroll-snap-type: y proximity; }
}
}
@media (min-width:744px) and (any-pointer:coarse) {
.orthoshop-template #orthoshop-product-main [data-product-gallery] { grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(auto,1fr) auto; padding: 12px; border: 1px solid var(--troja-line); border-radius: 12px; background: #fff; }
.orthoshop-template #orthoshop-product-main [data-product-gallery].orthoshop-product-gallery--single { grid-template-rows: minmax(auto,1fr); }
.orthoshop-template #orthoshop-product-main .orthoshop-product-gallery__main { border: 0; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-gallery__thumbs,
.orthoshop-template #orthoshop-product-main [data-hero-gallery-count="2"] .orthoshop-product-gallery__thumbs,
.orthoshop-template #orthoshop-product-main [data-hero-gallery-count="3"] .orthoshop-product-gallery__thumbs { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 104px; grid-auto-rows: 82px; height: 82px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; }
.orthoshop-template #orthoshop-product-main [data-hero-gallery-count="2"] .orthoshop-product-gallery__thumbs { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-columns: auto; }
.orthoshop-template #orthoshop-product-main [data-hero-gallery-count="3"] .orthoshop-product-gallery__thumbs { grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-columns: auto; }
}
.orthoshop-template #orthoshop-product-main .responsive-configuration-link { margin-left: 0; display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.orthoshop-template #orthoshop-product-main .responsive-configuration-link .fa-sliders { flex: 0 0 auto; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary__verification strong { min-width: 0; white-space: normal; }
.orthoshop-template #orthoshop-product-main .responsive-deposit-label { display: inline-flex; align-items: center; gap: 8px; }
.orthoshop-template #orthoshop-product-main .responsive-deposit-label svg { flex: 0 0 20px; color: var(--troja-green); }
.orthoshop-template #orthoshop-product-main .responsive-deposit-only [data-rental-deposit] { align-items: center; }
.orthoshop-template #orthoshop-product-main .responsive-financial-stacked .rental-fees-note { flex: 0 0 100%; }
.orthoshop-template #orthoshop-product-main .responsive-financial-stacked .polish-conditions-link { margin-left: 0; }
.orthoshop-template #orthoshop-product-main .responsive-deposit-only.responsive-financial-stacked .polish-conditions-link { flex-basis: 100%; justify-content: flex-start; }
.orthoshop-template #orthoshop-product-main .rental-fees-footer .polish-conditions-link { margin-left: 0; }
.orthoshop-template #orthoshop-product-main .responsive-deposit-only .polish-conditions-link { margin-left: 0; }
.orthoshop-template #orthoshop-product-main .responsive-financial-inline .polish-conditions-link { margin-left: auto; }
@media (any-pointer:coarse) {
.orthoshop-template #orthoshop-product-main .orthoshop-product-gallery__zoom { width: 44px; height: 44px; min-height: 44px; }
}
@media (max-width:599px) {
.orthoshop-template #orthoshop-product-main .troja-tabs-shell--scrollable { grid-template-columns: 44px minmax(0,1fr) 44px; }
.orthoshop-template #orthoshop-product-main .troja-tabs-shell--scrollable .troja-tabs { grid-column: 2; grid-row: 1; }
.orthoshop-template #orthoshop-product-main .troja-tabs-shell--scrollable .troja-tabs-scroll-button { grid-row: 1; }
.orthoshop-template #orthoshop-product-main .troja-tabs a { max-width: 100%; white-space: normal; line-height: 1.4; }
}

/* large-tablet-polish/assets/polish.css : 20 selected rules */
.orthoshop-template #orthoshop-product-main .orthoshop-product-price > strong:not(:has(.compat-configurations)) {
  white-space: nowrap;
  overflow-wrap: normal;
  width: max-content;
}
.orthoshop-template #orthoshop-product-main .orthoshop-product-breadcrumb .uh-breadcrumb {
  flex-wrap: nowrap;
  width: 100%;
  min-width: 0;
}
.orthoshop-template #orthoshop-product-main .orthoshop-product-breadcrumb .breadcrumb-item {
  flex: 0 0 auto;
  white-space: nowrap;
}
.orthoshop-template #orthoshop-product-main .orthoshop-product-breadcrumb .breadcrumb-item:last-child {
  display: block;
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width:743px), (max-width:932px) and (max-height:430px) and (pointer:coarse) {
.orthoshop-template .orthoshop-product-lightbox .mfp-arrow {
    display: grid;
    place-items: center;
    top: var(--product-lightbox-arrow-top, calc(50% - 22px));
    bottom: auto;
    width: 44px;
    height: 44px;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 50%;
    background: #145b43;
    color: #fff;
    opacity: 1;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .24);
    transform: none;
  }
.orthoshop-template .orthoshop-product-lightbox .mfp-arrow-left {
    left: var(--product-lightbox-arrow-left, 26px);
    right: auto;
  }
.orthoshop-template .orthoshop-product-lightbox .mfp-arrow-right {
    left: auto;
    right: var(--product-lightbox-arrow-right, 26px);
  }
.orthoshop-template .orthoshop-product-lightbox .orthoshop-product-lightbox__chevron {
    width: 22px;
    height: 22px;
    margin: 0;
    border: 0;
    transform: none;
    background: center / 22px 22px no-repeat;
  }
.orthoshop-template .orthoshop-product-lightbox .mfp-arrow-left .orthoshop-product-lightbox__chevron {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 5 8.5 12 15.5 19' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
.orthoshop-template .orthoshop-product-lightbox .mfp-arrow-right .orthoshop-product-lightbox__chevron {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 5 15.5 12 8.5 19' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
}
@media (min-width:744px) and (hover:hover) and (pointer:fine) {
@media not all and (any-pointer:coarse) {
@container product-gallery (min-width:540px) {
.orthoshop-template #orthoshop-product-main .troja-gallery-stage { aspect-ratio: 3 / 2; }
}
}
}
.orthoshop-template #orthoshop-product-main [data-consistency-family="complex"] .orthoshop-product-summary__commerce {
  min-width: min-content;
}
@media (min-width:744px) and (any-pointer:coarse) {
.orthoshop-template #orthoshop-product-main .troja-tabs a { font-size: .875rem; line-height: 1.5; }
.orthoshop-template #orthoshop-product-main .hero-detail-link,
.orthoshop-template #orthoshop-product-main .hero-price-context,
.orthoshop-template #orthoshop-product-main .rental-fees-note,
.orthoshop-template #orthoshop-product-main .rental-fee-row dt,
.orthoshop-template #orthoshop-product-main .polish-conditions-link { font-size: .875rem; line-height: 1.5; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary__availability strong { font-size: .78125rem; line-height: 1.4; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary__verification { font-size: .8125rem; }
@container product-gallery (min-width:480px) {
.orthoshop-template #orthoshop-product-main .troja-gallery-stage { aspect-ratio: 4 / 3; }
}
}
.orthoshop-template #orthoshop-product-main .troja-tab-panel p,
.orthoshop-template #orthoshop-product-main .troja-tab-panel .orthoshop-product-secondary__panel {
  max-width: none;
  max-inline-size: none;
}
@media (min-width:744px) and (hover:hover) and (pointer:fine) {
@media not all and (any-pointer:coarse) {
@container product-gallery (min-width:540px) {
.orthoshop-template #orthoshop-product-main [data-product-gallery]:has(.orthoshop-product-gallery__thumb:nth-child(7)) .orthoshop-product-gallery__thumbs {
        contain: size;
        height: 100%;
        min-height: 0;
        align-content: start;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        scrollbar-width: thin;
        scrollbar-color: var(--troja-green) transparent;
      }
.orthoshop-template #orthoshop-product-main [data-product-gallery]:has(.orthoshop-product-gallery__thumb:nth-child(7)) .orthoshop-product-gallery__thumbs::-webkit-scrollbar {
        display: block;
        width: 6px;
      }
}
}
}
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary__verification.orthoshop-product-summary__verification--pending,
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary__verification.orthoshop-product-summary__verification--pending i { color: #856622; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-summary__verification.orthoshop-product-summary__verification--pending strong { color: #806929; }

/* Phase 4A.4.2: only structured sections; approved text-only pages unaffected. */
.orthoshop-template #orthoshop-product-main [data-structured-content] { min-width: 0; max-width: 100%; }
.orthoshop-template #orthoshop-product-main .orthoshop-structured-list { margin: 0; padding-left: 1.25rem; display: grid; gap: 10px; }
.orthoshop-template #orthoshop-product-main .orthoshop-structured-list li { font-size: var(--detail-secondary, .9rem); line-height: var(--detail-leading, 1.75); color: var(--troja-muted); overflow-wrap: anywhere; }
.orthoshop-template #orthoshop-product-main .orthoshop-structured-table-region { min-width: 0; max-width: 100%; }
.orthoshop-template #orthoshop-product-main .orthoshop-structured-scroll-hint { margin: 0 0 8px; font-size: .85rem; color: var(--troja-muted); }
.orthoshop-template #orthoshop-product-main .orthoshop-structured-scroll-hint[hidden] { display: none; }
.orthoshop-template #orthoshop-product-main .orthoshop-structured-table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--troja-line); border-radius: 10px; overscroll-behavior-x: contain; }
.orthoshop-template #orthoshop-product-main .orthoshop-structured-table-scroll:focus-visible { outline: 2px solid var(--troja-green); outline-offset: 3px; }
.orthoshop-template #orthoshop-product-main .orthoshop-structured-table { display: table; width: 100%; min-width: max-content; border-collapse: separate; border-spacing: 0; color: var(--troja-muted); }
.orthoshop-template #orthoshop-product-main .orthoshop-structured-table caption { caption-side: top; padding: 12px 14px; color: var(--troja-muted); font-size: .85rem; font-weight: 600; text-align: left; }
.orthoshop-template #orthoshop-product-main .orthoshop-structured-table th,
.orthoshop-template #orthoshop-product-main .orthoshop-structured-table td { padding: 12px 14px; min-width: 8rem; max-width: min(23rem, calc(100vw - 96px)); border: 0; border-bottom: 1px solid var(--troja-line); vertical-align: top; text-align: left; font-size: var(--detail-secondary, .9rem); line-height: var(--detail-leading, 1.75); white-space: normal; overflow-wrap: anywhere; }
.orthoshop-template #orthoshop-product-main .orthoshop-structured-table thead th { background: #edf7f1; color: var(--troja-ink); font-weight: 700; }
.orthoshop-template #orthoshop-product-main .orthoshop-structured-table tbody th { color: var(--troja-ink); font-weight: 600; background: #f8fbf9; }
.orthoshop-template #orthoshop-product-main .orthoshop-structured-table tbody tr:last-child > * { border-bottom: 0; }

/* Phase 4A.4.3: only new simple ranges and long non-numeric labels wrap.
   Each numeric bound stays intact; approved single/configuration prices keep their rules. */
.orthoshop-template #orthoshop-product-main .orthoshop-product-price > strong:has(.compat-price-range),
.orthoshop-template #orthoshop-product-main .orthoshop-product-price > strong:has(.compat-price-text) { width: auto; max-width: 100%; white-space: normal; }
.orthoshop-template #orthoshop-product-main .compat-price-range,
.orthoshop-template #orthoshop-product-main .compat-price-text { white-space: normal; }
.orthoshop-template #orthoshop-product-main .orthoshop-product-price > strong:has(.compat-price-text) { font-size: clamp(1.25rem, 2.1vw, 1.65rem); line-height: 1.35; overflow-wrap: anywhere; }
.orthoshop-template #orthoshop-product-main .financial-commercial .orthoshop-product-price > strong:not(:has(.compat-price-text)) { width: auto; max-width: 100%; white-space: normal; font-size: clamp(1.5rem, 7.8cqi, 2.1rem); }

/* Phase 4A.4.3 desktop correction: preserve touch/tablet and approved profiles.
   Intrinsic price width lets actions wrap only when the lateral row cannot fit. */
@media (min-width:1100px) and (hover:hover) and (pointer:fine) {
@media not all and (any-pointer:coarse) {
.orthoshop-template #orthoshop-product-main .financial-commercial:is([data-consistency-price-kind="from"], :has(.compat-price-range)) .orthoshop-product-summary__commerce { flex: 1 1 max-content; min-width: 0; }
.orthoshop-template #orthoshop-product-main .financial-commercial:is([data-consistency-price-kind="from"], :has(.compat-price-range)) .consistency-commercial-actions { flex: 1 1 260px; max-width: none; }
.orthoshop-template #orthoshop-product-main .financial-commercial--compact-unit .orthoshop-product-price > strong { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; line-height: 1.1; }
.orthoshop-template #orthoshop-product-main .financial-commercial--compact-unit .orthoshop-product-price > strong .compat-price-unit { font-size: .875rem; line-height: 1.2; }
}
}

/* Phase 4A.4.4 — approved components, ordinary experimental template. */
.orthoshop-template .hero-highlights--icons .hero-highlight-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.orthoshop-template .hero-highlights--icons li { display: flex; flex-direction: row; align-items: center; text-align: left; gap: 8px; min-width: 0; }
.orthoshop-template .hero-highlights--icons .hero-highlight-icon { width: 32px; height: 32px; flex-basis: 32px; font-size: 17px; }
.orthoshop-template .hero-highlights--icons .hero-highlight-text { line-height: 1.45; }
.orthoshop-template .hero-highlights--icons [data-highlight-count="3"] li:last-child { grid-column: 1 / -1; justify-self: center; max-width: calc(50% - 6px); }
.orthoshop-template .hero-variant-group { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; margin: 0; min-width: 0; max-width: 100%; }
.orthoshop-template .hero-variant-label { color: var(--troja-ink, #13243d); font-weight: 600; }
.orthoshop-template .hero-size-list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.orthoshop-template .hero-size-pill { display: inline-block; padding: 2px 8px; border-radius: 5px; background: #f0f4f2; color: #244439; cursor: default; }
.orthoshop-template .polish-variants .hero-variant-group--colors { flex: 0 1 auto; }
.orthoshop-template .polish-variants .hero-variant-group--configuration { gap: 8px; }
.orthoshop-template .polish-variants .hero-variant-group--configuration i { color: var(--troja-green); }
.orthoshop-template .orthoshop-product-appointment-notice { padding: 12px 14px; gap: 10px; margin: 16px 0; background: #f8fbf9; }
.orthoshop-template .orthoshop-product-appointment-notice p { font-size: .83rem; margin: 6px 0 0; line-height: 1.55; }
.orthoshop-template .orthoshop-product-appointment-notice .polish-appointment-slot { color: var(--troja-ink); font-weight: 600; }
@container hero-summary (min-width: 480px) {
.orthoshop-template .hero-highlights--icons [data-highlight-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.orthoshop-template .hero-highlights--icons [data-highlight-count="3"] li:last-child { grid-column: auto; justify-self: auto; max-width: none; }
}
@container hero-summary (min-width: 525px) {
.orthoshop-template .hero-highlights--icons [data-highlight-count="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.orthoshop-template #orthoshop-product-main .responsive-size-guide { display: contents; }
.orthoshop-template #orthoshop-product-main .responsive-size-mobile { display: none; }
@media (max-width:743px) {
.orthoshop-template #orthoshop-product-main .responsive-size-guide { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; width: 100%; }
.orthoshop-template #orthoshop-product-main .responsive-size-guide .hero-detail-link { margin: 0; white-space: nowrap; }
.orthoshop-template #orthoshop-product-main .responsive-size-guide .hero-variant-group--sizes { flex-wrap: wrap; min-width: 0; }
.orthoshop-template #orthoshop-product-main .responsive-size-desktop { display: none; }
.orthoshop-template #orthoshop-product-main .responsive-size-mobile { display: inline; }
.orthoshop-template #orthoshop-product-main .hero-variant-group--colors { flex-basis: 100%; }
.orthoshop-template #orthoshop-product-main .responsive-color-detail-mobile { display: none; }
}


@media (min-width:744px) {
@container hero-summary (max-width:599px) {
.orthoshop-template #orthoshop-product-main .responsive-size-guide {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 4px 12px;
      min-width: 0;
    }
.orthoshop-template #orthoshop-product-main .responsive-size-guide .hero-detail-link { margin: 0; }
.orthoshop-template #orthoshop-product-main .responsive-size-desktop { display: none; }
.orthoshop-template #orthoshop-product-main .responsive-size-mobile { display: inline; }
.orthoshop-template #orthoshop-product-main .hero-variant-group--colors { flex-basis: 100%; }
}
@container hero-summary (max-width:359px) {
.orthoshop-template #orthoshop-product-main .responsive-color-detail-mobile { display: none; }
}
}
@media (min-width:744px) and (any-pointer:coarse) {
.orthoshop-template #orthoshop-product-main .hero-variant-group { font-size: .875rem; line-height: 1.5; }
}


.orthoshop-template .orthoshop-product-summary__availability[data-availability-tone="immediate"] {
  background: #E4F5EB;
  color: #176C45;
}
.orthoshop-template .orthoshop-product-summary__availability[data-availability-tone="order"] {
  background: #FFF0D6;
  color: #975300;
}

/* Phase 4A.4.5: only overflowing long galleries and descriptive tables. */
.orthoshop-template #orthoshop-product-main .dense-gallery-rail { position: relative; display: grid; min-width: 0; min-height: 0; align-self: stretch; }
.orthoshop-template #orthoshop-product-main .dense-gallery-rail::before,
.orthoshop-template #orthoshop-product-main .dense-gallery-rail::after { pointer-events: none; z-index: 1; }
.orthoshop-template #orthoshop-product-main .dense-gallery-rail[data-scroll-axis="horizontal"][data-scroll-more="true"]::after {
  content: ""; position: absolute; inset: 0 0 0 auto; width: 32px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 6 6 6-6 6' fill='none' stroke='%23008751' stroke-width='2'/%3E%3C/svg%3E") right 3px center / 17px 17px no-repeat, linear-gradient(90deg, #fff0, #ffff 85%);
}
.orthoshop-template #orthoshop-product-main .dense-gallery-rail[data-scroll-axis="horizontal"][data-scroll-back="true"]::before {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 32px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m15 6-6 6 6 6' fill='none' stroke='%23008751' stroke-width='2'/%3E%3C/svg%3E") left 3px center / 17px 17px no-repeat, linear-gradient(270deg, #fff0, #ffff 85%);
}
.orthoshop-template #orthoshop-product-main .dense-gallery-rail[data-scroll-axis="vertical"][data-scroll-more="true"]::after {
  content: ""; position: absolute; inset: auto 14px 0 0; height: 28px; background: linear-gradient(#fff0, #fffe);
}
@media (min-width:744px) and (hover:hover) and (pointer:fine) {
@media not all and (any-pointer:coarse) {
@container product-gallery (min-width:540px) {
.orthoshop-template #orthoshop-product-main .dense-gallery-rail:not([data-gallery-adaptive]) { contain: size; grid-template-rows: minmax(0,1fr); }
.orthoshop-template #orthoshop-product-main [data-product-gallery] .dense-gallery-rail[data-scroll-axis="vertical"] .orthoshop-product-gallery__thumbs { padding-right: 10px; scrollbar-width: auto; scrollbar-color: auto; overflow-y: auto; }
.orthoshop-template #orthoshop-product-main [data-product-gallery] .dense-gallery-rail[data-scroll-axis="vertical"] .orthoshop-product-gallery__thumbs::-webkit-scrollbar { display: block; width: 4px; }
.orthoshop-template #orthoshop-product-main [data-product-gallery] .dense-gallery-rail[data-scroll-axis="vertical"] .orthoshop-product-gallery__thumbs::-webkit-scrollbar-track { background: transparent; }
.orthoshop-template #orthoshop-product-main [data-product-gallery] .dense-gallery-rail[data-scroll-axis="vertical"] .orthoshop-product-gallery__thumbs::-webkit-scrollbar-thumb { background: #abc5b9; border-radius: 8px; }
.orthoshop-template #orthoshop-product-main [data-product-gallery] .dense-gallery-rail[data-scroll-axis="vertical"] .orthoshop-product-gallery__thumbs::-webkit-scrollbar-thumb:hover { background: #759b87; }
}
}
}
.orthoshop-template #orthoshop-product-main [data-descriptive-table] { --dense-columns: 4; container: dense-table / inline-size; }
.orthoshop-template #orthoshop-product-main [data-descriptive-table="3"] { --dense-columns: 3; }
.orthoshop-template #orthoshop-product-main [data-descriptive-table] .orthoshop-structured-table { width: 100%; min-width: calc(var(--dense-columns) * 12rem); table-layout: auto; }
.orthoshop-template #orthoshop-product-main [data-descriptive-table] .orthoshop-structured-table :is(th,td) { min-width: 12rem; max-width: none; padding: 10px 12px; white-space: normal; overflow-wrap: anywhere; }
.orthoshop-template #orthoshop-product-main [data-descriptive-table] .dense-table-caption { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; width: calc(100cqw - 30px); max-width: 100%; }
.orthoshop-template #orthoshop-product-main [data-descriptive-table] .orthoshop-structured-scroll-hint { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: .75rem; line-height: 1.5; font-weight: 400; color: #708078; }
.orthoshop-template #orthoshop-product-main [data-descriptive-table] .orthoshop-structured-scroll-hint::before { content: "↔"; color: #708078; font-size: .95rem; }
.orthoshop-template #orthoshop-product-main [data-descriptive-table] .orthoshop-structured-scroll-hint[hidden] { display: none; }
.orthoshop-template #orthoshop-product-main [data-descriptive-table][data-scroll-more="true"] .orthoshop-structured-table-scroll { mask-image: linear-gradient(90deg, #000 calc(100% - 20px), transparent); }
.orthoshop-template #orthoshop-product-main .compat-reference-list--compact dd { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
.orthoshop-template #orthoshop-product-main [data-compat-reference-list]:has(.reference-code-grid) { container: reference-codes / inline-size; }
.orthoshop-template #orthoshop-product-main .troja-fact--code-references { grid-template-columns: minmax(0,1fr); gap: 8px; }
.orthoshop-template #orthoshop-product-main .reference-code-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,max(var(--reference-code-min,16ch),calc((100% - 20px)/3))),1fr)); align-items: start; gap: 4px 10px; font: .8125rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }
.orthoshop-template #orthoshop-product-main .reference-code-group { min-width: 0; padding: 1px 0; border: 0; background: transparent; color: var(--troja-muted); }
.orthoshop-template #orthoshop-product-main .reference-code-token { white-space: nowrap; }
.orthoshop-template #orthoshop-product-main .reference-code-group:has(> .reference-code-token ~ .reference-code-token) { grid-column: 1 / -1; }
.orthoshop-template #orthoshop-product-main .compat-reference-list--compact:has(.reference-code-grid) dd { display: block; overflow: visible; -webkit-line-clamp: unset; }
.orthoshop-template #orthoshop-product-main .compat-reference-list--compact .reference-code-grid { max-height: var(--reference-preview-height,calc(1.5em + 2px)); overflow: hidden; }
.orthoshop-template #orthoshop-product-main .compat-reference-list--compact .reference-code-group--outside-preview { display: none; }
