/* Get A PRO 247 - Multi-Business — frontend */
.gapm-app{--accent:#1ca3d3;--ink:#0d143c;--mute:#5b647d;--line:#e5e8f0;
  margin:0 auto;font-family:Arial,Helvetica,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
/* Compact ZIP pill stays narrow. */
.gapm-app[data-mode="finder"],
.gapm-app[data-mode="single"]{max-width:520px}
/* Quote/calendar flow fills its container (control width in Elementor). */
.gapm-app[data-mode="quote"]{max-width:100%;width:100%}
/* When a pill-based app (finder/single) expands into the chooser or flow,
   drop the narrow cap so the calendar/quote has room. */
.gapm-app.is-expanded{max-width:100% !important;width:100%}
/* Once a finder/single expands into the flow, let that step go full width too. */
.gapm-app .gapm-step[data-screen="flow"] .gapm-card,
.gapm-app .gapm-step[data-screen="choose"] .gapm-card{width:100%}

/* Compact ZIP pill: rounded input + brand-colored button in one bar.
   !important guards are intentional: page builders/themes (Elementor, Divi)
   style bare input/button elements and would otherwise override the pill. */
.gapm-pill{display:flex !important;align-items:center;background:#f1f1ee;border-radius:999px;padding:6px;box-shadow:0 4px 18px rgba(0,0,0,.12)}
.gapm-pill .gapm-pill__input{flex:1;border:0 !important;background:transparent !important;font-size:16px;padding:14px 20px !important;margin:0 !important;font-family:inherit;color:var(--ink);min-width:0;outline:none !important;box-shadow:none !important;height:auto !important;line-height:normal !important}
.gapm-pill .gapm-pill__input::placeholder{color:#9aa0a6}
.gapm-pill .gapm-pill__btn{border:0 !important;border-radius:999px !important;background:var(--accent) !important;color:#fff !important;font-weight:800;font-size:14px;letter-spacing:.5px;padding:14px 26px !important;margin:0 !important;width:auto !important;cursor:pointer;font-family:inherit;white-space:nowrap;text-transform:uppercase;line-height:normal !important;height:auto !important}
.gapm-pill .gapm-pill__btn:hover{filter:brightness(.93)}
.gapm-pill .gapm-pill__btn:disabled{opacity:.7;cursor:not-allowed}
@media(max-width:480px){.gapm-pill{flex-direction:column;border-radius:22px;gap:6px}.gapm-pill .gapm-pill__input{width:100%;text-align:center}.gapm-pill .gapm-pill__btn{width:100% !important}}
.gapm-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 40px rgba(13,20,60,.08);padding:22px 20px}
.gapm-step{display:none}
.gapm-step.is-active{display:block}
.gapm-title{font-size:clamp(34px,5vw,56px);line-height:.95;letter-spacing:-.04em;font-weight:900;margin:0 0 18px}
/* Promo banner (uniform) */
.gapm-promo{display:flex;align-items:center;gap:12px;border:2px solid var(--accent);border-radius:10px;padding:14px 16px;margin-bottom:20px;background:rgba(0,0,0,.02);font-weight:800;color:var(--ink)}
.gapm-promo__icon{color:var(--accent);font-size:17px}
/* Two-column field grid (ZIP + Coupon side by side; stacks on mobile) */
.gapm-field-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:600px){.gapm-field-grid{grid-template-columns:1fr 1fr}}
.gapm-sub{color:var(--mute);font-size:13px;margin:0 0 18px}
.gapm-flow-title{font-size:clamp(26px,4vw,40px);line-height:1;letter-spacing:-.03em;font-weight:900;margin:0 0 18px}
.gapm-label,.gapm-q-label{display:block;font-size:14px;font-weight:800;margin:14px 0 7px;color:var(--ink)}
.gapm-label span,.gapm-q-label span{color:#FF1C38}
.gapm-input{width:100%;padding:12px 13px;border:1.5px solid var(--line);border-radius:10px;font-size:15px;font-family:inherit;background:#fff;box-sizing:border-box}
.gapm-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(0,0,0,.04)}
textarea.gapm-input{resize:vertical}
.gapm-btn{width:100%;border:0;border-radius:999px;padding:18px;font-size:16px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#fff;cursor:pointer;font-family:inherit;margin-top:18px}
.gapm-btn--primary{background:var(--accent);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.gapm-btn--primary:hover{background:var(--accent-dark,var(--accent));filter:brightness(.96)}
.gapm-opt-ic{width:20px;height:20px;object-fit:contain;vertical-align:middle;margin-right:7px}
.gapm-seg__i .gapm-opt-ic,.gapm-pill .gapm-opt-ic{margin-right:6px}
.gapm-btn:disabled{opacity:.6;cursor:not-allowed}
.gapm-back{background:none;border:0;color:var(--mute);font-weight:700;font-size:13px;cursor:pointer;padding:0;font-family:inherit}
.gapm-msg{margin-top:14px;padding:12px 14px;border-radius:10px;font-size:13px;font-weight:700}
.gapm-msg--ok{background:rgba(22,163,74,.08);border:1px solid rgba(22,163,74,.3);color:#166534}
.gapm-msg--bad{background:rgba(255,28,56,.08);border:1px solid rgba(255,28,56,.3);color:#b0102a}

/* chooser */
.gapm-biz-grid{display:grid;gap:10px;margin-top:8px}
.gapm-biz{display:flex;align-items:center;gap:14px;padding:15px 16px;border:2px solid var(--line);border-radius:14px;cursor:pointer;background:#fff;text-align:left;font-family:inherit;width:100%}
.gapm-biz:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 8px 20px rgba(13,20,60,.08)}
.gapm-biz__dot{width:14px;height:14px;border-radius:50%;flex:none}
.gapm-biz__tx b{display:block;font-size:15.5px;color:var(--ink)}
.gapm-biz__tx small{color:var(--mute);font-size:12px}
.gapm-biz__arrow{margin-left:auto;color:var(--mute);font-size:22px}

/* controls */
.gapm-q{margin-bottom:6px}
.gapm-seg{display:flex;gap:10px;flex-wrap:wrap}
.gapm-seg__i{flex:1;min-width:64px;padding:14px 10px;border:1.5px solid var(--line);background:#fff;border-radius:10px;font-weight:800;font-size:14px;cursor:pointer;font-family:inherit;color:var(--ink)}
.gapm-seg__i.is-on{border-color:var(--accent);background:rgba(0,0,0,.03);color:var(--accent)}
.gapm-pills{display:flex;gap:8px;flex-wrap:wrap}
.gapm-pill{padding:9px 14px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit;color:var(--ink)}
.gapm-pill.is-on{border-color:var(--accent);background:rgba(0,0,0,.03);color:var(--accent)}
.gapm-counter{display:inline-flex;align-items:center;gap:16px;border:1.5px solid var(--line);border-radius:12px;padding:8px 16px}
.gapm-counter__b{width:30px;height:30px;border:0;border-radius:8px;background:rgba(0,0,0,.05);color:var(--accent);font-weight:700;font-size:18px;cursor:pointer}
.gapm-range{width:100%;margin-top:8px;accent-color:var(--accent)}
.gapm-slider-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700}
.gapm-slider-head strong{color:var(--accent)}
.gapm-photo{border:1.8px dashed var(--accent);border-radius:12px;padding:16px;text-align:center;font-size:13px;color:var(--mute);background:rgba(0,0,0,.02);cursor:pointer}

/* price */
.gapm-price{margin-top:16px;text-align:center;padding:16px;border-radius:14px;border:1px solid var(--line);background:rgba(0,0,0,.02)}
.gapm-price__label{display:block;font-size:12px;color:var(--mute);font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.gapm-price strong{font-size:30px;color:var(--ink)}
.gapm-price small{color:var(--mute);font-size:13px}

/* schedule */
.gapm-dates{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.gapm-date{padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-weight:700;font-size:12.5px;cursor:pointer;font-family:inherit}
.gapm-date.is-on{border-color:var(--accent);color:var(--accent);background:rgba(0,0,0,.03)}
.gapm-slots{display:grid;gap:8px}
.gapm-slot{display:flex;flex-direction:column;align-items:flex-start;padding:11px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-family:inherit;text-align:left}
.gapm-slot.is-on{border-color:var(--accent);background:rgba(0,0,0,.03)}
.gapm-slot b{font-size:14px;color:var(--ink)}
.gapm-slot span{font-size:12px;color:var(--mute)}

/* addons */
.gapm-addon{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1.5px solid var(--line);border-radius:12px;margin-bottom:8px;cursor:pointer}
.gapm-addon__label{font-size:13.5px;font-weight:700}
.gapm-addon__price{margin-left:auto;font-weight:700;color:var(--accent)}

/* nav / progress */
.gapm-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}
.gapm-nav .gapm-btn{margin-top:0;width:auto;flex:1}
.gapm-prog{display:flex;gap:6px;justify-content:center;margin-bottom:16px}
.gapm-prog i{width:26px;height:5px;border-radius:3px;background:var(--line)}
.gapm-prog i.is-on{background:var(--accent)}

/* summary + done */
.gapm-summary{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:8px}
.gapm-summary__row{display:flex;justify-content:space-between;gap:12px;padding:9px 13px;border-bottom:1px solid var(--line);font-size:13px}
.gapm-summary__row:last-child{border-bottom:0}
.gapm-summary__row span{color:var(--mute);text-transform:capitalize}
.gapm-done{text-align:center;padding:24px 0}
.gapm-done__check{width:60px;height:60px;border-radius:50%;background:rgba(22,163,74,.12);color:#16a34a;font-size:32px;line-height:60px;margin:0 auto 12px}
.gapm-done h3{margin:0 0 6px;font-size:20px}
.gapm-done p{color:var(--mute);font-size:14px;margin:0}

/* Month-grid calendar (lighting consults) */
.gapm-cal-wrap{display:grid;grid-template-columns:1fr 260px;gap:22px;margin-top:8px}
@media(max-width:600px){.gapm-cal-wrap{grid-template-columns:1fr}}
.gapm-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.gapm-cal-head b{font-size:16px;color:var(--ink)}
.gapm-cal-nav{background:none;border:0;font-size:22px;color:var(--accent);cursor:pointer;padding:2px 10px;line-height:1;font-family:inherit}
.gapm-cal-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px}
.gapm-cal-dow span{text-align:center;font-size:12px;color:var(--mute);padding:4px 0}
.gapm-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.gapm-cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:14px;border-radius:50%;color:#c2c7d0;position:relative}
.gapm-cal-day.is-avail{color:var(--accent);background:rgba(0,0,0,.03);cursor:pointer;font-weight:600}
.gapm-cal-day.is-avail:hover{background:rgba(0,0,0,.07)}
.gapm-cal-day.is-today::after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--accent)}
.gapm-cal-day.is-sel{background:var(--accent) !important;color:#fff !important}
.gapm-cal-side__title{margin:0 0 3px;font-size:16px;color:var(--ink)}
.gapm-cal-side__p{font-size:13px;color:var(--mute);margin:0 0 12px}
.gapm-cal-hint{font-size:13px;color:var(--mute)}
.gapm-cal-slot{display:flex;align-items:stretch;border:1.5px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff;overflow:hidden}
.gapm-cal-slot__lbl{flex:1;text-align:left;padding:12px 14px;cursor:pointer;border:0;background:transparent;font-family:inherit}
.gapm-cal-slot__lbl b{display:block;font-size:14px;color:var(--ink)}
.gapm-cal-slot__lbl span{font-size:12px;color:var(--mute)}
.gapm-cal-slot.is-on{border-color:var(--accent)}
.gapm-cal-slot.is-on .gapm-cal-slot__lbl{background:#5b6470}
.gapm-cal-slot.is-on .gapm-cal-slot__lbl b{color:#fff}
.gapm-cal-slot.is-on .gapm-cal-slot__lbl span{color:#d6dae0}
.gapm-cal-slot__next{display:none;border:0;background:var(--accent);color:#fff;font-weight:700;font-size:14px;padding:0 22px;cursor:pointer;font-family:inherit}
.gapm-cal-slot.is-on .gapm-cal-slot__next{display:flex;align-items:center}
