/* SavorySync blog brand accents — flat green + gold from landing page */

:root {

  --blog-green: #22c55e;

  --blog-green-dark: #16a34a;

  --blog-green-deep: #15803d;

  --blog-gold: #ebb22f;

  --blog-gold-dark: #c9921f;

  --blog-gold-light: #fef3c7;

}



/* Blog header CTA — solid green (blog.css only loads on blog pages) */

header .puprple_btn {

  background-color: var(--blog-green);

  color: #fff;

  border: 2px solid var(--blog-green);

}



header .puprple_btn::before {

  display: none;

}



header .puprple_btn:hover {

  background-color: var(--blog-green-dark);

  color: #fff;

  border-color: var(--blog-green-dark);

}



/* Blog Listing Page Styles */

.blog_listing_section {

  padding: 120px 0 60px;

}



.blog_hero {

  background: var(--blog-green);

  padding: 60px 30px;

  border-radius: 20px;

  margin-bottom: 50px;

  color: white;

  text-align: center;

  position: relative;

  overflow: hidden;

}



.blog_hero::before {

  content: "";

  position: absolute;

  top: -50%;

  right: -20%;

  width: 400px;

  height: 400px;

  border-radius: 50%;

  background: rgba(255,255,255,0.08);

}



.blog_hero h1 {

  font-size: 42px;

  font-weight: 700;

  color: #fff;

  margin-bottom: 15px;

}



.blog_hero p {

  font-size: 18px;

  color: rgba(255,255,255,0.9);

  max-width: 600px;

  margin: 0 auto;

}



.blog_card {

  background: #fff;

  border-radius: 20px;

  overflow: hidden;

  box-shadow: 0 5px 20px rgba(0,0,0,0.06);

  transition: all 0.4s ease;

  margin-bottom: 30px;

  height: 100%;

  display: flex;

  flex-direction: column;

  border: 1px solid rgba(34,197,94,0.1);

}



.blog_card:hover {

  transform: translateY(-8px);

  box-shadow: 0 15px 40px rgba(34,197,94,0.14);

}



.blog_card_img {

  height: 200px;

  overflow: hidden;

  position: relative;

}



.blog_card_img .card_category {

  position: absolute;

  top: 15px;

  left: 15px;

  background: #ffffff7a;

  color: var(--dark-purple);

  padding: 4px 14px;

  border-radius: 50px;

  font-size: 12px;

  font-weight: 600;

  z-index: 2;

}

.blog_item {
  margin-bottom: 15px;
}

.blog_card_img .card_gradient {

  width: 100%;

  height: 100%;

  display: flex;

  align-items: center;

  justify-content: center;

  position: relative;

  background: var(--blog-gold);

}



.blog_card_img .card_gradient--gold {

  background: var(--blog-gold);

}



.blog_card_img .card_gradient--green {

  background: var(--blog-green);

}



.blog_card_img .card_gradient i {

  font-size: 48px;

  color: var(--blog-green-dark);

  position: relative;

  z-index: 2;

}



.blog_card_img .card_gradient--green i {

  color: #fff;

}



.blog_card_body {

  padding: 25px;

  flex: 1;

  display: flex;

  flex-direction: column;

}



.blog_card_meta {

  display: flex;

  align-items: center;

  gap: 15px;

  margin-bottom: 12px;

  font-size: 13px;

  color: #888;

}



.blog_card_meta span {

  display: flex;

  align-items: center;

  gap: 5px;

}



.blog_card_meta i {

  font-size: 14px;

  color: var(--blog-green-dark);

}



.blog_card_body h3 {

  font-size: 18px;

  font-weight: 600;

  color: var(--dark-purple);

  margin-bottom: 10px;

  line-height: 1.4;

}



.blog_card_body h3 a {

  color: var(--dark-purple);

  transition: color 0.3s ease;

}



.blog_card_body h3 a:hover {

  color: var(--blog-green-dark);

}



.blog_card_body .excerpt {

  font-size: 14px;

  color: #666;

  line-height: 1.6;

  margin-bottom: 15px;

  flex: 1;

}



.blog_card_footer {

  display: flex;

  align-items: center;

  justify-content: flex-end;

  padding-top: 15px;

  border-top: 1px solid #f0f0f0;

  margin-top: auto;

}



