.upsell-showcase{margin-top:clamp(70px,10vw,130px);padding-top:clamp(30px,5vw,56px);border-top:1px solid var(--line)}
.upsell-head{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:28px}.upsell-head>div{max-width:800px}.upsell-head h2{max-width:750px;margin:10px 0 14px;font-size:clamp(38px,6vw,68px);font-weight:650;letter-spacing:-.055em;line-height:.94}.upsell-head p:last-child{max-width:680px;margin:0;color:var(--body);font-size:17px;line-height:1.55}.preview-badge,.preview-state{flex:none;display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--line-strong);border-radius:99px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.module-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.module-chip{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 88%,transparent);box-shadow:var(--jw-shadow-xs,0 3px 10px rgba(0,0,0,.025))}.module-chip.live{border-color:color-mix(in srgb,var(--green) 34%,var(--line));background:color-mix(in srgb,var(--green) 5%,var(--panel))}.module-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--soft);font-size:18px;font-weight:900}.module-chip.live .module-icon{color:var(--green);background:color-mix(in srgb,var(--green) 10%,var(--soft))}.module-chip div{min-width:0}.module-chip strong,.module-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-chip strong{font-size:13px}.module-chip small{margin-top:2px;color:var(--muted);font-size:11px}.module-chip>span:last-child{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.module-chip.live>span:last-child{color:var(--green)}
.preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service-preview{position:relative;overflow:hidden;min-height:650px;padding:clamp(22px,3.5vw,38px);border:1px solid var(--line);border-radius:var(--jw-radius-xl,30px);background:var(--panel);box-shadow:var(--jw-shadow-md,0 15px 42px rgba(0,0,0,.07))}.service-preview:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--accent),var(--gold));opacity:.9}.booking-preview:before{background:linear-gradient(90deg,var(--green),var(--jw-info,#2764ff))}.preview-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:38px}.preview-symbol{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--line);border-radius:16px;background:var(--soft);font-size:24px;font-weight:900}.service-preview h3{margin:8px 0 10px;font-family:var(--jw-font-display,"Syne Variable",system-ui,sans-serif);font-size:clamp(36px,4.5vw,58px);font-weight:650;letter-spacing:-.055em;line-height:.94}.preview-copy{max-width:520px;min-height:54px;margin:0 0 28px;color:var(--body);line-height:1.55}.preview-field{margin-top:24px}.preview-field>span{display:block;margin-bottom:9px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.option-row{display:flex;gap:8px;flex-wrap:wrap}.option-row button,.arrival-grid button,.calendar button,.calendar-head button{border:1px solid var(--line);background:var(--soft);color:var(--text);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.option-row button{min-height:42px;padding:0 15px;border-radius:12px;font-weight:800}.option-row.compact button{min-width:54px}.option-row.times button{flex:1;min-width:70px}.option-row button:hover,.arrival-grid button:hover,.calendar button:hover{transform:translateY(-1px);border-color:var(--line-strong)}.option-row button.selected,.arrival-grid button.selected,.calendar button.selected{border-color:var(--text);background:var(--text);color:var(--bg);box-shadow:0 8px 22px color-mix(in srgb,var(--text) 14%,transparent)}
.arrival-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.arrival-grid button{min-height:76px;padding:12px 6px;border-radius:14px}.arrival-grid strong,.arrival-grid small{display:block}.arrival-grid strong{font-size:18px}.arrival-grid small{margin-top:4px;color:var(--muted);font-size:10px}.arrival-grid button.selected small{color:color-mix(in srgb,var(--bg) 70%,transparent)}
.preview-cta{width:100%;min-height:54px;margin-top:28px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border:0;border-radius:14px;background:var(--accent);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 24%,transparent);transition:transform .16s ease,box-shadow .16s ease}.booking-preview .preview-cta{background:var(--text);color:var(--bg);box-shadow:0 12px 28px color-mix(in srgb,var(--text) 16%,transparent)}.preview-cta:hover{transform:translateY(-2px);box-shadow:0 16px 34px color-mix(in srgb,var(--accent) 30%,transparent)}.preview-cta span{font-size:20px}.preview-cta.preview-confirmed{background:var(--green);color:#fff}.preview-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:15px 0 0;color:var(--muted);font-size:11px}.preview-note i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px color-mix(in srgb,var(--green) 12%,transparent)}
.calendar-head{display:flex;align-items:center;justify-content:space-between;margin:2px 0 12px}.calendar-head strong{font-size:14px}.calendar-head button{width:34px;height:34px;border-radius:10px;font-weight:900}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar>span{text-align:center;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase}.calendar button{position:relative;min-width:0;height:58px;padding:8px 2px;border-radius:12px;font-weight:850}.calendar button.quiet{opacity:.55}.calendar button.today{border-color:var(--accent);color:var(--accent)}.calendar button small{display:block;margin-top:2px;font-size:7px;font-weight:800;letter-spacing:-.02em}.calendar button.selected small{color:color-mix(in srgb,var(--bg) 72%,transparent)}
@media(max-width:1000px){.module-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.preview-grid{grid-template-columns:1fr}.upsell-head{flex-direction:column}.service-preview{min-height:0}.preview-copy{min-height:0}}@media(max-width:520px){.module-strip{grid-template-columns:1fr}.arrival-grid{grid-template-columns:repeat(2,1fr)}.calendar{gap:4px}.calendar button{height:52px}.option-row.times button{flex:1 1 calc(50% - 8px)}}
