/* Enzo Salon Booking — Chatbot (frontend) */
.esb-widget{position:fixed;bottom:24px;z-index:999999;font-family:'Archivo',sans-serif;}
.esb-widget[data-pos="right"]{right:24px;}
.esb-widget[data-pos="left"]{left:24px;}

/* Teaser bubble — fixed to viewport so it never gets squeezed by a narrow parent */
.esb-teaser{position:fixed;bottom:98px;display:block;box-sizing:border-box;width:260px;max-width:calc(100vw - 48px);background:#1C1C1C;color:#F0EDE8;padding:14px 40px 14px 18px;border-radius:16px;border:.5px solid rgba(201,169,110,.35);box-shadow:0 14px 40px rgba(0,0,0,.35);font-family:'Archivo',sans-serif;font-size:14px;line-height:1.45;white-space:normal;word-break:normal;overflow-wrap:break-word;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px) scale(.96);transition:opacity .3s ease,transform .3s ease,visibility .3s;cursor:pointer;z-index:999998;}
.esb-teaser.show{pointer-events:auto;}
.esb-widget[data-pos="right"] .esb-teaser{right:24px;transform-origin:bottom right;}
.esb-widget[data-pos="left"]  .esb-teaser{left:24px;transform-origin:bottom left;}
.esb-teaser::after{content:'';position:absolute;bottom:-6px;width:12px;height:12px;background:#1C1C1C;border-right:.5px solid rgba(201,169,110,.35);border-bottom:.5px solid rgba(201,169,110,.35);transform:rotate(45deg);}
.esb-widget[data-pos="right"] .esb-teaser::after{right:22px;}
.esb-widget[data-pos="left"]  .esb-teaser::after{left:22px;}
.esb-teaser.show{opacity:1;visibility:visible;transform:translateY(0) scale(1);animation:esb-pop .45s cubic-bezier(.2,.9,.3,1.4);}
.esb-widget.open .esb-teaser{display:none;}
.esb-teaser-text{padding-right:4px;white-space:normal;}
.esb-teaser-close{position:absolute;top:6px;right:8px;background:transparent;border:none;color:#7A786F;font-size:13px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;}
.esb-teaser-close:hover{color:#C9A96E;}
@keyframes esb-pop{0%{opacity:0;transform:translateY(14px) scale(.9);}60%{transform:translateY(-3px) scale(1.02);}100%{opacity:1;transform:translateY(0) scale(1);}}
@media (max-width:500px){
	.esb-widget[data-pos="right"] .esb-teaser,.esb-widget[data-pos="left"] .esb-teaser{right:0;left:auto;max-width:calc(100vw - 48px);}
}

.esb-launcher{width:60px;height:60px;border-radius:50%;border:none;background:#C9A96E;color:#0D0D0D;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;transition:transform .2s ease;position:relative;}
.esb-launcher:hover{transform:scale(1.06);}
.esb-launcher .esb-launcher-close{display:none;}
.esb-widget.open .esb-launcher .esb-launcher-icon{display:none;}
.esb-widget.open .esb-launcher .esb-launcher-close{display:flex;}

.esb-chat-root{--gold:#C9A96E;--black:#0D0D0D;--dark:#141414;--surface:#1C1C1C;--surface2:#242424;
	--border:rgba(201,169,110,0.18);--text:#F0EDE8;--muted:#7A786F;--red:#e05555;--green:#4CAF50;
	--fd:'DM Serif Display',serif;--fb:'Archivo',sans-serif;
	font-family:var(--fb);color:var(--text);max-width:460px;margin:0 auto;}
.esb-chat-root[data-mode="fullscreen"]{max-width:none;}

/* Widget-mode: floating panel anchored above the launcher */
.esb-chat-root[data-mode="widget"]{position:absolute;bottom:72px;width:440px;max-width:calc(100vw - 48px);margin:0;opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:bottom right;transition:opacity .2s ease,transform .2s ease,visibility .2s;}
.esb-widget[data-pos="right"] .esb-chat-root[data-mode="widget"]{right:0;}
.esb-widget[data-pos="left"]  .esb-chat-root[data-mode="widget"]{left:0;transform-origin:bottom left;}
.esb-widget.open .esb-chat-root[data-mode="widget"]{opacity:1;visibility:visible;transform:translateY(0) scale(1);}
.esb-chat-root[data-mode="widget"] .esb-chat-panel{height:620px;max-height:calc(100vh - 120px);}
@media (max-width:600px){
	.esb-widget[data-pos="right"]{right:16px;bottom:max(16px,env(safe-area-inset-bottom));left:auto;}
	.esb-widget[data-pos="left"]{left:16px;bottom:max(16px,env(safe-area-inset-bottom));right:auto;}
	.esb-widget[data-pos="right"] .esb-teaser{right:16px;left:auto;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 76px);}
	.esb-widget[data-pos="left"]  .esb-teaser{left:16px;right:auto;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 76px);}
	/* Match specificity of the base .esb-widget[data-pos] rules so left/right actually override. */
	.esb-widget[data-pos="right"] .esb-chat-root[data-mode="widget"],
	.esb-widget[data-pos="left"]  .esb-chat-root[data-mode="widget"]{
		position:fixed;
		left:4px;
		right:4px;
		width:auto;
		max-width:none;
		bottom:calc(max(16px,env(safe-area-inset-bottom)) + 76px);
		transform-origin:bottom center;
	}
	.esb-chat-root[data-mode="widget"] .esb-chat-panel{height:calc(100vh - 140px);max-height:calc(100vh - 140px);border-radius:18px;}
	.esb-chat-msgs{padding:16px 4px;gap:14px;}
	.esb-bubble{max-width:calc(100% - 24px);font-size:13.5px;padding:18px 14px 16px;overflow:visible;}
	.esb-row{gap:6px;align-items:flex-start;}
	.esb-row > .esb-av{margin-top:14px;}
	.esb-row > div > .esb-time{padding-top:4px;}
	.esb-av{width:24px;height:24px;font-size:11px;}
	.esb-row.user{align-items:flex-end;}
	.esb-row.user .esb-bubble{padding:12px 22px;}

	/* Tighter padding on mobile for all bot bubbles. */
	.esb-row:not(.user) .esb-bubble{padding:18px 14px 16px;}
}

.esb-chat-close{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:18px;padding:4px 8px;border-radius:6px;}
.esb-chat-close:hover{color:var(--gold);}

.esb-chat-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;height:640px;box-shadow:0 14px 40px rgba(0,0,0,.35);}
.esb-chat-header{padding:16px 20px;border-bottom:.5px solid var(--border);display:flex;gap:12px;align-items:center;background:var(--surface);}
.esb-c-avatar{width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--black);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:16px;position:relative;}
.esb-c-avatar .esb-dot{position:absolute;bottom:0;right:0;width:9px;height:9px;border-radius:50%;background:var(--green);border:1.5px solid var(--surface);}
.esb-c-name{font-size:14px;font-weight:600;}
.esb-c-status{font-size:11px;color:var(--green);}
.esb-chat-msgs{flex:1;overflow-y:auto;padding:18px 10px;display:flex;flex-direction:column;gap:16px;}
.esb-chat-msgs::-webkit-scrollbar{width:4px;}
.esb-chat-msgs::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}