.blog_card_author {

  display: flex;

  align-items: center;

  gap: 8px;

}



.blog_card_author .author_avatar {

  width: 30px;

  height: 30px;

  border-radius: 50%;

  background: var(--blog-green);

  display: flex;

  align-items: center;

  justify-content: center;

  color: #fff;

  font-size: 12px;

  font-weight: 600;

}



.blog_card_author span {

  font-size: 13px;

  color: #666;

  font-weight: 500;

}



.blog_card_footer .read_more {

  font-size: 13px;

  color: var(--blog-green-dark);

  font-weight: 600;

  display: flex;

  align-items: center;

  gap: 5px;

  transition: gap 0.3s ease;

}



.blog_card_footer .read_more:hover {

  gap: 10px;

}



/* Blog Detail Page Styles */

.blog_detail_hero {

  background: var(--blog-green);

  padding: 140px 0 100px;

  position: relative;

  overflow: hidden;

}



.blog_detail_hero::before {

  content: "";

  position: absolute;

  top: -50%;

  right: -20%;

  width: 600px;

  height: 600px;

  border-radius: 50%;

  background: rgba(255,255,255,0.06);

}



.blog_detail_hero .breadcrumb_nav {

  margin-bottom: 20px;

}



.blog_detail_hero .breadcrumb_nav a,

.blog_detail_hero .breadcrumb_nav span {

  color: rgba(255,255,255,0.8);

  font-size: 14px;

}



.blog_detail_hero .breadcrumb_nav a:hover {

  color: #fff;

}



.blog_detail_hero .breadcrumb_nav .separator {

  margin: 0 8px;

}



.blog_detail_hero .post_category {

  display: inline-block;

  background: var(--blog-gold);

  color: var(--dark-purple);

  padding: 5px 18px;

  border-radius: 50px;

  font-size: 13px;

  font-weight: 600;

  margin-bottom: 15px;

}



.blog_detail_hero h1 {

  font-size: 38px;

  font-weight: 700;

  color: #fff;

  margin-bottom: 20px;

  line-height: 1.3;

  max-width: 800px;

}



.blog_detail_hero .post_meta {

  display: flex;

  flex-wrap: wrap;

  gap: 20px;

  color: rgba(255,255,255,0.85);

  font-size: 14px;

}



.blog_detail_hero .post_meta span {

  display: flex;

  align-items: center;

  gap: 6px;

}



.blog_detail_hero .post_meta i {

  font-size: 16px;

}



.blog_article_wrapper {

  margin-top: -60px;

  position: relative;

  z-index: 10;

  padding-bottom: 60px;

}



.blog_article_content {

  background: #fff;

  border-radius: 20px;

  padding: 50px 60px;

  box-shadow: 0 8px 30px rgba(0,0,0,0.08);

}



.blog_article_content h2 {

  font-size: 26px;

  font-weight: 600;

  color: var(--dark-purple);

  margin-top: 35px;

  margin-bottom: 15px;

}



.blog_article_content h3 {

  font-size: 22px;

  font-weight: 600;

  color: var(--dark-purple);

  margin-top: 30px;

  margin-bottom: 12px;

}



.blog_article_content p {

  font-size: 16px;

  line-height: 1.8;

  color: #555;

  margin-bottom: 18px;

}



.blog_article_content a {

  color: var(--blog-gold-dark);

  font-weight: 500;

  text-decoration: underline;

  text-decoration-color: rgba(201,146,31,0.45);

  text-underline-offset: 3px;

  transition: all 0.3s ease;

}



.blog_article_content a:hover {

  color: var(--blog-green-dark);

  text-decoration-color: var(--blog-green-dark);

}



.blog_article_content ul,

.blog_article_content ol {

  padding-left: 20px;

  margin-bottom: 20px;

}



.blog_article_content ul li,

.blog_article_content ol li {

  font-size: 16px;

  line-height: 1.8;

  color: #555;

  margin-bottom: 8px;

  list-style-type: disc;

}



.blog_article_content ol li {

  list-style-type: decimal;

}



.blog_article_content blockquote {

  background: var(--blog-gold-light);

  border-left: 4px solid var(--blog-gold);

  padding: 25px 30px;

  border-radius: 0 12px 12px 0;

  margin: 25px 0;

  font-style: italic;

  color: var(--dark-purple);

}



