/* Event RSVP engine v1 - shared by mikerush.com + yourcoloradohomegroup.com event pages.
   Everything is scoped under .evt so it never touches the theme. Brand via data-brand="mr|ychg". */
.evt{--bg:#1b0f09;--bg-deep:#120905;--card:#2b1912;--card-hi:#42291a;--line:#4a3323;--ink:#f7ecd8;--sub:#c9b6a0;--warm-white:#fff8ef;
  --accent:#9d4eff;--accent2:#3eebef;--btntext:#fff8ef;
  background:var(--bg);color:var(--ink);font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.45;
  position:relative;overflow:hidden;color-scheme:dark;margin:0}
.evt[data-brand="ychg"]{--accent:#e0203a;--accent2:#f2b84b}
.evt *,.evt *::before,.evt *::after{box-sizing:border-box}
.evt img{max-width:100%}
.evt .wrap{max-width:640px;margin:0 auto;padding-inline:16px}
.evt .hero{background:radial-gradient(120% 100% at 50% 0%,var(--card) 0%,var(--bg) 60%);padding-block:28px 34px}
.evt .scene{border-radius:22px;overflow:hidden;aspect-ratio:16/10;position:relative;margin-bottom:18px;border:1px solid var(--line);background:var(--bg-deep)}
.evt .scene img{display:block;width:100%;height:100%;object-fit:cover}
.evt .scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 100% at 50% 45%,transparent 55%,var(--bg-deep) 100%),linear-gradient(180deg,rgba(18,9,5,.15) 0%,rgba(18,9,5,.55) 100%)}
.evt .scene .tag{position:absolute;left:14px;bottom:14px;z-index:1;background:rgba(0,0,0,.5);color:var(--warm-white);font-size:11px;padding:5px 10px;border-radius:99px;font-weight:600}
.evt .sticker{display:inline-block;font-family:'Baloo 2',sans-serif;font-weight:700;font-size:14px;background:var(--accent);color:var(--btntext);border-radius:99px;padding:7px 15px;transform:rotate(-3deg);box-shadow:0 2px 0 rgba(0,0,0,.25);margin-bottom:14px}
.evt h1{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:clamp(34px,9vw,50px);line-height:.98;margin:0 0 8px;color:var(--warm-white);text-wrap:balance;letter-spacing:0}
.evt h2{font-family:'Baloo 2',sans-serif;font-size:20px;margin:0 0 12px;color:var(--warm-white);line-height:1.2;letter-spacing:0}
.evt .loc{font-size:15px;color:var(--sub);font-weight:600;margin-bottom:16px}
.evt .chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.evt .chip{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:14.5px;border-radius:99px;padding:8px 15px;background:var(--card-hi);color:var(--warm-white);border:1px solid var(--line)}
.evt .freebar{background:var(--accent);color:var(--btntext);border-radius:14px;padding:12px 16px;margin-top:18px;font-weight:700;font-size:13.5px}
.evt .section{padding-block:28px}
.evt .trucks{display:flex;gap:10px}
.evt .truck{flex:1;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;text-align:center}
.evt .truck .name{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:14px;margin-bottom:3px;color:var(--ink)}
.evt .truck .sub{font-size:12px;color:var(--sub)}
.evt .hostwrap{margin-top:18px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;position:relative;overflow:hidden}
.evt .hostwrap::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,var(--accent) 0%,transparent 45%);opacity:.12;pointer-events:none}
.evt .hostlabel{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent2);margin-bottom:10px;position:relative}
.evt .hostrow{display:flex;gap:16px;flex-wrap:wrap;position:relative}
.evt .hostcard{display:flex;align-items:center;gap:10px}
.evt .avatar{width:44px;height:44px;border-radius:99px;flex:0 0 auto;overflow:hidden;border:2px solid var(--accent2);background:var(--card-hi)}
.evt .avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.evt .hostname{font-weight:700;font-size:14px;line-height:1.15;color:var(--warm-white)}
.evt .hostrole{font-size:11.5px;color:var(--sub)}
.evt .rsvpcard{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px;scroll-margin-top:90px}
.evt .rsvpcard h2{font-size:21px;margin:0 0 3px}
.evt .rsvpcard .lede{font-size:13.5px;color:var(--sub);margin-bottom:16px}
.evt .field{margin-bottom:12px}
.evt .field>label,.evt .flabel{display:block;font-size:12.5px;font-weight:700;margin-bottom:5px;color:var(--sub)}
.evt .row2{display:flex;gap:10px}
.evt .row2 .field{flex:1;min-width:0}
.evt input[type=text],.evt input[type=email],.evt input[type=tel]{width:100%;border:1.5px solid var(--line);border-radius:11px;padding:11px 13px;font:inherit;font-size:16px;background:var(--bg);color:var(--ink);margin:0;box-shadow:none}
.evt input::placeholder{color:var(--sub);opacity:.7}
.evt input:focus{outline:2px solid var(--accent2);outline-offset:1px}
.evt input.bad{border-color:#ff6b6b}
.evt .stepper{display:flex;align-items:center;gap:14px;background:var(--bg);border:1.5px solid var(--line);border-radius:11px;padding:8px 14px;width:fit-content}
.evt .stepper button{width:30px;height:30px;border-radius:99px;border:none;background:var(--accent);color:var(--btntext);font-size:17px;font-weight:700;cursor:pointer;line-height:1;padding:0}
.evt .stepper button:disabled{opacity:.3;cursor:not-allowed}
.evt .stepper .count{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:17px;min-width:18px;text-align:center;color:var(--ink)}
.evt .friendlist{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.evt .friendrow{display:flex;gap:8px;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px}
.evt .friendrow .fi{flex:1;display:flex;gap:8px;min-width:0}
.evt .friendrow input{background:var(--card)}
.evt .rmv{flex:0 0 auto;width:28px;height:28px;border-radius:99px;border:none;background:transparent;color:var(--sub);font-size:18px;cursor:pointer;padding:0}
.evt .addfriend{margin-top:4px;font:inherit;font-weight:700;font-size:13.5px;color:var(--accent2);background:none;border:1.5px dashed var(--line);border-radius:11px;padding:10px 14px;cursor:pointer;width:100%}
.evt .goingrow{display:flex;gap:10px;margin-top:18px}
.evt .goingrow button{flex:1;font:inherit;font-weight:700;font-size:14.5px;border-radius:99px;padding:13px 8px;cursor:pointer;border:1.5px solid transparent}
.evt .go{background:var(--accent);color:var(--btntext)}
.evt .no{background:transparent;border-color:var(--line)!important;color:var(--ink)}
.evt .goingrow button:disabled{opacity:.55;cursor:wait}
.evt .consent{font-size:11.5px;color:var(--sub);margin-top:12px;line-height:1.5}
.evt .msg{display:none;margin-top:14px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13.5px;color:var(--ink);font-weight:600}
.evt .msg.show{display:block}
.evt .msg.err{border-color:#ff6b6b}
.evt .done{text-align:center;padding:10px 4px}
.evt .done .big{font-family:'Baloo 2',sans-serif;font-size:26px;font-weight:800;color:var(--warm-white);margin-bottom:6px}
.evt .done p{color:var(--sub);margin:0 0 6px}
.evt .albumgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-radius:20px;overflow:hidden}
.evt .albumgrid a{display:block;position:relative;overflow:hidden;aspect-ratio:1/1}
.evt .albumgrid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.evt .albumgrid a:hover img{transform:scale(1.04)}
.evt .albumcap{position:absolute;left:0;right:0;bottom:0;padding:10px 12px 8px;background:linear-gradient(0deg,rgba(18,9,5,.85),transparent);color:var(--warm-white);font-size:11.5px;font-weight:700}
.evt .albumnote{font-size:13px;color:var(--sub);margin-top:12px;line-height:1.5}
.evt .foot{padding-block:24px 60px;text-align:center;font-size:12px;color:var(--sub)}
.evt .sig{max-width:460px;margin:0 auto 22px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px;text-align:left;display:flex;gap:14px;align-items:center}
.evt .sigav{width:56px;height:56px;border-radius:99px;overflow:hidden;flex:0 0 auto;border:2px solid var(--accent2)}
.evt .sigav img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.evt .sigstack{display:flex;gap:10px;flex:0 0 auto}
.evt .sigbody{font-size:12.5px;line-height:1.55;color:var(--sub)}
.evt .signame{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:14.5px;color:var(--warm-white)}
.evt .sigrole{font-weight:600;color:var(--accent2);font-size:11.5px;margin-bottom:3px}
.evt a{color:var(--accent2);text-decoration:none;font-weight:600}
.evt .leaves{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.evt .leaf{position:absolute;top:-5%;opacity:.85;animation:evtFall linear infinite,evtSway ease-in-out infinite}
@keyframes evtFall{to{transform:translateY(110vh)}}
@keyframes evtSway{0%,100%{margin-left:0}50%{margin-left:40px}}
@media (prefers-reduced-motion:reduce){.evt .leaves{display:none}}
@media (max-width:480px){.evt .row2{flex-direction:column;gap:0}.evt .trucks{flex-direction:column}.evt .friendrow .fi{flex-direction:column}.evt .sig{flex-direction:column;text-align:center}}
/* Desktop scale-up (2026-09-29): Partiful-style two-column hero, bigger type */
@media (min-width:900px){
.evt{font-size:17px}
.evt .wrap{max-width:1040px;padding-inline:32px}
.evt .hero{padding-block:48px 56px}
.evt .hero .wrap:has(>.scene){display:grid;grid-template-columns:1.1fr 1fr;column-gap:48px;align-items:start}
.evt .hero .wrap>.scene{grid-column:1;grid-row:1 / span 8;aspect-ratio:4/5;margin-bottom:0;border-radius:26px}
.evt .hero .wrap:has(>.scene)>*:not(.scene){grid-column:2}
.evt .hero .wrap:not(:has(>.scene)){max-width:780px}
.evt .sticker{font-size:17px;padding:8px 18px;justify-self:start;margin-top:6px}
.evt h1{font-size:clamp(60px,5.2vw,78px)}
.evt .loc{font-size:21px;line-height:1.4}
.evt .chip{font-size:17px;padding:9px 17px}
.evt .freebar{font-size:17px;padding:15px 20px}
.evt .scene .tag{font-size:13.5px;padding:6px 12px}
.evt .hostlabel{font-size:13.5px}
.evt .avatar{width:56px;height:56px}
.evt .hostname{font-size:18px}
.evt .hostrole{font-size:14px}
.evt .wrap>.section{max-width:780px;margin-inline:auto}
.evt h2{font-size:28px}
.evt .truck .name{font-size:18px}
.evt .truck .sub{font-size:15px}
.evt .rsvpcard{padding:30px}
.evt .rsvpcard h2{font-size:32px}
.evt .rsvpcard .lede{font-size:17px}
.evt .field>label,.evt .flabel{font-size:15px}
.evt input[type=text],.evt input[type=email],.evt input[type=tel]{font-size:17px;padding:14px 15px}
.evt .stepper button{width:38px;height:38px;font-size:20px}
.evt .stepper .count{font-size:20px}
.evt .addfriend{font-size:16px;padding:13px 16px}
.evt .goingrow button{font-size:18px;padding:16px 10px}
.evt .consent{font-size:13.5px}
.evt .msg{font-size:16px}
.evt .albumcap{font-size:14px}
.evt .albumnote{font-size:16px}
.evt .foot{font-size:14px}
.evt .sig{max-width:560px}
.evt .sigbody{font-size:15px}
.evt .signame{font-size:18px}
.evt .sigrole{font-size:13.5px}
.evt .sigav{width:68px;height:68px}
}
/* Mobile readability boost (2026-09-29): larger type + tap targets on phones; desktop unchanged */
@media (max-width:640px){
.evt{font-size:16.5px}
.evt .wrap{padding-inline:14px}
.evt .hero{padding-block:18px 28px}
.evt .scene{border-radius:18px;aspect-ratio:4/3}
.evt .scene .tag{font-size:13px;padding:6px 12px}
.evt .sticker{font-size:17px;padding:8px 17px}
.evt h1{font-size:clamp(48px,14vw,60px)}
.evt h2{font-size:24px}
.evt .loc{font-size:18px;line-height:1.35}
.evt .chips{gap:9px}
.evt .chip{font-size:16.5px;padding:9px 16px}
.evt .freebar{font-size:16px;padding:14px 18px}
.evt .hostlabel{font-size:13.5px}
.evt .avatar{width:54px;height:54px}
.evt .hostname{font-size:17px}
.evt .hostrole{font-size:13.5px}
.evt .truck .name{font-size:17px}
.evt .truck .sub{font-size:14px}
.evt .rsvpcard{padding:22px 18px}
.evt .rsvpcard h2{font-size:26px}
.evt .rsvpcard .lede{font-size:16px}
.evt .field>label,.evt .flabel{font-size:14.5px}
.evt input[type=text],.evt input[type=email],.evt input[type=tel]{font-size:17px;padding:13px 14px}
.evt .stepper button{width:38px;height:38px;font-size:20px}
.evt .stepper .count{font-size:20px}
.evt .addfriend{font-size:15.5px;padding:12px 14px}
.evt .goingrow button{font-size:17px;padding:15px 8px}
.evt .consent{font-size:13px}
.evt .msg{font-size:15.5px}
.evt .done .big{font-size:30px}
.evt .albumcap{font-size:13.5px}
.evt .albumnote{font-size:15px}
.evt .foot{font-size:13.5px}
.evt .sigbody{font-size:14.5px}
.evt .signame{font-size:17px}
.evt .sigrole{font-size:13px}
.evt .sigav{width:64px;height:64px}
}
