/* Competitions module (PU Navrang). Scoped "cmp-" classes so nothing here can
   leak into the rest of PU Hangouts. Festival palette from the final posters:
   navy, red, yellow, on the existing Hangouts layout. */
:root{
  --nv-navy:#14213d; --nv-navy-2:#0b1530; --nv-red:#c8102e; --nv-red-2:#9e0c24;
  --nv-yellow:#ffc300; --nv-cream:#fff8e7; --nv-ink:#1d1b20; --nv-muted:#5f5a66;
  --nv-line:#ece6ef; --nv-card:#ffffff;
}
.cmp-wrap{width:100%;max-width:1120px;margin:0 auto;padding:16px 16px 96px;display:flex;flex-direction:column;gap:20px;box-sizing:border-box}
.cmp-wrap *{box-sizing:border-box}
.cmp-narrow{max-width:760px}

/* hero */
.cmp-hero{position:relative;overflow:hidden;border-radius:24px;color:#fff;padding:28px 22px;
  background:linear-gradient(140deg,var(--nv-navy-2) 0%,var(--nv-navy) 48%,var(--nv-red-2) 100%)}
.cmp-hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
  background:repeating-linear-gradient(135deg,var(--nv-yellow) 0 2px,transparent 2px 22px)}
.cmp-hero:after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,195,0,.55),rgba(255,195,0,0) 70%);pointer-events:none}
.cmp-hero-grid{position:relative;z-index:1;display:grid;gap:22px;align-items:center}
.cmp-kicker{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--nv-yellow)}
.cmp-h1{margin:6px 0 4px;font-size:34px;line-height:1.05;font-weight:900;letter-spacing:-.01em}
.cmp-sub{font-size:17px;font-weight:700;color:#ffe9a8}
.cmp-tag{margin:10px 0 0;font-size:15px;color:#f2ecff;max-width:560px}
.cmp-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.cmp-stat{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);font-size:13px;font-weight:700;color:#fff}
.cmp-stat .material-symbols-outlined{font-size:16px;color:var(--nv-yellow)}
.cmp-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;align-items:center}
.cmp-poster{width:100%;border-radius:18px;box-shadow:0 18px 40px rgba(0,0,0,.35);display:block;background:#0b1530}
.cmp-link-y{color:var(--nv-yellow);font-weight:800;text-decoration:none;font-size:14px}
.cmp-link-y:hover{text-decoration:underline}

/* buttons */
.cmp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:999px;font-weight:800;
  font-size:14px;text-decoration:none;border:2px solid transparent;cursor:pointer;line-height:1.1;font-family:inherit;transition:transform .12s,filter .12s}
.cmp-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
.cmp-btn-primary{background:var(--nv-red);color:#fff}
.cmp-btn-yellow{background:var(--nv-yellow);color:var(--nv-navy)}
.cmp-btn-ghost{background:#fff;color:var(--nv-navy);border-color:var(--nv-navy)}
.cmp-btn-muted{background:#efeaf1;color:#8a8392;cursor:not-allowed}
.cmp-btn-muted:hover{transform:none;filter:none}
.cmp-btn-sm{padding:8px 14px;font-size:13px}
.cmp-btn-block{width:100%}
.cmp-btn:focus-visible,.cmp-input:focus-visible,.cmp-wrap a:focus-visible,.cmp-wrap summary:focus-visible{outline:3px solid var(--nv-yellow);outline-offset:2px}

/* cards and grids */
.cmp-grid4{display:grid;grid-template-columns:1fr;gap:14px}
.cmp-grid2{display:grid;grid-template-columns:1fr;gap:14px}
.cmp-card{background:var(--nv-card);border:1px solid var(--nv-line);border-radius:18px;padding:18px;box-shadow:0 1px 2px rgba(20,33,61,.05)}
.cmp-cat{display:flex;flex-direction:column;gap:8px;border-top:5px solid var(--nv-navy)}
.cmp-cat.reel{border-top-color:var(--nv-red)}
.cmp-cat.film{border-top-color:var(--nv-yellow)}
.cmp-cat h3{margin:0;font-size:19px;font-weight:900;color:var(--nv-navy)}
.cmp-cat p{margin:0;color:var(--nv-muted);font-size:14px}
.cmp-cat .cmp-btn{margin-top:auto;align-self:flex-start}
.cmp-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:800;align-self:flex-start}
.cmp-pill-open{background:#e7f6ee;color:#0e7c4a}
.cmp-pill-info{background:var(--nv-cream);color:#8a5a00}
.cmp-pill-closed{background:#f1edf3;color:#77707f}

.cmp-section{scroll-margin-top:90px}
.cmp-section h2{margin:0 0 4px;font-size:24px;font-weight:900;color:var(--nv-navy)}
.cmp-section .cmp-lead{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--nv-red)}
.cmp-body{font-size:15px;line-height:1.6;color:var(--nv-ink)}
.cmp-body p{margin:0 0 10px}
.cmp-body ul{margin:0 0 10px;padding-left:20px}
.cmp-body li{margin:0 0 4px}
.cmp-body h4{margin:14px 0 6px;font-size:15px;font-weight:900;color:var(--nv-navy)}
.cmp-h3{margin:16px 0 8px;font-size:15px;font-weight:900;color:var(--nv-navy);text-transform:uppercase;letter-spacing:.06em}

.cmp-table{width:100%;border-collapse:collapse;font-size:14px}
.cmp-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--nv-muted);padding:8px;border-bottom:2px solid var(--nv-line)}
.cmp-table td{padding:9px 8px;border-bottom:1px solid var(--nv-line);vertical-align:top}
.cmp-table tr:last-child td{border-bottom:0}
.cmp-scroll{overflow-x:auto}

.cmp-prizes{display:grid;grid-template-columns:1fr;gap:10px}
.cmp-prize{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--nv-cream);border:1px solid #f4e2b0}
.cmp-prize .material-symbols-outlined{color:var(--nv-red);font-size:26px}
.cmp-prize b{display:block;color:var(--nv-navy);font-size:15px}
.cmp-prize span{color:var(--nv-muted);font-size:13px}

.cmp-faq details{border:1px solid var(--nv-line);border-radius:14px;padding:12px 14px;background:#fff;margin-bottom:8px}
.cmp-faq summary{cursor:pointer;font-weight:800;color:var(--nv-navy);list-style:none}
.cmp-faq summary::-webkit-details-marker{display:none}
.cmp-faq summary:after{content:"+";float:right;font-weight:900;color:var(--nv-red)}
.cmp-faq details[open] summary:after{content:"–"}
.cmp-faq p{margin:8px 0 0;color:var(--nv-ink);font-size:14px}

/* status strip and my competitions */
.cmp-status{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid var(--nv-line);background:#fff}
.cmp-status b{color:var(--nv-navy)}
.cmp-muted{color:var(--nv-muted);font-size:13px}
.cmp-mono{font-family:ui-monospace,Menlo,monospace;font-size:13px}
.cmp-phase{border:1px solid var(--nv-line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px;background:#fcfbfd}
.cmp-phase-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.cmp-st{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}
.cmp-st-none{background:#f1edf3;color:#77707f}
.cmp-st-submitted{background:#fff4e0;color:#8a5300}
.cmp-st-needs_correction{background:#fdecef;color:#b0203a}
.cmp-st-accepted{background:#e7f6ee;color:#0e7c4a}
.cmp-st-rejected{background:#f6e3e6;color:#8f1a2c}
.cmp-st-qualified{background:#e7f6ee;color:#0e7c4a}
.cmp-st-pending{background:#eef1fb;color:#26408b}
.cmp-st-not_eligible{background:#f6e3e6;color:#8f1a2c}
.cmp-reason{padding:8px 10px;border-radius:10px;background:#fdecef;color:#8f1a2c;font-size:13px}
.cmp-notice{padding:12px 14px;border-radius:14px;font-size:14px}
.cmp-notice-ok{background:#e7f6ee;color:#0b5a37;border:1px solid #bfe5cf}
.cmp-notice-err{background:#fdecef;color:#8f1a2c;border:1px solid #f4c9d2}
.cmp-notice-info{background:var(--nv-cream);color:#6b4a00;border:1px solid #f4e2b0}

/* forms */
.cmp-form{display:flex;flex-direction:column;gap:12px}
.cmp-label{display:block;font-size:13px;font-weight:800;color:var(--nv-navy);margin-bottom:4px}
.cmp-hint{font-size:12px;color:var(--nv-muted);margin-top:4px}
.cmp-input{width:100%;padding:11px 12px;border-radius:12px;border:1.5px solid #d9d2de;font:inherit;font-size:15px;background:#fff;color:var(--nv-ink)}
.cmp-input[readonly]{background:#f6f3f8;color:#55505c}
textarea.cmp-input{min-height:84px;resize:vertical}
.cmp-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--nv-ink)}
.cmp-check input{margin-top:3px;width:18px;height:18px;flex:none}
.cmp-radios{display:grid;gap:8px}
.cmp-radio{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1.5px solid #d9d2de;border-radius:12px;cursor:pointer}
.cmp-radio input{width:18px;height:18px}

/* mobile sticky creator actions */
.cmp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(11,21,48,.96);backdrop-filter:blur(6px);box-shadow:0 -6px 18px rgba(0,0,0,.18)}
.cmp-sticky .cmp-btn{flex:1;padding:11px 8px;font-size:13px}

@media (min-width:640px){
  .cmp-grid4{grid-template-columns:repeat(2,1fr)}
  .cmp-grid2{grid-template-columns:repeat(2,1fr)}
  .cmp-prizes{grid-template-columns:repeat(2,1fr)}
  .cmp-h1{font-size:44px}
  .cmp-hero{padding:36px 32px}
}
@media (min-width:1024px){
  .cmp-wrap{padding:24px 24px 48px}
  .cmp-grid4{grid-template-columns:repeat(4,1fr)}
  .cmp-prizes{grid-template-columns:repeat(3,1fr)}
  .cmp-hero-grid.has-poster{grid-template-columns:1.25fr .75fr}
  .cmp-sticky{display:none}
  .cmp-h1{font-size:54px}
}

/* engine: configured fields and answers */
[hidden]{display:none!important}
.cmp-field{display:flex;flex-direction:column;gap:4px}
.cmp-ans{display:flex;flex-direction:column;gap:2px;font-size:14px;padding:8px 0;border-top:1px solid #eee7f3}
.cmp-ans:first-of-type{border-top:0}
.cmp-ans .cmp-muted{font-size:12px;text-transform:uppercase;letter-spacing:.04em}
