/* ============================================================ */
/* BK Wireless · /repairs/model.css                             */
/* Layout "F" for the repair model pages                        */
/* (/repairs/<brand>/<model>/). Loaded after global.css.        */
/*                                                              */
/* Source of the look: variants/bento/v3-repair-model.html      */
/* opened with ?top=photo. Bench photo first, a dark headline   */
/* panel and a white price card over its lower edge, then the   */
/* page sections, and on phones a slim price bar fixed to the   */
/* bottom of the screen.                                        */
/*                                                              */
/* Every class here starts with rmf- and every rule sits under  */
/* the .rmf wrapper, so nothing collides with global.css.       */
/* Colors and fonts are the global.css tokens only.             */
/* Pages are written by convert-repair-model-pages.py.          */
/* ============================================================ */

.rmf{
  --rmf-r:12px;
  --rmf-dark:var(--charcoal);
  --rmf-ink:var(--white);
  --rmf-dim:rgba(255,255,255,.72);
  padding-top:16px;
  background:var(--white);
  color:var(--charcoal);
  font-size:16px;
  line-height:1.4;
}

/* undo the global.css element defaults inside the wrapper */
.rmf h1,.rmf h2,.rmf h3{margin:0;color:var(--black);font-weight:900;letter-spacing:-.045em;line-height:1.02}
/* h2/h3: plain wrapping as in the mockup; browsers that know "pretty" also avoid a lone last word */
.rmf h2,.rmf h3{text-wrap:wrap;text-wrap:pretty}
.rmf p{margin:0}
.rmf a{color:inherit;text-decoration:none}
.rmf img{height:auto}

.rmf .rmf-wrap{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}
.rmf .rmf-rule{border-top:1.5px solid var(--charcoal)}
/* kept for screen readers and search engines, not drawn */
.rmf .rmf-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- buttons ---------- */
.rmf .rmf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 18px;
              border:1.5px solid transparent;border-radius:8px;font-family:var(--font-sans);font-size:14.5px;font-weight:700;
              line-height:1.2;letter-spacing:-.01em;white-space:nowrap;text-align:center;
              transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.rmf .rmf-btn::after{content:"\2192";font-weight:400;letter-spacing:0}
.rmf .rmf-btn--plain::after{content:none}
.rmf .rmf-btn--red{background:var(--red);color:var(--white)}
.rmf .rmf-btn--red:hover{background:var(--red-dark);color:var(--white)}
.rmf .rmf-btn--line{background:var(--white);border-color:var(--charcoal);color:var(--black)}
.rmf .rmf-btn--line:hover{border-color:var(--red);color:var(--red)}

/* ---------- top block: photo, headline panel, price card ---------- */
.rmf .rmf-photo{display:block;width:100%;height:230px;object-fit:cover;object-position:55% 40%;border-radius:var(--rmf-r)}
.rmf .rmf-cards{position:relative;display:grid;gap:12px;margin-top:-52px}
.rmf .rmf-panel{margin:0 12px;padding:22px 20px 24px;border-radius:var(--rmf-r);background:var(--rmf-dark);color:var(--rmf-dim)}
.rmf .rmf-eb{margin-bottom:10px;font-size:12px;font-weight:800;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:var(--rmf-dim)}
.rmf .rmf-panel h1{font-size:clamp(34px,8vw,48px);color:var(--rmf-ink)}
.rmf .rmf-lead{margin-top:12px;font-size:17px;letter-spacing:-.01em;color:var(--rmf-ink)}

/* the page's intro paragraph and its three check lines: under the price card on a phone, inside the dark panel on a computer */
.rmf .rmf-more{padding:8px 4px 0}
.rmf .rmf-intro{max-width:62ch;font-size:15.5px;color:var(--grey)}
.rmf .rmf-intro + .rmf-intro{margin-top:10px}
.rmf .rmf-checks{display:flex;flex-wrap:wrap;gap:8px 20px}
.rmf .rmf-intro + .rmf-checks{margin-top:16px}
.rmf .rmf-checks li{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:800;color:var(--black)}
.rmf .rmf-checks li::before{content:"\2713";display:flex;flex:0 0 20px;align-items:center;justify-content:center;width:20px;height:20px;
                            border-radius:50%;background:var(--soft-red);color:var(--red);font-size:11px;font-weight:900}

