/* Promotional composition reused from the RADIOS project. No radio portal or player dependencies. */
/* Promotion page (approved mockup): brand-tone hero with the art whole, sponsors right below, prizes and the entry form. */
.promo-hero{position:relative;isolation:isolate;overflow:hidden;padding:26px 0 70px;color:#fff;background:var(--tone);border-radius:0 0 28px 28px;font-family:'Segoe UI',Roboto,Arial,sans-serif}
.promo-hero-ambient{position:absolute;inset:-40px;z-index:-1;opacity:.85}
.promo-hero-ambient img{width:100%;height:100%;object-fit:cover;filter:blur(40px) brightness(.55) saturate(1.3)}
.promo-hero-inner{display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:20px 56px;align-items:center}
.promo-hero .breadcrumb{grid-column:1/-1;display:inline-flex;align-items:center;gap:4px;color:#ffffffd9;font-size:13px}
.promo-hero .breadcrumb .icon{width:16px;height:16px}
.promo-art{position:relative;margin:0;width:100%;aspect-ratio:1;border-radius:24px;border:5px solid #fff;background:#fff;overflow:hidden;box-shadow:0 26px 60px #0008}
.promo-art-blur{position:absolute;inset:-30px;width:calc(100% + 60px);height:calc(100% + 60px);object-fit:cover;filter:blur(22px)}
.promo-art-image{position:relative;display:block;width:100%;height:100%;object-fit:contain}
.promo-art-empty{display:grid;place-items:center;height:100%;background:var(--tone);color:#ffffffb3}.promo-art-empty .icon{width:35%;height:35%}
.promo-badges{display:flex;flex-wrap:wrap;gap:8px}
.promo-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:30px;font-size:13px;font-weight:800}
.promo-badge .icon{width:15px;height:15px}
.promo-badge.is-open{background:#22c55e;color:#fff}.promo-badge.is-open i{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #ffffff55}
.promo-badge.is-deadline{background:#ffd21f;color:#3b2a00}
.promo-badge.is-closed{background:#0b1e4ad9;color:#fff}
.promo-hero h1{margin:14px 0 0;font:800 italic clamp(40px,5vw,72px)/.95 PromoDisplay,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.5px;overflow-wrap:anywhere}
.promo-when{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:16px;color:#ffffffe0}
.promo-when .icon{flex:0 0 18px;width:18px;height:18px}
.promo-prize-box{display:flex;align-items:center;gap:16px;max-width:520px;margin-top:22px;padding:14px 18px;border-radius:18px;background:#ffffff1f;border:1px solid #ffffff3d;backdrop-filter:blur(6px)}
.promo-prize-icon{flex:0 0 52px;height:52px;border-radius:14px;background:#ffd21f;color:#7a3e00;display:grid;place-items:center}.promo-prize-icon .icon{width:28px;height:28px}
.promo-prize-box small{display:block;font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#ffd21f}
.promo-prize-box strong{font-size:19px;line-height:1.25}
.promo-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px}
.promo-go{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 26px;border-radius:30px;background:#ffd21f;color:#3b2a00;font-size:16px;font-weight:800;box-shadow:0 10px 24px -8px #000a}
.promo-go .icon{width:18px;height:18px;transform:rotate(90deg)}
.promo-share{display:flex;gap:8px}
.promo-share a,.promo-share button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#ffffff26;border:1px solid #ffffff40;color:#fff;cursor:pointer}
.promo-share .icon{width:20px;height:20px}
.promo-sponsors{position:relative;z-index:2;display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:center;margin-top:-40px;padding:16px 20px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:0 18px 40px #0b1e4a1f;font-family:'Segoe UI',Roboto,Arial,sans-serif}
.promo-sponsors-head h2{margin:0;font:700 26px/1 PromoDisplay,'Arial Narrow',sans-serif;text-transform:uppercase;color:var(--ink)}
.promo-sponsors-head small{font-size:13px;color:var(--muted)}
.promo-sponsors ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.promo-sponsors li>a,.promo-sponsors li>span{display:flex;align-items:center;gap:12px;height:100%;padding:10px;border:1px solid var(--line);border-radius:16px;color:var(--ink);transition:border-color .15s,transform .15s}
.promo-sponsors li>a:hover{border-color:var(--brand,#095dff);transform:translateY(-2px)}
.promo-sponsor-logo{flex:0 0 64px;height:64px;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:var(--page);font:800 26px 'Segoe UI',sans-serif;color:var(--muted);box-shadow:0 4px 10px #0002}
.promo-sponsor-logo img{width:100%;height:100%;object-fit:cover}
.promo-sponsor-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.promo-sponsor-copy strong{font-size:15px;line-height:1.2;overflow-wrap:anywhere}
.promo-sponsor-link{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;color:#fff;font-size:12px;font-weight:800}
.promo-sponsor-link .icon{width:14px;height:14px}
.promo-sponsor-link.is-whatsapp{background:#25d366}.promo-sponsor-link.is-instagram{background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af)}.promo-sponsor-link.is-site{background:#1d4ed8}
.promo-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:28px;align-items:start;margin-top:28px;margin-bottom:56px;font-family:'Segoe UI',Roboto,Arial,sans-serif}
.promo-main{display:grid;gap:24px;min-width:0}
.promo-card{padding:26px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 30px #0b1e4a10}
.promo-card h2{margin:0;font:700 26px/1.1 PromoDisplay,'Arial Narrow',sans-serif;text-transform:uppercase;color:var(--ink)}
.promo-card h2:after{content:'';display:block;width:30px;height:3px;margin-top:8px;border-radius:2px;background:#e11d48}
.promo-intro{margin:14px 0 0;font-size:16px;line-height:1.6;color:var(--ink);font-weight:600}
.promo-text{margin-top:10px}
.promo-subtitle{margin-top:26px!important}
.promo-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.promo-steps li{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:14px;background:var(--page);font-size:15px;line-height:1.45;color:var(--ink)}
.promo-steps b{flex:0 0 30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--brand,#1d4ed8);color:#fff;font:700 17px PromoDisplay,sans-serif}
.promo-rules{margin-top:16px}
.promo-rules summary{display:inline-flex;align-items:center;gap:6px;color:var(--brand,#1d4ed8);font-weight:700;font-size:14px;cursor:pointer;list-style:none}
.promo-rules summary::-webkit-details-marker{display:none}
.promo-rules summary .icon{width:16px;height:16px}
.promo-rules div{margin-top:12px;padding:16px;border-radius:14px;background:var(--page);font-size:14px;line-height:1.6;color:var(--muted);max-height:360px;overflow:auto}
.promo-prizes{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.promo-prizes>li{display:grid;grid-template-columns:40px 64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 14px 10px 10px;border:1px solid var(--line);border-radius:16px}
.promo-prize-place{font:800 italic 28px PromoDisplay,sans-serif;color:#e11d48;text-align:center}
.promo-prize-photo{width:64px;height:64px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:var(--page);color:var(--muted)}
.promo-prize-photo img{width:100%;height:100%;object-fit:cover}.promo-prize-photo .icon{width:28px;height:28px}
.promo-prize-copy{min-width:0}
.promo-prize-copy strong{display:block;font-size:16px;color:var(--ink);overflow-wrap:anywhere}
.promo-prize-copy small{font-size:13px;color:var(--muted)}
.promo-prize-winners{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}
.promo-prize-winners li{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:#15803d}
.promo-prize-winners .icon{width:14px;height:14px;fill:currentColor}
.promo-prize-state{padding:6px 12px;border-radius:20px;background:#fff4c2;color:#6b4e00;font-size:12.5px;font-weight:800;white-space:nowrap}
.promo-prize-state.is-done{background:#dcfce7;color:#15803d}
.promo-side{position:sticky;top:96px;scroll-margin-top:110px}
.promo-form-note{margin:10px 0 0;font-size:14px;color:var(--muted)}
.promo-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin-top:16px}
.promo-form label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:700;color:var(--ink)}
.promo-form label i{font-style:normal;font-weight:400;color:var(--muted)}
.promo-form .is-wide{grid-column:1/-1}
.promo-form input:not([type=checkbox]),.promo-form select{width:100%;height:46px;padding:0 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--page);color:var(--ink);font:400 15px 'Segoe UI',Roboto,Arial,sans-serif}
.promo-form input:focus,.promo-form select:focus{outline:2px solid var(--brand,#1d4ed8);outline-offset:1px;background:var(--surface)}
.promo-extra summary{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:var(--brand,#1d4ed8);cursor:pointer;list-style:none}
.promo-extra summary::-webkit-details-marker{display:none}
.promo-extra summary .icon{width:15px;height:15px}
.promo-extra>div{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin-top:10px}
.promo-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.promo-accept{flex-direction:row!important;flex-wrap:wrap;align-items:flex-start;gap:10px!important;font-weight:400!important;font-size:13px!important;line-height:1.45;color:var(--muted)!important}
.promo-accept input{flex:0 0 20px;width:20px;height:20px;margin:0;accent-color:var(--brand,#1d4ed8)}
.promo-accept>span:first-of-type{flex:1;min-width:0}
.promo-accept a{color:var(--brand,#1d4ed8);font-weight:700}
.promo-submit{min-height:54px;border:0;border-radius:14px;background:linear-gradient(135deg,#e11d48,#b8102e);color:#fff;font:800 16px 'Segoe UI',Roboto,Arial,sans-serif;cursor:pointer;box-shadow:0 10px 22px -8px #e11d48}
.promo-submit:disabled{opacity:.6;cursor:wait}
.promo-privacy{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;font-size:12px;color:var(--muted)}.promo-privacy .icon{width:13px;height:13px}
.promo-field-error{flex-basis:100%;font-size:12.5px;font-weight:700;color:#dc2626}
.promo-form-error{margin:14px 0 0;padding:10px 14px;border-radius:12px;background:#fee2e2;color:#991b1b;font-size:14px;font-weight:700}
.promo-success{text-align:center;padding:10px 4px}
.promo-success>span{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#dcfce7;color:#15803d}.promo-success>span .icon{width:32px;height:32px}
.promo-success h2{margin-top:12px}.promo-success h2:after{margin:8px auto 0}
.promo-success p{margin:12px 0 0;font-size:15px;line-height:1.55;color:var(--muted)}
.promo-closed-card{text-align:center}
.promo-closed-icon{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#ffd21f;color:#7a3e00}.promo-closed-icon .icon{width:30px;height:30px;fill:currentColor}
.promo-closed-card h2{margin-top:12px}.promo-closed-card h2:after{margin:8px auto 0}
.promo-closed-card p{margin:12px 0 0;font-size:15px;line-height:1.55;color:var(--muted)}
.promo-result{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px;text-align:left}
.promo-result li{padding:12px 16px;border-radius:14px;background:linear-gradient(135deg,#0b3a8f,#1d4ed8);color:#fff}
.promo-result small{display:block;font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#ffd21f}
.promo-result strong{display:block;font:700 24px/1.1 PromoDisplay,sans-serif;text-transform:uppercase}
.promo-result span{font-size:13px;color:#ffffffd0}
@media (max-width:1000px){.promo-hero-inner{grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:16px 32px}.promo-body{grid-template-columns:1fr}.promo-side{position:static}.promo-sponsors{grid-template-columns:1fr}}
@media (max-width:700px){.promo-hero{padding-bottom:56px}.promo-hero-inner{grid-template-columns:1fr}.promo-art{max-width:420px}.promo-hero h1{font-size:40px}.promo-card{padding:20px}.promo-form,.promo-extra>div{grid-template-columns:1fr}.promo-prizes>li{grid-template-columns:30px 52px minmax(0,1fr);gap:10px}.promo-prize-photo{width:52px;height:52px}.promo-prize-state{grid-column:2/-1;justify-self:start}.promo-sponsors ul{grid-template-columns:1fr}}
