/* ============================================================
   Manufacturer page MOTION + CARD POLISH, Pinnacle Audiology
   Lifted from the Phonak gold-standard page and generalized so
   every manufacturer page (Phonak, Oticon, Signia, Widex,
   ReSound, Starkey, Unitron, Rexton) shares one source of truth.
   Floating product photography, hero hover lift, responsive
   two-column product cards, accessory card grid.
   Photos are never swapped: this only governs sizing, layering,
   object-fit, float motion and responsive behavior.
   ============================================================ */

/* ---- Hero product shot: hover lift (composes with float below) ---- */
.mfr-shot img{transition:transform .55s cubic-bezier(.22,1,.36,1), filter .55s ease; will-change:transform}
.mfr-shot:hover img{transform:translateY(-12px) rotate(-2.5deg) scale(1.035)}
@media (prefers-reduced-motion:reduce){ .mfr-shot img{transition:none} .mfr-shot:hover img{transform:none} }

/* ---- Accessory cards (covers both .acc-grid and .acc-cards markup) ---- */
.acc-grid,.acc-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:14px}
.acc-card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s,box-shadow .25s}
.acc-card:hover{border-color:rgba(240,134,71,.45);box-shadow:0 14px 34px -24px rgba(40,30,15,.4)}
.acc-card .acc-media{background:linear-gradient(165deg,#fff,#F6F5F1);display:flex;align-items:center;justify-content:center;padding:24px;border-bottom:1px solid var(--line);min-height:190px}
.acc-card .acc-media img{max-height:160px;width:auto;filter:drop-shadow(0 14px 20px rgba(40,30,15,.15))}
.acc-card .acc-body{padding:18px 20px}
.acc-card .acc-body h3{margin:2px 0 6px}
.acc-card .acc-body p{margin:0}
@media(max-width:860px){.acc-grid,.acc-cards{grid-template-columns:1fr}}

/* ---- Responsive two-column product cards + floating photography ---- */
@media (min-width:720px){
  .mfr-page .pcard.flag, .mfr-page .pcard.haspic{ grid-template-columns:270px 1fr !important; }
  .mfr-page .pcard.media-right{ grid-template-columns:1fr 270px !important; }
  .mfr-page .pcard.media-right .pcard-media{ order:2 !important; border-left:1px solid var(--line) !important; border-right:0 !important; }
  .mfr-page .pcard.media-right .pcard-body{ order:1 !important; }
  .mfr-page .pcard.flag .pcard-media, .mfr-page .pcard.haspic:not(.media-right) .pcard-media{ border-bottom:0 !important; border-right:1px solid var(--line) !important; }
}
@media (prefers-reduced-motion: no-preference){
  .mfr-page .pcard-media img,
  .mfr-page .acc-media img,
  .mfr-page .mfr-hero img{ will-change: transform; animation: phFloat 4.6s ease-in-out infinite; }
  .mfr-page .pcard.flag .pcard-media img{ animation-duration: 5.2s; }
  .mfr-page .pcard.media-right .pcard-media img{ animation-duration: 5s; animation-delay: -1.6s; }
  .mfr-page .pcard:not(.media-right) .pcard-media img{ animation-delay: -.7s; }
  .mfr-page .acc-card:nth-child(2n) .acc-media img{ animation-duration: 4.2s; animation-delay: -1.3s; }
  .mfr-page .acc-card:nth-child(3n) .acc-media img{ animation-duration: 5s; animation-delay: -2.2s; }
  .mfr-page .acc-card:nth-child(4n) .acc-media img{ animation-duration: 4.6s; animation-delay: -.9s; }
  .mfr-page .mfr-hero img{ animation-duration: 6s; }
  @keyframes phFloat{ 0%{transform:translate3d(0,0,0) rotate(0)} 50%{transform:translate3d(0,-18px,0) rotate(-1.2deg)} 100%{transform:translate3d(0,0,0) rotate(0)} }
  .mfr-page .pcard-media img, .mfr-page .acc-media img{ transition: filter .4s ease; }
  .mfr-page .pcard:hover .pcard-media img, .mfr-page .acc-card:hover .acc-media img{ animation-duration: 1.6s; filter: drop-shadow(0 24px 32px rgba(40,30,15,.32)); }
}

/* ---- Manufacturer attribution disclaimer (tasteful, near footer) ---- */
.mfr-disclaimer{border-top:1px solid var(--line)}
.mfr-disclaimer .wrap{padding:22px 40px 30px}
.mfr-disclaimer p{margin:0;max-width:88ch;font-size:12.5px;line-height:1.6;color:var(--ink-soft);font-family:'JetBrains Mono',ui-monospace,monospace;letter-spacing:.01em}
.mfr-disclaimer a{color:var(--accent-deep);font-weight:600;text-decoration:none}
.mfr-disclaimer a:hover{color:var(--accent-bright)}
@media(max-width:860px){.mfr-disclaimer .wrap{padding:20px 24px 26px}}
@media(max-width:560px){.mfr-disclaimer .wrap{padding:18px 20px 24px}}
