/* ============================================================
   RepairPro-style repair section — QBIG Repair Center
   Khu repair dùng giao diện riêng: trắng/đỏ, card bo tròn, wizard.
   ============================================================ */
:root{
  --rp2-red:#1b7a3d; --rp2-red-dark:#14612f; --rp2-ink:#12141a; --rp2-muted:#6b7280;
  --rp2-bg:#f4f2e9; --rp2-line:#e6e8ee; --rp2-card:#fff; --rp2-radius:14px;
}
.rp2{font-family:'Open Sans',Arial,sans-serif;color:var(--rp2-ink);}
.rp2 *{box-sizing:border-box;}
.rp2-wrap{max-width:1200px;margin:0 auto;padding:0 16px;}
.rp2 a{text-decoration:none;}

/* ---------- Hero ---------- */
.rp2-hero{background:var(--rp2-bg);padding:34px 0;}
.rp2-hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;}
@media(max-width:860px){.rp2-hero-grid{grid-template-columns:1fr;}}
.rp2-hero-main{background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:var(--rp2-radius);padding:40px 36px;box-shadow:0 6px 24px rgba(18,20,26,.05);}
.rp2-hero-main h1{font-size:2.6rem;line-height:1.1;font-weight:800;margin:0 0 14px;letter-spacing:-.02em;}
.rp2-hero-sub{font-weight:800;font-size:1.15rem;margin:0 0 6px;}
.rp2-hero-p{color:var(--rp2-muted);margin:0 0 22px;max-width:460px;}
.rp2-side{display:flex;flex-direction:column;gap:20px;}
.rp2-side-card{background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:var(--rp2-radius);padding:22px 24px;text-align:center;box-shadow:0 6px 24px rgba(18,20,26,.05);}
.rp2-side-card h3{font-size:1.1rem;font-weight:800;margin:0 0 8px;}
.rp2-side-card p{color:var(--rp2-muted);font-size:.9rem;margin:0 0 10px;}

/* ---------- Buttons ---------- */
.rp2-btn{display:inline-flex;align-items:center;gap:8px;background:var(--rp2-red);color:#fff;font-weight:700;
  padding:13px 28px;border-radius:999px;border:0;cursor:pointer;font-size:.95rem;letter-spacing:.02em;transition:.15s;}
