/* Blog pages + homepage "From Our Kitchen" cards. Builds on site.css tokens. */
.blog-hero{text-align:center;padding:150px 24px 40px;max-width:820px;margin:0 auto}
.blog-hero .section-title{font-size:clamp(2.4rem,5vw,4rem)}
.blog-filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.blog-filters button{font-family:'Jost',sans-serif;font-size:0.74rem;letter-spacing:0.14em;text-transform:uppercase;padding:10px 18px;border:1.5px solid var(--dusty-rose);background:transparent;color:var(--deep-rose);border-radius:2px;cursor:pointer;transition:all 0.25s}
.blog-filters button.active,.blog-filters button:hover{background:var(--deep-rose);border-color:var(--deep-rose);color:var(--cream)}
.blog-list{padding:20px 60px 110px}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1160px;margin:0 auto}
.blog-card{display:flex;flex-direction:column;background:var(--warm-white);border:1px solid var(--border);border-radius:4px;overflow:hidden;text-decoration:none;color:inherit;transition:transform 0.35s ease,box-shadow 0.35s ease,border-color 0.35s ease}
.blog-card[hidden]{display:none}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(61,30,26,0.13);border-color:var(--dusty-rose)}
.blog-card-img{aspect-ratio:4/3;overflow:hidden;background:var(--blush)}
.blog-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s ease}
.blog-card:hover .blog-card-img img{transform:scale(1.05)}
.blog-card-body{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1}
.blog-card-meta{font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:10px}
.blog-card h2,.blog-card h3{font-family:'Playfair Display',serif;font-size:1.28rem;line-height:1.3;font-weight:600;color:var(--chocolate);margin-bottom:10px}
.blog-card p{font-family:'Cormorant Garamond',serif;font-size:1.05rem;line-height:1.6;color:var(--text-light);margin-bottom:18px}
.blog-card-link{margin-top:auto;font-size:0.74rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--deep-rose);font-weight:500}

/* Single post */
.post-hero{display:grid;grid-template-columns:1.15fr 0.85fr;gap:60px;align-items:center;max-width:1160px;margin:0 auto;padding:140px 60px 60px}
.breadcrumbs{font-size:0.74rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-light);margin-bottom:22px}
.breadcrumbs a{color:var(--text-light);text-decoration:none}
.breadcrumbs a:hover{color:var(--deep-rose)}
.breadcrumbs span{margin:0 6px;color:var(--gold)}
.post-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,4.2vw,3.6rem);line-height:1.1;font-weight:700;color:var(--chocolate);margin-bottom:22px}
.post-lede{font-family:'Cormorant Garamond',serif;font-size:1.3rem;line-height:1.6;color:var(--text-light);margin-bottom:26px}
.post-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:0.8rem;letter-spacing:0.06em;color:var(--text-light)}
.post-meta a{color:var(--deep-rose);text-decoration:none;font-weight:500}
.post-hero-img{margin:0;border-radius:4px;overflow:hidden;box-shadow:0 30px 70px rgba(61,30,26,0.16);aspect-ratio:1/1}
.post-hero-img img{width:100%;height:100%;object-fit:cover;display:block}

.post-body{max-width:740px;margin:0 auto;padding:20px 24px 90px;font-size:1.06rem;line-height:1.8;color:var(--text)}
.post-body h2{font-family:'Playfair Display',serif;font-size:1.85rem;line-height:1.25;color:var(--chocolate);margin:52px 0 16px}
.post-body h3{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--chocolate);margin:34px 0 10px}
.post-body p{margin-bottom:20px}
.post-body ul,.post-body ol{margin:0 0 22px 24px}
.post-body li{margin-bottom:8px}
.post-body a{color:var(--deep-rose);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.post-body a:hover{color:var(--chocolate)}
.post-body strong{color:var(--chocolate);font-weight:500}
.post-body blockquote{border-left:3px solid var(--gold);padding:6px 0 6px 22px;margin:28px 0;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;color:var(--text-light)}
.post-body img{max-width:100%;height:auto;border-radius:4px;margin:12px 0 24px}
.post-body table{width:100%;border-collapse:collapse;margin:10px 0 28px;font-size:0.95rem}
.post-body th,.post-body td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:top}
.post-body th{font-size:0.74rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-light);font-weight:500;background:var(--warm-white)}
.post-body hr{border:none;border-top:1px solid var(--border);margin:44px 0}