/* ═════════════════════════════════════════════════════════════════
 * CHAT ROW / BUBBLE SYSTEM
 * Bot bubbles are ALWAYS full row width across the entire flow.
 * User bubbles keep their tight gold-pill look, right-aligned.
 * ═════════════════════════════════════════════════════════════════ */
.esb-row{display:flex;animation:esb-in .25s ease both;}
@keyframes esb-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.esb-av{width:26px;height:26px;border-radius:50%;background:var(--gold);color:var(--black);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:12px;flex-shrink:0;}

/* Bot bubbles — full width, no avatar, generous padding. */
.esb-row:not(.user){gap:0;align-items:stretch;}
.esb-row:not(.user) > .esb-av{display:none;}
.esb-row:not(.user) > div{width:100%;min-width:0;}
.esb-row:not(.user) .esb-bubble{
	display:block;
	width:100%;
	max-width:100%;
	min-width:0;
	padding:22px 22px 20px;
	border-radius:18px;
	font-size:13.5px;
	line-height:1.55;
	background:var(--surface2);
	border:.5px solid var(--border);
	color:var(--text);
	box-sizing:border-box;
	overflow:visible;
	word-wrap:break-word;
}

/* User bubbles — tight gold pill, right-aligned, symmetric padding. */
.esb-row.user{justify-content:flex-end;align-items:flex-end;}
.esb-row.user > div{max-width:80%;display:flex;flex-direction:column;align-items:flex-end;}
.esb-row.user .esb-bubble{
	width:auto;
	max-width:100%;
	min-width:0;
	padding:12px 24px;
	border-radius:22px;
	background:var(--gold);
	color:var(--black);
	border:none;
	font-weight:500;
	font-size:13.5px;
	line-height:1.55;
	white-space:normal;
	overflow-wrap:break-word;
	overflow:visible;
	box-sizing:border-box;
}