.rmf .rmf-price{display:flex;flex-direction:column;padding:18px 20px 20px;border:1px solid var(--border);border-radius:var(--rmf-r);background:var(--white)}
.rmf .rmf-price__head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.rmf .rmf-price h2{font-size:22px}
.rmf .rmf-price__sub{margin-top:6px;font-size:13.5px;color:var(--grey)}
.rmf .rmf-price__device{flex:0 0 60px;width:60px;height:60px;object-fit:contain}
.rmf .rmf-price__none{display:flex;flex:0 0 60px;align-items:center;justify-content:center;width:60px;height:60px;border-radius:8px;background:var(--light);
                      font-family:var(--font-mono);font-size:10px;line-height:1.3;text-align:center;color:var(--grey-light)}
.rmf .rmf-row{display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--border)}
.rmf .rmf-price__head + .rmf-row{margin-top:12px;border-top:1.5px solid var(--charcoal)}
.rmf .rmf-row h3{font-size:17px;letter-spacing:-.03em}
.rmf .rmf-amt{font-family:var(--font-mono);font-size:26px;line-height:1;letter-spacing:-.04em;color:var(--black)}
.rmf .rmf-row p{grid-column:1/-1;font-size:13.5px;color:var(--grey)}
/* every approved price grade, like the store poster (apply-repair-prices.py, 2026-10-27) */
.rmf .rmf-grades{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;margin:8px 0 4px;padding:0;list-style:none}
.rmf .rmf-grades li{display:flex;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;border-radius:8px;background:var(--light)}
.rmf .rmf-grades span{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--grey)}
.rmf .rmf-grades b{font-family:var(--font-mono);font-size:24px;font-weight:400;line-height:1;letter-spacing:-.04em;color:var(--black)}
.rmf .rmf-amt--text{font-family:var(--font-sans);font-size:15px;font-weight:700;letter-spacing:0}
.rmf .rmf-amt--text a{color:var(--red)}
.rmf .rmf-price__foot{margin-top:12px;font-size:13.5px;color:var(--grey)}
.rmf .rmf-btns{display:grid;gap:8px;margin-top:auto;padding-top:16px}

/* ---------- the sections under the top block ---------- */
.rmf .rmf-main{margin-top:44px}
.rmf .rmf-main > * + *{margin-top:44px}
.rmf .rmf-main h2{font-size:clamp(26px,5.4vw,32px)}
.rmf .rmf-sub{max-width:62ch;margin-top:8px;font-size:15.5px;color:var(--grey)}

.rmf .rmf-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.rmf .rmf-fact{padding:14px 16px;border-radius:10px;background:var(--light)}
.rmf .rmf-fact b{display:block;font-size:30px;font-weight:900;line-height:1.05;letter-spacing:-.04em;color:var(--black)}
.rmf .rmf-fact span{font-size:13.5px;color:var(--grey)}

.rmf .rmf-probs__list{margin-top:16px}
.rmf .rmf-probs__list li{padding:14px 0;border-bottom:1px solid var(--border)}
.rmf .rmf-probs__list b{display:block;font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--black)}
.rmf .rmf-probs__text{display:block;margin-top:3px;font-size:15px;color:var(--grey)}
.rmf .rmf-probs > .rmf-btn{margin-top:18px}

.rmf .rmf-parts__list{margin-top:14px}
.rmf .rmf-parts__list li{padding:11px 0;border-bottom:1px solid var(--border);font-size:15px}
.rmf .rmf-parts__list strong{font-weight:800;color:var(--black)}
.rmf .rmf-turn{margin-top:16px;padding:18px 20px;border-radius:10px;background:var(--soft-red)}
.rmf .rmf-turn h3{font-size:18px}
.rmf .rmf-turn p{margin-top:4px;font-size:15px}
.rmf .rmf-turn .rmf-btn{margin-top:14px}

