/*
Theme Name: megaeu
Theme URI: https://megaeu.com
Description: Single-page theme for Make Europe Great Again (megaeu.com). No page builder, no framework, no external requests on load. Everything that changes lives in inc/config.php.
Author: Posi TV Oy
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: All rights reserved
Text Domain: megaeu
*/

  :root{
    --bg:#0a0a0c;
    --surface:#141418;
    --surface2:#1b1b20;
    --text:#f4f1ec;
    --muted:#98938b;
    --pink:#EB297A;
    --gold:#F2BE18;
    --gold-btn:#EDB512;
    --gold-btn-h:#FFCB2E;
    --gold-ink:#14100A;
    --line:rgba(255,255,255,.11);
    --wrap:1080px;
    --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    --serif:Georgia,"Iowan Old Style","Times New Roman",serif;
  }
  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{margin:0;background:var(--bg);color:var(--text);
    font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
  img{max-width:100%;display:block}
  a{color:inherit}
  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
  .eyebrow{font-size:11.5px;letter-spacing:.20em;text-transform:uppercase;
    color:var(--muted);font-weight:600;margin:0 0 14px}
  h2{font-size:clamp(20px,2.4vw,25px);line-height:1.25;margin:0 0 6px;
    letter-spacing:-.01em;font-weight:650}
  section{padding:78px 0;border-top:1px solid var(--line)}

  /* full-bleed still behind a section, dimmed to a texture */
  .bg{position:relative;overflow:hidden;border-top:0}
  .bg::before{content:"";position:absolute;inset:0;
    background-size:cover;background-position:center;opacity:.34}
  .bg::after{content:"";position:absolute;inset:0;background:
    linear-gradient(180deg,var(--bg) 0%,rgba(10,10,12,.68) 18%,
                    rgba(10,10,12,.68) 82%,var(--bg) 100%)}
  .bg > .wrap{position:relative;z-index:1}
  .bg-ferry::before{background-image:url(assets/img/bg-ferry-1400.jpg);background-position:center 62%}
  .bg-flag::before {background-image:url(assets/img/bg-flag-1400.jpg)}
  .bg-party::before{background-image:url(assets/img/bg-party-1400.jpg);background-position:center 34%;opacity:.19}
  .bg-party::after{background:
    linear-gradient(180deg,var(--bg) 0%,rgba(10,10,12,.78) 20%,
                    rgba(10,10,12,.80) 80%,var(--bg) 100%)}
  @media (prefers-reduced-motion:no-preference){
    .bg::before{transition:opacity .4s}
  }

  /* ---------------- hero ---------------- */
  .hero{position:relative;min-height:min(90vh,780px);display:flex;align-items:flex-end;overflow:hidden}
  .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 40%}
  .hero-scrim{position:absolute;inset:0;background:
    linear-gradient(90deg,rgba(10,10,12,.80) 0%,rgba(10,10,12,.42) 46%,rgba(10,10,12,0) 78%),
    linear-gradient(180deg,rgba(10,10,12,.50) 0%,rgba(10,10,12,.10) 34%,rgba(10,10,12,.82) 84%,var(--bg) 100%)}
  .hero-inner{position:relative;width:100%;padding:0 0 56px}
  .mark{display:flex;align-items:center;gap:15px;margin-bottom:22px}
  .mark i{display:block;height:2px;width:34px;background:var(--pink);flex:none}
  .mark span{font-size:12px;letter-spacing:.26em;text-transform:uppercase;
    color:#f2ece2;font-weight:600;text-shadow:0 1px 10px rgba(0,0,0,.85)}
  h1{margin:0 0 22px;font-weight:700;letter-spacing:.045em;line-height:1.04;
    font-size:clamp(31px,5.3vw,60px);text-transform:uppercase;max-width:13ch;
    color:#fff;text-shadow:0 2px 26px rgba(0,0,0,.55);padding-bottom:22px;
    border-bottom:1px solid rgba(255,255,255,.34)}
  .tagline{font-family:var(--serif);font-style:italic;font-size:clamp(17px,2.3vw,25px);
    line-height:1.38;margin:0 0 26px;color:#ece6db}
  @media (min-width:560px){ .tagline{white-space:nowrap} }
  .hero-meta{display:flex;flex-wrap:wrap;gap:9px 24px;font-size:12.5px;
    letter-spacing:.14em;text-transform:uppercase;color:#a9a29a;font-weight:600}
  .hero-meta .free{color:var(--pink)}
  .laurels{display:flex;gap:26px;align-items:center;margin-top:28px}
  .laurels img{height:64px;width:auto;opacity:.94;transition:opacity .18s,transform .18s}
  .laurels a{display:block;text-decoration:none}
  .laurels a:hover img{opacity:1;transform:scale(1.045)}
  .laurels a:focus-visible{outline:2px solid var(--gold);outline-offset:6px;border-radius:2px}

  /* ---------------- film ---------------- */
  .film-sec{padding-top:0;border-top:0}
  .player{position:relative;aspect-ratio:16/9;background:#000;border:1px solid var(--line);
    border-radius:4px;overflow:hidden;cursor:pointer}
  .player img{width:100%;height:100%;object-fit:cover;opacity:.62;transition:opacity .25s}
  .player:hover img{opacity:.74}
  .player-ui{position:absolute;inset:0;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:14px}
  .play{width:78px;height:78px;border-radius:50%;background:rgba(10,10,12,.42);
    border:2px solid rgba(255,255,255,.82);display:flex;align-items:center;justify-content:center;
    transition:background .2s,transform .2s;backdrop-filter:blur(2px)}
  .player:hover .play{background:var(--gold-btn);border-color:var(--gold-btn);transform:scale(1.05)}
  .play svg{width:27px;height:27px;margin-left:4px;fill:#fff;transition:fill .2s}
  .player:hover .play svg{fill:var(--gold-ink)}
  .player-ui .cap{font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;
    color:#ded8ce;font-weight:600;text-shadow:0 1px 12px rgba(0,0,0,.8)}
  /* pre-launch: no play button, the date carries the frame */
  .player-ui.is-locked{background:rgba(10,10,12,.55)}
  .player-ui.is-locked .cap{font-size:15px;letter-spacing:.18em;color:var(--gold);
    border:1px solid rgba(242,190,24,.42);border-radius:3px;padding:13px 22px;
    background:rgba(10,10,12,.5)}
  .player:has(.is-locked){cursor:default}
  .duo .player-ui.is-locked .cap{font-size:12.5px;padding:10px 16px}
  .runtime{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
    margin-top:14px;font-size:13px;color:var(--muted)}

  /* ---------------- two-button block ---------------- */
  .offer{border-top:0;padding-top:46px}
  .offer-lead{font-size:18px;color:#ded8ce;margin:0 0 24px;max-width:56ch}
  .offer-lead b{color:var(--text);font-weight:650}
  .event{margin:0 0 26px;padding:20px 22px;border-left:3px solid var(--gold);
    background:var(--surface);border-radius:0 3px 3px 0;max-width:56ch}
  .event-when{margin:0;font-size:16.5px;color:var(--text);
    display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}
  .event-when b{font-weight:700}
  .event-when span{font-size:13.5px;color:var(--muted)}
  .event-list{list-style:none;margin:13px 0 0;padding:0;display:grid;gap:7px}
  .event-list li{font-size:14.5px;color:#ded8ce;padding-left:17px;position:relative;line-height:1.45}
  .event-list li::before{content:"";position:absolute;left:0;top:.62em;
    width:6px;height:6px;border-radius:50%;background:var(--gold)}
  .event-note{margin:14px 0 0;font-size:13px;color:var(--muted);line-height:1.5}
  .btn-note.terms{margin-top:7px;opacity:.82}
  .buttons{display:flex;gap:14px;flex-wrap:wrap}
  .btn{display:inline-block;font:600 16.5px/1 var(--sans);padding:20px 32px;border-radius:3px;
    border:1px solid transparent;cursor:pointer;text-align:center;text-decoration:none;
    transition:background .16s,border-color .16s,transform .12s}
  a.btn:focus-visible,button.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
  .btn:active{transform:translateY(1px)}
  .btn-primary{background:var(--gold-btn);color:var(--gold-ink);border-color:var(--gold-btn);font-weight:700}
  .btn-primary:hover{background:var(--gold-btn-h);border-color:var(--gold-btn-h)}
  .btn-secondary{background:transparent;color:var(--text);border-color:rgba(255,255,255,.36)}
  .btn-secondary:hover{border-color:var(--text);background:rgba(255,255,255,.05)}
  .btn-note{font-size:13.5px;color:var(--muted);margin-top:15px}
  .signup{margin-top:24px;max-width:520px;display:none}
  .signup.open{display:block}
  .field{width:100%;padding:16px;background:var(--surface);color:var(--text);
    border:1px solid rgba(255,255,255,.22);border-radius:3px;font:400 16px var(--sans)}
  .field:focus{outline:2px solid var(--pink);outline-offset:1px;border-color:transparent}
  .field::placeholder{color:#7c766d}
  .consent{display:flex;gap:11px;align-items:flex-start;margin:14px 0 16px;
    font-size:13.5px;color:var(--muted);line-height:1.5}
  .consent input{margin-top:3px;flex:none;accent-color:var(--pink)}

  /* ---------------- credits ---------------- */
  .count{font-size:clamp(40px,6.4vw,64px);font-weight:800;letter-spacing:-.03em;
    line-height:1;color:var(--gold);margin:0 0 5px}
  .count-label{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
    color:var(--muted);font-weight:600;margin:0 0 30px}
  .names{columns:4 150px;column-gap:26px;font-size:14.5px;color:#cec8bd;
    border-top:1px solid var(--line);padding-top:22px}
  .names span{display:block;padding:3.5px 0;break-inside:avoid}

  /* ---------------- duo ---------------- */
  .duo{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .duo h3{font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;
    color:var(--muted);margin:0 0 11px;font-weight:600}
  .alt{margin:9px 0 0;font-size:12.5px;color:var(--muted)}
  .alt a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
  .alt a:hover{color:var(--gold)}
  .duo .play{width:58px;height:58px}
  .duo .play svg{width:20px;height:20px}
  .player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
  .player:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

  /* ---------------- press kit ---------------- */
  .kit{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:11px;margin-top:26px}
  .kit a{display:flex;justify-content:space-between;align-items:center;gap:12px;
    padding:16px 18px;background:var(--surface);border:1px solid var(--line);
    border-radius:3px;text-decoration:none;font-size:14.5px;transition:border-color .15s,background .15s}
  .kit a:hover{border-color:var(--pink);background:var(--surface2)}
  .kit .sz{font:500 11px ui-monospace,Menlo,monospace;color:var(--muted)}

  /* ---------------- featured ---------------- */
  .band{padding:46px 0;border-top:1px solid var(--line)}
  .logostrip{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:18px 0 0}
  .logostrip span{display:flex;align-items:center;justify-content:center;
    background:#f4f3f0;border-radius:3px;padding:12px 20px;min-width:112px}
  .logostrip img{height:24px;width:auto}
  .logostrip .tall img{height:30px}
  .logostrip .xtall img{height:42px}
  .press-list{display:grid;gap:0;margin-top:26px;border-top:1px solid var(--line)}
  .press-list a{display:grid;grid-template-columns:190px 1fr auto;gap:20px;align-items:baseline;
    padding:18px 4px;border-bottom:1px solid var(--line);text-decoration:none;
    transition:background .15s,padding .15s}
  .press-list a:hover{background:rgba(255,255,255,.035);padding-left:12px}
  .press-list .outlet{font-weight:650;font-size:15px;color:var(--text)}
  .press-list .what{font-size:15px;color:#b6b0a5;line-height:1.5}
  .press-list .yr{font:500 12px ui-monospace,Menlo,monospace;color:var(--muted);white-space:nowrap}
  .press-list .trans{display:block;margin-top:5px;font-size:13.5px;line-height:1.45;
    color:#8b857c}
  .press-list a:hover .outlet{color:var(--gold)}
  .press-list .dead{display:grid;grid-template-columns:190px 1fr auto;gap:20px;align-items:baseline;
    padding:18px 4px;border-bottom:1px solid var(--line);opacity:.72}
  .press-list .dead .yr{font-style:normal}

  .elsewhere{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
  .elsewhere a{display:flex;align-items:center;gap:13px;padding:14px 20px 14px 16px;
    background:var(--surface);border:1px solid var(--line);border-radius:3px;
    text-decoration:none;font-size:14.5px;font-weight:600;
    transition:border-color .15s,background .15s,transform .12s}
  .elsewhere a:hover{border-color:rgba(255,255,255,.4);background:var(--surface2);transform:translateY(-1px)}
  .elsewhere img{height:26px;width:auto;border-radius:2px}
  .elsewhere span{color:#cdc7bc}

  /* ---------------- contact ---------------- */
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;max-width:660px}
  .form-grid .full{grid-column:1/-1}
  textarea.field{min-height:132px;resize:vertical;font-family:var(--sans)}

  /* ---------------- footer ---------------- */
  footer{background:#08080a;padding:66px 0 40px;border-top:1px solid var(--line);
    font-size:14px;color:var(--muted)}
  .memoriam{display:flex;gap:24px;align-items:center;margin:0 0 46px;
    padding-bottom:44px;border-bottom:1px solid var(--line)}
  .memoriam img{width:104px;height:104px;object-fit:cover;border-radius:50%;
    filter:grayscale(1);flex:none}
  .memoriam .mtxt{font-family:var(--serif);font-style:italic;color:#e0dad0;
    font-size:17px;line-height:1.5;max-width:40ch}
  .memoriam b{display:block;font-style:normal;font-family:var(--sans);font-size:11.5px;
    letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
    margin-bottom:8px;font-weight:600}
  .cred{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:32px;margin-bottom:40px}
  .cred h4{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
    color:#6f6a62;margin:0 0 11px;font-weight:600}
  .cred p{margin:0;line-height:1.75;color:#b4aea3}
  .rel-logos{display:flex;align-items:center;gap:22px;margin:0 0 16px}
  .rel-logos img{height:50px;width:auto}
  .rel-logos img:first-child{height:38px}
  .legalbar{border-top:1px solid var(--line);padding-top:22px;display:flex;
    flex-wrap:wrap;gap:10px 26px;font-size:12.5px}

  /* ---------------- notes ---------------- */
  .notes{background:#fbfbfa;color:#1a1a1a;padding:54px 0}
  .notes h3{margin:0 0 16px;font-size:19px}
  .notes ul{margin:0;padding-left:20px}
  .notes li{margin-bottom:10px;line-height:1.55}
  .notes code{background:#ececec;padding:1.5px 5px;border-radius:3px;font-size:13px}

  @media (max-width:820px){
    .press-list a{grid-template-columns:1fr auto;gap:4px 16px}
    .press-list .outlet{grid-column:1}
    .press-list .yr{grid-column:2;grid-row:1}
    .press-list .what{grid-column:1/-1}
  }
  @media (max-width:720px){
    section{padding:56px 0}
    .duo,.form-grid{grid-template-columns:1fr}
    .names{columns:2 130px}
    .btn{width:100%}
    .laurels img{height:50px}
    .memoriam{flex-direction:column;align-items:flex-start;gap:18px}
  }


/* ---------------- narrow screens get the small backgrounds ---------------- */
@media (max-width:820px){
  .bg-ferry::before{background-image:url(assets/img/bg-ferry-800.jpg)}
  .bg-flag::before {background-image:url(assets/img/bg-flag-800.jpg)}
  .bg-party::before{background-image:url(assets/img/bg-party-800.jpg)}
}

/* ---------------- Contact Form 7, wearing the page's clothes ---------------- */
.wpcf7 form .wpcf7-response-output{
  margin:16px 0 0;padding:13px 16px;border:1px solid var(--line);
  border-radius:3px;font-size:14.5px;background:var(--surface)}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--gold);color:var(--gold)}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{border-color:var(--pink);color:var(--pink)}
.wpcf7-not-valid-tip{color:var(--pink);font-size:13px;margin-top:6px}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 textarea{
  width:100%;padding:16px;background:var(--surface);color:var(--text);
  border:1px solid rgba(255,255,255,.22);border-radius:3px;
  font:400 16px var(--sans)}
.wpcf7 textarea{min-height:132px;resize:vertical}
.wpcf7 input[type=submit]{
  display:inline-block;font:700 16.5px/1 var(--sans);padding:20px 32px;
  border-radius:3px;border:1px solid var(--gold-btn);cursor:pointer;
  background:var(--gold-btn);color:var(--gold-ink)}
.wpcf7 input[type=submit]:hover{background:var(--gold-btn-h);border-color:var(--gold-btn-h)}
.wpcf7 .wpcf7-list-item{margin:0}
.wpcf7 .wpcf7-acceptance .wpcf7-list-item-label{
  font-size:13.5px;color:var(--muted);line-height:1.5}
.wpcf7-spinner{background-color:var(--gold)}
