/* GGD Widget v1.2.1 */
.ggd-widget-wrap *,.ggd-widget-wrap *::before,.ggd-widget-wrap *::after{box-sizing:border-box;margin:0;padding:0}
.ggd-widget-wrap{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;width:100%;max-width:520px;display:flex;flex-direction:column;gap:10px;margin:0 auto}
.ggd-card{background:#1b3260;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,0.09)}
.ggd-card-face{display:flex;align-items:center;gap:14px;padding:20px}
.ggd-face-icon{width:40px;height:40px;border-radius:9px;background:rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:19px;color:#fff}
.ggd-face-text{flex:1;min-width:0}
.ggd-face-title{font-size:18px!important;font-weight:700!important;color:#fff!important;margin:0 0 2px 0!important;padding:0!important;line-height:1.2!important;letter-spacing:-0.01em!important;text-transform:none!important;max-width:100%!important}
.ggd-face-lead{font-size:12.5px;color:rgba(255,255,255,0.55);line-height:1.45}
.ggd-face-actions{display:flex;gap:7px;flex-shrink:0}

/* ── Buttons: clear visual hierarchy ── */
/* Primary action — solid red, full weight */
.ggd-btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:9px 18px;border-radius:8px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;border:none;background:#d42b2b;color:#fff;transition:background .15s;white-space:nowrap;letter-spacing:-0.01em;line-height:1}
.ggd-btn-primary:hover{background:#b82222}
.ggd-btn-primary:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* Secondary action — outlined, lower weight */
.ggd-btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;border:1.5px solid rgba(255,255,255,0.25);background:rgba(255,255,255,0.06);color:#fff;transition:all .15s;white-space:nowrap;letter-spacing:-0.01em;line-height:1}
.ggd-btn-secondary:hover{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.4)}
.ggd-btn-secondary:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* Back — ghost, subdued */
.ggd-btn-back{display:inline-flex;align-items:center;gap:4px;padding:7px 10px;border-radius:7px;font-size:12.5px;font-weight:500;font-family:inherit;cursor:pointer;border:1px solid rgba(255,255,255,0.12);background:transparent;color:rgba(255,255,255,0.45);transition:all .15s;letter-spacing:-0.01em;line-height:1}
.ggd-btn-back:hover{color:rgba(255,255,255,0.8);border-color:rgba(255,255,255,0.25);background:rgba(255,255,255,0.04)}
.ggd-btn-back:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* Cancel — text only, clearly non-destructive */
.ggd-cancel-link{display:inline-flex;align-items:center;font-size:11.5px;font-weight:400;color:rgba(255,255,255,0.22);cursor:pointer;background:none;border:none;font-family:inherit;padding:4px 0;transition:color .15s;letter-spacing:0;text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(255,255,255,0.12)}
.ggd-cancel-link:hover{color:rgba(255,255,255,0.45);text-decoration-color:rgba(255,255,255,0.3)}
.ggd-cancel-link:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:3px}

/* Legacy aliases — keep working for any inline uses */
.ggd-btn{padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;border:1.5px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.06);color:#fff;transition:background .15s;white-space:nowrap;letter-spacing:-0.01em;line-height:1}
.ggd-btn:hover{background:rgba(255,255,255,0.11)}
.ggd-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ggd-btn-red{background:#d42b2b;border-color:transparent}
.ggd-btn-red:hover{background:#b82222}
.ggd-btn-ghost{background:transparent;border-color:rgba(255,255,255,0.12);color:rgba(255,255,255,0.45);font-size:12.5px;padding:7px 12px}
.ggd-btn-ghost:hover{color:#fff;background:rgba(255,255,255,0.06)}
.ggd-btn-next{background:#d42b2b;border-color:transparent;padding:9px 20px;font-size:13px;font-weight:700}
.ggd-btn-next:hover{background:#b82222}

.ggd-form-panel{display:none;border-top:1px solid rgba(255,255,255,0.09)}
.ggd-form-panel.open{display:block}
.ggd-form-inner{padding:18px 20px 22px}
.ggd-step{display:none}
.ggd-step.active{display:block}

.ggd-field{margin-bottom:12px}
.ggd-field label{display:block;font-size:12px;font-weight:600;color:rgba(255,255,255,0.55);margin-bottom:6px;letter-spacing:.01em}
.ggd-field input[type=text],.ggd-field input[type=email],.ggd-field input[type=tel],.ggd-field textarea{width:100%;padding:9px 12px;font-size:13.5px;font-family:inherit;border:1.5px solid rgba(255,255,255,0.12);border-radius:8px;background:rgba(255,255,255,0.05);color:#fff;outline:none;transition:border-color .15s;-webkit-appearance:none}
.ggd-field input::placeholder,.ggd-field textarea::placeholder{color:rgba(255,255,255,0.28)}
.ggd-field input:focus,.ggd-field textarea:focus{border-color:rgba(255,255,255,0.32);background:rgba(255,255,255,0.07)}
.ggd-field textarea{resize:none;height:72px;line-height:1.55}
.ggd-row2{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ggd-opt-label{font-size:11px;color:rgba(255,255,255,0.28);font-weight:400;margin-left:4px}

.ggd-pills{display:flex;flex-wrap:wrap;gap:6px}
.ggd-pills-lg .ggd-pill{padding:10px 18px;font-size:14px;border-radius:9px}
.ggd-pill{padding:6px 13px;border-radius:7px;border:1.5px solid rgba(255,255,255,0.13);font-size:12.5px;font-weight:500;font-family:inherit;cursor:pointer;color:rgba(255,255,255,0.55);background:transparent;transition:all .15s;letter-spacing:-0.01em}
.ggd-pill:hover{background:rgba(255,255,255,0.06);color:#fff;border-color:rgba(255,255,255,0.25)}
.ggd-pill.on{background:#d42b2b;color:#fff;border-color:transparent;font-weight:600}
.ggd-pill:focus-visible{outline:2px solid #fff;outline-offset:2px}

.ggd-reveal{overflow:hidden;max-height:0;opacity:0;transition:max-height .35s ease,opacity .3s ease}
.ggd-reveal.visible{max-height:700px;opacity:1}
.ggd-reveal-divider{border:none;border-top:1px solid rgba(255,255,255,0.09);margin:14px 0}

/* Delivery toggle */
.ggd-addr-toggle{display:flex;gap:0;margin-bottom:9px}
.ggd-addr-tab{flex:1;padding:7px 8px;font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;border:1.5px solid rgba(255,255,255,0.12);background:transparent;color:rgba(255,255,255,0.5);transition:all .15s;text-align:center;letter-spacing:-0.01em}
.ggd-addr-tab:first-child{border-radius:8px 0 0 8px}
.ggd-addr-tab:last-child{border-radius:0 8px 8px 0}
.ggd-addr-tab:not(:first-child){border-left:none}
.ggd-addr-tab.on{background:rgba(212,43,43,0.2);color:#fff;border-color:#d42b2b;position:relative;z-index:1}
.ggd-addr-tab:hover:not(.on){background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.75)}
.ggd-addr-tab:focus-visible{outline:2px solid #fff;outline-offset:-3px}

/* Pickup address display */
.ggd-pickup-address{display:none;margin-top:6px;padding:10px 12px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);border-radius:8px}
.ggd-pickup-address.visible{display:block}
.ggd-pickup-address p{font-size:13px;color:rgba(255,255,255,0.7);line-height:1.5}
.ggd-pickup-address strong{color:#fff;display:block;margin-bottom:2px;font-size:13px}
.ggd-pickup-address span{font-size:11.5px;color:rgba(255,255,255,0.4);margin-top:4px;display:block}

.ggd-upload-area{border:1.5px dashed rgba(255,255,255,0.15);border-radius:9px;padding:14px;text-align:center;cursor:pointer;position:relative;transition:background .15s}
.ggd-upload-area:hover{background:rgba(255,255,255,0.04)}
.ggd-upload-area:focus-within{border-color:rgba(255,255,255,0.35)}
.ggd-upload-area input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.ggd-upload-icon{font-size:22px;color:rgba(255,255,255,0.28);display:block;margin-bottom:4px}
.ggd-upload-label{font-size:13px;font-weight:500;color:rgba(255,255,255,0.55)}
.ggd-upload-hint{font-size:11px;color:rgba(255,255,255,0.28);margin-top:3px}
.ggd-upload-preview{font-size:12px;color:#7ab8ff;margin-top:5px;font-weight:600}

.ggd-step-nav{display:flex;justify-content:space-between;align-items:center;margin-top:14px}

.ggd-success{text-align:center;padding:10px 0 6px}
.ggd-success-icon{font-size:30px;display:block;margin-bottom:10px}
.ggd-success-parts .ggd-success-icon{color:#7ab8ff}
.ggd-success-showroom .ggd-success-icon{color:#4fcca0}
.ggd-success h3{font-size:16px!important;font-weight:700!important;color:#fff!important;margin-bottom:6px!important;letter-spacing:-0.02em!important;line-height:1.2!important}
.ggd-success p{font-size:13px;color:rgba(255,255,255,0.55);line-height:1.6}
.ggd-success strong{color:rgba(255,255,255,0.85)}
.ggd-confirm-note{margin-top:10px;padding:9px 12px;background:rgba(255,255,255,0.05);border-radius:8px;border:1px solid rgba(255,255,255,0.09);font-size:12.5px;color:rgba(255,255,255,0.55);display:flex;align-items:center;gap:7px;justify-content:center}
.ggd-confirm-note i{color:#4fcca0;font-size:15px}

/* Fluent Booking embed */
.ggd-fluent-booking-wrap{padding:0 20px 20px}
.ggd-fluent-booking-wrap .fluentbooking-wrap{border-radius:10px;overflow:hidden}

/* Notification badges for staff */
.ggd-staff-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#4fcca0;background:rgba(79,204,160,0.12);border:1px solid rgba(79,204,160,0.25);border-radius:5px;padding:3px 8px;margin-top:4px}

.ggd-cal-wrap{padding:18px 20px 22px}
.ggd-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.ggd-cal-month{font-size:14px;font-weight:700;color:#fff;letter-spacing:-0.02em}
.ggd-cal-nav{background:rgba(255,255,255,0.06);border:1.5px solid rgba(255,255,255,0.09);color:rgba(255,255,255,0.5);width:30px;height:30px;border-radius:7px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;font-family:inherit;transition:all .15s}
.ggd-cal-nav:hover{background:rgba(255,255,255,0.11);color:#fff}
.ggd-cal-nav:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ggd-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:18px}
.ggd-cal-dow{font-size:10px;font-weight:700;text-align:center;color:rgba(255,255,255,0.28);text-transform:uppercase;letter-spacing:.06em;padding-bottom:6px}
.ggd-cal-day{aspect-ratio:1;border-radius:8px;border:none;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}
.ggd-cal-day.empty{background:none;cursor:default}
.ggd-cal-day.unavailable{color:rgba(255,255,255,0.18);background:none;cursor:default}
.ggd-cal-day.available{background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.75)}
.ggd-cal-day.available:hover{background:rgba(212,43,43,0.2);color:#fff}
.ggd-cal-day.selected{background:#d42b2b;color:#fff;font-weight:700}
.ggd-cal-day.today{box-shadow:0 0 0 1.5px rgba(255,255,255,0.3)}
.ggd-cal-day:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ggd-slots-label{font-size:10.5px;font-weight:700;color:rgba(255,255,255,0.28);text-transform:uppercase;letter-spacing:.1em;margin-bottom:9px}
.ggd-slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:18px}
.ggd-slot{padding:9px 6px;border-radius:8px;border:1.5px solid rgba(255,255,255,0.11);background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.65);font-size:12.5px;font-weight:500;font-family:inherit;cursor:pointer;text-align:center;transition:all .15s}
.ggd-slot:hover{background:rgba(212,43,43,0.2);color:#fff;border-color:#d42b2b}
.ggd-slot.on{background:#d42b2b;color:#fff;border-color:transparent;font-weight:700}
.ggd-slot.full{color:rgba(255,255,255,0.2);cursor:default;text-decoration:line-through;background:none}
.ggd-slot:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ggd-selected-time-display{font-size:13px;font-weight:500;color:rgba(255,255,255,0.55);margin-bottom:14px;padding:10px 12px;background:rgba(255,255,255,0.06);border-radius:8px;border:1px solid rgba(255,255,255,0.09)}
.ggd-selected-time-display strong{color:#fff;font-weight:700}
.ggd-hint-text{font-size:11.5px;color:rgba(255,255,255,0.28);margin-top:7px;line-height:1.5}
.ggd-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Intent button selected states */
.ggd-btn-primary.ggd-intent-selected,
.ggd-btn-secondary.ggd-intent-selected{background:#d42b2b!important;border-color:transparent!important;color:#fff!important;opacity:1!important}
.ggd-btn-primary.ggd-intent-selected:hover,
.ggd-btn-secondary.ggd-intent-selected:hover{background:rgba(212,43,43,0.75)!important}
.ggd-btn-primary.ggd-intent-unselected,
.ggd-btn-secondary.ggd-intent-unselected{opacity:0.45!important}
.ggd-btn-primary.ggd-intent-unselected:hover,
.ggd-btn-secondary.ggd-intent-unselected:hover{opacity:0.7!important}

/* Eyebrow label */
.ggd-intent-eyebrow{font-size:10px;font-weight:700;color:rgba(255,255,255,0.35);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:12px;min-height:14px}
.ggd-intent-eyebrow:empty{margin-bottom:0}

/* Kill reveal dividers */
.ggd-reveal-divider{display:none!important}

/* ── Force text colours against theme overrides ── */
.ggd-widget-wrap input[type=text],
.ggd-widget-wrap input[type=email],
.ggd-widget-wrap input[type=tel],
.ggd-widget-wrap textarea{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
.ggd-widget-wrap input[type=text]::placeholder,
.ggd-widget-wrap input[type=email]::placeholder,
.ggd-widget-wrap input[type=tel]::placeholder,
.ggd-widget-wrap textarea::placeholder{color:rgba(255,255,255,0.32)!important;-webkit-text-fill-color:rgba(255,255,255,0.32)!important;opacity:1!important}
.ggd-widget-wrap label{color:rgba(255,255,255,0.65)!important}
.ggd-widget-wrap legend{color:rgba(255,255,255,0.65)!important}
.ggd-widget-wrap fieldset legend span{color:#fff!important}
.ggd-widget-wrap .ggd-field label{color:rgba(255,255,255,0.65)!important}
.ggd-widget-wrap .ggd-opt-label{color:rgba(255,255,255,0.35)!important}
.ggd-widget-wrap p{color:rgba(255,255,255,0.55)!important}
.ggd-widget-wrap strong{color:#fff!important}
.ggd-widget-wrap .ggd-face-lead{color:rgba(255,255,255,0.55)!important}
.ggd-widget-wrap .ggd-hint-text{color:rgba(255,255,255,0.32)!important}
.ggd-widget-wrap .ggd-upload-label{color:rgba(255,255,255,0.65)!important}
.ggd-widget-wrap .ggd-upload-hint{color:rgba(255,255,255,0.35)!important}
.ggd-widget-wrap .ggd-slots-label{color:rgba(255,255,255,0.35)!important}
.ggd-widget-wrap .ggd-step-label{color:rgba(255,255,255,0.35)!important}
.ggd-widget-wrap .ggd-intent-eyebrow{color:rgba(255,255,255,0.45)!important}
.ggd-widget-wrap .ggd-success h3{color:#fff!important}
.ggd-widget-wrap .ggd-success p{color:rgba(255,255,255,0.6)!important}
/* Autofill override */
.ggd-widget-wrap input:-webkit-autofill,
.ggd-widget-wrap input:-webkit-autofill:hover,
.ggd-widget-wrap input:-webkit-autofill:focus{-webkit-text-fill-color:#fff!important;-webkit-box-shadow:0 0 0 1000px #1e3a6e inset!important;transition:background-color 5000s ease-in-out 0s}

/* ── Force button styles against theme ── */
.ggd-widget-wrap .ggd-btn-primary{background:#d42b2b!important;border-color:transparent!important;color:#fff!important}
.ggd-widget-wrap .ggd-btn-primary:hover{background:#b82222!important}
.ggd-widget-wrap .ggd-btn-secondary{background:transparent!important;border:1.5px solid rgba(255,255,255,0.3)!important;color:#fff!important}
.ggd-widget-wrap .ggd-btn-secondary:hover{background:rgba(255,255,255,0.08)!important;border-color:rgba(255,255,255,0.5)!important}
.ggd-widget-wrap .ggd-btn-back{background:transparent!important;border:1px solid rgba(255,255,255,0.15)!important;color:rgba(255,255,255,0.5)!important}
.ggd-widget-wrap .ggd-btn-back:hover{background:rgba(255,255,255,0.05)!important;color:rgba(255,255,255,0.8)!important}
.ggd-widget-wrap .ggd-btn-primary.ggd-intent-selected{background:#d42b2b!important;border-color:transparent!important;color:#fff!important;opacity:1!important}
.ggd-widget-wrap .ggd-btn-secondary.ggd-intent-selected{background:#d42b2b!important;border-color:transparent!important;color:#fff!important;opacity:1!important}
.ggd-widget-wrap .ggd-btn-primary.ggd-intent-unselected{opacity:0.4!important}
.ggd-widget-wrap .ggd-btn-secondary.ggd-intent-unselected{opacity:0.4!important}
.ggd-widget-wrap .ggd-btn-primary.ggd-intent-unselected:hover,
.ggd-widget-wrap .ggd-btn-secondary.ggd-intent-unselected:hover{opacity:0.7!important}
.ggd-widget-wrap .ggd-cancel-link{background:none!important;border:none!important;color:rgba(255,255,255,0.3)!important;text-decoration:underline!important;font-size:11.5px!important;padding:4px 0!important}
.ggd-widget-wrap .ggd-cancel-link:hover{color:rgba(255,255,255,0.55)!important}
/* Also nuke any generic a, button resets the theme applies */
.ggd-widget-wrap button{border-radius:8px!important;font-family:'DM Sans',-apple-system,sans-serif!important;line-height:1!important}
.ggd-widget-wrap .ggd-pill{background:transparent!important;border:1.5px solid rgba(255,255,255,0.18)!important;color:rgba(255,255,255,0.6)!important}
.ggd-widget-wrap .ggd-pill:hover{background:rgba(255,255,255,0.07)!important;color:#fff!important}
.ggd-widget-wrap .ggd-pill.on{background:#d42b2b!important;border-color:transparent!important;color:#fff!important}

/* ── Cancel: white outline ghost ── */
.ggd-widget-wrap .ggd-cancel-link,
.ggd-widget-wrap button.ggd-cancel-link{
  display:inline-flex!important;align-items:center!important;
  padding:7px 14px!important;
  border-radius:8px!important;
  border:1.5px solid rgba(255,255,255,0.3)!important;
  background:transparent!important;
  color:rgba(255,255,255,0.65)!important;
  font-size:12.5px!important;font-weight:500!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:border-color .15s,color .15s!important;
}
.ggd-widget-wrap .ggd-cancel-link:hover,
.ggd-widget-wrap button.ggd-cancel-link:hover{
  border-color:rgba(255,255,255,0.6)!important;
  color:#fff!important;
  background:transparent!important;
}

/* ── v1.1.6: Button overhaul ── */

/* Both intent buttons: identical red at rest */
.ggd-widget-wrap #ggd-btn-part,
.ggd-widget-wrap #ggd-btn-repair{
  background:#d42b2b!important;
  border:none!important;
  color:#fff!important;
  font-weight:700!important;
  opacity:1!important;
  padding:9px 16px!important;
  border-radius:8px!important;
  font-size:13px!important;
  cursor:pointer!important;
}
.ggd-widget-wrap #ggd-btn-part:hover,
.ggd-widget-wrap #ggd-btn-repair:hover{
  background:rgba(212,43,43,0.75)!important;
}

/* Selected: full red, full opacity */
.ggd-widget-wrap #ggd-btn-part.ggd-intent-selected,
.ggd-widget-wrap #ggd-btn-repair.ggd-intent-selected{
  background:#d42b2b!important;
  opacity:1!important;
  border:none!important;
}

/* Unselected: white outline */
.ggd-widget-wrap #ggd-btn-part.ggd-intent-unselected,
.ggd-widget-wrap #ggd-btn-repair.ggd-intent-unselected{
  background:transparent!important;
  border:1.5px solid rgba(255,255,255,0.4)!important;
  color:rgba(255,255,255,0.6)!important;
  opacity:1!important;
}
.ggd-widget-wrap #ggd-btn-part.ggd-intent-unselected:hover,
.ggd-widget-wrap #ggd-btn-repair.ggd-intent-unselected:hover{
  border-color:rgba(255,255,255,0.7)!important;
  color:#fff!important;
  background:rgba(255,255,255,0.05)!important;
}

/* Brand/model row: equal height alignment */
.ggd-widget-wrap .ggd-row2{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:9px!important;
  align-items:start!important;
}
.ggd-widget-wrap .ggd-row2 .ggd-field,
.ggd-widget-wrap .ggd-row2 fieldset.ggd-field{
  margin-bottom:0!important;
}
.ggd-widget-wrap .ggd-row2 fieldset legend,
.ggd-widget-wrap .ggd-row2 .ggd-field label{
  display:block!important;
  font-size:12px!important;
  font-weight:600!important;
  color:rgba(255,255,255,0.65)!important;
  margin-bottom:6px!important;
  min-height:18px!important;
}

/* Next / primary action buttons — clear distinction from pills */
.ggd-widget-wrap .ggd-step-nav .ggd-btn-primary,
.ggd-widget-wrap .ggd-step-nav button.ggd-btn-primary{
  background:#d42b2b!important;
  color:#fff!important;
  border:none!important;
  font-weight:700!important;
  font-size:13px!important;
  padding:9px 20px!important;
  border-radius:8px!important;
  min-width:90px!important;
}
.ggd-widget-wrap .ggd-step-nav .ggd-btn-primary:hover{background:#b82222!important}

/* Back button in step nav */
.ggd-widget-wrap .ggd-step-nav .ggd-btn-back{
  background:transparent!important;
  border:1.5px solid rgba(255,255,255,0.2)!important;
  color:rgba(255,255,255,0.5)!important;
  font-size:12.5px!important;
  padding:7px 12px!important;
  border-radius:8px!important;
}
.ggd-widget-wrap .ggd-step-nav .ggd-btn-back:hover{
  border-color:rgba(255,255,255,0.4)!important;
  color:#fff!important;
}

/* Showroom book button */
.ggd-widget-wrap #ggd-btn-showroom{
  background:#d42b2b!important;
  border:none!important;
  color:#fff!important;
  font-weight:700!important;
}
.ggd-widget-wrap #ggd-btn-showroom:hover{background:rgba(212,43,43,0.75)!important}


/* ════════════════════════════════════════════════════════════
   v1.2.0 — Earn the red: one unified state language, AA contrast,
   single-primary face, progressive photo, step progress, focus card.
   Appended last so it wins the cascade over theme bleed-through.
   ──────────────────────────────────────────────────────────── */

/* ── 1. Kill theme bleed-through on raw <button> controls ──
   These rules were previously unarmored, so Elementor/ShopEngine
   painted them its default blue. Armor → navy / red / outline. */

/* Delivery + pickup: clean segmented toggle, one clear active state */
.ggd-widget-wrap .ggd-addr-tab{background:rgba(255,255,255,0.05)!important;border:1.5px solid rgba(255,255,255,0.16)!important;color:rgba(255,255,255,0.62)!important;font-weight:600!important}
.ggd-widget-wrap .ggd-addr-tab:first-child{border-radius:8px 0 0 8px!important}
.ggd-widget-wrap .ggd-addr-tab:last-child{border-radius:0 8px 8px 0!important}
.ggd-widget-wrap .ggd-addr-tab:not(:first-child){border-left:none!important}
.ggd-widget-wrap .ggd-addr-tab:hover:not(.on){background:rgba(255,255,255,0.09)!important;color:#fff!important}
.ggd-widget-wrap .ggd-addr-tab.on{background:#d42b2b!important;border-color:#d42b2b!important;color:#fff!important;font-weight:700!important}

/* Time slots: outline at rest (reads "pick one"), red when chosen */
.ggd-widget-wrap .ggd-slot{background:rgba(255,255,255,0.05)!important;border:1.5px solid rgba(255,255,255,0.14)!important;color:rgba(255,255,255,0.72)!important;font-weight:500!important}
.ggd-widget-wrap .ggd-slot:hover:not(.full):not(.on){background:rgba(212,43,43,0.18)!important;border-color:#d42b2b!important;color:#fff!important}
.ggd-widget-wrap .ggd-slot.on{background:#d42b2b!important;border-color:#d42b2b!important;color:#fff!important;font-weight:700!important}
.ggd-widget-wrap .ggd-slot.full{background:transparent!important;border-color:rgba(255,255,255,0.08)!important;color:rgba(255,255,255,0.25)!important;text-decoration:line-through!important;cursor:default!important}

/* Calendar nav arrows */
.ggd-widget-wrap .ggd-cal-nav{background:rgba(255,255,255,0.06)!important;border:1.5px solid rgba(255,255,255,0.14)!important;color:rgba(255,255,255,0.7)!important}
.ggd-widget-wrap .ggd-cal-nav:hover{background:rgba(255,255,255,0.12)!important;color:#fff!important}

/* Calendar days: bulletproof navy / red */
.ggd-widget-wrap .ggd-cal-day.available{background:rgba(255,255,255,0.06)!important;color:rgba(255,255,255,0.78)!important}
.ggd-widget-wrap .ggd-cal-day.available:hover{background:rgba(212,43,43,0.18)!important;color:#fff!important}
.ggd-widget-wrap .ggd-cal-day.selected{background:#d42b2b!important;color:#fff!important;font-weight:700!important}
.ggd-widget-wrap .ggd-cal-day.unavailable{background:transparent!important;color:rgba(255,255,255,0.2)!important}
.ggd-widget-wrap .ggd-cal-day.empty{background:transparent!important}

/* ── 2. Contrast → WCAG AA on the navy card (#1b3260) ── */
.ggd-widget-wrap input::placeholder,
.ggd-widget-wrap textarea::placeholder{color:rgba(255,255,255,0.55)!important;-webkit-text-fill-color:rgba(255,255,255,0.55)!important}
.ggd-widget-wrap .ggd-field label,
.ggd-widget-wrap legend{color:rgba(255,255,255,0.72)!important}
.ggd-widget-wrap .ggd-opt-label{color:rgba(255,255,255,0.5)!important}
.ggd-widget-wrap .ggd-upload-hint,
.ggd-widget-wrap .ggd-hint-text,
.ggd-widget-wrap .ggd-slots-label,
.ggd-widget-wrap .ggd-intent-eyebrow{color:rgba(255,255,255,0.55)!important}
.ggd-widget-wrap .ggd-face-lead{color:rgba(255,255,255,0.62)!important}
.ggd-widget-wrap .ggd-success p{color:rgba(255,255,255,0.68)!important}
.ggd-widget-wrap .ggd-pickup-address p{color:rgba(255,255,255,0.75)!important}
.ggd-widget-wrap .ggd-pickup-address span{color:rgba(255,255,255,0.55)!important}
.ggd-widget-wrap .ggd-cal-dow{color:rgba(255,255,255,0.5)!important}
.ggd-widget-wrap .ggd-confirm-note{color:rgba(255,255,255,0.62)!important}
.ggd-widget-wrap .ggd-selected-time-display{color:rgba(255,255,255,0.62)!important}

/* ── 3. Parts face: one primary (Find a Part), one secondary (Diagnose) ──
   After a choice is made, the .ggd-intent-selected/.unselected rules above
   take over (higher #id.class specificity): selected red, the other outline. */
.ggd-widget-wrap #ggd-btn-part{background:#d42b2b!important;border:none!important;color:#fff!important;font-weight:700!important;opacity:1!important}
.ggd-widget-wrap #ggd-btn-part:hover{background:#b82222!important}
.ggd-widget-wrap #ggd-btn-repair{background:transparent!important;border:1.5px solid rgba(255,255,255,0.4)!important;color:rgba(255,255,255,0.85)!important;font-weight:600!important;opacity:1!important}
.ggd-widget-wrap #ggd-btn-repair:hover{background:rgba(255,255,255,0.06)!important;border-color:rgba(255,255,255,0.7)!important;color:#fff!important}

/* ── 4. Progressive photo upload — collapsed until asked for ── */
.ggd-widget-wrap .ggd-photo-toggle{display:inline-flex;align-items:center;gap:7px;background:transparent;border:none;font-family:inherit;cursor:pointer;color:rgba(255,255,255,0.62)!important;font-size:12.5px;font-weight:600;padding:2px 0;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,0.25)}
.ggd-widget-wrap .ggd-photo-toggle:hover{color:#fff!important;text-decoration-color:rgba(255,255,255,0.5)}
.ggd-widget-wrap .ggd-photo-toggle i{font-size:15px}
.ggd-widget-wrap .ggd-photo-collapse{overflow:hidden;max-height:0;opacity:0;transition:max-height .3s ease,opacity .25s ease}
.ggd-widget-wrap .ggd-photo-collapse.visible{max-height:320px;opacity:1;margin-top:10px}
.ggd-widget-wrap .ggd-reveal.visible{max-height:1400px!important}

/* ── 5. Step progress (two-segment bar per flow) ── */
.ggd-widget-wrap .ggd-progress{display:flex;align-items:center;gap:6px;margin-bottom:14px}
.ggd-widget-wrap .ggd-progress-dot{flex:1;height:5px;border-radius:3px;background:rgba(255,255,255,0.14);transition:background .25s}
.ggd-widget-wrap .ggd-progress-dot.done{background:rgba(255,255,255,0.4)}
.ggd-widget-wrap .ggd-progress-dot.current{background:#d42b2b}

/* ── 6. Slot AM/PM grouping ── */
.ggd-widget-wrap .ggd-slots-subhead{grid-column:1/-1;font-size:10px;font-weight:700;color:rgba(255,255,255,0.5)!important;text-transform:uppercase;letter-spacing:.1em;margin:6px 0 1px}
.ggd-widget-wrap .ggd-slots-subhead:first-child{margin-top:0}

/* ── 7. Keep focus on the active flow — dim the other card ── */
.ggd-widget-wrap .ggd-card{transition:opacity .25s}
.ggd-widget-wrap.ggd-flow-active .ggd-card.ggd-dim{opacity:0.5}
.ggd-widget-wrap.ggd-flow-active .ggd-card.ggd-dim:hover{opacity:1}

/* Respect reduced motion */
@media (prefers-reduced-motion:reduce){
  .ggd-widget-wrap .ggd-reveal,
  .ggd-widget-wrap .ggd-photo-collapse,
  .ggd-widget-wrap .ggd-progress-dot,
  .ggd-widget-wrap .ggd-card{transition:none!important}
}


/* ── v1.2.1: breathing room below two-column rows ──
   .ggd-row2 children are margin-bottom:0 (column alignment), which left the
   *next* field's label flush against the row above it ("What part are you
   looking for?" under Brand/Model; "Mobile" under First/Last name). Restore
   the normal 12px field rhythm after every two-column row. */
.ggd-widget-wrap .ggd-row2{margin-bottom:12px!important}
