/*
Theme Name: I Love Freebies Child
Theme URI: https://ilovefreebies.com/
Description: A responsive ClipMyDeals child theme styled for I Love Freebies.
Author: I Love Freebies
Version: 129.0
Template: clipmydeals
Text Domain: i-love-freebies
*/

:root {
  --ilf-navy: #06265d;
  --ilf-navy-dark: #031d49;
  --ilf-pink: #d00052;
  --ilf-pink-dark: #a80042;
  --ilf-pale-pink: #fff1f7;
  --ilf-blue: #2f8de4;
  --ilf-text: #102653;
  --ilf-muted: #5e6d8c;
  --ilf-white: #fff;
  --ilf-shadow: 0 10px 28px rgba(6,38,93,.10);
  --ilf-radius: 18px;
}

body.home { background: #fff; color: var(--ilf-text); }
body.home .site-content { padding: 0; }
body.home #primary { width: 100%; max-width: none; }
body.home .entry-header, body.home .entry-footer, body.home .sidebar { display: none; }

/* Hide the parent ClipMyDeals footer on the custom homepage so only the custom footer shows. */
body.home footer:not(.ilf-footer),
body.home #colophon,
body.home .site-footer,
body.home .footer-area,
body.home .footer-widget-area,
body.home .footer-widgets,
body.home .footer-bottom,
body.home .bottom-footer,
body.home .sub-footer,
body.home .copyright-area,
body.home .site-info {
  display: none !important;
}


.ilf-home, .ilf-home * { box-sizing: border-box; }
.ilf-container { width: min(1180px, calc(100% - 36px)); margin-inline: auto; }

/* Header logo styling injected into the parent theme header. */
.ilf-logo-link {
  display: inline-flex !important;
  align-items: center;
  text-decoration: none !important;
}
.ilf-header-logo {
  display: inline-flex;
  flex-direction: column;
  line-height: .88;
  white-space: nowrap;
}
.ilf-header-logo-top {
  display: inline-flex;
  align-items: flex-end;
  gap: 4px;
  margin-bottom: 2px;
}
.ilf-logo-love {
  color: var(--ilf-pink);
  font-family: "Brush Script MT", "Segoe Script", "Lucida Handwriting", cursive;
  font-size: 28px;
  font-style: italic;
  font-weight: 700;
  letter-spacing: .2px;
}
.ilf-logo-heart {
  color: var(--ilf-pink);
  font-size: 22px;
  line-height: 1;
  transform: translateY(-2px);
}
.ilf-logo-freebies {
  color: var(--ilf-navy);
  font-size: 36px;
  font-weight: 900;
  letter-spacing: -1.2px;
  line-height: .9;
}
@media (max-width: 620px) {
  .ilf-logo-love { font-size: 22px; }
  .ilf-logo-heart { font-size: 18px; }
  .ilf-logo-freebies { font-size: 28px; }
}


.ilf-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 50px; padding: 12px 26px; border-radius: 12px;
  font-weight: 800; text-decoration: none; text-transform: uppercase;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.ilf-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(255,23,104,.22); }