.post-cta{background:linear-gradient(135deg,var(--blush) 0%,var(--warm-white) 70%);border:1px solid var(--border);border-radius:4px;padding:44px 40px;text-align:center;margin:56px 0 40px}
.post-body .post-cta h2{margin:0 0 10px;font-size:1.8rem}
.post-cta p{font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:var(--text-light);font-style:italic;margin-bottom:26px}
.post-body .post-cta .btn-primary{text-decoration:none;color:var(--cream)}
.post-author{display:flex;gap:20px;align-items:flex-start;padding:28px 0;border-top:1px solid var(--border)}
.post-author img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex-shrink:0;margin:0}
.post-author strong{font-family:'Playfair Display',serif;font-size:1.1rem}
.post-author p{font-size:0.95rem;color:var(--text-light);margin:4px 0 0;line-height:1.6}

.related{background:var(--warm-white);padding:90px 60px 110px;text-align:center}
.related .section-title{margin-bottom:44px}
.related .blog-card{text-align:left}

/* Homepage section */
.home-blog{padding:100px 60px 110px;text-align:center}
.home-blog .blog-grid{margin-top:56px;text-align:left}
.home-blog .btn-outline{margin-top:52px}

@media(max-width:900px){
  .blog-grid{grid-template-columns:1fr 1fr;gap:24px}
  .blog-list,.related,.home-blog{padding-left:24px;padding-right:24px}
  .post-hero{grid-template-columns:1fr;padding:110px 24px 30px;gap:36px}
  .post-hero-img{aspect-ratio:4/3}
}
@media(max-width:600px){
  .blog-grid{grid-template-columns:1fr}
  .blog-hero{padding-top:120px}
  .post-body{padding:10px 16px 70px}
  .post-body h2{font-size:1.55rem}
  .post-cta{padding:34px 22px}
  .post-body table{display:block;overflow-x:auto}
}

/* Page builder blocks (pages made in /admin). */
.page-hero{gap:60px;justify-content:space-between}
.page-hero.has-image .seo-hero-content{flex:1 1 55%}
.page-hero-img{position:relative;z-index:1;flex:0 1 40%;max-width:460px;border-radius:4px;overflow:hidden;box-shadow:0 30px 70px rgba(61,30,26,0.16);aspect-ratio:1/1}
.page-hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.pb{max-width:1160px;margin:0 auto;padding:90px 60px}
.pb-center{text-align:center}
.pb-h2{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.15;color:var(--chocolate);margin-bottom:20px}
.pb-rich{font-size:1.05rem;line-height:1.8;color:var(--text)}
.pb-rich p{margin-bottom:18px}.pb-rich ul,.pb-rich ol{margin:0 0 18px 22px}.pb-rich li{margin-bottom:6px}
.pb-rich a{color:var(--deep-rose);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.pb-rich h3{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--chocolate);margin:24px 0 10px}
.pb-text-image{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.pb-text-image.img-left .pb-img{order:-1}
.pb-text-image .btn-primary{margin-top:10px}
.pb-img{border-radius:4px;overflow:hidden;box-shadow:0 24px 60px rgba(61,30,26,0.14)}
.pb-img img{width:100%;height:auto;display:block}
.pb-text-only{max-width:780px}
.pb-cakes{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:50px;text-align:left}
.pb-cake{background:var(--warm-white);border:1px solid var(--border);border-radius:4px;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}
.pb-cake:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(61,30,26,0.13)}
.pb-cake-img{aspect-ratio:1/1;background:#fff;overflow:hidden}
.pb-cake-img img{width:100%;height:100%;object-fit:cover;display:block}
.pb-cake-body{padding:22px 24px 26px}
.pb-cake-body h3{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--chocolate);margin-bottom:8px}
.pb-cake-body p{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--text-light);line-height:1.6;margin-bottom:16px}
.pb .why-grid,.pb .testimonial-grid{padding:0;margin-top:50px}
.why-card p{color:var(--text-light);line-height:1.6}
.pb-photo figure{margin:0;text-align:center}
.pb-photo img{max-width:100%;height:auto;border-radius:4px;box-shadow:0 24px 60px rgba(61,30,26,0.12)}
.pb-photo figcaption{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--text-light);margin-top:12px}
@media(max-width:900px){
  .page-hero{flex-direction:column;align-items:flex-start}
  .page-hero-img{max-width:100%;width:100%;aspect-ratio:4/3}
  .pb{padding:64px 24px}
  .pb-text-image{grid-template-columns:1fr;gap:32px}
  .pb-text-image.img-left .pb-img{order:0}
  .pb-cakes{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){.pb-cakes{grid-template-columns:1fr}}