/* Keep .esb-bubble as a base selector for any legacy reference. */
.esb-bubble{box-sizing:border-box;min-width:0;}

.esb-typing{display:flex;gap:4px;padding:10px 14px;background:var(--surface2);border:.5px solid var(--border);border-radius:16px;border-bottom-left-radius:4px;width:fit-content;}
.esb-typing span{width:6px;height:6px;background:var(--muted);border-radius:50%;animation:esb-bnc 1.2s infinite;}
.esb-typing span:nth-child(2){animation-delay:.15s;}
.esb-typing span:nth-child(3){animation-delay:.3s;}
@keyframes esb-bnc{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}

.esb-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;}
.esb-back-top{display:flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--muted);cursor:pointer;font-family:var(--fb);font-size:12px;font-weight:500;padding:2px 10px 2px 6px;margin:0 0 12px 0;letter-spacing:.01em;transition:all .15s;border-radius:12px;width:fit-content;}
.esb-back-top:hover{color:var(--gold);background:rgba(201,169,110,.08);}
.esb-chip{padding:7px 13px;border:.5px solid var(--gold);border-radius:20px;font-size:12.5px;color:var(--gold);background:transparent;cursor:pointer;font-family:var(--fb);transition:all .15s;}
.esb-chip:hover{background:var(--gold);color:var(--black);}

