/* Experiences checkout overlay — matches the light premium theme.
   Only ever visible when the checkout flag is ON (script is dormant otherwise). */
.d-cta.co-book{cursor:pointer;background:#2b74d6;color:#fff;box-shadow:0 6px 18px rgba(43,116,214,.28);transition:transform .12s ease,box-shadow .12s ease}
.d-cta.co-book:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(43,116,214,.34)}
.co-overlay{position:fixed;inset:0;z-index:9000;display:flex;align-items:flex-end;justify-content:center}
.co-overlay[hidden]{display:none}
.co-scrim{position:absolute;inset:0;background:rgba(20,33,61,.44);backdrop-filter:saturate(1.2) blur(2px)}
.co-card{position:relative;width:100%;max-width:520px;max-height:92vh;overflow:auto;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -12px 48px rgba(20,33,61,.28);animation:coUp .28s cubic-bezier(.22,1,.36,1)}
@media(min-width:560px){.co-card{border-radius:22px;margin-bottom:4vh}.co-overlay{align-items:center}}
@keyframes coUp{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
.co-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:#f0f3f9;color:#14213d;font-size:22px;line-height:1;cursor:pointer;z-index:2}
.co-body{padding:26px 22px 30px}
.co-head{margin:2px 0 16px}
.co-kicker{font:600 12px/1.2 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#2b74d6;margin-bottom:6px}
.co-head h2{font:600 24px/1.2 Fraunces,serif;color:#14213d;margin:0}
.co-price{font:700 20px/1.2 Inter,sans-serif;color:#14213d;margin-top:8px}
.co-price small{font-weight:500;color:#98a2b8;font-size:13px}
.co-form{display:flex;flex-direction:column;gap:13px}
.co-form label{display:flex;flex-direction:column;gap:6px;font:600 13px/1.2 Inter,sans-serif;color:#48526b}
.co-opt{font-weight:500;color:#98a2b8}
.co-form input{font:500 15px/1.3 Inter,sans-serif;color:#14213d;padding:12px 13px;border:1.5px solid #e2e7f0;border-radius:12px;outline:none;transition:border-color .12s}
.co-form input:focus{border-color:#2b74d6}
.co-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.co-total{display:flex;justify-content:space-between;align-items:center;padding:12px 2px 2px;font:600 14px/1 Inter,sans-serif;color:#48526b}
.co-total b{font-size:20px;color:#14213d}
.co-primary{display:block;width:100%;text-align:center;margin-top:6px;padding:15px;border:0;border-radius:14px;background:#2b74d6;color:#fff;font:700 16px/1 Inter,sans-serif;cursor:pointer;text-decoration:none;box-shadow:0 8px 20px rgba(43,116,214,.28)}
.co-primary:hover{background:#2467c2}
.co-secure{margin-top:12px;text-align:center;font:500 12px/1.4 Inter,sans-serif;color:#98a2b8}
.co-load,.co-err,.co-note{padding:34px 8px;text-align:center;font:500 15px/1.5 Inter,sans-serif;color:#48526b}
.co-err{color:#c0392b}
.co-note{color:#48526b}
.co-cardmount{min-height:220px;margin:4px 0}
.co-done{text-align:center;padding:14px 6px}
.co-check{width:64px;height:64px;margin:6px auto 14px;border-radius:50%;background:#e7f7ef;color:#1f9d6b;font-size:34px;line-height:64px}
.co-done h2{font:600 24px/1.2 Fraunces,serif;color:#14213d;margin:0 0 12px}
.co-ref{font:500 14px/1.6 Inter,sans-serif;color:#48526b;margin-bottom:18px}
.co-ref b{font-size:18px;color:#14213d;letter-spacing:.02em}

/* multi-vendor P3: date + time slot picker for local experiences */
.co-sel{font:500 15px/1.3 Inter,sans-serif;color:#14213d;padding:12px 13px;border:1.5px solid #e2e7f0;border-radius:12px;background:#fff;outline:none}
.co-slots{display:flex;flex-wrap:wrap;gap:8px}
.co-slots-lab{width:100%;font:600 13px/1.2 Inter,sans-serif;color:#48526b}
.co-slot{min-width:84px;padding:10px 12px;border:1.5px solid #e2e7f0;border-radius:12px;background:#fff;font:700 15px/1.1 Inter,sans-serif;color:#14213d;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px}
.co-slot small{font:500 11px/1 Inter,sans-serif;color:#b45309;min-height:11px}
.co-slot.on{border-color:#2b74d6;background:#eef4fd;color:#2b74d6}
.co-slot:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.co-slots.co-need .co-slots-lab{color:#c0392b}
.d-cta.co-book.co-local{pointer-events:auto;opacity:1}
.co-row input,.co-row select{min-width:0;width:100%;box-sizing:border-box}
/* legal seller line (2026-10-22) */
.co-legal{margin-top:10px;font-size:11.5px;line-height:1.5;color:#6b7894;text-align:center}
.co-legal a{color:#2f6df6;text-decoration:none}.co-legal b{color:#2b3a55;font-weight:600}
