/* RELEASE-07A public presentation. No authenticated shell or global selectors. */
.public-entry {
 --ims-space-1:4px;--ims-space-2:8px;--ims-space-3:12px;--ims-space-4:16px;--ims-space-5:24px;--ims-space-6:32px;--ims-space-7:48px;
 --ims-radius-control:6px;--ims-radius-panel:10px;--ims-control-public:44px;--ims-content-public:620px;
 --public-ink:#202a36;--public-muted:#586575;--public-line:#d5dae0;--public-canvas:#fff;--public-link:#244ea4;
 margin:0;min-height:100svh;display:flex;flex-direction:column;font:400 15px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
 background:#f6f7f8;color:var(--public-ink);color-scheme:light;
}
.public-entry *, .public-entry *::before,.public-entry *::after{box-sizing:border-box}
.public-entry [hidden]{display:none!important}
.public-entry h1,.public-entry h2,.public-entry p{margin:0}
.public-entry h1{font-size:clamp(26px,5vw,32px);line-height:1.2;font-weight:700;letter-spacing:-.025em;overflow-wrap:anywhere}
.public-entry h2{font-size:20px;line-height:1.3;font-weight:700;overflow-wrap:anywhere}
.public-entry a{color:var(--public-link);text-underline-offset:3px}
.public-entry button,.public-entry input,.public-entry select,.public-entry textarea{font:inherit}
.public-entry :focus-visible{outline:3px solid #4177c0;outline-offset:3px}
.public-header{width:min(100% - 32px,920px);margin:24px auto 0;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px}
.public-brand{width:156px;max-width:58%;height:auto;max-height:44px;object-fit:contain}
.public-canvas{width:min(100% - 32px,var(--ims-content-public));margin:48px auto;flex:1;min-width:0}
.public-eyebrow,.eyebrow{font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:8px;color:var(--event-text,var(--public-muted));overflow-wrap:anywhere}
.public-intro{margin-bottom:24px}
.public-intro>p:last-child,.public-error>p:last-child{color:var(--public-muted);margin-top:12px;max-width:52ch}
.public-event{background:linear-gradient(150deg,var(--event-primary) 0%,var(--event-secondary) 60%,var(--event-background) 100%)}
.public-event .public-canvas{margin-top:32px}
.top{color:var(--event-text);margin-bottom:24px;min-width:0}
.event-name{font-size:14px;margin-top:16px;margin-bottom:8px;overflow-wrap:anywhere}
.public-subtitle{margin-top:12px;font-size:15px;overflow-wrap:anywhere}
.event-meta{font-size:13px;margin-top:12px;display:flex;flex-wrap:wrap;gap:4px 8px;opacity:.9}
.logo-wrap{position:relative;display:flex;justify-content:var(--logo-justify,center);width:100%;min-height:100px;margin-bottom:24px;isolation:isolate}
.logo-wrap::after{content:"";position:absolute;z-index:-1;left:50%;top:50%;transform:translate(-50%,-50%);width:min(var(--logo-glow-mobile-width,300px),100%);height:var(--logo-glow-mobile-height,100px);background:radial-gradient(ellipse,rgba(var(--logo-glow-color-rgb,255,255,255),.6),transparent 70%);filter:blur(var(--logo-glow-blur,14px));opacity:var(--logo-glow-opacity,1);pointer-events:none}
.logo{width:min(var(--logo-mobile-width,280px),100%);height:auto;position:relative;max-width:min(var(--logo-mobile-width,280px),100%);max-height:var(--logo-mobile-height,90px);object-fit:contain;object-position:var(--logo-object-position,center);opacity:var(--logo-opacity,1);align-self:center}
.public-form-panel{background:var(--public-canvas);color:var(--public-ink);border-radius:var(--ims-radius-panel);padding:24px}
.public-form-title{margin-bottom:24px!important}
.grid{display:grid;gap:16px}
.field>label,.field legend{display:block;padding:0;font-weight:600;font-size:13px;margin-bottom:8px;color:var(--public-ink)}
.field{min-width:0}
.field fieldset,fieldset.addq-field{border:0;padding:0;margin:0;min-width:0}
.raffle-entry-input{display:block;width:100%;min-height:44px;border:1px solid var(--public-line);border-radius:6px;padding:10px 12px;background:#fff;color:var(--public-ink)}
.raffle-entry-input:focus{outline:3px solid rgba(65,119,192,.3);outline-offset:1px;border-color:#4177c0}
.raffle-entry-input[aria-invalid=true]{border-color:#a12f38}
.required-indicator{font-size:13px;font-weight:600;margin-left:4px}
.field-error{font-size:13px;color:#9c2934;margin-top:8px}
.addq-block{display:grid;gap:16px;margin-top:24px}
.addq-field textarea{resize:vertical;min-height:100px}
.addq-radio-group{display:grid;gap:4px}
.check{display:flex;align-items:flex-start;gap:12px;font-size:14px;min-height:44px;padding:10px 0;line-height:1.5;cursor:pointer}
.check input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--event-accent,#285b9c)}
.check>span{min-width:0;overflow-wrap:anywhere;flex:1}
.consent-block{border-top:1px solid var(--public-line);margin-top:24px;padding-top:16px}
.simple-notice{display:grid;gap:8px;color:var(--public-ink)}
.simple-notice h3{font-size:15px;margin:0;line-height:1.4}
.simple-notice p{font-size:13px;line-height:1.6;margin:0;color:var(--public-muted)}
.simple-consent-choices{padding:0;margin:16px 0 0;border:0;min-width:0}
.simple-consent-choices legend{font-size:12px;line-height:1.6;color:var(--public-muted);margin-bottom:8px}
.simple-consent-choices .check{padding:12px 0;border-top:1px solid var(--public-line)}
.simple-consent-choices .check input{min-width:18px}

.consent-optional{margin-top:8px}
.consent-badge{font-size:12px;color:var(--public-muted)}
.legal-view-link{font-size:14px;text-decoration:underline;font-weight:600;display:inline-block;padding:0 4px;min-height:24px}
.legal-notice,.public-noscript{padding:12px;background:#f4f6f8;border-radius:6px;font-size:13px;margin:12px 0;color:var(--public-ink)}
.btn,.public-action{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;border:1px solid transparent;border-radius:6px;padding:10px 16px;background:var(--event-accent,#253f64);color:var(--event-cta,#fff);font-size:15px;font-weight:700;text-decoration:none;cursor:pointer}
.public-entry a.public-action{color:var(--event-cta,#fff)}
.btn{width:100%;margin-top:24px}
.btn:disabled{opacity:.55;cursor:default}
.btn:not(:disabled):hover,.public-action:hover{filter:brightness(.94)}
.message{display:none;margin-top:16px;padding:12px;border-radius:6px;font-size:14px;overflow-wrap:anywhere}
.message.bad{display:block;background:#fff1f2;color:#912b36}
.message.ok{display:block;background:#edf7f1;color:#216540}
.public-confirmation{padding:8px 0}
.public-confirmation h2{margin-top:16px}
.public-confirmation p{margin-top:12px;color:var(--public-muted)}
.public-state-mark{display:grid;place-items:center;width:44px;height:44px;background:#edf1f4;border-radius:50%;color:#465464;font-size:24px}
.public-confirmation .public-state-mark{background:#edf7f1;color:#216540}
.public-state{background:#fff;border-radius:10px;padding:24px;color:var(--public-ink)}
.public-state h2{margin-top:16px}
.public-state p{margin-top:12px;color:var(--public-muted)}
.countdown{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}
.count-box{display:flex;gap:4px;align-items:baseline;min-width:0}
.count-num{font-size:20px;font-weight:700}
.count-label{font-size:12px}
.public-event-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.public-event-card{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid #e5e8ec;border-radius:10px;padding:16px;text-decoration:none;color:var(--public-ink)!important;min-height:100px}
.public-event-card:hover{border-color:#adb9c9}
.public-event-card h2{font-size:18px}
.public-event-card p{margin-top:8px;color:var(--public-muted);font-size:13px;overflow-wrap:anywhere}
.public-event-card .card-arrow{font-size:22px;margin-left:auto;flex:none}
.public-event-card>div{min-width:0}
.public-universal .public-action{margin-top:24px;width:max-content;max-width:100%}
.public-error{display:flex;flex-direction:column;justify-content:center;min-height:320px}
.iti{width:100%;--iti-border-color:#d5dae0} /* Spec 011: --iti-path-* sprite URLs are set by PublicShell::head() under the public base path. */
.iti__selected-country{min-height:44px}
.iti__dropdown-content{color:#202a36;max-width:calc(100vw - 32px)}
.iti__search-input{min-height:44px}
.iti__country{min-height:44px;white-space:normal}
.legal-modal-overlay{position:fixed;inset:0;background:rgba(16,24,36,.5);z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}
.legal-modal{background:#fff;color:var(--public-ink);width:min(620px,100%);max-height:85svh;border-radius:10px;display:flex;flex-direction:column;box-shadow:0 16px 48px rgba(0,0,0,.18)}
.legal-modal-head{display:flex;justify-content:space-between;align-items:start;gap:16px;border-bottom:1px solid var(--public-line);padding:16px}
.legal-modal-head h2{font-size:18px}
.legal-modal-meta{font-size:12px;color:var(--public-muted)}
.legal-modal-close{width:44px;height:44px;background:#f2f4f6;border:0;border-radius:6px;cursor:pointer;flex:none;font-size:24px}
.legal-modal-body{overflow:auto;padding:24px;font-size:14px;overflow-wrap:anywhere}
.winner-result-card{width:min(100% - 32px,620px);margin:0 auto 24px;background:#fff;border-radius:10px;padding:24px;color:var(--public-ink)}
.winner-result-prize,.winner-result-name{margin-bottom:16px}.winner-result-card span{display:block;font-size:13px;color:var(--public-muted)}
.winner-result-card strong{display:block;overflow-wrap:anywhere}.winner-result-name strong{font-size:24px}.winner-result-grid{display:grid;gap:12px}.winner-result-thanks{margin-top:16px!important}
@media(min-width:650px){.public-header{margin-top:32px}.public-canvas{margin-top:48px}.public-form-panel,.public-state{padding:32px}.logo-wrap{min-height:140px}.logo{width:min(var(--logo-desktop-width,360px),100%);max-width:100%;max-height:var(--logo-desktop-height,112px)}.logo-wrap::after{width:min(var(--logo-glow-desktop-width,420px),100%);height:var(--logo-glow-desktop-height,140px)}}
@media(max-width:360px){.public-form-panel,.public-state{padding:16px}.public-canvas{margin-top:24px}.public-event-card{gap:8px}}
@media(prefers-reduced-motion:reduce){.public-entry *{scroll-behavior:auto;transition:none;animation:none}}

.public-entry .required-note{font-size:12px;color:var(--public-muted);margin-bottom:16px}
.field:has(>.raffle-entry-input[required])>label::after,.field:has(>.iti input[required])>label::after,.field:has(>.addq-radio-group input[required])>label::after{content:" *"}
.check:has(>input[required]:not([type=radio]))>span::after{content:" *"}
.check:has(>.field-error){flex-wrap:wrap}.check>.field-error{flex-basis:100%;margin-left:30px}

.public-brand-lockup{display:flex;align-items:center;gap:8px;color:#243142}.public-brand-lockup .public-brand{width:64px;max-width:none;height:44px;max-height:none}.public-brand-lockup strong{font-size:20px;letter-spacing:.01em}.public-brand-lockup small{display:block;font-size:11px;font-weight:400;letter-spacing:0}

.public-header-universal{justify-content:flex-end}

/* Shared public theme surfaces; event-owned background and branding are retained. */
.public-universal,.public-event{
 --ims-text:#24252a;--ims-muted:#586575;--ims-line:#d5dae0;--ims-surface:#fff;--ims-hover:#f0f0f2;
 --ims-accent:#0e714b;--ims-accent-soft:rgba(19,138,91,.10);--ims-focus:#0e714b;
 --public-ink:var(--ims-text);--public-muted:var(--ims-muted);--public-line:var(--ims-line);--public-canvas:var(--ims-surface);
 --public-background:#f6f7f8;--public-action:#253f64;--public-on-action:#fff;
}
.public-universal{background:var(--public-background)}
[data-public-theme][data-ims-theme="dark"] :is(.public-universal,.public-event){
 --ims-text:#eeedf0;--ims-muted:#adaeb8;--ims-line:#3b3c44;--ims-surface:#26272c;--ims-hover:#32333a;
 --ims-accent:#48d69a;--ims-accent-soft:rgba(72,214,154,.14);--ims-focus:#48d69a;
 --public-background:#1b1c20;--public-link:#a7c9ff;--public-action:#a7c9ff;--public-on-action:#17283f;
 color-scheme:dark;
}
.public-universal .public-event-card{background:var(--ims-surface);border-color:var(--ims-line)}
.public-universal .public-event-card:hover{border-color:var(--ims-accent)}
.public-universal a.public-action{background:var(--public-action);color:var(--public-on-action)}
.public-universal :focus-visible{outline-color:var(--ims-focus)}
.public-entry .public-theme-control{position:relative}
.public-entry .public-theme-toggle{display:grid;place-items:center;width:44px;height:44px;padding:8px;border-radius:6px;color:var(--ims-muted);list-style:none;cursor:pointer}
.public-entry .public-theme-toggle::-webkit-details-marker{display:none}
.public-entry .public-theme-toggle>span{display:flex}
.public-entry .public-theme-toggle:hover,.public-entry .public-theme-control[open]>summary{background:var(--ims-hover);color:var(--ims-text)}
.public-entry .public-theme-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:166px;max-width:calc(100vw - 32px);padding:6px;border:1px solid var(--ims-line);border-radius:6px;background:var(--ims-surface);box-shadow:0 8px 28px #0002}
.public-entry .public-theme-choice{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 10px;border:0;border-radius:4px;background:transparent;color:var(--ims-text);text-align:left;cursor:pointer}
.public-entry .public-theme-choice:hover{background:var(--ims-hover)}
.public-entry .public-theme-choice[aria-pressed="true"]{background:var(--ims-accent-soft);color:var(--ims-accent)}

/* Event controls and neutral surfaces follow the same stored public preference. */
.public-event .public-theme-toggle{background:var(--ims-surface);color:var(--ims-text)}
.public-event :is(.public-state,.winner-result-card,.legal-modal,.raffle-entry-input){background:var(--public-canvas)}
.public-event :is(.legal-notice,.public-noscript,.legal-modal-close,.public-state-mark){background:var(--ims-hover);color:var(--public-ink)}
.public-event .public-state[data-public-state="closed"]{background:transparent;border-top:1px solid currentColor;border-radius:0;padding:24px 0;margin-top:32px;color:var(--event-footer)}
.public-event .public-state[data-public-state="closed"] .public-state-mark{width:36px;height:36px;border:1px solid currentColor;background:transparent;color:inherit;font-size:20px}
.public-event .public-state[data-public-state="closed"] p{color:inherit;opacity:.85;max-width:52ch}

/* Dark mode shades the existing event gradient rather than replacing its colors. */
[data-public-theme][data-ims-theme="dark"] .public-event{--event-text:#fff!important;--event-footer:#fff!important;background-image:linear-gradient(#0009,#0009),linear-gradient(150deg,var(--event-primary) 0%,var(--event-secondary) 60%,var(--event-background) 100%)}

.public-event>.ims-footer{color:var(--event-footer);border-color:color-mix(in srgb,currentColor 25%,transparent)}
[data-public-theme][data-ims-theme="dark"] .public-event .field-error{color:#ff9aa5}
