@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,700&family=Poppins:wght@500;600&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-weight:700; font-size:15px;
  letter-spacing:.16em; text-transform:uppercase; color:#7A4A32; margin:0 0 6px !important; }
.llc-tv-h1 { font-family:'Fraunces',Georgia,serif !important; font-weight:800 !important; font-size:46px !important;
  color:#d3808e !important; line-height:1.12; margin:0 0 16px !important; max-width:860px; margin-left:auto !important; margin-right:auto !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:640px; margin:0 auto !important; font-size:17px; line-height:1.7; color:#4A4A4A; }
.llc-tv-intro--last { margin-top:14px !important; font-weight:600; color:#85503A; }
.llc-tv-band { background:#d3808e; color:#fff !important; border-radius:8px;
  font-family:'Fraunces',Georgia,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:'Fraunces',Georgia,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-weight:700; font-size:13px;
  letter-spacing:.16em; text-transform:uppercase; color:#7A4A32; margin:0 0 6px !important; }
.llc-tv-magnet__title { font-family:'Fraunces',Georgia,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-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; }

.llc-tv-magnet__note { font-size:13.5px !important; color:#9C8C82 !important; margin:12px 0 0 !important; }
.llc-tv-magnet .success {
  background:#fff; border:1px solid #E9A8B8; border-radius:14px;
  padding:18px 20px; margin:4px 0 0; font-size:15.5px; line-height:1.6; color:#5C4A42;
}
.llc-tv-magnet .success p { margin:0; }
.llc-tv-magnet .success a {
  display:inline-block; margin:10px 0 2px; background:#8A5A3B; color:#fff !important;
  padding:12px 26px; border-radius:999px; text-decoration:none; font-weight:700; font-size:15px;
}
.llc-tv-magnet .success a:hover { background:#6B4A3A; color:#fff !important; }
.llc-tv-magnet .success { text-align:center; }
.llc-tv-magnet .success a { display:inline-block; margin:12px 0 10px; }
.llc-tv-magnet .success ~ .wp-block-jetpack-subscriptions__supports-newline,
.llc-tv-magnet .success ~ .llc-tv-magnet__note { display:none !important; }
@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; }
}

/* ---------------- Travel post styling ---------------- */
.llc-post-tip {
  font-family:'Fraunces',Georgia,serif !important; font-weight:700 !important;
  font-size:22px !important; color:#85503A !important; line-height:1.3;
  margin:32px 0 8px !important;
}
.llc-post-h2 {
  font-family:'Fraunces',Georgia,serif !important; font-weight:700 !important;
  font-size:28px !important; color:#d3808e !important; margin:38px 0 10px !important;
}
.llc-post-callout {
  background:#FCF1F3; border:2px solid #E9A8B8; border-radius:16px;
  padding:22px 26px 18px; margin:34px 0 !important;
}
.llc-post-callout__title {
  font-family:'Fraunces',Georgia,serif !important; font-weight:700 !important;
  font-size:19px !important; color:#7A4A32 !important; margin:0 0 8px !important;
}
.llc-post-callout p { margin:0 !important; }
.llc-post-dl { margin:34px 0 10px !important; }
.llc-post-dl a {
  display:inline-block; background:#8A5A3B; color:#fff !important;
  padding:14px 30px; border-radius:999px; text-decoration:none;
  font-weight:700; font-size:16px;
}
.llc-post-dl a:hover { background:#6B4A3A; color:#fff !important; }

/* Travel post header */
.category-travel .entry-title {
  font-family:'Fraunces',Georgia,serif !important; font-weight:700 !important;
  font-size:44px !important; line-height:1.08 !important; color:#d3808e !important;
  text-align:center; margin:10px 0 4px !important;
}
.category-travel .entry-title:before {
  content:"Family Travel"; display:block; font-family:inherit;
  font-size:14px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:#7A4A32; margin:0 0 12px;
}
.llc-post-head { margin:0 0 6px !important; }
.llc-post-sub { font-style:italic; color:#8A5A3B; font-size:18px; margin:0 0 18px !important; }
.llc-post-photo { margin:0 auto 8px !important; text-align:center; }
.llc-post-photo img { width:118px; height:118px; border-radius:50%; display:block; margin:0 auto !important; }
.llc-post-by { color:#d3808e; font-size:14px; margin:0 !important; }
.llc-post-rule { border:0 !important; border-top:1px solid #E4A9B7 !important; margin:18px 0 22px !important; opacity:1; }
.llc-post-lead { font-size:18px !important; line-height:1.65 !important; color:#4A4A4A; }
@media (max-width:782px) {
  .category-travel .entry-title { font-size:32px !important; }
  .llc-post-sub { font-size:16px; }
  .llc-post-lead { font-size:16.5px !important; }
}

/* In-post content upgrade box */
.llc-upgrade {
  background:#FCF1F3; border:2px solid #E9A8B8; border-radius:18px;
  padding:26px 28px 22px; margin:40px 0 !important;
}
.llc-upgrade__kicker {
  font-weight:700; font-size:12px; letter-spacing:.17em; text-transform:uppercase;
  color:#7A4A32; margin:0 0 6px !important;
}
.llc-upgrade__title {
  font-family:'Fraunces',Georgia,serif !important; font-weight:700 !important;
  font-size:24px !important; color:#d3808e !important; margin:0 0 8px !important; line-height:1.2;
}
.llc-upgrade__sub { font-size:16px; line-height:1.55; color:#4A4A4A; margin:0 0 16px !important; }
.llc-upgrade .wp-block-button__link { white-space:nowrap; font-weight:600 !important; }
.llc-upgrade__note { font-size:13px !important; color:#9C8C82 !important; margin:12px 0 0 !important; }
.llc-upgrade .success {
  background:#fff; border:1px solid #E9A8B8; border-radius:14px; text-align:center;
  padding:18px 20px; margin:0; font-size:15.5px; line-height:1.6; color:#5C4A42;
}
.llc-upgrade .success p { margin:0; }
.llc-upgrade .success a {
  display:inline-block; margin:12px 0 10px; background:#8A5A3B; color:#fff !important;
  padding:12px 26px; border-radius:999px; text-decoration:none; font-weight:700; font-size:15px;
}
.llc-upgrade .success a:hover { background:#6B4A3A; color:#fff !important; }
.llc-upgrade .success ~ .wp-block-jetpack-subscriptions__supports-newline,
.llc-upgrade .success ~ .llc-upgrade__note { display:none !important; }
@media (max-width:782px) {
  .llc-upgrade { padding:22px 18px 18px; }
  .llc-upgrade__title { font-size:20px !important; }
}


/* Travel posts: hide Jetpack's generic "Discover more" subscribe box so the
   content-upgrade offer is the only email ask on the page */
.category-travel .entry-content .wp-block-group.has-border-color:has(form[action*="email-subscriptions"]) {
  display:none !important;
}

/* Travel post images */
.llc-post-figure { max-width:430px !important; margin:34px auto !important; }
.llc-post-figure img {
  width:100% !important; max-width:100% !important; height:auto !important;
  display:block; margin:0 auto; border-radius:14px;
}
.llc-post-figure figcaption {
  margin-top:9px !important; text-align:center; font-size:13.5px; font-style:italic; color:#9C8C82;
}

/* Uniform blog cover photos (listing pages only) */
.basil-blog-list-item .post-thumbnail { display:block; }
.basil-blog-list-item .post-thumbnail img {
  width:100% !important; height:auto !important;
  aspect-ratio: 3 / 2; object-fit: cover;
  border-radius:14px; display:block;
}

/* Travel page cards */
.llc-tv-posts .wp-block-latest-posts__featured-image img {
  width:100% !important; height:auto !important;
  aspect-ratio: 3 / 2; object-fit: cover;
  border-radius:12px; display:block;
}
.llc-tv-posts .wp-block-latest-posts__featured-image { margin-bottom:14px !important; width:100%; }


/* Poppins for small card titles (big headings stay Fraunces) */
.cooked-recipe-card-title,
.cooked-recipe-card .cooked-recipe-card-title {
  font-family:'Poppins',-apple-system,Segoe UI,Arial,sans-serif !important;
  font-weight:600 !important;
  letter-spacing:-0.005em;
}
.llc-tv-posts .wp-block-latest-posts__post-title,
.llc-tv-posts a.wp-block-latest-posts__post-title {
  font-family:'Poppins',-apple-system,Segoe UI,Arial,sans-serif !important;
  font-weight:600 !important;
}


/* Card titles wrap instead of truncating */
.cooked-recipe-card-title,
.basil-blog-card-title {
  white-space:normal !important;
  text-overflow:clip !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden !important;
}

/* Equal-height blog cards */
.basil-blog-posts-widget .basil-blog-posts-single { display:flex; }
.basil-blog-posts-widget .basil-blog-card { display:flex !important; flex-direction:column; width:100%; }
.basil-blog-posts-widget .basil-blog-card-content { flex:1 1 auto; }
.basil-blog-posts-widget .basil-blog-card-title { min-height:2.1em; }

/* Travel guide landing page */
.page-id-12385 .entry-title, .page-id-12385 .basil-page-header, .page-id-12385 .page-title, .page-id-12385 .basil-page-title { display:none !important; }
.llc-lp-hero { padding:6px 0 4px !important; }
.llc-lp-kicker { font-weight:700 !important; font-size:12.5px !important; letter-spacing:.22em; text-transform:uppercase; color:#7A4A32 !important; margin:0 0 8px !important; }
.llc-lp-h1 { font-family:'Fraunces',Georgia,serif !important; font-weight:700 !important; font-size:52px !important; color:#d3808e !important; line-height:1.05 !important; margin:0 0 10px !important; }
.llc-lp-sub { font-style:italic; color:#8A5A3B !important; font-size:18px !important; margin:0 0 34px !important; }
.llc-lp-cols { align-items:center; gap:44px !important; margin-bottom:34px !important; }
.llc-lp-card { background:#fff; border:1.5px solid #E9A8B8; border-radius:16px; padding:26px 24px 24px !important; box-shadow:0 10px 34px rgba(160,110,120,.16); text-align:center; }
.llc-lp-card__logo { margin:0 0 16px !important; }
.llc-lp-card__logo img { max-width:132px; height:auto; display:block; margin:0 auto; }
.llc-lp-card__kicker { font-weight:700 !important; font-size:11.5px !important; letter-spacing:.24em; text-transform:uppercase; color:#7A4A32 !important; margin:0 0 4px !important; }
.llc-lp-card__title { font-family:'Fraunces',Georgia,serif !important; font-weight:700 !important; font-size:31px !important; color:#d3808e !important; line-height:1.08 !important; margin:0 0 8px !important; }
.llc-lp-card__sub { font-style:italic; color:#8A5A3B !important; font-size:13.5px !important; margin:0 0 18px !important; }
.llc-lp-card__photo { margin:0 0 8px !important; }
.llc-lp-card__photo img { width:104px; height:104px; border-radius:50%; object-fit:cover; display:block; margin:0 auto; }
.llc-lp-card__by { color:#d3808e !important; font-size:12.5px !important; margin:0 !important; }
.llc-lp-lead { font-size:17.5px !important; line-height:1.62 !important; margin:0 0 24px !important; }
.llc-lp-inside { font-weight:700 !important; font-size:11.5px !important; letter-spacing:.2em; text-transform:uppercase; color:#7A4A32 !important; margin:0 0 10px !important; padding-bottom:8px; border-bottom:1px solid #EADFE2; }
.llc-lp-list { font-size:16px !important; line-height:1.55 !important; margin:0 !important; padding-left:0 !important; list-style:none !important; }
.llc-lp-list li { position:relative; padding-left:26px !important; margin-bottom:11px !important; list-style:none !important; }
.llc-lp-list li::before { content:''; position:absolute; left:2px; top:9px; width:8px; height:8px; border-radius:50%; background:#E4A9B7; }
.llc-lp-form { max-width:620px; margin:0 auto !important; background:#FCF1F3; border:1.6px solid #E9A8B8; border-radius:18px; padding:26px 28px 20px !important; }
.llc-lp-note { font-size:13.5px !important; color:#9C8C82 !important; margin:14px auto 0 !important; max-width:620px; }
@media (max-width:781px){ .llc-lp-h1{font-size:36px !important;} .llc-lp-cols{gap:26px !important;} .llc-lp-card{margin-bottom:26px;} }


/* eCookbook covers on the homepage */
.llc-ecb-posts { display:grid !important; grid-template-columns:repeat(2,1fr); gap:28px; list-style:none !important; padding:0 !important; margin:0 !important; }
.llc-ecb-posts li { margin:0 !important; text-align:center; }
.llc-ecb-posts .wp-block-latest-posts__featured-image { margin:0 0 14px !important; width:100%; }
.llc-ecb-posts .wp-block-latest-posts__featured-image img { width:auto !important; max-width:100% !important; height:auto !important; max-height:330px !important; object-fit:contain; display:block; margin:0 auto; border-radius:10px; box-shadow:0 6px 22px rgba(0,0,0,.13); }


/* eCookbooks grid tidy + equal card heights */
#basil-homepage-widgets .llc-ecb-posts { max-width:760px !important; margin:0 auto !important; grid-template-columns:repeat(2,1fr) !important; gap:36px !important; }
#basil-homepage-widgets .llc-ecb-posts li { border:0 !important; padding:0 !important; width:100% !important; max-width:100% !important; justify-self:stretch; }
#basil-homepage-widgets .llc-ecb-posts .wp-block-latest-posts__featured-image img { max-height:300px !important; }
.cooked-recipe-card-title { line-height:1.32 !important; min-height:2.64em !important; display:-webkit-box !important; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden !important; }


/* Mobile subscribe fixes */
@media (max-width:640px){
  .wp-block-jetpack-subscriptions__form-elements { flex-direction:column !important; gap:10px; }
  .wp-block-jetpack-subscriptions__form-elements > p { width:100% !important; max-width:100% !important; flex:0 0 auto !important; margin:0 !important; }
  .wp-block-jetpack-subscriptions__form-elements button[type=submit] { width:100% !important; }
  footer { padding-bottom:78px !important; }
}
.home .jetpack-subscribe-floating-button { display:none !important; }


/* Shop page */
.page-id-12409 .entry-title, .page-id-12409 .basil-page-title { display:none !important; }
.llc-shop-kicker { font-weight:700 !important; font-size:12.5px !important; letter-spacing:.22em; text-transform:uppercase; color:#7A4A32 !important; margin:0 0 8px !important; }
.llc-shop-h1 { font-family:'Fraunces',Georgia,serif !important; font-weight:700 !important; font-size:46px !important; color:#d3808e !important; line-height:1.06 !important; margin:0 0 12px !important; }
.llc-shop-intro { max-width:640px; margin:0 auto 6px !important; font-size:15.5px !important; color:#8A5A3B !important; line-height:1.6 !important; }
.llc-shop-lead { max-width:620px; margin:0 auto 26px !important; font-size:16px !important; }
.llc-shop-band { background:#d3808e; color:#fff !important; font-family:'Fraunces',Georgia,serif !important; font-weight:700 !important; font-size:34px !important; padding:26px 6% 24px !important; margin:34px 0 22px !important; }
.llc-shop-grid > .wp-block-group__inner-container { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:22px; }
.llc-shop-grid { display:block !important; max-width:1000px; margin:0 auto !important; }
.llc-shop-grid > .wp-block-group__inner-container > *, .llc-shop-grid > * { grid-column:auto !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important; width:auto !important; }
.llc-shop-card { background:#fff; border:1.5px solid #EFDCE1; border-radius:15px; padding:22px 22px 18px !important; display:flex; flex-direction:column; }
.llc-shop-card__t { font-family:'Poppins',Arial,sans-serif !important; font-weight:600 !important; font-size:17px !important; color:#7A4A32 !important; margin:0 0 8px !important; line-height:1.3 !important; }
.llc-shop-card__d { font-size:14.5px !important; line-height:1.55 !important; margin:0 0 16px !important; flex:1 1 auto; }
.llc-shop-card__b { margin:0 !important; }
.llc-shop-card__b a { display:inline-block; background:#d3808e; color:#fff !important; text-decoration:none !important; font-weight:600; font-size:14px; padding:9px 20px; border-radius:999px; }