.rmf .rmf-specs__grid{display:grid;gap:0 30px;margin:16px 0 0}
.rmf .rmf-specs__grid div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--border);font-size:14px}
.rmf .rmf-specs__grid dt{color:var(--grey);white-space:nowrap}
.rmf .rmf-specs__grid dd{margin:0;font-family:var(--font-mono);font-size:13px;text-align:right;color:var(--black)}
.rmf .rmf-notes p{max-width:68ch;margin-top:12px;font-size:15px;color:var(--grey)}

/* ---------- full-width sections ---------- */
.rmf .rmf-sec{padding-top:52px}
.rmf .rmf-sec h2,.rmf .rmf-proof h2{font-size:clamp(28px,6.4vw,40px)}

.rmf .rmf-proof{margin-top:52px;padding:52px 0 56px;background:var(--rmf-dark);color:var(--rmf-ink)}
.rmf .rmf-proof h2{color:var(--rmf-ink)}
.rmf .rmf-proof__top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.rmf .rmf-qgrid{display:grid;gap:12px;margin-top:26px}
.rmf .rmf-q{display:flex;flex-direction:column;padding:20px;border-radius:var(--rmf-r);background:var(--white);color:var(--charcoal)}
.rmf .rmf-q__label{margin-bottom:10px;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--red)}
.rmf .rmf-q__text{font-size:15.5px;line-height:1.5}

.rmf .rmf-split{display:grid;gap:18px}
.rmf .rmf-qa details{border-bottom:1px solid var(--border)}
.rmf .rmf-qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:60px;padding:14px 0;
                     font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--black)}
.rmf .rmf-qa summary::-webkit-details-marker{display:none}
.rmf .rmf-qa summary::after{content:"+";font-size:24px;font-weight:400;line-height:1;color:var(--red)}
.rmf .rmf-qa details[open] summary::after{content:"\2013"}
.rmf .rmf-qa__body{max-width:60ch;padding:0 0 16px;font-size:15.5px;color:var(--grey)}
.rmf .rmf-qa__body p + p{margin-top:10px}

.rmf .rmf-trade{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;padding:26px 24px;
                border-radius:var(--rmf-r);background:var(--rmf-dark);color:var(--rmf-ink)}
.rmf .rmf-trade h2{color:var(--rmf-ink)}
.rmf .rmf-trade p{max-width:56ch;margin-top:8px;font-size:15.5px;color:var(--rmf-dim)}
.rmf .rmf-trade__btns{display:flex;flex-wrap:wrap;gap:8px}

.rmf .rmf-models{display:grid;gap:12px;margin-top:20px}
.rmf .rmf-mtile{position:relative;overflow:hidden;display:block;min-height:214px;padding:18px 20px;border-radius:var(--rmf-r);background:var(--light)}
.rmf .rmf-mtile h3{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:22px}
.rmf .rmf-mtile h3::after{content:"\2192";font-weight:400;letter-spacing:0}
.rmf .rmf-mtile:hover h3{color:var(--red)}
.rmf .rmf-mtile__p{margin-top:4px;font-family:var(--font-mono);font-size:14px;color:var(--grey)}
.rmf .rmf-mtile img{position:absolute;left:50%;bottom:-74px;width:196px;max-width:none;transform:translateX(-50%)}
.rmf .rmf-mtile__none{position:absolute;left:0;right:0;bottom:44px;font-family:var(--font-mono);font-size:12px;text-align:center;color:var(--grey-light)}
.rmf .rmf-more-links{margin-top:14px;font-size:14.5px;color:var(--grey)}
.rmf .rmf-more-links a{font-weight:800;color:var(--black);border-bottom:1.5px solid var(--border)}
.rmf .rmf-more-links a:hover{color:var(--red);border-color:var(--red)}

.rmf .rmf-area__top{padding-top:26px}
.rmf .rmf-area__top p{margin-top:6px;font-size:17px;color:var(--grey)}
.rmf .rmf-area__top p a{text-decoration:underline}
.rmf .rmf-area__top p a:hover{color:var(--red)}
.rmf .rmf-bigline{display:flex;flex-wrap:wrap;gap:0 16px;margin-top:18px;padding-bottom:22px;border-bottom:1px solid var(--border);
                  font-size:clamp(24px,2.9vw,28px);font-weight:900;letter-spacing:-.04em}
