.fx-guide-preview-banner{background:#8a5a00;color:#fff;padding:.7rem 0}.fx-guide-preview-banner .shell{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.fx-guide-hero{padding:2.2rem 0 1rem}.fx-guide-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.75fr);gap:1.5rem;align-items:start}.fx-guide-hero-copy h1{font-size:clamp(2rem,5vw,4rem);line-height:1.02;margin:.5rem 0 1rem}.fx-guide-summary{font-size:1.08rem;max-width:68ch;opacity:.85}.fx-guide-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.4rem 0}.fx-guide-facts>div,.fx-guide-preflight,.fx-guide-intro-grid article,.fx-resource-panel,.fx-repair-step,.fx-reassembly-panel,.fx-guide-evidence details{border:1px solid rgba(127,127,127,.23);border-radius:18px;background:var(--fx-panel,#fff)}.fx-guide-facts>div{padding:.9rem}.fx-guide-facts span,.fx-supported-devices>span,.fx-resource-heading>span,.fx-step-header span{display:block;font-size:.78rem;opacity:.65;margin-bottom:.25rem}.fx-guide-facts strong{font-size:.95rem}.fx-supported-devices{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}.fx-guide-preflight{padding:1.35rem}.fx-guide-preflight h2{margin:.3rem 0 .85rem}.fx-guide-preflight ul{margin:0;padding-left:1.2rem}.fx-guide-preflight li+li{margin-top:.65rem}.fx-guide-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem}.fx-guide-intro-grid article{padding:1.25rem}.fx-guide-safety-section{margin-top:2rem}.fx-guide-safety-lead{padding:1rem 1.2rem;border-radius:14px;border:1px solid rgba(255,166,0,.35);background:rgba(255,166,0,.08);margin-bottom:1rem}.fx-guide-safety-lead p{margin:.35rem 0 0}.fx-warning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.fx-warning-card{padding:1rem;border-radius:15px;border:1px solid rgba(255,122,122,.28);background:rgba(255,80,80,.06)}.fx-warning-card>span,.fx-check-card>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.fx-warning-card h3,.fx-check-card h3{margin:.3rem 0 .5rem}.fx-guide-resources{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}.fx-resource-panel{padding:1.1rem}.fx-resource-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start}.fx-resource-list{list-style:none;padding:0;margin:1rem 0}.fx-resource-list li{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-top:1px solid rgba(127,127,127,.18)}.fx-resource-list li:first-child{border-top:0}.fx-resource-list strong,.fx-resource-list span{display:block}.fx-resource-list span,.fx-resource-list small{opacity:.68}.fx-resource-meta{text-align:right;min-width:70px}.fx-procedure-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.35rem;align-items:start;margin-top:2.4rem}.fx-step-index{position:sticky;top:86px;padding:1rem;border:1px solid rgba(127,127,127,.22);border-radius:16px;background:var(--fx-panel,#fff);max-height:calc(100vh - 110px);overflow:auto}.fx-step-index nav{display:grid;gap:.35rem;margin-top:.8rem}.fx-step-index a{display:flex;gap:.65rem;align-items:center;padding:.55rem .6rem;border-radius:10px;text-decoration:none;color:inherit}.fx-step-index a:hover{background:rgba(127,127,127,.1)}.fx-step-index a span{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:rgba(127,127,127,.15);font-size:.8rem}.fx-procedure-main{min-width:0}.fx-repair-step{padding:1rem 1rem 1.2rem;margin-bottom:1rem;scroll-margin-top:90px}.fx-step-header{display:flex;gap:.85rem;align-items:center;margin-bottom:1rem}.fx-step-number{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(85,150,255,.14);font-weight:800}.fx-step-header h3{font-size:1.45rem;margin:0}.fx-step-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}.fx-step-media-grid:has(.fx-step-figure:only-child){grid-template-columns:1fr}.fx-step-figure{margin:0}.fx-step-image-wrap{position:relative;border-radius:14px;overflow:hidden;background:#0b0b0b;aspect-ratio:4/3}.fx-step-image-wrap img{width:100%;height:100%;display:block;object-fit:contain}.fx-step-figure figcaption{font-size:.82rem;opacity:.7;padding:.45rem .15rem}.fx-image-marker{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.35rem;pointer-events:none}.fx-image-marker b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#d73838;color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.75);font-style:normal}.fx-image-marker em{display:none;white-space:nowrap;background:rgba(0,0,0,.78);color:#fff;border-radius:7px;padding:.25rem .4rem;font-size:.72rem;font-style:normal}.fx-step-image-wrap:hover .fx-image-marker em{display:block}.fx-marker-pry b{background:#2879d0}.fx-marker-caution b{background:#c48a00}.fx-marker-install b{background:#278a56}.fx-step-instruction{font-size:1rem;line-height:1.7}.fx-step-bullets{display:grid;gap:.6rem;margin:1rem 0}.fx-step-bullet,.fx-step-callout{padding:.8rem 1rem;border-radius:12px;border:1px solid rgba(127,127,127,.2);background:rgba(127,127,127,.06)}.fx-step-bullet strong,.fx-step-callout strong{display:block;margin-bottom:.2rem}.fx-step-bullet p,.fx-step-callout p{margin:0}.fx-bullet-warning,.fx-bullet-caution,.fx-callout-warning{border-color:rgba(255,100,100,.35);background:rgba(255,75,75,.06)}.fx-bullet-tip{border-color:rgba(70,160,255,.32);background:rgba(70,160,255,.06)}.fx-callout-check{border-color:rgba(70,190,120,.32);background:rgba(70,190,120,.07)}.fx-callout-reassembly{border-color:rgba(155,120,255,.3);background:rgba(155,120,255,.06)}.fx-technical-note{margin:.8rem 0;border:1px solid rgba(127,127,127,.2);border-radius:12px;padding:.75rem .9rem}.fx-technical-note summary{cursor:pointer;font-weight:700}.fx-step-footer{display:flex;justify-content:space-between;margin-top:1rem;padding-top:.8rem;border-top:1px solid rgba(127,127,127,.16)}.fx-step-footer a{text-decoration:none}.fx-reassembly-panel{margin-top:2rem;padding:1.2rem}.fx-guide-checks{margin-top:2.2rem}.fx-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.fx-check-card{padding:1rem;border:1px solid rgba(80,170,120,.3);background:rgba(70,170,110,.06);border-radius:14px}.fx-check-card.is-critical{border-width:2px}.fx-guide-evidence{margin:2rem auto}.fx-guide-evidence details{padding:1rem}.fx-guide-evidence summary{cursor:pointer;font-weight:700}.fx-reference-list{display:grid;gap:.65rem;margin-top:.9rem}.fx-reference-list>div{padding:.75rem;border-radius:10px;background:rgba(127,127,127,.06)}.fx-reference-list span,.fx-reference-list small,.fx-reference-list strong{display:block}.fx-reference-list span,.fx-reference-list small{opacity:.65}.fx-reference-list strong{margin:.15rem 0}.section-heading p{opacity:.72;max-width:62ch}.fx-guide-resources+.fx-repair-parts{margin-top:1.2rem}.fx-ifixit-premium,.fx-ifixit-api-guide{margin-top:2.2rem}.fx-ifixit-premium{padding:1.2rem;border:1px solid rgba(70,150,255,.28);border-radius:20px;background:rgba(70,150,255,.05)}.fx-ifixit-mode{display:inline-flex;align-items:center;padding:.45rem .7rem;border-radius:999px;background:rgba(70,150,255,.12);font-size:.78rem;white-space:nowrap}.fx-ifixit-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.fx-ifixit-product-card{display:flex;flex-direction:column;border:1px solid rgba(127,127,127,.22);border-radius:16px;overflow:hidden;background:var(--fx-panel,#fff)}.fx-ifixit-product-image{display:block;aspect-ratio:4/3;background:#fff;overflow:hidden}.fx-ifixit-product-image img{width:100%;height:100%;object-fit:contain;display:block}.fx-ifixit-product-copy{display:flex;flex-direction:column;gap:.45rem;padding:1rem;height:100%}.fx-ifixit-product-copy h3{margin:0;font-size:1.08rem}.fx-ifixit-product-copy p{margin:0;opacity:.75}.fx-ifixit-product-copy small{opacity:.65}.fx-ifixit-product-copy .button{margin-top:auto;text-align:center}.fx-ifixit-product-kind{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;opacity:.65}.fx-ifixit-legal{font-size:.8rem;opacity:.67;margin:1rem 0 0}.fx-ifixit-api-guide{border:1px solid rgba(127,127,127,.23);border-radius:20px;padding:1.2rem;background:var(--fx-panel,#fff)}.fx-ifixit-api-heading{display:flex;justify-content:space-between;gap:1.2rem;align-items:flex-start}.fx-ifixit-api-heading h2{margin:.3rem 0 .5rem}.fx-ifixit-api-heading p{max-width:75ch;opacity:.78}.fx-ifixit-noncommercial-notice{margin:1rem 0;padding:.9rem 1rem;border-radius:14px;border:1px solid rgba(255,166,0,.35);background:rgba(255,166,0,.07)}.fx-ifixit-noncommercial-notice p{margin:.3rem 0 0}.fx-ifixit-step-list{display:grid;gap:1rem;margin-top:1.2rem}.fx-ifixit-step-card{padding:1rem;border:1px solid rgba(127,127,127,.2);border-radius:16px;background:rgba(127,127,127,.035)}.fx-ifixit-step-card header span{font-size:.75rem;opacity:.65}.fx-ifixit-step-card header h3{margin:.25rem 0 .85rem}.fx-ifixit-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.fx-ifixit-image-grid figure{margin:0;border-radius:12px;overflow:hidden;background:#0b0b0b;aspect-ratio:4/3}.fx-ifixit-image-grid img{width:100%;height:100%;object-fit:contain;display:block}.fx-ifixit-step-lines{margin:.9rem 0 0;padding-left:1.3rem;display:grid;gap:.5rem;line-height:1.55}.fx-ifixit-bullet-icon_caution::marker{color:#d59a00}.fx-ifixit-bullet-icon_note::marker{color:#2879d0}.fx-ifixit-bullet-icon_reminder::marker{color:#278a56}.fx-ifixit-attribution{font-size:.8rem;opacity:.68;margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(127,127,127,.18)}@media(max-width:980px){.fx-guide-hero-grid,.fx-procedure-layout{grid-template-columns:1fr}.fx-guide-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.fx-step-index{position:static;max-height:none}.fx-step-index nav{grid-template-columns:repeat(2,minmax(0,1fr))}.fx-warning-grid,.fx-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fx-ifixit-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.fx-guide-hero{padding-top:1rem}.fx-guide-hero-copy h1{font-size:2.35rem}.fx-guide-intro-grid,.fx-guide-resources,.fx-warning-grid,.fx-check-grid,.fx-step-media-grid,.fx-ifixit-product-grid,.fx-ifixit-image-grid{grid-template-columns:1fr}.fx-guide-facts{grid-template-columns:1fr 1fr}.fx-step-index nav{display:flex;overflow-x:auto;padding-bottom:.25rem}.fx-step-index a{min-width:150px}.fx-repair-step{padding:.85rem}.fx-step-header{align-items:flex-start}.fx-step-number{width:42px;height:42px;flex:0 0 auto}.fx-step-header h3{font-size:1.2rem}.fx-resource-list li{align-items:flex-start}.fx-guide-preview-banner .shell{display:block}.fx-guide-preview-banner span{display:block;margin-top:.2rem;opacity:.85}.fx-ifixit-api-heading{display:block}.fx-ifixit-api-heading .button{display:inline-block;margin-top:.75rem}}

/* iFixit-style API guide layout */
.fx-ifixit-api-guide{border:0;border-radius:0;background:transparent;padding:0;margin-top:2rem}
.fx-ifixit-api-heading{padding:0 0 1.25rem;border-bottom:1px solid rgba(127,127,127,.18)}
.fx-ifixit-api-heading .eyebrow{font-size:.72rem;letter-spacing:.08em}
.fx-ifixit-api-heading h2{font-size:clamp(1.7rem,3vw,2.45rem);margin:.35rem 0 .4rem}
.fx-ifixit-api-heading p{margin:.2rem 0 .8rem;max-width:72ch}
.fx-ifixit-noncommercial-notice{margin:.9rem 0 0;padding:.72rem .9rem;border-radius:10px;font-size:.88rem}
.fx-ifixit-noncommercial-notice p{margin:.2rem 0 0;line-height:1.45}
.fx-ifixit-step-list{display:block;margin-top:1.1rem}
.fx-ifixit-step-card{padding:2rem 0 2.5rem;border:0;border-bottom:1px solid rgba(127,127,127,.18);border-radius:0;background:transparent}
.fx-ifixit-step-heading{display:flex;align-items:baseline;gap:1rem;margin:0 0 1rem}
.fx-ifixit-step-heading strong{font-size:1.45rem;line-height:1.1;white-space:nowrap}
.fx-ifixit-step-heading h3{font-size:1.45rem;font-weight:500;line-height:1.25;margin:0}
.fx-ifixit-step-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:1.45rem;align-items:start}
.fx-ifixit-step-gallery,.fx-ifixit-step-copy{min-width:0}
.fx-ifixit-main-image{position:relative;overflow:hidden;border:1px solid #d9dde5;border-radius:6px;background:#fff;min-height:420px}
.fx-ifixit-main-image img{display:block;width:100%;height:100%;max-height:650px;object-fit:contain;background:#fff}
.fx-ifixit-main-image>a{position:absolute;right:12px;top:12px;width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.94);box-shadow:0 2px 10px rgba(0,0,0,.12);text-decoration:none;color:#333;font-size:1.2rem}
.fx-ifixit-no-image{display:grid;place-items:center;color:#777;min-height:320px}
.fx-ifixit-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0 0 1rem}
.fx-ifixit-thumb{appearance:none;border:1px solid #d9dde5;border-radius:5px;background:#fff;padding:0;overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s,opacity .15s}
.fx-ifixit-thumb img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#fff}
.fx-ifixit-thumb:hover,.fx-ifixit-thumb.is-active{border-color:#7d91cf;box-shadow:0 2px 8px rgba(30,60,120,.15)}
.fx-ifixit-thumb:not(.is-active){opacity:.82}
.fx-ifixit-step-lines{margin:.1rem 0 0;padding-left:1.5rem;display:grid;gap:1rem;font-size:1.02rem;line-height:1.55}
.fx-ifixit-step-lines li{padding-left:.2rem}
.fx-ifixit-step-lines li::marker{font-size:1.2em;color:#20242c}
.fx-step-commerce-stack{margin-top:0}
.fx-step-commerce-strip{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.7rem .8rem;border:1px solid #bfd2ee;border-top:0;border-radius:0 0 6px 6px;background:#dfeafb}
.fx-step-commerce-strip+.fx-step-commerce-strip{border-top:1px solid #bfd2ee;border-radius:0}
.fx-step-commerce-image{display:grid;place-items:center;width:58px;height:58px;border:1px solid #7ea6ec;border-radius:5px;background:#fff;overflow:hidden;text-decoration:none}
.fx-step-commerce-image img{display:block;max-width:92%;max-height:92%;object-fit:contain}
.fx-step-commerce-image span{font-weight:800;color:#4a66d8}
.fx-step-commerce-copy{display:grid;gap:.15rem;min-width:0}
.fx-step-commerce-copy small{font-size:.7rem;font-weight:800;letter-spacing:.06em;color:#4875d4}
.fx-step-commerce-copy strong{font-size:.98rem;line-height:1.2}
.fx-step-commerce-copy strong a{color:inherit;text-decoration:none}
.fx-step-commerce-copy span{font-size:.83rem;color:#4d5562}
.fx-step-commerce-strip .button{white-space:nowrap;padding:.68rem .9rem;border-radius:6px}
.fx-step-commerce-strip-source{background:#eaf1fb}
.fx-guide-shopping{margin-top:1.5rem}
.fx-guide-shopping .section-heading{margin-bottom:.8rem}
.fx-guide-shopping-empty{padding:.85rem 1rem;border:1px dashed rgba(127,127,127,.28);border-radius:10px;background:rgba(127,127,127,.035)}
.fx-guide-shopping-empty p{margin:.25rem 0 0;font-size:.9rem;opacity:.75}
.fx-ifixit-source-products{margin-top:.85rem;border:1px solid rgba(127,127,127,.18);border-radius:10px;padding:.8rem 1rem;background:transparent}
.fx-ifixit-source-products summary{cursor:pointer;font-weight:700}
.fx-ifixit-source-products>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem .9rem;margin-top:.8rem}
.fx-ifixit-source-products p{margin:0;padding:.6rem .7rem;border-radius:8px;background:rgba(127,127,127,.05);font-size:.9rem}
.fx-guide-alternative-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}
.fx-guide-alternative-card{display:grid;grid-template-columns:88px 1fr;gap:.8rem;border:1px solid rgba(127,127,127,.18);border-radius:12px;padding:.75rem;background:var(--fx-panel,#fff)}
.fx-guide-alt-media{display:grid;place-items:center;width:88px;height:88px;border-radius:9px;background:#fff;overflow:hidden}
.fx-guide-alt-media img{width:100%;height:100%;object-fit:contain}
.fx-guide-alt-copy{min-width:0}
.fx-guide-alt-copy h3{font-size:1rem;margin:.15rem 0 .3rem}
.fx-guide-alt-copy p{font-size:.82rem;margin:0 0 .35rem;opacity:.7}
.fx-guide-alt-meta{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.82rem;margin-bottom:.45rem}
.fx-guide-alt-copy .button{padding:.55rem .7rem;font-size:.84rem}
@media(max-width:980px){
  .fx-ifixit-step-layout{grid-template-columns:1fr}
  .fx-ifixit-step-copy{display:flex;flex-direction:column}
  .fx-ifixit-thumbnails{order:0;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:.2rem}
  .fx-ifixit-step-lines{order:1}
  .fx-ifixit-main-image{min-height:0}
}
@media(max-width:720px){
  .fx-ifixit-api-heading{display:block}
  .fx-ifixit-api-heading .button{display:inline-flex;margin-top:.65rem}
  .fx-ifixit-step-card{padding:1.4rem 0 1.8rem}
  .fx-ifixit-step-heading{gap:.55rem;align-items:flex-start}
  .fx-ifixit-step-heading strong,.fx-ifixit-step-heading h3{font-size:1.15rem}
  .fx-ifixit-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
  .fx-step-commerce-strip{grid-template-columns:52px minmax(0,1fr)}
  .fx-step-commerce-image{width:50px;height:50px}
  .fx-step-commerce-strip .button{grid-column:1/-1;width:100%}
  .fx-guide-alternative-card{grid-template-columns:72px 1fr}
  .fx-guide-alt-media{width:72px;height:72px}
}

/* Match iFixit's desktop step proportions more closely. */
.fx-ifixit-step-card{max-width:1220px}
.fx-ifixit-step-layout{grid-template-columns:minmax(0,592px) minmax(0,1fr);gap:20px}
.fx-ifixit-step-gallery{width:592px;max-width:100%}
.fx-ifixit-main-image{width:592px;max-width:100%;height:444px;min-height:0}
.fx-ifixit-main-image img{width:100%;height:100%;max-height:none;object-fit:contain}
.fx-ifixit-step-copy{width:100%}
.fx-ifixit-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}
.fx-ifixit-thumb img{aspect-ratio:4/3;object-fit:cover}
.fx-step-commerce-stack,.fx-step-commerce-strip{width:100%}
@media(max-width:980px){
  .fx-ifixit-step-card{max-width:none}
  .fx-ifixit-step-layout{grid-template-columns:1fr}
  .fx-ifixit-step-gallery,.fx-ifixit-main-image{width:100%;max-width:100%}
  .fx-ifixit-main-image{height:auto;aspect-ratio:4/3}
  .fx-ifixit-main-image img{height:100%}
}

/* Prevent guide header / licence notice horizontal clipping at narrow desktop widths. */
.fx-ifixit-api-guide,
.fx-ifixit-api-guide *{box-sizing:border-box}
.fx-ifixit-api-guide{max-width:min(1220px,calc(100vw - 32px));overflow-x:clip}
.fx-ifixit-api-heading{min-width:0;flex-wrap:wrap}
.fx-ifixit-api-heading>div{min-width:0;flex:1 1 520px;max-width:100%}
.fx-ifixit-api-heading .button{flex:0 0 auto;max-width:100%;white-space:normal;text-align:center}
.fx-ifixit-api-heading h2,
.fx-ifixit-api-heading p,
.fx-ifixit-noncommercial-notice,
.fx-ifixit-noncommercial-notice p{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
.fx-ifixit-noncommercial-notice{width:100%;overflow:hidden}
@media(max-width:760px){
  .fx-ifixit-api-guide{max-width:calc(100vw - 24px)}
  .fx-ifixit-api-heading>div{flex-basis:100%}
  .fx-ifixit-api-heading .button{width:100%;justify-content:center}
}


/* Dark mode keeps iFixit commerce cards light, so their copy must remain dark. */
.fx-step-commerce-copy strong { color:#111827; }
html[data-theme="dark"] .fx-ifixit-api-guide .fx-step-commerce-strip {
  color:#111827 !important;
  background:#eaf1fb;
}
html[data-theme="dark"] .fx-ifixit-api-guide .fx-step-commerce-copy strong {
  color:#111827 !important;
}
html[data-theme="dark"] .fx-ifixit-api-guide .fx-step-commerce-copy small {
  color:#416fc4 !important;
}
html[data-theme="dark"] .fx-ifixit-api-guide .fx-step-commerce-copy span {
  color:#4b5563 !important;
}