.rp2-btn:hover{background:var(--rp2-red-dark);color:#fff;}
.rp2-btn-lg{padding:15px 34px;font-size:1rem;}
.rp2-btn-ghost{background:#fff;color:var(--rp2-red);border:2px solid var(--rp2-red);}
.rp2-btn-ghost:hover{background:var(--rp2-red);color:#fff;}
.rp2-link{color:var(--rp2-red);font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;}

/* ---------- Sections ---------- */
.rp2-section{padding:52px 0;}
.rp2-section.alt{background:var(--rp2-bg);}
.rp2-title{text-align:center;font-size:2rem;font-weight:800;margin:0 0 34px;letter-spacing:-.01em;}
.rp2-title small{display:block;font-size:.95rem;font-weight:500;color:var(--rp2-muted);margin-top:8px;}

/* ---------- Choose Your Device grid ---------- */
.rp2-dev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:800px){.rp2-dev-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.rp2-dev-grid{grid-template-columns:1fr;}}
.rp2-dev-card{position:relative;background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:18px;
  padding:38px 22px 30px;text-align:center;color:var(--rp2-ink);display:block;overflow:hidden;
  transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s,border-color .22s;}
.rp2-dev-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,var(--rp2-red),#3fa35c);transform:scaleX(0);transform-origin:left;transition:transform .25s;}
.rp2-dev-card:hover{border-color:transparent;box-shadow:0 18px 40px rgba(27,122,61,.16);transform:translateY(-6px);color:var(--rp2-ink);}
.rp2-dev-card:hover::before{transform:scaleX(1);}
.rp2-dev-ic{width:88px;height:88px;margin:0 auto 18px;border-radius:24px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#eef7f1,#dcefe2);color:var(--rp2-red);font-size:38px;
  box-shadow:inset 0 0 0 1px rgba(27,122,61,.08);transition:transform .22s,background .22s,color .22s,box-shadow .22s;}
.rp2-dev-card:hover .rp2-dev-ic{background:linear-gradient(145deg,var(--rp2-red),#3fa35c);color:#fff;transform:scale(1.06) rotate(-3deg);box-shadow:0 10px 22px rgba(27,122,61,.32);}
.rp2-dev-name{font-weight:800;font-size:1.12rem;letter-spacing:-.01em;}
.rp2-dev-meta{color:var(--rp2-muted);font-size:.82rem;margin-top:5px;}
.rp2-dev-cta{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:var(--rp2-red);font-weight:800;font-size:.82rem;
  text-transform:uppercase;letter-spacing:.04em;opacity:0;transform:translateY(6px);transition:.22s;}
.rp2-dev-card:hover .rp2-dev-cta{opacity:1;transform:translateY(0);}

/* ---------- Why us ---------- */
.rp2-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media(max-width:800px){.rp2-why-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.rp2-why-grid{grid-template-columns:1fr;}}
.rp2-why-card{background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:var(--rp2-radius);padding:26px 20px;text-align:center;}
.rp2-why-ic{font-size:28px;margin-bottom:12px;}
.rp2-why-card h4{font-weight:800;font-size:1rem;margin:0 0 8px;}
.rp2-why-card p{color:var(--rp2-muted);font-size:.85rem;margin:0;line-height:1.6;}

/* ---------- Steps (wizard indicator) ---------- */
.rp2-steps{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:0 auto 34px;
  background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:999px;padding:12px 22px;width:fit-content;max-width:100%;
  box-shadow:0 6px 20px rgba(18,20,26,.05);}
.rp2-step{display:flex;align-items:center;gap:10px;color:var(--rp2-muted);font-weight:700;font-size:.92rem;}
.rp2-step .n{width:32px;height:32px;border-radius:50%;background:#eef0f4;color:#9aa0ad;display:flex;align-items:center;justify-content:center;
  font-size:.9rem;font-weight:800;transition:.2s;flex:0 0 auto;}
.rp2-step.done .n{background:var(--rp2-red);color:#fff;}
.rp2-step.active .n{background:var(--rp2-red);color:#fff;box-shadow:0 0 0 5px rgba(27,122,61,.18);}
.rp2-step.active{color:var(--rp2-ink);}
.rp2-step .sep{width:34px;height:3px;border-radius:3px;background:var(--rp2-line);}
.rp2-step.done + .sep,.rp2-step.active + .sep{background:linear-gradient(90deg,var(--rp2-red),#a7d8b6);}
@media(max-width:600px){.rp2-steps{padding:10px 14px;} .rp2-step .lbl{display:none;} .rp2-step .sep{width:16px;}}

.rp2-crumb{display:flex;gap:8px;align-items:center;color:var(--rp2-muted);font-size:.86rem;margin-bottom:18px;flex-wrap:wrap;}
.rp2-crumb a{color:var(--rp2-red);font-weight:600;}

/* ---------- Model grid (hub) ---------- */
.rp2-series-title{font-size:1.25rem;font-weight:800;margin:26px 0 14px;}
.rp2-model-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:800px){.rp2-model-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:460px){.rp2-model-grid{grid-template-columns:1fr;}}
.rp2-model-card{background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:var(--rp2-radius);
  overflow:hidden;color:var(--rp2-ink);transition:.18s;display:flex;flex-direction:column;}
.rp2-model-card:hover{border-color:var(--rp2-red);box-shadow:0 10px 26px rgba(18,20,26,.08);transform:translateY(-2px);color:var(--rp2-ink);}
.rp2-model-thumb{aspect-ratio:16/10;background:#f2f3f6 center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:#c2c6d0;font-size:30px;}
.rp2-model-body{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.rp2-model-name{font-weight:700;font-size:.95rem;}
.rp2-model-go{color:var(--rp2-red);font-weight:800;}

/* ---------- Model page: issue selector + quote ---------- */
.rp2-model-head{display:flex;gap:22px;align-items:center;flex-wrap:wrap;background:var(--rp2-card);
  border:1px solid var(--rp2-line);border-radius:var(--rp2-radius);padding:22px;margin-bottom:24px;}
.rp2-model-head img{width:120px;height:120px;object-fit:contain;border-radius:10px;background:#f2f3f6;flex:0 0 auto;}
.rp2-model-head h1{font-size:1.7rem;font-weight:800;margin:0 0 6px;}
.rp2-model-head p{color:var(--rp2-muted);margin:0;}
.rp2-badge{display:inline-block;background:#e8f7ee;color:#1a8f4b;font-weight:700;font-size:.78rem;padding:4px 12px;border-radius:999px;margin-top:8px;}

.rp2-cols{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;align-items:start;}
@media(max-width:860px){.rp2-cols{grid-template-columns:1fr;}}
.rp2-panel{background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:var(--rp2-radius);overflow:hidden;}
.rp2-panel-h{padding:16px 20px;border-bottom:1px solid var(--rp2-line);font-weight:800;font-size:1.05rem;}
.rp2-issue{position:relative;display:flex;align-items:center;gap:14px;padding:16px 20px 16px 22px;border-bottom:1px solid var(--rp2-line);
  cursor:pointer;transition:background .15s,box-shadow .15s;}
.rp2-issue:last-child{border-bottom:0;}
.rp2-issue::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--rp2-red);transform:scaleY(0);transition:transform .18s;}
.rp2-issue:hover{background:#fafbfc;}
/* checkbox tuỳ biến */
.rp2-issue input{appearance:none;-webkit-appearance:none;width:24px;height:24px;border:2px solid #cfd3dc;border-radius:7px;
  flex:0 0 auto;cursor:pointer;position:relative;transition:.15s;background:#fff;}
.rp2-issue input:hover{border-color:var(--rp2-red);}
.rp2-issue input:checked{background:var(--rp2-red);border-color:var(--rp2-red);}
.rp2-issue input:checked::after{content:"";position:absolute;left:8px;top:4px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);}
.rp2-issue .txt{flex:1;font-weight:600;font-size:.95rem;}
.rp2-issue .pr{font-weight:800;color:var(--rp2-red);white-space:nowrap;font-size:.95rem;}
.rp2-issue .pr.call{color:#8a8f9a;font-weight:700;background:#f1f2f5;padding:3px 12px;border-radius:999px;font-size:.82rem;}
.rp2-issue.sel{background:#f1f8f3;box-shadow:inset 0 0 0 1px rgba(27,122,61,.12);}
.rp2-issue.sel::before{transform:scaleY(1);}
.rp2-issue.sel .txt{color:var(--rp2-ink);}

/* Quote sticky card */
.rp2-quote{position:sticky;top:16px;background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:var(--rp2-radius);
  box-shadow:0 10px 30px rgba(18,20,26,.07);overflow:hidden;}
.rp2-quote-h{background:var(--rp2-ink);color:#fff;padding:16px 20px;font-weight:800;}
.rp2-quote-b{padding:18px 20px;}
.rp2-quote-list{list-style:none;margin:0 0 12px;padding:0;font-size:.9rem;}
.rp2-quote-list li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dashed var(--rp2-line);}
.rp2-quote-empty{color:var(--rp2-muted);font-size:.9rem;padding:10px 0;}
.rp2-quote-total{display:flex;justify-content:space-between;align-items:baseline;margin:12px 0 4px;}
.rp2-quote-total .lbl{font-weight:700;}
.rp2-quote-total .amt{font-size:1.7rem;font-weight:800;color:var(--rp2-red);}
.rp2-quote-note{font-size:.78rem;color:var(--rp2-muted);margin:0 0 14px;}

/* Booking form */
.rp2-book{margin-top:14px;}
.rp2-field{margin-bottom:12px;}
.rp2-field label{display:block;font-weight:700;font-size:.82rem;margin-bottom:5px;}
.rp2-field input,.rp2-field select,.rp2-field textarea{width:100%;border:1px solid var(--rp2-line);border-radius:9px;
  padding:11px 13px;font-size:.92rem;font-family:inherit;background:#fff;}
.rp2-field input:focus,.rp2-field select:focus,.rp2-field textarea:focus{outline:none;border-color:var(--rp2-red);box-shadow:0 0 0 3px rgba(27,122,61,.12);}
.rp2-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:480px){.rp2-grid2{grid-template-columns:1fr;}}
.rp2-alert{background:#e8f7ee;border:1px solid #b7e4c4;color:#1a7f37;padding:12px 16px;border-radius:9px;margin-bottom:18px;}
.rp2-alert-err{background:#fdecec;border:1px solid #f5c2c2;color:#b42318;}
.rp2-alert-err ul{margin:0;padding-left:18px;}

/* content-html trong trang model */
.rp2-content{background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:var(--rp2-radius);padding:24px;margin-top:24px;}
.rp2-content h2,.rp2-content h3{font-weight:800;margin:18px 0 10px;}
.rp2-content p{color:#3b3f47;line-height:1.8;margin:0 0 12px;}
.rp2-content a{color:var(--rp2-red);}

/* Hidden helper */
.rp2-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}

/* ============ Nâng cấp trải nghiệm (trust / how / reviews / cta) ============ */
/* Trust badges trong hero */
.rp2-trust{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px;align-items:center;}
.rp2-trust span{display:inline-flex;align-items:center;gap:7px;font-size:.86rem;font-weight:700;color:#3b3f47;}
.rp2-trust .stars{color:#ffb400;letter-spacing:1px;}
.rp2-trust b{color:var(--rp2-ink);}
.rp2-trust .dot{color:var(--rp2-line);}

/* Why-us: icon trong vòng tròn màu */
.rp2-why-ic{width:60px;height:60px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:26px;background:linear-gradient(145deg,#eef7f1,#dcefe2);box-shadow:inset 0 0 0 1px rgba(27,122,61,.08);}
.rp2-why-card{transition:transform .2s,box-shadow .2s;}
.rp2-why-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(18,20,26,.08);}

/* How it works */
.rp2-how{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;}
@media(max-width:760px){.rp2-how{grid-template-columns:1fr;}}
.rp2-how-step{background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:16px;padding:30px 24px;text-align:center;position:relative;}
.rp2-how-n{width:52px;height:52px;margin:0 auto 14px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;font-weight:800;color:#fff;background:linear-gradient(145deg,var(--rp2-red),#3fa35c);box-shadow:0 8px 18px rgba(27,122,61,.28);}
.rp2-how-step h4{font-weight:800;margin:0 0 8px;font-size:1.08rem;}
.rp2-how-step p{color:var(--rp2-muted);font-size:.9rem;margin:0;line-height:1.6;}

/* Reviews */
.rp2-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:760px){.rp2-reviews{grid-template-columns:1fr;}}
.rp2-review{background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:16px;padding:26px 24px;box-shadow:0 6px 20px rgba(18,20,26,.04);}
.rp2-review .stars{color:#ffb400;letter-spacing:2px;font-size:1.05rem;margin-bottom:10px;}
.rp2-review p{color:#3b3f47;line-height:1.7;margin:0 0 14px;font-size:.94rem;}
.rp2-review .who{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.9rem;}
.rp2-review .av{width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,var(--rp2-red),#3fa35c);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;}
.rp2-review .who small{display:block;color:var(--rp2-muted);font-weight:500;font-size:.78rem;}

/* CTA band */
.rp2-cta{background:linear-gradient(120deg,#17181d,#2a2c34);color:#fff;padding:48px 0;text-align:center;}
.rp2-cta h2{font-size:1.9rem;font-weight:800;margin:0 0 8px;color:#fff;}
.rp2-cta p{color:#c8cbd3;margin:0 0 22px;}
.rp2-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* ---------- Chọn địa điểm (location cards) ---------- */
.rp2-loc-label{font-weight:800;font-size:.95rem;margin:4px 0 10px;display:flex;align-items:center;gap:8px;}
.rp2-loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;}
@media(max-width:700px){.rp2-loc-grid{grid-template-columns:1fr;}}
.rp2-loc-card{position:relative;display:block;border:2px solid var(--rp2-line);border-radius:12px;padding:14px 16px 14px 44px;cursor:pointer;
  transition:border-color .15s,background .15s,box-shadow .15s;}
.rp2-loc-card input{position:absolute;left:15px;top:16px;width:18px;height:18px;accent-color:var(--rp2-red);cursor:pointer;}
.rp2-loc-card:hover{border-color:#a7d8b6;}
.rp2-loc-card:has(input:checked),.rp2-loc-card.sel{border-color:var(--rp2-red);background:#f1f8f3;box-shadow:0 8px 18px rgba(27,122,61,.10);}
.rp2-loc-name{font-weight:800;font-size:.95rem;margin-bottom:3px;}
.rp2-loc-addr{color:var(--rp2-muted);font-size:.82rem;line-height:1.5;}
.rp2-loc-hours{color:#8a8f9a;font-size:.76rem;margin-top:5px;}

/* ==================== Wizard 7 bước (kiểu RepairPro) ==================== */
.rp2-wiz{max-width:920px;margin:0 auto;}
.rp2-wiz-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.rp2-back{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--rp2-line);border-radius:999px;
  padding:8px 18px;font-weight:700;font-size:.85rem;color:var(--rp2-ink);cursor:pointer;transition:.15s;}
.rp2-back:hover{border-color:var(--rp2-red);color:var(--rp2-red);}
.rp2-stepcount{color:#9aa0ad;font-weight:800;font-size:.78rem;letter-spacing:.08em;}
.rp2-wiz-title{text-align:center;font-size:2rem;font-weight:800;margin:6px 0 4px;letter-spacing:-.01em;}
.rp2-wiz-sub{text-align:center;color:var(--rp2-muted);margin:0 0 26px;}
/* Tracker ngang */
.rp2-track{position:relative;display:flex;margin:0 auto 34px;overflow-x:auto;}
.rp2-track::before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--rp2-line);}
.rp2-track-fill{position:absolute;left:0;bottom:0;height:2px;background:var(--rp2-ink);transition:width .35s cubic-bezier(.4,0,.2,1);}
.rp2-track-step{flex:1 0 auto;min-width:84px;text-align:center;padding:0 8px 14px;font-weight:700;font-size:.9rem;color:#b3b7c0;white-space:nowrap;transition:color .2s;}
.rp2-track-step.reached{color:var(--rp2-ink);}
.rp2-track-step.active{color:var(--rp2-red);}
/* Panels từng bước */
.rp2-wiz-panel{display:none;animation:rp2fade .28s ease;}
.rp2-wiz-panel.on{display:block;}
@keyframes rp2fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.rp2-wiz-nav{display:flex;justify-content:space-between;gap:12px;margin-top:24px;}
.rp2-wiz-hint{color:#b42318;font-size:.85rem;font-weight:600;margin:10px 2px 0;display:none;}
/* Bảng tóm tắt (quote review) */
.rp2-sum{background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:14px;overflow:hidden;}
.rp2-sum-row{display:flex;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--rp2-line);font-size:.94rem;}
.rp2-sum-row:last-child{border-bottom:0;}
.rp2-sum-row .k{color:var(--rp2-muted);font-weight:600;}
.rp2-sum-row .v{font-weight:700;text-align:right;}
.rp2-sum-total{background:#f1f8f3;}
.rp2-sum-total .v{color:var(--rp2-red);font-size:1.4rem;font-weight:800;}
.rp2-chip{display:inline-flex;align-items:center;gap:8px;background:#f2f3f6;border-radius:999px;padding:6px 14px;font-weight:700;font-size:.85rem;margin:0 auto 22px;width:fit-content;}
.rp2-chip img{width:22px;height:22px;object-fit:contain;border-radius:4px;}

/* ---------- Google Map ở bước Location ---------- */
.rp2-map-wrap{margin-top:18px;border-radius:14px;overflow:hidden;border:1px solid var(--rp2-line);box-shadow:0 6px 20px rgba(18,20,26,.05);}
.rp2-map{width:100%;height:340px;border:0;display:block;}
.rp2-map-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:var(--rp2-card);border-bottom:1px solid var(--rp2-line);}
.rp2-map-bar .nm{font-weight:800;font-size:.95rem;}
.rp2-map-bar a{color:var(--rp2-red);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;}
@media(max-width:600px){.rp2-map{height:260px;}}

/* ---------- Card dạng <button> trong wizard /booking ---------- */
button.rp2-dev-card,button.rp2-model-card{font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;width:100%;}
button.rp2-model-card{text-align:left;padding:0;}

/* ---------- Location 2 cột (danh sách + bản đồ Leaflet) ---------- */
.rp2-loc2{display:grid;grid-template-columns:380px 1fr;border:1px solid var(--rp2-line);border-radius:16px;overflow:hidden;background:var(--rp2-card);box-shadow:0 8px 26px rgba(18,20,26,.06);}
@media(max-width:820px){.rp2-loc2{grid-template-columns:1fr;}}
.rp2-loc2-list{padding:22px;max-height:520px;overflow:auto;}
.rp2-loc2-h{font-weight:800;font-size:1.15rem;margin:0 0 16px;}
.rp2-loc2-card{position:relative;display:block;border:2px solid var(--rp2-line);border-radius:12px;padding:14px 16px 14px 42px;margin-bottom:12px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;}
.rp2-loc2-card:last-child{margin-bottom:0;}
.rp2-loc2-card input{position:absolute;left:14px;top:16px;width:18px;height:18px;accent-color:var(--rp2-red);cursor:pointer;}
.rp2-loc2-card:hover{border-color:#a7d8b6;}
.rp2-loc2-card:has(input:checked){border-color:var(--rp2-red);background:#f1f8f3;box-shadow:0 8px 18px rgba(27,122,61,.10);}
.rp2-loc2-name{font-weight:800;font-size:.98rem;margin-bottom:4px;}
.rp2-loc2-addr{color:var(--rp2-muted);font-size:.84rem;line-height:1.5;}
.rp2-loc2-hours{color:#8a8f9a;font-size:.78rem;margin-top:5px;}
.rp2-loc2-mapcol{display:flex;flex-direction:column;min-height:420px;}
#rp2-leaflet{flex:1;width:100%;min-height:420px;z-index:0;}
@media(max-width:820px){.rp2-loc2-mapcol{min-height:320px;} #rp2-leaflet{min-height:320px;}}
.rp2-loc2-mapcol .rp2-map-bar{border-top:1px solid var(--rp2-line);border-bottom:0;}

/* ---------- Details 2 cột (form + Quote Information) ---------- */
.rp2-details{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:start;}
@media(max-width:820px){.rp2-details{grid-template-columns:1fr;}}
.rp2-details-form{background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:16px;padding:24px;}
.rp2-details-h{font-weight:800;font-size:1.25rem;margin:0 0 18px;}
.rp2-qinfo{background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:16px;padding:24px;box-shadow:0 8px 24px rgba(18,20,26,.05);}
.rp2-qinfo-h{font-weight:800;font-size:1.15rem;margin:0 0 16px;}
.rp2-qi-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--rp2-line);font-size:.92rem;}
.rp2-qi-row .k{color:var(--rp2-muted);font-weight:600;}
.rp2-qi-row .v{font-weight:700;text-align:right;}
.rp2-qi-row .v#rp2-qi-price{color:var(--rp2-red);}
.rp2-qinfo-store{margin-top:18px;}
.rp2-qinfo-store h4{font-weight:800;font-size:1rem;margin:0 0 8px;}
.rp2-qi-storebox{color:#3b3f47;font-size:.9rem;line-height:1.6;}
.rp2-qi-storebox b{display:block;font-weight:800;color:var(--rp2-ink);}

/* ---------- Step 6 Quote: lời cảm ơn ---------- */
.rp2-thankyou{display:flex;align-items:center;justify-content:center;text-align:center;min-height:260px;}
.rp2-thankyou p{color:var(--rp2-muted);font-size:1.02rem;line-height:1.8;max-width:360px;margin:0;}
.rp2-qi-price{font-weight:800;}

/* ---------- Trang xác nhận đặt lịch (booking confirmed) ---------- */
.rp2-confirm{max-width:760px;margin:0 auto;text-align:center;}
.rp2-confirm-check{width:76px;height:76px;margin:0 auto 20px;border-radius:50%;background:var(--rp2-ink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:800;box-shadow:0 12px 28px rgba(18,20,26,.25);}
.rp2-confirm-title{font-size:2.2rem;font-weight:800;margin:0 0 8px;}
.rp2-confirm-sub{color:var(--rp2-muted);margin:0 0 26px;}
.rp2-confirm-card{background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:16px;padding:26px 28px;text-align:left;
  box-shadow:0 10px 30px rgba(18,20,26,.06);}
.rp2-confirm-h{font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--rp2-muted);
  padding-bottom:14px;border-bottom:1px solid var(--rp2-line);margin-bottom:6px;}
.rp2-confirm-row{padding:14px 0;border-bottom:1px solid var(--rp2-line);}
.rp2-confirm-row .k{display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--rp2-muted);margin-bottom:4px;}
.rp2-confirm-row .v{font-weight:700;color:var(--rp2-ink);}
.rp2-confirm-note{text-align:center;color:var(--rp2-muted);font-size:.86rem;margin:16px 0 0;}
.rp2-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;}
@media(max-width:560px){.rp2-confirm-actions{grid-template-columns:1fr;}}
.rp2-confirm-phone{background:var(--rp2-card);border:1px solid var(--rp2-line);border-radius:14px;padding:18px;text-align:center;}
.rp2-confirm-phone .lbl{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--rp2-muted);margin-bottom:6px;}
.rp2-confirm-phone a{font-size:1.3rem;font-weight:800;color:var(--rp2-ink);}
.rp2-confirm-home{display:flex;align-items:center;justify-content:center;background:var(--rp2-ink);color:#fff;font-weight:800;
  border-radius:14px;padding:18px;font-size:1.05rem;transition:.15s;}
.rp2-confirm-home:hover{background:#000;color:#fff;}