.rmf .rmf-bigline li{display:flex;align-items:center;gap:16px}
.rmf .rmf-bigline li + li::before{content:"/";font-weight:400;color:var(--red)}
.rmf .rmf-bigline a{display:inline-flex;align-items:center;min-height:48px;color:var(--black)}
.rmf .rmf-bigline a:hover{color:var(--red)}

/* closing red band: holds the booking form (#repair-widget). The form embed itself is the page's own, untouched. */
.rmf .rmf-cta{margin-top:52px;padding:44px 0;background:var(--red);scroll-margin-top:60px}
.rmf .rmf-cta__in{display:grid;gap:22px}
.rmf .rmf-cta h2{color:var(--white);font-size:clamp(32px,7.4vw,48px)}
.rmf .rmf-cta__copy p{max-width:48ch;margin-top:8px;font-size:16px;color:var(--white)}
.rmf .rmf-cta .repair-widget__embed{overflow:hidden;border-radius:var(--rmf-r);background:var(--white)}
.rmf .rmf-cta .repair-widget__embed::before{color:var(--charcoal)}

/* ---------- phone price bar: by screen width only ---------- */
.rmf .rmf-bar{display:none}
@media(max-width:759px){
  .rmf .rmf-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;align-items:center;justify-content:space-between;gap:12px;
                padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--white)}
  .rmf .rmf-bar span{display:block;font-size:13px;font-weight:700;line-height:1.4;letter-spacing:-.01em;white-space:nowrap;color:var(--black)}
  .rmf .rmf-bar b{margin-left:4px;font-family:var(--font-mono);font-size:15px;font-weight:400}
  /* room under the footer so the bar never covers it */
  body{padding-bottom:calc(65px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:359px){
  .rmf .rmf-bar{gap:8px;padding-left:12px;padding-right:12px}
  .rmf .rmf-bar span{font-size:12px}
  .rmf .rmf-bar b{margin-left:2px;font-size:13px}
  .rmf .rmf-bar .rmf-btn{gap:6px;padding:10px 12px;font-size:13.5px}
}

/* ---------- wider screens ---------- */
@media(min-width:760px){
  .rmf .rmf-photo{height:440px}
  .rmf .rmf-cards{grid-template-columns:1fr 1.08fr;grid-template-rows:auto 1fr;gap:0 14px;margin:-84px 16px 0}
  .rmf .rmf-panel{grid-area:1/1;margin:0;padding:30px 26px 0;border-radius:var(--rmf-r) var(--rmf-r) 0 0}
  .rmf .rmf-panel h1{font-size:clamp(34px,4.7vw,48px)}
  .rmf .rmf-panel--whole{grid-area:1/1/3/2;padding-bottom:32px;border-radius:var(--rmf-r)}
  .rmf .rmf-more{grid-area:2/1;margin-top:-1px;padding:15px 26px 32px;border-radius:0 0 var(--rmf-r) var(--rmf-r);background:var(--rmf-dark)}
  .rmf .rmf-price{grid-area:1/2/3/3}
  .rmf .rmf-intro{font-size:15px;color:var(--rmf-dim)}
  .rmf .rmf-checks li{color:var(--rmf-ink)}
  .rmf .rmf-btns{grid-template-columns:1fr 1fr}
  .rmf .rmf-facts{grid-template-columns:repeat(4,1fr)}
  .rmf .rmf-specs__grid{grid-template-columns:1fr 1fr}
  .rmf .rmf-qgrid{grid-template-columns:repeat(3,1fr)}
  .rmf .rmf-split{grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}
  .rmf .rmf-models{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:900px){
  .rmf .rmf-main{display:grid;grid-template-columns:1fr 1fr;gap:44px 40px}
  .rmf .rmf-main > *{margin-top:0}
  .rmf .rmf-main > .rmf-facts,.rmf .rmf-main > .rmf-specs,.rmf .rmf-main > section:last-of-type{grid-column:1/-1}
  .rmf .rmf-specs__grid{grid-template-columns:repeat(3,1fr)}
  .rmf .rmf-cta__in{grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}
}
