.cs-wrap{max-width:1100px;margin:0 auto;font-family:inherit;color:#1f2937}.cs-hero,.cs-booking,.cs-videos{padding:24px;border:1px solid #d9dee7;border-radius:14px;margin:18px 0;background:#fff}.cs-hero h2{margin-top:0;font-size:2rem}.cs-notice,.cs-disclaimer{background:#f7f9fc;border-left:4px solid #344b7a;padding:12px}.cs-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}.cs-gallery img{width:100%;height:220px;object-fit:cover;border-radius:12px}.cs-videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.cs-videos h3{grid-column:1/-1}.cs-videos iframe{width:100%;aspect-ratio:16/9;height:auto}.cs-calendar-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0}.cs-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.cs-dow{text-align:center;font-weight:700;padding:8px}.cs-day{min-height:118px;border:1px solid #d9dee7;border-radius:10px;padding:8px;background:#fff}.cs-empty{background:#f3f4f6}.cs-slot{width:100%;text-align:left;margin-top:6px}.cs-selection,.cs-checkout{border:1px solid #d9dee7;border-radius:14px;padding:18px;margin-top:18px;background:#fbfcff}.cs-selection label,.cs-grid label{display:block;font-weight:600}.cs-selection input,.cs-selection select,.cs-grid input{width:100%;box-sizing:border-box;margin-top:6px;margin-bottom:12px;padding:9px;border:1px solid #cbd5e1;border-radius:8px}.cs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.cs-small,.cs-small-print{font-size:.86rem;color:#4b5563}.cs-invoice{max-width:850px;margin:30px auto;padding:30px;border:1px solid #ddd;background:#fff}.cs-invoice table{width:100%;border-collapse:collapse;margin:15px 0}.cs-invoice th,.cs-invoice td{border:1px solid #ddd;padding:10px;text-align:left}.cs-invoice th{width:240px;background:#f7f7f7}@media(max-width:800px){.cs-calendar{grid-template-columns:1fr}.cs-dow,.cs-empty{display:none}.cs-grid{grid-template-columns:1fr}.cs-day{min-height:auto}.cs-calendar-tools{flex-direction:column}}

.cs-invoice-page{max-width:960px;margin:30px auto;padding:0 16px;font-family:inherit;color:#1f2937}.cs-email-confirmation{margin:0 auto 14px;padding:12px 16px;border:1px solid #cfd8e8;border-left:5px solid #24385f;border-radius:10px;background:#f7f9fc;color:#24385f}.cs-invoice-card{position:relative;background:#fff;border:1px solid #d8deea;border-radius:18px;box-shadow:0 10px 28px rgba(20,35,70,.10);overflow:hidden}.cs-invoice-card:before{content:"";display:block;height:8px;background:#24385f}.cs-invoice-actions{padding:18px 18px 0;text-align:right}.cs-print-button{position:static;gap:6px}.cs-print-button .dashicons{width:18px}.cs-invoice-header{display:grid;grid-template-columns:1.4fr .8fr;gap:24px;padding:34px 30px 22px}.cs-invoice-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800;color:#63708a}.cs-invoice-header h1{margin:.15em 0 .25em;color:#24385f;font-size:2rem;line-height:1.15}.cs-invoice-header p{margin:0;color:#4b5563}.cs-invoice-summary{border:1px solid #d8deea;border-radius:14px;overflow:hidden;align-self:start;background:#fbfcff}.cs-invoice-summary div{display:flex;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid #e6ebf4}.cs-invoice-summary div:last-child{border-bottom:0}.cs-invoice-summary span{color:#64748b}.cs-invoice-summary strong{color:#111827;text-align:right}.cs-invoice-section{margin:0 30px 24px;padding:20px;border:1px solid #e1e6ef;border-radius:14px;background:#fff}.cs-invoice-two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.cs-invoice-section h2{margin:0 0 10px;color:#24385f;font-size:1.15rem}.cs-invoice-section p{margin:0;line-height:1.7}.cs-charge-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #e6ebf4}.cs-charge-row:last-child{border-bottom:0}.cs-charge-total{margin-top:4px;padding-top:16px;font-size:1.2rem;color:#24385f}.cs-invoice-smallprint{margin:0 30px 30px;padding:14px 16px;background:#f7f9fc;border-left:4px solid #24385f;border-radius:10px;color:#4b5563;font-size:.88rem;line-height:1.55}@media(max-width:760px){.cs-invoice-header,.cs-invoice-two-col{grid-template-columns:1fr}.cs-invoice-header{padding:24px 18px 18px}.cs-invoice-section,.cs-invoice-smallprint{margin-left:18px;margin-right:18px}.cs-print-button{top:auto;right:auto}.cs-invoice-summary div{flex-direction:column;gap:3px}.cs-invoice-summary strong{text-align:left}}@media print{body *{visibility:hidden}.cs-invoice-page,.cs-invoice-page *{visibility:visible}.cs-invoice-page{position:absolute;left:0;top:0;max-width:none;width:100%;margin:0;padding:0}.cs-email-confirmation,.cs-print-button{display:none!important}.cs-invoice-card{box-shadow:none;border:1px solid #999;border-radius:0}.cs-invoice-card:before{background:#24385f!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.cs-studio-logo{text-align:center;margin:0 auto 18px}.cs-studio-logo img{max-width:260px;height:auto;display:inline-block}.cs-invoice-logo{margin-top:10px}.cs-contact-line{color:#374151}.cs-intro-content{padding:24px;border:1px solid #d9dee7;border-radius:14px;margin:18px 0;background:#fff;line-height:1.65}.cs-calendar-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:0 0 18px;padding:16px 18px;border:1px solid #d8deea;border-radius:14px;background:#f7f9fc}.cs-cta-button{margin:0}
@media(max-width:760px){.cs-calendar-cta{display:block}.cs-cta-button{margin-top:10px}}
@media print{.cs-invoice-actions{display:none!important}.cs-studio-logo{display:block!important}}


.cs-calendar-panel[hidden],.cs-pricing-modal[hidden]{display:none!important}.cs-cta-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cs-pricing-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box;overflow:hidden}.cs-pricing-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.62)}.cs-pricing-dialog{position:relative;width:min(760px,100%);max-height:calc(100vh - 36px);overflow-y:auto;overflow-x:hidden;box-sizing:border-box;background:#fff;border-radius:18px;border:1px solid #d8deea;box-shadow:0 24px 70px rgba(0,0,0,.28);padding:26px;color:#1f2937;overscroll-behavior:contain;scrollbar-gutter:stable;pointer-events:auto}.cs-pricing-close{position:absolute;top:10px;right:12px}.cs-pricing-dialog h3{margin:0 0 18px;color:#24385f;font-size:1.55rem}.cs-pricing-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cs-pricing-column{border:1px solid #e1e6ef;border-radius:14px;background:#fbfcff;overflow:hidden}.cs-pricing-column h4{margin:0;padding:14px 16px;background:#24385f;color:#fff;font-size:1rem}.cs-price-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid #e6ebf4}.cs-price-row:last-child{border-bottom:0}.cs-price-row strong{color:#111827;white-space:nowrap}.cs-price-row em{font-style:normal;font-size:.78em;color:#64748b;margin-left:3px}.cs-pricing-note{margin:14px 0 0;color:#4b5563;font-size:.9rem;line-height:1.45}.cs-calendar-panel{margin-top:18px}
@media(max-width:760px){.cs-cta-actions{margin-top:10px}.cs-pricing-modal{align-items:flex-start;padding:12px}.cs-pricing-columns{grid-template-columns:1fr;gap:12px}.cs-pricing-dialog{max-height:calc(100vh - 24px);padding:20px 16px}.cs-price-row{align-items:flex-start;flex-direction:column;gap:4px;padding:10px 14px}.cs-pricing-dialog h3{font-size:1.35rem;margin-right:34px}.cs-pricing-column h4{padding:12px 14px}}


.cs-deposit-row{background:#f7f9fc}.cs-deposit-row span{font-weight:700;color:#24385f}

.cs-duration-control{max-width:420px;margin:12px 0 16px}.cs-duration-control label{display:block;font-weight:700;margin-bottom:4px}.cs-duration-notice{font-size:.86rem;color:#4b5563;margin-bottom:10px}.cs-duration-control .cs-hours{width:100%;margin:0;padding:0;accent-color:#24385f}.cs-hours-ticks{display:flex;justify-content:space-between;gap:4px;margin:6px 2px 4px;color:#64748b;font-size:.74rem}.cs-hours-ticks span{position:relative;min-width:14px;text-align:center}.cs-hours-ticks span:before{content:"";display:block;width:1px;height:7px;background:#94a3b8;margin:0 auto 3px}.cs-duration-control .cs-hours-label{display:inline-block;margin-top:6px;color:#24385f}.cs-floating-hold{position:fixed;right:18px;bottom:18px;z-index:99990;width:min(280px,calc(100vw - 36px));padding:14px 16px;border-radius:16px;background:#24385f;color:#fff;box-shadow:0 18px 45px rgba(15,23,42,.28);border:1px solid rgba(255,255,255,.18)}.cs-floating-hold[hidden]{display:none!important}.cs-floating-hold-label{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;opacity:.82;font-weight:800}.cs-floating-hold-time{display:block;font-size:1.8rem;line-height:1.1;margin:2px 0 4px}.cs-floating-hold-note{display:block;font-size:.82rem;line-height:1.35;opacity:.92}.cs-floating-hold.is-warning{background:#92400e}.cs-floating-hold.is-expired{background:#7f1d1d}@media(max-width:760px){.cs-floating-hold{left:14px;right:14px;bottom:14px;width:auto}.cs-duration-control{max-width:100%}}@media print{.cs-floating-hold{display:none!important}}

.cs-hold-top-right{top:18px;right:18px;bottom:auto;left:auto}.cs-hold-top-left{top:18px;left:18px;right:auto;bottom:auto}.cs-hold-bottom-right{right:18px;bottom:18px;top:auto;left:auto}.cs-hold-bottom-left{left:18px;bottom:18px;top:auto;right:auto}
.cs-calendar-terms-note,.cs-checkout-terms,.cs-terms-link-wrap{color:#4b5563}.cs-terms-modal[hidden],.cs-checkin-modal[hidden]{display:none!important}.cs-terms-modal,.cs-checkin-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box;overflow:hidden}.cs-terms-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.66)}.cs-terms-dialog{position:relative;width:min(820px,100%);max-height:calc(100vh - 36px);overflow:hidden;box-sizing:border-box;background:#fff;border-radius:18px;border:1px solid #d8deea;box-shadow:0 24px 70px rgba(0,0,0,.30);padding:26px;color:#1f2937;display:flex;flex-direction:column}.cs-terms-dialog h3{margin:0 42px 16px 0;color:#24385f;font-size:1.45rem}.cs-terms-close{position:absolute;top:10px;right:12px}.cs-terms-content{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;max-height:none;white-space:normal;line-height:1.6;padding:16px;border:1px solid #e1e6ef;border-radius:12px;background:#fbfcff;color:#374151;overscroll-behavior:contain;scrollbar-gutter:stable;pointer-events:auto;-webkit-overflow-scrolling:touch}.cs-terms-open,.cs-pricing-open{overflow:hidden!important;touch-action:none}
.cs-pricing-dialog::-webkit-scrollbar,.cs-terms-content::-webkit-scrollbar{width:12px}.cs-pricing-dialog::-webkit-scrollbar-track,.cs-terms-content::-webkit-scrollbar-track{background:#eef2f7;border-radius:999px}.cs-pricing-dialog::-webkit-scrollbar-thumb,.cs-terms-content::-webkit-scrollbar-thumb{background:#9aa7bd;border-radius:999px;border:3px solid #eef2f7}.cs-pricing-dialog,.cs-terms-content{scrollbar-width:auto;scrollbar-color:#9aa7bd #eef2f7}

@media(max-width:760px){.cs-checkin-modal{align-items:flex-start;padding:12px}.cs-hold-top-right,.cs-hold-top-left,.cs-hold-bottom-right,.cs-hold-bottom-left{left:14px;right:14px;width:auto}.cs-hold-top-right,.cs-hold-top-left{top:14px;bottom:auto}.cs-hold-bottom-right,.cs-hold-bottom-left{bottom:14px;top:auto}.cs-terms-modal{align-items:flex-start;padding:12px}.cs-terms-dialog{max-height:calc(100vh - 24px);padding:20px 16px}.cs-terms-dialog h3{font-size:1.28rem;margin-right:34px}.cs-terms-content{padding:14px}}
@media print{.cs-terms-modal,.cs-checkin-modal,.cs-link-button{display:none!important}}

/* v1.0.14 refinements */
.cs-studio-logo{margin-top:45px}
.cs-pricing-dialog{font-size:calc(1em - 2pt)}
.cs-pricing-column h4{font-size:calc(1rem - 2pt)}
.cs-price-row{font-size:calc(1rem - 2pt)}
.cs-pricing-note{font-size:calc(.9rem - 2pt)}
.cs-maintenance-card{padding:30px;border:1px solid #d9dee7;border-radius:16px;margin:18px 0;background:#fff;text-align:center;box-shadow:0 8px 24px rgba(20,35,70,.06)}
.cs-maintenance-card h2{margin-top:0;color:#24385f;font-size:2rem;line-height:1.2}
.cs-maintenance-message{max-width:760px;margin:0 auto 18px;line-height:1.65;color:#374151}
.cs-invoice-logo{margin-top:10px}

/* v1.0.15 refund/status refinements */
.cs-invoice-page{max-width:1152px}
.cs-invoice-header{grid-template-columns:1.2fr .96fr}
.cs-invoice-summary strong{overflow-wrap:anywhere;word-break:break-word}
.cs-status-deposit-refund{background:#ecfdf5!important}
.cs-status-deposit-refund strong,.cs-status-deposit-refund small{color:#166534!important}
.cs-status-deposit-refund small{font-size:.78rem;font-weight:800}


/* v1.0.16 check-in notice */
.cs-checkin-notice,.cs-checkin-note{background:#fff7ed;border-left:4px solid #c2410c;padding:12px 14px;border-radius:8px;color:#7c2d12;line-height:1.5}.cs-pricing-note.cs-checkin-note{margin-top:10px;font-size:calc(.9rem - 2pt)}
@media print{.cs-checkin-notice,.cs-checkin-note{-webkit-print-color-adjust:exact;print-color-adjust:exact}}


/* v1.0.17 check-in collapse and terms acknowledgement refinements */
.cs-checkin-collapse{margin:14px 0}.cs-checkin-toggle:after{content:" +";font-weight:900}.cs-checkin-toggle[aria-expanded="true"]:after{content:" -"}.cs-checkin-details{margin-top:10px;background:#fff7ed;border-left:4px solid #c2410c;padding:12px 14px;border-radius:8px;color:#7c2d12;line-height:1.5}.cs-terms-ack-row{margin:14px 0;padding:12px 14px;background:#f7f9fc;border:1px solid #d8deea;border-radius:10px}.cs-terms-ack-row label{display:flex;align-items:flex-start;gap:10px;line-height:1.55}.cs-terms-ack-row input[type=checkbox]{margin-top:.25em;flex:0 0 auto}
@media print{.cs-checkin-collapse{display:block}.cs-checkin-toggle{display:none}.cs-checkin-details{display:block!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* v1.0.20 required contact/address invoice refinements */
.cs-reserved-address{font-size:.9em;color:#4b5563;line-height:1.45;display:inline-block;margin-top:2px}


/* v1.0.25 live slider pricing */
.cs-live-price{margin-top:10px}
.cs-live-price-help{display:block;background:#f7f9fc;border:1px dashed #bcc7da;border-radius:10px;padding:10px 12px;color:#4b5563;font-size:.92rem;line-height:1.4}
.cs-live-price-card{display:grid;gap:5px;background:#f7f9fc;border:1px solid #d8deea;border-radius:12px;padding:12px 14px;color:#24385f;font-size:.95rem;line-height:1.35}
.cs-live-price-card strong{font-size:1rem;color:#111827}
.cs-live-price-card span{display:block}
.cs-live-price-total{margin-top:4px;padding-top:7px;border-top:1px solid #d8deea;font-weight:800;color:#111827}

/* VIP / Coupon display */
.cs-coupon-field{display:block;margin:14px 0;}
.cs-coupon-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.cs-coupon-code{max-width:260px;text-transform:uppercase;}
.cs-coupon-status{font-weight:700;min-width:70px;display:inline-flex;align-items:center;justify-content:center;}
.cs-coupon-status.is-invalid{color:#b91c1c;}
.cs-coupon-status.is-valid{width:26px;height:26px;min-width:26px;border-radius:50%;background:#16a34a;color:#fff;font-size:17px;line-height:1;}
.cs-live-coupon{color:#166534;font-weight:700;}
.cs-coupon-receipt-row strong{color:#166534;}


/* v1.0.30 required member status before temporary hold */
.cs-member-required-alert{margin:0 0 10px;padding:12px 14px;border-left:5px solid #b91c1c;background:#fef2f2;color:#7f1d1d;border-radius:10px;font-weight:800;line-height:1.45}.cs-member-type.cs-field-error{border-color:#b91c1c!important;box-shadow:0 0 0 2px rgba(185,28,28,.15)!important;background:#fffafa}


/* v1.0.33 no availability calendar notice */
.cs-no-availability-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 16px;padding:14px 16px;border-left:5px solid #92400e;background:#fffbeb;color:#78350f;border-radius:12px;line-height:1.45}.cs-no-availability-notice[hidden]{display:none!important}.cs-no-availability-button{margin:0}

/* v1.0.37 test mode */
.cs-test-mode-banner{background:#111827;color:#fff;text-align:center;font-weight:800;letter-spacing:.1em;padding:12px 16px;border-radius:12px;margin:0 0 18px;text-transform:uppercase;}
.cs-test-mode-gate .cs-maintenance-card input[type="password"]{width:100%;max-width:340px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;margin-top:6px;}

/* v1.0.38 persistent frontend test-mode marker */
.cs-test-mode-floater{
    position:fixed;
    top:18px;
    right:18px;
    z-index:999999;
    background:#111827;
    color:#fff;
    border:2px solid rgba(255,255,255,.85);
    box-shadow:0 8px 24px rgba(15,23,42,.28);
    border-radius:999px;
    padding:9px 15px;
    font-size:12px;
    line-height:1;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    pointer-events:none;
}
body.cs-test-mode-open .cs-test-mode-floater{display:block;}
@media (max-width:600px){.cs-test-mode-floater{top:10px;right:10px;font-size:11px;padding:8px 12px;}}

.cs-live-test-mode{display:block;margin-top:8px;color:#b91c1c;font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:13px;}

