/* MixUp design adapter. Shared primitives stay in mixup-hero-layout.css.
   These semantic tokens describe the approved web glass, not Apple APIs. */
.qp-product-family {
  --family-radius-field: 14px;
  --family-radius-card: 24px;
  --family-radius-bubble: 28px;
  --family-radius-panel: 32px;
  --family-gap: 48px;
  --family-ink: #283044;
  --family-glass: rgba(255,255,255,.38);
  --family-glass-dark: rgba(17,19,24,.16);
}
.qp-page .qp-product-family :is(h1,h2,h3) { text-wrap: balance; }
.qp-page .qp-product-family h2.dza-h2 {
  font-size: clamp(28px,4.2vw,54px); line-height: 1.12; letter-spacing: -.02em;
}
.qp-page .qp-product-family .qp-mixup-formats h2 { max-width: 100%; text-align: center; }
.qp-page .qp-product-family :is(.qp-mixup-hero__heading,.qp-mixup-hero__copy) { min-width: 0; }
.qp-page .qp-product-family .qp-mixup-hero h1 { font-weight: 700; color: #f5f8ff; }
/* The approved glass lettering: luminous face, fine rim and a shaded lower edge. */
@supports (background-clip: text) {
  .qp-page .qp-product-family .qp-mixup-hero h1 {
    background: linear-gradient(135deg, #fff 4%, rgba(246,251,255,.94) 30%, rgba(211,226,248,.86) 68%, rgba(255,255,255,.98));
    background-clip: text; -webkit-background-clip: text; color: transparent;
    -webkit-text-stroke: .3px rgba(255,255,255,.64);
    filter: drop-shadow(0 -1px .4px rgba(255,255,255,.48)) drop-shadow(0 2px .6px rgba(10,16,38,.3)) drop-shadow(0 5px 4px rgba(6,12,30,.18));
  }
}
@media (prefers-contrast: more), (forced-colors: active) {
  .qp-page .qp-product-family .qp-mixup-hero h1 { background: none; color: #fff; -webkit-text-stroke: 0; filter: none; }
}
@media (forced-colors: active) {
  .qp-page .qp-product-family .qp-mixup-hero h1 { color: CanvasText; }
}
.qp-page .qp-product-family .qp-mixup-hero__media picture { display: block; width: 100%; height: 100%; }
.qp-page .qp-product-family .qp-mixup-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--family-photo-position,center); }
.qp-page .qp-product-family[data-product="mini"] { --family-photo-position: 28% center; }
.qp-page .qp-product-family:is([data-product="bullettime"],[data-product="mixupapp"]) .qp-mixup-hero__media img { object-fit: cover; }
.qp-page .qp-product-family .qp-mixup-hero__media { background: rgba(255,255,255,.04); }
.qp-page .qp-product-family .qp-family-gallery { grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); }
.qp-page .qp-product-family .qp-family-gallery figure { min-width: 0; margin: 0; }
.qp-page .qp-product-family .qp-family-gallery img { aspect-ratio: 4/3; object-fit: cover; width: 100%; height: 100%; }
.qp-page .qp-product-family .qp-family-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: var(--family-gap); align-items: start; }
.qp-page .qp-product-family .qp-family-split > * { min-width: 0; }
.qp-page .qp-product-family .qp-family-bubble {
  padding: 24px 26px; border-radius: var(--family-radius-bubble);
  background: var(--family-glass); border: 1px solid rgba(255,255,255,.8);
  box-shadow: var(--qp-soft-edge);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  color: var(--family-ink); font-size: 16px; font-weight: 500; line-height: 1.6;
}
.qp-page .qp-product-family #assembly .qp-family-bubble { margin-top: 48px; color: #f5f7ff; background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.25); }
.qp-page .qp-product-family .qp-family-placeholder {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 12px; padding: 24px; box-sizing: border-box; text-align: center;
  border: 1px solid var(--qp-line); border-radius: var(--family-radius-card);
  background: var(--family-glass); color: var(--family-ink); box-shadow: var(--qp-soft-edge);
}
.qp-page .qp-product-family .qp-family-placeholder p { margin: 0; font-size: 15px; line-height: 1.6; }
.qp-page .qp-product-family .qp-family-placeholder--wide { min-height: 260px; margin-top: 40px; }
.qp-page .qp-product-family .qp-family-placeholder--portrait { width: min(100%,420px); aspect-ratio: 9/16; justify-self: end; background: rgba(255,255,255,.1); color: #f5f7ff; border-color: rgba(255,255,255,.25); }
.qp-page .qp-product-family .qp-family-specs-photo { margin: 0; }
.qp-page .qp-product-family .qp-family-specs-photo img { width: 100%; height: auto; border-radius: var(--family-radius-card); }
.qp-page .qp-product-family .qp-family-specs .qp-mixup-spec-table-wrap { margin-top: 32px; overflow: visible; }
.qp-page .qp-product-family .qp-mixup-spec-table-wrap table { table-layout: fixed; min-width: 0; }
.qp-page .qp-product-family .qp-mixup-spec-table-wrap :is(th,td) { overflow-wrap: anywhere; }
.qp-page .qp-product-family .qp-mixup-spec-table-wrap th { width: 40%; }
.qp-page .qp-product-family #reviews .qp-family-bubble { margin-top: 40px; }
.qp-page .qp-product-family #reviews .qp-family-bubble p { margin: 0; }
.qp-page .qp-product-family .qp-family-comparison .dza-table-wrap { max-width: 100%; }

/* Keep the source frame intact; portrait films do not stretch to the copy height. */
.qp-page .qp-product-family .qp-product-loop { width: min(100%,420px,var(--product-video-max-width)); justify-self: end; margin-inline: auto; }
.qp-page .qp-product-family .qp-product-loop video { display: block; width: 100%; height: 100%; max-height: none; margin: 0; object-fit: contain; border-radius: inherit; cursor: pointer; touch-action: manipulation; }
.qp-page .qp-product-family .qp-product-loop video:focus-visible { outline: 3px solid #719aff; outline-offset: -4px; }
.qp-page .qp-product-family[data-product="mini"] .qp-mixup-hero__media { aspect-ratio: auto; height: auto; align-self: center; background: transparent; }
.qp-page .qp-product-family .qp-mini-assembly-detail { margin-top: 32px; }
.qp-page .qp-product-family .qp-mini-assembly-detail .qp-product-loop { width: 100%; }
.qp-page .qp-product-family .qp-mini-handheld-films { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; margin-top: 40px; }
.qp-page .qp-product-family .qp-mini-wireless .qp-family-bubble { margin-top: 32px; }
.qp-page .qp-product-family :is(.qp-mixup-hero__media,.qp-family-gallery figure,.qp-family-specs-photo) { overflow: visible; }
.qp-page .qp-product-family :is(.qp-mixup-hero__media,.qp-family-gallery figure,.qp-family-specs-photo) > picture { display: block; position: relative; z-index: 1; overflow: hidden; border-radius: var(--family-radius-card); }
.qp-page .qp-product-family .qp-family-gallery figure > picture { aspect-ratio: 4/3; }
.qp-page .qp-product-family .qp-family-gallery figcaption { position: relative; z-index: 1; }
.qp-page .qp-product-family .qp-family-specs-photo > picture { aspect-ratio: 4/5; }
.qp-page .qp-product-family .qp-family-specs-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.qp-page .qp-product-family :is(.qp-mixup-hero__media,.qp-family-gallery figure,.qp-family-specs-photo) > picture::after { content: ''; position: absolute; inset: 0; border-radius: inherit; box-shadow: var(--mixup-photo-edge,var(--qp-soft-edge)); pointer-events: none; }
.qp-page .qp-product-family > :is(.qp-family-specs,.qp-mini-handheld,.qp-mini-wireless) { overflow: clip; }
@media (max-width: 540px) {
  .qp-page .qp-product-family .qp-mini-handheld-films { grid-template-columns: minmax(0,1fr); gap: 24px; }
}

/* First-step contact form: visual reuse only. Legal consent remains in the modal. */
body.qp-page[data-market="ru"] .qp-product-family form[data-quote-step] {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; width: 100%;
  max-width: none; margin: 0; padding: 20px; box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.12); border-radius: var(--family-radius-card);
  background: var(--family-glass-dark) var(--qp-soft-grain) 0 0 / 128px 128px;
  box-shadow: var(--qp-soft-edge); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  color: #f4f5f7;
}
body.qp-page[data-market="ru"] .qp-product-family form[data-quote-step] .qp-inline-request__fields { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
body.qp-page[data-market="ru"] .qp-product-family form[data-quote-step] :is(label,.dzru-field) { color: inherit; min-width: 0; margin: 0; }
body.qp-page[data-market="ru"] .qp-product-family form[data-quote-step] :is(input,.qp-phone-country-shell) {
  background: rgba(16,20,28,.48) var(--qp-soft-grain) 0 0 / 128px 128px;
  color: #f4f5f7; border: 1px solid rgba(224,233,248,.24); border-radius: var(--family-radius-field);
  box-shadow: inset 0 1px 3px rgba(5,8,16,.14),0 1px 2px rgba(255,255,255,.06); min-height: 46px;
}
body.qp-page[data-market="ru"] .qp-product-family form[data-quote-step] > button {
  justify-self: start; min-height: 48px; margin: 0; padding: 12px 16px; border-radius: 999px;
  background: rgba(255,255,255,.86) var(--qp-soft-grain); color: #090a0d; -webkit-text-fill-color: #090a0d;
  border: 1px solid rgba(255,255,255,.28); box-shadow: inset 0 1px 1px rgba(255,255,255,.22),0 2px 5px rgba(8,12,24,.08);
  font-size: 14px; font-weight: 500;
}
body.qp-page[data-market="ru"] .qp-product-family form[data-quote-step] :is(input,select,button):focus-visible { outline: 2px solid #e8efff; outline-offset: 3px; }
body.qp-page[data-market="ru"] .qp-product-family form[data-quote-step] input[aria-invalid="true"] { border-color: #ffaaaa; }
body.qp-page[data-market="ru"] .qp-product-family .qp-mixup-final-request__action form[data-quote-step] { padding: 24px; background: transparent; box-shadow: none; border: 0; backdrop-filter: none; -webkit-backdrop-filter: none; }
body.qp-page[data-market="ru"] .qp-product-family #request .qp-mixup-final-request__action > p.dza-text { background: transparent; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }

@supports (background-clip: text) {
  .qp-page .qp-product-family > :is(#formats,#classic-advantages,#benefits,#economics,#specs,#reviews,#order,#faq) h2.dza-h2,
  .qp-page .qp-product-family .qp-mixup-models h2 {
    background: linear-gradient(135deg,rgba(16,22,48,.96),rgba(37,48,76,.7) 58%,rgba(13,20,45,.94));
    background-clip: text; -webkit-background-clip: text; color: transparent;
    -webkit-text-stroke: .3px rgba(19,28,55,.35);
    filter: drop-shadow(0 -1px .5px rgba(255,255,255,.8)) drop-shadow(0 2px 1px rgba(20,28,48,.16));
  }
}
@media (max-width: 940px) {
  .qp-page .qp-product-family .qp-family-split { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .qp-page .qp-product-family #assembly > .wrap > div { display: flex; flex-direction: column; }
  .qp-page .qp-product-family #assembly .qp-family-placeholder { display: flex; }
  .qp-page .qp-product-family .qp-family-placeholder--portrait { justify-self: center; width: min(100%,340px); }
  .qp-page .qp-product-family .qp-family-specs-photo { max-width: 560px; margin-inline: auto; }
  .qp-page .qp-product-family .qp-mixup-hero__media { aspect-ratio: 4/3; }
  .qp-page .qp-product-family .qp-mixup-hero__media img { object-fit: cover; }
  .qp-page .qp-product-family #economics > .wrap > header { grid-template-columns: minmax(0,1fr); gap: 24px; }
}
@media (max-width: 540px) {
  .qp-page .qp-product-family { --family-gap: 24px; }
  .qp-page .qp-product-family .qp-family-bubble { padding: 20px; border-radius: var(--family-radius-card); }
  .qp-page .qp-product-family .qp-family-specs .qp-mixup-spec-table-wrap tr { display: grid; padding: 14px; border-bottom: 1px solid var(--qp-line); }
  .qp-page .qp-product-family .qp-family-specs .qp-mixup-spec-table-wrap tr:last-child { border: 0; }
  .qp-page .qp-product-family .qp-family-specs .qp-mixup-spec-table-wrap :is(th,td) { display: block; width: auto; padding: 0; border: 0; }
  .qp-page .qp-product-family .qp-family-specs .qp-mixup-spec-table-wrap td { margin-top: 6px; }
  .qp-page .qp-product-family .qp-product-name { font-size: 13px; white-space: normal; line-height: 1.2; }
}
@media (prefers-contrast: more) {
  .qp-page .qp-product-family .qp-family-bubble { background: #f5f7fb; backdrop-filter: none; -webkit-backdrop-filter: none; }
  body.qp-page[data-market="ru"] .qp-product-family form[data-quote-step],
  .qp-page .qp-product-family #assembly .qp-family-bubble { background: #232833; backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media (forced-colors: active) {
  .qp-page .qp-product-family h2.dza-h2 { color: CanvasText; background: none; filter: none; -webkit-text-stroke: 0; }
}
@media (prefers-contrast: more) {
  .qp-page .qp-product-family :is(.qp-photo-ambient__light,.qp-video-light-field,.qp-video-section-light) { display: none; }
}