.esb-svc-cards{display:flex;flex-direction:column;gap:10px;margin:14px 0 4px;}
.esb-svc-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:.5px solid var(--border);border-radius:12px;cursor:pointer;transition:all .15s;gap:12px;min-width:0;}
.esb-svc-card > :first-child{min-width:0;flex:1;}
.esb-svc-card:hover{border-color:rgba(201,169,110,.5);}
.esb-svc-card.selected{border-color:var(--gold);background:rgba(201,169,110,.07);}
.esb-svc-name{font-size:14px;font-weight:600;color:var(--text);line-height:1.35;}
.esb-svc-meta{font-size:11.5px;color:var(--muted);margin-top:4px;letter-spacing:.01em;}
.esb-svc-right{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.esb-svc-price{font-family:var(--fd);font-size:18px;color:var(--gold);flex-shrink:0;line-height:1;}
.esb-qty{display:none;align-items:center;gap:8px;flex-shrink:0;}
.esb-svc-card.selected .esb-qty{display:flex;}
.esb-qty button{width:28px;height:28px;border-radius:50%;border:.5px solid var(--gold);background:transparent;color:var(--gold);cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;flex-shrink:0;font-family:var(--fb);font-weight:600;}
.esb-qty button:hover{background:var(--gold);color:var(--black);}
.esb-qty-num{font-size:14px;font-weight:600;min-width:16px;text-align:center;color:var(--text);}
@media (max-width:600px){
	.esb-svc-cards{margin:14px 0 4px;gap:10px;}
	.esb-svc-card{padding:14px 14px;}
	.esb-date-wrap{margin:12px 0 4px;}
	#esb-time-section{margin:0;}
	.esb-checkout{margin:10px 0 0;padding:16px 14px;}
	.esb-slot-grid{gap:8px;}
	.esb-slot{padding:13px 2px;font-size:12.5px;}
	.esb-date-strip{gap:4px;}
	.esb-svc-card{padding:14px 14px;border-radius:12px;gap:8px;}
	.esb-svc-card > :first-child{min-width:0;flex:1;}
	.esb-svc-name{font-size:13.5px;line-height:1.3;}
	.esb-svc-meta{font-size:11.5px;margin-top:4px;}
	.esb-svc-right{gap:8px;}
	.esb-svc-price{font-size:17px;}
	.esb-qty{gap:6px;}
	.esb-qty button{width:26px;height:26px;font-size:15px;}
	.esb-qty-num{min-width:12px;}
}

.esb-cal{margin-top:10px;}
.esb-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.esb-cal-title{font-size:13px;font-weight:600;}
.esb-cal-nav{background:transparent;border:.5px solid var(--border);color:var(--text);width:28px;height:28px;border-radius:6px;cursor:pointer;}
.esb-cal-nav:hover{border-color:var(--gold);color:var(--gold);}
.esb-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.esb-cal-dlabel{text-align:center;font-size:10px;color:var(--muted);padding:4px 0;text-transform:uppercase;letter-spacing:.06em;}
.esb-cal-day{text-align:center;padding:8px 2px;border-radius:6px;font-size:12px;cursor:pointer;border:.5px solid transparent;transition:all .15s;}
.esb-cal-day.available:hover{border-color:var(--gold);color:var(--gold);}
.esb-cal-day.selected{background:var(--gold);color:var(--black);font-weight:600;}
.esb-cal-day.disabled{color:var(--muted);opacity:.28;pointer-events:none;}
.esb-cal-day.full{color:var(--muted);opacity:.5;pointer-events:none;text-decoration:line-through;}

.esb-time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px;max-height:160px;overflow-y:auto;}
.esb-time-slot{padding:7px 4px;border:.5px solid var(--border);border-radius:7px;font-size:11.5px;text-align:center;cursor:pointer;background:transparent;color:var(--text);}
.esb-time-slot:hover{border-color:var(--gold);color:var(--gold);}
.esb-time-slot.sel{background:var(--gold);color:var(--black);border-color:var(--gold);font-weight:600;}

.esb-form{display:flex;flex-direction:column;gap:10px;margin-top:10px;width:100%;min-width:0;}
.esb-form input,.esb-form textarea,.esb-form select{background:var(--surface2);border:.5px solid var(--border);border-radius:8px;padding:10px 12px;font-family:var(--fb);font-size:13px;color:var(--text);outline:none;width:100%;min-width:0;box-sizing:border-box;transition:border-color .15s;}
.esb-form input:focus,.esb-form textarea:focus,.esb-form select:focus{border-color:var(--gold);}
.esb-form input.err,.esb-form select.err{border-color:var(--red);}
.esb-form textarea{resize:none;height:72px;line-height:1.5;}
.esb-form input::placeholder,.esb-form textarea::placeholder{color:var(--muted);}
.esb-form select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237A786F' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px;}
@media (max-width:600px){
	.esb-form input,.esb-form textarea,.esb-form select{padding:14px 14px;font-size:15px;border-radius:10px;}
	.esb-form textarea{height:88px;}
	.esb-form{gap:12px;}
	.esb-form-row{gap:10px;}
	.esb-btn{padding:14px;font-size:14px;border-radius:10px;}
}

