/* Theme values are centralized here. Components consume tokens only. */
.esthe-login-error{margin:0 0 12px;padding:10px 12px;border-left:4px solid var(--eb-danger);background:var(--eb-danger-bg);color:var(--eb-danger);font-weight:700}
.esthe-login .login-username,.esthe-login .login-password,.esthe-login .login-remember{margin:16px 0}.esthe-login .login-username label,.esthe-login .login-password label{display:grid;gap:6px;font-weight:700}.esthe-login .login-username input,.esthe-login .login-password input{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--eb-border-strong);border-radius:8px;background:var(--eb-surface);color:var(--eb-text);font:inherit}.esthe-login .login-remember label{display:flex;align-items:center;gap:8px;color:var(--eb-text-muted);font-size:14px}.esthe-login .login-remember input{width:18px;height:18px;margin:0}.esthe-login .login-submit{margin:24px 0 0}.esthe-login .login-submit input{width:100%;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:7px;background:var(--eb-primary);color:var(--eb-primary-contrast);font:inherit;font-weight:700;cursor:pointer}.esthe-login .login-submit input:hover{background:var(--eb-primary-hover)}.esthe-login .login-submit input:active{background:var(--eb-primary-active)}
.esthe-registration{margin-top:16px}.esthe-registration summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:10px 14px;border:1px solid var(--eb-border-strong);border-radius:7px;background:var(--eb-surface);color:var(--eb-text);font-weight:700;cursor:pointer;list-style:none}.esthe-registration summary::-webkit-details-marker{display:none}.esthe-registration summary::after{content:"＋";color:var(--eb-primary);font-size:20px;line-height:1}.esthe-registration[open] summary{border-color:var(--eb-primary);background:var(--eb-surface-hover)}.esthe-registration[open] summary::after{content:"−"}.esthe-registration form{display:grid;gap:14px;margin-top:16px;padding-top:4px}.esthe-registration label{display:grid;gap:6px;margin:0;font-weight:700}.esthe-registration label small{color:var(--eb-text-muted);font-size:14px;font-weight:400}.esthe-registration input{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--eb-border-strong);border-radius:8px;background:var(--eb-surface);color:var(--eb-text);font:inherit}.esthe-registration button{min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:7px;background:var(--eb-primary);color:var(--eb-primary-contrast);font:inherit;font-weight:700;cursor:pointer}.esthe-registration button:hover{background:var(--eb-primary-hover)}.esthe-registration-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.esthe-registration-notice{margin:16px 0;padding:12px 14px;border-left:4px solid var(--eb-danger);background:var(--eb-danger-bg);color:var(--eb-danger);font-weight:700}.esthe-registration-notice.is-success{border-color:var(--eb-success);background:var(--eb-success-bg);color:var(--eb-success)}
.esthe-registration .esthe-field-label {
  display: block;
  line-height: 1.5;
}

.esthe-registration label small {
  display: block;
  margin: 1px 0 3px;
  line-height: 1.6;
}
.esthe-guest-membership { margin-top: 20px; }
.esthe-guest-membership > .esthe-account {
  width: auto;
  max-width: none;
  margin: 16px 0 0;
  padding: 0;
  border: 0;
  box-shadow: none;
}
.esthe-guest-claim {
  margin: 20px 0;
  padding: 16px;
  border: 1px solid var(--eb-border);
  border-radius: 10px;
  background: var(--eb-surface-subtle);
}
.esthe-guest-claim h3 { margin-top: 0; }
.esthe-guest-membership-help {
  margin: 20px 0;
  padding: 12px 14px;
  border-left: 4px solid var(--eb-primary);
  background: var(--eb-surface-subtle);
}

.esthe-account input,
.esthe-account select,
.esthe-account textarea {
  width: 100%;
  max-width: 100%;
  font: inherit;
}

.esthe-profile {
  margin: 20px 0 28px;
  padding: 18px;
  border: 1px solid var(--eb-border);
  border-radius: 10px;
  background: var(--eb-surface-subtle);
}

.esthe-profile h3 {
  margin-top: 0;
}

.esthe-profile form {
  display: grid;
  gap: 16px;
}

