/* =========================================================
   TSO Homepage Framework v3.0.1
   Premium blue/gold homepage design system
   ========================================================= */

html body .tso-hpf{
  --tso-navy:#071d33;
  --tso-deep:#031426;
  --tso-blue:#002366;
  --tso-royal:#003087;
  --tso-gold:#FFD700;
  --tso-gold-soft:#fff1a8;
  --tso-red:#cc0000;
  --tso-cream:#fff8dc;
  --tso-text:#1f2a44;
  --tso-muted:#b9c7da;
  font-family:Arial,Helvetica,sans-serif;
  color:#fff;
  background:
    radial-gradient(circle at 12% 0%,rgba(255,215,0,.08),transparent 23%),
    radial-gradient(circle at 90% 12%,rgba(0,48,135,.28),transparent 28%),
    linear-gradient(180deg,#050033 0%,#071d33 34%,#031426 100%);
  padding:28px 0 18px;
  position:relative;
  overflow:hidden;
}

html body .tso-hpf:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 8% 18%,rgba(255,255,255,.18) 0 1px,transparent 2px),
    radial-gradient(circle at 21% 36%,rgba(255,215,0,.20) 0 1px,transparent 2px),
    radial-gradient(circle at 72% 20%,rgba(255,255,255,.14) 0 1px,transparent 2px),
    radial-gradient(circle at 88% 54%,rgba(255,215,0,.16) 0 1px,transparent 2px),
    radial-gradient(circle at 44% 76%,rgba(255,255,255,.12) 0 1px,transparent 2px);
  opacity:.32;
  pointer-events:none;
}

html body .tso-hpf *{box-sizing:border-box;}
html body .tso-hpf a{transition:all .22s ease;}

.tso-hpf-wrap{max-width:1320px;margin:0 auto;padding:0 22px;position:relative;z-index:2;}
.tso-hpf-section{margin:0 0 42px;}

.tso-hpf-panel{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  color:#fff;
  background:
    radial-gradient(circle at 14% 9%,rgba(255,215,0,.17),transparent 24%),
    radial-gradient(circle at 91% 20%,rgba(255,215,0,.10),transparent 25%),
    linear-gradient(135deg,rgba(7,29,51,.98),rgba(0,35,102,.94) 58%,rgba(0,48,135,.86));
  border:1px solid rgba(255,215,0,.38);
  box-shadow:0 20px 48px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
}

.tso-hpf-panel:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(110deg,transparent 0%,rgba(255,255,255,.05) 42%,rgba(255,215,0,.10) 50%,rgba(255,255,255,.05) 58%,transparent 100%),
    radial-gradient(circle at 18% 30%,rgba(255,255,255,.20) 0 1px,transparent 2px),
    radial-gradient(circle at 64% 18%,rgba(255,215,0,.26) 0 1px,transparent 2px),
    radial-gradient(circle at 84% 72%,rgba(255,255,255,.16) 0 1px,transparent 2px),
    radial-gradient(circle at 38% 78%,rgba(255,215,0,.17) 0 1px,transparent 2px);
  opacity:.44;
  pointer-events:none;
}

.tso-hpf-panel-inner{position:relative;z-index:3;padding:30px;}

.tso-hpf-kicker{
  display:block;
  color:var(--tso-gold);
  font-weight:950;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-size:.76rem;
  margin:0 0 6px;
}

.tso-hpf-heading-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:22px;
  padding-bottom:18px;
  margin-bottom:22px;
  border-bottom:1px solid rgba(255,215,0,.30);
}

.tso-hpf-heading-row h2,
.tso-hpf-prediction-content h2,
.tso-hpf-history-content h2,
.tso-hpf-community-panel h2{
  margin:6px 0 0;
  color:var(--tso-gold)!important;
  font-size:clamp(2rem,4vw,3.15rem);
  line-height:1;
  letter-spacing:-1.4px;
  text-shadow:0 0 22px rgba(255,215,0,.13);
}

.tso-hpf-heading-row p,
.tso-hpf-prediction-content p,
.tso-hpf-history-content p,
.tso-hpf-community-panel p{
  margin:8px 0 0;
  color:#f3f7ff;
  line-height:1.68;
  max-width:760px;
  font-size:1.03rem;
}