/* ───── DATE STRIP (7-day grid, paginated, no horizontal scroll) ───── */
.esb-date-wrap{margin-top:12px;min-width:0;}
.esb-date-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px;}
.esb-date-month{font-family:var(--fd);font-size:16px;color:var(--text);flex:1;min-width:0;}
.esb-date-nav{width:30px;height:30px;border-radius:50%;border:.5px solid var(--border);background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;transition:all .15s;}
.esb-date-nav:hover:not(:disabled){border-color:var(--gold);color:var(--gold);}
.esb-date-nav:disabled{opacity:.3;cursor:not-allowed;}
.esb-date-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:2px 0 8px;width:100%;box-sizing:border-box;}
.esb-day{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;min-width:0;background:transparent;border:none;padding:0;font-family:inherit;color:inherit;}
.esb-day-num{width:42px;height:42px;flex-shrink:0;aspect-ratio:1/1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text);border:.5px solid var(--border);background:transparent;transition:all .2s ease;box-sizing:border-box;padding:0;line-height:1;}
.esb-day-lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;}
.esb-day:hover:not(.disabled):not(.selected) .esb-day-num{border-color:var(--gold);color:var(--gold);}
.esb-day.selected .esb-day-num{background:var(--gold);color:var(--black);border-color:var(--gold);}
.esb-day.selected .esb-day-lbl{color:var(--gold);}
.esb-day.disabled{opacity:.3;pointer-events:none;}
.esb-day.disabled .esb-day-num{text-decoration:line-through;}

.esb-date-selected{font-size:13px;color:var(--text);margin-top:8px;margin-bottom:8px;font-weight:500;}

/* ───── TIME SLOTS WITH DAY-PART ICONS ───── */
.esb-slot-section{margin-top:14px;min-width:0;}
.esb-slot-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px;}
.esb-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;box-sizing:border-box;}
.esb-slot{display:flex;align-items:center;justify-content:center;gap:4px;padding:10px 4px;min-width:0;border:.5px solid var(--border);border-radius:8px;background:transparent;color:var(--text);font-family:var(--fb);font-size:11.5px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.esb-slot:hover{border-color:var(--gold);color:var(--gold);}
.esb-slot.sel{background:var(--gold);color:var(--black);border-color:var(--gold);}
.esb-slot-icon{font-size:12px;line-height:1;opacity:.85;flex-shrink:0;}
.esb-slot-ph{border-style:dashed;border-color:rgba(201,169,110,.08);color:transparent;pointer-events:none;animation:esb-pulse 1.2s ease-in-out infinite;}
@keyframes esb-pulse{0%,100%{opacity:.35}50%{opacity:.7}}
#esb-time-section{min-height:320px;}
@media (max-width:600px){
	.esb-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
	.esb-slot{padding:12px 2px;font-size:11.5px;gap:3px;}
	.esb-slot-icon{font-size:11px;}
	.esb-day-num{width:42px;height:42px;font-size:14px;}
	.esb-day-lbl{font-size:9px;}
	.esb-date-strip{gap:3px;}
}
@media (max-width:380px){
	.esb-slot{font-size:10.5px;padding:12px 1px;}
	.esb-day-num{width:38px;height:38px;font-size:13px;}
}

/* ───── TIP SELECTION ───── */
.esb-tip-wrap{margin-top:12px;}
.esb-tip-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px;}
.esb-tip-row{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:10px;}
.esb-tip-btn{padding:14px 4px;border:.5px solid var(--border);border-radius:10px;background:transparent;color:var(--text);font-family:var(--fb);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;}
.esb-tip-btn:hover{border-color:var(--gold);color:var(--gold);}
.esb-tip-btn.sel{background:var(--gold);color:var(--black);border-color:var(--gold);}
.esb-tip-custom{background:var(--surface2);border:.5px solid var(--border);border-radius:10px;padding:12px 14px;color:var(--text);font-family:var(--fb);font-size:13px;outline:none;width:100%;box-sizing:border-box;margin-top:8px;}
.esb-tip-custom:focus{border-color:var(--gold);}
.esb-tip-preview{font-size:12px;color:var(--muted);margin-top:8px;text-align:right;}
.esb-tip-preview strong{color:var(--gold);font-family:var(--fd);font-size:16px;}
@media (max-width:600px){
	.esb-tip-row{grid-template-columns:repeat(3,1fr);gap:8px;}
	.esb-tip-btn{padding:16px 4px;font-size:14px;}
}

