/* iSmart Reparatiebalie — front-end wizard
 * Alle regels zijn bewust genest onder .ismart-rw zodat de stijlen van het
 * WordPress-thema niet worden overschreven (en andersom). Lettertypes zijn
 * systeemfonts (geen externe font-CDN) i.v.m. privacy/AVG en snelheid.
 */
.ismart-rw{
  --ink:#17233b;
  --ink-soft:#4d5b74;
  --paper:#eef1f4;
  --surface:#ffffff;
  --surface-2:#e4e8ec;
  --border:#d3d9e0;
  --accent:#1d3f72;
  --accent-ink:#ffffff;
  --accent-soft:#dbe4f1;
  --teal:#1c6e63;
  --teal-soft:#dceee9;
  --danger:#b3432f;
  --sale:#c8461f;
  --sale-ink:#ffffff;
  --sale-soft:#fbe6dc;
  --shadow: 0 1px 2px rgba(23,35,59,.06), 0 8px 24px -12px rgba(23,35,59,.18);
  --radius: 14px;
  --font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}
@media (prefers-color-scheme: dark){
  .ismart-rw:not([data-theme="light"]){
    --ink:#e9edf4; --ink-soft:#a7b2c4; --paper:#101822; --surface:#182233; --surface-2:#1f2c40;
    --border:#2c3a52; --accent:#6e9bdc; --accent-ink:#0d1a2c; --accent-soft:#1f3654;
    --teal:#5fc4b3; --teal-soft:#173832; --danger:#e08573;
    --sale:#e8794f; --sale-ink:#241209; --sale-soft:#3a2015;
    --shadow: 0 1px 2px rgba(0,0,0,.3), 0 12px 28px -14px rgba(0,0,0,.6);
  }
}
.ismart-rw[data-theme="dark"]{
  --ink:#e9edf4; --ink-soft:#a7b2c4; --paper:#101822; --surface:#182233; --surface-2:#1f2c40;
  --border:#2c3a52; --accent:#6e9bdc; --accent-ink:#0d1a2c; --accent-soft:#1f3654;
  --teal:#5fc4b3; --teal-soft:#173832; --danger:#e08573;
  --sale:#e8794f; --sale-ink:#241209; --sale-soft:#3a2015;
  --shadow: 0 1px 2px rgba(0,0,0,.3), 0 12px 28px -14px rgba(0,0,0,.6);
}
.ismart-rw, .ismart-rw *{ box-sizing:border-box; }
.ismart-rw{
  background:var(--paper); color:var(--ink); font-family:var(--font-body);
  line-height:1.5; -webkit-font-smoothing:antialiased;
  /* Container-queries i.p.v. viewport-media-queries: het layout past zich aan
   * op de breedte van de wizard ZELF, niet op de breedte van het browserscherm.
   * Zo blijft de wizard ook correct ogen wanneer het thema hem in een smalle
   * kolom plaatst op een verder brede desktop — precies het probleem dat
   * hiervoor zichtbaar was. */
  container-type: inline-size;
  container-name: ismart-rw;
}
.ismart-rw .app-shell{ max-width:1320px; margin:0 auto; padding-inline:20px; padding-block:24px 90px; }
.ismart-rw h1,.ismart-rw h2,.ismart-rw h3{ font-family:var(--font-display); text-wrap:balance; margin:0; letter-spacing:-.01em; }
.ismart-rw .tabular{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; }