.tso-hpf-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:999px;
  padding:12px 20px;
  font-weight:950;
  line-height:1.1;
  text-decoration:none!important;
  white-space:nowrap;
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.12);
}
.tso-hpf-btn:hover{transform:translateY(-2px);}
.tso-hpf-btn-gold{background:linear-gradient(135deg,var(--tso-gold),var(--tso-gold-soft));color:var(--tso-navy)!important;}
.tso-hpf-btn-dark{background:var(--tso-navy);color:var(--tso-gold)!important;border:1px solid rgba(255,215,0,.38);}
.tso-hpf-btn-outline{background:rgba(255,255,255,.07);color:#fff!important;border:2px solid rgba(255,255,255,.72);}
.tso-hpf-disabled{cursor:default;opacity:.9;}

.tso-hpf-watermark{
  position:absolute;
  right:22px;
  bottom:8px;
  font-size:clamp(86px,10vw,145px);
  line-height:1;
  opacity:.095;
  filter:grayscale(1) sepia(.4);
  transform:rotate(-10deg);
  pointer-events:none;
  z-index:1;
}
.tso-hpf-watermark-main{font-size:clamp(120px,13vw,185px);right:30px;bottom:-14px;}

/* Today's Southend */
.tso-hpf-today-section{margin-top:0;}
.tso-hpf-today .tso-hpf-panel-inner{padding:32px;}
.tso-hpf-today-grid{display:grid;grid-template-columns:1.28fr 1fr 1fr 1fr;gap:14px;}
.tso-hpf-mini-card{
  display:flex;
  flex-direction:column;
  min-height:190px;
  padding:20px;
  border-radius:18px;
  text-decoration:none!important;
  background:linear-gradient(135deg,rgba(255,255,255,.095),rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.16);
  color:#fff!important;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.tso-hpf-mini-card:hover{transform:translateY(-4px);border-color:rgba(255,215,0,.48);box-shadow:0 16px 36px rgba(0,0,0,.24),0 0 22px rgba(255,215,0,.08);}
.tso-hpf-mini-card-main{background:linear-gradient(135deg,rgba(255,215,0,.16),rgba(255,255,255,.06));border-color:rgba(255,215,0,.44);}
.tso-hpf-icon{font-size:1.65rem;margin-bottom:10px;}
.tso-hpf-label{color:var(--tso-gold);text-transform:uppercase;font-weight:950;font-size:.70rem;letter-spacing:.1em;margin-bottom:8px;}
.tso-hpf-mini-card strong{font-size:1.22rem;line-height:1.2;color:#fff;margin-bottom:8px;}
.tso-hpf-mini-card em{font-style:normal;color:#dfe9f7;line-height:1.5;font-size:.94rem;}

/* Latest News - transform custom tso_news_feed into featured + 3 */
.tso-hpf-news-editorial .tso-news-feed{max-width:none!important;}
.tso-hpf-news-editorial .tso-news-feed-grid{display:block!important;}
.tso-hpf-news-editorial .tso-news-side{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin-top:14px!important;}
.tso-hpf-news-editorial .tso-news-side .tso-news-card:nth-child(n+4){display:none!important;}
.tso-hpf-news-editorial .tso-news-featured{
  display:grid!important;
  grid-template-columns:1.1fr .9fr!important;
  align-items:stretch!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.055))!important;
  border:1px solid rgba(255,215,0,.38)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.22)!important;
  overflow:hidden!important;
}
.tso-hpf-news-editorial .tso-news-card{
  border-radius:16px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.055))!important;
  border:1px solid rgba(255,215,0,.30)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.20)!important;
  overflow:hidden!important;
  color:#fff!important;
}
.tso-hpf-news-editorial .tso-news-featured:hover,
.tso-hpf-news-editorial .tso-news-card:hover{transform:translateY(-3px)!important;border-color:rgba(255,215,0,.58)!important;}
.tso-hpf-news-editorial .tso-news-featured .tso-news-image{height:100%!important;aspect-ratio:auto!important;min-height:300px!important;}
.tso-hpf-news-editorial .tso-news-card .tso-news-image{aspect-ratio:16/9!important;}
.tso-hpf-news-editorial .tso-news-content{padding:20px!important;}
.tso-hpf-news-editorial .tso-news-featured .tso-news-content{padding:26px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
.tso-hpf-news-editorial .tso-news-title{color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.35);}
.tso-hpf-news-editorial .tso-news-featured .tso-news-title{font-size:clamp(1.65rem,3vw,2.4rem)!important;}
.tso-hpf-news-editorial .tso-news-card .tso-news-title{font-size:1.05rem!important;line-height:1.25!important;}
.tso-hpf-news-editorial .tso-news-excerpt{color:#e8effb!important;}
.tso-hpf-news-editorial .tso-news-card .tso-news-excerpt{display:none!important;}
.tso-hpf-news-editorial .tso-news-meta{color:#cbd8ea!important;}
.tso-hpf-news-editorial .tso-news-badge{background:var(--tso-gold)!important;color:var(--tso-navy)!important;}
.tso-hpf-news-editorial .tso-news-button{background:var(--tso-navy)!important;color:var(--tso-gold)!important;border:1px solid rgba(255,215,0,.45)!important;border-radius:999px!important;}
.tso-hpf-news-editorial .tso-news-button:hover{background:var(--tso-gold)!important;color:var(--tso-navy)!important;}
.tso-hpf-news-editorial .tso-news-footer{display:none!important;}


/* Ticket Tracker homepage cleanup: keep the framework heading, hide the shortcode's duplicate inner title */
.tso-hpf-ticket-panel .tso-ticket-home-header{display:none!important;}
.tso-hpf-ticket-panel .tso-ticket-home-panel.tso-ticket-home-cards{margin-top:0!important;}

/* Shortcodes: reduce white shock */
.tso-hpf-shortcode-area{position:relative;z-index:3;}
.tso-hpf-shortcode-panel .tso-ticket-home-panel,
.tso-hpf-shortcode-panel .tso-hmc-wrap{margin-left:auto!important;margin-right:auto!important;}
.tso-hpf-shortcode-panel .tso-hmc-card,
.tso-hpf-shortcode-panel .tso-fr-section{
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.055))!important;
  border:1px solid rgba(255,215,0,.30)!important;
  color:#fff!important;
  box-shadow:0 12px 30px rgba(0,0,0,.20)!important;
}
.tso-hpf-shortcode-panel .tso-hmc-card .tso-hmc-title,
.tso-hpf-shortcode-panel .tso-hmc-card .tso-hmc-meta,
.tso-hpf-shortcode-panel .tso-hmc-card .tso-hmc-team-name,
.tso-hpf-shortcode-panel .tso-hmc-note{color:#fff!important;}
.tso-hpf-shortcode-panel .tso-hmc-kicker{color:var(--tso-gold)!important;}
.tso-hpf-shortcode-panel .tso-hmc-v{background:var(--tso-gold)!important;color:var(--tso-navy)!important;}

/* Prediction */
.tso-hpf-prediction-panel .tso-hpf-panel-inner{padding:38px;}
.tso-hpf-prediction-content{max-width:940px;}
.tso-hpf-prediction-content p{font-size:1.1rem;}
.tso-hpf-prediction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 24px;}
.tso-hpf-prediction-grid div{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:14px;color:#fff;font-weight:900;}

/* History */
.tso-hpf-history-panel .tso-hpf-panel-inner{padding:38px;}
.tso-hpf-history-content{max-width:980px;}
.tso-hpf-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;}

