:root{
  --ink:#071b24;
  --ink-2:#17313d;
  --muted:#667b84;
  --paper:#f4f8f7;
  --white:#fff;
  --line:#dbe6e2;
  --green:#2563eb;
  --green-dark:#1d4ed8;
  --lime:#38bdf8;
  --shadow:0 22px 60px rgba(7,27,36,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;min-width:0;overflow-x:hidden;background:#fff;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.5}
img{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{text-decoration:none;color:inherit}
button{color:inherit}
.site-header{position:sticky;top:0;z-index:50;background:linear-gradient(135deg,rgba(4,14,32,.98) 0%,rgba(8,22,48,.97) 62%,rgba(15,49,102,.95) 100%);backdrop-filter:blur(14px);border-bottom:1px solid rgba(116,158,255,.18);box-shadow:0 10px 28px rgba(1,8,20,.20)}
.announcement{min-height:34px;padding:8px 14px;background:linear-gradient(90deg,rgba(3,18,39,.92),rgba(5,49,79,.88));color:#d9eef7;text-align:center;font-size:12px;white-space:normal;border-bottom:1px solid rgba(116,158,255,.12)}
.nav-shell{width:min(1180px,calc(100% - 32px));height:76px;margin:auto;display:flex;align-items:center;gap:28px;min-width:0}
.brand{display:flex;align-items:center;flex:0 1 auto;min-width:0}
.brand{display:inline-flex;align-items:center;background:transparent;padding:0;border-radius:0;line-height:0;box-shadow:none}.brand img{display:block;width:260px;max-width:38vw;height:auto;max-height:48px;object-fit:contain;object-position:left center;border-radius:0}
.nav-links{display:flex;gap:25px;margin-left:auto;color:#eef4f7;font-size:14px;font-weight:750;text-shadow:0 1px 0 rgba(0,0,0,.15)}
.nav-links a:hover{color:#8cc2ff}
.menu-button{display:none;margin-left:auto;border:0;background:transparent;font-size:30px;line-height:1;padding:6px;cursor:pointer;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.2)}
.button{border:0;border-radius:14px;min-height:48px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff;font-weight:850;cursor:pointer;box-shadow:0 12px 24px rgba(37,99,235,.21);transition:.18s ease}
.button:hover{transform:translateY(-1px);background:#1e40af}
.button:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.button-secondary{background:transparent;border:1px solid rgba(255,255,255,.25);box-shadow:none}
.button-muted{background:#e9efed;color:#29414a;box-shadow:none}
.button-light{background:#fff;color:var(--ink)}
.nav-book{min-height:42px;font-size:14px;padding-inline:17px}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 10%,rgba(37,99,235,.24),transparent 32%),linear-gradient(135deg,#07172d 0%,#10254a 65%,#153c78 100%);color:#fff;padding:82px 0 88px}
.hero-inner{width:min(1180px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);align-items:center;gap:70px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;font-size:12px;letter-spacing:1.25px;font-weight:900;color:#bde7d8}
.eyebrow.dark{color:var(--green-dark)}
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 6px rgba(56,189,248,.12)}
.hero h1{margin:18px 0 22px;max-width:720px;font-size:clamp(48px,6.2vw,78px);line-height:1.02;letter-spacing:-4px}
.hero p{max-width:650px;margin:0;color:#c3d5da;font-size:18px;line-height:1.7}
.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:32px}
.hero-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:42px;max-width:650px}
.hero-trust div{display:flex;flex-direction:column;gap:3px}
.hero-trust strong{font-size:15px}.hero-trust span{font-size:11px;color:#90a8af}
.hero-panel{min-width:0;background:linear-gradient(160deg,#f6fffc,#e4f5ef);border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:28px;color:var(--ink);box-shadow:0 40px 80px rgba(0,0,0,.28);transform:rotate(2deg)}
.hero-panel-top{display:flex;align-items:center;gap:13px}.hero-panel-top img{width:54px;height:54px;object-fit:contain}.hero-panel-top div{display:flex;flex-direction:column}.hero-panel-top small{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6a7f84}.hero-panel-top b{font-size:21px}
.hero-device{margin-top:30px;padding:20px;background:#fff;border:1px solid #d4e5df;border-radius:17px;font-weight:850}.hero-device span{display:block;color:#6a7f84;font-size:12px;margin-top:4px;font-weight:600}
.hero-time{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:16px 2px}.hero-time span{color:#647c80;font-size:12px}.hero-time strong{font-size:19px}
.hero-status{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.hero-status span{height:6px;border-radius:6px;background:#c8d8d3}.hero-status span:nth-child(-n+3){background:var(--green)}
.hero-panel>p{font-size:12px;color:#647c80;margin-top:20px;line-height:1.55}
.booking-section{background:linear-gradient(180deg,#f5f7ff,#eef3ff);padding:92px 0}
.booking-wrap{width:min(1180px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:minmax(260px,.66fr) minmax(0,1.34fr);gap:62px;align-items:start}
.booking-intro{position:sticky;top:140px;min-width:0}.booking-intro h2{font-size:46px;line-height:1.08;letter-spacing:-2px;margin:13px 0 18px}.booking-intro>p{color:var(--muted);font-size:17px}.booking-intro ul{list-style:none;padding:0;margin:28px 0;display:grid;gap:12px;font-weight:760}.booking-intro li{color:#253e47}
.booking-card{min-width:0;background:#fff;border:1px solid #d4e3de;border-radius:28px;box-shadow:var(--shadow);overflow:hidden}
.booking-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px 30px 21px}.booking-head small{color:#748d86;font-size:10px;font-weight:900;letter-spacing:1.25px}.booking-head h3{margin:6px 0 0;font-size:30px;line-height:1.1;letter-spacing:-1.2px}.step-counter{display:flex;align-items:baseline;gap:3px;white-space:nowrap}.step-counter b{font-size:30px}.step-counter span{color:#7a918b;font-size:14px}
.progress{height:5px;background:#e8f0ed}.progress span{display:block;height:100%;width:14.28%;background:linear-gradient(90deg,var(--green),var(--lime));transition:width .25s ease}
#bookingForm{padding:28px 30px 30px;min-width:0}.form-step{display:none;min-height:430px;min-width:0}.form-step.active{display:block;animation:fade .2s ease}@keyframes fade{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}
.category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.category-card{width:100%;min-width:0;min-height:124px;padding:18px;border:1px solid var(--line);border-radius:19px;background:#fff;display:grid;grid-template-columns:52px minmax(0,1fr) 22px;align-items:center;gap:14px;text-align:left;cursor:pointer}.category-card:hover,.category-card.selected{border-color:var(--green);background:#f5f7ff;box-shadow:0 0 0 2px rgba(37,99,235,.1)}.category-icon{width:52px;height:52px;border-radius:16px;background:#eaf0ff;color:var(--green-dark);display:grid;place-items:center}.category-icon svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.category-copy{min-width:0;display:flex;flex-direction:column}.category-copy b{font-size:17px}.category-copy small{font-size:12px;color:var(--muted);margin-top:4px}.category-arrow{font-size:23px;color:var(--green-dark)}
.brand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.brand-card{min-width:0;min-height:112px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer}.brand-card:hover,.brand-card.selected{border-color:var(--green);background:#f3fcf8}.brand-badge{width:46px;height:46px;border-radius:14px;background:#eef4f2;display:grid;place-items:center;color:#24434d;font-weight:900}.brand-card b{display:block}.brand-card small{display:block;color:var(--muted);margin-top:4px;font-size:12px}
.field-label{display:block;font-size:13px;font-weight:850;margin-bottom:8px;color:#314a53}.top-gap{margin-top:22px}.field{width:100%;min-width:0;border:1px solid #cedbd7;border-radius:13px;background:#fff;padding:14px 15px;outline:none;color:var(--ink)}.field:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(37,99,235,.1)}textarea.field{resize:vertical}
.list-stack{display:grid;gap:11px;margin-top:14px}#modelOptions{max-height:340px;overflow-y:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-gutter:stable}#modelOptions .model-row{flex:0 0 auto}.model-row,.repair-row{width:100%;min-width:0;border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px 17px;cursor:pointer;text-align:left}.model-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.model-row:hover,.model-row.selected,.repair-row:hover,.repair-row.selected{border-color:var(--green);background:#f5f7ff;box-shadow:0 0 0 2px rgba(37,99,235,.08)}.repair-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:15px}.repair-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.repair-copy b{overflow-wrap:anywhere}.repair-copy small{font-size:12px;color:var(--muted)}.repair-price{font-size:18px;font-weight:900;color:var(--green-dark);white-space:nowrap}
.helper{color:var(--muted);margin:0 0 16px}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.method-card{min-width:0;min-height:160px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;cursor:pointer}.method-card>span{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e9f7f2;color:var(--green-dark);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px}.method-card b{font-size:16px}.method-card small{color:var(--muted)}.method-card:hover,.method-card.selected{border-color:var(--green);background:#f5f7ff}
.date-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(88px,100px);grid-template-rows:1fr;gap:9px;overflow-x:auto;overflow-y:hidden;padding:2px 1px 8px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.date-strip::-webkit-scrollbar{display:none}.date-button{min-height:82px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;scroll-snap-align:start}.date-button small{font-size:9px;font-weight:900;letter-spacing:.5px;color:#6d8381}.date-button b{font-size:21px;line-height:1.1;margin:5px 0 1px}.date-button span{font-size:11px;color:#6d8381}.date-button.selected{border-color:var(--green);background:#effcf7;box-shadow:0 0 0 2px rgba(37,99,235,.1)}
.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.slot-button{min-width:0;min-height:52px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:9px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.slot-button small{font-size:9px;text-transform:uppercase;color:var(--green-dark);font-weight:900}.slot-button:hover,.slot-button.selected{border-color:var(--green);background:#effcf7}.slot-button:disabled{opacity:.35;cursor:not-allowed}.empty-slots{grid-column:1/-1;border:1px dashed #cbdad5;border-radius:14px;background:#f8fbfa;padding:18px;color:var(--muted)}.empty-slots b{display:block;color:var(--ink);margin-bottom:4px}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.contact-grid label>span{display:block;font-size:12px;font-weight:850;margin-bottom:7px;color:#536a70}.contact-grid .wide{grid-column:1/-1}.booking-summary{margin-top:18px;border:1px solid var(--line);background:#f4f8f7;border-radius:16px;padding:14px}.booking-summary div{display:flex;justify-content:space-between;gap:14px;padding:5px 0}.booking-summary span{color:var(--muted);font-size:12px}.booking-summary b{text-align:right;font-size:13px}.terms{display:flex;align-items:flex-start;gap:9px;margin-top:16px;color:#52686e;font-size:13px}.terms input{margin-top:3px}.form-actions{display:flex;justify-content:space-between;gap:12px;padding-top:22px;border-top:1px solid #edf2f0;margin-top:12px}.booking-message{min-height:22px;margin-top:13px;font-weight:750}.booking-message.error{color:#b42318}.booking-message.success{padding:13px 14px;background:#eef4ff;border-radius:13px;color:#1d4ed8}
.how-section{padding:92px 0}.section-inner{width:min(1180px,calc(100% - 40px));margin:auto}.section-title{text-align:center;margin-bottom:38px}.section-title h2{font-size:50px;letter-spacing:-2.4px;line-height:1.05;margin:12px 0 0}.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.steps-grid article{min-width:0;border:1px solid var(--line);border-radius:20px;padding:24px}.steps-grid article>b{color:var(--green-dark)}.steps-grid h3{font-size:20px;line-height:1.3;margin:14px 0 8px}.steps-grid p{margin:0;color:var(--muted)}
.track-section{background:var(--ink);padding:72px 0}.track-card{width:min(1180px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:58px;align-items:center;padding:48px;border-radius:28px;background:linear-gradient(145deg,#102a56,#173f7a);color:#fff}.track-card h2{font-size:44px;line-height:1.08;letter-spacing:-2px;margin:12px 0}.track-card p{color:#c1d3d6}.track-card form{display:grid;gap:11px}.track-result{color:#fff}.track-box{padding:14px;border-radius:13px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}.track-box p{margin:6px 0}.track-box small{color:#bdd4d3}
footer{background:#06161d;color:#afc2c7;padding:58px 0}.footer-inner{width:min(1180px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}.footer-brand img{width:220px;max-width:100%;filter:none;opacity:1;border-radius:8px;display:block}.footer-brand p{max-width:350px}.footer-inner b{color:#fff}.footer-inner p{margin:8px 0}
@media(max-width:980px){
  .nav-links,.nav-book{display:none}.menu-button{display:block}.nav-links.open{display:flex;position:absolute;top:110px;left:16px;right:16px;flex-direction:column;gap:0;background:linear-gradient(135deg,#07172d 0%,#10254a 65%,#153c78 100%);border:1px solid rgba(116,158,255,.20);border-radius:16px;box-shadow:var(--shadow);padding:10px}.nav-links.open a{padding:13px 12px;border-bottom:1px solid rgba(255,255,255,.08);color:#eef4f7}.nav-links.open a:last-child{border:0}
  .hero-inner{grid-template-columns:1fr;gap:45px}.hero-copy{text-align:center}.hero-copy p{margin-inline:auto}.hero-actions{justify-content:center}.hero-trust{margin-inline:auto}.hero-panel{width:min(480px,100%);margin:auto;transform:none}
  .booking-wrap{grid-template-columns:1fr;gap:32px}.booking-intro{position:static}.booking-intro h2{font-size:40px}.booking-intro ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .track-card{grid-template-columns:1fr}.footer-inner{grid-template-columns:1.4fr 1fr}
}
@media(max-width:640px){
  body{width:100%;max-width:100vw}
  .announcement{font-size:11px;min-height:32px;padding:7px 10px}
  .nav-shell{width:calc(100% - 24px);height:68px;gap:14px}.brand{padding:4px 6px}.brand img{width:210px;max-width:63vw;max-height:42px}.menu-button{font-size:29px}.nav-links.open{top:100px}
  .hero{padding:56px 0 60px}.hero-inner{width:calc(100% - 28px);gap:36px}.hero h1{font-size:45px;letter-spacing:-2.5px}.hero p{font-size:16px}.hero-copy{text-align:left}.hero-actions{justify-content:flex-start}.hero-trust{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hero-trust strong{font-size:13px}.hero-trust span{font-size:9px}.hero-panel{display:none}
  .booking-section{padding:56px 0}.booking-wrap{width:calc(100% - 20px);gap:22px}.booking-intro{padding:0 4px}.booking-intro h2{font-size:34px;letter-spacing:-1.4px}.booking-intro>p{font-size:15px}.booking-intro ul{grid-template-columns:1fr;font-size:14px}.booking-card{border-radius:20px}.booking-head{padding:23px 18px 18px}.booking-head h3{font-size:26px}.step-counter b{font-size:28px}#bookingForm{padding:22px 18px 24px}.form-step{min-height:390px}
  .category-list{grid-template-columns:1fr;gap:10px}.category-card{min-height:96px;padding:13px 14px;grid-template-columns:48px minmax(0,1fr) 20px}.category-icon{width:48px;height:48px;border-radius:14px}.category-copy b{font-size:17px}
  .brand-grid{grid-template-columns:1fr}.brand-card{min-height:86px;padding:14px}.brand-badge{width:44px;height:44px}
  .repair-row{padding:14px;gap:10px}.repair-copy b{font-size:16px}.repair-price{font-size:16px}
  .method-grid{grid-template-columns:1fr}.method-card{min-height:104px;padding:15px}.method-card>span{margin-bottom:4px}
  .date-strip{grid-auto-columns:90px}.date-button{min-height:80px}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:1fr}.contact-grid .wide{grid-column:auto}.booking-summary div{align-items:flex-start}.form-actions .button{min-width:112px}
  .how-section{padding:64px 0}.section-inner{width:calc(100% - 24px)}.section-title h2{font-size:38px}.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.steps-grid article{padding:18px 15px;min-height:190px}.steps-grid h3{font-size:17px}.steps-grid p{font-size:13px}
  .track-section{padding:54px 0}.track-card{width:calc(100% - 24px);padding:28px 20px;gap:28px;border-radius:22px}.track-card h2{font-size:36px}
  footer{padding:48px 0}.footer-inner{width:calc(100% - 28px);grid-template-columns:1fr;gap:25px}.footer-brand img{width:190px}
}
@media(max-width:360px){.steps-grid{grid-template-columns:1fr}.repair-row{grid-template-columns:1fr}.repair-price{justify-self:start}.hero-trust{grid-template-columns:1fr 1fr}.hero-trust div:last-child{grid-column:1/-1}.category-card{grid-template-columns:44px minmax(0,1fr) 18px}.category-icon{width:44px;height:44px}}


/* Fonebook multi-location v15 */
.shops-section{padding:86px 0;background:#fff}.shops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.shop-card{border:1px solid var(--line);border-radius:22px;padding:22px;display:grid;grid-template-columns:auto 1fr;gap:16px;background:#fff;box-shadow:0 14px 35px rgba(7,27,36,.06)}.shop-pin{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:#eef3ff;color:#1d4ed8;font-size:28px;font-weight:950;overflow:hidden;flex-shrink:0}.shop-pin.is-image{padding:0;background:#0a0f1a;box-shadow:0 8px 20px rgba(7,27,36,.10)}.shop-pin.is-image img{display:block;width:100%;height:100%;object-fit:cover}.shop-pin-icon{font-size:30px;line-height:1}.shop-card h3{margin:0 0 5px;font-size:20px}.shop-card p{margin:0 0 6px;color:#667a80}.shop-card a{font-weight:750}.shop-actions{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:4px}.shop-actions .button{min-height:43px;padding:0 16px}.shop-local-link{color:#1d4ed8}.track-review{color:#b7f36b;text-decoration:underline;font-weight:800}@media(max-width:700px){.shops-grid{grid-template-columns:1fr}.shops-section{padding:64px 0}.shop-card{padding:18px}.shop-pin{width:56px;height:56px;border-radius:16px;font-size:26px}.shop-pin-icon{font-size:28px}}


/* === Fonebook accessibility contrast fix v15.3 ===
   Targets WCAG AA contrast without changing layout. */
:root{
  --muted:#5b6f77;
}

/* White button text needs a darker green background (>= 4.5:1). */
.button{
  background:#1d4ed8;
  color:#ffffff;
}
.button:hover{
  background:#1e3a8a;
}

/* Small labels on white backgrounds need stronger foreground colours. */
.booking-head small{color:#536a70;}
.step-counter span{color:#596d75;}
.hero-panel-top small{color:#596d75;}
.hero-device span{color:#596d75;}
.hero-time span{color:#596d75;}
.hero-panel>p{color:#596d75;}
.date-button small,
.date-button span{color:#596d75;}
.shop-card p{color:#596d75;}

/* Disabled buttons still look disabled but remain readable. */
.button:disabled{
  opacity:1;
  background:#dfe7e4;
  color:#536a70;
  box-shadow:none;
}

/* Keep selected/interactive green accents while text remains accessible. */
.slot-button small,
.repair-price,
.category-arrow,
.shop-local-link{color:#1d4ed8;}

@media(max-width:600px){#modelOptions{max-height:300px}}

/* v1.2: hidden booking actions must stay hidden regardless of .button display rules */
[hidden]{display:none !important;}
#nextButton[hidden]{display:none !important;}

.flow-price-match-note{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;margin:12px 0 4px;padding:11px 13px;border:1px solid #cfe1ff;border-radius:13px;background:#f4f8ff;color:#25435f;font-size:12px;line-height:1.45}.flow-price-match-note b{color:#143d7a}.flow-price-match-note span{color:#60757b}.repair-flow-option{display:grid;grid-template-columns:minmax(0,1fr) 142px;gap:8px;align-items:stretch}.repair-price-match{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:100%;padding:10px 11px;border:1px solid #cfe1ff;border-radius:16px;background:#f4f8ff;color:#1d4ed8;text-decoration:none;text-align:center;transition:.18s ease}.repair-price-match:hover,.repair-price-match:focus-visible{border-color:#2563eb;background:#eaf1ff;box-shadow:0 0 0 2px rgba(37,99,235,.08)}.repair-price-match span{font-size:10px;color:#61758c;font-weight:750}.repair-price-match b{font-size:13px;font-weight:950}.repair-price-match:focus-visible{outline:2px solid #2563eb;outline-offset:2px}@media(max-width:600px){.repair-flow-option{grid-template-columns:1fr}.repair-price-match{min-height:auto;flex-direction:row;justify-content:space-between;text-align:left;padding:10px 13px;border-radius:13px}.repair-price-match span{font-size:11px}.repair-price-match b:after{content:' →'}}

/* Fonebook hero CTA polish v1.7.7.3 */
.hero-actions .button{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:62px;
  padding:0 26px;
  border-radius:18px;
  font-size:18px;
  letter-spacing:-.2px;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease,filter .22s ease;
}
.hero-actions .button:first-child{
  background:linear-gradient(135deg,#1570ff 0%,#2555f6 48%,#3f82ff 100%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 14px 34px rgba(29,78,216,.38),0 0 0 1px rgba(255,255,255,.08) inset;
  animation:fonebookCtaGlow 2.6s ease-in-out infinite;
}
.hero-actions .button:first-child::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-35% auto -35% -55%;
  width:42%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.1),rgba(255,255,255,.58),rgba(255,255,255,.1),transparent);
  transform:skewX(-18deg) translateX(-180%);
  animation:fonebookCtaShine 3.3s ease-in-out infinite;
}
.hero-actions .button:first-child::after{content:"→";margin-left:11px;font-size:20px;line-height:1;transition:transform .2s ease}
.hero-actions .button:first-child:hover{background:linear-gradient(135deg,#1267ef 0%,#2048d8 52%,#3475ef 100%);box-shadow:0 18px 40px rgba(29,78,216,.48),0 0 0 1px rgba(255,255,255,.12) inset;filter:brightness(1.06)}
.hero-actions .button:first-child:hover::after{transform:translateX(3px)}
.hero-actions .button-secondary{
  background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.055));
  color:#fff;
  border:1px solid rgba(150,190,255,.52);
  box-shadow:0 12px 28px rgba(1,10,30,.24),0 0 0 1px rgba(255,255,255,.045) inset;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.hero-actions .button-secondary::after{content:"⌖";margin-left:10px;font-size:17px;opacity:.9;transition:transform .2s ease}
.hero-actions .button-secondary:hover{background:linear-gradient(135deg,rgba(77,132,255,.22),rgba(255,255,255,.09));border-color:rgba(178,209,255,.82);box-shadow:0 16px 34px rgba(1,10,30,.30),0 0 22px rgba(56,132,255,.12) inset;transform:translateY(-2px)}
.hero-actions .button-secondary:hover::after{transform:rotate(12deg) scale(1.05)}
@keyframes fonebookCtaGlow{
  0%,100%{box-shadow:0 14px 34px rgba(29,78,216,.34),0 0 0 0 rgba(74,144,255,.22),0 0 0 1px rgba(255,255,255,.08) inset;filter:brightness(1)}
  50%{box-shadow:0 17px 38px rgba(29,78,216,.46),0 0 0 9px rgba(74,144,255,0),0 0 0 1px rgba(255,255,255,.12) inset;filter:brightness(1.09)}
}
@keyframes fonebookCtaShine{
  0%,45%{transform:skewX(-18deg) translateX(-180%);opacity:0}
  50%{opacity:1}
  72%{transform:skewX(-18deg) translateX(520%);opacity:1}
  73%,100%{transform:skewX(-18deg) translateX(520%);opacity:0}
}
@media(max-width:640px){
  .hero-actions{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.92fr);gap:10px;width:100%;max-width:520px}
  .hero-actions .button{width:100%;min-width:0;min-height:58px;padding:0 13px;border-radius:16px;font-size:15px;white-space:nowrap}
  .hero-actions .button:first-child::after{margin-left:8px;font-size:18px}
  .hero-actions .button-secondary::after{margin-left:7px;font-size:15px}
}
@media(max-width:360px){
  .hero-actions{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:8px}
  .hero-actions .button{min-height:56px;padding:0 10px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .hero-actions .button:first-child,.hero-actions .button:first-child::before{animation:none}
  .hero-actions .button{transition:none}
}


/* === Fonebook repair-first booking flow v19 === */
.repair-flow-info{border:1px solid #cfddff;background:#f5f7ff;border-radius:14px;padding:13px 14px;margin:0 0 16px;display:flex;flex-direction:column;gap:3px;color:#36506c}.repair-flow-info b{color:#173a68}.repair-flow-info span{font-size:12px;line-height:1.5}.repair-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.repair-type-card{width:100%;min-width:0;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px 15px;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;gap:11px;align-items:center;text-align:left;cursor:pointer}.repair-type-card:hover,.repair-type-card.selected{border-color:var(--green);background:#f5f7ff;box-shadow:0 0 0 2px rgba(37,99,235,.08)}.repair-type-card b{display:block;font-size:14px}.repair-type-card small{display:block;margin-top:3px;font-size:11px;color:var(--muted)}.repair-type-icon{width:38px;height:38px;border-radius:11px;background:#eaf0ff;color:#1d4ed8;display:grid;place-items:center;font-weight:900}.repair-option-panel{margin-top:14px}.repair-option-head{padding:13px 14px;border:1px solid #d9e3ff;border-radius:13px;background:#f8f9ff;margin-bottom:10px}.repair-option-head b{display:block}.repair-option-head span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.repair-option-list{display:grid;gap:10px}.repair-option-row{width:100%;min-width:0;border:1px solid var(--line);border-radius:15px;background:#fff;padding:15px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;text-align:left;cursor:pointer}.repair-option-row:hover,.repair-option-row.selected{border-color:var(--green);background:#f5f7ff;box-shadow:0 0 0 2px rgba(37,99,235,.08)}.price-pending{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#fff3d5;color:#7a5400;font-size:10px;font-weight:900;white-space:nowrap}.model-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}@media(max-width:620px){.repair-type-grid{grid-template-columns:1fr}.repair-option-row{grid-template-columns:minmax(0,1fr);gap:8px}.repair-option-row .repair-price,.price-pending{justify-self:start}}