/* ───── PREMIUM CHECKOUT CARD ───── */
.esb-checkout{background:var(--surface2);border:.5px solid var(--border);border-radius:14px;padding:18px;margin-top:10px;}
.esb-checkout-head{display:flex;gap:12px;align-items:flex-start;padding-bottom:14px;border-bottom:.5px solid var(--border);margin-bottom:14px;}
.esb-checkout-thumb{width:56px;height:56px;border-radius:10px;background:var(--gold);color:var(--black);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:22px;flex-shrink:0;}
.esb-checkout-title{font-weight:600;font-size:14px;color:var(--text);line-height:1.35;}
.esb-checkout-sub{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.5;}
.esb-checkout-section{margin:14px 0;}
.esb-checkout-section h4{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin:0 0 10px;font-weight:600;}
.esb-pay-method{display:flex;align-items:center;gap:12px;padding:13px 14px;border:.5px solid var(--border);border-radius:10px;background:transparent;color:var(--text);margin-bottom:8px;cursor:pointer;transition:all .15s ease;font-family:var(--fb);font-size:13px;font-weight:500;width:100%;}
.esb-pay-method:hover{border-color:var(--gold);}
.esb-pay-method.sel{border-color:var(--gold);background:rgba(201,169,110,.06);}
.esb-pay-icon{width:36px;height:24px;border-radius:4px;background:var(--surface3,#2C2C2C);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--text);flex-shrink:0;}
.esb-policy{background:rgba(255,255,255,.02);border:.5px solid var(--border);border-radius:10px;padding:12px 14px;font-size:12px;color:var(--muted);line-height:1.55;}
.esb-policy strong{color:var(--text);display:block;margin-bottom:4px;text-transform:uppercase;font-size:10.5px;letter-spacing:.07em;}
.esb-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text);padding:5px 0;}
.esb-summary-row.muted{color:var(--muted);}
.esb-summary-row.total{padding-top:10px;border-top:.5px solid var(--border);margin-top:8px;font-size:14px;}
.esb-summary-row.total span:last-child{font-family:var(--fd);font-size:22px;color:var(--gold);}
.esb-cta{width:100%;padding:16px;border:none;border-radius:12px;background:var(--gold);color:var(--black);font-family:var(--fb);font-size:15px;font-weight:700;letter-spacing:.02em;cursor:pointer;margin-top:16px;transition:opacity .15s;}
.esb-cta:hover{opacity:.88;}
.esb-cta:disabled{opacity:.5;cursor:wait;}
@media (max-width:600px){
	.esb-checkout{padding:16px;}
	.esb-cta{padding:18px;font-size:16px;}
}
.esb-form select option{background:var(--surface2);color:var(--text);}
.esb-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0;}
.esb-form-row > *{min-width:0;}
.esb-field-err{font-size:11px;color:var(--red);margin-top:-4px;}

