/* Extend the original prototype rather than replacing its design system. */
.activity-tile.browse-card{padding:0;display:flex;flex-direction:column;align-items:stretch;gap:0;overflow:hidden}.browse-card .card-media{position:relative;aspect-ratio:16/9;background:#eef2e5;overflow:hidden;flex-shrink:0}.browse-card .card-media>.activity-cover{width:100%;height:100%;object-fit:cover;border-radius:0;margin:0}.browse-card .card-icon{display:flex;height:100%;align-items:center;justify-content:center;font-size:52px;background:linear-gradient(135deg,#eef4df,#f4e8eb)}.browse-card.has-cover .card-icon{display:none}.browse-card .cover-unavailable .card-icon{display:flex}.browse-card .card-media>.save-icon{position:absolute;right:12px;top:12px;background:white;border-radius:50%;width:44px;height:44px;box-shadow:0 2px 10px #18222115}.browse-card .activity-body{display:flex;flex-direction:column;flex:1;min-width:0;padding:20px}.browse-card .activity-body h3{margin:10px 0;font-size:24px;line-height:1.15}.browse-card .card-venue{font-size:13px;line-height:1.6;margin:0 0 14px;overflow-wrap:anywhere}.card-venue span{display:block;color:#66736f}.browse-card .session-badge{align-self:flex-start;font-size:11px;font-weight:650;padding:5px 9px;border-radius:20px;margin:0;line-height:1.4}.session-badge.available{background:#edf5dd;color:#385721}.session-badge.unavailable{background:#f0eeeb;color:#615b51}.browse-card .availability-note{font-size:12px;line-height:1.5;color:#66736f}.browse-card .card-actions{margin-top:auto;padding-top:16px;gap:8px}.browse-card .card-actions button{min-height:44px;white-space:normal;flex:1}.browse-card.no-sessions{border-color:#deded6}
.recovery-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.feedback:not(.success):not(.error){background:#f1f3e9;color:#404b37}.connection-state h1{font-size:clamp(26px,5vw,40px)}.loading-track{height:6px;max-width:180px;margin:24px auto;background:linear-gradient(90deg,#e5eadb 0 30%,#9fbe64 30% 65%,#e5eadb 65%);border-radius:20px}.booking-slot{min-height:96px}.detail-body p{white-space:pre-line}.recovery-actions a,.recovery-actions button{white-space:normal}#form-error:not(:empty){padding:12px;background:#fff1ec;color:#7b3429;border-radius:10px}
.dev-tools{font-size:12px;color:#68716a;margin:12px 0 22px}.dev-tools summary{cursor:pointer}.dev-tools nav{display:flex;gap:16px;flex-wrap:wrap;padding:12px 0}.sync-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:36px 0 12px;padding-top:16px;border-top:1px solid #e4e6df;font-size:12px;color:#69726a}.feedback{padding:16px 20px;border-radius:16px;line-height:1.6;margin:0 0 22px}.feedback.success{background:#edf5df}.feedback.error{background:#fff1ec;color:#7b3429}.activity-tile .card-actions{flex-wrap:wrap}.activity-tile h3{overflow-wrap:anywhere}.hero-actions a.primary-button{text-decoration:none}.booking-summary{overflow-wrap:anywhere}.booking-venue{padding:24px}.booking-venue-head{margin-bottom:20px}.booking-slot small{white-space:normal}.plan-card{width:100%;text-align:left}.plan-card>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.cancel-confirm{padding:16px;border:1px solid #e1e5dc;border-radius:12px}.cancel-confirm summary{cursor:pointer;font-weight:650}.detail-body{overflow-wrap:anywhere}#app{padding-bottom:36px}#detail{max-height:85dvh;overflow:auto}button:disabled{cursor:not-allowed}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #6c843c;outline-offset:4px}h1:focus{outline:none}.booking-summary:focus{outline:2px solid #799945;outline-offset:3px}@media(max-width:600px){.sync-footer{align-items:flex-start}.booking-venue{padding:18px}.hero-stickers{pointer-events:none}.booking-layout .booking-summary{position:static}.plan-card{gap:10px}.dev-tools{margin-bottom:16px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.venue-content p{white-space:pre-line;overflow-wrap:anywhere}.venue-content{padding:16px 0;border-top:1px solid #e4e6df}.venue-setup{margin-bottom:24px;overflow-wrap:anywhere}.setup-checklist{padding-left:24px}.setup-checklist li{margin:18px 0}.setup-checklist p{font-size:13px;line-height:1.5}.venue-preview article{border-top:1px solid #e4e6df;padding:12px 0}.venue-preview p{white-space:pre-line}#venue-form{display:grid;gap:18px}#venue-form label{display:grid;gap:8px}#venue-form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #dce1d5;border-radius:12px;font:inherit;resize:vertical}.venue-setup summary{cursor:pointer;padding:16px 0;font-weight:650}

.activity-cover{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;margin-bottom:18px;background:#edf1e8}.activity-cover[hidden]{display:none}.activity-tile.has-cover{display:flex;flex-direction:column;align-items:stretch}.activity-tile.has-cover>.tile-icon{display:none}.activity-tile.has-cover.cover-unavailable>.tile-icon{display:flex}.activity-tile .activity-cover{margin:0 0 12px}.activity-tile .activity-body{width:100%}#cover-form{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}#cover-form>*{min-width:0}#cover-form input{max-width:100%}#cover-form .dialog-actions{flex-wrap:wrap}.cover-preview{overflow:hidden}.cover-preview img{max-height:260px;object-fit:contain}#cover-form button{white-space:normal}
 .booking-reference{display:block;overflow-wrap:anywhere;margin-top:8px;font-size:13px;letter-spacing:.02em;}
 .reference-panel{padding:18px;background:#edf5df;border-radius:14px;margin:20px 0}.reference-panel h3{margin:0;font-size:15px}.reference-panel p{font-size:12px;margin-bottom:0}.reference-panel .booking-reference{font-size:14px;user-select:all}.arrival-info{margin:22px 0;padding-top:4px;border-top:1px solid #e4e6df}.booking-tabs{margin-top:24px;flex-wrap:wrap}.booking-tabs span{font-size:11px;margin-left:4px;opacity:.7}
 .plan-card>span:nth-child(2)>span{display:block;margin-top:4px;line-height:1.5}
 #change-booking-form{display:grid;gap:18px}#change-booking-form label{display:grid;gap:8px}#change-booking-form select,#change-booking-form input{width:100%;min-width:0;padding:12px;border:1px solid #dce1d5;border-radius:12px;font:inherit}.change-error{color:#7b3429}#detail>[data-change-booking]{margin:0 28px 28px}
 #detail .detail-body>h2{padding-right:30px}
/* Direct discovery booking: group size is the only additional input. */
.direct-people{display:grid;gap:8px;margin:18px 0;font-weight:650;font-size:14px}
.direct-people select{width:100%;min-height:46px;border:1px solid #dce4d7;border-radius:10px;padding:10px;background:white;font:inherit;color:inherit}