.blog_article_content blockquote p {

  color: var(--dark-purple);

  font-size: 17px;

  margin-bottom: 0;

}



.blog_tags {

  display: flex;

  flex-wrap: wrap;

  gap: 8px;

  margin-top: 30px;

  padding-top: 25px;

  border-top: 1px solid #eee;

}



.blog_tags .tag {

  padding: 5px 14px;

  background: var(--blog-gold-light);

  border-radius: 50px;

  font-size: 13px;

  color: var(--blog-gold-dark);

  font-weight: 500;

}



.blog_author_box {

  display: flex;

  align-items: center;

  gap: 20px;

  background: var(--light-purple);

  padding: 30px;

  border-radius: 15px;

  margin-top: 30px;

}



.blog_author_box .author_avatar_lg {

  width: 70px;

  height: 70px;

  border-radius: 50%;

  background: var(--blog-green);

  display: flex;

  align-items: center;

  justify-content: center;

  color: #fff;

  font-size: 24px;

  font-weight: 600;

  flex-shrink: 0;

}



.blog_author_box .author_info h4 {

  font-size: 18px;

  font-weight: 600;

  color: var(--dark-purple);

  margin-bottom: 5px;

}



.blog_author_box .author_info p {

  font-size: 14px;

  color: #666;

  margin-bottom: 0;

  line-height: 1.5;

}



.blog_cta_box {

  background: var(--blog-gold-light);

  padding: 40px;

  border-radius: 20px;

  text-align: center;

  margin-top: 40px;

  color: var(--dark-purple);

  border: 2px solid var(--blog-gold);

}



.blog_cta_box h3 {

  color: var(--dark-purple);

  font-size: 24px;

  font-weight: 600;

  margin-bottom: 10px;

}



.blog_cta_box p {

  color: var(--body-text-purple);

  margin-bottom: 20px;

}



.blog_cta_box .cta_btn {

  display: inline-block;

  padding: 12px 30px;

  background: var(--blog-green);

  color: #fff;

  border-radius: 50px;

  font-weight: 600;

  transition: all 0.3s ease;

}



.blog_cta_box .cta_btn:hover {

  transform: translateY(-2px);

  box-shadow: 0 5px 20px rgba(34,197,94,0.35);

  background: var(--blog-green-dark);

  color: #fff;

}



.related_posts {

  margin-top: 50px;

  padding-top: 10px;

}



.related_posts .blog_card {

  margin-bottom: 0;

}



.related_posts .row {

  margin-left: -15px;

  margin-right: -15px;

}



.related_posts .row > [class*="col-"] {

  margin-bottom: 30px;

}



.related_posts h3 {

  font-size: 24px;

  font-weight: 600;

  color: var(--dark-purple);

  margin-bottom: 25px;

  text-align: center;

  display: inline-block;

  width: 100%;

  padding-bottom: 12px;

  border-bottom: 3px solid var(--blog-gold);

}



@media (max-width: 991px) {

  .blog_listing_section {

    padding: 100px 0 40px;

  }

  .blog_hero h1 {

    font-size: 32px;

  }

  .blog_detail_hero {

    padding: 120px 0 80px;

  }

  .blog_detail_hero h1 {

    font-size: 30px;

  }

  .blog_article_content {

    padding: 35px 30px;

  }

}



@media (max-width: 767px) {

  .blog_listing_section {

    padding: 80px 0 30px;

  }

  .blog_hero {

    padding: 40px 20px;

  }

  .blog_hero h1 {

    font-size: 26px;

  }

  .blog_hero p {

    font-size: 15px;

  }

  .blog_detail_hero {

    padding: 100px 0 60px;

  }

  .blog_detail_hero h1 {

    font-size: 24px;

  }

  .blog_detail_hero .post_meta {

    flex-direction: column;

    gap: 10px;

  }

  .blog_article_content {

    padding: 25px 20px;

  }

  .blog_article_content h2 {

    font-size: 22px;

  }

  .blog_article_content h3 {

    font-size: 19px;

  }

  .blog_article_content p {

    font-size: 15px;

  }

  .blog_author_box {

    flex-direction: column;

    text-align: center;

  }

  .blog_cta_box {

    padding: 30px 20px;

  }

}