/* Feature grid */
.tso-hpf-feature-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;}
.tso-hpf-feature-card{
  display:flex;
  flex-direction:column;
  min-height:185px;
  padding:18px;
  border-radius:16px;
  text-decoration:none!important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.055));
  border:1px solid rgba(255,215,0,.30);
  color:#fff!important;
  box-shadow:0 12px 30px rgba(0,0,0,.20);
}
.tso-hpf-feature-card:hover{transform:translateY(-4px);border-color:rgba(255,215,0,.58);}
.tso-hpf-feature-card span{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,var(--tso-gold),var(--tso-gold-soft));display:grid;place-items:center;margin-bottom:14px;font-size:1.25rem;}
.tso-hpf-feature-card strong{color:#fff;font-size:1.05rem;line-height:1.25;margin-bottom:8px;}
.tso-hpf-feature-card em{font-style:normal;color:#dfe9f7;line-height:1.45;font-size:.92rem;}

/* Support */
.tso-hpf-support-panel{
  position:relative;overflow:hidden;text-align:center;border-radius:22px;padding:34px 24px;
  background:linear-gradient(135deg,var(--tso-gold),var(--tso-gold-soft));
  border:2px solid rgba(7,29,51,.9);box-shadow:0 18px 42px rgba(0,0,0,.22);color:var(--tso-navy);
}
.tso-hpf-support-panel h2{margin:0 0 10px;color:var(--tso-navy);font-size:clamp(1.9rem,4vw,2.8rem);line-height:1;letter-spacing:-1px;}
.tso-hpf-support-panel p{max-width:780px;margin:0 auto 20px;color:#1f2a44;line-height:1.7;font-size:1.05rem;}
.tso-hpf-support-watermark{position:absolute;right:24px;bottom:0;font-size:115px;opacity:.14;transform:rotate(-10deg);pointer-events:none;}

/* Community */
.tso-hpf-community-panel{text-align:center;}
.tso-hpf-community-panel .tso-hpf-panel-inner{padding:36px 24px;}
.tso-hpf-community-panel p{margin-left:auto;margin-right:auto;}
.tso-hpf-socials{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:20px;}
.tso-hpf-socials a{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 20px;color:#fff!important;text-decoration:none!important;font-weight:950;}
.tso-hpf-fb{background:#1877f2;}.tso-hpf-x{background:#000;}.tso-hpf-bsky{background:#1185fe;}

@media(max-width:1180px){
  .tso-hpf-today-grid{grid-template-columns:repeat(2,1fr);}
  .tso-hpf-feature-grid{grid-template-columns:repeat(3,1fr);}
  .tso-hpf-news-editorial .tso-news-featured{grid-template-columns:1fr!important;}
  .tso-hpf-news-editorial .tso-news-featured .tso-news-image{min-height:260px!important;aspect-ratio:16/9!important;}
}
@media(max-width:760px){
  html body .tso-hpf{padding-top:18px;}
  .tso-hpf-wrap{padding:0 14px;}
  .tso-hpf-section{margin-bottom:30px;}
  .tso-hpf-panel{border-radius:18px;}
  .tso-hpf-panel-inner,.tso-hpf-today .tso-hpf-panel-inner,.tso-hpf-prediction-panel .tso-hpf-panel-inner,.tso-hpf-history-panel .tso-hpf-panel-inner{padding:22px 16px;}
  .tso-hpf-heading-row{display:block;margin-bottom:18px;}
  .tso-hpf-heading-row .tso-hpf-btn{margin-top:14px;width:100%;}
  .tso-hpf-today-grid,.tso-hpf-prediction-grid,.tso-hpf-feature-grid{grid-template-columns:1fr;}
  .tso-hpf-mini-card,.tso-hpf-feature-card{min-height:auto;}
  .tso-hpf-news-editorial .tso-news-side{grid-template-columns:1fr!important;}
  .tso-hpf-news-editorial .tso-news-featured .tso-news-image{min-height:0!important;}
  .tso-hpf-actions,.tso-hpf-socials{flex-direction:column;}
  .tso-hpf-btn,.tso-hpf-socials a{width:100%;text-align:center;}
  .tso-hpf-watermark,.tso-hpf-support-watermark{display:none;}
}

/* =========================================================
   v3.0.3 Newsletter integration
   Uses the separate TSO Newsletter Panel plugin, but keeps it
   inside the homepage design system so it does not create white edges.
   ========================================================= */
.tso-hpf-newsletter-panel .tso-hpf-panel-inner{
  padding:30px!important;
}
.tso-hpf-newsletter-home .tso-newsletter-panel{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:visible!important;
  color:#fff!important;
}
.tso-hpf-newsletter-home .tso-newsletter-sparkles,
.tso-hpf-newsletter-home .tso-newsletter-watermark{
  display:none!important;
}
.tso-hpf-newsletter-home .tso-newsletter-inner{
  position:relative!important;
  z-index:3!important;
  display:grid!important;
  grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr)!important;
  gap:26px!important;
  align-items:center!important;
}
.tso-hpf-newsletter-home .tso-newsletter-copy h2{
  color:var(--tso-gold)!important;
  font-size:clamp(2rem,4vw,3.05rem)!important;
  line-height:1.02!important;
  letter-spacing:-1.2px!important;
  text-shadow:0 0 22px rgba(255,215,0,.13)!important;
}
.tso-hpf-newsletter-home .tso-newsletter-copy p{
  color:#f3f7ff!important;
  font-size:1.04rem!important;
  line-height:1.68!important;
}
.tso-hpf-newsletter-home .tso-newsletter-form-wrap{
  position:relative!important;
  overflow:hidden!important;
  border-radius:20px!important;
  padding:24px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.055))!important;
  border:1px solid rgba(255,215,0,.34)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.tso-hpf-newsletter-home .tso-newsletter-form-wrap:after{
  content:"✉";
  position:absolute;
  right:18px;
  bottom:-22px;
  font-size:108px;
  line-height:1;
  color:rgba(255,215,0,.10);
  transform:rotate(-10deg);
  pointer-events:none;
}
.tso-hpf-newsletter-home .tso-newsletter-form-wrap > *{
  position:relative;
  z-index:2;
}
.tso-hpf-newsletter-home .tso-newsletter-form-wrap input[type="email"],
.tso-hpf-newsletter-home .tso-newsletter-form-wrap input[type="text"],
.tso-hpf-newsletter-home .tso-newsletter-form-wrap .mailpoet_text{
  background:rgba(3,20,38,.86)!important;
  color:#fff!important;
  border:1px solid rgba(255,215,0,.48)!important;
}
.tso-hpf-newsletter-home .tso-newsletter-form-wrap input[type="submit"],
.tso-hpf-newsletter-home .tso-newsletter-form-wrap button,
.tso-hpf-newsletter-home .tso-newsletter-form-wrap .mailpoet_submit{
  background:linear-gradient(135deg,var(--tso-gold),var(--tso-gold-soft))!important;
  color:var(--tso-navy)!important;
}
.tso-hpf-newsletter-home .tso-newsletter-privacy{
  grid-column:1/-1!important;
  margin:4px 0 0!important;
  color:#dfe9f7!important;
  font-size:.92rem!important;
  text-align:center!important;
}
.tso-hpf-newsletter-fallback{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:center;
}
.tso-hpf-newsletter-fallback h2{
  margin:6px 0 10px;
  color:var(--tso-gold)!important;
  font-size:clamp(2rem,4vw,3.05rem);
  line-height:1.02;
  letter-spacing:-1.2px;
}
.tso-hpf-newsletter-fallback p{
  margin:0;
  max-width:760px;
  color:#f3f7ff;
  line-height:1.68;
}
@media(max-width:900px){
  .tso-hpf-newsletter-home .tso-newsletter-inner,
  .tso-hpf-newsletter-fallback{
    grid-template-columns:1fr!important;
    display:block!important;
    text-align:center!important;
  }
  .tso-hpf-newsletter-home .tso-newsletter-copy p{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .tso-hpf-newsletter-home .tso-newsletter-form-wrap{
    margin-top:20px!important;
  }
  .tso-hpf-newsletter-fallback .tso-hpf-btn{
    margin-top:18px;
  }
}
@media(max-width:760px){
  .tso-hpf-newsletter-panel .tso-hpf-panel-inner{
    padding:22px 16px!important;
  }
  .tso-hpf-newsletter-home .tso-newsletter-form-wrap{
    padding:18px!important;
  }
  .tso-hpf-newsletter-home .tso-newsletter-form-wrap:after{
    display:none!important;
  }
}

/* =========================================================
   v3.1.0 Final newsletter CTA
   Full-width premium navy/gold finish. No white newsletter block.
   ========================================================= */
.tso-hpf-newsletter-final-panel{
  min-height:430px;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 18% 12%,rgba(255,215,0,.20),transparent 25%),
    radial-gradient(circle at 86% 30%,rgba(255,215,0,.13),transparent 28%),
    linear-gradient(135deg,rgba(3,20,38,.98),rgba(0,35,102,.96) 52%,rgba(0,48,135,.88))!important;
}
.tso-hpf-newsletter-final-panel .tso-hpf-panel-inner{
  width:100%;
  padding:52px 54px!important;
  text-align:center;
}
.tso-hpf-newsletter-final-copy{
  max-width:980px;
  margin:0 auto 28px;
}
.tso-hpf-newsletter-final-copy h2{
  margin:8px 0 14px;
  color:var(--tso-gold)!important;
  font-size:clamp(2.6rem,5.2vw,4.9rem);
  line-height:.95;
  letter-spacing:-2.2px;
  text-shadow:0 0 26px rgba(255,215,0,.18),0 6px 24px rgba(0,0,0,.28);
}
.tso-hpf-newsletter-final-copy p{
  margin:0 auto;
  max-width:820px;
  color:#f7fbff;
  font-size:1.14rem;
  line-height:1.7;
}
.tso-hpf-newsletter-final-form{
  max-width:850px;
  margin:0 auto;
  position:relative;
  z-index:4;
}
.tso-hpf-newsletter-final-form .mailpoet_form,
.tso-hpf-newsletter-final-form form{
  margin:0!important;
}
.tso-hpf-newsletter-final-form .mailpoet_paragraph{
  margin:0 0 16px!important;
}
.tso-hpf-newsletter-final-form input[type="email"],
.tso-hpf-newsletter-final-form input[type="text"],
.tso-hpf-newsletter-final-form .mailpoet_text{
  width:100%!important;
  height:58px!important;
  border-radius:999px!important;
  background:rgba(3,20,38,.90)!important;
  color:#fff!important;
  border:1px solid rgba(255,215,0,.55)!important;
  padding:0 22px!important;
  font-size:1rem!important;
  box-shadow:inset 0 3px 10px rgba(0,0,0,.20),0 0 20px rgba(255,215,0,.05)!important;
}
.tso-hpf-newsletter-final-form input::placeholder{
  color:#c9d7ea!important;
}
.tso-hpf-newsletter-final-form input[type="submit"],
.tso-hpf-newsletter-final-form button,
.tso-hpf-newsletter-final-form .mailpoet_submit{
  width:100%!important;
  min-height:58px!important;
  border-radius:999px!important;
  border:0!important;
  background:linear-gradient(135deg,var(--tso-gold),var(--tso-gold-soft))!important;
  color:var(--tso-navy)!important;
  font-weight:950!important;
  font-size:1rem!important;
  box-shadow:0 14px 28px rgba(255,215,0,.18),inset 0 -2px 0 rgba(0,0,0,.14)!important;
}
.tso-hpf-newsletter-final-form input[type="submit"]:hover,
.tso-hpf-newsletter-final-form button:hover,
.tso-hpf-newsletter-final-form .mailpoet_submit:hover{
  transform:translateY(-2px);
  filter:brightness(1.03);
}
.tso-hpf-newsletter-final-privacy{
  margin:14px auto 0;
  color:#eaf2ff;
  font-size:.92rem;
  font-style:italic;
  position:relative;
  z-index:4;
}
.tso-hpf-watermark-newsletter{
  right:34px;
  bottom:-26px;
  font-size:clamp(120px,14vw,210px);
  color:var(--tso-gold);
  opacity:.075;
  filter:none;
  transform:rotate(-12deg);
}

/* If the old separate newsletter plugin shortcode is accidentally left directly after the homepage,
   reduce the visual damage by hiding common standalone MailPoet/TSO newsletter blocks outside the framework. */
body.home .tso-hpf + .tso-newsletter-panel,
body.home .tso-hpf + .mailpoet_form,
body.home .tso-hpf + .wp-block-shortcode .tso-newsletter-panel,
body.home .tso-hpf + .wp-block-shortcode .mailpoet_form{
  display:none!important;
}

@media(max-width:760px){
  .tso-hpf-newsletter-final-panel{min-height:0;}
  .tso-hpf-newsletter-final-panel .tso-hpf-panel-inner{padding:34px 18px!important;}
  .tso-hpf-newsletter-final-copy h2{font-size:clamp(2.25rem,12vw,3.45rem);}
  .tso-hpf-newsletter-final-copy p{font-size:1rem;}
  .tso-hpf-watermark-newsletter{display:none;}
}


/* =========================================================
   v3.1.1 Newsletter cleanup
   Make the final CTA one large premium panel and strip duplicated MailPoet text/white blocks.
   ========================================================= */
.tso-hpf-newsletter-final-panel{
  min-height:520px!important;
  background:
    radial-gradient(circle at 18% 12%,rgba(255,215,0,.22),transparent 26%),
    radial-gradient(circle at 78% 34%,rgba(255,215,0,.13),transparent 30%),
    radial-gradient(circle at 48% 84%,rgba(255,255,255,.07),transparent 28%),
    linear-gradient(135deg,rgba(3,20,38,.99),rgba(0,35,102,.97) 52%,rgba(0,48,135,.90))!important;
}
.tso-hpf-newsletter-final-panel .tso-hpf-panel-inner{
  max-width:1040px!important;
  margin:0 auto!important;
  padding:70px 56px!important;
}
.tso-hpf-newsletter-final-copy h2{
  display:inline-block!important;
  background:linear-gradient(90deg,#FFD700 0%,#fff1a8 35%,#FFD700 70%,#caa21b 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  text-shadow:none!important;
  filter:drop-shadow(0 0 18px rgba(255,215,0,.16));
}
.tso-hpf-newsletter-final-copy p{
  color:#ffffff!important;
  font-weight:800!important;
  text-shadow:0 2px 14px rgba(0,0,0,.30)!important;
}
.tso-hpf-newsletter-final-form{
  max-width:760px!important;
  margin:32px auto 0!important;
}
/* Hide MailPoet's own title/description inside the final CTA so only the TSO heading remains. */
.tso-hpf-newsletter-final-form .mailpoet_form > h2,
.tso-hpf-newsletter-final-form .mailpoet_form > h3,
.tso-hpf-newsletter-final-form .mailpoet_form > p,
.tso-hpf-newsletter-final-form .mailpoet-heading,
.tso-hpf-newsletter-final-form .mailpoet_text_label,
.tso-hpf-newsletter-final-form .mailpoet_form_title,
.tso-hpf-newsletter-final-form .mailpoet_form_description{
  display:none!important;
}
.tso-hpf-newsletter-final-form .mailpoet_form,
.tso-hpf-newsletter-final-form form{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  max-width:none!important;
  width:100%!important;
  color:#fff!important;
}
.tso-hpf-newsletter-final-form .mailpoet_paragraph{
  margin:0 0 16px!important;
}
.tso-hpf-newsletter-final-form .mailpoet_text,
.tso-hpf-newsletter-final-form input[type="email"],
.tso-hpf-newsletter-final-form input[type="text"]{
  background:rgba(3,20,38,.94)!important;
  border:1px solid rgba(255,215,0,.72)!important;
  color:#fff!important;
}
.tso-hpf-newsletter-final-form .mailpoet_submit,
.tso-hpf-newsletter-final-form input[type="submit"],
.tso-hpf-newsletter-final-form button{
  background:linear-gradient(135deg,#FFD700,#fff1a8)!important;
  color:#071d33!important;
  border:0!important;
}
.tso-hpf-newsletter-final-form .mailpoet_paragraph.last,
.tso-hpf-newsletter-final-form .mailpoet_form_footer,
.tso-hpf-newsletter-final-form .mailpoet_validate_success,
.tso-hpf-newsletter-final-form .mailpoet_validate_error{
  color:#fff!important;
}
.tso-hpf-newsletter-final-privacy{
  color:#eef5ff!important;
  font-weight:700!important;
  margin-top:18px!important;
}
.tso-hpf-watermark-newsletter{
  opacity:.065!important;
  color:#FFD700!important;
}
/* Hide the old standalone white newsletter block when it remains below the homepage shortcode. */
body.home .entry-content > .mailpoet_form,
body.home .entry-content > .wp-block-mailpoet-form,
body.home .entry-content > .wp-block-shortcode:not(:has(.tso-hpf)) .mailpoet_form,
body.home .entry-content > .wp-block-shortcode:not(:has(.tso-hpf)) .tso-newsletter-panel,
body.home .bs-blog-post > .mailpoet_form,
body.home .bs-blog-post > .wp-block-shortcode:not(:has(.tso-hpf)) .mailpoet_form,
body.home .bs-blog-post > .wp-block-shortcode:not(:has(.tso-hpf)) .tso-newsletter-panel{
  display:none!important;
}
html body .tso-hpf .tso-hpf-newsletter-final-form .mailpoet_form{
  display:block!important;
}
@media(max-width:760px){
  .tso-hpf-newsletter-final-panel{min-height:0!important;}
  .tso-hpf-newsletter-final-panel .tso-hpf-panel-inner{padding:42px 18px!important;}
  .tso-hpf-newsletter-final-form{margin-top:24px!important;}
}


/* =========================================================
   v3.2.0 Safe dark canvas from v3.1.9 style, with v3.1.1 click behaviour
   ========================================================= */
body.home article:has(.tso-hpf),
body.home .bs-blog-post:has(.tso-hpf),
body.home .bs-card-box:has(.tso-hpf),
body.home .page-entry-content:has(.tso-hpf),
body.home .entry-content:has(.tso-hpf),
body.home .site-main:has(.tso-hpf),
body.home .site-content:has(.tso-hpf){
  background:#050033!important;
  border:0!important;
  box-shadow:none!important;
}
body.home article:has(.tso-hpf),
body.home .bs-blog-post:has(.tso-hpf),
body.home .bs-card-box:has(.tso-hpf),
body.home .page-entry-content:has(.tso-hpf),
body.home .entry-content:has(.tso-hpf){
  padding-left:0!important;
  padding-right:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
body.home .entry-content > .tso-hpf,
body.home .page-entry-content > .tso-hpf,
body.home .bs-blog-post > .tso-hpf,
body.home .bs-card-box > .tso-hpf,
body.home .wp-block-shortcode > .tso-hpf{
  margin:0!important;
  width:100%!important;
  max-width:none!important;
  padding-top:58px!important;
  padding-bottom:22px!important;
  position:relative!important;
  z-index:1!important;
}
/* decorative layers must never cover links */
html body .tso-hpf:before,
html body .tso-hpf:after,
html body .tso-hpf .tso-hpf-panel:before,
html body .tso-hpf .tso-hpf-panel:after,
html body .tso-hpf .tso-hpf-watermark,
html body .tso-hpf [class*="watermark"]{
  pointer-events:none!important;
}
html body .tso-hpf .tso-hpf-panel-inner,
html body .tso-hpf a,
html body .tso-hpf button,
html body .tso-hpf input,
html body .tso-hpf .tso-hpf-btn,
html body .tso-hpf .tso-hpf-mini-card,
html body .tso-hpf .tso-hpf-feature-card{
  position:relative;
  z-index:3;
}
/* Join panel: final text/social layout */
.tso-hpf-newsletter-final-copy h2 span{display:block!important;}
.tso-hpf-newsletter-final-copy h2 span:last-child{white-space:nowrap!important;}
.tso-hpf-newsletter-final-copy h2{
  font-size:clamp(2.45rem,5vw,4.65rem)!important;
  line-height:.92!important;
  margin-bottom:18px!important;
}
.tso-hpf-final-socials{
  display:flex!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:12px auto 18px!important;
  position:relative!important;
  z-index:5!important;
}
.tso-hpf-final-socials a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:78px!important;
  min-height:38px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,215,0,.45)!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:950!important;
  font-size:.86rem!important;
}
.tso-hpf-final-socials a:hover{
  background:#FFD700!important;
  color:#071d33!important;
  transform:translateY(-2px)!important;
}
/* Hide known old standalone white newsletter blocks if still left below the shortcode. */
body.home .tso-hpf ~ .mailpoet_form,
body.home .tso-hpf ~ .wp-block-mailpoet-form,
body.home .tso-hpf ~ .tso-newsletter-panel,
body.home .tso-hpf ~ .wp-block-shortcode:has(.mailpoet_form),
body.home .tso-hpf ~ .wp-block-shortcode:has(.tso-newsletter-panel),
body.home .tso-hpf ~ .wp-block-group:has(.mailpoet_form),
body.home .tso-hpf ~ .wp-block-group:has(.tso-newsletter-panel),
body.home .tso-hpf ~ section:has(.mailpoet_form),
body.home .tso-hpf ~ section:has(.tso-newsletter-panel){
  display:none!important;
}
html body .tso-hpf .tso-hpf-newsletter-final-form .mailpoet_form{display:block!important;}
@media(max-width:760px){
  body.home .entry-content > .tso-hpf,
  body.home .page-entry-content > .tso-hpf,
  body.home .bs-blog-post > .tso-hpf,
  body.home .bs-card-box > .tso-hpf,
  body.home .wp-block-shortcode > .tso-hpf{padding-top:36px!important;}
  .tso-hpf-newsletter-final-copy h2 span:last-child{white-space:normal!important;}
  .tso-hpf-final-socials a{width:100%!important;max-width:320px!important;}
}
