.wiap-sr-booking{--wiap-purple:#5f3b78;--wiap-purple-dark:#45285b;--wiap-cream:#fffaf0;--wiap-gold:#c49a42;--wiap-ink:#2e2732;max-width:900px;margin:2rem auto;padding:clamp(18px,4vw,38px);background:var(--wiap-cream);border:1px solid rgba(95,59,120,.18);border-radius:18px;color:var(--wiap-ink);box-shadow:0 14px 34px rgba(45,31,54,.08)}
.wiap-sr-booking *{box-sizing:border-box}.wiap-sr-booking h2{margin:.2em 0 .35em;color:var(--wiap-purple-dark);font-size:clamp(1.65rem,4vw,2.2rem)}.wiap-sr-lead,.wiap-sr-help{opacity:.78}.wiap-sr-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:28px}.wiap-sr-progress button{appearance:none;border:0;border-bottom:3px solid #ddd;background:transparent;padding:8px 5px;text-align:center;opacity:.45;color:inherit;cursor:pointer;font:inherit;font-size:.78rem}.wiap-sr-progress button.is-active{border-color:var(--wiap-purple);opacity:1;font-weight:800}.wiap-sr-progress button.is-complete{border-color:var(--wiap-gold);opacity:.9}.wiap-sr-progress button:disabled{cursor:not-allowed}.wiap-sr-step{display:none}.wiap-sr-step.is-active{display:block}.wiap-sr-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:20px 0}.wiap-sr-type,.wiap-sr-slot{appearance:none;width:100%;text-align:left;background:white;border:1px solid rgba(95,59,120,.24);border-radius:12px;padding:0;color:inherit;cursor:pointer;overflow:hidden;transition:.15s ease}.wiap-sr-type:hover,.wiap-sr-slot:hover,.wiap-sr-type.is-selected{transform:translateY(-1px);border-color:var(--wiap-purple);box-shadow:0 5px 14px rgba(45,31,54,.08)}.wiap-sr-type.is-selected{outline:2px solid rgba(95,59,120,.2)}.wiap-sr-type>img{display:block;width:100%;height:160px;object-fit:cover}.wiap-sr-type-body{display:block;padding:16px}.wiap-sr-type strong,.wiap-sr-slot strong{display:block;color:var(--wiap-purple-dark);font-size:1.05rem}.wiap-sr-type span span,.wiap-sr-type small,.wiap-sr-slot small{display:block;margin-top:7px}.wiap-sr-type small{color:var(--wiap-purple);font-weight:700}.wiap-sr-slot{padding:18px}.wiap-sr-field{display:block;max-width:460px;margin:18px 0;font-weight:700}.wiap-sr-field input,.wiap-sr-field select{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #cfc7d3;border-radius:9px;background:white;font:inherit}.wiap-sr-next,.wiap-sr-back{appearance:none;border:0;border-radius:999px;padding:11px 20px;cursor:pointer;font:inherit;font-weight:700}.wiap-sr-next{background:var(--wiap-purple);color:white}.wiap-sr-next:hover{background:var(--wiap-purple-dark)}.wiap-sr-next:disabled{opacity:.45;cursor:not-allowed}.wiap-sr-back{background:transparent;color:var(--wiap-purple);padding-left:0}.wiap-sr-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:16px 0}.wiap-sr-guest-picker{display:flex;align-items:center;gap:18px;margin:24px 0}.wiap-sr-guest-picker button{width:44px;height:44px;border-radius:50%;border:1px solid var(--wiap-purple);background:white;color:var(--wiap-purple);font-size:1.5rem;cursor:pointer}.wiap-sr-guests{font-size:2rem;font-weight:800;min-width:42px;text-align:center}.wiap-sr-addons{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:18px 0}.wiap-sr-addon{position:relative;display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:12px;background:white;border:1px solid rgba(95,59,120,.2);border-radius:12px;padding:10px;cursor:pointer}.wiap-sr-addon img{width:72px;height:72px;object-fit:cover;border-radius:8px}.wiap-sr-addon strong,.wiap-sr-addon small{display:block}.wiap-sr-addon small{margin-top:5px;color:var(--wiap-purple);font-weight:700}.wiap-sr-addon input{width:20px;height:20px}.wiap-sr-summary{background:white;border-radius:12px;padding:8px 20px;margin:18px 0}.wiap-sr-summary dl{margin:0}.wiap-sr-summary dl div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #eee}.wiap-sr-summary dl div:last-child{border:0}.wiap-sr-summary dt{font-weight:700}.wiap-sr-summary dd{margin:0;text-align:right}.wiap-sr-total{font-size:1.12rem;color:var(--wiap-purple-dark)}.wiap-sr-success,.wiap-sr-error,.wiap-sr-notice{padding:14px 16px;border-radius:9px;margin:14px 0}.wiap-sr-success{background:#eef8ef;border:1px solid #b7d7b9}.wiap-sr-error{background:#fff0f0;border:1px solid #e1b5b5}.wiap-sr-notice{background:#fff8e5;border:1px solid #ead08b}.wiap-sr-loading,.wiap-sr-empty{grid-column:1/-1}.wiap-sr-checkout-note{margin-top:16px}
@media(max-width:680px){.wiap-sr-progress{grid-template-columns:repeat(3,1fr)}.wiap-sr-summary dl div{display:block}.wiap-sr-summary dd{text-align:left;margin-top:4px}.wiap-sr-slots,.wiap-sr-addons{grid-template-columns:1fr}}
.wiap-sr-live-summary{position:sticky;top:10px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-8px 0 24px;padding:13px 16px;background:rgba(255,255,255,.96);border:1px solid rgba(95,59,120,.2);border-radius:12px;box-shadow:0 4px 14px rgba(45,31,54,.07);backdrop-filter:blur(8px)}
.wiap-sr-live-summary-main{min-width:0}.wiap-sr-live-summary-main strong,.wiap-sr-live-summary-main span{display:block}.wiap-sr-live-detail{margin-top:3px;font-size:.9rem;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wiap-sr-live-total{text-align:right;flex:0 0 auto}.wiap-sr-live-total small,.wiap-sr-live-total strong{display:block}.wiap-sr-live-total small{font-size:.75rem;opacity:.7}.wiap-sr-live-total strong{color:var(--wiap-purple-dark);font-size:1.25rem}
@media(max-width:680px){.wiap-sr-live-summary{position:static;align-items:flex-start}.wiap-sr-live-detail{white-space:normal}.wiap-sr-live-total strong{font-size:1.1rem}}

/* v0.3.2: persistent itemized reservation summary on desktop/widescreen */
.wiap-sr-layout{display:block}
.wiap-sr-flow{min-width:0}
.wiap-sr-live-items{display:none}
@media(min-width:960px){
  .wiap-sr-booking{max-width:1180px}
  .wiap-sr-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;align-items:start}
  .wiap-sr-live-summary{position:sticky;top:22px;z-index:8;display:block;margin:0;padding:20px;background:rgba(255,255,255,.97);border:1px solid rgba(95,59,120,.2);border-radius:14px;box-shadow:0 8px 22px rgba(45,31,54,.08);backdrop-filter:blur(8px)}
  .wiap-sr-live-heading{font-size:1.15rem;color:var(--wiap-purple-dark)}
  .wiap-sr-live-detail{display:none!important}
  .wiap-sr-live-items{display:block;margin:14px 0 0}
  .wiap-sr-live-items>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid #eee}
  .wiap-sr-live-items>div:last-child{border-bottom:0}
  .wiap-sr-live-items dt{font-weight:700;color:var(--wiap-purple-dark)}
  .wiap-sr-live-items dd{margin:0;text-align:right;overflow-wrap:anywhere}
  .wiap-sr-live-items dd>span{display:block}
  .wiap-sr-live-items dd small{display:block;margin-top:2px;color:var(--wiap-purple);font-weight:700}
  .wiap-sr-live-addons dd>span+span{margin-top:7px}
  .wiap-sr-live-total{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:2px solid rgba(95,59,120,.16);text-align:left}
  .wiap-sr-live-total small{font-size:.82rem}
  .wiap-sr-live-total strong{font-size:1.45rem}
}


/* v0.3.3: review uses full width; optional add-on quantities */
.wiap-sr-addon-check{display:flex;align-items:center;justify-content:center}
.wiap-sr-addon-qty{grid-column:2 / 4;display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:.9rem;font-weight:700;color:var(--wiap-purple-dark)}
.wiap-sr-addon-qty[hidden]{display:none}
.wiap-sr-addon-qty input{width:76px!important;height:auto!important;padding:7px 8px;border:1px solid #cfc7d3;border-radius:7px;font:inherit}
@media(min-width:960px){
  .wiap-sr-booking.is-review-step .wiap-sr-layout{grid-template-columns:minmax(0,1fr)}
  .wiap-sr-booking.is-review-step .wiap-sr-live-summary{display:none}
}

/* v0.3.5: compact layout safety, richer visit details, itemized review charges */
.wiap-sr-type-details{display:flex!important;flex-wrap:wrap;gap:6px 8px;margin-top:10px}
.wiap-sr-type-details em{display:inline-block;font-style:normal;font-size:.78rem;line-height:1.25;padding:5px 8px;border-radius:999px;background:rgba(95,59,120,.08);color:var(--wiap-purple-dark)}
.wiap-sr-type-price{margin-top:9px!important}
.wiap-sr-summary h3{margin:10px 0 4px;color:var(--wiap-purple-dark);font-size:1.05rem}
.wiap-sr-review-charges{margin-top:22px;padding-top:10px;border-top:2px solid rgba(95,59,120,.14)}
.wiap-sr-review-charges dt small{display:block;margin-top:3px;font-weight:400;opacity:.72}
.wiap-sr-review-charges .wiap-sr-charge-adjustment dt{color:var(--wiap-purple-dark)}
.wiap-sr-review-charges .wiap-sr-total{margin-top:4px;border-top:2px solid rgba(95,59,120,.16)!important;font-size:1.15rem}
@media(max-width:959px){
  .wiap-sr-live-summary{position:static!important;top:auto!important;z-index:auto!important;margin:24px 0 0!important}
  .wiap-sr-flow{padding-bottom:4px}
}
@media(max-width:680px){
  .wiap-sr-live-summary{margin-top:20px!important}
  .wiap-sr-step .wiap-sr-next{margin-bottom:4px}
}

/* v0.4.1 add-on customer fields */
.wiap-sr-addon-options{grid-column:1/-1;width:100%;margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.08)}
.wiap-sr-addon-options fieldset{border:0;padding:0;margin:0 0 12px}.wiap-sr-addon-options legend{font-weight:700;margin-bottom:8px}
.wiap-sr-addon-options label{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(180px,1.3fr);gap:10px;align-items:center;margin:7px 0}
.wiap-sr-addon-options input[type=text]{width:100%;max-width:420px}
@media(max-width:700px){.wiap-sr-addon-options label{grid-template-columns:1fr;gap:4px}.wiap-sr-addon-options input[type=text]{max-width:none}}

/* v0.4.4 larger native product-option controls inside reservation add-ons */
.wiap-sr-addon-options{font-size:1rem}
.wiap-sr-addon-options fieldset{padding:14px 16px;margin:0 0 14px;border:1px solid rgba(95,59,120,.16);border-radius:10px;background:rgba(255,255,255,.72)}
.wiap-sr-addon-options legend{padding:0 5px;margin-bottom:10px;font-size:1.02rem;font-weight:800;color:var(--wiap-purple-dark)}
.wiap-sr-addon-options label{grid-template-columns:minmax(170px,.8fr) minmax(220px,1.2fr);gap:12px;margin:11px 0;font-size:1rem;line-height:1.35;font-weight:650}
.wiap-sr-addon-options input[type=text],.wiap-sr-addon-options input[type=email],.wiap-sr-addon-options input[type=number],.wiap-sr-addon-options select,.wiap-sr-addon-options textarea{width:100%;max-width:none;min-height:46px;padding:10px 12px;border:1px solid #b9b0bd;border-radius:8px;background:#fff;color:inherit;font:inherit;font-size:1rem;line-height:1.35}
.wiap-sr-addon-options textarea{min-height:100px;resize:vertical}
.wiap-sr-addon-options input:focus,.wiap-sr-addon-options select:focus,.wiap-sr-addon-options textarea:focus{outline:2px solid rgba(95,59,120,.2);outline-offset:1px;border-color:var(--wiap-purple)}
@media(max-width:700px){.wiap-sr-addon-options fieldset{padding:12px}.wiap-sr-addon-options label{grid-template-columns:1fr;gap:6px;font-size:1rem}}

/* v0.4.5 explicit Yes/No and checkbox product options */
.wiap-sr-addon-options .wiap-native-field{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(220px,1.2fr);gap:12px;align-items:center;margin:11px 0;font-size:1rem;line-height:1.35;font-weight:650}
.wiap-sr-addon-options .wiap-native-label{display:block}
.wiap-sr-addon-options .wiap-native-choices{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;min-height:46px}
.wiap-sr-addon-options .wiap-native-choice{display:inline-flex!important;grid-template-columns:none!important;align-items:center;gap:8px;margin:0!important;font-size:1rem!important;font-weight:500!important}
.wiap-sr-addon-options .wiap-native-choice input[type=radio],.wiap-sr-addon-options .wiap-native-choice input[type=checkbox]{width:20px!important;height:20px!important;min-height:0!important;margin:0!important;padding:0!important}
@media(max-width:700px){.wiap-sr-addon-options .wiap-native-field{grid-template-columns:1fr;gap:6px}}

/* v0.4.6 visible conditional-required state */
.wiap-sr-addon-options .wiap-required-indicator{display:inline-block;margin-left:.45rem;padding:.12rem .42rem;border-radius:999px;background:rgba(95,59,120,.11);color:var(--wiap-purple-dark);font-size:.74em;font-weight:800;vertical-align:middle}
.wiap-sr-addon-options .wiap-required-indicator[hidden]{display:none!important}
.wiap-sr-addon-options .wiap-native-field.is-required input,.wiap-sr-addon-options .wiap-native-field.is-required select,.wiap-sr-addon-options .wiap-native-field.is-required textarea{border-color:rgba(95,59,120,.55)}

/* Public studio availability calendar */
.wiap-availability-calendar{--wiap-cal-border:#ded5e2;--wiap-cal-soft:#faf7fb;margin:1.25rem 0;color:inherit}
.wiap-public-cal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.wiap-cal-view{display:inline-block;padding:.55rem .85rem;border:1px solid var(--wiap-cal-border);text-decoration:none;margin-right:.3rem;border-radius:.45rem;background:#fff}
.wiap-cal-view.is-active{background:#5f2b73;color:#fff;border-color:#5f2b73}
.wiap-public-cal-nav{display:flex;align-items:center;gap:.8rem}.wiap-public-cal-nav a{display:inline-flex;width:2.4rem;height:2.4rem;align-items:center;justify-content:center;border:1px solid var(--wiap-cal-border);border-radius:50%;text-decoration:none;background:#fff}.wiap-public-cal-nav strong{min-width:11rem;text-align:center}
.wiap-public-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--wiap-cal-border);border-left:1px solid var(--wiap-cal-border)}
.wiap-public-head{padding:.6rem;text-align:center;font-weight:700;background:var(--wiap-cal-soft);border-right:1px solid var(--wiap-cal-border);border-bottom:1px solid var(--wiap-cal-border)}
.wiap-public-day{min-height:7.5rem;padding:.65rem;border-right:1px solid var(--wiap-cal-border);border-bottom:1px solid var(--wiap-cal-border);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.35rem;background:#fff}
.wiap-public-day>strong{font-size:1.05rem}.wiap-public-day>span{font-size:.82rem;font-weight:700}.wiap-public-day>small{font-size:.75rem;line-height:1.25}.wiap-public-day.is-muted{opacity:.48}
a.wiap-public-day:hover{outline:2px solid #6b3b78;outline-offset:-2px}
.wiap-status-plenty-of-availability{background:#f4faf5}.wiap-status-available{background:#f7f8f2}.wiap-status-limited-availability{background:#fff9e8}.wiap-status-nearly-full{background:#fff0e7}.wiap-status-full-closed,.wiap-week-slot.is-closed{background:#f1f1f1;color:#6b6b6b}
.wiap-public-week{display:grid;grid-template-columns:6.5rem repeat(7,minmax(8rem,1fr));border-top:1px solid var(--wiap-cal-border);border-left:1px solid var(--wiap-cal-border);overflow:auto}
.wiap-week-head,.wiap-week-time,.wiap-week-slot{padding:.55rem;border-right:1px solid var(--wiap-cal-border);border-bottom:1px solid var(--wiap-cal-border);min-width:0}.wiap-week-head{text-align:center;background:var(--wiap-cal-soft)}.wiap-week-head small{display:block}.wiap-week-time{font-size:.82rem;font-weight:700;background:var(--wiap-cal-soft)}
.wiap-week-slot{text-decoration:none;color:inherit;display:flex;flex-direction:column;justify-content:center;min-height:3.25rem}.wiap-week-slot span{font-size:.75rem;font-weight:700}.wiap-week-slot small{font-size:.7rem}a.wiap-week-slot:hover{outline:2px solid #6b3b78;outline-offset:-2px}
.wiap-public-cal-legend{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.8rem;font-size:.8rem;color:#5d5660}.wiap-public-cal-legend span:before{content:"";display:inline-block;width:.75rem;height:.75rem;border-radius:50%;margin-right:.3rem;background:#eee}.wiap-public-cal-legend span:nth-child(1):before{background:#e7f4e9}.wiap-public-cal-legend span:nth-child(2):before{background:#eff1df}.wiap-public-cal-legend span:nth-child(3):before{background:#fae8a8}.wiap-public-cal-legend span:nth-child(4):before{background:#f7c7ad}.wiap-public-cal-legend span:nth-child(5):before{background:#d8d8d8}
@media(max-width:760px){.wiap-public-month{grid-template-columns:repeat(7,minmax(3.1rem,1fr));overflow:auto}.wiap-public-head{font-size:.7rem;padding:.35rem}.wiap-public-day{min-height:5.6rem;padding:.35rem}.wiap-public-day>span{font-size:.68rem}.wiap-public-day>small{display:none}.wiap-public-week{min-width:760px}.wiap-availability-calendar{overflow-x:auto}}

/* v0.9 availability + waitlist refinements */
.wiap-status-available{background:#f4faf5}
.wiap-status-limited-availability{background:#fff4df}
.wiap-status-full{background:#f7ddd8}
.wiap-status-closed,.wiap-week-slot.is-closed{background:#f1f1f1;color:#6b6b6b}
.wiap-sr-slot-full{opacity:.85;border-style:dashed}
.wiap-sr-waitlist-form,.wiap-event-waitlist{border:1px solid var(--wiap-sr-border,#ddd);border-radius:10px;padding:1rem;margin-top:1rem;background:#fff}
.wiap-sr-waitlist-form label,.wiap-event-waitlist label{display:block;font-weight:600;margin:.75rem 0}
.wiap-sr-waitlist-form input,.wiap-event-waitlist input{display:block;width:100%;max-width:32rem;box-sizing:border-box;margin-top:.3rem;min-height:44px;padding:.55rem .7rem;font-size:1rem}
.wiap-wl-status{margin-top:.75rem}
.wiap-public-cal-legend span:nth-child(1):before{background:#e7f4e9}
.wiap-public-cal-legend span:nth-child(2):before{background:#fae8a8}
.wiap-public-cal-legend span:nth-child(3):before{background:#efc3bd}
.wiap-public-cal-legend span:nth-child(4):before{background:#d8d8d8}

/* v0.9.1 public calendar event links */
.wiap-calendar-book-link{display:inline-block;align-self:flex-start;margin-top:.15rem;font-size:.74rem;font-weight:700;text-decoration:none}
.wiap-calendar-event-link{display:flex;flex-direction:column;gap:.05rem;margin-top:.2rem;padding:.28rem .38rem;border:1px solid var(--wiap-cal-border);border-radius:.35rem;background:rgba(255,255,255,.78);font-size:.72rem;line-height:1.2;text-decoration:none;color:inherit}
.wiap-calendar-event-link small{font-size:.68rem;font-weight:400}.wiap-calendar-event-link.is-static{cursor:default}
.wiap-week-slot .wiap-calendar-event-link{margin-top:.25rem;font-size:.68rem}
@media(max-width:760px){.wiap-public-day .wiap-calendar-book-link{display:none}.wiap-public-day .wiap-calendar-event-link{padding:.18rem .22rem;font-size:.62rem}.wiap-public-day .wiap-calendar-event-link small{display:none}}

/* v0.9.2 scheduled-event visibility refinements */
.wiap-calendar-event-summary{display:block;margin-top:.35rem;font-size:.72rem;line-height:1.25}
.wiap-calendar-event-summary small{display:block;font-size:.68rem;font-weight:400}
.wiap-public-week-events-only{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.6rem}
.wiap-week-events-day{border:1px solid var(--wiap-cal-border,#ded5e2);border-radius:8px;padding:.65rem;min-width:0}
.wiap-week-events-day>strong{display:block;margin-bottom:.35rem}
.wiap-week-closed-label{display:block;margin-top:.5rem;font-size:.75rem;color:#666}
@media(max-width:760px){.wiap-public-week-events-only{min-width:760px}}

/* v0.9.3 week-view scheduled event blocks */
.wiap-week-slot.has-scheduled-event{padding:0;justify-content:stretch;background:#f5eef7;border-bottom-color:transparent;overflow:hidden}
.wiap-week-slot.has-scheduled-event.event-start{border-top:2px solid #6b3b78;border-top-left-radius:.45rem;border-top-right-radius:.45rem}
.wiap-week-slot.has-scheduled-event.event-end{border-bottom:2px solid #6b3b78;border-bottom-left-radius:.45rem;border-bottom-right-radius:.45rem}
.wiap-week-slot.has-scheduled-event.event-only{background:#eee4f1}
.wiap-week-event-block{display:flex;flex-direction:column;gap:.1rem;padding:.55rem .5rem .35rem;text-decoration:none;color:inherit;background:rgba(107,59,120,.12);border-left:4px solid #6b3b78;min-height:100%;box-sizing:border-box}
.wiap-week-event-block strong{font-size:.78rem;line-height:1.2}.wiap-week-event-block small{font-size:.68rem}.wiap-week-event-block span{font-size:.68rem;font-weight:700;text-decoration:underline;margin-top:.1rem}
.wiap-week-event-continuation{display:block;min-height:.6rem;border-left:4px solid #6b3b78;background:rgba(107,59,120,.12);flex:1}
.wiap-week-booking-under-event{display:flex;flex-direction:column;gap:.05rem;padding:.3rem .45rem .45rem;border-left:4px solid #6b3b78;background:rgba(255,255,255,.7)}
.wiap-week-booking-under-event>span{font-size:.7rem;font-weight:700}.wiap-week-booking-under-event>small{font-size:.66rem}.wiap-week-booking-under-event .wiap-calendar-book-link{margin-top:.15rem}

/* Reservation self-service */
.wiap-sr-manage{max-width:760px;margin:0 auto}.wiap-sr-manage-card,.wiap-sr-manage-section{border:1px solid #ddd;border-radius:12px;padding:18px;margin:0 0 18px;background:#fff}.wiap-sr-manage-card p{margin:.35rem 0}.wiap-sr-manage-section h3{margin-top:0}.wiap-sr-manage-section .wiap-sr-field{display:block;margin:0 0 14px}.wiap-sr-manage-section input,.wiap-sr-manage-section select{display:block;width:100%;max-width:420px;min-height:44px;margin-top:6px}.wiap-manage-reschedule-status,.wiap-manage-cancel-status{margin-top:10px;font-weight:600}


/* v1.1 richer customer reservation details */
.wiap-manage-overview{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;align-items:center}.wiap-manage-visit-image img{display:block;width:100%;height:auto;border-radius:10px}.wiap-manage-products{display:grid;gap:12px}.wiap-manage-product{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:start;border-top:1px solid #eee;padding-top:12px}.wiap-manage-product:first-child{border-top:0;padding-top:0}.wiap-manage-product-image img{display:block;width:96px;height:96px;object-fit:cover;border-radius:9px}.wiap-manage-product h4{margin:.1rem 0 .4rem}.wiap-manage-product small{font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6b5f6e}.wiap-manage-product ul{margin:.35rem 0 0 1.1rem}.wiap-manage-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.wiap-manage-gallery a{display:flex;flex-direction:column;gap:6px;text-decoration:none}.wiap-manage-gallery img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px}.wiap-manage-gallery span{font-size:.8rem;font-weight:700}@media(max-width:600px){.wiap-manage-overview{grid-template-columns:1fr}.wiap-manage-visit-image{max-width:180px}.wiap-manage-product{grid-template-columns:72px minmax(0,1fr)}.wiap-manage-product-image img{width:72px;height:72px}.wiap-manage-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.2 product uploads + customer portal grouping */
.wiap-native-upload{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.wiap-native-upload input[type=file]{font-size:.95rem}.wiap-upload-status{font-size:.85rem;font-weight:700;color:#6b3b78}.wiap-upload-preview{display:flex;align-items:center;gap:10px;font-size:.85rem}.wiap-upload-preview img{width:72px;height:72px;object-fit:cover;border-radius:8px}
.wiap-manage-units{display:grid;gap:10px;margin-top:10px}.wiap-manage-unit{border-left:3px solid rgba(107,59,120,.28);padding:8px 0 8px 12px}.wiap-manage-unit-title{display:block;margin-bottom:6px;font-size:.95rem}.wiap-manage-unit dl{margin:0;display:grid;gap:5px}.wiap-manage-unit dl>div{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,1.1fr);gap:12px}.wiap-manage-unit dt{font-weight:600;color:#5d5360}.wiap-manage-unit dd{margin:0}.wiap-manage-uploaded-image{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.wiap-manage-uploaded-image img{width:64px;height:64px;object-fit:cover;border-radius:8px}.wiap-manage-gallery-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}.wiap-manage-gallery-head h3{margin-bottom:.2rem}.wiap-manage-gallery-head p{margin-top:0}.wiap-manage-gallery{align-items:start}.wiap-manage-gallery-item{min-width:0}.wiap-manage-gallery-link{display:block!important;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:10px;text-decoration:none}.wiap-manage-gallery-link img{display:block;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover;border-radius:0!important}.wiap-manage-gallery-item>span{display:block;margin-top:6px;font-size:.8rem;font-weight:700}
@media(max-width:600px){.wiap-manage-unit dl>div{grid-template-columns:1fr;gap:2px}.wiap-manage-gallery-head .button{width:100%;text-align:center}}
.wiap-sr-project-options{margin-top:12px}.wiap-sr-project-options fieldset{border:1px solid rgba(95,59,120,.2);border-radius:10px;padding:12px}.wiap-sr-project-options legend{padding:0 6px;font-weight:700}.wiap-sr-project-options .wiap-native-field{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(220px,1.2fr);gap:12px;align-items:center;margin:11px 0;font-size:1rem;line-height:1.35;font-weight:650}.wiap-sr-project-options .wiap-native-label{display:flex;align-items:center;gap:6px}.wiap-sr-project-options input[type=text],.wiap-sr-project-options input[type=email],.wiap-sr-project-options select,.wiap-sr-project-options textarea{width:100%;min-height:44px}.wiap-sr-project-options textarea{min-height:90px}.wiap-sr-project-options .wiap-required-indicator{font-size:.72rem;padding:.12rem .4rem;border-radius:999px;background:rgba(95,59,120,.12);color:#5f3b78}.wiap-sr-project-options .wiap-required-indicator[hidden]{display:none!important}@media(max-width:700px){.wiap-sr-project-options .wiap-native-field{grid-template-columns:1fr;gap:6px}}

.wiap-status-unavailable,.wiap-week-slot.is-unavailable{background:#f3f3f3;color:#8a8a8a}.wiap-week-slot.is-unavailable small{display:none}

/* v1.5 location + group booking */
.wiap-sr-group-box{margin:20px 0;padding:16px;border:1px solid var(--wiap-border,#ddd);border-radius:10px;background:#faf8fb}.wiap-sr-group-fields{margin-top:12px;display:grid;gap:10px}.wiap-sr-group-fields[hidden],.wiap-sr-mobile-address[hidden]{display:none!important}.wiap-sr-check{display:flex;gap:9px;align-items:flex-start;font-weight:600}.wiap-group-invite input[readonly]{font-size:14px;padding:10px}.wiap-addition-group{margin:14px 0;padding-top:6px}.wiap-addition-group h4{margin-bottom:10px}


/* v1.7 add-on configuration cards */
.wiap-sr-addons{grid-template-columns:1fr;gap:14px;max-width:920px}
.wiap-sr-addon{grid-template-columns:88px minmax(0,1fr) auto;gap:14px;padding:14px;align-items:start;min-width:0}
.wiap-sr-addon img{width:88px;height:88px}
.wiap-sr-addon>span,.wiap-sr-addon>div{min-width:0}
.wiap-sr-addon strong{font-size:1rem;line-height:1.3;overflow-wrap:anywhere}
.wiap-sr-addon small{line-height:1.35}
.wiap-sr-addon-check{align-self:start;padding-top:4px}
.wiap-sr-addon-qty{grid-column:2 / 4;justify-content:flex-start;flex-wrap:wrap}
.wiap-sr-addon-options{grid-column:1/-1;margin-top:6px}
@media(max-width:820px){.wiap-sr-addons{grid-template-columns:1fr}.wiap-sr-addon{grid-template-columns:80px minmax(0,1fr) auto}.wiap-sr-addon img{width:80px;height:80px}}
@media(max-width:440px){.wiap-sr-addon{grid-template-columns:64px minmax(0,1fr) auto;gap:10px;padding:11px}.wiap-sr-addon img{width:64px;height:64px}.wiap-sr-addon-qty{grid-column:1/-1}.wiap-sr-addon-options{grid-column:1/-1}}

/* v1.7 one-row add-ons */
.wiap-sr-addon{grid-template-columns:104px minmax(0,1fr) auto!important;gap:16px!important;padding:16px 18px!important;align-items:start!important}
.wiap-sr-addon img{width:104px!important;height:104px!important;object-fit:cover}
.wiap-sr-addon-price{display:block;margin-top:6px;color:var(--wiap-purple);font-weight:800}
.wiap-sr-addon-options{grid-column:1/-1!important;margin-top:8px!important;padding-top:16px!important}
.wiap-sr-addon-options fieldset{margin-bottom:10px!important}
.wiap-sr-addon-options fieldset>legend{font-size:.92rem!important;color:#5d5360!important}
.wiap-sr-addon-options fieldset:only-child>legend{display:none}
.wiap-sr-addon-qty{grid-column:2/4!important;justify-content:flex-start!important}
@media(max-width:600px){.wiap-sr-addon{grid-template-columns:76px minmax(0,1fr) auto!important;padding:13px!important;gap:11px!important}.wiap-sr-addon img{width:76px!important;height:76px!important}.wiap-sr-addon-qty,.wiap-sr-addon-options{grid-column:1/-1!important}}


/* v1.7.1 add-on price range + card alignment cleanup */
.wiap-sr-addon.has-image{grid-template-columns:104px minmax(0,1fr) auto!important}
.wiap-sr-addon.no-image{grid-template-columns:minmax(0,1fr) auto!important}
.wiap-sr-addon-main{min-width:0}
.wiap-sr-addon-check{justify-self:end!important;align-self:start!important;margin-left:auto}
.wiap-sr-addon.has-image>.wiap-sr-addon-check{grid-column:3!important}
.wiap-sr-addon.no-image>.wiap-sr-addon-main{grid-column:1!important}
.wiap-sr-addon.no-image>.wiap-sr-addon-check{grid-column:2!important}
.wiap-sr-addon-price-note{display:block!important;margin-top:3px!important;color:var(--wiap-purple)!important;font-weight:700!important;font-size:.9rem!important}
.wiap-sr-addon.no-image>.wiap-sr-addon-qty{grid-column:1/-1!important}
@media(max-width:600px){.wiap-sr-addon.has-image{grid-template-columns:76px minmax(0,1fr) auto!important}.wiap-sr-addon.no-image{grid-template-columns:minmax(0,1fr) auto!important}}

/* v1.7.2 group invite flow */
.wiap-sr-invite-banner{margin:0 0 20px;padding:16px 18px;border:1px solid var(--wiap-border,#ddd);border-radius:12px;background:#faf8fb;display:grid;gap:5px}.wiap-sr-invite-banner[hidden]{display:none!important}.wiap-sr-invite-banner strong{font-size:1.08em;color:var(--wiap-purple-dark)}.wiap-sr-invite-banner span{font-weight:700}.wiap-sr-invite-banner small{line-height:1.45}.wiap-sr-booking.wiap-sr-invite-ready .wiap-sr-group-toggle{pointer-events:none}.wiap-sr-booking.wiap-sr-invite-ready .wiap-sr-group-fields input[readonly]{background:#f4f1f5;cursor:default}

/* v1.7.13 group registration progress */
.wiap-sr-group-progress{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .4rem;margin:.85rem 0;padding:.75rem .9rem;border:1px solid var(--wiap-sr-border,#ddd);border-radius:8px;background:rgba(255,255,255,.65)}.wiap-sr-group-progress strong{font-size:1.05rem}.wiap-sr-group-progress small{flex-basis:100%;opacity:.78;margin-top:.15rem}

/* Project selection gallery: native WooCommerce project images, with a keyboard-accessible select fallback. */
.wiap-sr-project-wrap>.wiap-sr-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.wiap-sr-project-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,155px),1fr));gap:14px;margin:14px 0 18px}
.wiap-sr-project-gallery:empty{display:none}
.wiap-sr-project-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:6px;min-width:0;padding:8px;border:2px solid #ddd3e4;border-radius:12px;background:#fff;color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.wiap-sr-project-card img,.wiap-sr-project-placeholder{display:flex;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:7px;background:#f5f0f7;align-items:center;justify-content:center;font-size:2rem}
.wiap-sr-project-card-title{font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.wiap-sr-project-card-price{font-size:.9rem;opacity:.8}
.wiap-sr-project-card.is-selected{border-color:#65427f;box-shadow:0 0 0 2px rgba(101,66,127,.22)}
.wiap-sr-project-card:focus-visible{outline:3px solid #65427f;outline-offset:3px}

/* Visit categories and reusable activities. */
.wiap-sr-booking [hidden] { display:none !important; }
.wiap-sr-routes { display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:20px 0; }
.wiap-sr-route { padding:20px;text-align:left;background:#fffaf2;border:2px solid #d5c6e5;border-radius:12px;color:#472a66;font:inherit;font-weight:700;cursor:pointer; }
.wiap-sr-route small { display:block;font-weight:400;margin-top:8px; }
.wiap-sr-route.is-selected { border-color:#6e3e8d;background:#f1e9f7; }
.wiap-sr-route:focus-visible { outline:3px solid #6e3e8d;outline-offset:3px; }
.wiap-sr-activity-wrap,.wiap-sr-mixed,.wiap-sr-request-contact { margin:18px 0;padding:16px;border:1px solid #d5c6e5;border-radius:10px; }
.wiap-sr-mixed-fields { display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:14px; }

/* Activity and design browsing: original featured images, responsive cards. */
.wiap-sr-activity-gallery {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,155px),1fr));gap:12px;margin:14px 0;}
.wiap-sr-activity-card {display:flex;flex-direction:column;gap:10px;padding:10px;border:2px solid #d5c6e5;border-radius:10px;background:#fff;color:#472a66;text-align:left;font:inherit;cursor:pointer;}
.wiap-sr-activity-card img {width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;}
.wiap-sr-activity-card.is-selected {border-color:#6e3e8d;background:#f1e9f7;}
.wiap-sr-activity-card:focus-visible {outline:3px solid #6e3e8d;outline-offset:2px;}
.wiap-sr-project-filters {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;margin:12px 0;}
.wiap-sr-activity-results,.wiap-sr-project-results {font-size:.9em;}

/* Reservation details occupy the full card when no featured image exists. */
.wiap-sr-manage{width:100%;max-width:960px;box-sizing:border-box}
.wiap-sr-manage .wiap-manage-overview{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;box-sizing:border-box}
.wiap-sr-manage .wiap-manage-overview.has-visit-image{grid-template-columns:140px minmax(0,1fr)}
.wiap-sr-manage .wiap-manage-overview-content{min-width:0;width:100%;max-width:none}
.wiap-sr-manage .wiap-manage-overview-content h3{margin:0 0 20px;line-height:1.25;font-size:clamp(1.35rem,2.5vw,1.8rem)}
.wiap-sr-manage .wiap-manage-details{display:grid;gap:16px;margin:0;width:100%}
.wiap-sr-manage .wiap-manage-details>div{display:grid;grid-template-columns:minmax(115px,155px) minmax(0,1fr);gap:8px 20px;margin:0;min-width:0}
.wiap-sr-manage .wiap-manage-details dt,.wiap-sr-manage .wiap-manage-details dd{margin:0;min-width:0;line-height:1.55;overflow-wrap:anywhere}
.wiap-sr-manage .wiap-manage-details dt{font-weight:700}
.wiap-sr-payment-notice{box-sizing:border-box;max-width:100%;padding:22px 24px;margin:0 0 24px;border:2px solid #71438b;border-radius:12px;background:#f4eef7;color:#3e2b48;overflow-wrap:anywhere}
.wiap-sr-payment-notice.wiap-sr-payment-due{background:#fff4d8;border-color:#9b6500}
.wiap-sr-payment-notice.wiap-sr-payment-paid{background:#edf6ee;border-color:#3e7647}
.wiap-sr-payment-notice h3{margin:0 0 10px;font-size:clamp(1.35rem,2.5vw,1.8rem);line-height:1.3;color:#3e2b48}
.wiap-sr-payment-notice p{margin:8px 0 14px;line-height:1.6}
.wiap-sr-amount-due{font-size:1.15em}
.wiap-sr-payment-notice a.wiap-sr-pay-now{display:inline-block;box-sizing:border-box;max-width:100%;min-height:48px;padding:12px 26px;margin-top:4px;border:2px solid #71438b;border-radius:7px;background:#71438b;color:#fff;font:inherit;font-weight:700;line-height:1.4;text-align:center;text-decoration:none}
.wiap-sr-payment-notice a.wiap-sr-pay-now:hover{background:#542565;border-color:#542565;color:#fff}
.wiap-sr-payment-notice a.wiap-sr-pay-now:focus-visible{outline:3px solid #3e2b48;outline-offset:3px}
@media(max-width:600px){.wiap-sr-manage .wiap-manage-overview.has-visit-image{grid-template-columns:minmax(0,1fr)}.wiap-sr-manage .wiap-manage-details>div{grid-template-columns:minmax(0,1fr);gap:3px}.wiap-sr-payment-notice{padding:18px}.wiap-sr-payment-notice a.wiap-sr-pay-now{width:100%}}