.ilf-btn-primary { color: #fff; background: linear-gradient(135deg,var(--ilf-pink),var(--ilf-pink-dark)); }
.ilf-btn-outline { color: var(--ilf-pink); border: 2px solid var(--ilf-pink); background:#fff; }

.ilf-hero {
  position: relative; overflow: hidden; padding: 54px 0 24px;
  background: radial-gradient(circle at 85% 35%, #fff0f7 0, #fff 48%), #fff;
}
.ilf-hero:after {
  content:""; position:absolute; left:-5%; right:-5%; bottom:-70px; height:125px;
  border-radius:50% 50% 0 0; background:linear-gradient(180deg,#fff3f8,#fff);
}
.ilf-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns: 1.05fr .95fr; align-items:center; gap:28px; }
.ilf-kicker { margin:0 0 8px; color:var(--ilf-pink); font:700 clamp(34px,5vw,68px)/1.05 Georgia,serif; font-style:italic; white-space:nowrap; }
.ilf-title { margin:0; max-width:680px; color:var(--ilf-navy); font-size:clamp(40px,5vw,70px); line-height:1.03; letter-spacing:-2px; font-weight:900; }
.ilf-title em { color:var(--ilf-pink); font-family:Georgia,serif; font-weight:700; }
.ilf-lead { max-width:650px; margin:22px 0 26px; color:var(--ilf-text); font-size:clamp(17px,2vw,22px); line-height:1.55; }
.ilf-lead strong { color:var(--ilf-pink); }
.ilf-actions { display:flex; flex-wrap:wrap; gap:16px; }
.ilf-mascot { position:relative; align-self:end; min-height:470px; display:flex; align-items:center; justify-content:center; isolation:isolate; }
.ilf-mascot::before { content:""; position:absolute; inset:5% 0 0 8%; background:radial-gradient(circle at 50% 45%, rgba(255, 239, 247, .98) 0%, rgba(255, 239, 247, .82) 34%, rgba(255,245,250,.38) 58%, rgba(255,255,255,0) 76%); filter: blur(18px); z-index:-1; }
.ilf-mascot-shell { position:relative; width:min(100%, 520px); aspect-ratio: 12 / 10; border-radius: 42% 42% 42% 42% / 32% 32% 32% 32%; overflow:hidden; background:linear-gradient(180deg,#fff7fb 0%,#ffeef6 100%); box-shadow:0 20px 34px rgba(6,38,93,.10), inset 0 0 0 1px rgba(255,255,255,.55); }
.ilf-mascot-shell::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 32% 28%, rgba(255,255,255,.92) 0%, rgba(255,255,255,.45) 24%, rgba(255,255,255,0) 52%); z-index:1; pointer-events:none; }
.ilf-mascot-shell img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:62% center; transform:scale(1.02); filter:saturate(1.03); }
.ilf-mascot img { display:block; width:min(100%, 610px); height:auto; }


.ilf-section { padding: 58px 0; }
.ilf-section-title { display:flex; align-items:center; justify-content:center; gap:12px; margin:0 0 28px; color:var(--ilf-navy); font-size:clamp(27px,3vw,38px); font-weight:900; text-align:center; text-transform:uppercase; }
.ilf-section-title:before,.ilf-section-title:after { content:"♥"; color:var(--ilf-pink); font-size:.7em; }

.ilf-featured-section { padding-top: 70px; }
.ilf-cards { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; align-items:stretch; }
.ilf-card { position:relative; overflow:hidden; border:1px solid #e8edf5; border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(6,38,93,.08); transition:transform .18s ease,box-shadow .18s ease; }
.ilf-card:hover { transform:translateY(-4px); box-shadow:var(--ilf-shadow); }
.ilf-card-media { display:block; padding:14px 14px 0; background:#fff; text-decoration:none; }
.ilf-card-media-inner { display:flex; align-items:center; justify-content:center; height:170px; border-radius:14px; background:linear-gradient(145deg,#fff0f6,#eef8ff); overflow:hidden; }
.ilf-card-media img { display:block; width:100%; height:100%; object-fit:contain; object-position:center center; }
.ilf-badge { position:absolute; top:12px; left:12px; z-index:2; padding:5px 10px; border-radius:999px; color:#fff; background:var(--ilf-pink); font-size:12px; font-weight:900; box-shadow:0 4px 10px rgba(255,23,104,.22); }
.ilf-card-body { display:flex; flex-direction:column; gap:8px; padding:14px 16px 16px; text-align:center; height:calc(100% - 184px); }
.ilf-card h3 { margin:0; color:var(--ilf-navy); font-size:16px; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:42px; }
.ilf-card p { min-height:38px; margin:0; color:var(--ilf-muted); font-size:13px; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ilf-card .ilf-btn { min-height:40px; width:100%; margin-top:auto; padding:9px 10px; font-size:13px; }
.ilf-card-missing { border-style:dashed; }
.ilf-card-missing .ilf-card-media-inner { background:linear-gradient(145deg,#fff6fa,#f3f7ff); }


.ilf-how { background:linear-gradient(180deg,#fff8fb,#fff); }
.ilf-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; max-width:900px; margin:auto; }
.ilf-step { text-align:center; }
.ilf-step-icon { display:grid; place-items:center; width:106px; height:106px; margin:0 auto 14px; border:2px solid #ffc5da; border-radius:50%; background:#fff4f8; font-size:48px; }
.ilf-step h3 { margin:0 0 6px; color:var(--ilf-navy); font-size:23px; }
.ilf-step p { margin:0 auto; max-width:230px; color:var(--ilf-muted); line-height:1.45; }

.ilf-newsletter { padding:0 0 12px; background:linear-gradient(180deg,#fff,#f8fbff); }
.ilf-newsletter-inner { display:grid; grid-template-columns:1fr 1.35fr; gap:30px; align-items:center; padding:26px 34px; border-radius:20px; background:linear-gradient(135deg,#f70962,#cc034f); color:#fff; box-shadow:0 16px 34px rgba(217,6,85,.18); }
.ilf-newsletter-copy { display:flex; align-items:center; gap:18px; }
.ilf-newsletter-icon { font-size:54px; }
.ilf-newsletter h2 { margin:0 0 4px; color:#fff; font-size:27px; }
.ilf-newsletter p { margin:0; color:#fff; opacity:.96; }
.ilf-form { display:flex; min-height:58px; overflow:hidden; border-radius:12px; background:#fff; }
.ilf-form input { flex:1; min-width:0; border:0; padding:0 18px; font-size:16px; outline:none; }
.ilf-form button { border:0; padding:0 28px; color:#fff; background:var(--ilf-pink); font-weight:900; text-transform:uppercase; cursor:pointer; }

.ilf-footer { padding:56px 0 24px; background:linear-gradient(135deg,var(--ilf-navy-dark),var(--ilf-navy)); color:#fff; }
.ilf-footer-grid { display:grid; grid-template-columns:1.3fr repeat(3,1fr); gap:38px; }
.ilf-logo-text { color:#fff; font-size:30px; font-weight:900; line-height:.95; }
.ilf-logo-text span { display:block; color:var(--ilf-pink); font:italic 700 27px Georgia,serif; }
.ilf-footer h3 { margin:0 0 14px; color:#fff; font-size:16px; text-transform:uppercase; }
.ilf-footer ul { margin:0; padding:0; list-style:none; }
.ilf-footer li { margin:8px 0; }
.ilf-footer a { color:#fff; text-decoration:none; opacity:.9; }
.ilf-footer a:hover { color:#ff9fc3; opacity:1; }
.ilf-copy { margin:34px 0 0; padding-top:20px; border-top:1px solid rgba(255,255,255,.16); text-align:center; opacity:.82; }

@media (max-width: 980px) {
  .ilf-hero-grid { grid-template-columns:1fr; text-align:center; }
  .ilf-lead { margin-inline:auto; }
  .ilf-actions { justify-content:center; }
  .ilf-mascot { min-height:320px; }
  .ilf-mascot::before { inset:8% 6% 0; }
  .ilf-mascot-shell { width:min(100%,440px); }
  .ilf-cards { grid-template-columns:repeat(2,1fr); gap:16px; }
  .ilf-newsletter-inner { grid-template-columns:1fr; }
  .ilf-footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 620px) {
  .ilf-container { width:min(100% - 24px,1180px); }
  .ilf-hero { padding-top:36px; }
  .ilf-title { letter-spacing:-1px; }
  .ilf-mascot { min-height:260px; }
  .ilf-mascot-shell { width:min(100%,340px); }
  .ilf-cards,.ilf-steps,.ilf-footer-grid { grid-template-columns:1fr; }
  .ilf-card { display:grid; grid-template-columns:40% 60%; }
  .ilf-card-media { display:block; padding:12px 0 12px 12px; }
  .ilf-card-media-inner { height:100%; min-height:150px; }
  .ilf-card-body { height:auto; padding:12px; text-align:left; }
  .ilf-card .ilf-btn { width:100%; }
  .ilf-newsletter-inner { padding:22px 18px; }
  .ilf-newsletter-copy { align-items:flex-start; }
  .ilf-form { flex-direction:column; background:transparent; overflow:visible; gap:10px; }
  .ilf-form input,.ilf-form button { min-height:52px; border-radius:10px; }
}


/* Revision 6: closer hero and header match to the approved mockup. */
body.home .site-header,
body.home header.site-header,
body.home #masthead {
  width: min(1320px, calc(100% - 28px));
  margin: 14px auto 0;
  border-radius: 20px;
  background: #fff !important;
  box-shadow: 0 8px 28px rgba(6,38,93,.10);
  overflow: hidden;
}

body.home .site-header .container,
body.home #masthead .container,
body.home .site-header .container-fluid,
body.home #masthead .container-fluid {
  width: min(1240px, calc(100% - 32px));
  max-width: 1240px;
  min-height: 88px;
  margin-inline: auto;
  display: flex;
  align-items: center;
}

body.home .site-header nav,
body.home #masthead nav {
  flex: 1;
}

body.home .site-header .menu,
body.home .site-header .navbar-nav,
body.home #masthead .menu,
body.home #masthead .navbar-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2vw, 34px);
}

body.home .site-header a,
body.home #masthead a {
  font-weight: 800;
}

body.home .site-header .current-menu-item > a,
body.home #masthead .current-menu-item > a {
  color: var(--ilf-pink) !important;
}

body.home .site-header .current-menu-item > a::after,
body.home #masthead .current-menu-item > a::after {
  content: "";
  display: block;
  height: 3px;
  margin-top: 8px;
  border-radius: 999px;
  background: var(--ilf-pink);
}

body.home .ilf-hero {
  padding: 42px 0 12px;
  background:
    radial-gradient(circle at 82% 35%, rgba(255,233,243,.95) 0, rgba(255,245,249,.72) 34%, rgba(255,255,255,0) 63%),
    linear-gradient(180deg,#fff 0%,#fff 78%,#fff5f9 100%);
}

body.home .ilf-hero-grid {
  grid-template-columns: minmax(0, 1.06fr) minmax(460px, .94fr);
  gap: 18px;
  align-items: center;
}

body.home .ilf-kicker {
  margin-bottom: 4px;
  font-size: clamp(42px, 4.7vw, 66px);
  line-height: .98;
}

body.home .ilf-title {
  max-width: 650px;
  font-size: clamp(46px, 5.15vw, 72px);
  line-height: .97;
  letter-spacing: -2.8px;
}

body.home .ilf-lead {
  max-width: 640px;
  margin: 24px 0 28px;
  font-size: clamp(18px, 1.5vw, 21px);
  line-height: 1.55;
}

body.home .ilf-actions {
  gap: 18px;
}

body.home .ilf-actions .ilf-btn {
  min-width: 210px;
  min-height: 54px;
  border-radius: 14px;
  font-size: 15px;
  letter-spacing: .01em;
}

body.home .ilf-btn-primary {
  background: linear-gradient(135deg,#ff0d68,#ef0b5e);
  box-shadow: 0 10px 22px rgba(255,23,104,.18);
}

body.home .ilf-btn-outline {
  border-width: 2px;
}

body.home .ilf-mascot {
  min-height: 540px;
  justify-content: flex-end;
  transform: translateX(8px);
}

body.home .ilf-mascot::before {
  inset: 7% -2% 2% 4%;
  background: radial-gradient(circle at 50% 42%, rgba(255,238,247,.96) 0%, rgba(255,241,248,.68) 42%, rgba(255,255,255,0) 78%);
  filter: blur(20px);
}

body.home .ilf-mascot-shell {
  width: min(100%, 500px);
  aspect-ratio: 11 / 10;
  border-radius: 44% / 34%;
}

body.home .ilf-mascot-shell img {
  object-position: 60% center;
  transform: scale(1.05);
}

body.home .ilf-hero::after {
  bottom: -78px;
  height: 140px;
  background: linear-gradient(180deg,#fff3f8 0%,#fff 78%);
}

body.home .ilf-featured-section {
  padding-top: 62px;
}

@media (max-width: 1100px) {
  body.home .ilf-hero-grid {
    grid-template-columns: 1fr 1fr;
  }
  body.home .ilf-mascot {
    transform: none;
  }
}

@media (max-width: 980px) {
  body.home .site-header,
  body.home header.site-header,
  body.home #masthead {
    width: calc(100% - 18px);
    margin-top: 9px;
  }
  body.home .ilf-hero-grid {
    grid-template-columns: 1fr;
  }
  body.home .ilf-kicker,
  body.home .ilf-title,
  body.home .ilf-lead {
    margin-inline: auto;
  }
  body.home .ilf-mascot {
    min-height: 420px;
    justify-content: center;
  }
  body.home .ilf-mascot-shell {
    width: min(100%, 460px);
  }
}

@media (max-width: 620px) {
  body.home .site-header .container,
  body.home #masthead .container,
  body.home .site-header .container-fluid,
  body.home #masthead .container-fluid {
    min-height: 72px;
    width: calc(100% - 20px);
  }
  body.home .ilf-hero {
    padding-top: 30px;
  }
  body.home .ilf-kicker {
    font-size: 39px;
  }
  body.home .ilf-title {
    font-size: 45px;
    line-height: 1;
  }
  body.home .ilf-actions .ilf-btn {
    width: 100%;
    min-width: 0;
  }
  body.home .ilf-mascot {
    min-height: 320px;
  }
  body.home .ilf-mascot-shell {
    width: min(100%, 360px);
  }
}


/* Final heart-shaped hero mascot treatment */
body.home .ilf-mascot {
  min-height: 520px;
  align-self: center;
  justify-content: flex-end;
  transform: translateX(8px);
}

body.home .ilf-mascot::before {
  content: "";
  position: absolute;
  inset: 10% 4% 6% 10%;
  background: radial-gradient(circle at 50% 48%, rgba(255, 233, 244, .98) 0%, rgba(255, 240, 247, .75) 38%, rgba(255,255,255,0) 76%);
  filter: blur(24px);
  z-index: -1;
}

body.home .ilf-mascot > img {
  display: block;
  width: min(100%, 560px);
  max-height: 620px;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 20px 34px rgba(6,38,93,.08));
}

body.home .ilf-mascot-shell {
  display: none !important;
}

@media (max-width: 1024px) {
  body.home .ilf-mascot {
    min-height: 430px;
    justify-content: center;
    transform: none;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 470px);
  }
}

@media (max-width: 767px) {
  body.home .ilf-mascot {
    min-height: 320px;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 330px);
  }
}


/* Revision 14: softer hero image blending */
body.home .ilf-hero { background: linear-gradient(180deg, #fffafb 0%, #fff8fb 55%, #fffafc 100%); }
body.home .ilf-mascot::before { inset: 8% 2% 8% 8%; background: radial-gradient(circle at 52% 50%, rgba(255, 225, 238, .98) 0%, rgba(255, 236, 244, .78) 34%, rgba(255, 245, 249, .40) 54%, rgba(255,255,255,0) 78%); filter: blur(28px); }
body.home .ilf-mascot > img { width: min(100%, 550px); opacity: .98; filter: drop-shadow(0 22px 38px rgba(6,38,93,.06)); }


/* Revision 15: header logo colors for the navy navigation bar */
body.home .ilf-logo-link {
  padding: 7px 12px 8px;
  border-radius: 12px;
  transition: background .18s ease, transform .18s ease;
}

body.home .ilf-logo-link:hover {
  background: rgba(255,255,255,.08);
  transform: translateY(-1px);
}

body.home .ilf-logo-love {
  color: #ff6fa7;
  text-shadow: 0 1px 0 rgba(0,0,0,.08);
}

body.home .ilf-logo-heart {
  color: #ff3f86;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.12));
}

body.home .ilf-logo-freebies {
  color: #ffffff;
  text-shadow: 0 2px 2px rgba(3,29,73,.28);
}

@media (max-width: 620px) {
  body.home .ilf-logo-link {
    padding: 5px 8px 6px;
  }
}


/* Revision 16: clean modern header-logo typography */
body.home .ilf-header-logo {
  line-height: .92;
  letter-spacing: 0;
}

body.home .ilf-header-logo-top {
  gap: 5px;
  margin-bottom: 3px;
}

body.home .ilf-logo-love {
  color: #ff6fa7;
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .7px;
  text-transform: uppercase;
  text-shadow: none;
}

body.home .ilf-logo-heart {
  color: #ff3f86;
  font-family: Arial, sans-serif;
  font-size: 17px;
  transform: translateY(-1px);
  filter: none;
}

body.home .ilf-logo-freebies {
  color: #ffffff;
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif;
  font-size: 31px;
  font-weight: 900;
  letter-spacing: -.7px;
  line-height: .92;
  text-shadow: 0 1px 2px rgba(3,29,73,.25);
}

@media (max-width: 620px) {
  body.home .ilf-logo-love {
    font-size: 14px;
  }

  body.home .ilf-logo-heart {
    font-size: 14px;
  }

  body.home .ilf-logo-freebies {
    font-size: 26px;
  }
}


/* Revision 17: use image-based header logo */
body.home .ilf-logo-link {
  display: inline-flex !important;
  align-items: center;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  transform: none !important;
}

body.home .ilf-logo-link:hover {
  background: transparent !important;
  transform: none !important;
}

body.home .ilf-header-logo-image {
  display: block;
  width: auto;
  height: 56px;
  max-width: 320px;
  object-fit: contain;
}

@media (max-width: 1024px) {
  body.home .ilf-header-logo-image {
    height: 48px;
    max-width: 280px;
  }
}

@media (max-width: 620px) {
  body.home .ilf-header-logo-image {
    height: 40px;
    max-width: 220px;
  }
}


/* Revision 19: red underline hover effect for primary navigation */
body.home .site-header nav a,
body.home #masthead nav a,
body.home .navbar-nav > li > a,
body.home .menu > li > a {
  position: relative;
  text-decoration: none !important;
}

body.home .site-header nav a::after,
body.home #masthead nav a::after,
body.home .navbar-nav > li > a::after,
body.home .menu > li > a::after {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: 6px;
  height: 3px;
  border-radius: 999px;
  background: #ff1768;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .18s ease;
}

body.home .site-header nav a:hover::after,
body.home #masthead nav a:hover::after,
body.home .navbar-nav > li > a:hover::after,
body.home .menu > li > a:hover::after,
body.home .current-menu-item > a::after,
body.home .current_page_item > a::after,
body.home .active > a::after {
  transform: scaleX(1);
}

@media (max-width: 620px) {
  body.home .site-header nav a::after,
  body.home #masthead nav a::after,
  body.home .navbar-nav > li > a::after,
  body.home .menu > li > a::after {
    bottom: 3px;
  }
}


/* Revision 20: compact navigation logo closer to original sample */
.ilf-logo-link {
  display: inline-flex !important;
  align-items: center;
  text-decoration: none !important;
  padding: 2px 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  transform: none !important;
}

.ilf-logo-link:hover {
  background: transparent !important;
  transform: none !important;
}

header .ilf-header-logo,
.site-header .ilf-header-logo,
body.home .ilf-header-logo {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  white-space: nowrap;
  line-height: .88;
}

header .ilf-header-logo-top,
.site-header .ilf-header-logo-top,
body.home .ilf-header-logo-top {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 2px;
}

header .ilf-logo-love,
.site-header .ilf-logo-love,
body.home .ilf-logo-love {
  color: #ff78ac;
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  text-shadow: none;
}

header .ilf-logo-heart,
.site-header .ilf-logo-heart,
body.home .ilf-logo-heart {
  color: #ff2f84;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 1;
  transform: translateY(-1px);
  filter: none;
}

header .ilf-logo-freebies,
.site-header .ilf-logo-freebies,
body.home .ilf-logo-freebies {
  color: #ffffff;
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif;
  font-size: 31px;
  font-weight: 900;
  letter-spacing: -.9px;
  line-height: .9;
  text-shadow: 0 1px 2px rgba(3,29,73,.20);
}

/* disable image logo styling from prior revision */
.ilf-header-logo-image {
  display: none !important;
}

@media (max-width: 1024px) {
  header .ilf-logo-love,
  .site-header .ilf-logo-love,
  body.home .ilf-logo-love {
    font-size: 12px;
  }

  header .ilf-logo-heart,
  .site-header .ilf-logo-heart,
  body.home .ilf-logo-heart {
    font-size: 13px;
  }

  header .ilf-logo-freebies,
  .site-header .ilf-logo-freebies,
  body.home .ilf-logo-freebies {
    font-size: 27px;
  }
}

@media (max-width: 620px) {
  header .ilf-logo-love,
  .site-header .ilf-logo-love,
  body.home .ilf-logo-love {
    font-size: 10px;
    letter-spacing: 1.1px;
  }

  header .ilf-logo-heart,
  .site-header .ilf-logo-heart,
  body.home .ilf-logo-heart {
    font-size: 11px;
  }

  header .ilf-logo-freebies,
  .site-header .ilf-logo-freebies,
  body.home .ilf-logo-freebies {
    font-size: 22px;
  }
}


/* Revision 21: top navigation logo styled like footer logo */
header .ilf-logo-link,
.site-header .ilf-logo-link,
body.home .ilf-logo-link {
  display: inline-flex !important;
  align-items: center;
  padding: 0 !important;
  margin: 0;
  background: transparent !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  transform: none !important;
}

header .ilf-logo-link:hover,
.site-header .ilf-logo-link:hover,
body.home .ilf-logo-link:hover {
  background: transparent !important;
  transform: none !important;
}

header .ilf-nav-logo,
.site-header .ilf-nav-logo,
body.home .ilf-nav-logo {
  color: #ffffff;
  font-size: 22px;
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.4px;
  display: inline-block;
}

header .ilf-nav-logo span,
.site-header .ilf-nav-logo span,
body.home .ilf-nav-logo span {
  display: block;
  color: #ff6ca8;
  font: italic 700 18px Georgia, serif;
  letter-spacing: 0;
  margin-bottom: 2px;
}

/* neutralize old compact logo pieces */
header .ilf-header-logo,
.site-header .ilf-header-logo,
body.home .ilf-header-logo {
  display: none !important;
}

header .ilf-logo-love,
header .ilf-logo-heart,
header .ilf-logo-freebies,
.site-header .ilf-logo-love,
.site-header .ilf-logo-heart,
.site-header .ilf-logo-freebies,
body.home .ilf-logo-love,
body.home .ilf-logo-heart,
body.home .ilf-logo-freebies {
  all: unset;
}

@media (max-width: 1024px) {
  header .ilf-nav-logo,
  .site-header .ilf-nav-logo,
  body.home .ilf-nav-logo {
    font-size: 20px;
  }

  header .ilf-nav-logo span,
  .site-header .ilf-nav-logo span,
  body.home .ilf-nav-logo span {
    font-size: 16px;
  }
}

@media (max-width: 620px) {
  header .ilf-nav-logo,
  .site-header .ilf-nav-logo,
  body.home .ilf-nav-logo {
    font-size: 18px;
  }

  header .ilf-nav-logo span,
  .site-header .ilf-nav-logo span,
  body.home .ilf-nav-logo span {
    font-size: 14px;
  }
}


/* Revision 23: use the custom I Love Freebies footer sitewide */
body:not(.home) .ilf-footer {
  margin-top: 52px;
}

body .ilf-footer {
  clear: both;
  width: 100%;
}

body .ilf-footer + footer,
body .ilf-footer ~ .site-footer,
body .ilf-footer ~ #colophon,
body .ilf-footer ~ .footer-area,
body .ilf-footer ~ .footer-bottom,
body .ilf-footer ~ .site-info {
  display: none !important;
}


/* Revision 24: keep active navigation typography identical to other links */
.site-header nav a,
#masthead nav a,
.navbar-nav > li > a,
.menu > li > a {
  font-family: "Trebuchet MS", Arial, sans-serif !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

.site-header .current-menu-item > a,
.site-header .current_page_item > a,
.site-header .active > a,
#masthead .current-menu-item > a,
#masthead .current_page_item > a,
#masthead .active > a,
.navbar-nav > .current-menu-item > a,
.navbar-nav > .current_page_item > a,
.navbar-nav > .active > a,
.menu > .current-menu-item > a,
.menu > .current_page_item > a,
.menu > .active > a {
  font-family: "Trebuchet MS", Arial, sans-serif !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  color: var(--ilf-pink) !important;
}

@media (max-width: 620px) {
  .site-header nav a,
  #masthead nav a,
  .navbar-nav > li > a,
  .menu > li > a,
  .site-header .current-menu-item > a,
  .site-header .current_page_item > a,
  .site-header .active > a,
  #masthead .current-menu-item > a,
  #masthead .current_page_item > a,
  #masthead .active > a {
    font-size: 15px !important;
  }
}


/* Revision 25: blend embedded MailPoet form into homepage newsletter bar */
body.home .ilf-newsletter .mailpoet_form,
body.home .ilf-newsletter form.mailpoet_form,
body.home .ilf-newsletter .mailpoet_form_form,
body.home .ilf-newsletter .mailpoet_form_container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.home .ilf-newsletter .mailpoet_form_columns,
body.home .ilf-newsletter .mailpoet_form_column,
body.home .ilf-newsletter .mailpoet_form_paragraph,
body.home .ilf-newsletter .mailpoet_paragraph {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.home .ilf-newsletter .mailpoet_form_columns {
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
}

body.home .ilf-newsletter .mailpoet_form_column {
  display: flex !important;
  align-items: stretch !important;
}

body.home .ilf-newsletter .mailpoet_form_column > * {
  flex: 1 1 auto;
}

body.home .ilf-newsletter input[type="email"],
body.home .ilf-newsletter input.mailpoet_text,
body.home .ilf-newsletter .mailpoet_text {
  width: 100% !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 12px 0 0 12px !important;
  background: #ffffff !important;
  color: #102653 !important;
  font-size: 16px !important;
  box-shadow: none !important;
  outline: none !important;
}

body.home .ilf-newsletter input[type="submit"],
body.home .ilf-newsletter button[type="submit"],
body.home .ilf-newsletter .mailpoet_submit {
  min-width: 165px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 0 12px 12px 0 !important;
  background: #ff1768 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

body.home .ilf-newsletter input[type="submit"]:hover,
body.home .ilf-newsletter button[type="submit"]:hover,
body.home .ilf-newsletter .mailpoet_submit:hover {
  background: #d90655 !important;
}

body.home .ilf-newsletter .mailpoet_message,
body.home .ilf-newsletter .mailpoet_error,
body.home .ilf-newsletter .mailpoet_validate_success {
  margin-top: 10px !important;
  color: #ffffff !important;
}

@media (max-width: 720px) {
  body.home .ilf-newsletter .mailpoet_form_columns {
    display: block !important;
  }

  body.home .ilf-newsletter input[type="email"],
  body.home .ilf-newsletter input.mailpoet_text,
  body.home .ilf-newsletter .mailpoet_text,
  body.home .ilf-newsletter input[type="submit"],
  body.home .ilf-newsletter button[type="submit"],
  body.home .ilf-newsletter .mailpoet_submit {
    width: 100% !important;
    border-radius: 10px !important;
  }

  body.home .ilf-newsletter input[type="submit"],
  body.home .ilf-newsletter button[type="submit"],
  body.home .ilf-newsletter .mailpoet_submit {
    margin-top: 10px !important;
  }
}


/* Revision 26: horizontal MailPoet form with dark submit button */
body.home .ilf-newsletter-inner > .mailpoet_form,
body.home .ilf-newsletter-inner .mailpoet_form,
body.home .ilf-newsletter-inner .mailpoet_form form,
body.home .ilf-newsletter-inner .mailpoet_form_columns,
body.home .ilf-newsletter-inner .mailpoet_form_column,
body.home .ilf-newsletter-inner .mailpoet_form_paragraph,
body.home .ilf-newsletter-inner .mailpoet_paragraph {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.home .ilf-newsletter-inner .mailpoet_form,
body.home .ilf-newsletter-inner .mailpoet_form form,
body.home .ilf-newsletter-inner .mailpoet_form_columns {
  width: 100% !important;
}

body.home .ilf-newsletter-inner .mailpoet_form form,
body.home .ilf-newsletter-inner .mailpoet_form_columns,
body.home .ilf-newsletter-inner .mailpoet_form_column {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 0 !important;
}

body.home .ilf-newsletter-inner .mailpoet_form_paragraph,
body.home .ilf-newsletter-inner .mailpoet_paragraph {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

body.home .ilf-newsletter-inner input[type="email"],
body.home .ilf-newsletter-inner .mailpoet_text,
body.home .ilf-newsletter-inner .mailpoet_form input[type="text"] {
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 12px 0 0 12px !important;
  background: #ffffff !important;
  color: #102653 !important;
  font-size: 16px !important;
  box-shadow: none !important;
  outline: none !important;
}

body.home .ilf-newsletter-inner .mailpoet_submit,
body.home .ilf-newsletter-inner button[type="submit"],
body.home .ilf-newsletter-inner input[type="submit"] {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 170px !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 0 12px 12px 0 !important;
  background: #2d2f33 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 56px !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background .18s ease, transform .18s ease !important;
}

body.home .ilf-newsletter-inner .mailpoet_submit:hover,
body.home .ilf-newsletter-inner button[type="submit"]:hover,
body.home .ilf-newsletter-inner input[type="submit"]:hover {
  background: #191b1f !important;
  transform: none !important;
}

body.home .ilf-newsletter-inner .mailpoet_form_loading,
body.home .ilf-newsletter-inner .mailpoet_validate_success,
body.home .ilf-newsletter-inner .mailpoet_validate_error {
  width: 100% !important;
  margin-top: 8px !important;
}

@media (max-width: 760px) {
  body.home .ilf-newsletter-inner .mailpoet_form form,
  body.home .ilf-newsletter-inner .mailpoet_form_columns,
  body.home .ilf-newsletter-inner .mailpoet_form_column {
    flex-direction: column !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  body.home .ilf-newsletter-inner input[type="email"],
  body.home .ilf-newsletter-inner .mailpoet_text,
  body.home .ilf-newsletter-inner .mailpoet_form input[type="text"],
  body.home .ilf-newsletter-inner .mailpoet_submit,
  body.home .ilf-newsletter-inner button[type="submit"],
  body.home .ilf-newsletter-inner input[type="submit"] {
    width: 100% !important;
    min-width: 0 !important;
    border-radius: 12px !important;
  }
}


/* Revision 27: reliable MailPoet email + button row */
body.home .ilf-newsletter-inner {
  overflow: hidden;
}

body.home .ilf-newsletter-inner > :last-child {
  min-width: 0 !important;
  width: 100% !important;
}

body.home .ilf-newsletter-inner .mailpoet_form,
body.home .ilf-newsletter-inner form.mailpoet_form,
body.home .ilf-newsletter-inner .mailpoet_form_form,
body.home .ilf-newsletter-inner .mailpoet_form_container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 170px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Flatten MailPoet's editor wrappers so the field and button become grid items. */
body.home .ilf-newsletter-inner .mailpoet_form_columns,
body.home .ilf-newsletter-inner .mailpoet_form_column,
body.home .ilf-newsletter-inner .mailpoet_form_paragraph,
body.home .ilf-newsletter-inner .mailpoet_paragraph,
body.home .ilf-newsletter-inner .mailpoet_form_column > div {
  display: contents !important;
}

body.home .ilf-newsletter-inner label,
body.home .ilf-newsletter-inner .mailpoet_form_label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.home .ilf-newsletter-inner input[type="email"],
body.home .ilf-newsletter-inner input.mailpoet_text,
body.home .ilf-newsletter-inner .mailpoet_text {
  display: block !important;
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 12px 0 0 12px !important;
  background: #ffffff !important;
  color: #102653 !important;
  font-size: 16px !important;
  line-height: normal !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.home .ilf-newsletter-inner .mailpoet_submit,
body.home .ilf-newsletter-inner button[type="submit"],
body.home .ilf-newsletter-inner input[type="submit"] {
  display: block !important;
  grid-column: 2 !important;
  width: 170px !important;
  min-width: 170px !important;
  max-width: 170px !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 0 12px 12px 0 !important;
  background: #2d2f33 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 56px !important;
  text-align: center !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  transform: none !important;
  position: static !important;
}

body.home .ilf-newsletter-inner .mailpoet_submit:hover,
body.home .ilf-newsletter-inner button[type="submit"]:hover,
body.home .ilf-newsletter-inner input[type="submit"]:hover {
  background: #17191d !important;
}

body.home .ilf-newsletter-inner .mailpoet_message,
body.home .ilf-newsletter-inner .mailpoet_error,
body.home .ilf-newsletter-inner .mailpoet_validate_success,
body.home .ilf-newsletter-inner .mailpoet_validate_error {
  grid-column: 1 / -1 !important;
}

@media (max-width: 760px) {
  body.home .ilf-newsletter-inner .mailpoet_form,
  body.home .ilf-newsletter-inner form.mailpoet_form,
  body.home .ilf-newsletter-inner .mailpoet_form_form,
  body.home .ilf-newsletter-inner .mailpoet_form_container {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.home .ilf-newsletter-inner input[type="email"],
  body.home .ilf-newsletter-inner input.mailpoet_text,
  body.home .ilf-newsletter-inner .mailpoet_text,
  body.home .ilf-newsletter-inner .mailpoet_submit,
  body.home .ilf-newsletter-inner button[type="submit"],
  body.home .ilf-newsletter-inner input[type="submit"] {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    border-radius: 12px !important;
  }
}


/* Revision 28: newsletter button matches field size with rounded corners */
body.home .ilf-newsletter-inner .mailpoet_form,
body.home .ilf-newsletter-inner form.mailpoet_form,
body.home .ilf-newsletter-inner .mailpoet_form_form,
body.home .ilf-newsletter-inner .mailpoet_form_container {
  grid-template-columns: minmax(0, 1fr) 185px !important;
  gap: 12px !important;
  align-items: center !important;
}

body.home .ilf-newsletter-inner input[type="email"],
body.home .ilf-newsletter-inner input.mailpoet_text,
body.home .ilf-newsletter-inner .mailpoet_text {
  height: 56px !important;
  min-height: 56px !important;
  border-radius: 12px !important;
}

body.home .ilf-newsletter-inner .mailpoet_submit,
body.home .ilf-newsletter-inner button[type="submit"],
body.home .ilf-newsletter-inner input[type="submit"] {
  width: 185px !important;
  min-width: 185px !important;
  max-width: 185px !important;
  height: 56px !important;
  min-height: 56px !important;
  line-height: normal !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  padding: 0 20px !important;
  font-size: 14px !important;
}

@media (max-width: 760px) {
  body.home .ilf-newsletter-inner .mailpoet_form,
  body.home .ilf-newsletter-inner form.mailpoet_form,
  body.home .ilf-newsletter-inner .mailpoet_form_form,
  body.home .ilf-newsletter-inner .mailpoet_form_container {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.home .ilf-newsletter-inner .mailpoet_submit,
  body.home .ilf-newsletter-inner button[type="submit"],
  body.home .ilf-newsletter-inner input[type="submit"] {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}


/* Revision 29: JavaScript-normalized MailPoet row */
body.home .ilf-newsletter-inner .ilf-mailpoet-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 185px !important;
  gap: 12px !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.home .ilf-newsletter-inner .ilf-mailpoet-row input[type="email"],
body.home .ilf-newsletter-inner .ilf-mailpoet-row input.mailpoet_text {
  width: 100% !important;
  min-width: 0 !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #102653 !important;
  font-size: 16px !important;
  box-shadow: none !important;
}

body.home .ilf-newsletter-inner .ilf-mailpoet-row button[type="submit"],
body.home .ilf-newsletter-inner .ilf-mailpoet-row input[type="submit"],
body.home .ilf-newsletter-inner .ilf-mailpoet-row .mailpoet_submit {
  width: 185px !important;
  min-width: 185px !important;
  max-width: 185px !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #2d2f33 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  position: static !important;
  transform: none !important;
}

body.home .ilf-newsletter-inner .ilf-mailpoet-row button[type="submit"]:hover,
body.home .ilf-newsletter-inner .ilf-mailpoet-row input[type="submit"]:hover,
body.home .ilf-newsletter-inner .ilf-mailpoet-row .mailpoet_submit:hover {
  background: #17191d !important;
}

@media (max-width: 760px) {
  body.home .ilf-newsletter-inner .ilf-mailpoet-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.home .ilf-newsletter-inner .ilf-mailpoet-row button[type="submit"],
  body.home .ilf-newsletter-inner .ilf-mailpoet-row input[type="submit"],
  body.home .ilf-newsletter-inner .ilf-mailpoet-row .mailpoet_submit {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}


/* Revision 30: target MailPoet's actual visible email field and wrappers */
body.home .ilf-newsletter-inner .ilf-mailpoet-row {
  display: grid !important;
  grid-template-columns: minmax(280px, 1fr) 185px !important;
  gap: 12px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.home .ilf-newsletter-inner .ilf-mailpoet-row .ilf-mailpoet-email-wrap,
body.home .ilf-newsletter-inner .ilf-mailpoet-row .ilf-mailpoet-submit-wrap {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body.home .ilf-newsletter-inner .ilf-mailpoet-row .ilf-mailpoet-email-wrap {
  grid-column: 1 !important;
}

body.home .ilf-newsletter-inner .ilf-mailpoet-row .ilf-mailpoet-submit-wrap {
  grid-column: 2 !important;
}

body.home .ilf-newsletter-inner .ilf-mailpoet-row .ilf-mailpoet-email-wrap input[type="email"],
body.home .ilf-newsletter-inner .ilf-mailpoet-row .ilf-mailpoet-email-wrap input.mailpoet_text {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #102653 !important;
  font-size: 16px !important;
  box-sizing: border-box !important;
}

body.home .ilf-newsletter-inner .ilf-mailpoet-row .ilf-mailpoet-submit-wrap button[type="submit"],
body.home .ilf-newsletter-inner .ilf-mailpoet-row .ilf-mailpoet-submit-wrap input[type="submit"],
body.home .ilf-newsletter-inner .ilf-mailpoet-row .ilf-mailpoet-submit-wrap .mailpoet_submit {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 56px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #2d2f33 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

body.home .ilf-newsletter-inner .ilf-mailpoet-row .mailpoet_error,
body.home .ilf-newsletter-inner .ilf-mailpoet-row .mailpoet_validate_error {
  display: block !important;
  margin: 6px 0 0 !important;
  color: #ffffff !important;
  font-size: 12px !important;
}

@media (max-width: 760px) {
  body.home .ilf-newsletter-inner .ilf-mailpoet-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.home .ilf-newsletter-inner .ilf-mailpoet-row .ilf-mailpoet-email-wrap,
  body.home .ilf-newsletter-inner .ilf-mailpoet-row .ilf-mailpoet-submit-wrap {
    grid-column: 1 !important;
  }
}


/* Revision 31: visible SEO introduction */
.ilf-seo-intro {
  padding: 8px 0 48px;
  background: #ffffff;
}

.ilf-seo-intro-card {
  max-width: 980px;
  margin: 0 auto;
  padding: 30px 36px;
  border: 1px solid #edf0f6;
  border-radius: 20px;
  background: linear-gradient(180deg, #fffafb 0%, #ffffff 100%);
  box-shadow: 0 10px 28px rgba(6,38,93,.06);
}

.ilf-seo-intro h2 {
  margin: 0 0 16px;
  color: var(--ilf-navy);
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.18;
  text-align: center;
}

.ilf-seo-intro p {
  margin: 0 0 14px;
  color: #425477;
  font-size: 16px;
  line-height: 1.72;
}

.ilf-seo-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px 24px;
  margin-top: 20px;
}

.ilf-seo-links a {
  color: var(--ilf-pink);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.ilf-seo-links a:hover {
  color: var(--ilf-pink-dark);
}

@media (max-width: 620px) {
  .ilf-seo-intro {
    padding: 4px 0 34px;
  }

  .ilf-seo-intro-card {
    padding: 24px 20px;
    border-radius: 16px;
  }

  .ilf-seo-intro p {
    font-size: 15px;
    line-height: 1.65;
  }
}


/* Revision 32: SEO-friendly homepage and concise archive templates */
.ilf-title-accent { color: var(--ilf-pink); }

.ilf-archive {
  background: #f8faff;
  color: var(--ilf-navy);
}

.ilf-archive-hero {
  padding: 48px 0 34px;
  text-align: center;
  background: linear-gradient(180deg, #fff7fb 0%, #ffffff 100%);
  border-bottom: 1px solid #edf0f6;
}

.ilf-archive-hero h1 {
  margin: 0 0 14px;
  color: var(--ilf-navy);
  font-size: clamp(34px, 5vw, 54px);
  line-height: 1.08;
}

.ilf-archive-description {
  max-width: 850px;
  margin: 0 auto;
  color: #4f6282;
  font-size: 17px;
  line-height: 1.7;
}

.ilf-archive-description p:last-child { margin-bottom: 0; }
.ilf-archive-results { padding: 42px 0 64px; }

.ilf-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.ilf-archive-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #e4e9f2;
  border-radius: 18px;
  box-shadow: 0 9px 24px rgba(6, 38, 93, .08);
}

.ilf-archive-image {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #fff2f7;
}

.ilf-archive-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ilf-archive-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 20px;
}

.ilf-archive-card h2 {
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.25;
}

.ilf-archive-card h2 a {
  color: var(--ilf-navy);
  text-decoration: none;
}

.ilf-archive-card h2 a:hover { color: var(--ilf-pink); }

.ilf-archive-card p {
  margin: 0 0 18px;
  color: #52617b;
  line-height: 1.6;
}

.ilf-archive-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: auto;
  padding: 10px 18px;
  color: #ffffff;
  background: var(--ilf-navy);
  border-radius: 10px;
  font-weight: 800;
  text-decoration: none;
}

.ilf-archive-button:hover { background: var(--ilf-pink); color: #fff; }
.ilf-pagination { margin-top: 38px; text-align: center; }
.ilf-pagination .nav-links { display: inline-flex; gap: 8px; align-items: center; }
.ilf-pagination .page-numbers { padding: 8px 12px; background: #fff; border: 1px solid #dce3ef; border-radius: 8px; text-decoration: none; }
.ilf-pagination .current { color: #fff; background: var(--ilf-pink); border-color: var(--ilf-pink); }

/* Keep MailPoet honeypot fields out of visual and parsed layout flow. */
.ilf-newsletter input[name^="data[form_field_"].mailpoet_hp_email_label,
.ilf-newsletter .mailpoet_hp_email_label,
.ilf-newsletter .mailpoet_form_paragraph.last,
.ilf-newsletter [aria-hidden="true"] input[type="text"] {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 980px) {
  .ilf-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .ilf-archive-hero { padding: 34px 0 24px; }
  .ilf-archive-grid { grid-template-columns: 1fr; }
  .ilf-archive-results { padding: 28px 0 48px; }
}


/* Revision 33: balanced SEO hero */
body.home .ilf-hero {
  padding-top: 48px;
  padding-bottom: 28px;
}

body.home .ilf-hero-grid {
  align-items: center;
  min-height: 500px;
}

body.home .ilf-kicker {
  max-width: none;
  margin: 0 0 12px;
  font-size: clamp(42px, 5.2vw, 68px);
  line-height: .96;
}

body.home .ilf-title {
  margin: 0 0 20px;
  max-width: 650px;
}

body.home .ilf-title-main,
body.home .ilf-title-sub {
  display: block;
}

body.home .ilf-title-main {
  color: var(--ilf-navy);
  font-size: clamp(43px, 4.8vw, 66px);
  font-weight: 900;
  line-height: .98;
  letter-spacing: -1.9px;
}

body.home .ilf-title-sub {
  margin-top: 7px;
  color: var(--ilf-navy);
  font-size: clamp(32px, 3.7vw, 50px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -1.2px;
}

body.home .ilf-title-sub em {
  color: var(--ilf-pink);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
}

body.home .ilf-lead {
  max-width: 650px;
  margin-bottom: 22px;
  font-size: 18px;
  line-height: 1.6;
}

body.home .ilf-mascot > img {
  width: min(100%, 520px);
}

@media (max-width: 1024px) {
  body.home .ilf-hero-grid { min-height: auto; }
  body.home .ilf-title-main { font-size: clamp(40px, 7vw, 58px); }
  body.home .ilf-title-sub { font-size: clamp(30px, 5.5vw, 44px); }
}

@media (max-width: 767px) {
  body.home .ilf-hero { padding-top: 34px; }
  body.home .ilf-kicker { font-size: 45px; }
  body.home .ilf-title-main { font-size: 42px; letter-spacing: -1px; }
  body.home .ilf-title-sub { font-size: 32px; }
  body.home .ilf-lead { font-size: 16px; }
}


/* Revision 34: more compact homepage hero */
body.home .ilf-hero {
  padding-top: 30px;
  padding-bottom: 20px;
}

body.home .ilf-hero-grid {
  min-height: 410px;
  grid-template-columns: 1.08fr .92fr;
  gap: 36px;
}

body.home .ilf-kicker {
  margin-bottom: 8px;
  font-size: clamp(38px, 4.2vw, 54px);
  line-height: .94;
}

body.home .ilf-title {
  max-width: 590px;
  margin-bottom: 14px;
}

body.home .ilf-title-main {
  font-size: clamp(36px, 3.9vw, 52px);
  line-height: .98;
  letter-spacing: -1.4px;
}

body.home .ilf-title-sub {
  margin-top: 4px;
  font-size: clamp(27px, 3vw, 38px);
  line-height: 1;
  letter-spacing: -.8px;
}

body.home .ilf-lead {
  max-width: 590px;
  margin-bottom: 16px;
  font-size: 16px;
  line-height: 1.5;
}

body.home .ilf-actions {
  gap: 14px;
}

body.home .ilf-actions .ilf-btn {
  min-height: 46px;
  padding: 10px 24px;
}

body.home .ilf-mascot {
  min-height: 410px;
}

body.home .ilf-mascot > img {
  width: min(100%, 440px);
  max-height: 500px;
}

@media (max-width: 1024px) {
  body.home .ilf-hero-grid {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.home .ilf-mascot {
    min-height: 330px;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 390px);
  }
}

@media (max-width: 767px) {
  body.home .ilf-hero { padding-top: 24px; }
  body.home .ilf-kicker { font-size: 38px; }
  body.home .ilf-title-main { font-size: 36px; }
  body.home .ilf-title-sub { font-size: 28px; }
  body.home .ilf-mascot { min-height: 280px; }
  body.home .ilf-mascot > img { width: min(100%, 320px); }
}


/* Revision 35: PageSpeed/LCP optimization */
body.home .ilf-hero-lcp {
  aspect-ratio: 1 / 1;
  contain: layout paint;
}


/* Revision 36: mobile rendering and accessibility improvements */
.ilf-skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 100000;
  padding: 12px 18px;
  border-radius: 8px;
  background: #ffffff;
  color: #06265d;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(0,0,0,.22);
  transform: translateY(-160%);
  transition: transform .15s ease;
}

.ilf-skip-link:focus {
  transform: translateY(0);
  outline: 3px solid #ff1768;
  outline-offset: 2px;
}

/* Keep active navigation typography identical while improving contrast. */
body .site-header a,
body header nav a,
body header .navbar-nav a {
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

body .site-header .current-menu-item > a,
body .site-header .current_page_item > a,
body header nav .active > a,
body header .navbar-nav .current-menu-item > a {
  color: #ffc1d7 !important;
}

/* Logo accent stays readable on the blue navigation bar. */
header .ilf-nav-logo span,
.site-header .ilf-nav-logo span,
body.home .ilf-nav-logo span {
  color: #ffc1d7 !important;
}

/* Strong, consistent keyboard focus for interactive controls. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid #ff1768 !important;
  outline-offset: 3px !important;
}

/* Defer layout and paint work for sections below the initial viewport. */
body.home .ilf-featured-section,
body.home .ilf-seo-intro,
body.home .ilf-how,
body.home .ilf-newsletter,
body.home .ilf-footer {
  content-visibility: auto;
  contain-intrinsic-size: auto 700px;
}

body.home .ilf-seo-intro,
body.home .ilf-how,
body.home .ilf-newsletter {
  contain-intrinsic-size: auto 480px;
}

/* Make supporting text pass normal-text contrast targets. */
.ilf-card p,
.ilf-step p,
.ilf-lead,
.ilf-seo-intro-card p {
  color: #445675;
}

/* Avoid costly hover motion for users who prefer reduced motion. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 767px) {
  body.home .ilf-featured-section {
    contain-intrinsic-size: auto 1800px;
  }

  body.home .ilf-seo-intro,
  body.home .ilf-how,
  body.home .ilf-newsletter,
  body.home .ilf-footer {
    contain-intrinsic-size: auto 700px;
  }
}


/* Revision 37: remaining Lighthouse accessibility fixes */
/* Darker brand pink passes contrast on white and as a button background. */
.ilf-btn-primary,
.ilf-form button,
body.home .ilf-newsletter-inner .mailpoet_submit,
body.home .ilf-newsletter-inner button[type="submit"],
body.home .ilf-newsletter-inner input[type="submit"] {
  background: #292c32 !important;
  color: #ffffff !important;
}

.ilf-btn-primary {
  background: linear-gradient(135deg, #d00052, #a80042) !important;
}

.ilf-btn-outline,
.ilf-seo-links a,
.ilf-card-meta,
.ilf-title em,
.ilf-kicker,
.ilf-lead strong {
  color: #c0004b !important;
}

.ilf-btn-outline {
  border-color: #c0004b !important;
}

/* Light pink is reserved for text displayed on navy/blue backgrounds. */
header .ilf-nav-logo span,
.site-header .ilf-nav-logo span,
body.home .ilf-nav-logo span,
.ilf-footer .ilf-logo-text span {
  color: #ffd3e3 !important;
}

body .site-header .current-menu-item > a,
body .site-header .current_page_item > a,
body header nav .active > a,
body header .navbar-nav .current-menu-item > a {
  color: #ffffff !important;
  text-decoration-color: #ffd3e3 !important;
}

/* Improve small supporting text and links that Lighthouse may flag. */
.ilf-card p,
.ilf-step p,
.ilf-seo-intro-card p,
.ilf-footer p,
.ilf-footer a,
.ilf-copy,
.ilf-newsletter p {
  opacity: 1 !important;
}

.ilf-card p,
.ilf-step p,
.ilf-seo-intro-card p {
  color: #344867 !important;
}

/* Keep icon-only controls visibly focusable even when injected by plugins. */
button[aria-label]:focus-visible,
input[type="submit"][aria-label]:focus-visible,
input[type="button"][aria-label]:focus-visible {
  outline: 3px solid #ffd3e3 !important;
  outline-offset: 3px !important;
}


/* Revision 40: theme-preview-inspired hero typography */
body.home .ilf-kicker {
  margin: 0 0 14px !important;
  color: #d00052 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(42px, 4.1vw, 62px) !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: -1.8px !important;
  line-height: .9 !important;
  text-shadow: 0 2px 0 rgba(255,255,255,.9) !important;
}

body.home .ilf-title {
  margin: 0 0 20px !important;
  color: #092d68 !important;
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 900 !important;
  letter-spacing: -1.7px !important;
  line-height: .98 !important;
}

body.home .ilf-title-main,
body.home .ilf-title-line,
body.home .ilf-title-sub {
  display: block !important;
}

body.home .ilf-title-main {
  color: #092d68 !important;
  font-size: clamp(39px, 3.7vw, 57px) !important;
  line-height: .98 !important;
}

body.home .ilf-title-line + .ilf-title-line {
  margin-top: 3px !important;
}

body.home .ilf-title-accent {
  color: #d00052 !important;
}

body.home .ilf-title-sub {
  margin-top: 8px !important;
  color: #092d68 !important;
  font-size: clamp(31px, 3vw, 45px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -1.2px !important;
}

body.home .ilf-title-sub em {
  color: #d00052 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: -1px !important;
}

@media (max-width: 767px) {
  body.home .ilf-kicker {
    margin-bottom: 10px !important;
    font-size: clamp(36px, 11vw, 48px) !important;
    letter-spacing: -1.2px !important;
  }

  body.home .ilf-title {
    letter-spacing: -1px !important;
  }

  body.home .ilf-title-main {
    font-size: clamp(32px, 9.8vw, 42px) !important;
  }

  body.home .ilf-title-sub {
    margin-top: 7px !important;
    font-size: clamp(27px, 8vw, 34px) !important;
  }
}


/* Revision 41: compact theme-preview headline composition */
body.home .ilf-hero {
  padding-top: 26px !important;
  padding-bottom: 20px !important;
}

body.home .ilf-hero-grid {
  grid-template-columns: minmax(0, 1.18fr) minmax(330px, .82fr) !important;
  gap: 48px !important;
  min-height: 390px !important;
}

body.home .ilf-kicker {
  margin: 0 0 10px !important;
  color: #ef1767 !important;
  font-family: "Brush Script MT", "Segoe Script", "Lucida Handwriting", cursive !important;
  font-size: clamp(42px, 3.8vw, 58px) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: -1.6px !important;
  line-height: .82 !important;
  text-shadow: none !important;
}

body.home .ilf-kicker span {
  display: block !important;
}

body.home .ilf-title {
  max-width: 680px !important;
  margin: 0 0 16px !important;
  color: #082d69 !important;
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: -1.8px !important;
  line-height: .94 !important;
}

body.home .ilf-title-line {
  display: block !important;
  color: #082d69 !important;
  font-size: clamp(38px, 3.5vw, 52px) !important;
  line-height: .96 !important;
}

body.home .ilf-title-line + .ilf-title-line {
  margin-top: 4px !important;
}

body.home .ilf-title-sub {
  display: block !important;
  margin-top: 8px !important;
  color: #082d69 !important;
  font-size: clamp(31px, 2.8vw, 42px) !important;
  line-height: 1 !important;
  letter-spacing: -1.2px !important;
}

body.home .ilf-title-sub em {
  color: #ef1767 !important;
  font-family: "Brush Script MT", "Segoe Script", "Lucida Handwriting", cursive !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: -1px !important;
}

body.home .ilf-lead {
  max-width: 630px !important;
  margin-bottom: 16px !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

body.home .ilf-mascot > img {
  width: min(100%, 455px) !important;
}

@media (max-width: 1024px) {
  body.home .ilf-hero-grid {
    grid-template-columns: 1fr 0.82fr !important;
    gap: 28px !important;
  }

  body.home .ilf-title-line {
    font-size: clamp(34px, 4.7vw, 46px) !important;
  }
}

@media (max-width: 767px) {
  body.home .ilf-hero-grid {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    gap: 18px !important;
  }

  body.home .ilf-kicker {
    font-size: 42px !important;
    line-height: .86 !important;
  }

  body.home .ilf-title-line {
    font-size: clamp(31px, 9vw, 39px) !important;
  }

  body.home .ilf-title-sub {
    font-size: clamp(26px, 7.5vw, 32px) !important;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 300px) !important;
  }
}


/* Revision 42: elegant italic-serif hero accents */
body.home .ilf-kicker {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(40px, 3.55vw, 54px) !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: -1.8px !important;
  line-height: .88 !important;
}

body.home .ilf-title-sub em {
  font-family: Georgia, "Times New Roman", serif !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: -1.2px !important;
}

@media (max-width: 620px) {
  body.home .ilf-kicker {
    font-size: clamp(36px, 10vw, 44px) !important;
    line-height: .9 !important;
  }
}


/* Revision 44: one-line hero kicker and mascot image pinned to the right */
body.home .ilf-hero {
  padding-top: 26px !important;
  padding-bottom: 22px !important;
}

body.home .ilf-hero-grid {
  grid-template-columns: minmax(0, 1.16fr) minmax(360px, .84fr) !important;
  gap: 44px !important;
  align-items: center !important;
  min-height: 410px !important;
}

body.home .ilf-kicker {
  display: block !important;
  margin: 0 0 12px !important;
  color: #ef1767 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(40px, 3.6vw, 56px) !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: -1.8px !important;
  line-height: .92 !important;
  white-space: nowrap !important;
}

body.home .ilf-kicker span {
  display: inline !important;
}

body.home .ilf-title {
  max-width: 700px !important;
  margin: 0 0 16px !important;
  color: #082d69 !important;
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: -1.8px !important;
  line-height: .95 !important;
}

body.home .ilf-title-line {
  display: block !important;
  color: #082d69 !important;
  font-size: clamp(38px, 3.5vw, 52px) !important;
  line-height: .96 !important;
}

body.home .ilf-title-line + .ilf-title-line {
  margin-top: 4px !important;
}

body.home .ilf-title-sub {
  display: block !important;
  margin-top: 8px !important;
  color: #082d69 !important;
  font-size: clamp(31px, 2.8vw, 42px) !important;
  line-height: 1 !important;
  letter-spacing: -1.2px !important;
}

body.home .ilf-title-sub em {
  color: #ef1767 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: -1.2px !important;
}

body.home .ilf-lead {
  max-width: 630px !important;
  margin-bottom: 18px !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

body.home .ilf-mascot {
  min-height: 390px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  transform: none !important;
}

body.home .ilf-mascot::before {
  inset: 7% 0 4% 6% !important;
}

body.home .ilf-mascot > img {
  display: block !important;
  width: min(100%, 465px) !important;
  max-width: 100% !important;
  height: auto !important;
  margin-left: auto !important;
  opacity: 1 !important;
}

@media (max-width: 1024px) {
  body.home .ilf-hero-grid {
    grid-template-columns: 1fr 0.86fr !important;
    gap: 28px !important;
  }

  body.home .ilf-kicker {
    font-size: clamp(34px, 4.4vw, 48px) !important;
    white-space: normal !important;
  }

  body.home .ilf-title-line {
    font-size: clamp(34px, 4.7vw, 46px) !important;
  }

  body.home .ilf-title-sub {
    font-size: clamp(28px, 3.5vw, 36px) !important;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 390px) !important;
  }
}

@media (max-width: 767px) {
  body.home .ilf-hero-grid {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    gap: 18px !important;
  }

  body.home .ilf-kicker {
    font-size: clamp(36px, 10vw, 44px) !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body.home .ilf-title-line {
    font-size: clamp(31px, 9vw, 39px) !important;
  }

  body.home .ilf-title-sub {
    font-size: clamp(26px, 7.5vw, 32px) !important;
  }

  body.home .ilf-mascot {
    min-height: 250px !important;
    justify-content: center !important;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 300px) !important;
    margin-inline: auto !important;
  }
}

/* Revision 47: prevent hero mascot from appearing cut off */
body.home .ilf-mascot {
  min-height: 400px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  overflow: visible !important;
}

body.home .ilf-mascot > img {
  width: min(100%, 430px) !important;
  max-width: 100% !important;
  height: auto !important;
  margin-left: auto !important;
  object-fit: contain !important;
}

@media (max-width: 1024px) {
  body.home .ilf-mascot > img {
    width: min(100%, 360px) !important;
  }
}

@media (max-width: 767px) {
  body.home .ilf-mascot {
    min-height: 260px !important;
    justify-content: center !important;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 280px) !important;
    margin-inline: auto !important;
  }
}

/* Revision 48: enlarge hero mascot while keeping full artwork visible */
body.home .ilf-mascot {
  min-height: 470px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  overflow: visible !important;
}

body.home .ilf-mascot > img {
  width: min(100%, 480px) !important;
  max-width: 100% !important;
  height: auto !important;
  margin-left: auto !important;
  object-fit: contain !important;
}

@media (max-width: 1024px) {
  body.home .ilf-mascot {
    min-height: 400px !important;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 410px) !important;
  }
}

@media (max-width: 767px) {
  body.home .ilf-mascot {
    min-height: 300px !important;
    justify-content: center !important;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 300px) !important;
    margin-inline: auto !important;
  }
}

/* Revision 49: make hero mascot noticeably larger with a tighter crop */
body.home .ilf-mascot {
  min-height: 500px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  overflow: visible !important;
}

body.home .ilf-mascot > img {
  width: min(100%, 560px) !important;
  max-width: 100% !important;
  height: auto !important;
  margin-left: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 18px 30px rgba(6,38,93,.08)) !important;
}

@media (max-width: 1024px) {
  body.home .ilf-mascot {
    min-height: 420px !important;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 470px) !important;
  }
}

@media (max-width: 767px) {
  body.home .ilf-mascot {
    min-height: 310px !important;
    justify-content: center !important;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 340px) !important;
    margin-inline: auto !important;
  }
}

/* Revision 50: increase homepage hero mascot size */
body.home .ilf-hero-grid {
  grid-template-columns: minmax(0, 1.02fr) minmax(500px, .98fr) !important;
  gap: 26px !important;
}

body.home .ilf-mascot {
  min-height: 540px !important;
  justify-content: flex-end !important;
  overflow: visible !important;
}

body.home .ilf-mascot > img {
  width: min(100%, 650px) !important;
  max-width: none !important;
  height: auto !important;
  margin-left: auto !important;
  transform: translateX(18px) !important;
}

@media (max-width: 1180px) {
  body.home .ilf-hero-grid {
    grid-template-columns: 1fr .92fr !important;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 560px) !important;
    transform: none !important;
  }
}

@media (max-width: 1024px) {
  body.home .ilf-mascot {
    min-height: 460px !important;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 500px) !important;
  }
}

@media (max-width: 767px) {
  body.home .ilf-hero-grid {
    grid-template-columns: 1fr !important;
  }

  body.home .ilf-mascot {
    min-height: 340px !important;
    justify-content: center !important;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 380px) !important;
    margin-inline: auto !important;
  }
}


/* Revision 52: move homepage hero mascot closer to the headline */
body.home .ilf-hero-grid {
  grid-template-columns: minmax(0, 1.02fr) minmax(430px, .90fr) !important;
  gap: 8px !important;
  align-items: center !important;
}

body.home .ilf-mascot {
  min-height: 540px !important;
  justify-content: flex-start !important;
  overflow: visible !important;
}

body.home .ilf-mascot > img {
  width: min(100%, 700px) !important;
  max-width: none !important;
  height: auto !important;
  margin-left: -82px !important;
  transform: none !important;
}

@media (max-width: 1180px) {
  body.home .ilf-hero-grid {
    grid-template-columns: 1fr .94fr !important;
    gap: 12px !important;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 610px) !important;
    margin-left: -42px !important;
  }
}

@media (max-width: 1024px) {
  body.home .ilf-mascot {
    min-height: 460px !important;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 520px) !important;
    margin-left: -18px !important;
  }
}

@media (max-width: 767px) {
  body.home .ilf-hero-grid {
    grid-template-columns: 1fr !important;
  }

  body.home .ilf-mascot {
    min-height: 340px !important;
    justify-content: center !important;
  }

  body.home .ilf-mascot > img {
    width: min(100%, 380px) !important;
    margin-inline: auto !important;
    margin-left: auto !important;
  }
}


/* Revision 55: neutralize homepage hero background */
body.home .ilf-hero {
  background: #ffffff !important;
}

body.home .ilf-hero::after,
body.home .ilf-hero:after {
  background: none !important;
  opacity: 0 !important;
}

body.home .ilf-mascot::before {
  background: none !important;
  filter: none !important;
  opacity: 0 !important;
}

body.home .ilf-featured-section {
  background: #ffffff !important;
}


/* Revision 59: align coupon sidebar with the top of the featured image */
@media (min-width: 992px) {
  body.single-coupon #secondary,
  body.single-coupon .sidebar,
  body.single-coupon .widget-area,
  body.single-coupons #secondary,
  body.single-coupons .sidebar,
  body.single-coupons .widget-area {
    margin-top: 48px !important;
  }
}

@media (max-width: 991px) {
  body.single-coupon #secondary,
  body.single-coupon .sidebar,
  body.single-coupon .widget-area,
  body.single-coupons #secondary,
  body.single-coupons .sidebar,
  body.single-coupons .widget-area {
    margin-top: 0 !important;
  }
}

/* Revision 60: expanded, organized legal and company footer navigation. */
.ilf-footer-grid.ilf-footer-grid-expanded {
  grid-template-columns: minmax(230px, 1.35fr) repeat(4, minmax(145px, 1fr));
  gap: 34px;
  align-items: start;
}
.ilf-footer-brand > p {
  max-width: 270px;
  line-height: 1.65;
}
.ilf-footer-social {
  margin-top: 24px;
}
.ilf-footer-social h3 {
  margin-bottom: 8px;
}
.ilf-footer-social p {
  margin: 0 0 8px;
}
.ilf-footer nav h3 {
  letter-spacing: .04em;
}
.ilf-footer nav a {
  display: inline-block;
  line-height: 1.45;
}
@media (max-width: 1100px) {
  .ilf-footer-grid.ilf-footer-grid-expanded {
    grid-template-columns: minmax(240px, 1.25fr) repeat(2, minmax(180px, 1fr));
  }
}
@media (max-width: 760px) {
  .ilf-footer-grid.ilf-footer-grid-expanded {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 24px;
  }
  .ilf-footer-brand {
    grid-column: 1 / -1;
  }
  .ilf-footer-brand > p {
    max-width: 520px;
  }
}
@media (max-width: 520px) {
  .ilf-footer-grid.ilf-footer-grid-expanded {
    grid-template-columns: 1fr;
  }
  .ilf-footer-brand {
    grid-column: auto;
  }
}


/* Revision 61: homepage spacing, card hierarchy, SEO panel, newsletter and footer polish. */
body.home .ilf-hero {
  padding: 34px 0 0 !important;
}
body.home .ilf-hero-grid {
  min-height: 410px !important;
  gap: 4px !important;
}
body.home .ilf-mascot {
  min-height: 410px !important;
}
body.home .ilf-mascot > img {
  width: min(100%, 560px) !important;
  margin-left: -58px !important;
}
body.home .ilf-featured-section {
  padding: 28px 0 40px !important;
}
body.home .ilf-featured-section .ilf-container {
  max-width: 1180px !important;
}
body.home .ilf-featured-section .ilf-section-title {
  margin-bottom: 22px !important;
}
body.home .ilf-cards {
  gap: 18px !important;
}
body.home .ilf-card {
  border-radius: 16px !important;
  box-shadow: 0 8px 22px rgba(6,38,93,.08) !important;
}
body.home .ilf-card-media-inner {
  height: 158px !important;
}
body.home .ilf-card-body {
  height: calc(100% - 172px) !important;
  padding: 14px 15px 15px !important;
}
body.home .ilf-card h3 {
  font-size: 16px !important;
}
body.home .ilf-card p {
  font-size: 13px !important;
  line-height: 1.5 !important;
}
body.home .ilf-card .ilf-btn {
  min-height: 38px !important;
  border-radius: 8px !important;
}
body.home .ilf-seo-intro {
  padding: 8px 0 38px !important;
}
body.home .ilf-seo-intro-card {
  max-width: 860px !important;
  padding: 28px 34px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 26px rgba(6,38,93,.07) !important;
}
body.home .ilf-seo-intro h2 {
  margin-bottom: 12px !important;
  font-size: clamp(25px, 2.6vw, 32px) !important;
}
body.home .ilf-seo-intro p {
  max-width: 760px !important;
  margin: 0 auto 12px !important;
  font-size: 15px !important;
  line-height: 1.68 !important;
}
body.home .ilf-seo-links {
  margin-top: 18px !important;
  gap: 12px !important;
}
body.home .ilf-seo-links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 9px 18px !important;
  border: 1px solid #12396f !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #12396f !important;
  text-decoration: none !important;
  transition: transform .18s ease, background-color .18s ease, color .18s ease !important;
}
body.home .ilf-seo-links a:first-child {
  background: #12396f !important;
  color: #ffffff !important;
}
body.home .ilf-seo-links a:hover {
  transform: translateY(-2px) !important;
  background: #d00052 !important;
  border-color: #d00052 !important;
  color: #ffffff !important;
}
body.home .ilf-how {
  padding: 38px 0 34px !important;
}
body.home .ilf-how .ilf-section-title {
  margin-bottom: 22px !important;
}
body.home .ilf-steps {
  gap: 22px !important;
}
body.home .ilf-step-icon {
  width: 88px !important;
  height: 88px !important;
  margin-bottom: 10px !important;
  font-size: 40px !important;
}
body.home .ilf-step h3 {
  font-size: 21px !important;
}
body.home .ilf-step p {
  color: #344867 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
body.home .ilf-newsletter {
  padding: 0 0 0 !important;
}
body.home .ilf-newsletter-inner {
  gap: 24px !important;
  padding: 24px 30px 20px !important;
  border-radius: 16px 16px 0 0 !important;
}
body.home .ilf-newsletter-inner input[type="email"],
body.home .ilf-newsletter-inner .mailpoet_text,
body.home .ilf-newsletter-inner .ilf-form input {
  min-height: 54px !important;
}
body.home .ilf-newsletter-inner .mailpoet_submit,
body.home .ilf-newsletter-inner button[type="submit"],
body.home .ilf-newsletter-inner input[type="submit"],
body.home .ilf-newsletter-inner .ilf-form button {
  min-height: 54px !important;
  background: #d00052 !important;
  color: #ffffff !important;
}
body.home .ilf-newsletter-privacy {
  grid-column: 1 / -1;
  margin: -8px 0 0 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  text-align: right;
}
body.home .ilf-footer {
  padding-top: 46px !important;
}
body.home .ilf-footer-grid.ilf-footer-grid-expanded {
  gap: 40px !important;
}
body.home .ilf-footer-brand > p {
  margin-bottom: 20px !important;
}
body.home .ilf-footer-social {
  margin-top: 18px !important;
}
body.home .ilf-footer nav h3 {
  min-height: 20px;
}
body.home .ilf-footer nav li {
  margin: 9px 0 !important;
}
body.home .ilf-copy {
  margin-top: 38px !important;
  padding-top: 22px !important;
}

@media (max-width: 1100px) {
  body.home .ilf-hero-grid {
    min-height: 390px !important;
  }
  body.home .ilf-mascot {
    min-height: 390px !important;
  }
  body.home .ilf-mascot > img {
    width: min(100%, 500px) !important;
    margin-left: -28px !important;
  }
}

@media (max-width: 767px) {
  body.home .ilf-hero {
    padding-top: 28px !important;
  }
  body.home .ilf-hero-grid,
  body.home .ilf-mascot {
    min-height: 0 !important;
  }
  body.home .ilf-mascot > img {
    width: min(100%, 350px) !important;
    margin: 8px auto 0 !important;
  }
  body.home .ilf-featured-section {
    padding-top: 30px !important;
  }
  body.home .ilf-card-media-inner {
    min-height: 145px !important;
    height: 100% !important;
  }
  body.home .ilf-seo-intro-card {
    padding: 24px 20px !important;
  }
  body.home .ilf-how {
    padding: 34px 0 30px !important;
  }
  body.home .ilf-newsletter-inner {
    border-radius: 14px 14px 0 0 !important;
  }
  body.home .ilf-newsletter-privacy {
    text-align: center;
  }
}

/* Revision 62: final homepage spacing and footer/newsletter separation. */
body.home .ilf-hero-grid {
  min-height: 372px !important;
}
body.home .ilf-mascot {
  min-height: 372px !important;
}
body.home .ilf-featured-section {
  padding-top: 12px !important;
}
body.home .ilf-featured-section .ilf-section-title {
  margin-top: 0 !important;
  margin-bottom: 20px !important;
}
body.home .ilf-card h3 {
  font-size: 17px !important;
  line-height: 1.3 !important;
}
body.home .ilf-seo-links a {
  width: 250px !important;
  max-width: 100% !important;
}
body.home .ilf-newsletter {
  padding: 0 0 42px !important;
  background: #ffffff !important;
}
body.home .ilf-newsletter-inner {
  border-radius: 16px !important;
  box-shadow: 0 12px 28px rgba(6,38,93,.10) !important;
}
body.home .ilf-newsletter-inner input[type="email"],
body.home .ilf-newsletter-inner .mailpoet_text,
body.home .ilf-newsletter-inner .ilf-form input,
body.home .ilf-newsletter-inner .mailpoet_submit,
body.home .ilf-newsletter-inner button[type="submit"],
body.home .ilf-newsletter-inner input[type="submit"],
body.home .ilf-newsletter-inner .ilf-form button {
  height: 54px !important;
  min-height: 54px !important;
  box-sizing: border-box !important;
}
body.home .ilf-footer {
  padding-top: 52px !important;
}
body.home .ilf-footer-social {
  margin-top: 24px !important;
}
body.home .ilf-footer-social p,
body.home .ilf-footer-social a {
  line-height: 1.7 !important;
}
body.home .ilf-footer nav ul {
  line-height: 1.65 !important;
}

@media (max-width: 1100px) {
  body.home .ilf-hero-grid,
  body.home .ilf-mascot {
    min-height: 360px !important;
  }
}

@media (max-width: 767px) {
  body.home .ilf-featured-section {
    padding-top: 24px !important;
  }
  body.home .ilf-seo-links a {
    width: 100% !important;
  }
  body.home .ilf-newsletter {
    padding-bottom: 30px !important;
  }
  body.home .ilf-footer {
    padding-top: 42px !important;
  }
}


/* Revision 63: align newsletter email field, signup button, and privacy note. */
body.home .ilf-newsletter-inner .ilf-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 190px !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  min-height: 50px !important;
  overflow: hidden !important;
  border: 2px solid rgba(255,255,255,.92) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}
body.home .ilf-newsletter-inner .ilf-form input[type="email"] {
  width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}
body.home .ilf-newsletter-inner .ilf-form button[type="submit"] {
  width: 190px !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-left: 1px solid rgba(255,255,255,.65) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}
body.home .ilf-newsletter-privacy {
  grid-column: 2 / 3 !important;
  justify-self: end !important;
  margin: -12px 0 0 !important;
  padding-right: 2px !important;
  text-align: right !important;
}

@media (max-width: 767px) {
  body.home .ilf-newsletter-inner .ilf-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }
  body.home .ilf-newsletter-inner .ilf-form input[type="email"],
  body.home .ilf-newsletter-inner .ilf-form button[type="submit"] {
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    border: 0 !important;
    border-radius: 10px !important;
  }
  body.home .ilf-newsletter-privacy {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    margin: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
  }
}

/* Revision 64: round newsletter signup button corners to match the form field. */
body.home .ilf-newsletter-inner .ilf-form button[type="submit"] {
  border-radius: 0 10px 10px 0 !important;
}

@media (max-width: 767px) {
  body.home .ilf-newsletter-inner .ilf-form button[type="submit"] {
    border-radius: 10px !important;
  }
}

/* Revision 65: minor polish refinements requested after homepage review. */
body.home .ilf-hero-grid,
body.home .ilf-mascot {
  min-height: 354px !important;
}

body.home .ilf-featured-section {
  padding-top: 8px !important;
}

body.home .ilf-card p {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

body.home .ilf-footer-social h3 {
  margin-bottom: 8px !important;
}

body.home .ilf-footer-social p {
  margin: 0 0 12px !important;
}

body.home .ilf-footer-social a {
  display: inline-flex !important;
  align-items: center !important;
  margin-top: 2px !important;
}

@media (max-width: 1100px) {
  body.home .ilf-hero-grid,
  body.home .ilf-mascot {
    min-height: 340px !important;
  }
}

@media (max-width: 767px) {
  body.home .ilf-featured-section {
    padding-top: 20px !important;
  }
}

/* Revision 66: professional dynamic Hot Deals page. */
.ilf-deals-page {
  background: #f7f9fc;
  color: #24364d;
}

.ilf-deals-hero {
  padding: 64px 0 54px;
  background:
    radial-gradient(circle at 85% 30%, rgba(255, 228, 239, .9), rgba(255,255,255,0) 38%),
    linear-gradient(135deg, #ffffff 0%, #fff7fa 62%, #f1f6fc 100%);
  border-bottom: 1px solid #e5eaf1;
  text-align: center;
}

.ilf-deals-eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  padding: 7px 14px;
  border-radius: 999px;
  background: #ffe5ef;
  color: #c9004b;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.ilf-deals-hero h1 {
  margin: 0 0 14px;
  color: #12396f;
  font-size: clamp(38px, 5vw, 58px);
  line-height: 1.05;
  font-weight: 800;
}

.ilf-deals-hero p {
  max-width: 760px;
  margin: 0 auto;
  color: #56677c;
  font-size: 17px;
  line-height: 1.7;
}

.ilf-deals-results {
  padding: 48px 0 70px;
}

.ilf-deals-heading-row {
  margin-bottom: 25px;
  text-align: center;
}

.ilf-deals-heading-row h2 {
  margin: 0 0 8px;
  color: #12396f;
  font-size: clamp(27px, 3vw, 36px);
  font-weight: 800;
}

.ilf-deals-heading-row p {
  margin: 0;
  color: #64758a;
  font-size: 15px;
}

.ilf-deals-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.ilf-deal-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #e1e7ef;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(18,57,111,.07);
  transition: transform .2s ease, box-shadow .2s ease;
}

.ilf-deal-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(18,57,111,.12);
}

.ilf-deal-image {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f5f7fa;
}

.ilf-deal-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
}

.ilf-deal-card:hover .ilf-deal-image img {
  transform: scale(1.025);
}

.ilf-deal-badge {
  position: absolute;
  z-index: 2;
  top: 12px;
  left: 12px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #ed0057;
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
}

.ilf-deal-placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: #ed0057;
  font-size: 76px;
  font-weight: 900;
  background: linear-gradient(135deg, #fff0f6, #eef5ff);
}

.ilf-deal-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 20px;
}

.ilf-deal-card h3 {
  margin: 0 0 10px;
  font-size: 20px;
  line-height: 1.3;
}

.ilf-deal-card h3 a {
  color: #12396f;
  text-decoration: none;
}

.ilf-deal-card h3 a:hover {
  color: #d00052;
}

.ilf-deal-card p {
  margin: 0 0 18px;
  color: #5f7084;
  font-size: 14px;
  line-height: 1.6;
}

.ilf-deal-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin-top: auto;
  padding: 9px 18px;
  border-radius: 8px;
  background: #285b9a;
  color: #ffffff !important;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none !important;
  transition: background-color .2s ease, transform .2s ease;
}

.ilf-deal-button:hover {
  background: #ed0057;
  transform: translateY(-1px);
}

.ilf-deals-empty {
  padding: 40px 24px;
  border: 1px solid #e1e7ef;
  border-radius: 16px;
  background: #ffffff;
  text-align: center;
  box-shadow: 0 8px 24px rgba(18,57,111,.06);
}

.ilf-deals-empty h2 {
  color: #12396f;
}

@media (max-width: 980px) {
  .ilf-deals-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .ilf-deals-hero {
    padding: 42px 0 38px;
  }
  .ilf-deals-results {
    padding: 34px 0 50px;
  }
  .ilf-deals-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

/* Revision 67: clean deal results, card consistency, and horizontal pagination. */
.ilf-deals-page {
  background: #fbfcfe !important;
}

.ilf-deals-grid {
  align-items: stretch !important;
}

.ilf-deal-card {
  height: 100% !important;
}

.ilf-deal-card-body {
  min-height: 255px !important;
}

.ilf-deal-card p {
  font-size: 15px !important;
  line-height: 1.58 !important;
}

.ilf-pagination {
  display: flex !important;
  justify-content: center !important;
  margin: 44px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.ilf-pagination ul.page-numbers {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  border: 0 !important;
}

.ilf-pagination ul.page-numbers > li {
  display: block !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ilf-pagination .page-numbers a,
.ilf-pagination .page-numbers span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #dce4ef !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: #285b9a !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(18,57,111,.06) !important;
}

.ilf-pagination .page-numbers .current,
.ilf-pagination .page-numbers a:hover {
  border-color: #ed0057 !important;
  background: #ed0057 !important;
  color: #ffffff !important;
}

@media (max-width: 620px) {
  .ilf-deal-card-body {
    min-height: 0 !important;
  }
  .ilf-pagination {
    margin-top: 30px !important;
  }
}

/* Revision 68: preserve the polished Hot Deals archive while restoring deal results. */
.ilf-deals-empty {
  max-width: 980px;
  margin: 0 auto;
}

/* Revision 69: final Hot Deals grid consistency and spacing polish. */
.ilf-deals-heading-row > div {
  max-width: 720px !important;
  margin: 0 auto !important;
}

.ilf-deal-image {
  height: 250px !important;
  aspect-ratio: auto !important;
}

.ilf-deal-image img {
  object-fit: cover !important;
  object-position: center !important;
}

.ilf-deal-card h3 {
  display: -webkit-box !important;
  min-height: 52px !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
}

.ilf-deal-card p {
  display: -webkit-box !important;
  min-height: 71px !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
}

.ilf-deal-card-body {
  min-height: 270px !important;
}

.ilf-pagination {
  margin-top: 54px !important;
  margin-bottom: 22px !important;
}

.ilf-deals-results {
  padding-bottom: 104px !important;
}

@media (max-width: 980px) {
  .ilf-deal-image {
    height: 230px !important;
  }
}

@media (max-width: 620px) {
  .ilf-deal-image {
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
  }
  .ilf-deal-card h3,
  .ilf-deal-card p {
    min-height: 0 !important;
  }
  .ilf-deal-card-body {
    min-height: 0 !important;
  }
  .ilf-pagination {
    margin-top: 38px !important;
    margin-bottom: 12px !important;
  }
  .ilf-deals-results {
    padding-bottom: 70px !important;
  }
}

/* Revision 72: cleaner, more focused single freebie/coupon pages. */
body.single-coupon .entry-content,
body.single-coupons .entry-content {
  line-height: 1.68;
}

body.single-coupon .entry-content > p,
body.single-coupons .entry-content > p {
  margin-bottom: 18px;
}

body.single-coupon .entry-content > p:first-of-type,
body.single-coupons .entry-content > p:first-of-type {
  margin-top: 18px;
}

body.single-coupon .entry-content h2,
body.single-coupons .entry-content h2 {
  margin-top: 28px;
  margin-bottom: 12px;
}

body.single-coupon .entry-content > div[style*="border-left"],
body.single-coupons .entry-content > div[style*="border-left"] {
  width: 100% !important;
  max-width: 760px;
  box-sizing: border-box;
  padding: 18px 20px !important;
  margin: 32px 0 26px !important;
  line-height: 1.6;
}

body.single-coupon .ilf-related-freebies,
body.single-coupons .ilf-related-freebies {
  margin: 34px 0 8px;
  padding: 24px;
  border: 1px solid #dfe7f1;
  border-radius: 12px;
  background: #f8fbff;
}

body.single-coupon .ilf-related-freebies h2,
body.single-coupons .ilf-related-freebies h2 {
  margin: 0 0 16px;
  color: #285b9a;
  font-size: 24px;
}

.ilf-related-freebies-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.ilf-related-freebie-link {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 104px;
  padding: 15px;
  border: 1px solid #d8e2ef;
  border-radius: 9px;
  background: #fff;
  color: #173f75;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ilf-related-freebie-link:hover,
.ilf-related-freebie-link:focus-visible {
  transform: translateY(-2px);
  border-color: #285b9a;
  box-shadow: 0 7px 18px rgba(26, 70, 126, .12);
}

.ilf-related-freebie-link span {
  font-weight: 700;
  line-height: 1.35;
}

.ilf-related-freebie-link strong {
  margin-top: 12px;
  color: #d80055;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .02em;
}

body.single-coupon .ilf-category-toggle,
body.single-coupons .ilf-category-toggle {
  display: block;
  width: calc(100% - 20px);
  margin: 10px auto 12px;
  padding: 8px 12px;
  border: 1px solid #285b9a;
  border-radius: 6px;
  background: #fff;
  color: #285b9a;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

body.single-coupon .ilf-category-toggle:hover,
body.single-coupons .ilf-category-toggle:hover {
  background: #285b9a;
  color: #fff;
}

body.single-coupon .site-main,
body.single-coupons .site-main,
body.single-coupon article,
body.single-coupons article {
  padding-bottom: 34px;
}

@media (max-width: 767px) {
  .ilf-related-freebies-grid {
    grid-template-columns: 1fr;
  }

  body.single-coupon .ilf-related-freebies,
  body.single-coupons .ilf-related-freebies {
    padding: 18px;
  }
}


/* Revision 73: final single-offer layout cleanup. */
body.single-coupon .entry-content > div[style*="border-left"],
body.single-coupons .entry-content > div[style*="border-left"] {
  max-width: none !important;
}

body.single-coupon .ilf-related-freebies,
body.single-coupons .ilf-related-freebies {
  width: 100%;
  box-sizing: border-box;
  padding: 24px 26px;
}

.ilf-related-freebies-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.ilf-related-freebie-link {
  min-height: 138px !important;
  padding: 18px !important;
}

.ilf-related-freebie-link span {
  font-size: 16px !important;
  line-height: 1.42 !important;
}

.ilf-related-freebie-link strong {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin-top: 18px !important;
  padding: 9px 14px;
  border-radius: 6px;
  background: #285b9a;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.2;
  text-align: center;
  transition: background-color .18s ease;
}

.ilf-related-freebie-link:hover strong,
.ilf-related-freebie-link:focus-visible strong {
  background: #d80055;
}

body.single-coupon .sidebar,
body.single-coupons .sidebar,
body.single-coupon aside[role="complementary"],
body.single-coupons aside[role="complementary"] {
  position: sticky;
  top: 92px;
  align-self: flex-start;
}

body.single-coupon article,
body.single-coupons article {
  margin-bottom: 54px !important;
}

body.single-coupon .ilf-category-toggle,
body.single-coupons .ilf-category-toggle {
  width: calc(100% - 24px) !important;
  margin: 12px auto 14px !important;
  padding: 10px 14px !important;
}

@media (max-width: 991px) {
  body.single-coupon .sidebar,
  body.single-coupons .sidebar,
  body.single-coupon aside[role="complementary"],
  body.single-coupons aside[role="complementary"] {
    position: static;
  }
}

@media (max-width: 620px) {
  .ilf-related-freebies-grid {
    grid-template-columns: 1fr !important;
  }
}


/* Revision 74: use a clean full-width layout for single freebie posts. */
body.single-coupon.ilf-single-offer-fullwidth .sidebar,
body.single-coupons.ilf-single-offer-fullwidth .sidebar,
body.single-coupon.ilf-single-offer-fullwidth #secondary,
body.single-coupons.ilf-single-offer-fullwidth #secondary,
body.single-coupon.ilf-single-offer-fullwidth .widget-area,
body.single-coupons.ilf-single-offer-fullwidth .widget-area,
body.single-coupon.ilf-single-offer-fullwidth aside[role="complementary"],
body.single-coupons.ilf-single-offer-fullwidth aside[role="complementary"] {
  display: none !important;
}

body.single-coupon.ilf-single-offer-fullwidth #primary,
body.single-coupons.ilf-single-offer-fullwidth #primary,
body.single-coupon.ilf-single-offer-fullwidth .content-area,
body.single-coupons.ilf-single-offer-fullwidth .content-area,
body.single-coupon.ilf-single-offer-fullwidth .site-main,
body.single-coupons.ilf-single-offer-fullwidth .site-main,
body.single-coupon.ilf-single-offer-fullwidth article,
body.single-coupons.ilf-single-offer-fullwidth article {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

body.single-coupon.ilf-single-offer-fullwidth .site-content > .container,
body.single-coupons.ilf-single-offer-fullwidth .site-content > .container,
body.single-coupon.ilf-single-offer-fullwidth .site-content .container,
body.single-coupons.ilf-single-offer-fullwidth .site-content .container {
  max-width: 1120px !important;
}

body.single-coupon.ilf-single-offer-fullwidth article,
body.single-coupons.ilf-single-offer-fullwidth article {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-coupon.ilf-single-offer-fullwidth .entry-content,
body.single-coupons.ilf-single-offer-fullwidth .entry-content {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  font-size: 16px;
  line-height: 1.72;
}

body.single-coupon.ilf-single-offer-fullwidth .entry-content h2,
body.single-coupons.ilf-single-offer-fullwidth .entry-content h2 {
  font-size: clamp(25px, 3vw, 31px);
}

body.single-coupon.ilf-single-offer-fullwidth .ilf-related-freebies,
body.single-coupons.ilf-single-offer-fullwidth .ilf-related-freebies {
  margin-top: 38px;
  padding: 28px 30px;
}

body.single-coupon.ilf-single-offer-fullwidth .ilf-related-freebies-grid,
body.single-coupons.ilf-single-offer-fullwidth .ilf-related-freebies-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

body.single-coupon.ilf-single-offer-fullwidth .ilf-related-freebie-link,
body.single-coupons.ilf-single-offer-fullwidth .ilf-related-freebie-link {
  min-height: 124px !important;
}

body.single-coupon.ilf-single-offer-fullwidth .entry-content > div[style*="border-left"],
body.single-coupons.ilf-single-offer-fullwidth .entry-content > div[style*="border-left"] {
  width: 100% !important;
}

@media (max-width: 767px) {
  body.single-coupon.ilf-single-offer-fullwidth article,
  body.single-coupons.ilf-single-offer-fullwidth article,
  body.single-coupon.ilf-single-offer-fullwidth .entry-content,
  body.single-coupons.ilf-single-offer-fullwidth .entry-content {
    max-width: 100% !important;
  }

  body.single-coupon.ilf-single-offer-fullwidth .ilf-related-freebies-grid,
  body.single-coupons.ilf-single-offer-fullwidth .ilf-related-freebies-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Revision 75: expand single freebie post wording to the full article width. */
body.single-coupon.ilf-single-offer-fullwidth .site-content > .container,
body.single-coupons.ilf-single-offer-fullwidth .site-content > .container,
body.single-coupon.ilf-single-offer-fullwidth .site-content .container,
body.single-coupons.ilf-single-offer-fullwidth .site-content .container {
  width: min(94%, 1280px) !important;
  max-width: 1280px !important;
}

body.single-coupon.ilf-single-offer-fullwidth article,
body.single-coupons.ilf-single-offer-fullwidth article {
  width: 100% !important;
  max-width: 1180px !important;
}

body.single-coupon.ilf-single-offer-fullwidth .entry-content,
body.single-coupons.ilf-single-offer-fullwidth .entry-content {
  width: 100% !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-coupon.ilf-single-offer-fullwidth .entry-content > p,
body.single-coupons.ilf-single-offer-fullwidth .entry-content > p,
body.single-coupon.ilf-single-offer-fullwidth .entry-content > ol,
body.single-coupons.ilf-single-offer-fullwidth .entry-content > ol,
body.single-coupon.ilf-single-offer-fullwidth .entry-content > ul,
body.single-coupons.ilf-single-offer-fullwidth .entry-content > ul,
body.single-coupon.ilf-single-offer-fullwidth .entry-content > h2,
body.single-coupons.ilf-single-offer-fullwidth .entry-content > h2,
body.single-coupon.ilf-single-offer-fullwidth .entry-content > h3,
body.single-coupons.ilf-single-offer-fullwidth .entry-content > h3 {
  width: 100% !important;
  max-width: none !important;
}

body.single-coupon.ilf-single-offer-fullwidth .ilf-related-freebies,
body.single-coupons.ilf-single-offer-fullwidth .ilf-related-freebies,
body.single-coupon.ilf-single-offer-fullwidth .entry-content > div[style*="border-left"],
body.single-coupons.ilf-single-offer-fullwidth .entry-content > div[style*="border-left"] {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  body.single-coupon.ilf-single-offer-fullwidth .site-content > .container,
  body.single-coupons.ilf-single-offer-fullwidth .site-content > .container,
  body.single-coupon.ilf-single-offer-fullwidth .site-content .container,
  body.single-coupons.ilf-single-offer-fullwidth .site-content .container {
    width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Revision 76: remove duplicate offer title and fully widen single-offer content. */
body.single-coupon.ilf-single-offer-fullwidth .entry-header,
body.single-coupons.ilf-single-offer-fullwidth .entry-header,
body.single-coupon.ilf-single-offer-fullwidth h1.entry-title,
body.single-coupons.ilf-single-offer-fullwidth h1.entry-title,
body.single-coupon.ilf-single-offer-fullwidth .page-title,
body.single-coupons.ilf-single-offer-fullwidth .page-title,
body.single-coupon.ilf-single-offer-fullwidth .post-title,
body.single-coupons.ilf-single-offer-fullwidth .post-title {
  display: none !important;
}

body.single-coupon.ilf-single-offer-fullwidth article,
body.single-coupons.ilf-single-offer-fullwidth article,
body.single-coupon.ilf-single-offer-fullwidth .entry-content,
body.single-coupons.ilf-single-offer-fullwidth .entry-content,
body.single-coupon.ilf-single-offer-fullwidth .post-content,
body.single-coupons.ilf-single-offer-fullwidth .post-content,
body.single-coupon.ilf-single-offer-fullwidth .coupon-content,
body.single-coupons.ilf-single-offer-fullwidth .coupon-content,
body.single-coupon.ilf-single-offer-fullwidth .offer-content,
body.single-coupons.ilf-single-offer-fullwidth .offer-content {
  width: 100% !important;
  max-width: 1180px !important;
  float: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

body.single-coupon.ilf-single-offer-fullwidth .entry-content > *,
body.single-coupons.ilf-single-offer-fullwidth .entry-content > *,
body.single-coupon.ilf-single-offer-fullwidth .post-content > *,
body.single-coupons.ilf-single-offer-fullwidth .post-content > *,
body.single-coupon.ilf-single-offer-fullwidth .coupon-content > *,
body.single-coupons.ilf-single-offer-fullwidth .coupon-content > * {
  max-width: none !important;
  box-sizing: border-box !important;
}

body.single-coupon.ilf-single-offer-fullwidth .entry-content .row,
body.single-coupons.ilf-single-offer-fullwidth .entry-content .row {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.single-coupon.ilf-single-offer-fullwidth .entry-content [class*="col-"],
body.single-coupons.ilf-single-offer-fullwidth .entry-content [class*="col-"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

body.single-coupon.ilf-single-offer-fullwidth .entry-content p,
body.single-coupons.ilf-single-offer-fullwidth .entry-content p,
body.single-coupon.ilf-single-offer-fullwidth .entry-content li,
body.single-coupons.ilf-single-offer-fullwidth .entry-content li {
  font-size: 16px !important;
  line-height: 1.72 !important;
}

body.single-coupon.ilf-single-offer-fullwidth .ilf-related-freebies-grid,
body.single-coupons.ilf-single-offer-fullwidth .ilf-related-freebies-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 900px) {
  body.single-coupon.ilf-single-offer-fullwidth .ilf-related-freebies-grid,
  body.single-coupons.ilf-single-offer-fullwidth .ilf-related-freebies-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   Revision 78 — SAFE FULL-WIDTH LAYOUT
   Full-width outer wrappers only. Do not flatten nested rows/cards.
   ========================================================= */
:root {
  --ilf-page-gutter: 24px;
}

/* Custom homepage + article/deals page containers use the available viewport. */
.ilf-container,
.ilf-articles-container,
.ilf-deals-container {
  width: calc(100% - (var(--ilf-page-gutter) * 2)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Expand only the OUTER WordPress/ClipMyDeals content shell. */
#content > .container,
#content > .container-xl,
.site-content > .container,
.site-content > .container-xl,
.cmd-single-coupons > .container,
.cmd-single-coupons > .container-xl {
  width: calc(100% - (var(--ilf-page-gutter) * 2)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Remove the sidebar column without changing nested Bootstrap grids. */
#primary,
.content-area,
main.site-main,
.site-main {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
  float: none !important;
}

/* Full-width regular article content, but only the custom article wrapper. */
body.single-post .ilf-article-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Full-width single freebie/offer shell. Nested rows keep their own layout. */
body.single-coupon.ilf-single-offer-fullwidth article,
body.single-coupons.ilf-single-offer-fullwidth article,
body.single-coupon.ilf-single-offer-fullwidth .entry-content,
body.single-coupons.ilf-single-offer-fullwidth .entry-content,
body.single-coupon.ilf-single-offer-fullwidth .post-content,
body.single-coupons.ilf-single-offer-fullwidth .post-content,
body.single-coupon.ilf-single-offer-fullwidth .coupon-content,
body.single-coupons.ilf-single-offer-fullwidth .coupon-content,
body.single-coupon.ilf-single-offer-fullwidth .offer-content,
body.single-coupons.ilf-single-offer-fullwidth .offer-content {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Never force every nested Bootstrap column to 100%; restore normal flex behavior. */
body.single-post .entry-content .row,
body.single-coupon.ilf-single-offer-fullwidth .entry-content .row,
body.single-coupons.ilf-single-offer-fullwidth .entry-content .row {
  display: flex !important;
  flex-wrap: wrap !important;
  width: auto !important;
  max-width: none !important;
  margin-left: -12px !important;
  margin-right: -12px !important;
}

body.single-post .entry-content .row > [class*="col-"],
body.single-coupon.ilf-single-offer-fullwidth .entry-content .row > [class*="col-"],
body.single-coupons.ilf-single-offer-fullwidth .entry-content .row > [class*="col-"] {
  min-width: 0 !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

/* Custom info-card rows are not Bootstrap layout rows and stay full width. */
body.single-post .ilf-info-card,
body.single-coupon.ilf-single-offer-fullwidth .ilf-info-card,
body.single-coupons.ilf-single-offer-fullwidth .ilf-info-card {
  width: 100% !important;
  max-width: none !important;
}

@media (max-width: 767px) {
  :root {
    --ilf-page-gutter: 12px;
  }

  .ilf-container,
  .ilf-articles-container,
  .ilf-deals-container,
  #content > .container,
  #content > .container-xl,
  .site-content > .container,
  .site-content > .container-xl,
  .cmd-single-coupons > .container,
  .cmd-single-coupons > .container-xl {
    width: calc(100% - (var(--ilf-page-gutter) * 2)) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Cards stack on phones without collapsing text into a narrow sliver. */
  body.single-post .ilf-info-card {
    display: block !important;
  }

  body.single-post .ilf-info-content,
  body.single-coupon.ilf-single-offer-fullwidth .ilf-info-content,
  body.single-coupons.ilf-single-offer-fullwidth .ilf-info-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}


/* =========================================================
   Revision 79 — TARGETED FULL-WIDTH SINGLE ARTICLE POSTS
   Expands only regular single-post pages. Homepage/archive grids stay unchanged.
   ========================================================= */

/* Use the viewport width for the outer single-post shell, with safe gutters. */
body.single-post #content > .container,
body.single-post #content > .container-xl,
body.single-post .site-content > .container,
body.single-post .site-content > .container-xl {
  width: calc(100% - (var(--ilf-page-gutter) * 2)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Only flatten the OUTERMOST page row, not rows inside the article content. */
body.single-post #content > .container > .row,
body.single-post #content > .container-xl > .row,
body.single-post .site-content > .container > .row,
body.single-post .site-content > .container-xl > .row {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.single-post #content > .container > .row > [class*="col-"],
body.single-post #content > .container-xl > .row > [class*="col-"],
body.single-post .site-content > .container > .row > [class*="col-"],
body.single-post .site-content > .container-xl > .row > [class*="col-"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Expand the post/card/content wrappers themselves. */
body.single-post article.post,
body.single-post article.type-post,
body.single-post article.post .entry-content,
body.single-post article.type-post .entry-content,
body.single-post article.post .post-content,
body.single-post article.type-post .post-content,
body.single-post article.post .card-body,
body.single-post article.type-post .card-body,
body.single-post .ilf-article-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* ClipMyDeals can place the article body in an 8-column area beside a 4-column rail.
   On regular article posts, make the body full width and remove the unused rail. */
body.single-post article.post > .row,
body.single-post article.type-post > .row {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.single-post article.post > .row > .card-body.col-md-8,
body.single-post article.type-post > .row > .card-body.col-md-8,
body.single-post article.post > .row > .col-md-8,
body.single-post article.type-post > .row > .col-md-8,
body.single-post article.post > .row > .col-lg-8,
body.single-post article.type-post > .row > .col-lg-8 {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

body.single-post article.post > .row > .col-md-4.mt-3,
body.single-post article.type-post > .row > .col-md-4.mt-3,
body.single-post article.post > .row > aside,
body.single-post article.type-post > .row > aside {
  display: none !important;
}

/* Let the featured image grow with the article instead of being capped around 700px. */
body.single-post .post-thumbnail,
body.single-post .entry-thumbnail,
body.single-post .post-thumbnail img,
body.single-post .entry-thumbnail img,
body.single-post img.wp-post-image {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Keep embedded media and custom article boxes from inheriting old narrow caps. */
body.single-post .entry-content > figure,
body.single-post .entry-content > .wp-block-image,
body.single-post .entry-content > .wp-block-group,
body.single-post .ilf-article-intro,
body.single-post .ilf-info-card,
body.single-post .ilf-article-final-tip,
body.single-post .ilf-editor-note,
body.single-post .ilf-ad-box {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  body.single-post #content > .container,
  body.single-post #content > .container-xl,
  body.single-post .site-content > .container,
  body.single-post .site-content > .container-xl {
    width: calc(100% - 24px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* =========================================================
   Revision 80 — COMFORTABLE READING WIDTH FOR SINGLE ARTICLES
   Keeps the outer post shell and featured image wide, while limiting
   the article reading column on large screens for easier scanning.
   Homepage and archive grids are intentionally untouched.
   ========================================================= */

/* Center the actual article reading content at a comfortable desktop width. */
body.single-post .ilf-article-content {
  width: 100% !important;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* If a post does not use the ILF article wrapper, apply the same readable cap
   to common entry-content wrappers without shrinking the featured image. */
body.single-post article.post .entry-content,
body.single-post article.type-post .entry-content,
body.single-post article.post .post-content,
body.single-post article.type-post .post-content {
  width: 100% !important;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* The featured image remains wide across the full post shell. */
body.single-post .post-thumbnail,
body.single-post .entry-thumbnail,
body.single-post .post-thumbnail img,
body.single-post .entry-thumbnail img,
body.single-post img.wp-post-image {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 1160px) {
  body.single-post .ilf-article-content,
  body.single-post article.post .entry-content,
  body.single-post article.type-post .entry-content,
  body.single-post article.post .post-content,
  body.single-post article.type-post .post-content {
    max-width: 100% !important;
  }
}

/* =========================================================
   Revision 81 — REDUCED SINGLE-ARTICLE FEATURED BANNER
   Keep the article reading width from Revision 80, but stop the featured
   image from dominating large desktop screens. Homepage/archive untouched.
   ========================================================= */

body.single-post .post-thumbnail,
body.single-post .entry-thumbnail {
  width: 100% !important;
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-post .post-thumbnail img,
body.single-post .entry-thumbnail img,
body.single-post img.wp-post-image {
  display: block !important;
  width: 100% !important;
  max-width: 1000px !important;
  height: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 1040px) {
  body.single-post .post-thumbnail,
  body.single-post .entry-thumbnail,
  body.single-post .post-thumbnail img,
  body.single-post .entry-thumbnail img,
  body.single-post img.wp-post-image {
    max-width: 100% !important;
  }
}

/* =========================================================
   Revision 82 — BALANCED SINGLE-ARTICLE READING WIDTH
   Widen the readable article column from 1100px to 1220px while keeping
   the Revision 81 featured banner capped at 1000px. Homepage/archive untouched.
   ========================================================= */

body.single-post .ilf-article-content,
body.single-post article.post .entry-content,
body.single-post article.type-post .entry-content,
body.single-post article.post .post-content,
body.single-post article.type-post .post-content {
  width: 100% !important;
  max-width: 1220px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Keep custom article sections aligned to the same reading column. */
body.single-post .ilf-article-content .ilf-article-intro,
body.single-post .ilf-article-content .ilf-info-card,
body.single-post .ilf-article-content .ilf-article-final-tip,
body.single-post .ilf-article-content .ilf-editor-note,
body.single-post .ilf-article-content .ilf-ad-box,
body.single-post .ilf-article-content .ilf-featured-freebies,
body.single-post .ilf-article-content .ilf-related-freebies {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 1280px) {
  body.single-post .ilf-article-content,
  body.single-post article.post .entry-content,
  body.single-post article.type-post .entry-content,
  body.single-post article.post .post-content,
  body.single-post article.type-post .post-content {
    max-width: 100% !important;
  }
}

/* =========================================================
   Revision 83 — HEADER ALIGNMENT + EMPTY AD SLOT CLEANUP
   Keeps Revision 82 article/banner sizing unchanged.
   ========================================================= */

/* Align the standard interior-page header to the same centered content line. */
body:not(.home) .site-header .container,
body:not(.home) #masthead .container,
body:not(.home) .site-header .container-fluid,
body:not(.home) #masthead .container-fluid,
body:not(.home) header .navbar > .container,
body:not(.home) header .navbar > .container-fluid {
    width: min(1220px, calc(100% - 40px)) !important;
    max-width: 1220px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

/* Keep logo, menu and search vertically centered on one clean header row. */
body:not(.home) .site-header .navbar,
body:not(.home) #masthead .navbar,
body:not(.home) .site-header .container,
body:not(.home) #masthead .container,
body:not(.home) .site-header .container-fluid,
body:not(.home) #masthead .container-fluid {
    align-items: center !important;
}

body:not(.home) .site-header .navbar-brand,
body:not(.home) #masthead .navbar-brand,
body:not(.home) .site-header .ilf-logo-link,
body:not(.home) #masthead .ilf-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body:not(.home) .site-header .navbar-collapse,
body:not(.home) #masthead .navbar-collapse,
body:not(.home) .site-header nav,
body:not(.home) #masthead nav,
body:not(.home) .site-header .navbar-nav,
body:not(.home) #masthead .navbar-nav {
    align-items: center !important;
}

body:not(.home) .site-header form,
body:not(.home) #masthead form,
body:not(.home) .site-header .search-form,
body:not(.home) #masthead .search-form {
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Empty/unfilled Google ad units should not reserve large blank areas. */
body.single-post .ilf-ad-box {
    min-height: 0 !important;
    height: auto !important;
    margin-top: 24px !important;
    margin-bottom: 24px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

/* Modern browsers update :has() live when AdSense changes data-ad-status. */
body.single-post .ilf-ad-box:has(.adsbygoogle[data-ad-status="unfilled"]),
body.single-post .ilf-ad-box:has(ins.adsbygoogle[data-ad-status="unfilled"]),
body.single-post .code-block:has(.adsbygoogle[data-ad-status="unfilled"]),
body.single-post [class*="code-block"]:has(.adsbygoogle[data-ad-status="unfilled"]) {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* Do not let an empty ad element itself create a tall placeholder. */
body.single-post .adsbygoogle[data-ad-status="unfilled"] {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Keep loaded ads centered with modest breathing room. */
body.single-post .adsbygoogle[data-ad-status="filled"] {
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 767px) {
    body:not(.home) .site-header .container,
    body:not(.home) #masthead .container,
    body:not(.home) .site-header .container-fluid,
    body:not(.home) #masthead .container-fluid,
    body:not(.home) header .navbar > .container,
    body:not(.home) header .navbar > .container-fluid {
        width: calc(100% - 24px) !important;
        max-width: none !important;
    }

    body.single-post .ilf-ad-box {
        margin-top: 18px !important;
        margin-bottom: 18px !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }
}

/* =========================================================
   Revision 84 — SINGLE-POST TITLE + META ALIGNMENT
   Align the post heading block with the 1220px reading column.
   Keeps the 1000px featured banner centered above it.
   ========================================================= */

body.single-post article.post > .entry-header,
body.single-post article.type-post > .entry-header,
body.single-post article.post .entry-header,
body.single-post article.type-post .entry-header,
body.single-post h1.entry-title,
body.single-post .entry-meta,
body.single-post .post-meta,
body.single-post .posted-on {
    width: 100% !important;
    max-width: 1220px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Keep the title/meta text aligned to the same left edge as article content. */
body.single-post h1.entry-title,
body.single-post .entry-meta,
body.single-post .post-meta {
    text-align: left !important;
}

@media (max-width: 1280px) {
    body.single-post article.post > .entry-header,
    body.single-post article.type-post > .entry-header,
    body.single-post article.post .entry-header,
    body.single-post article.type-post .entry-header,
    body.single-post h1.entry-title,
    body.single-post .entry-meta,
    body.single-post .post-meta,
    body.single-post .posted-on {
        max-width: 100% !important;
    }
}

/* =========================================================
   Revision 85 — VISIBLE SINGLE-POST TITLE/META ALIGNMENT
   ClipMyDeals can render the visible heading directly inside .card-body rather
   than a standard .entry-header. Align those visible heading/meta elements
   to the same 1220px centered reading column used by the article body.
   ========================================================= */

body.single-post article.post .card-body > h1:first-of-type,
body.single-post article.type-post .card-body > h1:first-of-type,
body.single-post article.post .card-body > h2:first-of-type,
body.single-post article.type-post .card-body > h2:first-of-type,
body.single-post article.post .card-body > .entry-title,
body.single-post article.type-post .card-body > .entry-title,
body.single-post article.post .card-body > .post-title,
body.single-post article.type-post .card-body > .post-title,
body.single-post article.post .card-body > .card-title,
body.single-post article.type-post .card-body > .card-title,
body.single-post article.post .card-body > .entry-meta,
body.single-post article.type-post .card-body > .entry-meta,
body.single-post article.post .card-body > .post-meta,
body.single-post article.type-post .card-body > .post-meta,
body.single-post article.post .card-body > .text-muted,
body.single-post article.type-post .card-body > .text-muted,
body.single-post article.post .card-body > small,
body.single-post article.type-post .card-body > small {
    display: block !important;
    width: 100% !important;
    max-width: 1220px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

/* Also catch the common title/meta wrappers used by ClipMyDeals. */
body.single-post article.post .card-body > .post-heading,
body.single-post article.type-post .card-body > .post-heading,
body.single-post article.post .card-body > .post-header,
body.single-post article.type-post .card-body > .post-header,
body.single-post article.post .card-body > .entry-header,
body.single-post article.type-post .card-body > .entry-header {
    width: 100% !important;
    max-width: 1220px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

@media (max-width: 1280px) {
    body.single-post article.post .card-body > h1:first-of-type,
    body.single-post article.type-post .card-body > h1:first-of-type,
    body.single-post article.post .card-body > h2:first-of-type,
    body.single-post article.type-post .card-body > h2:first-of-type,
    body.single-post article.post .card-body > .entry-title,
    body.single-post article.type-post .card-body > .entry-title,
    body.single-post article.post .card-body > .post-title,
    body.single-post article.type-post .card-body > .post-title,
    body.single-post article.post .card-body > .card-title,
    body.single-post article.type-post .card-body > .card-title,
    body.single-post article.post .card-body > .entry-meta,
    body.single-post article.type-post .card-body > .entry-meta,
    body.single-post article.post .card-body > .post-meta,
    body.single-post article.type-post .card-body > .post-meta,
    body.single-post article.post .card-body > .text-muted,
    body.single-post article.type-post .card-body > .text-muted,
    body.single-post article.post .card-body > small,
    body.single-post article.type-post .card-body > small,
    body.single-post article.post .card-body > .post-heading,
    body.single-post article.type-post .card-body > .post-heading,
    body.single-post article.post .card-body > .post-header,
    body.single-post article.type-post .card-body > .post-header,
    body.single-post article.post .card-body > .entry-header,
    body.single-post article.type-post .card-body > .entry-header {
        max-width: 100% !important;
    }
}

/* =========================================================
   Revision 86 — EXACT SINGLE-POST HEADING WRAPPER ALIGNMENT
   The visible ClipMyDeals title/byline can sit directly in the same card-body
   that contains .ilf-article-content. Center that actual wrapper on the same
   1220px reading grid. The featured image remains independently capped at
   1000px by Revision 81.
   ========================================================= */

body.single-post .card-body:has(.ilf-article-content),
body.single-post .card-body:has(> .ilf-article-content),
body.single-post .card-body.col-md-8:has(.ilf-article-content) {
    width: 100% !important;
    max-width: 1220px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Remove Bootstrap column-side padding on this one outer wrapper so the title,
   byline and article content share precisely the same left/right edge. */
body.single-post .card-body.col-md-8:has(.ilf-article-content),
body.single-post .card-body[class*="col-"]:has(.ilf-article-content) {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (max-width: 1280px) {
    body.single-post .card-body:has(.ilf-article-content),
    body.single-post .card-body:has(> .ilf-article-content),
    body.single-post .card-body.col-md-8:has(.ilf-article-content) {
        max-width: 100% !important;
    }
}

@media (max-width: 767px) {
    body.single-post .card-body:has(.ilf-article-content),
    body.single-post .card-body:has(> .ilf-article-content),
    body.single-post .card-body[class*="col-"]:has(.ilf-article-content) {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* =========================================================
   Revision 87 — ACTUAL SINGLE-POST H1 + BYLINE ALIGNMENT
   Target the rendered heading elements themselves, regardless of which
   ClipMyDeals wrapper contains them. Keep them on the same centered 1220px
   reading grid as .ilf-article-content. Featured image remains 1000px.
   ========================================================= */

/* The single post contains one primary H1. Center that rendered title on the
   article reading grid even when the parent theme does not add entry-title. */
body.single-post h1:first-of-type,
body.single-post article h1:first-of-type,
body.single-post main h1:first-of-type {
    display: block !important;
    width: 100% !important;
    max-width: 1220px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

/* ClipMyDeals renders the "Posted on ... | by ..." line as a small heading
   on this template. Align that first byline heading to the exact same edge. */
body.single-post h1:first-of-type + h6,
body.single-post article h6:first-of-type,
body.single-post main h6:first-of-type,
body.single-post .card h6:first-of-type,
body.single-post .card-body h6:first-of-type {
    display: block !important;
    width: 100% !important;
    max-width: 1220px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

@media (max-width: 1280px) {
    body.single-post h1:first-of-type,
    body.single-post article h1:first-of-type,
    body.single-post main h1:first-of-type,
    body.single-post h1:first-of-type + h6,
    body.single-post article h6:first-of-type,
    body.single-post main h6:first-of-type,
    body.single-post .card h6:first-of-type,
    body.single-post .card-body h6:first-of-type {
        width: calc(100% - 24px) !important;
        max-width: 1220px !important;
    }
}

/* =========================================================
   Revision 88 — MORE CLICKABLE / BOXED FEATURED FREEBIES
   Entire homepage Featured Freebies card is one large link.
   ========================================================= */
body.home .ilf-featured-card {
  overflow: hidden !important;
  border: 2px solid #dce5f1 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 22px rgba(6,38,93,.09) !important;
  cursor: pointer !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

body.home .ilf-featured-card-link {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  flex-direction: column !important;
  color: inherit !important;
  text-decoration: none !important;
  outline: none !important;
}

body.home .ilf-featured-card-link .ilf-card-media {
  display: block !important;
  width: 100% !important;
  padding: 12px 12px 0 !important;
  background: #ffffff !important;
}

body.home .ilf-featured-card-link .ilf-card-body {
  display: flex !important;
  width: 100% !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}

body.home .ilf-featured-card:hover,
body.home .ilf-featured-card:focus-within {
  transform: translateY(-6px) !important;
  border-color: #d00052 !important;
  box-shadow: 0 16px 34px rgba(6,38,93,.16), 0 0 0 2px rgba(208,0,82,.06) !important;
}

body.home .ilf-featured-card:hover .ilf-card-media-inner,
body.home .ilf-featured-card:focus-within .ilf-card-media-inner {
  box-shadow: inset 0 0 0 1px rgba(208,0,82,.18) !important;
}

body.home .ilf-featured-card:hover h3,
body.home .ilf-featured-card:focus-within h3 {
  color: #d00052 !important;
}

body.home .ilf-featured-card-link:focus-visible {
  border-radius: 16px !important;
  box-shadow: inset 0 0 0 3px #2f8de4 !important;
}

body.home .ilf-featured-card .ilf-card-cta {
  display: inline-flex !important;
  width: 100% !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: auto !important;
  border: 2px solid #d00052 !important;
  border-radius: 9px !important;
  background: #d00052 !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  box-shadow: 0 5px 12px rgba(208,0,82,.18) !important;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease !important;
}

body.home .ilf-featured-card:hover .ilf-card-cta,
body.home .ilf-featured-card:focus-within .ilf-card-cta {
  background: #06265d !important;
  border-color: #06265d !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 767px) {
  body.home .ilf-featured-card {
    border-width: 2px !important;
  }
  body.home .ilf-featured-card:hover,
  body.home .ilf-featured-card:focus-within {
    transform: translateY(-3px) !important;
  }
}

/* =========================================================
   Revision 89 — NON-FLOATING ARTICLE HEADER + REAL FEATURED BUTTONS
   ========================================================= */

/* Keep the main site header in normal document flow on long article pages.
   Parent theme sticky/fixed classes and inline behavior are neutralized here. */
body.single-post .site-header,
body.single-post header.site-header,
body.single-post #masthead,
body.single-post .site-header.sticky-top,
body.single-post #masthead.sticky-top,
body.single-post header .sticky-top,
body.single-post header .fixed-top,
body.single-post .navbar.sticky-top,
body.single-post .navbar.fixed-top {
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  translate: none !important;
  z-index: auto !important;
}

/* Some sticky scripts add helper classes after scrolling. */
body.single-post .site-header.is-sticky,
body.single-post #masthead.is-sticky,
body.single-post .site-header.sticky,
body.single-post #masthead.sticky,
body.single-post .site-header.fixed,
body.single-post #masthead.fixed {
  position: static !important;
  top: auto !important;
  transform: none !important;
}

/* Keep the whole Featured Freebies card clickable with an overlay from the
   main content link while allowing the separate CTA button to sit above it. */
body.home .ilf-featured-card {
  position: relative !important;
  padding-bottom: 14px !important;
}

body.home .ilf-featured-card-link {
  position: static !important;
  height: auto !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
}

body.home .ilf-featured-card-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}

body.home .ilf-featured-card-link .ilf-badge,
body.home .ilf-featured-card-link .ilf-card-media,
body.home .ilf-featured-card-link .ilf-card-body {
  position: relative;
  z-index: 0;
}

body.home .ilf-featured-card-action {
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  margin-top: auto !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
}

body.home .ilf-featured-card-action .ilf-card-cta {
  position: relative !important;
  z-index: 4 !important;
  display: inline-flex !important;
  width: 100% !important;
  min-height: 46px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 11px 16px !important;
  border: 2px solid #d00052 !important;
  border-radius: 10px !important;
  background: #d00052 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  box-shadow: 0 6px 14px rgba(208,0,82,.22) !important;
  cursor: pointer !important;
}

body.home .ilf-featured-card-action .ilf-card-cta:hover,
body.home .ilf-featured-card-action .ilf-card-cta:focus-visible {
  border-color: #06265d !important;
  background: #06265d !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 9px 18px rgba(6,38,93,.22) !important;
  outline: none !important;
}

body.home .ilf-card-cta-arrow {
  display: inline-block !important;
  font-size: 17px !important;
  line-height: 1 !important;
  transition: transform .18s ease !important;
}

body.home .ilf-featured-card-action .ilf-card-cta:hover .ilf-card-cta-arrow,
body.home .ilf-featured-card-action .ilf-card-cta:focus-visible .ilf-card-cta-arrow {
  transform: translateX(3px) !important;
}

@media (max-width: 767px) {
  body.home .ilf-featured-card-action {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.home .ilf-featured-card-action .ilf-card-cta {
    min-height: 48px !important;
    font-size: 14px !important;
  }
}

/* =========================================================
   Revision 90 — ARTICLE FEATURED FREEBIES AS CLICKABLE CARDS
   Turns the Featured Freebies rows inside regular articles into
   obvious boxed cards with a dedicated pink CTA button.
   ========================================================= */
body.single-post .ilf-inline-featured-card {
  position: relative !important;
  width: 100% !important;
  margin: 14px 0 !important;
  padding: 18px 20px !important;
  overflow: hidden !important;
  border: 2px solid #dce5f1 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 6px 18px rgba(6,38,93,.07) !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

body.single-post .ilf-inline-featured-card:hover,
body.single-post .ilf-inline-featured-card:focus-within,
body.single-post .ilf-inline-featured-card:focus-visible {
  border-color: #d00052 !important;
  box-shadow: 0 12px 28px rgba(6,38,93,.13), 0 0 0 2px rgba(208,0,82,.05) !important;
  transform: translateY(-2px) !important;
  outline: none !important;
}

body.single-post .ilf-inline-featured-card h3 {
  margin: 0 0 8px !important;
  color: #06265d !important;
  font-size: 19px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  transition: color .18s ease !important;
}

body.single-post .ilf-inline-featured-card:hover h3,
body.single-post .ilf-inline-featured-card:focus-within h3 {
  color: #d00052 !important;
}

body.single-post .ilf-inline-featured-card p {
  margin: 0 0 10px !important;
}

body.single-post .ilf-inline-featured-action {
  margin: 12px 0 0 !important;
}

body.single-post .ilf-inline-featured-card .ilf-inline-featured-cta {
  position: relative !important;
  z-index: 3 !important;
  display: inline-flex !important;
  min-width: 170px !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 10px 18px !important;
  border: 2px solid #d00052 !important;
  border-radius: 9px !important;
  background: #d00052 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  box-shadow: 0 5px 13px rgba(208,0,82,.20) !important;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

body.single-post .ilf-inline-featured-card .ilf-inline-featured-cta:hover,
body.single-post .ilf-inline-featured-card .ilf-inline-featured-cta:focus-visible {
  border-color: #06265d !important;
  background: #06265d !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 17px rgba(6,38,93,.20) !important;
  outline: none !important;
}

@media (min-width: 768px) {
  body.single-post .ilf-inline-featured-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    column-gap: 24px !important;
    align-items: center !important;
  }

  body.single-post .ilf-inline-featured-card h3,
  body.single-post .ilf-inline-featured-card > p:not(.ilf-inline-featured-action),
  body.single-post .ilf-inline-featured-card > div:not(.ilf-inline-featured-action) {
    grid-column: 1 !important;
  }

  body.single-post .ilf-inline-featured-card .ilf-inline-featured-action {
    grid-column: 2 !important;
    grid-row: 1 / -1 !important;
    align-self: center !important;
    margin: 0 !important;
  }
}

@media (max-width: 767px) {
  body.single-post .ilf-inline-featured-card {
    padding: 16px !important;
  }

  body.single-post .ilf-inline-featured-card .ilf-inline-featured-cta {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
  }
}


/* =========================================================
   Revision 91 — ROBUST ARTICLE FEATURED FREEBIES CARDS
   Detects the actual linked rows beneath the Featured Freebies heading,
   rebuilds them as obvious boxed cards, and adds a real CTA button.
   ========================================================= */
body.single-post .ilf-featured-original-v91 {
  display: none !important;
}

body.single-post .ilf-inline-featured-grid-v91 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 12px 0 22px !important;
}

body.single-post .ilf-inline-featured-card-v91 {
  display: flex !important;
  min-width: 0 !important;
  min-height: 154px !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  margin: 0 !important;
  padding: 20px !important;
  border: 2px solid #dce5f1 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 6px 18px rgba(6,38,93,.08) !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

body.single-post .ilf-inline-featured-card-v91:hover,
body.single-post .ilf-inline-featured-card-v91:focus-visible,
body.single-post .ilf-inline-featured-card-v91:focus-within {
  border-color: #d00052 !important;
  box-shadow: 0 12px 28px rgba(6,38,93,.14) !important;
  transform: translateY(-3px) !important;
  outline: none !important;
}

body.single-post .ilf-inline-featured-card-v91 .ilf-inline-featured-main {
  min-width: 0 !important;
}

body.single-post .ilf-inline-featured-card-v91 .ilf-inline-featured-title {
  margin: 0 0 8px !important;
  color: #06265d !important;
  font-size: 19px !important;
  line-height: 1.28 !important;
  font-weight: 800 !important;
}

body.single-post .ilf-inline-featured-card-v91:hover .ilf-inline-featured-title,
body.single-post .ilf-inline-featured-card-v91:focus-within .ilf-inline-featured-title {
  color: #d00052 !important;
}

body.single-post .ilf-inline-featured-card-v91 .ilf-inline-featured-copy {
  margin: 0 0 16px !important;
  color: #4b5563 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

body.single-post .ilf-inline-featured-card-v91 .ilf-inline-featured-cta {
  display: inline-flex !important;
  width: 100% !important;
  min-height: 46px !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 14px !important;
  padding: 11px 18px !important;
  border: 2px solid #d00052 !important;
  border-radius: 9px !important;
  background: #d00052 !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  box-shadow: 0 5px 13px rgba(208,0,82,.20) !important;
  box-sizing: border-box !important;
}

body.single-post .ilf-inline-featured-card-v91 .ilf-inline-featured-cta:hover,
body.single-post .ilf-inline-featured-card-v91 .ilf-inline-featured-cta:focus-visible {
  border-color: #06265d !important;
  background: #06265d !important;
  color: #fff !important;
  outline: none !important;
}

@media (max-width: 767px) {
  body.single-post .ilf-inline-featured-grid-v91 {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.single-post .ilf-inline-featured-card-v91 {
    min-height: 0 !important;
    padding: 17px !important;
  }
}

/* =========================================================
   Revision 92 — HIDE SINGLE-ARTICLE SIDEBAR / WIDGET BLOCKS
   Keep the article and inline Featured Freebies cards, but prevent
   ClipMyDeals sidebar widgets from being pushed below the post.
   ========================================================= */
body.single-post #secondary,
body.single-post aside.widget-area,
body.single-post .widget-area,
body.single-post .sidebar,
body.single-post .right-sidebar,
body.single-post .left-sidebar,
body.single-post .site-sidebar,
body.single-post .content-sidebar,
body.single-post #sidebar,
body.single-post .sidebar-primary,
body.single-post .sidebar-secondary,
body.single-post #content .widget:not(.ilf-inline-featured-card-v91),
body.single-post .site-content .widget:not(.ilf-inline-featured-card-v91),
body.single-post #content .sidebar-widget,
body.single-post .site-content .sidebar-widget,
body.single-post #content .widget-box,
body.single-post .site-content .widget-box {
  display: none !important;
}

/* Remove any empty sidebar column left behind after its widgets are hidden. */
body.single-post #content > .container > .row > aside,
body.single-post #content > .container-xl > .row > aside,
body.single-post .site-content > .container > .row > aside,
body.single-post .site-content > .container-xl > .row > aside,
body.single-post #content > .container > .row > .col-md-4:has(.widget),
body.single-post #content > .container-xl > .row > .col-md-4:has(.widget),
body.single-post .site-content > .container > .row > .col-md-4:has(.widget),
body.single-post .site-content > .container-xl > .row > .col-md-4:has(.widget) {
  display: none !important;
}

/* Keep the post column full-width after the sidebar disappears. */
body.single-post #content > .container > .row > main,
body.single-post #content > .container-xl > .row > main,
body.single-post .site-content > .container > .row > main,
body.single-post .site-content > .container-xl > .row > main,
body.single-post #content > .container > .row > .col-md-8,
body.single-post #content > .container-xl > .row > .col-md-8,
body.single-post .site-content > .container > .row > .col-md-8,
body.single-post .site-content > .container-xl > .row > .col-md-8 {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}


/* =========================================================
   Revision 93 — QUIETER SINGLE-ARTICLE AD PRESENTATION
   Keep ads functional, but reduce their visual weight by centering
   them in a narrower column and tightening vertical spacing.
   ========================================================= */
body.single-post .ilf-ad-box {
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  margin: 18px auto !important;
  padding: 6px 8px !important;
  box-sizing: border-box !important;
}

body.single-post .ilf-ad-box .adsbygoogle,
body.single-post .ilf-ad-box iframe,
body.single-post .ilf-ad-box > div {
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-post .ilf-ad-box .ilf-ad-label {
  margin-bottom: 6px !important;
}

@media (max-width: 767px) {
  body.single-post .ilf-ad-box {
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px auto !important;
    padding: 4px 0 !important;
  }
}

/* =========================================================
   Revision 94 — SINGLE-ARTICLE READABILITY POLISH
   Slightly increase body copy size and line spacing without
   changing the Revision 93 layout, widths, ads, or cards.
   ========================================================= */
body.single-post .ilf-article-content,
body.single-post article.post .entry-content,
body.single-post article.type-post .entry-content {
  font-size: 17px !important;
  line-height: 1.78 !important;
}

body.single-post .ilf-article-content p,
body.single-post .ilf-article-content li,
body.single-post article.post .entry-content p,
body.single-post article.post .entry-content li,
body.single-post article.type-post .entry-content p,
body.single-post article.type-post .entry-content li,
body.single-post .ilf-info-content p,
body.single-post .ilf-article-intro p,
body.single-post .ilf-article-final-tip p,
body.single-post .ilf-editor-note {
  font-size: 17px !important;
  line-height: 1.78 !important;
}

body.single-post .ilf-article-content p,
body.single-post article.post .entry-content p,
body.single-post article.type-post .entry-content p {
  margin-bottom: 16px !important;
}

body.single-post .ilf-article-content li,
body.single-post article.post .entry-content li,
body.single-post article.type-post .entry-content li {
  margin-bottom: 5px !important;
}

@media (max-width: 767px) {
  body.single-post .ilf-article-content,
  body.single-post article.post .entry-content,
  body.single-post article.type-post .entry-content,
  body.single-post .ilf-article-content p,
  body.single-post .ilf-article-content li,
  body.single-post article.post .entry-content p,
  body.single-post article.post .entry-content li,
  body.single-post article.type-post .entry-content p,
  body.single-post article.type-post .entry-content li,
  body.single-post .ilf-info-content p,
  body.single-post .ilf-article-intro p,
  body.single-post .ilf-article-final-tip p,
  body.single-post .ilf-editor-note {
    font-size: 16px !important;
    line-height: 1.72 !important;
  }
}


/* =========================================================
   Revision 95 — SINGLE-ARTICLE VISUAL POLISH
   Keep Revision 94 layout/typography intact while improving
   section rhythm, softening callout boxes, and refining the
   inline Featured Freebies cards.
   ========================================================= */

/* Give major article sections a clearer, more consistent rhythm. */
body.single-post .ilf-article-content > h2,
body.single-post article.post .entry-content > h2,
body.single-post article.type-post .entry-content > h2 {
  margin-top: 38px !important;
  margin-bottom: 13px !important;
  line-height: 1.28 !important;
}

body.single-post .ilf-article-content > h3,
body.single-post article.post .entry-content > h3,
body.single-post article.type-post .entry-content > h3 {
  margin-top: 28px !important;
  margin-bottom: 10px !important;
  line-height: 1.34 !important;
}

/* Softer, cleaner information and tip boxes. */
body.single-post .ilf-article-intro,
body.single-post .ilf-info-card,
body.single-post .ilf-article-final-tip,
body.single-post .ilf-editor-note {
  border-color: #e4eaf1 !important;
  border-radius: 11px !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.035) !important;
}

body.single-post .ilf-article-intro {
  background: #fbfdff !important;
  border-left-color: #ec0055 !important;
}

body.single-post .ilf-info-card {
  background: #ffffff !important;
}

body.single-post .ilf-editor-note {
  background: #f7f9fc !important;
  border-left-color: #7c91ac !important;
}

body.single-post .ilf-article-final-tip {
  background: #fffafd !important;
  border-color: #f2dbe5 !important;
}

body.single-post .ilf-info-icon {
  background: #fffafd !important;
  border-color: #f2c9d9 !important;
  box-shadow: none !important;
}

/* More deliberate spacing around the resources/freebies area. */
body.single-post .ilf-inline-featured-grid-v91 {
  gap: 16px !important;
  margin-top: 10px !important;
  margin-bottom: 20px !important;
}

/* Refine Featured Freebies without changing their structure or behavior. */
body.single-post .ilf-inline-featured-card-v91 {
  border: 1px solid #dfe6ee !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 4px 14px rgba(6, 38, 93, 0.07) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

body.single-post .ilf-inline-featured-card-v91:hover,
body.single-post .ilf-inline-featured-card-v91:focus-visible,
body.single-post .ilf-inline-featured-card-v91:focus-within {
  border-color: #ec0055 !important;
  box-shadow: 0 10px 24px rgba(6, 38, 93, 0.12) !important;
  transform: translateY(-2px) !important;
}

body.single-post .ilf-inline-featured-card-v91 .ilf-inline-featured-title {
  margin-bottom: 9px !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
}

body.single-post .ilf-inline-featured-card-v91 .ilf-inline-featured-copy {
  margin-bottom: 14px !important;
  line-height: 1.6 !important;
}

body.single-post .ilf-inline-featured-card-v91 .ilf-inline-featured-cta {
  min-height: 44px !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 11px rgba(208, 0, 82, 0.17) !important;
}

/* Keep nearby article sections from feeling crowded against the cards. */
body.single-post .ilf-inline-featured-grid-v91 + *,
body.single-post .ilf-related-freebies + * {
  margin-top: 18px !important;
}

@media (max-width: 767px) {
  body.single-post .ilf-article-content > h2,
  body.single-post article.post .entry-content > h2,
  body.single-post article.type-post .entry-content > h2 {
    margin-top: 31px !important;
  }

  body.single-post .ilf-article-content > h3,
  body.single-post article.post .entry-content > h3,
  body.single-post article.type-post .entry-content > h3 {
    margin-top: 24px !important;
  }

  body.single-post .ilf-inline-featured-grid-v91 {
    gap: 13px !important;
  }
}

/* =========================================================
   Revision 96 — SINGLE-ARTICLE SPACING POLISH
   Keep Revision 95 styling intact while adding a little more
   breathing room between major sections and around ad placements.
   ========================================================= */

/* Give major numbered/section headings a little more separation. */
body.single-post .ilf-article-content > h2,
body.single-post article.post .entry-content > h2,
body.single-post article.type-post .entry-content > h2 {
  margin-top: 44px !important;
  margin-bottom: 14px !important;
}

body.single-post .ilf-article-content > h3,
body.single-post article.post .entry-content > h3,
body.single-post article.type-post .entry-content > h3 {
  margin-top: 31px !important;
  margin-bottom: 11px !important;
}

/* Add calm separation around ads without changing their 900px cap. */
body.single-post .ilf-ad-box {
  margin-top: 27px !important;
  margin-bottom: 29px !important;
}

@media (max-width: 767px) {
  body.single-post .ilf-article-content > h2,
  body.single-post article.post .entry-content > h2,
  body.single-post article.type-post .entry-content > h2 {
    margin-top: 35px !important;
    margin-bottom: 12px !important;
  }

  body.single-post .ilf-article-content > h3,
  body.single-post article.post .entry-content > h3,
  body.single-post article.type-post .entry-content > h3 {
    margin-top: 27px !important;
    margin-bottom: 10px !important;
  }

  body.single-post .ilf-ad-box {
    margin-top: 20px !important;
    margin-bottom: 22px !important;
  }
}

/* =========================================================
   Revision 97 — EMPTY AD GAP CORRECTION
   Keep Revision 96 section spacing, but tighten normal ad spacing
   and fully collapse slots that are confirmed empty/unfilled.
   ========================================================= */
body.single-post .ilf-ad-box {
  margin-top: 18px !important;
  margin-bottom: 20px !important;
}

body.single-post .ilf-ad-box.ilf-ad-empty {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  body.single-post .ilf-ad-box {
    margin-top: 14px !important;
    margin-bottom: 16px !important;
  }
}

/* =========================================================
   Revision 98 — COLLAPSE EMPTY AD INSERTER / ADSENSE SHELLS
   Keep loaded ads untouched while removing the remaining blank
   Ad Inserter wrappers and orphan "Advertisement" labels.
   ========================================================= */
body.single-post .ilf-ad-shell-empty,
body.single-post .ilf-ad-label-empty {
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}


/* =========================================================
   Revision 99 — FINAL EMPTY AD SLOT BEFORE HELPFUL RESOURCES
   Surgically collapse the final unfilled ad label/wrapper only.
   Loaded ad creatives remain untouched.
   ========================================================= */
body.single-post .ilf-final-ad-empty,
body.single-post .ilf-final-ad-empty-spacer {
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* =========================================================
   Revision 100 — POSITION-SPECIFIC FINAL EMPTY AD COLLAPSE
   Collapse only the empty ad region between section 8 and
   Helpful Resources, even when Ad Inserter places it outside
   .entry-content. Loaded creatives remain untouched.
   ========================================================= */
body.single-post .ilf-r100-final-ad-empty,
body.single-post .ilf-r100-final-ad-empty * {
  min-height: 0 !important;
}

body.single-post .ilf-r100-final-ad-empty,
body.single-post .ilf-r100-final-ad-label,
body.single-post .ilf-r100-final-ad-spacer {
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* =========================================================
   Revision 101 — HOMEPAGE POLISH PASS
   Homepage only. Keep all Revision 100 article-page behavior intact.
   ========================================================= */

/* One consistent centered grid for the homepage sections. */
body.home .ilf-container {
  width: min(1280px, calc(100% - 40px)) !important;
  max-width: 1280px !important;
}

/* Tighten the handoff from hero to Featured Freebies without crowding it. */
body.home .ilf-hero {
  padding-bottom: 10px !important;
}
body.home .ilf-hero-grid {
  min-height: 390px !important;
}
body.home .ilf-featured-section {
  padding-top: 18px !important;
  padding-bottom: 38px !important;
}
body.home .ilf-featured-section .ilf-container {
  max-width: 1280px !important;
}
body.home .ilf-featured-section .ilf-section-title {
  margin-bottom: 24px !important;
}

/* Slightly larger, more substantial featured cards. */
body.home .ilf-cards {
  gap: 18px !important;
}
body.home .ilf-featured-card {
  border-radius: 18px !important;
  box-shadow: 0 9px 24px rgba(6,38,93,.10) !important;
}
body.home .ilf-featured-card-link .ilf-card-media {
  padding: 13px 13px 0 !important;
}
body.home .ilf-featured-card .ilf-card-media-inner {
  height: 176px !important;
  border-radius: 13px !important;
}
body.home .ilf-featured-card .ilf-card-body {
  padding: 16px 16px 14px !important;
}
body.home .ilf-featured-card h3 {
  min-height: 44px !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
}
body.home .ilf-featured-card p {
  min-height: 42px !important;
  font-size: 13.5px !important;
  line-height: 1.48 !important;
}
body.home .ilf-featured-card-action {
  padding: 0 14px 14px !important;
}
body.home .ilf-featured-card-action .ilf-card-cta {
  min-height: 47px !important;
  border-radius: 9px !important;
  letter-spacing: .01em !important;
}

/* Make the trusted-sources block feel like a deliberate homepage feature. */
body.home .ilf-seo-intro {
  padding: 4px 0 42px !important;
}
body.home .ilf-seo-intro-card {
  max-width: 940px !important;
  padding: 32px 38px !important;
  border: 1px solid #dfe8f3 !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow: 0 12px 30px rgba(6,38,93,.075) !important;
}
body.home .ilf-seo-intro h2 {
  margin-bottom: 14px !important;
  color: #12396f !important;
  font-size: clamp(27px, 2.5vw, 34px) !important;
  line-height: 1.15 !important;
}
body.home .ilf-seo-intro p {
  max-width: 820px !important;
  font-size: 15.5px !important;
  line-height: 1.7 !important;
}
body.home .ilf-seo-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  max-width: 540px !important;
  margin: 22px auto 0 !important;
}
body.home .ilf-seo-links a {
  width: 100% !important;
  min-height: 46px !important;
  padding: 10px 16px !important;
  border-width: 2px !important;
  border-radius: 9px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

/* Turn How It Works into three clear, light-weight step cards. */
body.home .ilf-how {
  padding: 42px 0 44px !important;
  background: linear-gradient(180deg, #fff9fb 0%, #ffffff 100%) !important;
}
body.home .ilf-how .ilf-section-title {
  margin-bottom: 26px !important;
}
body.home .ilf-steps {
  max-width: 1040px !important;
  gap: 22px !important;
}
body.home .ilf-step {
  min-height: 205px !important;
  padding: 24px 20px 22px !important;
  border: 1px solid #e4eaf2 !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 7px 20px rgba(6,38,93,.055) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
body.home .ilf-step:hover {
  transform: translateY(-3px) !important;
  border-color: #f1b1c9 !important;
  box-shadow: 0 11px 26px rgba(6,38,93,.09) !important;
}
body.home .ilf-step-icon {
  width: 78px !important;
  height: 78px !important;
  margin-bottom: 13px !important;
  border-width: 1px !important;
  box-shadow: 0 4px 12px rgba(208,0,82,.07) !important;
  font-size: 34px !important;
}
body.home .ilf-step h3 {
  margin-bottom: 8px !important;
  font-size: 21px !important;
}
body.home .ilf-step p {
  max-width: 260px !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
}

/* Softer, more polished newsletter strip with roomier form controls. */
body.home .ilf-newsletter {
  padding: 0 0 26px !important;
  background: #ffffff !important;
}
body.home .ilf-newsletter-inner {
  gap: 30px !important;
  padding: 27px 30px !important;
  border: 1px solid rgba(255,255,255,.32) !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #e3135e 0%, #c5074c 100%) !important;
  box-shadow: 0 12px 28px rgba(180,9,74,.16) !important;
}
body.home .ilf-newsletter-copy {
  gap: 16px !important;
}
body.home .ilf-newsletter-icon {
  font-size: 44px !important;
}
body.home .ilf-newsletter h2 {
  margin-bottom: 5px !important;
  font-size: 27px !important;
}
body.home .ilf-newsletter-inner input[type="email"],
body.home .ilf-newsletter-inner input.mailpoet_text,
body.home .ilf-newsletter-inner .mailpoet_text,
body.home .ilf-newsletter-inner .ilf-form input {
  min-height: 56px !important;
  border-radius: 10px 0 0 10px !important;
}
body.home .ilf-newsletter-inner .mailpoet_submit,
body.home .ilf-newsletter-inner button[type="submit"],
body.home .ilf-newsletter-inner input[type="submit"],
body.home .ilf-newsletter-inner .ilf-form button {
  min-height: 56px !important;
  padding-left: 26px !important;
  padding-right: 26px !important;
  border-radius: 0 10px 10px 0 !important;
  background: #a80540 !important;
}
body.home .ilf-newsletter-inner .mailpoet_submit:hover,
body.home .ilf-newsletter-inner button[type="submit"]:hover,
body.home .ilf-newsletter-inner input[type="submit"]:hover,
body.home .ilf-newsletter-inner .ilf-form button:hover {
  background: #06265d !important;
}

@media (max-width: 1024px) {
  body.home .ilf-container {
    width: min(100% - 32px, 1180px) !important;
  }
  body.home .ilf-hero-grid {
    min-height: auto !important;
  }
  body.home .ilf-featured-section {
    padding-top: 24px !important;
  }
  body.home .ilf-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.home .ilf-container {
    width: min(100% - 24px, 1180px) !important;
  }
  body.home .ilf-hero {
    padding-bottom: 6px !important;
  }
  body.home .ilf-featured-section {
    padding-top: 20px !important;
    padding-bottom: 30px !important;
  }
  body.home .ilf-cards {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
  body.home .ilf-featured-card .ilf-card-media-inner {
    height: auto !important;
    min-height: 155px !important;
  }
  body.home .ilf-seo-intro-card {
    padding: 25px 20px !important;
  }
  body.home .ilf-seo-links {
    grid-template-columns: 1fr !important;
  }
  body.home .ilf-how {
    padding: 34px 0 36px !important;
  }
  body.home .ilf-steps {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  body.home .ilf-step {
    min-height: 0 !important;
    padding: 20px 18px !important;
  }
  body.home .ilf-newsletter-inner {
    padding: 24px 20px !important;
  }
  body.home .ilf-newsletter-inner input[type="email"],
  body.home .ilf-newsletter-inner input.mailpoet_text,
  body.home .ilf-newsletter-inner .mailpoet_text,
  body.home .ilf-newsletter-inner .ilf-form input,
  body.home .ilf-newsletter-inner .mailpoet_submit,
  body.home .ilf-newsletter-inner button[type="submit"],
  body.home .ilf-newsletter-inner input[type="submit"],
  body.home .ilf-newsletter-inner .ilf-form button {
    border-radius: 10px !important;
  }
}

/* =========================================================
   Revision 102 — HOMEPAGE SPACING TIGHTENING
   Homepage only. Preserve Revision 101 design and all article-page behavior.
   ========================================================= */

/* Bring Featured Freebies closer to the hero on desktop. */
@media (min-width: 1025px) {
  body.home .ilf-hero {
    padding-bottom: 0 !important;
  }
  body.home .ilf-hero-grid {
    min-height: 360px !important;
  }
  body.home .ilf-featured-section {
    padding-top: 6px !important;
  }
  body.home .ilf-featured-section .ilf-section-title {
    margin-bottom: 20px !important;
  }
}

/* Make How It Works more compact without changing its three-card treatment. */
body.home .ilf-how {
  padding-top: 34px !important;
  padding-bottom: 34px !important;
}
body.home .ilf-how .ilf-section-title {
  margin-bottom: 20px !important;
}
body.home .ilf-step {
  min-height: 174px !important;
  padding: 18px 18px 17px !important;
}
body.home .ilf-step-icon {
  width: 66px !important;
  height: 66px !important;
  margin-bottom: 10px !important;
  font-size: 29px !important;
}
body.home .ilf-step h3 {
  margin-bottom: 5px !important;
  font-size: 19px !important;
}
body.home .ilf-step p {
  font-size: 14px !important;
  line-height: 1.45 !important;
}

/* Slim the newsletter strip while preserving the same visual style. */
body.home .ilf-newsletter {
  padding-bottom: 20px !important;
}
body.home .ilf-newsletter-inner {
  gap: 24px !important;
  padding: 20px 26px !important;
}
body.home .ilf-newsletter-copy {
  gap: 13px !important;
}
body.home .ilf-newsletter-icon {
  font-size: 38px !important;
}
body.home .ilf-newsletter h2 {
  margin-bottom: 3px !important;
  font-size: 25px !important;
}
body.home .ilf-newsletter-inner input[type="email"],
body.home .ilf-newsletter-inner input.mailpoet_text,
body.home .ilf-newsletter-inner .mailpoet_text,
body.home .ilf-newsletter-inner .ilf-form input,
body.home .ilf-newsletter-inner .mailpoet_submit,
body.home .ilf-newsletter-inner button[type="submit"],
body.home .ilf-newsletter-inner input[type="submit"],
body.home .ilf-newsletter-inner .ilf-form button {
  min-height: 50px !important;
}

@media (max-width: 767px) {
  body.home .ilf-how {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  body.home .ilf-step {
    padding: 18px 16px !important;
  }
  body.home .ilf-newsletter {
    padding-bottom: 18px !important;
  }
  body.home .ilf-newsletter-inner {
    padding: 20px 18px !important;
  }
}

/* =========================================================
   Revision 103 — FEATURED FREEBIES BADGE + CARD ALIGNMENT
   Homepage only. Fix the clipped FREE badge and keep all five cards uniform.
   ========================================================= */

/* The later whole-card overlay rules changed the badge to position:relative.
   Restore it as a true overlay so the full FREE pill stays inside the card. */
body.home .ilf-featured-card-link .ilf-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 5 !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 24px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 5px 10px !important;
  overflow: visible !important;
  border-radius: 999px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

/* Give the image a small top safety zone so the badge never competes with it. */
body.home .ilf-featured-card-link .ilf-card-media {
  padding-top: 18px !important;
}

/* Keep all five cards and their buttons on one clean baseline. */
body.home .ilf-cards {
  align-items: stretch !important;
}
body.home .ilf-featured-card {
  display: flex !important;
  height: 100% !important;
  flex-direction: column !important;
}
body.home .ilf-featured-card-link {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}
body.home .ilf-featured-card .ilf-card-body {
  display: flex !important;
  height: auto !important;
  min-height: 138px !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}
body.home .ilf-featured-card h3 {
  min-height: 44px !important;
  -webkit-line-clamp: 2 !important;
}
body.home .ilf-featured-card p {
  min-height: 42px !important;
  -webkit-line-clamp: 2 !important;
}
body.home .ilf-featured-card-action {
  margin-top: auto !important;
}

@media (max-width: 767px) {
  body.home .ilf-featured-card-link .ilf-badge {
    top: 9px !important;
    left: 9px !important;
  }
  body.home .ilf-featured-card .ilf-card-body {
    min-height: 0 !important;
  }
}

/* =========================================================
   Revision 104 — MATCH THE WORDPRESS THEME-PREVIEW HOMEPAGE
   Homepage only. Uses screenshot.jpg as the visual reference.
   ========================================================= */

/* White, compact navigation like the theme preview. */
body.home .site-header,
body.home header.site-header,
body.home #masthead {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: 0 1px 0 rgba(6,38,93,.08) !important;
  overflow: visible !important;
}
body.home .site-header .container,
body.home #masthead .container,
body.home .site-header .container-fluid,
body.home #masthead .container-fluid,
body.home header .navbar > .container,
body.home header .navbar > .container-fluid {
  width: min(1180px, calc(100% - 36px)) !important;
  max-width: 1180px !important;
  min-height: 76px !important;
  margin-inline: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: center !important;
}
body.home .site-header nav a,
body.home #masthead nav a,
body.home .navbar-nav > li > a,
body.home header nav a {
  color: #102653 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: .015em !important;
  text-transform: uppercase !important;
}
body.home .site-header .current-menu-item > a,
body.home #masthead .current-menu-item > a,
body.home .navbar-nav > .current-menu-item > a {
  color: #d00052 !important;
}
body.home .site-header .current-menu-item > a::after,
body.home #masthead .current-menu-item > a::after {
  height: 2px !important;
  margin-top: 5px !important;
  background: #d00052 !important;
}
body.home header .ilf-logo-love,
body.home .site-header .ilf-logo-love { color:#d00052 !important; }
body.home header .ilf-logo-heart,
body.home .site-header .ilf-logo-heart { color:#d00052 !important; }
body.home header .ilf-logo-freebies,
body.home .site-header .ilf-logo-freebies { color:#06265d !important; }

/* Make the parent search control read as the small search icon from the preview. */
body.home .site-header input[type="search"],
body.home #masthead input[type="search"],
body.home .site-header .form-control[type="search"],
body.home #masthead .form-control[type="search"] {
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
body.home .site-header form[role="search"] button,
body.home #masthead form[role="search"] button,
body.home .site-header .search-submit,
body.home #masthead .search-submit {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #06265d !important;
  box-shadow: none !important;
}

/* Hero proportions and typography follow screenshot.jpg. */
body.home .ilf-hero {
  padding: 34px 0 10px !important;
  overflow: visible !important;
  background: #ffffff !important;
}
body.home .ilf-hero::after { display:none !important; }
body.home .ilf-hero-grid {
  grid-template-columns: minmax(0,.92fr) minmax(420px,1.08fr) !important;
  gap: 24px !important;
  min-height: 392px !important;
  align-items: center !important;
}
body.home .ilf-kicker {
  margin: 0 0 5px !important;
  color: #d00052 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(37px, 4.15vw, 56px) !important;
  line-height: 1 !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: -1.4px !important;
}
body.home .ilf-title {
  max-width: 570px !important;
  color: #06265d !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(39px, 4.35vw, 58px) !important;
  line-height: .99 !important;
  font-weight: 900 !important;
  letter-spacing: -2.1px !important;
}
body.home .ilf-title em {
  color:#d00052 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-style: italic !important;
}
body.home .ilf-lead {
  max-width: 575px !important;
  margin: 16px 0 18px !important;
  color: #31435f !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.48 !important;
}
body.home .ilf-actions { gap:14px !important; }
body.home .ilf-actions .ilf-btn {
  min-width: 170px !important;
  min-height: 44px !important;
  padding: 10px 20px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  letter-spacing: .02em !important;
}
body.home .ilf-mascot {
  min-height: 360px !important;
  align-self: center !important;
  justify-content: center !important;
  transform: none !important;
}
body.home .ilf-mascot::before { display:none !important; }
body.home .ilf-mascot img {
  width: min(100%, 545px) !important;
  max-height: 385px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

/* Screenshot-style Featured Freebies: compact row and smaller type. */
body.home .ilf-featured-section {
  padding: 18px 0 30px !important;
  background:#fff !important;
}
body.home .ilf-featured-section .ilf-section-title {
  margin-bottom: 16px !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  letter-spacing: -.3px !important;
}
body.home .ilf-cards {
  gap: 12px !important;
  max-width: 1120px !important;
  margin-inline: auto !important;
}
body.home .ilf-featured-card {
  border: 1px solid #e7eaf0 !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 12px rgba(6,38,93,.08) !important;
}
body.home .ilf-featured-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 20px rgba(6,38,93,.12) !important;
}
body.home .ilf-featured-card-link .ilf-card-media {
  padding: 18px 9px 0 !important;
}
body.home .ilf-featured-card .ilf-card-media-inner {
  height: 126px !important;
  min-height: 126px !important;
  border-radius: 7px !important;
  background: #fff7fa !important;
}
body.home .ilf-featured-card-link .ilf-badge {
  top: 8px !important;
  left: 8px !important;
  min-height: 19px !important;
  padding: 3px 7px !important;
  font-size: 9px !important;
}
body.home .ilf-featured-card .ilf-card-body {
  min-height: 112px !important;
  padding: 11px 11px 8px !important;
  gap: 5px !important;
}
body.home .ilf-featured-card h3 {
  min-height: 34px !important;
  color:#102653 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}
body.home .ilf-featured-card p {
  min-height: 34px !important;
  color:#667187 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 10.5px !important;
  line-height: 1.35 !important;
}
body.home .ilf-featured-card-action { padding: 0 10px 10px !important; }
body.home .ilf-featured-card-action .ilf-btn {
  min-height: 34px !important;
  padding: 7px 8px !important;
  border-radius: 6px !important;
  font-size: 10px !important;
  box-shadow:none !important;
}

/* The theme preview flows directly from cards into How It Works. */
body.home .ilf-seo-intro { display:none !important; }

/* Light pink How It Works band without white boxed step cards. */
body.home .ilf-how {
  margin-top: 8px !important;
  padding: 28px 0 72px !important;
  background:
    radial-gradient(circle at 10% 50%, rgba(255,190,215,.20), transparent 18%),
    radial-gradient(circle at 88% 40%, rgba(255,190,215,.18), transparent 18%),
    #fff4f8 !important;
}
body.home .ilf-how .ilf-section-title {
  margin-bottom: 22px !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 22px !important;
}
body.home .ilf-steps {
  max-width: 760px !important;
  gap: 70px !important;
}
body.home .ilf-step {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.home .ilf-step-icon {
  width: 64px !important;
  height: 64px !important;
  margin-bottom: 8px !important;
  border: 2px solid #ffc5da !important;
  background:#fff5f9 !important;
  font-size: 30px !important;
}
body.home .ilf-step h3 {
  margin-bottom: 4px !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
}
body.home .ilf-step p {
  max-width: 190px !important;
  color:#31435f !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

/* Newsletter overlaps the bottom of the pink How It Works band like the preview. */
body.home .ilf-newsletter {
  position: relative !important;
  z-index: 3 !important;
  margin-top: -48px !important;
  padding: 0 0 0 !important;
  background: transparent !important;
}
body.home .ilf-newsletter .ilf-container { max-width: 1080px !important; }
body.home .ilf-newsletter-inner {
  min-height: 96px !important;
  padding: 18px 24px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg,#e70758,#c4034b) !important;
  box-shadow: 0 10px 28px rgba(180,0,70,.20) !important;
}
body.home .ilf-newsletter-icon { font-size: 34px !important; }
body.home .ilf-newsletter h2 {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 20px !important;
}
body.home .ilf-newsletter p { font-size: 11px !important; }
body.home .ilf-newsletter-inner input[type="email"],
body.home .ilf-newsletter-inner input.mailpoet_text,
body.home .ilf-newsletter-inner .mailpoet_text,
body.home .ilf-newsletter-inner .ilf-form input,
body.home .ilf-newsletter-inner .mailpoet_submit,
body.home .ilf-newsletter-inner button[type="submit"],
body.home .ilf-newsletter-inner input[type="submit"],
body.home .ilf-newsletter-inner .ilf-form button {
  min-height: 44px !important;
  font-size: 12px !important;
}

/* Footer begins immediately below newsletter, matching the preview composition. */
body.home .ilf-footer {
  margin-top: -10px !important;
  padding-top: 56px !important;
}
body.home .ilf-footer,
body.home .ilf-footer a,
body.home .ilf-footer p,
body.home .ilf-footer li,
body.home .ilf-footer h3 {
  font-family: Arial, Helvetica, sans-serif !important;
}

@media (max-width:1024px) {
  body.home .ilf-hero-grid {
    grid-template-columns: 1fr 1fr !important;
    min-height: 330px !important;
  }
  body.home .ilf-mascot { min-height: 300px !important; }
  body.home .ilf-mascot img { max-height: 320px !important; }
}

@media (max-width:767px) {
  body.home .site-header .container,
  body.home #masthead .container,
  body.home .site-header .container-fluid,
  body.home #masthead .container-fluid {
    width: calc(100% - 24px) !important;
    min-height: 64px !important;
  }
  body.home .ilf-hero { padding-top: 24px !important; }
  body.home .ilf-hero-grid {
    grid-template-columns:1fr !important;
    min-height:0 !important;
    text-align:center !important;
  }
  body.home .ilf-kicker { font-size:38px !important; white-space:normal !important; }
  body.home .ilf-title { margin-inline:auto !important; font-size:39px !important; letter-spacing:-1.6px !important; }
  body.home .ilf-lead { margin-inline:auto !important; font-size:14px !important; }
  body.home .ilf-actions { justify-content:center !important; }
  body.home .ilf-mascot { min-height:260px !important; }
  body.home .ilf-mascot img { max-height:280px !important; }
  body.home .ilf-featured-section { padding-top:22px !important; }
  body.home .ilf-featured-card .ilf-card-media-inner { height:auto !important; min-height:150px !important; }
  body.home .ilf-featured-card h3,
  body.home .ilf-featured-card p { min-height:0 !important; }
  body.home .ilf-how { padding-bottom:70px !important; }
  body.home .ilf-steps { gap:26px !important; }
  body.home .ilf-newsletter { margin-top:-42px !important; }
  body.home .ilf-newsletter-inner { padding:18px !important; }
  body.home .ilf-footer { margin-top:-6px !important; }
}

/* =========================================================
   Revision 105 — HOMEPAGE PREVIEW PROPORTION TUNING
   Match the WordPress theme-preview proportions more closely.
   Homepage only; article layouts remain untouched.
   ========================================================= */

/* True light preview-style navigation bar. */
body.home #masthead,
body.home header#masthead,
body.home .site-header,
body.home header.site-header,
body.home #masthead .navbar,
body.home .site-header .navbar,
body.home nav.navbar,
body.home .navbar.bg-primary,
body.home .navbar-dark,
body.home .navbar-light {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border-bottom: 1px solid #eef1f5 !important;
  box-shadow: 0 1px 5px rgba(6,38,93,.045) !important;
}
body.home #masthead,
body.home .site-header,
body.home #masthead .navbar,
body.home .site-header .navbar {
  min-height: 62px !important;
}
body.home #masthead a,
body.home .site-header a,
body.home #masthead .nav-link,
body.home .site-header .nav-link,
body.home .navbar-nav .nav-link,
body.home .navbar-dark .navbar-nav .nav-link {
  color: #102653 !important;
}
body.home #masthead .current-menu-item > a,
body.home .site-header .current-menu-item > a,
body.home #masthead .current_page_item > a,
body.home .site-header .current_page_item > a,
body.home .navbar-nav .active > .nav-link {
  color: #d90055 !important;
}
body.home #masthead .navbar-toggler,
body.home .site-header .navbar-toggler {
  border-color: #dce3ec !important;
}
body.home #masthead .navbar-toggler-icon,
body.home .site-header .navbar-toggler-icon {
  filter: invert(15%) sepia(31%) saturate(1900%) hue-rotate(180deg) brightness(82%) contrast(96%);
}

/* Hero: slightly smaller text block and smaller/higher mascot. */
body.home .ilf-hero {
  padding-top: 18px !important;
  padding-bottom: 8px !important;
}
body.home .ilf-hero-grid {
  min-height: 318px !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr) !important;
  gap: 30px !important;
  align-items: center !important;
}
body.home .ilf-kicker {
  font-size: clamp(34px, 3.65vw, 49px) !important;
  letter-spacing: -1.1px !important;
}
body.home .ilf-title {
  max-width: 535px !important;
  font-size: clamp(36px, 3.85vw, 52px) !important;
  line-height: 1.015 !important;
  letter-spacing: -1.75px !important;
}
body.home .ilf-lead {
  max-width: 535px !important;
  margin-top: 12px !important;
  margin-bottom: 15px !important;
  font-size: 14px !important;
  line-height: 1.46 !important;
}
body.home .ilf-actions .ilf-btn {
  min-width: 158px !important;
  min-height: 41px !important;
  padding: 9px 18px !important;
  font-size: 11px !important;
}
body.home .ilf-mascot {
  min-height: 306px !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding-top: 0 !important;
  transform: translateY(-10px) !important;
}
body.home .ilf-mascot img {
  width: min(100%, 455px) !important;
  max-height: 318px !important;
  object-fit: contain !important;
  object-position: center top !important;
}

/* Featured row: slightly shorter and closer to the theme preview. */
body.home .ilf-featured-section {
  padding-top: 12px !important;
  padding-bottom: 24px !important;
}
body.home .ilf-featured-section .ilf-section-title {
  margin-bottom: 14px !important;
  font-size: 21px !important;
}
body.home .ilf-cards {
  max-width: 1080px !important;
  gap: 11px !important;
}
body.home .ilf-featured-card-link .ilf-card-media {
  padding-top: 15px !important;
}
body.home .ilf-featured-card .ilf-card-media-inner {
  height: 116px !important;
  min-height: 116px !important;
}
body.home .ilf-featured-card .ilf-card-body {
  min-height: 102px !important;
  padding: 9px 10px 6px !important;
}
body.home .ilf-featured-card h3 {
  min-height: 32px !important;
  font-size: 12.5px !important;
}
body.home .ilf-featured-card p {
  min-height: 31px !important;
  font-size: 10px !important;
}
body.home .ilf-featured-card-action {
  padding: 0 9px 9px !important;
}
body.home .ilf-featured-card-action .ilf-btn {
  min-height: 32px !important;
  font-size: 9.5px !important;
}

/* Slightly shorter How It Works band and a cleaner newsletter overlap. */
body.home .ilf-how {
  margin-top: 6px !important;
  padding-top: 24px !important;
  padding-bottom: 78px !important;
}
body.home .ilf-how .ilf-section-title {
  margin-bottom: 18px !important;
  font-size: 21px !important;
}
body.home .ilf-step-icon {
  width: 60px !important;
  height: 60px !important;
  font-size: 27px !important;
}
body.home .ilf-step h3 { font-size: 14px !important; }
body.home .ilf-step p { font-size: 10.5px !important; }
body.home .ilf-newsletter {
  margin-top: -44px !important;
  margin-bottom: 18px !important;
}
body.home .ilf-newsletter .ilf-container { max-width: 1040px !important; }
body.home .ilf-newsletter-inner {
  min-height: 90px !important;
  padding: 16px 22px !important;
}
body.home .ilf-footer {
  margin-top: 0 !important;
  padding-top: 48px !important;
}

@media (max-width: 1024px) {
  body.home .ilf-hero-grid {
    min-height: 300px !important;
    grid-template-columns: 1fr 1fr !important;
  }
  body.home .ilf-mascot {
    min-height: 275px !important;
    transform: translateY(-6px) !important;
  }
  body.home .ilf-mascot img {
    width: min(100%, 410px) !important;
    max-height: 290px !important;
  }
}

@media (max-width: 767px) {
  body.home #masthead,
  body.home .site-header,
  body.home #masthead .navbar,
  body.home .site-header .navbar {
    min-height: 58px !important;
  }
  body.home .ilf-hero { padding-top: 20px !important; }
  body.home .ilf-hero-grid { grid-template-columns: 1fr !important; }
  body.home .ilf-kicker { font-size: 36px !important; }
  body.home .ilf-title { font-size: 37px !important; }
  body.home .ilf-mascot {
    min-height: 235px !important;
    transform: none !important;
  }
  body.home .ilf-mascot img {
    width: min(100%, 330px) !important;
    max-height: 250px !important;
  }
  body.home .ilf-featured-card .ilf-card-media-inner {
    height: auto !important;
    min-height: 145px !important;
  }
  body.home .ilf-newsletter { margin-bottom: 12px !important; }
}

/* =========================================================
   Revision 106 — HOMEPAGE HEADER + HERO FINAL TUNING
   Restore the visible preview-style logo/search and fine-tune hero proportions.
   Homepage only; article layouts remain untouched.
   ========================================================= */

/* Strong, readable two-line brand mark on the light homepage header. */
body.home header .ilf-nav-logo,
body.home .site-header .ilf-nav-logo,
body.home #masthead .ilf-nav-logo {
  display: inline-block !important;
  color: #06265d !important;
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif !important;
  font-size: 23px !important;
  line-height: .88 !important;
  font-weight: 900 !important;
  letter-spacing: -.45px !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}
body.home header .ilf-nav-logo span,
body.home .site-header .ilf-nav-logo span,
body.home #masthead .ilf-nav-logo span {
  display: block !important;
  margin-bottom: 2px !important;
  color: #d00052 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
}
body.home .ilf-logo-link,
body.home .navbar-brand {
  min-width: 112px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Restore the compact search field shown in the original theme preview. */
body.home .site-header form[role="search"],
body.home #masthead form[role="search"],
body.home .site-header .search-form,
body.home #masthead .search-form {
  display: flex !important;
  width: 190px !important;
  max-width: 190px !important;
  height: 36px !important;
  align-items: stretch !important;
  margin: 0 !important;
  opacity: 1 !important;
  overflow: visible !important;
}
body.home .site-header input[type="search"],
body.home #masthead input[type="search"],
body.home .site-header .form-control[type="search"],
body.home #masthead .form-control[type="search"] {
  display: block !important;
  width: 152px !important;
  min-width: 152px !important;
  max-width: 152px !important;
  height: 36px !important;
  padding: 7px 11px !important;
  border: 1px solid #d8e0eb !important;
  border-right: 0 !important;
  border-radius: 4px 0 0 4px !important;
  background: #f7f9fc !important;
  color: #26384d !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}
body.home .site-header input[type="search"]::placeholder,
body.home #masthead input[type="search"]::placeholder {
  color: #738096 !important;
  opacity: 1 !important;
}
body.home .site-header form[role="search"] button,
body.home #masthead form[role="search"] button,
body.home .site-header .search-submit,
body.home #masthead .search-submit {
  display: inline-flex !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 36px !important;
  min-height: 36px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 1px solid #e6b300 !important;
  border-radius: 0 4px 4px 0 !important;
  background: #ffc400 !important;
  color: #06265d !important;
  box-shadow: none !important;
}

/* Last hero proportion correction against the reference preview. */
body.home .ilf-hero-grid {
  grid-template-columns: minmax(0, 1.10fr) minmax(330px, .90fr) !important;
  gap: 34px !important;
}
body.home .ilf-kicker {
  font-size: clamp(32px, 3.45vw, 46px) !important;
  letter-spacing: -1px !important;
}
body.home .ilf-title {
  max-width: 505px !important;
  font-size: clamp(34px, 3.55vw, 48px) !important;
  line-height: 1.02 !important;
  letter-spacing: -1.5px !important;
}
body.home .ilf-mascot {
  transform: translate(-18px, -18px) !important;
}
body.home .ilf-mascot img {
  width: min(100%, 420px) !important;
  max-height: 302px !important;
}

@media (max-width: 1024px) {
  body.home .site-header form[role="search"],
  body.home #masthead form[role="search"],
  body.home .site-header .search-form,
  body.home #masthead .search-form {
    width: 160px !important;
    max-width: 160px !important;
  }
  body.home .site-header input[type="search"],
  body.home #masthead input[type="search"],
  body.home .site-header .form-control[type="search"],
  body.home #masthead .form-control[type="search"] {
    width: 122px !important;
    min-width: 122px !important;
    max-width: 122px !important;
  }
  body.home .ilf-mascot { transform: translate(-8px, -8px) !important; }
}

@media (max-width: 767px) {
  body.home header .ilf-nav-logo,
  body.home .site-header .ilf-nav-logo,
  body.home #masthead .ilf-nav-logo { font-size: 20px !important; }
  body.home header .ilf-nav-logo span,
  body.home .site-header .ilf-nav-logo span,
  body.home #masthead .ilf-nav-logo span { font-size: 15px !important; }
  body.home .site-header form[role="search"],
  body.home #masthead form[role="search"],
  body.home .site-header .search-form,
  body.home #masthead .search-form {
    width: 150px !important;
    max-width: 150px !important;
  }
  body.home .site-header input[type="search"],
  body.home #masthead input[type="search"],
  body.home .site-header .form-control[type="search"],
  body.home #masthead .form-control[type="search"] {
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
  }
  body.home .ilf-kicker { font-size: 34px !important; }
  body.home .ilf-title { font-size: 35px !important; }
  body.home .ilf-mascot { transform: none !important; }
}

/* =========================================================
   Revision 107 — HOMEPAGE BRAND + SCRIPT TYPOGRAPHY MATCH
   Use the complete header logo artwork, tighten the hero spacing, and
   strengthen the script accents seen in the reference theme preview.
   Homepage only; article layouts remain untouched.
   ========================================================= */

/* Show the complete logo artwork without cropping or replacing it with text. */
body.home .ilf-logo-link,
body.home .navbar-brand,
body.home header .site-branding a,
body.home .site-header .site-branding a {
  display: inline-flex !important;
  width: auto !important;
  min-width: 128px !important;
  height: 54px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  overflow: visible !important;
  padding: 0 !important;
}
body.home .ilf-header-logo-image {
  display: block !important;
  width: 112px !important;
  max-width: 112px !important;
  height: auto !important;
  max-height: 54px !important;
  object-fit: contain !important;
  object-position: left center !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
/* Prevent the older text-logo overrides from showing alongside the image. */
body.home .ilf-logo-link .ilf-nav-logo,
body.home .navbar-brand .ilf-nav-logo {
  display: none !important;
}

/* Pull the hero closer to the header and tighten the copy stack. */
body.home .ilf-hero {
  padding-top: 14px !important;
}
body.home .ilf-kicker {
  margin-bottom: 1px !important;
  font-family: "Brush Script MT", "Segoe Script", "Lucida Handwriting", cursive !important;
  font-size: clamp(35px, 3.55vw, 48px) !important;
  line-height: .96 !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: -.7px !important;
}
body.home .ilf-title {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.home .ilf-title em {
  color: #d00052 !important;
  font-family: "Brush Script MT", "Segoe Script", "Lucida Handwriting", cursive !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: -.3px !important;
}
body.home .ilf-lead {
  margin-top: 8px !important;
  margin-bottom: 15px !important;
  line-height: 1.42 !important;
}
body.home .ilf-actions {
  margin-top: 0 !important;
}

@media (max-width: 767px) {
  body.home .ilf-logo-link,
  body.home .navbar-brand,
  body.home header .site-branding a,
  body.home .site-header .site-branding a {
    min-width: 108px !important;
    height: 48px !important;
  }
  body.home .ilf-header-logo-image {
    width: 96px !important;
    max-width: 96px !important;
    max-height: 46px !important;
  }
  body.home .ilf-hero { padding-top: 12px !important; }
  body.home .ilf-kicker { font-size: 35px !important; }
  body.home .ilf-lead { margin-top: 7px !important; margin-bottom: 14px !important; }
}

/* =========================================================
   Revision 108 — HERO COPY COLOR + TYPOGRAPHY SOFTENING
   Lighten the homepage hero wording so it matches the reference more
   closely, while keeping the existing layout and featured section.
   ========================================================= */
body.home .ilf-hero {
  padding-top: 10px !important;
}

body.home .ilf-hero-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr) !important;
  gap: 30px !important;
  align-items: start !important;
}

body.home .ilf-kicker {
  margin-bottom: -2px !important;
  color: #f03384 !important;
  font-family: "Brush Script MT", "Segoe Script", "Lucida Handwriting", cursive !important;
  font-size: clamp(36px, 3.45vw, 50px) !important;
  line-height: .95 !important;
  font-weight: 600 !important;
  letter-spacing: -.5px !important;
  text-shadow: none !important;
}

body.home .ilf-title,
body.home .ilf-title-line,
body.home .ilf-title-sub {
  color: #173f84 !important;
}

body.home .ilf-title {
  max-width: 548px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  font-size: clamp(33px, 3.28vw, 46px) !important;
  line-height: 1.01 !important;
  letter-spacing: -1.1px !important;
  font-weight: 900 !important;
}

body.home .ilf-title-line + .ilf-title-line {
  margin-top: 1px !important;
}

body.home .ilf-title-sub {
  margin-top: 2px !important;
}

body.home .ilf-title em {
  color: #e22b7e !important;
  font-family: "Brush Script MT", "Segoe Script", "Lucida Handwriting", cursive !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: -.2px !important;
}

body.home .ilf-lead {
  max-width: 520px !important;
  margin-top: 10px !important;
  margin-bottom: 16px !important;
  color: #5d6880 !important;
  line-height: 1.46 !important;
}

body.home .ilf-lead strong {
  color: #e22b7e !important;
}

@media (max-width: 1024px) {
  body.home .ilf-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(280px, .90fr) !important;
    gap: 24px !important;
  }

  body.home .ilf-title {
    max-width: 500px !important;
    font-size: clamp(31px, 4.5vw, 42px) !important;
  }

  body.home .ilf-lead {
    max-width: 500px !important;
  }
}

@media (max-width: 767px) {
  body.home .ilf-kicker {
    font-size: 33px !important;
    margin-bottom: 0 !important;
  }

  body.home .ilf-title {
    max-width: 100% !important;
    font-size: 35px !important;
    line-height: 1.03 !important;
  }

  body.home .ilf-lead {
    max-width: 100% !important;
    margin-top: 8px !important;
    color: #667189 !important;
  }
}

/* =========================================================
   Revision 109 — soften homepage hero heading weight/color
   ========================================================= */
body.home .ilf-kicker {
  color: #ee4f95 !important;
  font-weight: 500 !important;
  text-shadow: none !important;
}

body.home .ilf-title,
body.home .ilf-title-line,
body.home .ilf-title-sub {
  color: #204c95 !important;
}

body.home .ilf-title {
  font-weight: 800 !important;
  line-height: 1.03 !important;
  letter-spacing: -0.8px !important;
}

body.home .ilf-title em {
  color: #e8488f !important;
  font-weight: 500 !important;
}

body.home .ilf-lead {
  color: #6a748b !important;
}

/* =========================================================
   Revision 110 — restore full-width homepage proportions
   Keep current styling, but use a broader desktop canvas like the
   original approved homepage mockup.
   ========================================================= */
@media (min-width: 1181px) {
  body.home .ilf-container {
    width: min(1500px, calc(100% - 56px)) !important;
    max-width: 1500px !important;
  }

  body.home .site-header .container,
  body.home #masthead .container,
  body.home .site-header .container-fluid,
  body.home #masthead .container-fluid,
  body.home header .navbar > .container,
  body.home header .navbar > .container-fluid {
    width: min(1500px, calc(100% - 56px)) !important;
    max-width: 1500px !important;
  }

  body.home .ilf-hero-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr) !important;
    gap: 56px !important;
    min-height: 350px !important;
  }

  body.home .ilf-title {
    max-width: 650px !important;
  }

  body.home .ilf-lead {
    max-width: 620px !important;
  }

  body.home .ilf-mascot {
    justify-content: center !important;
  }

  body.home .ilf-mascot img {
    width: min(100%, 500px) !important;
    max-height: 340px !important;
  }

  body.home .ilf-featured-section .ilf-container {
    max-width: 1500px !important;
  }

  body.home .ilf-cards {
    width: 100% !important;
    max-width: 1360px !important;
    gap: 18px !important;
  }

  body.home .ilf-featured-card .ilf-card-media-inner {
    height: 138px !important;
    min-height: 138px !important;
  }

  body.home .ilf-featured-card .ilf-card-body {
    min-height: 108px !important;
  }

  body.home .ilf-featured-card h3 {
    font-size: 13.5px !important;
  }

  body.home .ilf-featured-card p {
    font-size: 10.75px !important;
  }

  body.home .ilf-steps {
    max-width: 980px !important;
    gap: 90px !important;
  }

  body.home .ilf-newsletter .ilf-container {
    max-width: 1280px !important;
  }

  body.home .ilf-footer .ilf-container {
    max-width: 1500px !important;
  }
}

@media (min-width: 1500px) {
  body.home .ilf-container,
  body.home .site-header .container,
  body.home #masthead .container,
  body.home .site-header .container-fluid,
  body.home #masthead .container-fluid,
  body.home header .navbar > .container,
  body.home header .navbar > .container-fluid {
    width: min(1560px, calc(100% - 72px)) !important;
    max-width: 1560px !important;
  }

  body.home .ilf-featured-section .ilf-container,
  body.home .ilf-footer .ilf-container {
    max-width: 1560px !important;
  }

  body.home .ilf-cards {
    max-width: 1420px !important;
  }
}

/* =========================================================
   Revision 111 — bring homepage hero copy and image together,
   and use a fuller mascot image closer to the theme thumbnail.
   ========================================================= */
body.home .ilf-hero {
  padding-top: 8px !important;
  padding-bottom: 16px !important;
}

body.home .ilf-hero .ilf-container {
  max-width: 1560px !important;
}

body.home .ilf-hero-grid {
  grid-template-columns: minmax(470px, 560px) minmax(340px, 430px) !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
}

body.home .ilf-kicker,
body.home .ilf-title,
body.home .ilf-lead,
body.home .ilf-actions {
  max-width: 100% !important;
}

body.home .ilf-title {
  margin-bottom: 0 !important;
}

body.home .ilf-lead {
  margin-top: 8px !important;
  margin-bottom: 14px !important;
}

body.home .ilf-mascot {
  justify-self: start !important;
  align-self: center !important;
  margin-left: -18px !important;
}

body.home .ilf-mascot img,
body.home .ilf-hero-lcp {
  display: block !important;
  width: min(100%, 420px) !important;
  max-width: 420px !important;
  height: auto !important;
  object-fit: contain !important;
}

@media (max-width: 1180px) {
  body.home .ilf-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px) !important;
    gap: 10px !important;
  }

  body.home .ilf-mascot {
    margin-left: -8px !important;
  }

  body.home .ilf-mascot img,
  body.home .ilf-hero-lcp {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
  }
}

@media (max-width: 900px) {
  body.home .ilf-hero-grid {
    grid-template-columns: 1fr !important;
    justify-content: initial !important;
    gap: 16px !important;
  }

  body.home .ilf-mascot {
    justify-self: center !important;
    margin-left: 0 !important;
  }

  body.home .ilf-mascot img,
  body.home .ilf-hero-lcp {
    width: min(100%, 320px) !important;
    max-width: 320px !important;
  }
}

/* =========================================================
   Revision 112 — NEW HOMEPAGE MASCOT ARTWORK
   Use the new Free Coupons / Free Stuff mascot while preserving the
   current full-width homepage composition.
   ========================================================= */
body.home .ilf-mascot {
  margin-left: -8px !important;
  overflow: visible !important;
}

body.home .ilf-mascot img,
body.home .ilf-hero-lcp {
  width: min(100%, 430px) !important;
  max-width: 430px !important;
  max-height: none !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: none !important;
}

@media (max-width: 1180px) {
  body.home .ilf-mascot img,
  body.home .ilf-hero-lcp {
    width: min(100%, 380px) !important;
    max-width: 380px !important;
  }
}

@media (max-width: 900px) {
  body.home .ilf-mascot {
    margin-left: 0 !important;
  }
  body.home .ilf-mascot img,
  body.home .ilf-hero-lcp {
    width: min(100%, 320px) !important;
    max-width: 320px !important;
  }
}

/* Revision 113: use a transparent-background homepage mascot so the hero image blends cleanly into the page background. */

/* =========================================================
   Revision 114 — homepage header color + visible search field
   Adds a subtle branded tint to the top navigation and restores a clearly
   visible search input while preserving the current homepage layout.
   ========================================================= */
body.home .site-header,
body.home header.site-header,
body.home #masthead {
  background: #f4f8ff !important;
  border-bottom: 1px solid #d9e5f5 !important;
  box-shadow: 0 2px 10px rgba(15, 56, 108, .05) !important;
}

body.home .site-header .container,
body.home #masthead .container,
body.home .site-header .container-fluid,
body.home #masthead .container-fluid {
  background: transparent !important;
}

body.home .site-header nav a,
body.home #masthead nav a,
body.home .navbar-nav > li > a,
body.home .menu > li > a {
  color: #173f78 !important;
}

body.home .site-header .current-menu-item > a,
body.home .site-header .current_page_item > a,
body.home #masthead .current-menu-item > a,
body.home #masthead .current_page_item > a,
body.home .navbar-nav > .current-menu-item > a,
body.home .menu > .current-menu-item > a {
  color: #d7005d !important;
}

body.home .site-header form[role="search"],
body.home #masthead form[role="search"],
body.home .site-header .search-form,
body.home #masthead .search-form {
  display: flex !important;
  align-items: stretch !important;
  width: 230px !important;
  max-width: 230px !important;
  min-width: 230px !important;
  height: 38px !important;
  margin: 0 !important;
  overflow: visible !important;
  border-radius: 5px !important;
  box-shadow: 0 1px 4px rgba(14, 54, 104, .08) !important;
}

body.home .site-header input[type="search"],
body.home #masthead input[type="search"],
body.home .site-header input[name="s"],
body.home #masthead input[name="s"],
body.home .site-header .form-control[type="search"],
body.home #masthead .form-control[type="search"] {
  display: block !important;
  flex: 1 1 auto !important;
  width: 190px !important;
  min-width: 190px !important;
  max-width: none !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #b8cbe3 !important;
  border-right: 0 !important;
  border-radius: 5px 0 0 5px !important;
  background: #ffffff !important;
  color: #173f78 !important;
  font-size: 14px !important;
  line-height: 38px !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.home .site-header input[type="search"]::placeholder,
body.home #masthead input[type="search"]::placeholder,
body.home .site-header input[name="s"]::placeholder,
body.home #masthead input[name="s"]::placeholder {
  color: #7b8da7 !important;
  opacity: 1 !important;
}

body.home .site-header button[type="submit"],
body.home #masthead button[type="submit"],
body.home .site-header .search-submit,
body.home #masthead .search-submit,
body.home .site-header input[type="submit"],
body.home #masthead input[type="submit"] {
  display: inline-flex !important;
  flex: 0 0 40px !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 38px !important;
  min-height: 38px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #e2aa00 !important;
  border-radius: 0 5px 5px 0 !important;
  background: #ffc400 !important;
  color: #173f78 !important;
  box-shadow: none !important;
}

body.home .site-header input[type="search"]:focus,
body.home #masthead input[type="search"]:focus,
body.home .site-header input[name="s"]:focus,
body.home #masthead input[name="s"]:focus {
  border-color: #6f9dcc !important;
  outline: 2px solid rgba(65, 132, 194, .15) !important;
  outline-offset: 0 !important;
}

@media (max-width: 1024px) {
  body.home .site-header form[role="search"],
  body.home #masthead form[role="search"],
  body.home .site-header .search-form,
  body.home #masthead .search-form {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
  }

  body.home .site-header input[type="search"],
  body.home #masthead input[type="search"],
  body.home .site-header input[name="s"],
  body.home #masthead input[name="s"] {
    width: 150px !important;
    min-width: 150px !important;
  }
}

@media (max-width: 767px) {
  body.home .site-header,
  body.home header.site-header,
  body.home #masthead {
    background: #f7faff !important;
  }

  body.home .site-header form[role="search"],
  body.home #masthead form[role="search"],
  body.home .site-header .search-form,
  body.home #masthead .search-form {
    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;
  }

  body.home .site-header input[type="search"],
  body.home #masthead input[type="search"],
  body.home .site-header input[name="s"],
  body.home #masthead input[name="s"] {
    width: 120px !important;
    min-width: 120px !important;
    font-size: 13px !important;
  }
}

/* =========================================================
   Revision 115 — stronger homepage header/search + mobile navigation
   ========================================================= */
body.home .site-header,
body.home header.site-header,
body.home #masthead {
  background: #edf5ff !important;
  border-bottom: 2px solid #c8dbf1 !important;
  box-shadow: 0 3px 12px rgba(23, 63, 120, .08) !important;
}

body.home .site-header form,
body.home #masthead form,
body.home .site-header .input-group,
body.home #masthead .input-group,
body.home .site-header .search-form,
body.home #masthead .search-form {
  overflow: visible !important;
}

body.home .site-header form[role="search"],
body.home #masthead form[role="search"],
body.home .site-header .search-form,
body.home #masthead .search-form,
body.home .site-header .input-group:has(input[name="s"]),
body.home #masthead .input-group:has(input[name="s"]) {
  display: flex !important;
  align-items: stretch !important;
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  height: 40px !important;
  background: #dfeeff !important;
  border: 1px solid #7fa8d1 !important;
  border-radius: 6px !important;
  box-shadow: inset 0 1px 2px rgba(20, 58, 105, .04), 0 1px 4px rgba(20, 58, 105, .06) !important;
}

body.home .site-header input[type="search"],
body.home #masthead input[type="search"],
body.home .site-header input[name="s"],
body.home #masthead input[name="s"],
body.home .site-header .form-control,
body.home #masthead .form-control {
  display: block !important;
  flex: 1 1 auto !important;
  width: 208px !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-right: 1px solid #9dbbdd !important;
  border-radius: 5px 0 0 5px !important;
  background: #f9fcff !important;
  color: #173f78 !important;
  font-size: 14px !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-shadow: none !important;
}

body.home .site-header input::placeholder,
body.home #masthead input::placeholder {
  color: #667f9e !important;
  opacity: 1 !important;
}

body.home .site-header button[type="submit"],
body.home #masthead button[type="submit"],
body.home .site-header .search-submit,
body.home #masthead .search-submit,
body.home .site-header input[type="submit"],
body.home #masthead input[type="submit"] {
  flex: 0 0 41px !important;
  width: 41px !important;
  min-width: 41px !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 5px 5px 0 !important;
  background: #ffc400 !important;
  color: #173f78 !important;
}

/* Mobile menu button/panel generated by assets/js/home.js. */
body.home .ilf-mobile-menu-toggle,
body.home .ilf-mobile-menu-panel {
  display: none;
}

@media (max-width: 767px) {
  body.home .site-header,
  body.home header.site-header,
  body.home #masthead {
    position: relative !important;
    background: #edf5ff !important;
  }

  body.home .site-header .container,
  body.home #masthead .container,
  body.home .site-header .container-fluid,
  body.home #masthead .container-fluid {
    position: relative !important;
    min-height: 62px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }

  body.home .site-header nav:not(.ilf-mobile-menu-panel),
  body.home #masthead nav:not(.ilf-mobile-menu-panel),
  body.home .navbar-nav,
  body.home .site-header .menu,
  body.home #masthead .menu {
    display: none !important;
  }

  body.home .ilf-mobile-menu-toggle {
    display: inline-flex !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 40px !important;
    margin-left: auto !important;
    padding: 8px 9px !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 5px !important;
    border: 1px solid #8eabd0 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(20, 58, 105, .06) !important;
    cursor: pointer !important;
    z-index: 1003 !important;
  }

  body.home .ilf-mobile-menu-toggle span {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    margin: 0 auto !important;
    border-radius: 999px !important;
    background: #173f78 !important;
    transition: transform .18s ease, opacity .18s ease !important;
  }

  body.home .ilf-mobile-menu-toggle.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }
  body.home .ilf-mobile-menu-toggle.is-open span:nth-child(2) {
    opacity: 0 !important;
  }
  body.home .ilf-mobile-menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  body.home .ilf-mobile-menu-panel {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 2px) !important;
    left: 12px !important;
    right: 12px !important;
    z-index: 1002 !important;
    padding: 8px !important;
    border: 1px solid #c2d6ec !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 28px rgba(20, 58, 105, .16) !important;
  }

  body.home .ilf-mobile-menu-panel.is-open {
    display: grid !important;
  }

  body.home .ilf-mobile-menu-panel a {
    display: block !important;
    padding: 12px 14px !important;
    border-radius: 6px !important;
    color: #173f78 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  body.home .ilf-mobile-menu-panel a:hover,
  body.home .ilf-mobile-menu-panel a:focus,
  body.home .ilf-mobile-menu-panel a.is-current {
    background: #fbe7f1 !important;
    color: #d7005d !important;
  }

  /* Keep search usable on mobile, but compact enough to fit beside the menu button. */
  body.home .site-header form[role="search"],
  body.home #masthead form[role="search"],
  body.home .site-header .search-form,
  body.home #masthead .search-form,
  body.home .site-header .input-group:has(input[name="s"]),
  body.home #masthead .input-group:has(input[name="s"]) {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    height: 40px !important;
    margin-left: auto !important;
  }

  body.home .site-header input[type="search"],
  body.home #masthead input[type="search"],
  body.home .site-header input[name="s"],
  body.home #masthead input[name="s"],
  body.home .site-header .form-control,
  body.home #masthead .form-control {
    width: 108px !important;
    height: 38px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 520px) {
  body.home .site-header form[role="search"],
  body.home #masthead form[role="search"],
  body.home .site-header .search-form,
  body.home #masthead .search-form,
  body.home .site-header .input-group:has(input[name="s"]),
  body.home #masthead .input-group:has(input[name="s"]) {
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
  }

  body.home .site-header input[type="search"],
  body.home #masthead input[type="search"],
  body.home .site-header input[name="s"],
  body.home #masthead input[name="s"],
  body.home .site-header .form-control,
  body.home #masthead .form-control {
    width: 90px !important;
  }
}

/* =========================================================
   Revision 116 — lock header/search alignment + reliable mobile nav
   ========================================================= */

/* Make the visible homepage header bar unmistakably tinted. */
body.home #masthead,
body.home .site-header,
body.home header.site-header,
body.home #masthead > .navbar,
body.home .site-header > .navbar,
body.home header.site-header > .navbar,
body.home #masthead .navbar,
body.home .site-header .navbar {
  background-color: #edf5ff !important;
  background-image: none !important;
}

body.home #masthead,
body.home .site-header,
body.home header.site-header {
  border-bottom: 1px solid #bfd3ea !important;
  box-shadow: 0 3px 10px rgba(24, 63, 116, .08) !important;
}

/* Keep the complete desktop header contents on one vertical center line. */
body.home #masthead .container,
body.home #masthead .container-fluid,
body.home .site-header .container,
body.home .site-header .container-fluid {
  align-items: center !important;
}

/* Search: force all parent/wrapper elements into ONE row. */
body.home #masthead form[role="search"],
body.home .site-header form[role="search"],
body.home #masthead .search-form,
body.home .site-header .search-form,
body.home #masthead .input-group:has(input[name="s"]),
body.home .site-header .input-group:has(input[name="s"]) {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 248px !important;
  min-width: 248px !important;
  max-width: 248px !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #7fa8d1 !important;
  border-radius: 5px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 3px rgba(24, 63, 116, .06) !important;
}

body.home #masthead form[role="search"] > *,
body.home .site-header form[role="search"] > *,
body.home #masthead .search-form > *,
body.home .site-header .search-form > *,
body.home #masthead .input-group:has(input[name="s"]) > *,
body.home .site-header .input-group:has(input[name="s"]) > * {
  float: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Common Bootstrap / theme wrappers around the submit button. */
body.home #masthead .input-group-append,
body.home .site-header .input-group-append,
body.home #masthead .input-group-btn,
body.home .site-header .input-group-btn,
body.home #masthead .search-submit-wrap,
body.home .site-header .search-submit-wrap {
  display: flex !important;
  flex: 0 0 40px !important;
  width: 40px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
  position: static !important;
  transform: none !important;
}

body.home #masthead input[type="search"],
body.home .site-header input[type="search"],
body.home #masthead input[name="s"],
body.home .site-header input[name="s"],
body.home #masthead .form-control[type="search"],
body.home .site-header .form-control[type="search"] {
  display: block !important;
  flex: 1 1 auto !important;
  width: 206px !important;
  min-width: 0 !important;
  max-width: 206px !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 4px 0 0 4px !important;
  background: #ffffff !important;
  color: #173f78 !important;
  line-height: 36px !important;
  box-sizing: border-box !important;
}

body.home #masthead button[type="submit"],
body.home .site-header button[type="submit"],
body.home #masthead .search-submit,
body.home .site-header .search-submit,
body.home #masthead input[type="submit"],
body.home .site-header input[type="submit"] {
  display: inline-flex !important;
  flex: 0 0 40px !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  border: 0 !important;
  border-left: 1px solid #e1b300 !important;
  border-radius: 0 4px 4px 0 !important;
  background: #ffc400 !important;
  color: #173f78 !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
}

/* Hamburger should take over before the desktop nav becomes cramped. */
@media (max-width: 900px) {
  body.home .site-header nav:not(.ilf-mobile-menu-panel),
  body.home #masthead nav:not(.ilf-mobile-menu-panel),
  body.home .navbar-nav,
  body.home .site-header .menu,
  body.home #masthead .menu {
    display: none !important;
  }

  body.home .ilf-mobile-menu-toggle {
    display: inline-flex !important;
  }

  body.home .site-header .container,
  body.home #masthead .container,
  body.home .site-header .container-fluid,
  body.home #masthead .container-fluid {
    position: relative !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    min-height: 62px !important;
    gap: 8px !important;
  }

  body.home #masthead form[role="search"],
  body.home .site-header form[role="search"],
  body.home #masthead .search-form,
  body.home .site-header .search-form,
  body.home #masthead .input-group:has(input[name="s"]),
  body.home .site-header .input-group:has(input[name="s"]) {
    width: 156px !important;
    min-width: 156px !important;
    max-width: 156px !important;
    margin-left: auto !important;
  }

  body.home #masthead input[type="search"],
  body.home .site-header input[type="search"],
  body.home #masthead input[name="s"],
  body.home .site-header input[name="s"] {
    width: 114px !important;
    max-width: 114px !important;
  }
}

@media (max-width: 520px) {
  body.home #masthead form[role="search"],
  body.home .site-header form[role="search"],
  body.home #masthead .search-form,
  body.home .site-header .search-form,
  body.home #masthead .input-group:has(input[name="s"]),
  body.home .site-header .input-group:has(input[name="s"]) {
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
  }

  body.home #masthead input[type="search"],
  body.home .site-header input[type="search"],
  body.home #masthead input[name="s"],
  body.home .site-header input[name="s"] {
    width: 90px !important;
    max-width: 90px !important;
  }
}

/* =========================================================
   Revision 117 — balance homepage hero typography hierarchy
   Make the script kicker and main headline feel more even and less top-heavy.
   ========================================================= */
body.home .ilf-kicker {
  color: #e94f94 !important;
  font-weight: 600 !important;
  font-size: clamp(35px, 3.25vw, 47px) !important;
  line-height: .98 !important;
  letter-spacing: -.35px !important;
  margin-bottom: 1px !important;
}

body.home .ilf-title,
body.home .ilf-title-line,
body.home .ilf-title-sub {
  color: #2b5695 !important;
}

body.home .ilf-title {
  font-weight: 700 !important;
  font-size: clamp(31px, 3.05vw, 43px) !important;
  line-height: 1.055 !important;
  letter-spacing: -.55px !important;
  max-width: 560px !important;
}

body.home .ilf-title-line,
body.home .ilf-title-sub {
  font-weight: 700 !important;
}

body.home .ilf-title em {
  color: #e94f94 !important;
  font-weight: 600 !important;
  font-size: 1.06em !important;
}

body.home .ilf-lead {
  margin-top: 10px !important;
}

@media (max-width: 900px) {
  body.home .ilf-kicker {
    font-size: 33px !important;
  }
  body.home .ilf-title {
    font-size: 34px !important;
    line-height: 1.06 !important;
    letter-spacing: -.4px !important;
  }
}

/* =========================================================
   Revision 118 — slightly longer featured offer cards
   Show a bit more description copy while keeping the card row neat.
   ========================================================= */
body.home .ilf-featured-card {
  min-height: 392px !important;
}

body.home .ilf-featured-card-link {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

body.home .ilf-featured-card .ilf-card-body {
  gap: 10px !important;
  padding: 14px 16px 18px !important;
  min-height: 132px !important;
}

body.home .ilf-featured-card h3 {
  margin-bottom: 2px !important;
}

body.home .ilf-featured-card p {
  min-height: 60px !important;
  line-height: 1.45 !important;
  -webkit-line-clamp: 4 !important;
  font-size: 11.5px !important;
}

body.home .ilf-featured-card-action {
  padding: 0 10px 14px !important;
}

@media (min-width: 1181px) {
  body.home .ilf-featured-card {
    min-height: 404px !important;
  }

  body.home .ilf-featured-card .ilf-card-body {
    min-height: 140px !important;
  }

  body.home .ilf-featured-card p {
    min-height: 66px !important;
    font-size: 11.6px !important;
  }
}

@media (max-width: 900px) {
  body.home .ilf-featured-card {
    min-height: 0 !important;
  }

  body.home .ilf-featured-card .ilf-card-body {
    min-height: 0 !important;
  }

  body.home .ilf-featured-card p {
    min-height: 0 !important;
    -webkit-line-clamp: 3 !important;
  }
}

/* =========================================================
   Revision 119 — featured card spacing + hero breathing room
   Keep longer excerpts while removing excess empty card space.
   ========================================================= */
body.home .ilf-hero {
  padding-top: 22px !important;
}

body.home .ilf-featured-card {
  min-height: 360px !important;
}

body.home .ilf-featured-card-link {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
}

body.home .ilf-featured-card .ilf-card-body {
  gap: 7px !important;
  padding: 12px 14px 10px !important;
  min-height: 112px !important;
}

body.home .ilf-featured-card h3 {
  margin: 0 0 1px !important;
}

body.home .ilf-featured-card p {
  min-height: 54px !important;
  margin: 0 !important;
  line-height: 1.42 !important;
  -webkit-line-clamp: 4 !important;
}

body.home .ilf-featured-card-action {
  margin-top: auto !important;
  padding: 0 10px 10px !important;
}

body.home .ilf-featured-card-action .ilf-btn {
  min-height: 36px !important;
}

@media (min-width: 1181px) {
  body.home .ilf-featured-card {
    min-height: 368px !important;
  }

  body.home .ilf-featured-card .ilf-card-body {
    min-height: 118px !important;
  }

  body.home .ilf-featured-card p {
    min-height: 56px !important;
  }
}

@media (max-width: 900px) {
  body.home .ilf-hero {
    padding-top: 18px !important;
  }

  body.home .ilf-featured-card {
    min-height: 0 !important;
  }

  body.home .ilf-featured-card .ilf-card-body {
    min-height: 0 !important;
  }

  body.home .ilf-featured-card p {
    min-height: 0 !important;
    -webkit-line-clamp: 3 !important;
  }
}


/* Revision 120: swap Featured Freebies slot 2 fallback from 20 Free Things for Teachers to Get Paid To Speak Your Mind. */

/* =========================================================
   Revision 121 — center the homepage hero copy like the theme thumbnail
   ========================================================= */
body.home .ilf-hero-grid > div:first-child {
  text-align: center !important;
}

body.home .ilf-kicker,
body.home .ilf-title,
body.home .ilf-lead {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

body.home .ilf-actions {
  justify-content: center !important;
}

@media (min-width: 901px) {
  body.home .ilf-hero-grid > div:first-child {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  body.home .ilf-title {
    max-width: 590px !important;
  }

  body.home .ilf-lead {
    max-width: 560px !important;
  }
}


/* Revision 122: SEO-only cleanup. Hidden homepage SEO copy was removed from markup; archive cards continue to use excerpts; My Articles is noindexed; SurveySavvy gets a more descriptive search title. No visual layout changes. */

/* Revision 123 — SEO verification/fix pass. No visual homepage changes. */


/* Revision 127 — mobile rendering optimization for below-the-fold homepage sections. */
@media (max-width: 900px) {
  body.home .ilf-how,
  body.home .ilf-newsletter,
  body.home .ilf-footer {
    content-visibility: auto;
    contain-intrinsic-size: auto 420px;
  }
}


/* =========================================================
   Revision 128 — accessibility polish with no layout changes
   ========================================================= */
:root {
  --ilf-muted: #52617a;
}

/* Keep small supporting copy comfortably above WCAG AA contrast. */
body.home .ilf-card p,
body.home .ilf-step p {
  color: #52617a !important;
}

body.home .ilf-copy {
  color: #e3ecfb !important;
  opacity: 1 !important;
}

body.home .ilf-footer a {
  opacity: 1 !important;
}

body.home .site-header input[type="search"]::placeholder,
body.home #masthead input[type="search"]::placeholder,
body.home .site-header input[name="s"]::placeholder,
body.home #masthead input[name="s"]::placeholder {
  color: #53647c !important;
  opacity: 1 !important;
}

/* Maintain a visible keyboard focus indicator on all homepage controls. */
body.home a:focus-visible,
body.home button:focus-visible,
body.home input:focus-visible {
  outline: 3px solid #173f78 !important;
  outline-offset: 3px !important;
}

/* Revision 129 — responsive homepage card image delivery; no visual layout changes. */