.ismart-rw .stepper{ margin-bottom:22px; }
.ismart-rw .stepper-track{ display:flex; gap:6px; margin-bottom:8px; }
.ismart-rw .stepper-track i{ height:4px; flex:1; border-radius:999px; background:var(--surface-2); }
.ismart-rw .stepper-track i.done{ background:var(--teal); }
.ismart-rw .stepper-track i.now{ background:var(--accent); }
.ismart-rw .stepper-label{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.ismart-rw .stepper-label .count{ font-family:var(--font-mono); font-size:.78rem; color:var(--ink-soft); }
.ismart-rw .stepper-label .title{ font-family:var(--font-display); font-weight:700; font-size:1.35rem; }
.ismart-rw .stepper-label .hint{ font-size:.88rem; color:var(--ink-soft); margin-top:2px; }

.ismart-rw .layout{ display:grid; grid-template-columns: 1fr 360px; gap:28px; align-items:start; }
.ismart-rw .layout.no-ticket{ grid-template-columns: 1fr; max-width:820px; margin:0 auto; }
@container ismart-rw (max-width: 900px){ .ismart-rw .layout{ grid-template-columns: 1fr; } }

.ismart-rw .panel{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:26px; min-height:360px;
  display:flex; flex-direction:column; gap:18px;
}
@container ismart-rw (max-width:520px){ .ismart-rw .panel{ padding:16px; } }

.ismart-rw .grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; }
.ismart-rw .grid.narrow{ grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); }
.ismart-rw .tile{
  border:1px solid var(--border); background:var(--surface); border-radius:12px;
  padding:14px 12px; cursor:pointer; text-align:left; display:flex; flex-direction:column; gap:8px;
  font-family:var(--font-body); color:var(--ink); transition:border-color .15s, transform .1s;
}
.ismart-rw .tile:hover{ border-color:var(--accent); }
.ismart-rw .tile:active{ transform:scale(.98); }
.ismart-rw .tile.selected{ border-color:var(--accent); background:var(--accent-soft); box-shadow:0 0 0 1px var(--accent) inset; }
.ismart-rw .tile .mono{
  width:34px;height:34px;border-radius:9px;background:var(--surface-2);color:var(--ink);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;
}
.ismart-rw .tile.selected .mono{ background:var(--accent); color:var(--accent-ink); }
.ismart-rw .tile .lbl{ font-weight:700; font-size:.95rem; }
.ismart-rw .tile .meta{ font-size:.78rem; color:var(--ink-soft); }

