/*
Theme Name: Foolitics
Theme URI: https://foolitics.com/
Author: Foolitics
Description: A bold, responsive political satire and entertainment WordPress theme inspired by the Foolitics brand.
Version: 1.0.0
Requires at least: 6.3
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: foolitics
Tags: blog, news, entertainment, two-columns, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

:root {
  --fool-navy: #06285f;
  --fool-navy-2: #001b46;
  --fool-blue: #0967e8;
  --fool-red: #ef1b24;
  --fool-gold: #ffbf14;
  --fool-purple: #6d28d9;
  --fool-ink: #081a38;
  --fool-muted: #64748b;
  --fool-line: #dbe4ef;
  --fool-bg: #f5f7fb;
  --fool-white: #ffffff;
  --fool-radius: 8px;
  --fool-shadow: 0 10px 30px rgba(6, 40, 95, .10);
  --wrap: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--fool-ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--fool-blue); }
img { max-width: 100%; height: auto; display: block; }
button, input, textarea, select { font: inherit; }

.site-wrap { width: min(calc(100% - 40px), var(--wrap)); margin-inline: auto; }

.top-strip { background: linear-gradient(90deg, #031b49, #06285f); color: #fff; font-size: .85rem; }
.top-strip__inner { min-height: 38px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.trending { display:flex; align-items:center; min-width:0; }
.trending__label { background:var(--fool-red); padding:9px 14px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; margin-right:12px; }
.trending__text { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; opacity:.95; }
.top-socials {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  height: 100%;
}

.top-socials a,
.top-socials button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border-radius: 50%;
  color: #ffffff;
  text-decoration: none;
  font-size: 17px;
  line-height: 1;
  cursor: pointer !important;
  pointer-events: auto !important;
  transition:
          background-color 0.2s ease,
          color 0.2s ease,
          transform 0.2s ease;
}

.top-socials a i,
.top-socials button i {
  pointer-events: none;
}

.top-socials a:hover,
.top-socials button:hover {
  color: #ffffff;
  background-color: rgba(255, 255, 255, 0.16);
  transform: translateY(-2px);
}

.top-socials a:active,
.top-socials button:active {
  transform: translateY(0);
}

.top-socials a:focus-visible,
.top-socials button:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.8);
  outline-offset: 2px;
}

.article-socials {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin: 20px 0;
}

.article-socials a,
.article-socials button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid #d9dee5;
  border-radius: 50%;
  background: #ffffff;
  color: #26364a;
  text-decoration: none;
  font-size: 16px;
  line-height: 1;
  cursor: pointer !important;
  pointer-events: auto !important;
  transition:
          color 0.2s ease,
          background-color 0.2s ease,
          border-color 0.2s ease,
          transform 0.2s ease,
          box-shadow 0.2s ease;
}

.article-socials a i,
.article-socials button i {
  pointer-events: none;
}

.article-socials a:hover,
.article-socials button:hover {
  color: #ffffff;
  background: #26364a;
  border-color: #26364a;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(38, 54, 74, 0.18);
}

.article-socials a:active,
.article-socials button:active {
  transform: translateY(0);
  box-shadow: none;
}

.article-socials a:focus-visible,
.article-socials button:focus-visible {
  outline: 2px solid #26364a;
  outline-offset: 2px;
}

.article-socials::before {
  content: "Share";
  margin-right: 4px;
  color: #5f6b78;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.footer-follow {
  margin-bottom: 28px;
}

.footer-follow h4 {
  margin-bottom: 12px;
}

.footer-socials {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}

.footer-socials a,
.footer-socials button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  background: transparent;
  color: #ffffff;
  text-decoration: none;
  font-size: 15px;
  line-height: 1;
  cursor: pointer !important;
  pointer-events: auto !important;
  transition:
          background-color 0.2s ease,
          border-color 0.2s ease,
          color 0.2s ease,
          transform 0.2s ease;
}

.footer-socials a i,
.footer-socials button i {
  pointer-events: none;
}

.footer-socials a:hover,
.footer-socials button:hover {
  background: #ffffff;
  border-color: #ffffff;
  color: #172a46;
  transform: translateY(-2px);
}

.footer-socials a:active,
.footer-socials button:active {
  transform: translateY(0);
}

.footer-socials a:focus-visible,
.footer-socials button:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

.footer-disclaimer-link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: opacity 0.2s ease;
}

.footer-disclaimer-link:hover,
.footer-disclaimer-link:focus {
    text-decoration: underline;
    opacity: 0.7;
}

/* =========================================================
   Cookie Consent
   ========================================================= */

