/*
Theme Name: Trumped World Final
Theme URI: https://trumped.world
Author: OpenAI
Description: Updated front-page and logo-ready theme for Trumped World.
Version: 10.2.0
Text Domain: trumped-world
*/
:root{
  --red:#b22234;
  --blue:#3c3b6e;
  --ink:#1f2430;
  --muted:#697388;
  --card:rgba(255,255,255,0.96);
  --line:#d8ddea;
  --soft:#f5f7fb;
  --shadow:0 10px 28px rgba(20,26,40,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  line-height:1.55;
  font-family:'Fredoka',sans-serif;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.42), transparent 20%),
    radial-gradient(circle at 80% 10%, rgba(255,255,255,.26), transparent 18%),
    linear-gradient(135deg, var(--red) 0%, #f8f8fb 48%, var(--blue) 100%);
}
a{color:var(--blue)}
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(216,221,234,.85);
}
.site-header__inner{
  max-width:1120px;
  margin:0 auto;
  padding:12px 22px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.site-brand{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}
.custom-logo-link, .custom-logo-link img{
  display:block;
}
.custom-logo{
  max-height:68px;
  width:auto;
}
.site-brand__fallback,
.hero-logo-fallback{
  font-size:clamp(2rem,5vw,3.2rem);
  font-weight:700;
  color:var(--blue);
  letter-spacing:.01em;
}
.site-wrap{max-width:1120px;margin:0 auto;padding:22px}
.section{
  background:var(--card);
  margin:18px 0;
  padding:24px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.65);
  box-shadow:var(--shadow);
}
.center{text-align:center}
.hero-panel{
  padding-top:34px;
  padding-bottom:34px;
}
.hero-logo-wrap{
  display:flex;
  justify-content:center;
  margin-bottom:10px;
}
.hero-logo-wrap .custom-logo{
  max-height:120px;
}
.hero-kicker{
  margin:.1rem 0 .65rem;
  color:var(--muted);
  font-size:1rem;
}
.hero-title{
  font-size:clamp(2.8rem,8vw,5.1rem);
  line-height:1;
  margin:0 0 8px;
}
.hero-tag{
  font-size:clamp(1.25rem,3vw,1.85rem);
  margin:.2rem 0 .5rem;
}
.hero-intro{
  max-width:760px;
  margin:0 auto 10px;
  color:var(--muted);
}
.button,button,input[type=submit]{
  display:inline-block;
  padding:12px 18px;
  background:var(--blue);
  color:#fff;
  text-decoration:none;
  border:none;
  border-radius:12px;
  margin:6px;
  font-weight:700;
  cursor:pointer;
  font-family:inherit;
  box-shadow:0 6px 16px rgba(60,59,110,.18);
}
.button.alt{background:var(--red)}
.tw-list{max-width:820px;margin:0 auto;padding-left:20px}
.tw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.tw-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 18px rgba(17,24,39,.06)}
.tw-card.featured{border:2px solid rgba(178,34,52,.25);box-shadow:0 12px 24px rgba(17,24,39,.09)}
.tw-media{display:block;width:100%;aspect-ratio:16/10;background:#eef2f9;object-fit:cover}
.tw-card-body{padding:16px}
.tw-meta{color:var(--muted);font-size:.92rem}
.tw-title{font-size:1.2rem;margin:0 0 8px}
.tw-form{max-width:760px;margin:0 auto}
.tw-form label{display:block;margin:14px 0 6px;font-weight:700}
.tw-form input[type=text],.tw-form input[type=email],.tw-form textarea,.tw-form select,.tw-form input[type=file]{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  font:inherit;
}
.tw-form textarea{min-height:120px;resize:vertical}
.tw-small{font-size:.92rem;color:var(--muted);margin-top:10px}
.tw-message,.tw-warning{max-width:760px;margin:0 auto 16px;padding:14px 16px;border-radius:12px}
.tw-message{background:#edf8f0;color:#155b35;border:1px solid #ccebd7}
.tw-warning{background:#fff4e8;color:#8b4b0b;border:1px solid #f2d2ab}
.tw-vote-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.tw-vote-btn{background:var(--blue);color:#fff;border:none;border-radius:999px;padding:10px 14px;cursor:pointer;font-weight:700}
.tw-vote-btn[disabled]{opacity:.65;cursor:not-allowed}
.tw-badge{display:inline-block;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.85rem}
.tw-video-wrap{width:100%;aspect-ratio:16/9;background:#111;overflow:hidden}
.tw-video-wrap iframe,.tw-video-wrap video,.tw-video-wrap embed,.tw-video-wrap object{width:100%;height:100%;border:0;display:block}
.tw-video-fallback{width:100%;min-height:120px;background:#eef2f9;display:flex;align-items:center;justify-content:center;padding:14px;text-align:center}
.tw-empty{text-align:center;padding:24px;border:2px dashed var(--line);border-radius:16px;background:#fff}
.tw-section-lead{max-width:760px;margin:0 auto}
.tw-latest-callout{
  display:inline-block;
  background:var(--red);
  color:#fff;
  padding:8px 14px;
  border-radius:999px;
  font-size:.9rem;
  font-weight:700;
  letter-spacing:.02em;
  margin-bottom:8px;
}
.tw-latest-section{border:2px solid rgba(60,59,110,.14);box-shadow:0 14px 30px rgba(20,26,40,.12)}
.tw-latest-section h2{font-size:clamp(1.8rem,4vw,2.4rem)}
footer.site-footer{text-align:center;padding:26px 16px 40px;color:#fff}
.footer-links{margin:10px 0 0}
.footer-links a{color:#fff;text-decoration:none;font-weight:600}
.footer-links a:hover{text-decoration:underline}
.footer-note{max-width:760px;margin:8px auto 0;opacity:.95}
@media (max-width:640px){
  .site-wrap{padding:14px}
  .site-header__inner{padding:10px 14px}
  .section{padding:18px}
  .custom-logo{max-height:54px}
}

.hero-panel{padding-top:26px;padding-bottom:26px;}
.hero-title{margin-top:0;}
