.product-home section{margin-top:48px}.product-home h1,.product-events h1,.product-event h1,.real-discovery h1{color:var(--burgundy);font-size:clamp(38px,6vw,68px);letter-spacing:-.05em;margin:.15em 0}.home-actions,.event-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 38px}.empty-card,.flow-card{background:#fff;border:0;border-radius:22px;padding:28px;box-shadow:var(--shadow),var(--panel-ring,inset 0 0 0 1px var(--line));overflow:hidden;background-clip:padding-box}.event-actions .selected{background:#19723d}.back-link{display:inline-block;margin-bottom:26px;color:var(--red);font-weight:800}.flow-card{margin:28px 0}.flow-card.success{border-color:#b9e4c9}.flow-card.error,.product-error{border-color:#efb3bc}.mode-select{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.mode-select label{background:var(--rose);border:1px solid var(--line);border-radius:16px;padding:18px;font-weight:800}.mode-select input{width:auto;margin-right:8px}.spinner{width:42px;height:42px;border:4px solid var(--rose);border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.product-profile progress{width:100%;accent-color:var(--red)}.form-error{color:#a31334}.real-discovery{max-width:760px}.real-profile-card{height:min(68vh,650px);border-radius:32px;background-size:cover;background-position:center;position:relative;color:#fff;box-shadow:var(--shadow);overflow:hidden}.real-profile-card>div{position:absolute;left:28px;right:28px;bottom:28px}.real-profile-card h2{font-size:42px;margin:10px 0}.real-profile-card span{background:var(--red);border-radius:99px;padding:7px 10px;font-size:12px;font-weight:900}.real-actions{display:flex;justify-content:center;gap:20px;margin:22px}.real-actions button{width:72px;height:72px;border-radius:50%;background:#fff;color:var(--burgundy);box-shadow:inset 0 0 0 1px #64162b0a;font-size:28px}.real-actions button.like{background:var(--red);color:#fff}.real-actions small{display:block;font-size:9px}.conversation-list{display:grid;gap:10px}.conversation-list a[href^="#/chat/"]{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.conversation-list a[href^="#/chat/"]>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--rose);color:var(--red)}.conversation-list a[href^="#/chat/"] div{display:grid;gap:5px;flex:1}.conversation-list small{color:var(--muted)}.product-chat{max-width:760px}.product-chat header{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);padding:18px;border-radius:18px}.product-chat header div{display:grid}.product-chat .messages{height:52vh;overflow:auto;padding:22px}.product-chat .messages p{max-width:75%;padding:12px 15px;border-radius:17px;background:#fff}.product-chat .messages .mine{margin-left:auto;background:var(--red);color:#fff}.product-chat .messages small{display:block;font-size:9px;opacity:.7;margin-top:4px}.product-chat form{display:flex;gap:10px}.product-chat form input{flex:1}.product-error{text-align:center}.product-error>span{font-size:50px;color:var(--red)}
@media(max-width:650px){.mode-select{grid-template-columns:1fr}.real-profile-card{height:58vh}.product-chat{padding-bottom:100px}}
.likes-summary,.premium-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:0;border-radius:20px;padding:18px 22px;margin:18px 0;box-shadow:var(--panel-ring,inset 0 0 0 1px var(--line));overflow:hidden;background-clip:padding-box}.likes-summary span{color:var(--muted);font-size:13px}.premium-panel{margin-top:35px;background:linear-gradient(120deg,#fff,#fff1f4)}.premium-panel h2{margin:6px 0;color:var(--burgundy)}.premium-panel p{color:var(--muted);max-width:540px}.premium-actions{display:grid;gap:10px;min-width:210px}@media(max-width:650px){.likes-summary,.premium-panel{align-items:flex-start;flex-direction:column}.premium-actions{width:100%}}
.settings-page>h1{color:var(--burgundy)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.setting-row span{display:grid;gap:5px}.setting-row small{color:var(--muted)}.setting-row input{width:auto}.danger-zone{border-color:#e6aab4;background:#fff8f9}.payment-result{text-align:center}.payment-result h1{color:var(--burgundy)}
.groups-page,.invite-page{padding-bottom:5rem}.group-create{max-width:720px}.group-create textarea{min-height:110px}.group-card{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:start}.group-avatar{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#a20e38,#5e102c);color:#fff;font:700 1.6rem/1 var(--font-display)}.group-card h2{margin:.25rem 0}.group-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.invite-page{min-height:75vh;display:grid;place-items:center}.invite-page>.panel{max-width:620px;text-align:center}.invite-page .group-avatar{margin:0 auto 1rem}.invite-page .group-actions{justify-content:center}
.ops-portal{padding-bottom:5rem}.ops-head{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:2rem}.ops-head h1{color:var(--burgundy);font-size:clamp(2.5rem,5vw,4.5rem);margin:.15em 0}.ops-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1.5rem}.ops-layout aside{display:flex;flex-direction:column;gap:.4rem;align-self:start;position:sticky;top:90px}.ops-layout aside button{background:transparent;color:var(--burgundy);text-align:left;padding:.85rem;border-radius:12px}.ops-layout aside button:hover,.ops-layout aside button.active{background:var(--rose)}.event-picker{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;font-weight:800}.event-picker select{max-width:420px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.metric-grid article{background:linear-gradient(145deg,#fff,#fff5f6);border:1px solid var(--line);border-radius:20px;padding:1.4rem}.metric-grid span{display:block;color:var(--muted);font-size:.82rem}.metric-grid b{display:block;color:var(--burgundy);font-size:2rem;margin-top:.45rem}.metric-grid .small-metric{font-size:1.05rem}.ops-form{display:grid;gap:1rem}.ops-form label{display:grid;gap:.45rem;font-weight:800}.ops-form textarea{min-height:100px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.update-list{display:grid;gap:1rem;margin-top:1rem}@media(max-width:850px){.ops-layout{grid-template-columns:1fr}.ops-layout aside{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.ops-head,.event-picker{display:grid}.metric-grid,.form-pair{grid-template-columns:1fr}}
.campaign-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.campaign-grid{display:grid;gap:1rem}.campaign-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem}.campaign-card .group-actions{grid-column:1/-1}.campaign-stats{display:flex;gap:1.4rem;text-align:right}.campaign-stats span{color:var(--muted);font-size:.75rem}.campaign-stats b{display:block;color:var(--burgundy);font-size:1.2rem}.status-pill{display:inline-block;background:var(--rose);color:var(--burgundy);border-radius:99px;padding:.4rem .7rem;font-size:.7rem;font-weight:900}.status-active{background:#dff6e6;color:#176b35}.status-rejected,.status-paused{background:#ffe4e8;color:#a20e38}.sponsor-preview{border-radius:24px;padding:2rem;color:#fff;background:var(--brand-gradient);min-height:180px;display:flex;flex-direction:column;justify-content:end}.sponsor-preview span,.sponsored-card span{align-self:flex-start;background:#fff;color:#5e102c;border-radius:99px;padding:.35rem .65rem;font-weight:900;font-size:.7rem}.sponsored-card .button{margin-top:1rem}.sponsored-view .real-actions button{width:62px;height:62px}@media(max-width:700px){.campaign-head,.campaign-card{display:grid}.campaign-stats{text-align:left;justify-content:space-between}}
.queue-filters{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.3rem}.queue-filters button{background:#fff;border:1px solid var(--line);color:var(--burgundy);border-radius:99px;padding:.65rem .9rem}.queue-filters button.active{background:var(--red);color:#fff}.queue-filters b{margin-left:.35rem}.moderation-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(380px,1.4fr);gap:1.2rem;align-items:start}.case-list{display:grid;gap:.7rem}.case-row{width:100%;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:.35rem .7rem;color:var(--burgundy)}.case-row small{grid-column:2;color:var(--muted)}.priority{font-size:.6rem;border-radius:99px;padding:.3rem .5rem;background:var(--rose)}.priority-high{background:#ffe0e6;color:#a20e38}.case-detail{position:sticky;top:90px}.case-context{display:grid;gap:.6rem;margin:1rem 0 1.5rem}.case-context>div{display:grid;grid-template-columns:140px 1fr;gap:1rem;padding:.7rem;border-bottom:1px solid var(--line)}.case-context span{overflow-wrap:anywhere}.audit-trail{margin-top:2rem}.audit-trail article{border-left:3px solid var(--rose);padding:.3rem 0 .3rem 1rem;margin:1rem 0}.audit-trail article span{float:right;color:var(--muted);font-size:.75rem}@media(max-width:850px){.moderation-layout{grid-template-columns:1fr}.case-detail{position:static}}@media(max-width:560px){.case-context>div{grid-template-columns:1fr}}
.admin-list{display:grid;gap:.8rem}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-row h3{margin:.5rem 0 .2rem}.admin-row p{margin:0;color:var(--muted)}.status-disabled,.status-suspended,.status-banned,.status-cancelled{background:#ffe4e8;color:#a20e38}.admin-portal .metric-grid article{min-height:125px}@media(max-width:700px){.admin-row{display:grid}.admin-row .group-actions{width:100%}}
.message-wrap{max-width:78%;margin:.6rem 0}.message-wrap.mine{margin-left:auto}.message-wrap p{margin:0!important;max-width:100%!important}.message-wrap.mine p{background:var(--red)!important;color:#fff}.reactions{display:flex;gap:.25rem;margin-top:.25rem}.reactions button{font-size:.7rem;padding:.25rem .45rem;border-radius:99px;background:#fff;border:1px solid var(--line)}.chat-photo{display:block;max-width:100%;max-height:330px;border-radius:12px;margin-bottom:.4rem}.chat-media-button{border-radius:50%;width:44px;background:var(--rose);color:var(--burgundy);font-size:1.4rem}.view-once{background:#fff;color:var(--burgundy);border-radius:12px;padding:.75rem}.view-once-note{text-align:center;color:var(--muted);font-size:.72rem}.view-once-overlay{position:fixed;inset:0;z-index:1000;background:#14050bdd;display:grid;place-items:center;padding:2rem;color:#fff}.view-once-overlay img{max-width:min(90vw,800px);max-height:78vh;border-radius:18px}.view-once-overlay button{position:absolute;top:2rem;right:2rem;border-radius:50%;width:48px;height:48px;background:#fff;font-size:1.5rem}.unread-badge{background:var(--red);color:#fff;border-radius:99px;min-width:28px;height:28px;display:grid;place-items:center}.notification-list,.history-grid{display:grid;gap:1rem}.notification-item{display:flex;gap:1rem;align-items:flex-start}.notification-item>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--rose);color:var(--red);font-size:1.3rem}.notification-item p{margin:.3rem 0}.notification-item small{color:var(--muted)}.notification-item.unread{border-left:4px solid var(--red)}.history-card{display:grid;grid-template-columns:minmax(180px,.5fr) 1fr;gap:1.5rem}.history-card>img{width:100%;height:220px;object-fit:cover;border-radius:16px}.referral-button{margin-top:-1rem}@media(max-width:600px){.history-card{grid-template-columns:1fr}}
.event-search{display:grid;gap:.45rem;max-width:34rem;margin:1.5rem 0 1rem;font-weight:700}.event-search input{width:100%;padding:.9rem 1rem;border:1px solid #dbc9cf;border-radius:14px;background:#fff;color:#2c1520;font:inherit}.event-search input:focus{outline:3px solid rgba(190,39,72,.16);border-color:#bd2749}
/* Real events without a usable source image retain an intentional branded cover. */
.branded-event-art{position:relative;overflow:hidden;background:#f9e9ed;isolation:isolate}
.event-art-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:28px;background:linear-gradient(90deg,#fff5f6f5,#fff5f6d9 55%,#fff5f660),url("/assets/festival.svg") center 65%/cover;color:#64162b}
.event-art-placeholder:after{content:"";position:absolute;right:-8%;top:-30%;width:40%;height:180%;transform:rotate(25deg);border-left:2px solid #fff8;border-right:45px solid #fff4;z-index:-1}
.event-art-placeholder img{width:48px;height:48px;object-fit:contain;flex-shrink:0;border-radius:14px}
.event-art-placeholder span{font-size:12px;font-weight:700;letter-spacing:.08em}
.event-art-placeholder strong{font-size:clamp(20px,3vw,32px);line-height:1.1;max-width:85%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.event-source-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.conversation-avatar{width:56px;height:56px;object-fit:cover;border-radius:50%;flex-shrink:0}
#event-claims-root{min-width:0;overflow-wrap:anywhere}#event-claims-root .ops-form,#event-claims-root .ops-form label{min-width:0}#event-claims-root input,#event-claims-root select,#event-claims-root textarea{min-width:0;width:100%;box-sizing:border-box}.group-avatar:is(img){object-fit:cover}
.mode-select{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mode-select label{display:flex;align-items:flex-start;gap:12px;border:1px solid #e4c6d0;padding:20px;border-radius:18px;background:#fff;cursor:pointer}.mode-select label:has(input:checked){background:#fbeaf0;border-color:#a72a4f;box-shadow:0 0 0 1px #a72a4f}.mode-select input{accent-color:var(--red);flex:none;margin-top:3px}.mode-select b{display:block;font-size:18px}.mode-select small{display:block;font-size:13px;line-height:1.5;margin-top:8px;color:#856370}.event-status-label{display:grid;gap:8px;margin:20px 0;font-weight:700}.event-status-label select,.event-status-label input{width:100%;min-height:44px;padding:12px;border:1px solid #e4c6d0;border-radius:12px;background:white;color:#64162b;font:inherit}.flow-card .group-actions{margin-top:24px}
@media(max-width:760px){.mode-select{grid-template-columns:1fr}.mode-select label{padding:16px}.mode-select small{margin-top:4px}}
/* The original compact preview choices, now shared by the real check-in flow. */
.checkin-mode-card{max-width:640px;margin-inline:auto;padding:24px;border-color:var(--line)}
.product-event .checkin-mode-card h2{font-size:clamp(25px,4vw,34px);line-height:1.15;letter-spacing:-.04em;margin:12px 0}
.checkin-mode-card>p{font-size:14px;line-height:1.5;color:var(--muted)}
.checkin-mode-options{grid-template-columns:1fr;gap:10px}
.checkin-mode-options label{position:relative;box-sizing:border-box;width:100%;min-width:0;align-items:center;gap:12px;padding:14px;border-radius:16px;background:#fff;transition:background .18s,border-color .18s,box-shadow .18s}
.checkin-mode-options input{position:absolute;width:1px;height:1px;opacity:0;margin:0;overflow:hidden}
.checkin-mode-options label:has(input:focus-visible){outline:3px solid var(--red);outline-offset:3px}
.checkin-mode-options label:has(input:checked){border-color:var(--red-ink);background:var(--red-soft);box-shadow:inset 0 0 0 1px var(--red-ink)}
.checkin-mode-options .checkin-mode-icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;background:#faeaf0;color:var(--red-ink);font-size:23px}
.checkin-mode-options .checkin-mode-copy{flex:1;min-width:0}
.checkin-mode-options b{font-size:16px;line-height:1.2}
.checkin-mode-options small{font-size:12px;line-height:1.4;margin-top:4px;color:var(--muted);font-weight:400}
.checkin-mode-options .checkin-mode-check{width:20px;flex:none;color:var(--red-ink);opacity:0}
.checkin-mode-options input:checked~.checkin-mode-check{opacity:1}
@media(max-width:480px){.checkin-mode-card{padding:18px}.checkin-mode-options label{padding:12px}}
@media(prefers-reduced-motion:reduce){.checkin-mode-options label{transition:none}}
.group-member-photos{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.group-member-photos .group-avatar{width:52px;height:52px;object-fit:cover}
.groups-page .chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.groups-page .chips span{border-radius:20px;padding:5px 10px;background:#faedf1;color:#64162b;font-size:13px}
.group-member-row{display:flex;align-items:center;gap:8px;margin:10px 0;flex-wrap:wrap}.group-member-row img{width:32px;height:32px;object-fit:cover;border-radius:50%}.group-member-row span{flex:1;min-width:100px;overflow-wrap:anywhere}.group-card ul{padding:0;list-style:none}
/* Application layout boundaries: marketing and phone previews keep their own sizing. */
.product-host #app,.product-host .shell{min-width:0}
.product-host .shell{width:100%}
.product-host #app :is(a.ghost,button.ghost,.button):not([hidden]){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;line-height:1.35;text-align:center;white-space:normal;overflow-wrap:anywhere}
.product-host .app-head{flex-wrap:wrap;gap:16px;align-items:flex-start}
.product-host .app-head>div{flex:1 1 18rem;min-width:0}
.product-host .app-head>:is(a,button){flex:0 0 auto}
.product-host :is(.app-head,.ops-head,.campaign-head) :is(h1,h2,h3,p){overflow-wrap:anywhere}
.product-host :is(.ops-layout,.form-pair,.metric-grid,.group-card,.campaign-card,.moderation-layout)>*{min-width:0}
.product-host :is(.ops-head,.campaign-head)>div{min-width:0}
.product-host :is(.ops-head,.campaign-head)>:is(a,button){flex-shrink:0}
.product-host .ops-form :is(input,select,textarea){min-width:0;max-width:100%;font-size:16px}
.product-host .form-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.product-host .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.product-host .metric-grid :is(span,b){overflow-wrap:anywhere}

.product-host .group-card{grid-template-columns:auto minmax(0,1fr)}
.product-host :is(.group-card,.admin-row,.campaign-card) :is(h2,h3,p){overflow-wrap:anywhere}
.product-host .admin-row>div{min-width:0}
.product-chat header>a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;min-height:44px;border-radius:12px;background:var(--rose);color:var(--burgundy);font-size:22px}
.product-chat header>div{min-width:0;overflow-wrap:anywhere}
.product-chat form{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;align-items:stretch}
.product-chat form input:not([type=file]){min-width:0;width:100%;font-size:16px;padding-inline:12px}
.product-chat form .button{padding:12px 14px;min-height:44px}
.product-chat .chat-media-button{min-height:44px;flex-shrink:0}
.product-chat .messages{overscroll-behavior:contain}
.product-chat .messages .message-wrap.mine{background:transparent;color:inherit}
.product-chat .messages .message-wrap.theirs{background:transparent;border:0;border-radius:0}
.product-chat form textarea{display:block;width:100%;min-width:0;min-height:48px;max-height:120px;resize:vertical;margin:0;padding:12px 16px;border:1px solid var(--line);border-radius:24px;background:#fff;font:inherit;font-size:16px;line-height:22px;color:var(--ink);box-sizing:border-box}
.product-chat form textarea:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.product-chat form{align-items:end}
.product-chat .message-wrap.mine .reactions{justify-content:flex-end}
@media(min-width:1000px){
 .app-host #app>.shell.product-chat{width:calc(100% - 64px);max-width:920px;height:calc(100dvh - 64px);min-height:340px;margin:16px auto;padding:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,#fff,#fff6f8);box-shadow:0 16px 60px #64162b0d}
 .product-chat header{flex-shrink:0;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:20px 28px;background:#ffffffc9;gap:16px}
 .product-chat header b{font-size:20px;color:var(--burgundy)}
 .product-chat header small{color:var(--muted);margin-top:4px}
 .product-chat .messages{flex:1;min-height:0;height:auto;padding:24px 32px;scrollbar-width:thin;scrollbar-color:#e8cbd3 transparent}
 .product-chat .message-wrap{max-width:76%;width:fit-content;margin:12px 0}
 .product-chat .messages p{padding:14px 18px;border:1px solid #f0dce2;border-radius:22px 22px 22px 6px;box-shadow:0 4px 16px #64162b06;line-height:1.5}
 .product-chat .message-wrap.mine p{border-color:transparent;border-radius:22px 22px 6px 22px}
 .product-chat .messages small{font-size:11px;margin-top:6px}
 .product-chat form{flex-shrink:0;padding:18px 24px 8px;margin:0;border-top:1px solid var(--line);background:#ffffffb8;gap:12px}
 .product-chat form .button{min-height:48px;border-radius:24px;padding-inline:24px}
 .product-chat .chat-media-button{height:48px}
 .product-chat .view-once-note{flex-shrink:0;margin:0;padding:4px 24px 14px;background:#ffffffb8}
}
.product-chat .messages p{overflow-wrap:anywhere;white-space:pre-wrap}
.product-chat .reactions button{min-width:44px;min-height:44px}
.product-chat .reactions{flex-wrap:wrap}
.conversation-list a[href^="#/chat/"]>div{min-width:0;overflow-wrap:anywhere}
.conversation-list a[href^="#/chat/"]>:is(img,strong,i){flex-shrink:0}
@media(max-width:850px){.product-host .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .product-host .form-pair,.product-host .metric-grid{grid-template-columns:minmax(0,1fr)}
  .product-host .ops-head,.product-host .campaign-head{gap:16px;min-width:0}
  .product-chat header{gap:10px;padding:12px}
  .product-chat .messages{padding:16px 4px}
  .product-chat .message-wrap{max-width:88%}
  .conversation-list a[href^="#/chat/"]{gap:10px;padding:14px}
}
body.product-host .reveal{opacity:1;transform:none;transition:none}
.product-event #event-flow{scroll-margin-top:80px}
#toast{pointer-events:none}
html:has(body.product-host){scroll-behavior:auto}
.app-host #app>.product-events{padding-top:24px}
@media(max-width:999px){.app-host #app>.product-events{padding-top:12px}}

/* Gentle depth on hover, without pointer-following tilt or directional movement. */
@media(hover:hover) and (pointer:fine){.event-card{transform-origin:center;transition:transform .2s ease,box-shadow .2s ease}.event-card:hover{transform:scale(1.012);box-shadow:0 16px 38px #64162b20;z-index:1}}
@media(prefers-reduced-motion:reduce){.event-card:hover{transform:none}.event-card{transition:none}}

.discovery-dialog .page-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.discovery-dialog .page-actions>button{display:inline-flex;align-items:center;justify-content:center;flex:1 1 120px;min-width:max-content;white-space:nowrap;min-height:48px;padding:12px;border-radius:16px}

.group-member-row .group-member-avatar{flex:0 0 auto;min-width:0;width:32px;height:32px;border-radius:50%;overflow:hidden;display:inline-block;background:#f4e9ed}.group-member-avatar svg{display:block;width:100%;height:100%}
/* Groups sub-choice: heading above a tinted panel (the fieldset itself has no border, so the legend never sits on a border line);
   each option is a two-column grid with the radio in its own 20px column. The radio resets the global input rule
   (width 100%, padding 14px 15px, border), which WebKit drew as a wide box over the text. */
.groups-as-choice{margin:-6px 0 20px;padding:0;border:0;min-width:0;display:block}.groups-as-choice[hidden]{display:none}.groups-as-choice legend{float:none;display:block;width:100%;margin:0 0 8px;padding:0 4px;font-size:14px;font-weight:800;line-height:1.3;color:var(--red-ink)}.groups-as-options{display:grid;gap:8px;padding:8px;border:1px solid #efd6df;border-radius:18px;background:#fff8fa}.groups-as-choice label{box-sizing:border-box;width:100%;min-width:0;display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:12px;align-items:start;min-height:44px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #efd6df;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}.groups-as-choice input[type=radio]{grid-column:1;position:static;box-sizing:border-box;appearance:auto;-webkit-appearance:radio;flex:none;width:20px;height:20px;min-width:20px;min-height:0;max-width:20px;margin:1px 0 0;padding:0;border:0;border-radius:50%;background:none;accent-color:var(--red);justify-self:center;cursor:pointer}.groups-as-choice label:has(input:checked){border-color:var(--red-ink);background:var(--red-soft);box-shadow:inset 0 0 0 1px var(--red-ink)}.groups-as-choice label:has(input:focus-visible){outline:3px solid var(--red);outline-offset:2px}.groups-as-copy{grid-column:2;display:grid;gap:3px;min-width:0}.groups-as-choice b{display:block;font-size:15px;line-height:1.3;overflow-wrap:break-word}.groups-as-choice small{display:block;color:#7a5360;font-size:12.5px;line-height:1.4;overflow-wrap:break-word}@media(prefers-reduced-motion:reduce){.groups-as-choice label{transition:none}}

/* festl-v405: organizer name only (no VERANSTALTER prefix); distinct from category badges. */
.event-organizer{display:inline-flex;align-items:center;max-width:100%;margin:6px 0 2px;padding:5px 10px;border-radius:10px;border:1px solid #e7c9d3;background:#fff8fa;color:#6b2a40;font-size:12.5px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-organizer::before{content:none;display:none}
.event-organizer-detail{margin:10px 0 0;font-size:13.5px;white-space:normal}
.event-detail-nav{margin-top:28px}

/* festl-v405: desktop 4–5 columns (cap at 5); tablet stays ~3 via .grid; same density on website + app. */
.product-events .event-grid{gap:16px}
@media(min-width:1100px){.product-events .event-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1400px){.product-events .event-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
