/* GoCorte Booking App V2 — visual/product layer only. Scoped to customer booking flow. */
body.gc-public-reserve *,
body.gc-public-payment *,
body.gc-public-confirmation *{box-sizing:border-box}
body.gc-public-reserve,
body.gc-public-payment,
body.gc-public-confirmation{
  --gc2-bg:#f5f5f6;
  --gc2-surface:#fff;
  --gc2-surface-2:#f8f8f9;
  --gc2-text:#101114;
  --gc2-muted:#6c7078;
  --gc2-line:#e5e6e8;
  --gc2-line-strong:#cfd2d7;
  --gc2-black:#111214;
  --gc2-green:#14945d;
  --gc2-green-bg:#ecf8f2;
  --gc2-danger:#c73d50;
  --gc2-danger-bg:#fff3f5;
  --gc2-radius:18px;
  --gc2-radius-sm:14px;
  --gc2-shadow:0 18px 50px rgba(17,18,20,.07);
  --gc2-ease:cubic-bezier(.22,.72,.22,1);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--gc2-bg)!important;
  color:var(--gc2-text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body.gc-public-reserve #bg-particles{display:none!important}
body.gc-public-reserve .gc-booking-card,
body.gc-public-payment .gc-booking-card,
body.gc-public-confirmation .gc-confirmation-card{
  opacity:0;
  transform:translateY(8px);
}
body.gc-public-reserve.gc-app-ready .gc-booking-card,
body.gc-public-payment.gc-app-ready .gc-booking-card,
body.gc-public-confirmation.gc-app-ready .gc-confirmation-card{
  opacity:1;
  transform:none;
  transition:opacity .28s var(--gc2-ease),transform .34s var(--gc2-ease);
}

/* App bar */
.gc-booking-appbar{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:52px;
  padding:0 0 14px;
  border-bottom:1px solid var(--gc2-line);
}
.gc-appbar-back{
  width:40px;height:40px;display:grid;place-items:center;
  border:1px solid var(--gc2-line);border-radius:12px;background:#fff;
  color:var(--gc2-text);text-decoration:none!important;
  transition:transform .16s var(--gc2-ease),background .16s,border-color .16s;
}
.gc-appbar-back:active{transform:scale(.95)}
.gc-appbar-back:hover{background:#f7f7f8;border-color:var(--gc2-line-strong)}
.gc-appbar-back svg{width:19px;height:19px}
.gc-appbar-brand{display:flex;align-items:center;gap:10px;min-width:0}
.gc-appbar-avatar{
  width:36px;height:36px;flex:0 0 auto;border-radius:50%;overflow:hidden;
  display:grid;place-items:center;background:var(--gc2-black);color:#fff;
  border:1px solid #dedfe2;font-size:14px;font-weight:800;
}
.gc-appbar-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.gc-appbar-brand>span:last-child,.gc-confirmation-brand>span:last-child{min-width:0;display:grid;gap:1px}
.gc-appbar-brand small,.gc-confirmation-brand small{font-size:10px;line-height:1.2;color:var(--gc2-muted);font-weight:650;letter-spacing:.02em}
.gc-appbar-brand strong,.gc-confirmation-brand strong{font-size:14px;line-height:1.2;color:var(--gc2-text);font-weight:780;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc-appbar-trust{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 9px;border:1px solid #d8ebe2;border-radius:999px;background:#f5fbf8;color:#19714c;font-size:10px;font-weight:750;white-space:nowrap}
.gc-appbar-trust svg{width:15px;height:15px}

/* Progress */
body.gc-public-reserve .steps-top,
body.gc-public-payment .steps-top{
  margin:12px 0 0!important;padding:0!important;border:0!important;gap:8px!important;
}
body.gc-public-reserve .step,
body.gc-public-payment .step{gap:7px!important;font-weight:680!important;color:#92969e!important}
body.gc-public-reserve .step.is-active,
body.gc-public-payment .step.is-active{color:var(--gc2-text)!important}
body.gc-public-reserve .step.is-done,
body.gc-public-payment .step.is-done{color:#5f646d!important}
body.gc-public-reserve .step-dot,
body.gc-public-payment .step-dot{width:23px!important;height:23px!important;font-size:11px!important;border-color:#d9dadd!important}
body.gc-public-reserve .step.is-active .step-dot,
body.gc-public-payment .step.is-active .step-dot{background:var(--gc2-black)!important;border-color:var(--gc2-black)!important;color:#fff!important}
body.gc-public-reserve .step.is-done .step-dot,
body.gc-public-payment .step.is-done .step-dot{background:#fff!important;border-color:#c7c9ce!important;color:#3b3f46!important}
body.gc-public-reserve .step-label,
body.gc-public-payment .step-label{font-size:11px!important;letter-spacing:.01em}
body.gc-public-reserve .step-line,
body.gc-public-payment .step-line{height:1px!important;background:#dedfe2!important}

.gc-booking-hero{margin:22px 0 18px}
.gc-eyebrow,.gc-section-kicker{display:block;color:#7b7f87;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.gc-booking-hero h2,.gc-booking-hero h1{margin:5px 0 6px!important;font-size:clamp(25px,7vw,31px)!important;line-height:1.08!important;letter-spacing:-.045em!important;font-weight:820!important;text-align:left!important;color:var(--gc2-text)!important}
.gc-booking-hero p{margin:0;max-width:42ch;color:var(--gc2-muted);font-size:13px;line-height:1.5}
.gc-payment-hero{margin-bottom:20px}

/* Reserve screen */
body.gc-public-reserve{padding:0!important;min-height:100svh!important}
body.gc-public-reserve .card{
  width:min(100% - 28px,520px)!important;margin:18px auto 34px!important;padding:16px 18px 20px!important;
  border:1px solid var(--gc2-line)!important;border-radius:24px!important;background:#fff!important;
  box-shadow:var(--gc2-shadow)!important;
}
body.gc-public-reserve .provider-card{
  margin:0 0 22px!important;padding:13px!important;border:1px solid var(--gc2-line)!important;border-radius:16px!important;
  background:#fff!important;box-shadow:none!important;
}
body.gc-public-reserve .provider-head{gap:11px}
body.gc-public-reserve .provider-avatar{width:50px!important;height:50px!important;border:1px solid #dddfe3!important;box-shadow:0 1px 2px rgba(0,0,0,.04)}
body.gc-public-reserve .provider-title h3{font-size:15px!important;font-weight:780!important}
body.gc-public-reserve .verified{width:17px!important;height:17px!important;background:var(--gc2-green-bg)!important;color:var(--gc2-green)!important;border-color:#caeadc!important}
body.gc-public-reserve .provider-meta{font-size:11px!important;margin-top:2px}
body.gc-public-reserve .availability-pill{
  width:max-content;max-width:100%;margin:9px 0 0!important;padding:5px 8px!important;border:1px solid #dce9e3!important;border-radius:999px!important;background:#f6faf8!important;color:#4e665b!important;font-size:10px!important;font-weight:650!important;
}
body.gc-public-reserve .availability-pill .dot{width:17px!important;height:17px!important;background:var(--gc2-green-bg)!important;color:var(--gc2-green)!important}
body.gc-public-reserve .section-title{margin:0 0 2px!important;font-size:17px!important;line-height:1.25!important;letter-spacing:-.025em;font-weight:800!important;color:var(--gc2-text)!important}
body.gc-public-reserve .small-muted{margin:0 0 12px!important;font-size:11.5px!important;line-height:1.45;color:var(--gc2-muted)!important}
body.gc-public-reserve .days-scroll-wrap{margin:0 -2px 14px!important}
body.gc-public-reserve .days-scroll{gap:8px!important;padding:2px 2px 5px!important;scrollbar-width:none;scroll-snap-type:x proximity}
body.gc-public-reserve .days-scroll::-webkit-scrollbar{display:none}
body.gc-public-reserve .day-chip{
  scroll-snap-align:start;min-width:78px!important;min-height:58px!important;padding:9px 10px!important;border:1px solid var(--gc2-line)!important;border-radius:14px!important;background:#fff!important;color:var(--gc2-text)!important;box-shadow:none!important;
  transition:transform .15s var(--gc2-ease),background .15s,border-color .15s,color .15s!important;
}
body.gc-public-reserve .day-chip .day-name{font-size:11px!important;font-weight:760!important}
body.gc-public-reserve .day-chip .day-date{font-size:11px!important;color:inherit!important;opacity:.72}
body.gc-public-reserve .day-chip.is-selected{background:var(--gc2-black)!important;border-color:var(--gc2-black)!important;color:#fff!important;transform:translateY(-1px)}
body.gc-public-reserve .day-chip.is-disabled{background:#f7f7f8!important;color:#a0a4ab!important;border-color:#ededee!important;opacity:1!important;text-decoration:none}
body.gc-public-reserve .days-arrow{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;background:#fff!important;border-color:var(--gc2-line)!important;box-shadow:0 6px 20px rgba(17,18,20,.08)!important}
body.gc-public-reserve .time-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:0 0 20px!important}
body.gc-public-reserve .time-chip{
  min-height:44px!important;border:1px solid var(--gc2-line)!important;border-radius:12px!important;background:#fff!important;color:var(--gc2-text)!important;font-size:12px!important;font-weight:760!important;box-shadow:none!important;
  transition:transform .15s var(--gc2-ease),background .15s,border-color .15s,color .15s!important;
}
body.gc-public-reserve .time-chip.is-selected{background:var(--gc2-black)!important;color:#fff!important;border-color:var(--gc2-black)!important;box-shadow:0 7px 18px rgba(17,18,20,.12)!important}
body.gc-public-reserve .time-chip:active{transform:scale(.96)!important}
.gc-empty-state{display:flex;align-items:center;gap:11px;margin:4px 0 20px;padding:13px;border:1px solid var(--gc2-line);border-radius:14px;background:var(--gc2-surface-2);color:var(--gc2-muted)}
.gc-empty-state--closed{background:#fafafa}
.gc-empty-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;background:#fff;border:1px solid var(--gc2-line);color:#646970}
.gc-empty-icon svg{width:18px;height:18px}
.gc-empty-state div{display:grid;gap:2px}.gc-empty-state strong{font-size:12.5px;color:var(--gc2-text)}.gc-empty-state span:not(.gc-empty-icon){font-size:11.5px;line-height:1.4}

/* Contact moves later in the flow */
body.gc-public-reserve .gc-contact-card{
  margin:0 0 18px!important;padding:16px!important;border:1px solid var(--gc2-line)!important;border-radius:16px!important;background:#fafafa!important;display:grid!important;gap:8px!important;
}
body.gc-public-reserve .gc-contact-head{display:grid;gap:2px;margin-bottom:5px}
body.gc-public-reserve .gc-contact-head strong{font-size:14px;color:var(--gc2-text);font-weight:780}
body.gc-public-reserve .gc-contact-head small{font-size:11px;line-height:1.4;color:var(--gc2-muted)}
body.gc-public-reserve .gc-contact-card label{font-size:11px!important;font-weight:720!important;color:#42464e!important;margin-top:3px}
body.gc-public-reserve .gc-contact-card input{
  min-height:46px!important;padding:11px 12px!important;border:1px solid #dedfe2!important;border-radius:12px!important;background:#fff!important;color:var(--gc2-text)!important;font-size:14px!important;box-shadow:0 1px 0 rgba(0,0,0,.02) inset!important;
}
body.gc-public-reserve .gc-contact-card input:focus{border-color:#92979f!important;box-shadow:0 0 0 3px rgba(17,18,20,.07)!important}
body.gc-public-reserve .trust-list{display:grid!important;gap:0!important;margin:0 0 12px!important;border-top:1px solid var(--gc2-line)!important;border-bottom:1px solid var(--gc2-line)!important}
body.gc-public-reserve .trust-item{min-height:42px!important;padding:9px 2px!important;border:0!important;border-bottom:1px solid #f0f0f1!important;font-size:10.5px!important;color:#60656d!important;background:transparent!important}
body.gc-public-reserve .trust-item:last-child{border-bottom:0!important}
body.gc-public-reserve .trust-ico{width:20px!important;height:20px!important;color:#555b63!important}
body.gc-public-reserve .trust-ico svg{width:16px!important;height:16px!important}
body.gc-public-reserve .gc-primary-cta{
  min-height:54px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto 18px!important;align-items:center!important;gap:9px!important;padding:10px 14px!important;border:0!important;border-radius:14px!important;background:var(--gc2-black)!important;color:#fff!important;text-align:left!important;box-shadow:none!important;font-size:14px!important;font-weight:780!important;
}
body.gc-public-reserve .gc-primary-cta span{min-width:0}
body.gc-public-reserve .gc-primary-cta small{font-size:10px;font-weight:600;color:#bfc2c8;white-space:nowrap}
body.gc-public-reserve .gc-primary-cta svg{width:18px;height:18px}
body.gc-public-reserve .gc-primary-cta:disabled{background:#ececee!important;color:#9a9ea5!important;opacity:1!important}
body.gc-public-reserve .gc-primary-cta:disabled small{color:#aaaeb4}
body.gc-public-reserve .back{gap:5px!important;font-size:11.5px!important;font-weight:700!important;color:#686d75!important;text-decoration:none!important}
body.gc-public-reserve .back svg{width:16px;height:16px}

/* Payment */
body.gc-public-payment .shell{width:min(100% - 28px,560px)!important;margin:18px auto 40px!important}
body.gc-public-payment .main-card{padding:16px 18px 20px!important;border:1px solid var(--gc2-line)!important;border-radius:24px!important;background:#fff!important;box-shadow:var(--gc2-shadow)!important;overflow:visible!important}
body.gc-public-payment .gc-booking-overview{margin:18px 0 22px!important;padding:14px!important;border:1px solid var(--gc2-line)!important;border-radius:16px!important;background:#fafafa!important}
.gc-overview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
body.gc-public-payment .gc-booking-overview-label{font-size:10px!important;text-transform:uppercase;letter-spacing:.08em;color:#777c84!important}
body.gc-public-payment #draft-change-time{margin:0!important;min-height:auto!important;font-size:11px!important;font-weight:760!important;text-decoration:none!important;color:#4f555e!important;padding:4px 7px;border:1px solid #dedfe2;border-radius:8px;background:#fff}
.gc-booking-date{display:block;font-size:14px;line-height:1.35;font-weight:800;color:var(--gc2-text);letter-spacing:-.015em}
.gc-booking-provider{display:block;margin-top:3px;color:var(--gc2-muted);font-size:11.5px}
body.gc-public-payment #gc-booking-service-names{margin:8px 0 0!important;padding-top:8px;border-top:1px solid #ebebed;color:#353940!important;font-size:11.5px!important;font-weight:680!important}
body.gc-public-payment #draft-selection-summary{margin:3px 0 0!important;font-size:10.5px!important;color:#7b8088!important}
body.gc-public-payment .page-title{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:12px!important;margin:0 0 10px!important;font-size:15px!important;font-weight:800!important;letter-spacing:-.02em!important}
body.gc-public-payment .page-title small{font-size:10px;font-weight:600;color:var(--gc2-muted);letter-spacing:0}
body.gc-public-payment .service-list{gap:8px!important;margin-bottom:16px!important}
body.gc-public-payment .service-row{
  min-height:62px!important;padding:11px 12px!important;border:1px solid var(--gc2-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important;
  transition:transform .14s var(--gc2-ease),background .14s,border-color .14s!important;
}
body.gc-public-payment .service-row:hover{background:#fafafa!important;border-color:#d6d8dc!important}
body.gc-public-payment .service-row:has(.service-check:checked){background:#f8f8f9!important;border-color:#aeb2b9!important;box-shadow:0 0 0 2px rgba(17,18,20,.035)!important}
body.gc-public-payment .service-box{width:20px!important;height:20px!important;border-radius:6px!important;border-color:#aeb2b9!important}
body.gc-public-payment .service-row input.service-check:checked+.service-box{background:var(--gc2-black)!important;border-color:var(--gc2-black)!important}
body.gc-public-payment .service-text{display:grid!important;gap:2px!important}
body.gc-public-payment .service-name{font-size:13px!important;font-weight:750!important;line-height:1.3!important}
body.gc-public-payment .service-duration{font-size:10.5px;color:#858a92;font-weight:600}
body.gc-public-payment .service-price{font-size:13px!important;font-weight:790!important}
body.gc-public-payment .method-pill{
  margin:6px 0 18px!important;min-height:46px!important;padding:10px 11px!important;border:1px solid var(--gc2-line)!important;border-radius:13px!important;background:#fafafa!important;font-size:12px!important;font-weight:740!important;
}
body.gc-public-payment .method-ico{width:23px!important;height:23px!important;border-color:#dfe1e4!important;background:#fff!important;color:#353a41!important}
body.gc-public-payment .method-sub{display:block!important;margin:1px 0 0!important;font-size:9.5px!important;font-weight:600!important;color:#888d95!important}
body.gc-public-payment .gc-commerce-block{margin:18px 0!important;padding:14px!important;border:1px solid var(--gc2-line)!important;border-radius:16px!important;background:#fafafa!important}
body.gc-public-payment .gc-commerce-head{align-items:flex-end!important;margin-bottom:9px!important}
body.gc-public-payment .gc-commerce-head strong{display:block;margin-top:3px;font-size:14px!important;font-weight:790!important;color:var(--gc2-text)!important}
body.gc-public-payment .gc-optional{padding:4px 7px!important;border-color:#dedfe2!important;background:#fff!important;color:#777c84!important;font-size:9px!important}
body.gc-public-payment .gc-product-list{gap:7px!important}
body.gc-public-payment .gc-product-row{grid-template-columns:38px minmax(0,1fr) auto!important;gap:9px!important;padding:9px!important;border:1px solid #e1e2e5!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
body.gc-public-payment .gc-product-row:has(input:checked){border-color:#b4b8bf!important;background:#f7f7f8!important;box-shadow:0 0 0 2px rgba(17,18,20,.03)!important}
body.gc-public-payment .gc-product-thumb{width:38px!important;height:38px!important;border-radius:10px!important}
body.gc-public-payment .gc-product-name{font-size:11.5px!important;font-weight:740!important}
body.gc-public-payment .gc-product-desc{font-size:9.5px!important;color:#8a8e95!important}
body.gc-public-payment .gc-product-price{font-size:11.5px!important;font-weight:800!important}
body.gc-public-payment .gc-product-none{grid-template-columns:1fr auto!important;min-height:39px}
body.gc-public-payment .gc-choice-dot{width:17px!important;height:17px!important;border-color:#b4b8bf!important}
body.gc-public-payment .gc-product-row:has(input:checked) .gc-choice-dot{border:5px solid var(--gc2-black)!important}
body.gc-public-payment .gc-membership-link{margin-top:10px!important;padding:10px 11px!important;border-color:#e0e1e4!important;border-radius:11px!important;background:#fff!important;font-size:11px!important;color:#484d55!important}
body.gc-public-payment .descuento-wrap{margin:14px 0 0!important;border-color:var(--gc2-line)!important;border-radius:13px!important;background:#fff!important}
body.gc-public-payment .descuento-header{min-height:44px!important;padding:10px 12px!important;font-size:11.5px!important;color:#686d75!important}
body.gc-public-payment .descuento-input-row{padding:0 12px 12px!important}
body.gc-public-payment .descuento-input-row input{min-height:42px!important;font-family:inherit!important;font-size:12px!important;background:#fafafa!important}
body.gc-public-payment .btn-aplicar{min-height:42px!important;padding:8px 13px!important;background:var(--gc2-black)!important;font-size:11px!important}
body.gc-public-payment .precio-resumen{margin:16px 0 10px!important;padding:13px 14px!important;border-color:var(--gc2-line)!important;border-radius:14px!important;background:#fafafa!important}
body.gc-public-payment .precio-resumen .linea{font-size:11.5px!important;padding:3px 0!important}
body.gc-public-payment .precio-resumen .total-linea{font-size:14px!important;padding-top:9px!important}
body.gc-public-payment .gc-confirm-cta{
  width:100%!important;min-height:54px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto 18px!important;align-items:center!important;gap:8px!important;padding:10px 14px!important;border-radius:14px!important;background:var(--gc2-black)!important;color:#fff!important;text-align:left!important;font-size:13px!important;font-weight:780!important;
}
body.gc-public-payment .gc-confirm-cta strong{font-size:12px;font-weight:650;color:#c8cbd0;white-space:nowrap}
body.gc-public-payment .gc-confirm-cta svg{width:18px;height:18px}
.gc-confirm-trust{display:flex;align-items:flex-start;gap:8px;margin:12px 1px 4px;color:#777c84;font-size:9.8px;line-height:1.45}
.gc-confirm-trust svg{width:15px;height:15px;flex:0 0 auto;color:#5d636c}
body.gc-public-payment .back-link{margin-top:8px!important;font-size:11px!important;font-weight:700!important;color:#71767f!important;text-decoration:none!important}
body.gc-public-payment .gc-membership-sheet{border-radius:24px 24px 0 0!important}
body.gc-public-payment .gc-membership-card{border-color:var(--gc2-line)!important;background:#fafafa!important}

/* Confirmation */
body.gc-public-confirmation{margin:0!important;padding:0!important;min-height:100svh!important;background:var(--gc2-bg)!important}
body.gc-public-confirmation .confirmation{
  width:min(100% - 28px,500px)!important;margin:18px auto 34px!important;padding:18px!important;border:1px solid var(--gc2-line)!important;border-radius:24px!important;background:#fff!important;box-shadow:var(--gc2-shadow)!important;
}
.gc-confirmation-brand{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--gc2-line)}
.gc-success-hero{text-align:center;padding:26px 6px 18px}
body.gc-public-confirmation .success{width:54px!important;height:54px!important;margin:0 auto 12px!important;border-radius:50%!important;background:var(--gc2-green-bg)!important;border:1px solid #ccebdd!important;color:var(--gc2-green)!important}
body.gc-public-confirmation .success svg{width:34px!important;height:34px!important}
.gc-success-pill{display:inline-flex;align-items:center;min-height:26px;padding:5px 9px;border:1px solid #d4ecdf;border-radius:999px;background:#f5fbf8;color:#237251;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
body.gc-public-confirmation h1{margin:11px auto 7px!important;max-width:330px;font-size:clamp(25px,7vw,31px)!important;line-height:1.1!important;letter-spacing:-.045em!important;color:var(--gc2-text)!important}
body.gc-public-confirmation .intro{margin:0 auto!important;max-width:340px;color:var(--gc2-muted)!important;font-size:12px!important;line-height:1.5!important}
.gc-confirmation-when{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:2px 0 10px;padding:15px;border:1px solid var(--gc2-line);border-radius:16px;background:#fafafa}
.gc-confirmation-when span{font-size:12px;line-height:1.35;font-weight:680;color:#4b5058}
.gc-confirmation-when strong{font-size:27px;line-height:1;font-weight:830;letter-spacing:-.04em;color:var(--gc2-text)}
.gc-confirmation-details{margin:0!important}
.gc-confirmation-details>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:11px 2px!important;border-bottom:1px solid #efeff1!important}
.gc-confirmation-details dt{font-size:10px!important;color:#898d94!important}
.gc-confirmation-details dd{margin:0!important;font-size:12px!important;line-height:1.4!important;font-weight:700!important;color:#30343a!important;text-align:right}
body.gc-public-confirmation .payment{margin:16px 0!important;padding:15px!important;border:1px solid var(--gc2-line)!important;border-radius:16px!important;background:#fafafa!important}
body.gc-public-confirmation .payment p{margin:0!important;font-size:10px!important;color:#858a92!important}
body.gc-public-confirmation .payment strong{display:block;margin:3px 0 1px!important;font-size:28px!important;line-height:1.1!important;letter-spacing:-.04em!important;color:var(--gc2-text)!important}
body.gc-public-confirmation .button{display:flex!important;align-items:center;justify-content:center;min-height:52px!important;padding:12px 14px!important;border-radius:14px!important;background:var(--gc2-black)!important;color:#fff!important;font-size:13px!important;font-weight:790!important;text-decoration:none!important}
body.gc-public-confirmation .secondary{display:flex!important;align-items:center;justify-content:center;min-height:42px!important;margin-top:7px!important;color:#636871!important;font-size:11px!important;font-weight:720!important;text-decoration:none!important}
.gc-powered-by{text-align:center;margin:13px 0 1px;color:#a0a4aa;font-size:9px}.gc-powered-by strong{color:#777c83}

/* Microinteractions */
@keyframes gc2-pop{0%{transform:scale(.96)}100%{transform:scale(1)}}
body.gc-public-reserve .day-chip.is-selected,
body.gc-public-reserve .time-chip.is-selected,
body.gc-public-payment .service-row:has(.service-check:checked),
body.gc-public-payment .gc-product-row:has(input:checked){animation:gc2-pop .18s var(--gc2-ease)}

@media(max-width:600px){
  body.gc-public-reserve .card,
  body.gc-public-payment .shell,
  body.gc-public-confirmation .confirmation{width:100%!important;max-width:none!important;margin:0!important;border-left:0!important;border-right:0!important;border-top:0!important;border-radius:0!important;box-shadow:none!important}
  body.gc-public-reserve .card{min-height:100svh!important;padding:14px 16px calc(98px + env(safe-area-inset-bottom,0px))!important}
  body.gc-public-payment .shell{padding:0!important}
  body.gc-public-payment .main-card{min-height:100svh!important;border:0!important;border-radius:0!important;padding:14px 16px calc(104px + env(safe-area-inset-bottom,0px))!important;box-shadow:none!important}
  body.gc-public-confirmation .confirmation{min-height:100svh!important;padding:14px 16px calc(22px + env(safe-area-inset-bottom,0px))!important;border:0!important}
  .gc-appbar-trust span{display:none}.gc-appbar-trust{padding:6px;width:32px;justify-content:center}
  body.gc-public-reserve #booking-form > .gc-primary-cta{
    position:fixed!important;left:12px!important;right:12px!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;z-index:50!important;width:auto!important;max-width:none!important;margin:0!important;transform:none!important;box-shadow:0 12px 30px rgba(17,18,20,.18)!important;
  }
  body.gc-public-payment .gc-confirm-cta{
    position:fixed!important;left:12px!important;right:12px!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;z-index:60!important;width:auto!important;box-shadow:0 12px 30px rgba(17,18,20,.18)!important;
  }
  body.gc-public-payment .gc-confirm-cta.gc-is-loading{left:12px!important;right:12px!important}
  body.gc-public-payment .gc-membership-modal{padding:0!important}
  body.gc-public-payment .gc-membership-sheet{width:100%!important;max-width:none!important;margin:0!important;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px))!important}
  .gc-booking-hero{margin-top:19px}
}

@media(min-width:601px){
  body.gc-public-reserve .card,body.gc-public-payment .main-card,body.gc-public-confirmation .confirmation{margin-top:32px!important}
}

@media(max-width:380px){
  body.gc-public-reserve .card,body.gc-public-payment .main-card,body.gc-public-confirmation .confirmation{padding-left:14px!important;padding-right:14px!important}
  .gc-appbar-brand strong{font-size:13px}.gc-appbar-avatar{width:34px;height:34px}.gc-booking-appbar{grid-template-columns:38px minmax(0,1fr) 32px;gap:8px}.gc-appbar-back{width:38px;height:38px}
  body.gc-public-reserve .time-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.gc-public-reserve .day-chip{min-width:74px!important}
}

@media(prefers-reduced-motion:reduce){
  body.gc-public-reserve .gc-booking-card,
  body.gc-public-payment .gc-booking-card,
  body.gc-public-confirmation .gc-confirmation-card{opacity:1!important;transform:none!important;transition:none!important}
  body.gc-public-reserve .day-chip.is-selected,
  body.gc-public-reserve .time-chip.is-selected,
  body.gc-public-payment .service-row:has(.service-check:checked),
  body.gc-public-payment .gc-product-row:has(input:checked){animation:none!important}
}

/* Interaction/accessibility polish */
body.gc-public-reserve :is(.gc-appbar-back,.day-chip,.time-chip,.gc-primary-cta,.back):focus-visible,
body.gc-public-payment :is(.gc-appbar-back,.service-row,.gc-product-row,.gc-membership-link,.descuento-header,.btn-aplicar,.gc-confirm-cta,.back-link,#draft-change-time):focus-visible,
body.gc-public-confirmation :is(.button,.secondary):focus-visible{
  outline:3px solid rgba(17,18,20,.18)!important;
  outline-offset:3px!important;
}
body.gc-public-reserve .gc-pressed,
body.gc-public-payment .gc-pressed{transform:scale(.985)!important}
body.gc-public-reserve .day-chip,
body.gc-public-reserve .time-chip,
body.gc-public-reserve .gc-primary-cta,
body.gc-public-payment .service-row,
body.gc-public-payment .gc-product-row,
body.gc-public-payment .gc-confirm-cta{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
@media(max-width:600px){
  body.gc-public-reserve .gc-contact-card input{font-size:16px!important}
}
@media(max-width:600px){
  body.gc-public-reserve:has(.gc-contact-card input:focus) #booking-form > .gc-primary-cta{
    opacity:0!important;pointer-events:none!important;transform:translateY(16px)!important;
  }
}