.ismart-rw .brand-search{ max-width:420px; margin-left:auto; margin-right:auto; }
.ismart-rw .brand-grid{ margin-top:18px; }
.ismart-rw .cat-grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; padding-block:4px; margin-top:30px; }
@container ismart-rw (max-width:560px){ .ismart-rw .cat-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
.ismart-rw .cat-tile{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  width:100%; border:1px solid var(--border); background:var(--surface); border-radius:14px; padding:18px 12px 20px;
  cursor:pointer; text-align:center; font-family:var(--font-body); color:var(--ink);
}
.ismart-rw .cat-tile .icon-wrap{ width:46px;height:46px;border-radius:14px;background:var(--surface-2); display:flex;align-items:center;justify-content:center;color:var(--ink-soft); }
.ismart-rw .cat-tile .icon-wrap svg{ width:26px;height:26px; stroke:currentColor; fill:none; stroke-width:1.5; }
.ismart-rw .cat-tile.selected{ border-color:var(--accent); background:var(--accent-soft); }
.ismart-rw .cat-tile.selected .icon-wrap{ background:var(--accent); color:var(--accent-ink); }
.ismart-rw .cat-tile .lbl{ font-weight:700; font-size:.95rem; }

.ismart-rw .search-row{ position:relative; }
.ismart-rw .search-row.compact{ max-width:420px; margin-left:auto; margin-right:auto; }
.ismart-rw .search-row input[type="text"]{
  width:100%; padding:11px 14px 11px 38px; border:1px solid var(--border); border-radius:10px;
  background:var(--paper); color:var(--ink); font-family:var(--font-body); font-size:.92rem;
}
.ismart-rw .search-row svg{ position:absolute; left:12px; top:50%; transform:translateY(-50%); width:16px;height:16px;stroke:var(--ink-soft); }
.ismart-rw .model-list{ display:flex; flex-direction:column; gap:6px; margin-top:22px; max-height:320px; overflow:auto; padding-right:4px; }
.ismart-rw .model-row{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  border:1px solid var(--border); border-radius:10px; padding:10px 12px; background:var(--surface);
  cursor:pointer; font-size:.9rem;
}
.ismart-rw .model-row:hover{ border-color:var(--accent); }
.ismart-rw .model-row.selected{ border-color:var(--accent); background:var(--accent-soft); }
.ismart-rw .model-row .tags{ display:flex; gap:6px; align-items:center; }
.ismart-rw .model-row .tier-tag, .ismart-rw .model-row .cat-tag{
  font-family:var(--font-mono); font-size:.68rem; color:var(--ink-soft); border:1px solid var(--border);
  border-radius:999px; padding:2px 8px; white-space:nowrap;
}
.ismart-rw .model-row .cat-tag{ color:var(--accent); border-color:var(--accent); }
.ismart-rw .empty-note{ color:var(--ink-soft); font-size:.85rem; padding:14px; text-align:center; }

.ismart-rw .repair-list{ display:flex; flex-direction:column; gap:10px; }
.ismart-rw .repair-item{ border:1px solid var(--border); border-radius:12px; padding:14px 16px; background:var(--surface); }
.ismart-rw .repair-item.selected{ border-color:var(--teal); background:var(--teal-soft); }
/* flex-wrap zodat de prijs bij een smalle container (bv. een smalle thema-kolom)
 * netjes naar een eigen regel valt in plaats van over de titel heen te lopen. */
.ismart-rw .repair-toggle-row{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; cursor:pointer; }
.ismart-rw .repair-item .icon-wrap{ width:36px;height:36px;border-radius:9px;background:var(--surface-2); display:flex;align-items:center;justify-content:center;color:var(--ink-soft); flex-shrink:0; }
.ismart-rw .repair-item.selected .icon-wrap{ background:var(--teal); color:#fff; }
.ismart-rw .repair-item .icon-wrap svg{ width:19px;height:19px; stroke:currentColor; fill:none; stroke-width:1.6; }
.ismart-rw .repair-item .body{ flex:1 1 180px; min-width:0; }
.ismart-rw .repair-item .lbl{ font-weight:700; font-size:.94rem; }
.ismart-rw .repair-item .desc{ font-size:.79rem; color:var(--ink-soft); margin-top:1px; }
.ismart-rw .repair-item .price{
  flex:0 0 auto; margin-left:auto; font-family:var(--font-display); font-variant-numeric:tabular-nums;
  font-weight:700; font-size:1.12rem; letter-spacing:-.01em; text-align:right; line-height:1.3;
}
.ismart-rw .repair-item .price .from{ font-family:var(--font-body); font-weight:600; font-size:.7rem; color:var(--ink-soft); display:block; text-align:right; }
.ismart-rw .repair-item .price .strike{ font-size:.72rem; color:var(--ink-soft); text-decoration:line-through; display:block; text-align:right; font-weight:400; }
.ismart-rw .repair-item.has-sale{ border-color:var(--sale); background:var(--sale-soft); }
.ismart-rw .repair-item.has-sale .icon-wrap{ background:var(--sale); color:#fff; }
/* Bij korting staan badge + oude prijs + nieuwe prijs altijd op hun eigen, volle
 * regel onder de titel — ongeacht hoe smal de container is waarin de wizard
 * geplaatst is (bv. een smalle kolom in het thema), zodat niets kan overlappen. */
.ismart-rw .repair-item.has-sale .price{ flex-basis:100%; margin-left:0; margin-top:2px; text-align:left; display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 8px; }
.ismart-rw .repair-item.has-sale .price .from{ display:inline; text-align:left; order:3; flex-basis:100%; }
.ismart-rw .sale-badge{
  display:inline-flex; align-items:center; background:var(--sale); color:var(--sale-ink);
  font-family:var(--font-body); font-size:.68rem; font-weight:800; letter-spacing:.02em;
  border-radius:999px; padding:2px 7px; margin-right:6px; vertical-align:middle;
}
.ismart-rw .price-was{
  font-family:var(--font-body); font-size:.74rem; font-weight:400; color:var(--ink-soft);
  text-decoration:line-through; margin-right:6px; display:inline-block;
}
.ismart-rw .sale-tag{
  display:inline-block; background:var(--sale-soft); color:var(--sale); font-size:.7em;
  font-weight:800; border-radius:6px; padding:1px 6px; margin-left:5px; vertical-align:middle;
}
.ismart-rw .variant-pill .price-was{ display:block; text-align:right; }
.ismart-rw .checkbox{ width:20px;height:20px;border-radius:6px;border:1.6px solid var(--border); flex-shrink:0; display:flex;align-items:center;justify-content:center; }
.ismart-rw .repair-item.selected .checkbox{ background:var(--teal); border-color:var(--teal); }
.ismart-rw .checkbox svg{ width:13px;height:13px; stroke:#fff; opacity:0; }
.ismart-rw .repair-item.selected .checkbox svg{ opacity:1; }
.ismart-rw .skip-row{ text-align:center; }
.ismart-rw .skip-link{ background:none; border:none; color:var(--ink-soft); font-size:.82rem; text-decoration:underline; cursor:pointer; }

.ismart-rw .variant-row{ display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; padding-top:10px; border-top:1px dashed var(--border); }
.ismart-rw .variant-pill{
  display:flex; flex-direction:column; align-items:flex-start; gap:2px; border:1px solid var(--border);
  background:var(--surface); border-radius:10px; padding:8px 12px; cursor:pointer; font-family:var(--font-body);
}
.ismart-rw .variant-pill.selected{ border-color:var(--accent); background:var(--accent-soft); }
.ismart-rw .variant-pill .vlabel{ font-weight:700; font-size:.82rem; }
.ismart-rw .variant-pill .vprice{ font-family:var(--font-display); font-variant-numeric:tabular-nums; font-weight:700; font-size:.94rem; }
.ismart-rw .variant-pill .vwarranty{ font-size:.7rem; color:var(--ink-soft); }

.ismart-rw .delivery-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; }
.ismart-rw .delivery-card{ border:1px solid var(--border); border-radius:12px; padding:16px; cursor:pointer; background:var(--surface); display:flex; flex-direction:column; gap:8px; }
.ismart-rw .delivery-card.selected{ border-color:var(--accent); background:var(--accent-soft); }
.ismart-rw .delivery-card .icon-wrap{ width:36px;height:36px;border-radius:10px;background:var(--surface-2); display:flex;align-items:center;justify-content:center;color:var(--ink-soft); }
.ismart-rw .delivery-card.selected .icon-wrap{ background:var(--accent); color:var(--accent-ink); }
.ismart-rw .delivery-card .icon-wrap svg{ width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6; }
.ismart-rw .delivery-card .lbl{ font-weight:700; }
.ismart-rw .delivery-card .desc{ font-size:.82rem; color:var(--ink-soft); }
.ismart-rw .delivery-card .fee{ font-family:var(--font-mono); font-size:.82rem; font-weight:600; color:var(--teal); }

.ismart-rw .field-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ismart-rw .field-grid.tri{ grid-template-columns:1.4fr .8fr 1fr; }
@container ismart-rw (max-width:520px){ .ismart-rw .field-grid, .ismart-rw .field-grid.tri{ grid-template-columns:1fr; } }
.ismart-rw label{ display:flex; flex-direction:column; gap:5px; font-size:.82rem; font-weight:600; color:var(--ink-soft); }
.ismart-rw input[type="text"],.ismart-rw input[type="email"],.ismart-rw input[type="tel"],.ismart-rw textarea{
  font-family:var(--font-body); font-size:.92rem; padding:10px 12px; border:1px solid var(--border);
  border-radius:9px; background:var(--paper); color:var(--ink); width:100%;
}
.ismart-rw input:focus,.ismart-rw textarea:focus,.ismart-rw button:focus-visible,.ismart-rw .tile:focus-visible,.ismart-rw .model-row:focus-visible,.ismart-rw .repair-item:focus-visible,.ismart-rw .delivery-card:focus-visible,.ismart-rw .date-chip:focus-visible,.ismart-rw .slot-btn:focus-visible{
  outline:2px solid var(--accent); outline-offset:2px;
}
.ismart-rw textarea{ resize:vertical; min-height:70px; }

.ismart-rw .date-row{ display:flex; gap:8px; overflow-x:auto; padding-bottom:6px; }
.ismart-rw .date-chip{ flex:0 0 auto; width:60px; border:1px solid var(--border); border-radius:12px; background:var(--surface); padding:10px 6px; text-align:center; cursor:pointer; }
.ismart-rw .date-chip .dow{ font-size:.68rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.04em; }
.ismart-rw .date-chip .num{ font-family:var(--font-mono); font-weight:700; font-size:1.1rem; }
.ismart-rw .date-chip .mon{ font-size:.66rem; color:var(--ink-soft); }
.ismart-rw .date-chip.selected{ border-color:var(--accent); background:var(--accent-soft); }
.ismart-rw .slot-row{ display:flex; gap:8px; flex-wrap:wrap; }
.ismart-rw .slot-btn{ border:1px solid var(--border); background:var(--surface); border-radius:10px; padding:10px 14px; font-family:var(--font-body); font-size:.88rem; cursor:pointer; font-weight:600; }
.ismart-rw .slot-btn.selected{ border-color:var(--teal); background:var(--teal-soft); }

.ismart-rw .actions{ display:flex; justify-content:space-between; gap:10px; margin-top:auto; padding-top:6px; }
.ismart-rw button{ font-family:var(--font-body); cursor:pointer; border-radius:10px; border:1px solid transparent; }
.ismart-rw .btn-primary{ background:var(--ink); color:var(--paper); padding:12px 22px; font-weight:700; font-size:.92rem; border:none; }
.ismart-rw .btn-primary:disabled{ opacity:.4; cursor:not-allowed; }
.ismart-rw .btn-ghost{ background:transparent; border:1px solid var(--border); color:var(--ink); padding:12px 18px; font-weight:600; font-size:.92rem; }
.ismart-rw .btn-ghost:disabled{ opacity:.35; cursor:not-allowed; pointer-events:none; }

.ismart-rw .ticket{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow);
  padding:20px; position:sticky; top:20px; display:flex; flex-direction:column; gap:14px;
  animation: ismart-rw-ticket-in .25s ease-out;
}
@keyframes ismart-rw-ticket-in{ from{ opacity:0; transform:translateY(6px);} to{ opacity:1; transform:none; } }
.ismart-rw .ticket-head{ display:flex; align-items:center; justify-content:space-between; border-bottom:1px dashed var(--border); padding-bottom:12px; }
.ismart-rw .ticket-head .t1{ font-family:var(--font-display); font-weight:800; font-size:1rem; }
.ismart-rw .ticket-head .t2{ font-family:var(--font-mono); font-size:.72rem; color:var(--ink-soft); }
.ismart-rw .ticket-row{ display:flex; justify-content:space-between; gap:10px; font-size:.85rem; }
.ismart-rw .ticket-row .k{ color:var(--ink-soft); }
.ismart-rw .ticket-row .v{ text-align:right; font-weight:600; }
.ismart-rw .ticket-row.muted .v{ color:var(--ink-soft); font-weight:400; font-style:italic; }
.ismart-rw .ticket-repairs{ display:flex; flex-direction:column; gap:4px; }
.ismart-rw .ticket-repairs .line{ display:flex; justify-content:space-between; gap:8px; font-size:.82rem; }
.ismart-rw .ticket-repairs .line .p{ font-family:var(--font-mono); text-align:right; white-space:nowrap; }
.ismart-rw .ticket-repairs .line.has-sale .p{ display:flex; flex-direction:column; align-items:flex-end; gap:0; }
.ismart-rw .ticket-repairs .line.has-sale .p .price-was{ margin-right:0; }
.ismart-rw .ticket-total{ border-top:1px dashed var(--border); padding-top:12px; display:flex; justify-content:space-between; align-items:baseline; }
.ismart-rw .ticket-total .lbl{ font-weight:700; }
.ismart-rw .ticket-total .amt{ font-family:var(--font-mono); font-weight:700; font-size:1.3rem; color:var(--teal); }
.ismart-rw .ticket-note{ font-size:.72rem; color:var(--ink-soft); }
.ismart-rw .ticket-savings{
  display:flex; align-items:center; gap:8px; background:var(--sale-soft); color:var(--sale);
  border-radius:10px; padding:8px 10px; font-size:.82rem; font-weight:600;
}
.ismart-rw .ticket-savings svg{ width:16px; height:16px; stroke:var(--sale); flex-shrink:0; fill:none; stroke-width:2; }
@container ismart-rw (max-width:900px){ .ismart-rw .ticket{ position:static; } }

.ismart-rw .pay-toggle{ display:flex; gap:8px; }
.ismart-rw .pay-pill{ flex:1; border:1px solid var(--border); background:var(--surface); border-radius:10px; padding:9px 8px; font-family:var(--font-body); font-size:.76rem; font-weight:600; text-align:center; cursor:pointer; color:var(--ink); }
.ismart-rw .pay-pill.selected{ border-color:var(--accent); background:var(--accent-soft); color:var(--accent); }
.ismart-rw .cta-stack{ display:flex; flex-direction:column; gap:8px; }
.ismart-rw .cta-wc{
  background:var(--accent); color:var(--accent-ink); border:none; padding:13px; border-radius:10px;
  font-weight:700; font-size:.92rem; display:flex; align-items:center; justify-content:center; gap:8px;
  text-decoration:none; width:100%;
}
.ismart-rw .cta-wc svg{ width:17px;height:17px; stroke:currentColor; fill:none; }
.ismart-rw .cta-wa{
  background:var(--teal-soft); color:var(--teal); border:1px solid var(--teal); padding:12px; border-radius:10px;
  font-weight:700; font-size:.88rem; display:flex; align-items:center; justify-content:center; gap:8px; text-decoration:none;
}
.ismart-rw .cta-wa svg{ width:16px;height:16px; stroke:currentColor; fill:none; }
.ismart-rw .wc-note{ font-size:.72rem; color:var(--ink-soft); text-align:center; }

.ismart-rw .wa-bubble{
  position:fixed; right:24px; bottom:96px; z-index:60;
  display:flex; align-items:flex-start; gap:10px;
  background:var(--surface); color:var(--ink);
  border:1px solid var(--border); border-radius:16px 16px 16px 4px;
  padding:12px 12px 12px 13px; max-width:268px;
  box-shadow:0 14px 30px rgba(23,35,59,.18);
  font-size:.88rem; line-height:1.35;
  opacity:0; transform:translateY(10px) scale(.94); transform-origin:100% 100%;
  animation:ismart-rw-bubble .5s cubic-bezier(.2,1.3,.4,1) 1.2s forwards;
}
.ismart-rw .wa-bubble::after{
  content:""; position:absolute; right:22px; bottom:-7px;
  width:12px; height:12px; background:var(--surface);
  border-right:1px solid var(--border); border-bottom:1px solid var(--border);
  transform:rotate(45deg); border-bottom-right-radius:3px;
}
.ismart-rw .wa-avatar{
  flex-shrink:0; width:34px; height:34px; border-radius:50%;
  background:#25d366; color:#fff; display:flex; align-items:center; justify-content:center;
}
.ismart-rw .wa-avatar svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.9; }
.ismart-rw .wa-msg{ display:block; }
.ismart-rw .wa-bubble .who{
  display:flex; align-items:center; gap:6px;
  font-size:.72rem; font-weight:700; color:var(--ink-soft);
  text-transform:uppercase; letter-spacing:.04em; margin-bottom:3px;
}
.ismart-rw .wa-bubble .who .live{
  display:inline-flex; align-items:center; gap:4px; font-weight:600; letter-spacing:0; text-transform:none; color:#146c3b;
}
.ismart-rw .wa-bubble .who .live i{
  width:6px; height:6px; border-radius:50%; background:#25d366; display:inline-block;
  animation:ismart-rw-pulse 1.8s ease-in-out infinite;
}
.ismart-rw .wa-bubble .text{ display:block; }
.ismart-rw .wa-bubble .wa-reply{
  display:inline-block; margin-top:8px; font-size:.8rem; font-weight:700; color:#146c3b;
}
.ismart-rw .wa-bubble-x{
  border:0; background:transparent; color:var(--ink-soft); font-size:1.05rem; line-height:1;
  padding:0 2px; flex-shrink:0; align-self:flex-start;
}
.ismart-rw .wa-bubble-x:hover{ color:var(--ink); }
.ismart-rw .wa-bubble.hidden{ display:none; }
@keyframes ismart-rw-bubble{ to{ opacity:1; transform:translateY(0) scale(1); } }
@keyframes ismart-rw-pulse{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.45; transform:scale(.8); } }
@media (max-width:600px){ .ismart-rw .wa-bubble{ right:16px; bottom:92px; max-width:74vw; border-radius:16px; }
  .ismart-rw .wa-bubble::after{ display:none; } }