.esb-confirm{background:rgba(201,169,110,.06);border:.5px solid var(--gold);border-radius:12px;padding:14px;margin-top:10px;}
.esb-line{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:6px 0;font-size:13px;}
.esb-line > span:last-child{text-align:right;max-width:65%;word-break:break-word;}
.esb-line.stack{flex-direction:column;gap:4px;}
.esb-line.stack > span:last-child{text-align:left;max-width:100%;}
.esb-line .l{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;}
.esb-total{color:var(--gold);font-family:var(--fd);font-size:20px;}
.esb-btn-row{display:flex;gap:8px;margin-top:12px;}
.esb-btn{flex:1;padding:11px;border:none;border-radius:8px;background:var(--gold);color:var(--black);font-weight:600;font-size:13px;cursor:pointer;font-family:var(--fb);}
.esb-btn:hover{opacity:.85;}
.esb-btn.ghost{background:transparent;border:.5px solid var(--border);color:var(--muted);}
.esb-btn.ghost:hover{border-color:var(--gold);color:var(--gold);}

.esb-chat-input{padding:12px 16px;border-top:.5px solid var(--border);display:flex;gap:8px;background:var(--surface);}
.esb-chat-input input{flex:1;background:var(--surface2);border:.5px solid var(--border);border-radius:22px;padding:10px 16px;color:var(--text);font-family:var(--fb);font-size:13px;outline:none;}
.esb-chat-input input:focus{border-color:var(--gold);}
.esb-chat-input button{width:40px;height:40px;border-radius:50%;background:var(--gold);color:var(--black);border:none;cursor:pointer;font-size:18px;font-weight:700;}

.esb-chat-footer{padding:8px 16px;border-top:.5px solid var(--border);background:var(--surface);text-align:center;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-shrink:0;}
.esb-chat-footer a{color:var(--gold);text-decoration:none;font-weight:600;transition:opacity .15s;}
.esb-chat-footer a:hover{opacity:.75;}

#esb-stripe-card{background:var(--surface2);padding:14px;border-radius:10px;border:.5px solid var(--border);margin-top:10px;}
.esb-err{color:var(--red);font-size:12px;margin-top:6px;}
.esb-success{color:var(--green);font-weight:600;}

.esb-time{font-size:10px;color:var(--muted);margin-top:3px;padding:0 4px;}
.esb-info-note{font-size:11.5px;color:var(--muted);background:rgba(255,255,255,.025);border:.5px solid var(--border);border-radius:8px;padding:9px 12px;margin-top:10px;line-height:1.55;font-style:italic;}

.esb-svc-card.info{cursor:default;}
.esb-svc-card.info:hover{border-color:var(--border);}

.esb-plans{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.esb-plan{border:.5px solid var(--border);border-radius:10px;padding:12px 14px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-family:var(--fb);width:100%;transition:all .15s;}
.esb-plan:hover,.esb-plan.hot{border-color:var(--gold);background:rgba(201,169,110,.06);}
.esb-plan-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;}
.esb-plan-name{font-size:13px;font-weight:600;}
.esb-plan-price{font-family:var(--fd);font-size:16px;color:var(--gold);}
.esb-plan-perks{font-size:11.5px;color:var(--muted);line-height:1.55;}

.esb-pending{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:rgba(250,200,80,.08);border:.5px solid rgba(250,200,80,.25);border-radius:20px;font-size:12px;color:#FAC850;margin-top:10px;}

.esb-stripe-box{background:var(--surface2);border:.5px solid var(--border);border-radius:12px;padding:16px;margin-top:10px;}
.esb-stripe-header{font-size:11px;color:var(--muted);margin-bottom:8px;}
.esb-stripe-amount{font-family:var(--fd);font-size:28px;color:var(--gold);margin-bottom:14px;}

.esb-cal-note{font-size:11px;color:var(--muted);margin-top:12px;padding:8px 10px;border:.5px solid var(--border);border-radius:8px;background:rgba(255,255,255,.02);font-style:italic;line-height:1.55;}

.esb-form select{background:var(--surface2);border:.5px solid var(--border);border-radius:8px;padding:9px 12px;font-family:var(--fb);font-size:13px;color:var(--text);outline:none;}
.esb-form select:focus{border-color:var(--gold);}