.cookie-consent {
  position: fixed;
  right: 20px;
  bottom: 20px;
  left: 20px;
  z-index: 99999;
  width: min(calc(100% - 40px), 760px);
  margin-inline: auto;
}

.cookie-consent__inner {
  position: relative;
  overflow: hidden;
  padding: 20px 22px;
  color: var(--fool-white);

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(255, 255, 255, .07) 0 9%,
      transparent 10%
    ),
    linear-gradient(
      135deg,
      var(--fool-navy-2),
      var(--fool-navy)
    );

  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--fool-radius);
  box-shadow: 0 14px 40px rgba(0, 27, 70, .28);
}

/* Foolitics star treatment */
.cookie-consent__inner::after {
  content: "★";
  position: absolute;
  top: -12px;
  right: 18px;
  color: var(--fool-white);
  font-size: 5.4rem;
  line-height: 1;
  opacity: .05;
  transform: rotate(-12deg);
  pointer-events: none;
}

.cookie-consent__text {
  position: relative;
  z-index: 1;
  margin: 0 0 16px;
  color: rgba(255, 255, 255, .9);
  font-size: .9rem;
  line-height: 1.55;
}

.cookie-consent__text a {
  color: var(--fool-gold);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition:
    color .2s ease,
    opacity .2s ease;
}

.cookie-consent__text a:hover,
.cookie-consent__text a:focus {
  color: var(--fool-white);
}

.cookie-consent__actions {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.cookie-consent__button {
  min-height: 42px;
  padding: 0 18px;
  border-radius: 4px;
  font: inherit;
  font-size: .8rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .025em;
  cursor: pointer;

  transition:
    background-color .2s ease,
    border-color .2s ease,
    color .2s ease,
    transform .2s ease;
}

.cookie-consent__button:hover {
  transform: translateY(-1px);
}

.cookie-consent__button:active {
  transform: translateY(0);
}

.cookie-consent__button:focus-visible {
  outline: 2px solid var(--fool-gold);
  outline-offset: 3px;
}

/* Reject */
.cookie-consent__button--secondary {
  color: rgba(255, 255, 255, .92);
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .45);
}

.cookie-consent__button--secondary:hover {
  color: var(--fool-white);
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .75);
}

/* Accept */
.cookie-consent__button--primary {
  color: var(--fool-white);
  background: var(--fool-red);
  border: 1px solid var(--fool-red);
}

.cookie-consent__button--primary:hover {
  color: var(--fool-white);
  background: #d9151d;
  border-color: #d9151d;
}


/* =========================================================
   Cookie settings footer button
   ========================================================= */

.footer-consent-settings {
  padding: 15px 0 0 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, .88);
  font: inherit;
  font-size: .88rem;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  transition:
    color .2s ease,
    opacity .2s ease;
}

.footer-consent-settings:hover,
.footer-consent-settings:focus {
  color: var(--fool-gold);
}

.footer-consent-settings:focus-visible {
  outline: 2px solid var(--fool-gold);
  outline-offset: 3px;
}

/* =========================================================
   Advertisement Slots
   ========================================================= */

.fool-ad {
  width: 100%;
  margin: 28px 0;
  text-align: center;
}