.ismart-rw .fab-wa{
  position:fixed; right:20px; bottom:20px; z-index:9999;
  width:58px;height:58px;border-radius:50%; background:var(--teal); color:#fff;
  display:flex;align-items:center;justify-content:center; box-shadow:0 10px 24px -8px rgba(0,0,0,.35);
  text-decoration:none; border:none;
}
.ismart-rw .fab-wa svg{ width:27px;height:27px; stroke:currentColor; fill:none; stroke-width:1.7; }
.ismart-rw .fab-wa:hover{ filter:brightness(1.06); }

.ismart-rw .review-block{ border:1px solid var(--border); border-radius:12px; padding:14px 16px; display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.ismart-rw .review-block h3{ font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft); font-family:var(--font-body); font-weight:700; margin-bottom:6px; }
.ismart-rw .review-block .content{ font-size:.9rem; }
.ismart-rw .review-block .edit{ font-size:.78rem; color:var(--accent); background:none; border:none; font-weight:700; padding:2px; }
.ismart-rw .review-list{ display:flex; flex-direction:column; gap:10px; }
.ismart-rw .confirm-banner{ display:flex; gap:12px; align-items:flex-start; background:var(--teal-soft); border:1px solid var(--teal); border-radius:12px; padding:14px 16px; }
.ismart-rw .confirm-banner svg{ width:22px;height:22px; stroke:var(--teal); flex-shrink:0; }
.ismart-rw .confirm-banner p{ margin:0; font-size:.88rem; color:var(--ink); }
.ismart-rw .savings-banner{ display:flex; gap:12px; align-items:flex-start; background:var(--sale-soft); border:1px solid var(--sale); border-radius:12px; padding:12px 16px; margin-bottom:12px; }
.ismart-rw .savings-banner svg{ width:20px;height:20px; stroke:var(--sale); flex-shrink:0; }
.ismart-rw .savings-banner p{ margin:0; font-size:.86rem; color:var(--ink); }
.ismart-rw .savings-banner strong{ color:var(--sale); }
.ismart-rw .req{ color:var(--danger); }
.ismart-rw .footnote{ text-align:center; font-size:.76rem; color:var(--ink-soft); margin-top:26px; }