.esthe-profile-field {
  display: grid;
  gap: 7px;
}

.esthe-profile label {
  font-weight: 700;
}

.esthe-profile .esthe-help {
  margin: 0;
  color: var(--eb-text-muted);
  font-size: 14px;
  line-height: 1.5;
}

.esthe-profile input {
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--eb-border-strong);
  border-radius: 8px;
  background: var(--eb-surface);
  color: var(--eb-text);
}

.esthe-profile input[aria-invalid="true"] {
  border-color: var(--eb-danger);
  box-shadow: 0 0 0 1px var(--eb-danger);
}

.esthe-profile button {
  justify-self: start;
  margin-top: 6px;
}

.esthe-profile-password {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--eb-border);
}

.esthe-profile-password h4 {
  margin: 0 0 6px;
  color: var(--eb-heading);
  font-size: 16px;
}

.esthe-profile-password a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 12px;
  padding: 9px 16px;
  border: 1px solid var(--eb-border-strong);
  border-radius: 7px;
  background: var(--eb-surface);
  color: var(--eb-text);
  font-weight: 700;
  text-decoration: none;
}

.esthe-profile-password a:hover {
  border-color: var(--eb-primary);
  background: var(--eb-surface-hover);
  color: var(--eb-text);
}

.esthe-profile-status {
  min-height: 1.5em;
  margin: 0;
  font-size: 14px;
  font-weight: 700;
}

.esthe-profile-status.is-success {
  color: var(--eb-success);
}

.esthe-profile-status.is-error {
  color: var(--eb-danger);
}

.esthe-reschedule {
  margin-top: 16px;
}

.esthe-reschedule fieldset {
  margin: 22px 0;
  padding: 0;
  border: 0;
}

.esthe-reschedule legend,
.esthe-reschedule label {
  font-weight: 700;
}

.esthe-reschedule label {
  display: block;
  margin: 16px 0 6px;
}

.esthe-reschedule h4 {
  margin: 22px 0 8px;
  color: var(--eb-heading);
  font-size: 16px;
}

.esthe-reschedule input[type="date"] {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--eb-border-strong);
  border-radius: 8px;
  background: var(--eb-surface);
  color: var(--eb-text);
}

