@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,700&family=Poppins:wght@400;600;700;800&display=swap');

/* Homepage recipe sections: grid layout for Protein Packed Snacks & Back-to-School Lunchbox Ideas */
#basil-homepage-widgets {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 30px 24px;
  align-items: start;
  padding: 40px 6% 0;
}
#basil-homepage-widgets > .widget_block,
#basil-homepage-widgets > .basil-blog-posts-widget {
  grid-column: 1 / -1;
}
#basil-homepage-widgets .cooked_widget_recipe_card {
  display: flex;
  justify-content: center;
}
#basil-homepage-widgets .cooked-recipe-card-modern-centered {
  width: 100% !important;
  max-width: 340px !important;
  margin: 0 !important;
}
#basil-homepage-widgets .cooked-recipe-card-title {
  margin-top: 18px !important;
}
@media (max-width: 782px) {
  #basil-homepage-widgets {
    grid-template-columns: 1fr;
  }
}

/* Section title bands (Protein Packed Snacks / Back-to-School Lunchbox Ideas / Our eCookbooks).
   The first two headings carry inline font-size + font-weight from the block editor,
   so these declarations need !important to win. The -6.8182% margin cancels the grid's
   6% side padding (6 / 88) so the band runs edge to edge; the padding then lives on the
   link inside, which makes the whole band clickable. */
#basil-homepage-widgets > .widget_block .wp-block-heading.has-text-align-center,
#basil-homepage-widgets > .widget_block .wp-block-heading.has-x-large-font-size {
  display: block;
  margin: 26px -6.8182% 10px;
  padding: 0;
  background: #d3808e;
  color: #ffffff !important;
  font-family: 'Fraunces', Georgia, 'Times New Roman', serif !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px;
  line-height: 1.2;
  text-align: center;
}
#basil-homepage-widgets > .widget_block .wp-block-heading a {
  display: block;
  padding: 34px 6% 30px;
  color: inherit !important;
  text-decoration: none;
}
#basil-homepage-widgets > .widget_block .wp-block-heading a:hover,
#basil-homepage-widgets > .widget_block .wp-block-heading a:focus {
  color: #ffffff !important;
  text-decoration: underline;
  text-underline-offset: 8px;
  text-decoration-thickness: 2px;
}
@media (max-width: 782px) {
  #basil-homepage-widgets > .widget_block .wp-block-heading.has-text-align-center,
  #basil-homepage-widgets > .widget_block .wp-block-heading.has-x-large-font-size {
    font-size: 28px !important;
  }
  #basil-homepage-widgets > .widget_block .wp-block-heading a {
    padding: 24px 6% 22px;
  }
}

/* Move the email signup block below the eCookbooks section */
#basil-homepage-widgets > .widget_block:has(.wp-block-jetpack-subscriptions__container) {
  order: 1;
}

/* Keep recipe card mini-descriptions a consistent height */
#basil-homepage-widgets .cooked-recipe-card-excerpt {
  display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ---------------- Travel page (/travel/) ---------------- */
.page-id-12306 .basil-main-template { width:100% !important; max-width:100% !important; }
.page-id-12306 .entry-title { display:none; }
.llc-tv-hero { background:#FCF1F3; border-radius:8px; padding:56px 8% 50px; margin:0 0 6px; }
.llc-tv-kicker { font-family:'Poppins',sans-serif !important; font-weight:700; font-size:15px;
  letter-spacing:.16em; text-transform:uppercase; color:#7A4A32; margin:0 0 6px !important; }
.llc-tv-h1 { font-family:'Poppins',sans-serif !important; font-weight:800 !important; font-size:52px !important;
  color:#d3808e !important; line-height:1.05; margin:0 0 10px !important; letter-spacing:-.015em; }
.llc-tv-sub { font-style:italic; color:#8A5A3B; font-size:18px; margin:0 0 20px !important; }
.llc-tv-intro { max-width:660px; margin:0 auto !important; font-size:17px; line-height:1.7; color:#4A4A4A; }
.llc-tv-band { background:#d3808e; color:#fff !important; border-radius:8px;
  font-family:'Poppins',sans-serif !important; font-weight:700 !important; font-size:30px !important;
  padding:24px 6% !important; margin:44px 0 32px !important; }
.llc-tv-posts { list-style:none !important; padding:0 !important; margin:0 !important;
  display:grid !important; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:30px 26px; }
.llc-tv-posts > li { width:auto !important; margin:0 !important; background:#fff;
  border:1px solid #F0E2E6; border-radius:16px; overflow:hidden; padding:0 0 22px;
  box-shadow:0 2px 10px rgba(122,74,50,.05); }
.llc-tv-posts .wp-block-latest-posts__featured-image { margin:0 0 4px; }
.llc-tv-posts .wp-block-latest-posts__featured-image img { width:100%; height:auto; display:block; }
.llc-tv-posts > li > a { display:block; padding:22px 22px 0; font-family:'Poppins',sans-serif !important;
  font-weight:600; font-size:19px; line-height:1.3; color:#85503A !important; text-decoration:none; }
.llc-tv-posts > li > a:hover { color:#d3808e !important; }
.llc-tv-posts .wp-block-latest-posts__post-date { display:block; padding:9px 22px 0; font-size:12px;
  letter-spacing:.06em; text-transform:uppercase; color:#B79E93; }
.llc-tv-posts .wp-block-latest-posts__post-excerpt { padding:11px 22px 0; margin:0; font-size:15px;
  line-height:1.6; color:#5C5C5C; }
.llc-tv-magnet { background:#FCF1F3; border:2px solid #E9A8B8; border-radius:22px;
  padding:38px 40px; margin:52px 0 0 !important; }
.llc-tv-magnet__cols { align-items:center !important; gap:36px; }
.llc-tv-magnet__cover img { display:block; width:100%; height:auto; border-radius:10px;
  box-shadow:0 8px 26px rgba(122,74,50,.16); }
.llc-tv-magnet__kicker { font-family:'Poppins',sans-serif !important; font-weight:700; font-size:13px;
  letter-spacing:.16em; text-transform:uppercase; color:#7A4A32; margin:0 0 6px !important; }
.llc-tv-magnet__title { font-family:'Poppins',sans-serif !important; font-weight:800 !important;
  font-size:31px !important; line-height:1.15; color:#d3808e !important; margin:0 0 10px !important; }
.llc-tv-magnet__sub { font-size:16px; line-height:1.6; color:#4A4A4A; margin:0 0 18px !important; }
.llc-tv-magnet .wp-block-button__link { white-space:nowrap; font-family:'Poppins',sans-serif !important; font-weight:600 !important; }
.llc-tv-magnet__dl { margin:14px 0 0 !important; font-size:15px; }
.llc-tv-magnet__dl a { color:#B85F76 !important; font-weight:600; text-decoration:none;
  border-bottom:1px solid #E9A8B8; }
.llc-tv-magnet__dl a:hover { color:#8A5A3B !important; }
.llc-tv-foot { margin:40px auto 60px !important; font-size:16px; color:#7A6A62; }
.llc-tv-foot a { color:#B85F76 !important; font-weight:600; }
@media (max-width:782px) {
  .llc-tv-hero { padding:40px 6% 34px; }
  .llc-tv-h1 { font-size:36px !important; }
  .llc-tv-sub { font-size:16px; }
  .llc-tv-band { font-size:24px !important; padding:20px 6% !important; }
  .llc-tv-magnet { padding:28px 22px; }
  .llc-tv-magnet__title { font-size:25px !important; }
  .llc-tv-magnet__cols { gap:22px; }
}