.fool-ad__label {
  margin-bottom: 6px;
  color: var(--fool-muted);
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.fool-ad__unit {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  min-height: 90px;

  background: var(--fool-bg);
  border: 1px solid var(--fool-line);
  border-radius: 4px;
}

.fool-ad--article-top,
.fool-ad--article-bottom {
  margin-block: 24px 32px;
}

.fool-ad--article-inline-1,
.fool-ad--article-inline-2 {
  margin-block: 32px;
}

.fool-ad--sidebar {
  margin: 0 0 24px;
}

.fool-ad--sidebar .fool-ad__unit {
  min-height: 250px;
}

.brand-row { background:#fff; }
.brand-row__inner { min-height: 145px; display:grid; grid-template-columns: 290px 1fr; align-items:center; gap:42px; }
.site-branding img { max-height:110px; width:auto; }
.site-title { font-size:2rem; font-weight:900; margin:0; }
.tagline-banner {
  min-height: 82px;
  color:white;
  border-radius:var(--fool-radius);
  display:flex;
  align-items:center;
  padding: 20px 30px;
  font-size: clamp(1.2rem, 2vw, 1.8rem);
  font-weight: 900;
  background:
    radial-gradient(circle at 85% 15%, rgba(255,255,255,.08) 0 9%, transparent 10%),
    linear-gradient(135deg, var(--fool-navy-2), var(--fool-navy));
  position:relative; overflow:hidden;
}
.tagline-banner::after { content:"★"; position:absolute; right:28px; font-size:4.8rem; opacity:.08; transform:rotate(-12deg); }

.main-nav { background:var(--fool-navy-2); color:#fff; position:sticky; top:0; z-index:30; box-shadow:0 3px 12px rgba(0,0,0,.12); }
.nav-inner { min-height:54px; display:flex; align-items:stretch; }
.home-link { width:58px; display:grid; place-items:center; background:var(--fool-red); font-size:1.1rem; }
.nav-menu { flex:1; display:flex; align-items:stretch; list-style:none; margin:0; padding:0; }
.nav-menu li { display:flex; }
.nav-menu a { display:flex; align-items:center; padding:0 19px; color:#fff; font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.02em; }
.nav-menu a:hover { background:rgba(255,255,255,.07); color:#fff; }
.subscribe-link { display:flex; align-items:center; padding:0 24px; background:var(--fool-red); color:#fff; font-weight:900; text-transform:uppercase; font-size:.82rem; }
.menu-toggle { display:none; margin-left:auto; border:0; background:transparent; color:white; font-size:1.4rem; padding:0 16px; }

.site-main { background:#fff; }
.home-shell { padding: 22px 0 36px; }.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .95fr);
  gap: 12px;
}

.hero-main,
.hero-mini {
  position: relative;
  overflow: visible;
  border-radius: var(--fool-radius);
  background: #0b2f63;
  color: white;
}

.hero-mini > .kicker {
  position: absolute;
  top: -8px;
  right: -4px;
  z-index: 5;
  margin: 0;
  /*padding: 4px 10px;*/
  /*font-size: .64rem;*/
  /*line-height: 1;*/
  border-radius: var(--fool-radius);
}

/* Reduced from 510px */
.hero-main {
  min-height: 400px;
}

.hero-main img {
/*  width: 100%;
  max-width: 760px;
  max-height: 400px;
  height: 400px;
  object-fit: cover; */
  border-radius: var(--fool-radius);
}

.hero-mini img {
  width: 100%;
/*  max-width: 360px;*/
  max-height: 200px;
/*  height: 126px;*/
  object-fit: fill;
  border-radius: var(--fool-radius);
}

.hero-side {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  gap: 15px;
}

/* Reduced from 163px */
.hero-mini {
  min-height: 126px;
}

.hero-mini__grid {
  height: 100%;
  display: grid;
  grid-template-columns: 46% 1fr;
}

.hero-mini__image {
  min-height: 126px;
}

.hero-copy {
/* position: absolute;*/
  z-index: 2;
/*  left: 22px;
  right: 22px; */
  bottom: 10px;
}

/* Also slightly reduce the oversized headline */
.hero-title {
/*  font-size: clamp(1.9rem, 3.3vw, 3.5rem); */
  line-height: 1;
  margin: 0 0 8px;
  font-weight: 950;
  max-width: 760px;
/*  letter-spacing: -.035em;*/
  padding: 15px;
}

.hero-deck {
  font-size: .98rem;
  max-width: 680px;
  margin: 0 0 8px;
  color: rgba(255,255,255,.95);
}

.hero-mini__copy {
  /*position: relative;*/
  z-index: 2;
  align-self: center;
  /*padding: 14px;*/
  padding-left: 14px;
  padding-right: 14px;
}

.hero-mini__title {
  font-size: 1rem;
  line-height: 1.18;
  margin: 5px 0 10px;
  font-weight: 900;
}

.hero-top-story {
	padding: 20px;
}

.kicker { display:inline-block; background:var(--fool-red); color:#fff; padding:6px 10px; border-radius:3px; text-transform:uppercase; font-weight:900; font-size:.72rem; margin-bottom:10px; }
.kicker.blue { background:var(--fool-blue); }
.kicker.purple { background:var(--fool-purple); }
.kicker.gold { background:var(--fool-gold); color:#071a38; }
/*.post-meta { display:flex; flex-wrap:wrap; gap:14px; align-items:center; font-size:.78rem; color:var(--fool-muted); }*/
.post-meta { display:flex; flex-wrap:wrap; gap:14px; align-items:center; font-size:.78rem; }
.content-grid { display:grid; grid-template-columns:minmax(0, 1.6fr) minmax(300px, .8fr); gap:28px; margin-top:26px; }
.section-title { display:flex; align-items:center; gap:10px; font-size:1.05rem; text-transform:uppercase; letter-spacing:.02em; margin:0 0 16px; padding-bottom:10px; border-bottom:2px solid var(--fool-line); font-weight:950; }
.section-title::before { content:"★"; color:var(--fool-red); }
.section-title.blue::before { color:var(--fool-blue); }
.section-title span { position:relative; }
.section-title span::after { content:""; position:absolute; left:0; bottom:-12px; height:3px; width:112px; background:var(--fool-red); }
.posts-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.post-card { border:1px solid var(--fool-line); border-radius:5px; overflow:hidden; background:#fff; transition:.2s ease; }
.post-card:hover { transform:translateY(-3px); box-shadow:var(--fool-shadow); }
.post-card__image { aspect-ratio: 4 / 2.6; background:linear-gradient(135deg,#d8e5f7,#edf3fb); overflow:hidden; }
.post-card__image img { width:100%; height:100%; object-fit:cover; }
.post-card__body { padding:14px; }
.post-card__title { margin:3px 0 8px; font-size:1rem; line-height:1.25; font-weight:900; }
.post-card__excerpt { margin:0 0 16px; font-size:.86rem; color:#3f4e63; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 20px; border:0; border-radius:4px; font-weight:900; text-transform:uppercase; letter-spacing:.02em; cursor:pointer; }
.btn-primary { background:var(--fool-blue); color:white; }
.btn-primary:hover { color:white; filter:brightness(.94); }
.load-more { display:flex; justify-content:center; margin-top:24px; }

.sidebar-box { padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--fool-line); }
.newsletter-box { position:relative; overflow:hidden; padding:18px; border:1px solid var(--fool-line); background:#fff; }
.newsletter-box h3 { margin:0 0 8px; font-size:1rem; text-transform:uppercase; }
.newsletter-box p { font-size:.88rem; color:#3f4e63; }
.newsletter-form { display:grid; grid-template-columns:1fr auto; gap:8px; }
.newsletter-form input { min-width:0; padding:12px 13px; border:1px solid var(--fool-line); border-radius:4px; }
.newsletter-form button { border:0; border-radius:4px; padding:0 16px; background:var(--fool-red); color:#fff; font-weight:900; text-transform:uppercase; }
.popular-list { display:grid; gap:12px; }
.popular-item { display:grid; grid-template-columns:84px 1fr; gap:10px; align-items:center; }
.popular-thumb { aspect-ratio: 1.35; background:#e8eef6; border-radius:3px; overflow:hidden; }
.popular-thumb img { width:100%; height:100%; object-fit:cover; }
.popular-item h4 { margin:0; font-size:.9rem; line-height:1.2; }
.popular-item small { color:var(--fool-muted); }

.site-cta { margin:30px auto 22px; background:linear-gradient(135deg,var(--fool-navy-2),var(--fool-navy)); color:white; border-radius:var(--fool-radius); padding:20px 26px; display:grid; grid-template-columns:1.1fr 1fr; gap:22px; align-items:center; }
.site-cta h2 { margin:0; font-size:1.45rem; }
.site-cta p { margin:5px 0 0; color:rgba(255,255,255,.86); font-size:.9rem; }
.site-cta form { display:grid; grid-template-columns:1fr auto; }
.site-cta input { border:0; padding:13px 14px; border-radius:4px 0 0 4px; }
.site-cta button { border:0; background:var(--fool-gold); color:#0b1d39; padding:0 22px; font-weight:950; text-transform:uppercase; border-radius:0 4px 4px 0; }

.site-footer { background:linear-gradient(180deg,#03245a,#00163c); color:white; }
/*.footer-grid { display:grid; grid-template-columns:1.15fr .75fr .75fr 1.1fr; gap:35px; padding:34px 0 24px; }*/
.footer-grid { display:grid; grid-template-columns:.35fr .75fr .75fr 1.1fr; gap:35px; padding:34px 0 24px; }
.footer-logo img { max-height:90px; width:auto; margin-bottom:8px; }
.footer-grid h4 { color:var(--fool-gold); text-transform:uppercase; font-size:.8rem; margin:0 0 12px; }
.footer-grid ul { list-style:none; margin:0; padding:0; }
.footer-grid li { margin:6px 0; }
.footer-grid a { color:rgba(255,255,255,.88); font-size:.88rem; }
.footer-grid p { color:rgba(255,255,255,.84); font-size:.86rem; margin:0; }
.copyright { border-top:1px solid rgba(255,255,255,.12); text-align:center; padding:12px 0 18px; font-size:.78rem; color:rgba(255,255,255,.78); }

/*.page-shell { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:34px; padding:34px 0 50px; }*/
.page-shell { display:grid; grid-template-columns:minmax(0, 1.6fr) minmax(300px, .8fr); gap:28px; margin-top:26px; }
.entry-header { margin-bottom:20px; }
/*.entry-title { font-size:clamp(2rem,4vw,3.6rem); line-height:1.05; margin:0 0 14px; letter-spacing:-.03em; }*/
.entry-title { font-size:clamp(2rem,4vw,2rem); line-height:1.05; margin:0 0 14px; letter-spacing:-.03em; }
.entry-content { font-size:1.02rem; }
.entry-content > * { max-width:760px; }
.entry-content img, .entry-content .wp-block-image { max-width:100%; }
.entry-content h2, .entry-content h3 { line-height:1.2; }
.archive-title { font-size:2rem; margin:0 0 20px; }
.archive-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.pagination { margin-top:28px; }
.pagination .nav-links { display:flex; gap:8px; flex-wrap:wrap; }
.pagination a, .pagination span { display:inline-grid; place-items:center; min-width:38px; min-height:38px; padding:0 10px; border:1px solid var(--fool-line); border-radius:4px; }
.pagination .current { background:var(--fool-navy); color:white; border-color:var(--fool-navy); }
.widget { margin-bottom:22px; }
.widget-title { font-size:1rem; text-transform:uppercase; padding-bottom:8px; border-bottom:2px solid var(--fool-line); }
.widget ul { padding-left:18px; }
.search-form { display:flex; }
.search-form label { flex:1; }
.search-field { width:100%; min-height:42px; border:1px solid var(--fool-line); padding:0 12px; }
.search-submit { border:0; background:var(--fool-blue); color:white; padding:0 14px; font-weight:800; }

.comment-list { list-style:none; padding:0; }
.comment-body { border-bottom:1px solid var(--fool-line); padding:18px 0; }
.comment-meta { font-size:.85rem; color:var(--fool-muted); }
.comment-form input:not([type=submit]), .comment-form textarea { width:100%; border:1px solid var(--fool-line); border-radius:4px; padding:11px; }
.comment-form .submit { background:var(--fool-blue); color:#fff; border:0; border-radius:4px; padding:11px 18px; font-weight:900; }

.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* =========================================================
   Copy Link Toast
   ========================================================= */

.foolitics-copy-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  z-index: 999999;

  display: flex;
  align-items: center;
  gap: 9px;

  max-width: calc(100% - 32px);
  padding: 11px 16px;

  color: #ffffff;
  background: var(--fool-navy-2);

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 6px;

  box-shadow: 0 10px 30px rgba(0, 27, 70, 0.28);

  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.3;

  opacity: 0;
  visibility: hidden;

  transform: translate(-50%, 12px);

  pointer-events: none;

  transition:
    opacity 0.2s ease,
    transform 0.2s ease,
    visibility 0.2s ease;
}

.foolitics-copy-toast.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.foolitics-copy-toast i {
  color: var(--fool-gold);
}


/* Optional success state for the Copy Link icon */
.foolitics-copy-link.is-copied {
  background: var(--fool-blue);
  border-color: var(--fool-blue);
  color: #ffffff;
}

@media (max-width: 980px) {
  .brand-row__inner { grid-template-columns:220px 1fr; min-height:120px; gap:24px; }
  .nav-menu { display:none; position:absolute; top:100%; left:0; right:0; background:var(--fool-navy-2); flex-direction:column; padding:8px 0; }
  .nav-menu.is-open { display:flex; }
  .nav-menu li { display:block; }
  .nav-menu a { padding:12px 22px; }
  .menu-toggle { display:block; }
  .subscribe-link { margin-left:auto; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-main { min-height: 380px; }
  .hero-side { grid-template-columns: repeat(3, 1fr); grid-template-rows: none; }
  .hero-mini { min-height: 180px; }
  .hero-mini__grid { grid-template-columns: 1fr; }
  .hero-mini__image { min-height: 180px; }
  .hero-mini__copy { /*position: absolute;*/ left: 0; right: 0; bottom: 0; }
  .content-grid, .page-shell { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 720px) {
  .site-wrap { width:min(calc(100% - 24px),var(--wrap)); }
  .top-socials { display:none; }
  .brand-row__inner { grid-template-columns:1fr; padding:18px 0; min-height:0; }
  .site-branding img { max-height:84px; margin:auto; }
  .tagline-banner { min-height:68px; font-size:1.1rem; padding:16px 18px; }
  .subscribe-link { display:none; }
  .hero-main { min-height: 330px; }
  .hero-deck { font-size: .9rem; }
  .hero-copy { left: 18px; right: 18px; bottom: 18px; }
  .hero-title { font-size: clamp(1.8rem, 8vw, 2.35rem); }
  .hero-side { grid-template-columns: 1fr; }
  .hero-mini { min-height: 160px; }
  .hero-mini__image { min-height: 160px; }
  .posts-grid, .archive-grid { grid-template-columns:1fr; }
  .site-cta { grid-template-columns:1fr; }
  .site-cta form, .newsletter-form { grid-template-columns:1fr; gap:8px; }
  .site-cta input, .site-cta button { border-radius:4px; min-height:44px; }
  .footer-grid { grid-template-columns:1fr; }
}

@media (max-width: 720px) {
  .fool-ad {
    margin: 24px 0;
  }

  .fool-ad__unit {
    min-height: 100px;
  }
}

/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 600px) {
  .cookie-consent {
    right: 12px;
    bottom: 12px;
    left: 12px;
    width: auto;
  }

  .cookie-consent__inner {
    padding: 18px;
  }

  .cookie-consent__text {
    font-size: .86rem;
  }

  .cookie-consent__actions {
    flex-direction: column-reverse;
  }

  .cookie-consent__button {
    width: 100%;
  }
}

.fool-ad__unit::before {
  content: "Ad placement";
  color: var(--fool-muted);
  font-size: .8rem;
}

/* Mobile toast */
.foolitics-copy-toast {
  bottom: 18px;
  padding: 10px 14px;
  font-size: 0.8rem;
}
