/* V45: one product showroom, three surface levels. Existing brand type and data stay. */
:root {
  --v45-coral: #E9907D;
  --v45-coral-hover: #D87A66;
  --v45-ink: #241C1A;
  --v45-button: #392D2B;
  --v45-paper: #FAF8F5;
  --v45-oat: #F3EFEA;
  --v45-line: #E6DFD5;
  --v45-inner-line: #F0EAE1;
  --v45-product-canvas: radial-gradient(circle at 50% 45%, #fff 0%, #F7F3ED 65%, #EBE3D8 100%);
}
body { color: var(--v45-ink); background: var(--v45-paper); }
#main-content .v33-home { --v33-paper: var(--v45-paper); --v33-line: var(--v45-line); --v33-cream: var(--v45-paper); }
#main-content :is(.v33-section, .v43-showcase) { padding-block: 80px; }
#main-content :is(.v33-section-head, .v43-showcase-heading, .v28-section-heading) { margin-block-end: 32px; }
#main-content .v33-scenes { background: var(--v45-ink); }
#main-content .v33-routes { background: var(--v45-oat); }
#main-content :is(.v33-advisory, .v33-one-stop, .v33-alignment) { background: var(--v45-paper); }
#main-content :is(.white-panel, .v34-flow-panel, .v34-proof-deck, .v34-feature-shell, .v28-evaluation, .v33-report, .v33-scene-stage) {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
#main-content :is(.white-panel, .v34-flow-panel, .v34-proof-deck, .v34-feature-shell) { padding-inline: 0; background: transparent; }
#main-content :is(.v33-report, .v33-scene-stage, .v28-evaluation) { background: var(--v45-oat); }
#main-content :is(.v33-report, .v33-scene-stage) { border-radius: 16px; }
#main-content :is(.v33-input-grid span, .v33-scene-proof, .v28-hero-proofs li, .v28-kit-grid article, .buying-spec-grid > div) {
  border: 0;
  border-block-end: 1px solid var(--v45-inner-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#main-content .v33-input-grid span { padding: 12px 0; }
#main-content :is(.v28-hero-proofs, .v28-kit-grid) { gap: 0 24px; }
#main-content .v28-kit-grid article { padding: 18px 0; }
#main-content :is(.v33-case-card, .v39-design-card, .product-card, .v28-related-card) { border: 1px solid var(--v45-line); border-radius: 16px; background: #fff; box-shadow: none; }
#main-content .v33-home h2 { font-size: clamp(30px, 3.35vw, 48px); line-height: 1.12; }

/* Action meaning, not historic class names, determines the color. */
body .v45-action-convert,
body .v44-home-actions .v45-action-convert,
body .v44-evidence .v34-hero-actions .v45-action-convert,
body .v39-design-actions > .v45-action-convert {
  background: var(--v45-coral); color: var(--v45-ink); border-color: var(--v45-coral); font-weight: 700;
}
body .v45-action-convert:hover { background: var(--v45-coral-hover); border-color: var(--v45-coral-hover); color: var(--v45-ink); }
body .v45-action-explore,
body .v44-evidence .v34-hero-actions .v45-action-explore,
body .v39-design-actions > .v45-action-explore { background: var(--v45-button); color: #fff; border-color: var(--v45-button); }
body .v45-action-explore:hover { background: var(--v45-ink); color: #fff; border-color: var(--v45-ink); }
body .v45-action-secondary,
body .v39-design-actions > .v45-action-secondary { background: var(--v45-oat); color: var(--v45-button); border-color: #D5C9B8; }
body .v45-action-secondary:hover { background: #E6DFD5; color: var(--v45-ink); }
body :is(.v45-action-convert, .v45-action-explore, .v45-action-secondary) { min-height: 44px; height: auto; white-space: normal; text-align: center; line-height: 1.4; overflow-wrap: anywhere; }
body :is(.btn, .v33-btn, .v38-button, .v44-view-button) { white-space: normal; height: auto; line-height: 1.4; }
body :is(.btn, .v33-btn, .v38-button, .v44-view-button):focus-visible { outline: 3px solid #9B4E40; outline-offset: 3px; }
body .quote-trigger { background: var(--v45-coral); color: var(--v45-ink); }

/* Exact-model cutouts have one consistent photographic canvas. */
#main-content :is(.v43-product-photo, .v39-design-image, .product-image-wrap) {
  position: relative; display: grid; place-items: center; aspect-ratio: 4 / 3; height: auto;
  min-height: 0; padding: 0; border: 0; border-radius: 16px 16px 0 0;
  background: var(--v45-product-canvas); overflow: hidden;
}
#main-content .product-image-wrap .photo-trigger { display: grid; width: 100%; height: 100%; padding: 0; place-items: center; }
#main-content :is(.v43-product-photo, .v39-design-image, .product-image-wrap .photo-trigger) > img {
  width: 100%; height: 100%; max-height: none; min-height: 0; padding: 13%; object-fit: contain;
  mix-blend-mode: multiply; filter: drop-shadow(0 8px 5px #392d2b0c); direction: ltr;
}
#main-content .v43-design-card { border: 1px solid var(--v45-line); border-radius: 16px; overflow: hidden; background: #fff; }
#main-content .v43-product-copy { padding: 18px 20px 20px; }
#main-content .product-image-wrap .product-mode { inset-block-start: 10px; inset-inline-start: 10px; font-size: 11px; padding: 5px 8px; max-width: calc(100% - 20px); }
#main-content .product-image-wrap .compare-toggle { inset-block-start: auto; inset-block-end: 9px; font-size: 11px; min-height: 32px; }
#main-content .card-specs > div { border: 0; border-block-start: 1px solid var(--v45-inner-line); border-radius: 0; background: transparent; }
#main-content .v43-facts { gap: 8px; }
#main-content .v43-facts li { padding: 0; background: transparent; border: 0; color: #6c5d56; }
#main-content .v43-facts li + li { border-inline-start: 1px solid var(--v45-line); padding-inline-start: 8px; }
#main-content :is(.image-pending, .v34-no-image) { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; width: 100%; height: 100%; padding: 18px; background: var(--v45-product-canvas); color: #73655b; text-align: center; }
#main-content :is(.image-pending, .v34-no-image)::before { content: ''; width: 124px; height: 74px; background: url("assets/v45-product-outline.svg") center / contain no-repeat; opacity: .65; }
#main-content :is(.image-pending, .v34-no-image) :is(strong, span) { font-size: 16px; white-space: nowrap; }
#main-content :is(.image-pending, .v34-no-image) :is(small, span:last-child) { font-size: 12px; }
#main-content :is(bdi, .product-title-trigger, .v39-design-copy h3, .v28-hero-meta, .v45-tech-value) { font-variant-numeric: tabular-nums; }
#main-content :is(bdi, .product-title-trigger, .v45-tech-value) { white-space: nowrap; }

/* Task controls stay together, including the actual search wrapper introduced in V40. */
#view-products .v44-product-controls .v40-search-wrap { grid-column: 1; grid-row: 1; max-inline-size: none; min-width: 0; width: 100%; }
#view-products #v16RecommendedRange.catalog-design-v39 { border: 0; border-radius: 0; background: transparent; padding: 0; }
#view-products .v39-design-heading { margin-block-end: 28px; }
#view-products .v39-design-actions > :is(button,a) { padding: 10px; }
#view-products .v44-view-button { display: flex; align-items: center; justify-content: center; gap: 6px; }
.v45-view-icon { display: none; width: 18px; height: 18px; flex-shrink: 0; }

/* Keep one cooperation selector and its existing configurator. */
#view-oem #v23CooperationRoutes.v45-sample-guide { margin-block: 32px 0; }
#view-oem .v45-sample-guide > :is(.section-heading, .three-grid) { display: none; }
#view-oem #v17CooperationLevels { margin-block: 48px 0; }
#view-oem .supply-levels { border: 0; border-radius: 0; padding: 0; background: transparent; }
#view-oem .supply-tier-panel { border: 0; border-radius: 0; background: var(--v45-oat); }
#view-oem .supply-tier-handoff { background: var(--v45-button); }
#view-oem .supply-tier-handoff dd { color: #F3EFEA; }
#view-oem .supply-tier-panel-main > p { color: #6c5d56; }
#view-oem .supply-tier-tabs button { border-radius: 8px 8px 0 0; background: transparent; border-color: transparent; border-block-end: 2px solid var(--v45-line); }
#view-oem .supply-tier-tabs button.is-active { border-color: transparent; border-block-end-color: var(--v45-coral); background: var(--v45-oat); box-shadow: none; }
#main-content .v44-home-product-actions > :is(.v45-action-explore,.v45-action-secondary) { padding: 9px 14px; border-radius: 8px; text-decoration: none; margin-block: 3px; }
#view-oem .v45-layer-illustration { display: block; width: 100%; height: 78px; margin-block: 0 10px; color: #766154; }
#view-oem .v44-evidence-explanations { min-height: 145px; }
#qualityPageContent .v34-proof-deck { margin-block: 64px; }
#main-content .v44-evidence-eyebrow, #main-content .v44-shelf-role, #main-content .v44-home-eyebrow { color: #776055; }
#main-content .care44-banner { margin-block-end: 0; padding-block-end: 12px; }
#main-content .care41-scene { border-radius: 0; }
.v45-hardware-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-block: 0 28px; }
.v45-hardware-summary > article { min-width: 0; padding: 20px; background: #fff; border: 1px solid var(--v45-line); border-radius: 16px; }
.v45-hardware-heading { display: flex; align-items: center; gap: 10px; margin-block-end: 16px; font-weight: 700; color: var(--v45-ink); }
.v45-hardware-heading svg { width: 32px; height: 32px; flex: 0 0 auto; color: #9B4E40; }
.v45-hardware-summary dl { margin: 0; }
.v45-hardware-summary dl > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; padding-block: 9px; border-block-start: 1px solid var(--v45-inner-line); font-size: 13px; }
.v45-hardware-summary dt { color: #75665e; }
.v45-hardware-summary dd { margin: 0; font-variant-numeric: tabular-nums; }
#main-content .v34-media-tabs { justify-content: center; padding: 12px 0; background: transparent; }
#main-content .v28-evaluate-shell { border: 0; border-radius: 0; background: transparent; }
#main-content .v28-tab-panels > div { padding: 28px 0; }
#main-content .v28-spec-table { border: 0; border-radius: 0; background: transparent; }
#main-content .v28-proof-stage { border: 0; border-radius: 0; }
#main-content .v34-media-tab { min-height: 44px; white-space: normal; height: auto; }
#main-content .v34-media-tab[aria-selected="true"] { background: var(--v45-button); color: #fff; border-color: var(--v45-button); }
.v45-product-video { grid-column: 1 / -1; margin: 0; padding: clamp(20px, 4vw, 44px); border-block-start: 1px solid var(--v45-line); background: var(--v45-paper); }
.v45-product-video figcaption { display: flex; align-items: baseline; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; margin-block-end: 20px; }
.v45-product-video figcaption > strong { font-size: clamp(22px, 3vw, 32px); font-weight: 650; color: var(--v45-button); }
.v45-product-video figcaption > span { font-size: 13px; color: #75665e; }
.v45-product-video video { display: block; inline-size: 100%; block-size: auto; max-block-size: 640px; object-fit: contain; background: #241c1a; border-radius: 12px; }

@media (max-width: 767px) {
  #main-content :is(.v33-section, .v43-showcase) { padding-block: 48px; }
  #main-content :is(.v33-section-head, .v43-showcase-heading, .v28-section-heading) { margin-block-end: 24px; }
  #view-products > .site-container.page-space { padding-block-start: 22px; }
  #view-products .v44-task-header { gap: 16px; padding-block: 0 16px; margin-block-end: 24px; }
  #view-products .v44-task-header .v34-hero-copy { gap: 7px; }
  #view-products .v44-task-header .v34-kicker { display: none; }
  #view-products .v44-task-header .v34-hero-copy h1 { font-size: 27px; line-height: 1.12; }
  #view-products .v44-task-header .v34-hero-copy > p { font-size: 13px; line-height: 1.5; }
  #view-products .v44-product-controls { grid-template-columns: minmax(0,1fr) auto; gap: 10px 8px; }
  #view-products .v44-product-controls .search-field { min-height: 44px; padding-inline: 9px; }
  #view-products .v44-product-controls #productSearchInput { min-block-size: 44px; font-size: 14px; padding-inline-end: 34px; }
  #view-products .v44-view-controls { grid-column: 2; grid-row: 1; gap: 4px; }
  #view-products .v44-view-button { padding: 10px; width: 44px; min-height: 44px; }
  .v44-view-button .v45-view-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .v44-view-button .v45-view-icon { display: block; }
  #view-products .v44-product-controls .category-pills { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; padding-block-end: 4px; }
  #view-products .v44-product-controls .category-pills .cat-filter-btn { flex: 0 0 auto; white-space: nowrap; padding: 8px 12px; min-height: 42px; font-size: 12px; }
  #view-products .v39-design-heading { display: block; margin-block-end: 18px; }
  #view-products .v39-design-heading h2 { font-size: 24px; line-height: 1.18; }
  #view-products .v39-design-heading > p { font-size: 13px; line-height: 1.5; margin-block-start: 8px; }
  #view-products .v39-design-grid { gap: 12px; }
  #view-products .v39-design-copy { padding: 12px 10px; }
  #view-products .v39-design-copy h3 { font-size: 19px; }
  #view-products .v39-design-scene, #view-products .v39-design-status { font-size: 11px; line-height: 1.5; }
  #view-products .v39-design-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #view-products .v39-design-actions > :is(button,a) { min-height: 44px; font-size: 10.5px; padding: 8px 4px; overflow-wrap: normal; hyphens: auto; }
  #view-products .v39-design-actions > :nth-child(2) { border-block-start: 0; }
  #view-products .v39-design-actions > :nth-child(2n) { border-inline-start: 1px solid var(--v45-line); }
  #view-products[data-v44-catalog-view="list"] .v39-design-image { height: 100%; aspect-ratio: auto; }
  #view-products[data-v44-catalog-view="list"] .v39-design-actions { grid-column: 1 / -1; grid-template-columns: repeat(4,minmax(0,1fr)); }
  #main-content .v44-shelf-models { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; padding-block: 18px; }
  #main-content .v44-shelf-position { flex: 0 0 82%; scroll-snap-align: start; }
  #main-content .v44-channel-shelf .v43-banner-model img { width: 100%; height: 220px; }
  #main-content .v44-channel-shelf .v43-banner-model figcaption { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  #main-content .care44-filmstrip .care41-tabs { scroll-snap-type: x mandatory; }
  #main-content .care44-filmstrip .care41-tabs button { flex-basis: 82%; scroll-snap-align: start; }
  #main-content .v43-product-track { gap: 16px; }
  #main-content .v43-product-track > article { flex-basis: 82vw; }
  #main-content .v43-product-photo { aspect-ratio: 4 / 3; }
  .v45-hardware-summary { gap: 12px; }
  .v45-hardware-summary > article { padding: 14px; }
  .v45-hardware-summary dl > div { grid-template-columns: minmax(0,1fr); gap: 3px; }
  .v45-hardware-heading { flex-wrap: wrap; font-size: 13px; }
  #view-oem .v44-evidence-explanations { min-height: 165px; }
}
@media (max-width: 420px) {
  #main-content .v44-home-product { flex-wrap: wrap; }
  #main-content .v44-home-product-actions { flex-direction: row; gap: 18px; flex-wrap: wrap; }
}
:is(html[lang="de"], html[lang="ru"], html[lang="fr"]) :is(.reference-tag, .v43-facts, .v44-evidence-tabs button) { font-size: .92em; }
html[dir="rtl"] :is(.v45-layer-illustration, .v45-hardware-heading svg) { transform: none; }
@media (prefers-reduced-motion: reduce) {
  #main-content :is(.v45-action-convert, .v45-action-explore, .v45-action-secondary) { transition: none; }
  #main-content :is(.v43-product-viewport, .care41-tabs, .v44-shelf-models) { scroll-behavior: auto; }
}