.esthe-reschedule .esthe-choice-list {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.esthe-reschedule .esthe-choice-list button {
  min-height: 58px;
}

.esthe-reschedule .esthe-field-error {
  margin: 16px 0;
}

.esthe-reschedule .esthe-field-error[hidden] {
  display: none;
}
.esthe-choice-list button[data-location]:not(.is-selected),
.esthe-choice-list button[data-service]:not(.is-selected) {
  background: var(--eb-primary);
  color: #fff;
  border-color: var(--eb-primary);
}

.esthe-choice-list button[data-location]:not(.is-selected):hover,
.esthe-choice-list button[data-service]:not(.is-selected):hover {
  background: var(--eb-primary-hover);
  color: #fff;
  border-color: var(--eb-primary-hover);
}

.esthe-choice-list button[data-location].is-selected,
.esthe-choice-list button[data-service].is-selected {
  background: var(--eb-primary-active);
  border-color: var(--eb-primary-active);
}

.esthe-choice-list button[data-location]:not(.is-selected) b,
.esthe-choice-list button[data-service]:not(.is-selected) b,
.esthe-choice-list button[data-location]:not(.is-selected) small,
.esthe-choice-list button[data-service]:not(.is-selected) small,
.esthe-choice-list button[data-service]:not(.is-selected) .esthe-choice-meta {
  color: #fff;
}

.esthe-choice-list .esthe-choice-meta { display:block; margin-top:6px; color:var(--eb-text); font-size:16px; font-weight:700; line-height:1.5; }
.esthe-choice-list button.is-selected .esthe-choice-meta { color:var(--eb-selected-muted); }
.esthe-booking,.esthe-account{
 --eb-primary:#7a2e44;--eb-primary-hover:#642338;--eb-primary-active:#542033;--eb-primary-contrast:#fff;
 --eb-accent:#f7e8ed;--eb-accent-hover:#f1d9e1;--eb-accent-contrast:#642338;
 --eb-selected-bg:#7a2e44;--eb-selected-border:#7a2e44;--eb-selected-text:#fff;--eb-selected-muted:#f7e8ed;
 --eb-text:#1f2933;--eb-text-muted:#52606d;--eb-heading:#111827;
 --eb-surface:#fff;--eb-surface-subtle:#faf7f8;--eb-surface-hover:#f9eef2;
 --eb-border:#d9dee5;--eb-border-strong:#9aa5b1;--eb-success:#18794e;--eb-success-bg:#e8f5ee;
 --eb-danger:#b42318;--eb-danger-bg:#fdecea;--eb-focus:#2563eb;
 --eb-disabled-bg:#e5e7eb;--eb-disabled-text:#6b7280;--eb-disabled-border:#d1d5db;
 box-sizing:border-box;width:min(100%,840px);margin:24px auto;padding:clamp(16px,3vw,32px);overflow-wrap:anywhere;background:var(--eb-surface);border:1px solid var(--eb-border);border-radius:14px;box-shadow:0 2px 12px rgb(31 41 51 / 12%);color:var(--eb-text);font-size:16px;line-height:1.6;
}
.esthe-booking[data-theme="sage"],.esthe-account[data-theme="sage"]{--eb-primary:#276749;--eb-primary-hover:#20583e;--eb-primary-active:#194a34;--eb-primary-contrast:#fff;--eb-accent:#e7f2ec;--eb-accent-hover:#d8eadf;--eb-accent-contrast:#20583e;--eb-selected-bg:#276749;--eb-selected-border:#276749;--eb-selected-text:#fff;--eb-selected-muted:#e7f2ec;--eb-text:#1f2933;--eb-text-muted:#52606d;--eb-heading:#15231c;--eb-surface:#fff;--eb-surface-subtle:#f6faf8;--eb-surface-hover:#edf6f1;--eb-border:#d7e1db;--eb-border-strong:#8da398;--eb-success:#18794e;--eb-success-bg:#e8f5ee;--eb-danger:#b42318;--eb-danger-bg:#fdecea;--eb-focus:#2563eb;--eb-disabled-bg:#e5e7eb;--eb-disabled-text:#6b7280;--eb-disabled-border:#d1d5db}
.esthe-booking[data-theme="blue"],.esthe-account[data-theme="blue"]{--eb-primary:#1d4ed8;--eb-primary-hover:#1e40af;--eb-primary-active:#1e3a8a;--eb-primary-contrast:#fff;--eb-accent:#e8f0fe;--eb-accent-hover:#dce8fc;--eb-accent-contrast:#1e40af;--eb-selected-bg:#1d4ed8;--eb-selected-border:#1d4ed8;--eb-selected-text:#fff;--eb-selected-muted:#e8f0fe;--eb-text:#1f2933;--eb-text-muted:#52606d;--eb-heading:#111827;--eb-surface:#fff;--eb-surface-subtle:#f7f9fc;--eb-surface-hover:#eef4ff;--eb-border:#d8e0ea;--eb-border-strong:#8795a5;--eb-success:#18794e;--eb-success-bg:#e8f5ee;--eb-danger:#b42318;--eb-danger-bg:#fdecea;--eb-focus:#9333ea;--eb-disabled-bg:#e5e7eb;--eb-disabled-text:#6b7280;--eb-disabled-border:#d1d5db}
.esthe-booking[data-theme="neutral"],.esthe-account[data-theme="neutral"]{--eb-primary:#374151;--eb-primary-hover:#1f2937;--eb-primary-active:#111827;--eb-primary-contrast:#fff;--eb-accent:#f1f3f5;--eb-accent-hover:#e7eaee;--eb-accent-contrast:#1f2937;--eb-selected-bg:#374151;--eb-selected-border:#374151;--eb-selected-text:#fff;--eb-selected-muted:#f1f3f5;--eb-text:#1f2933;--eb-text-muted:#52606d;--eb-heading:#111827;--eb-surface:#fff;--eb-surface-subtle:#f8f9fa;--eb-surface-hover:#f1f3f5;--eb-border:#d9dee5;--eb-border-strong:#8a949e;--eb-success:#18794e;--eb-success-bg:#e8f5ee;--eb-danger:#b42318;--eb-danger-bg:#fdecea;--eb-focus:#2563eb;--eb-disabled-bg:#e5e7eb;--eb-disabled-text:#6b7280;--eb-disabled-border:#d1d5db}
.esthe-booking[data-theme="linen-gold"],.esthe-account[data-theme="linen-gold"]{--eb-primary:#765e38;--eb-primary-hover:#624c2c;--eb-primary-active:#503d23;--eb-primary-contrast:#fff;--eb-accent:#f5f1e9;--eb-accent-hover:#ece4d7;--eb-accent-contrast:#5d4b2c;--eb-selected-bg:#765e38;--eb-selected-border:#765e38;--eb-selected-text:#fff;--eb-selected-muted:#f5f1e9;--eb-text:#342f2b;--eb-text-muted:#5f574f;--eb-heading:#342f2b;--eb-surface:#fff;--eb-surface-subtle:#faf8f3;--eb-surface-hover:#f5f1e9;--eb-border:#e8dfd1;--eb-border-strong:#a99472;--eb-success:#397354;--eb-success-bg:#edf5ef;--eb-danger:#a33a31;--eb-danger-bg:#fbefec;--eb-focus:#7a4f16;--eb-disabled-bg:#e9e5de;--eb-disabled-text:#68625b;--eb-disabled-border:#d5cec3}
.esthe-booking *,.esthe-account *{box-sizing:border-box}.esthe-booking h2,.esthe-account h2{margin:0 0 18px;color:var(--eb-heading);font-size:clamp(22px,5vw,30px);line-height:1.3}.esthe-booking h3,.esthe-account h3{margin:28px 0 12px;color:var(--eb-heading);font-size:20px}.esthe-booking input,.esthe-booking select,.esthe-booking textarea,.esthe-booking button,.esthe-account button{max-width:100%;font:inherit}.esthe-booking input,.esthe-booking select,.esthe-booking textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--eb-border-strong);border-radius:8px;background:var(--eb-surface);color:var(--eb-text)}.esthe-booking textarea{min-height:112px;resize:vertical}.esthe-booking input::placeholder,.esthe-booking textarea::placeholder{color:var(--eb-text-muted);opacity:1}.esthe-booking label{display:block;margin:16px 0 6px;font-weight:700}.esthe-booking label+small,.esthe-booking .esthe-help{display:block;color:var(--eb-text-muted);font-size:14px;line-height:1.5}.esthe-booking :focus-visible,.esthe-account :focus-visible{outline:3px solid var(--eb-focus);outline-offset:2px}.esthe-booking input:focus,.esthe-booking select:focus,.esthe-booking textarea:focus{border-color:var(--eb-primary)}.esthe-steps{display:flex;gap:0;justify-content:space-between;list-style:none;padding:0;margin:0 0 28px;counter-reset:step}.esthe-steps li{position:relative;z-index:1;flex:1;min-width:0;text-align:center;color:var(--eb-text-muted);font-size:14px;font-weight:700}.esthe-steps li::before{content:counter(step);counter-increment:step;display:grid;place-items:center;width:30px;height:30px;margin:0 auto 6px;border:2px solid var(--eb-border-strong);border-radius:50%;background:var(--eb-surface);color:var(--eb-text)}.esthe-steps li:not(:last-child)::after{content:"";position:absolute;top:14px;left:55%;width:90%;height:2px;background:var(--eb-border);z-index:-1}.esthe-steps .is-current{color:var(--eb-primary)}.esthe-steps .is-current::before{border-color:var(--eb-primary);background:var(--eb-primary);color:var(--eb-primary-contrast)}.esthe-steps .is-done{color:var(--eb-success)}.esthe-steps .is-done::before{content:"✓";border-color:var(--eb-success);background:var(--eb-success-bg)}.esthe-choice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.esthe-choice-list button{min-height:88px;padding:16px;text-align:left;background:var(--eb-surface);color:var(--eb-text);border:2px solid var(--eb-border);border-radius:10px;cursor:pointer}.esthe-choice-list button:hover{background:var(--eb-surface-hover);color:var(--eb-text);border-color:var(--eb-primary)}.esthe-choice-list button.is-selected{background:var(--eb-selected-bg);color:var(--eb-selected-text);border-color:var(--eb-selected-border)}.esthe-choice-list button.is-selected::after{content:"✓ 選択中";display:block;margin-top:6px;color:var(--eb-selected-muted);font-size:14px;font-weight:700}.esthe-choice-list b{display:block;color:var(--eb-heading);font-size:17px}.esthe-choice-list small{display:block;margin-top:5px;color:var(--eb-text-muted);font-size:16px;line-height:1.5}.esthe-choice-list button.is-selected b{color:var(--eb-selected-text)}.esthe-choice-list button.is-selected small{color:var(--eb-selected-muted)}.esthe-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px;margin:14px 0}.esthe-slot-grid button{min-height:44px;padding:8px;background:var(--eb-surface);color:var(--eb-text);border:2px solid var(--eb-border-strong);border-radius:7px;cursor:pointer}.esthe-slot-grid button:hover{background:var(--eb-surface-hover);color:var(--eb-text);border-color:var(--eb-primary)}.esthe-slot-grid button.is-selected{background:var(--eb-primary);color:var(--eb-primary-contrast);border-color:var(--eb-primary)}.esthe-slot-grid button:disabled,.esthe-booking button:disabled,.esthe-account button:disabled{background:var(--eb-disabled-bg);color:var(--eb-disabled-text);border-color:var(--eb-disabled-border);cursor:not-allowed;opacity:1}.esthe-action-row{display:flex;gap:12px;justify-content:space-between;margin-top:28px;padding-top:16px;border-top:1px solid var(--eb-border)}.esthe-booking button,.esthe-account button{min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:7px;background:var(--eb-primary);color:var(--eb-primary-contrast);font-weight:700;cursor:pointer}.esthe-booking button:hover,.esthe-account button:hover{background:var(--eb-primary-hover);color:var(--eb-primary-contrast)}.esthe-booking button:active,.esthe-account button:active{background:var(--eb-primary-active);color:var(--eb-primary-contrast)}.esthe-booking .esthe-secondary,.esthe-account .esthe-secondary{background:var(--eb-surface);color:var(--eb-text);border-color:var(--eb-border-strong)}.esthe-summary{display:grid;gap:0;margin:16px 0;border:1px solid var(--eb-border);border-radius:10px;overflow:hidden}.esthe-summary div{padding:12px 14px;border-bottom:1px solid var(--eb-border);background:var(--eb-surface)}.esthe-summary div:last-child{border:0}.esthe-summary dt{font-size:14px;font-weight:700;color:var(--eb-text-muted)}.esthe-summary dd{margin:2px 0 0}.esthe-success{padding:22px;border:2px solid var(--eb-success);border-radius:12px;background:var(--eb-success-bg);color:var(--eb-success)}.esthe-success h3{margin-top:0;color:var(--eb-success)}.esthe-status{font-weight:700}.esthe-account-card{margin:12px 0;padding:16px;border:1px solid var(--eb-border);border-radius:10px;background:var(--eb-surface)}.esthe-account-card b{color:var(--eb-heading);font-size:18px}.esthe-account-card p{margin:6px 0;color:var(--eb-text-muted)}.esthe-notice{padding:16px;background:var(--eb-accent);color:var(--eb-accent-contrast)}.esthe-field-error{margin:6px 0 0;padding:8px 10px;border-left:3px solid var(--eb-danger);background:var(--eb-danger-bg);color:var(--eb-danger);font-size:14px;font-weight:700}.esthe-field-error[hidden]{display:none}@media(max-width:480px){.esthe-booking,.esthe-account{width:100%;margin:0;border-width:0 0 1px;border-radius:0}.esthe-steps{margin-bottom:20px}.esthe-steps li{font-size:0}.esthe-steps li::before{margin-bottom:0}.esthe-choice-list{grid-template-columns:1fr}.esthe-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.esthe-action-row{position:sticky;bottom:0;margin-inline:calc(clamp(16px,3vw,32px) * -1);padding:12px clamp(16px,3vw,32px);background:var(--eb-surface)}.esthe-action-row button{flex:1;padding-inline:10px}}

/* Keep progress glyphs legible when iOS or the active site theme styles list pseudo-elements. */
.esthe-booking .esthe-steps li::before {
  content: counter(step);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1;
  -webkit-text-fill-color: var(--eb-text);
}

.esthe-booking .esthe-steps li.is-current::before {
  background: var(--eb-accent);
  border-color: var(--eb-primary);
  color: var(--eb-primary);
  -webkit-text-fill-color: var(--eb-primary);
}

.esthe-booking .esthe-steps li.is-done::before {
  content: "✓";
  color: var(--eb-success);
  -webkit-text-fill-color: var(--eb-success);
}

/* iOS date controls retain an intrinsic width unless both logical sizes are reset. */
.esthe-booking input[type="date"],
.esthe-account input[type="date"],
.esthe-reschedule input[type="date"] {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  box-sizing: border-box !important;
  inline-size: 100% !important;
  min-inline-size: 0 !important;
  max-inline-size: 100% !important;
  min-width: 0 !important;
  width: 100% !important;
  overflow: hidden;
}

.esthe-booking input[type="date"]::-webkit-date-and-time-value,
.esthe-account input[type="date"]::-webkit-date-and-time-value,
.esthe-reschedule input[type="date"]::-webkit-date-and-time-value,
.esthe-booking input[type="date"]::-webkit-datetime-edit,
.esthe-account input[type="date"]::-webkit-datetime-edit,
.esthe-reschedule input[type="date"]::-webkit-datetime-edit {
  min-width: 0;
  margin: 0;
  padding: 0;
}

.esthe-booking-member-login {
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid var(--eb-border);
}

.esthe-booking-member-login > summary,
.esthe-link-button {
  color: var(--eb-primary);
  font-weight: 700;
  cursor: pointer;
}

.esthe-guest-customer {
  margin: 18px 0 24px;
  padding: 16px;
  border: 1px solid var(--eb-border);
  border-radius: 10px;
  background: var(--eb-surface-subtle);
}

.esthe-guest-customer legend {
  padding: 0 6px;
  color: var(--eb-heading);
  font-weight: 700;
}

.esthe-guest-code {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--eb-border);
}

.esthe-booking .esthe-link-button {
  min-height: 44px;
  margin-top: 10px;
  padding: 6px 0;
  border: 0;
  background: transparent;
  color: var(--eb-primary);
  text-decoration: underline;
}

.esthe-booking .esthe-link-button:hover {
  background: transparent;
  color: var(--eb-primary-hover);
}

.esthe-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* Completion is visually distinct from the preceding confirmation step. */
.esthe-booking-complete {
  padding: clamp(24px, 5vw, 40px);
  text-align: center;
  box-shadow: 0 12px 30px rgb(24 121 78 / 14%);
}

.esthe-booking-complete:focus {
  outline: none;
}

.esthe-booking-complete:focus-visible {
  outline: 3px solid var(--eb-focus);
  outline-offset: 4px;
}

.esthe-complete-icon {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: var(--eb-success);
  color: var(--eb-primary-contrast);
  font-size: 34px;
  font-weight: 800;
  line-height: 1;
}

.esthe-complete-kicker {
  margin: 0 0 4px;
  color: var(--eb-success);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .08em;
}

.esthe-booking-complete h2 {
  margin: 0;
  color: var(--eb-heading);
  font-size: clamp(24px, 6vw, 34px);
}

.esthe-complete-message {
  max-width: 560px;
  margin: 12px auto 22px;
  color: var(--eb-text);
}

.esthe-booking-complete .esthe-summary {
  margin: 0 auto 22px;
  text-align: left;
}

.esthe-complete-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 11px 24px;
  border-radius: 7px;
  background: var(--eb-primary);
  color: var(--eb-primary-contrast);
  font-weight: 700;
  text-decoration: none;
}

.esthe-complete-action:hover,
.esthe-complete-action:focus {
  background: var(--eb-primary-hover);
  color: var(--eb-primary-contrast);
}

@media (max-width: 480px) {
  .esthe-booking-complete {
    padding: 24px 16px;
  }

  .esthe-complete-action {
    width: 100%;
  }
}
