/* ── Shared design for individual blog post pages ──
   Based on the "Gel vs. Dip Powder" post layout. Link this file from any
   new post in /blog/ instead of repeating this block inline:
     <link rel="stylesheet" href="post.css"/>
*/

.post-section {
  background: url('../images/flower-scatter.svg') 0 0 / 900px 900px, var(--cream);
  padding-top: 90px;
}
.post-layout {
  display: flex; gap: 3.5rem; align-items: flex-start;
  max-width: 1200px; margin: 0 auto;
  padding: 0 3rem 6rem;
}
.post-main { flex: 1; min-width: 0; max-width: 700px; text-align: left; }
.post-back { font-size: .8rem; font-weight: 500; color: var(--brown); text-decoration: none; }
.post-title {
  font-family: 'Cormorant Garamond', serif; font-weight: 300;
  font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1.18; color: var(--charcoal);
  margin: 1.1rem 0 .9rem;
}
.post-meta { font-size: .78rem; color: rgba(11,11,11,0.4); font-weight: 300; padding-bottom: 2rem; }
.post-hero-img {
  width: 100%; aspect-ratio: 16/9; border-radius: 4px; margin-bottom: 2rem;
  background: radial-gradient(circle at 65% 30%, rgba(255,255,255,.5), transparent 45%), linear-gradient(135deg, #fff1d6 0%, var(--beige-mid) 55%, var(--gold) 100%);
}
.post-hero-img img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 4px; }
.post-body p {
  font-size: 1rem; line-height: 2.05; font-weight: 300; color: var(--charcoal);
  margin: 0 0 1.5rem;
}
.post-body h2 {
  font-family: 'Cormorant Garamond', serif; font-weight: 400;
  font-size: 1.5rem; color: var(--charcoal);
  margin: 2rem 0 .8rem;
}
.post-body h2:first-child { margin-top: 0; }

.post-compare-table {
  width: 100%; border-collapse: collapse;
  margin: 1.5rem 0 2rem;
  font-size: .88rem;
}
.post-compare-table th, .post-compare-table td {
  padding: .7rem .9rem; text-align: left;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
.post-compare-table th {
  font-family: 'DM Sans', sans-serif; font-weight: 500;
  font-size: .68rem; letter-spacing: .06em; text-transform: uppercase;
  color: var(--brown);
}
.post-compare-table td:first-child, .post-compare-table th:first-child {
  color: var(--muted); font-weight: 400;
}

.post-cta-banner {
  background: var(--white); border-radius: 6px; padding: 2.2rem 2rem;
  margin-top: 2.5rem;
  display: flex; flex-direction: column; align-items: center; gap: .6rem;
}
.post-cta-banner-title { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 400; color: var(--charcoal); }
.post-cta-banner-text { font-size: .85rem; color: var(--muted); font-weight: 300; max-width: 420px; margin: 0; line-height: 1.6; text-align: center; }
.post-cta-banner-actions { display: flex; flex-direction: column; align-items: center; gap: .6rem; margin-top: .6rem; }
.post-cta-banner-call { font-size: .8rem; color: var(--brown); text-decoration: none; }
.post-cta-banner-call:hover { color: var(--warm-secondary); }
.post-cta-banner-info {
  border-top: 1px solid rgba(0,0,0,0.08); margin-top: 1rem; padding-top: 1rem;
  display: flex; flex-direction: column; align-items: center; gap: .3rem;
  font-size: .78rem; color: var(--muted); font-weight: 300; text-align: center;
}

.post-sidebar { width: 320px; flex-shrink: 0; display: flex; flex-direction: column; gap: 2.2rem; }
.related-row { display: flex; gap: .9rem; align-items: center; text-decoration: none; color: inherit; }
.related-thumb { width: 52px; height: 52px; border-radius: 3px; flex-shrink: 0; }
.related-title {
  font-family: 'Cormorant Garamond', serif; font-size: .96rem; font-weight: 400;
  line-height: 1.3; color: var(--charcoal);
}
.related-cat { font-size: .68rem; color: var(--muted); margin-top: .15rem; }
.post-cta-box {
  background: var(--white); border-radius: 4px; padding: 1.7rem 1.5rem;
  display: flex; flex-direction: column; gap: .7rem;
}
.post-cta-title { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; font-weight: 400; color: var(--charcoal); }
.post-cta-text { font-size: .78rem; color: var(--warm-secondary); font-weight: 300; line-height: 1.6; margin: 0; }

/* Reusable gradient placeholders for post/related-post thumbnails when no
   real photo is available yet — drop a real <img> into images/ instead
   once you have one (see .post-hero-img img and .gallery-slide img above). */
.img-blush { background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.55), transparent 45%), linear-gradient(135deg, #ffe1ea 0%, #ffd1dc 45%, var(--lavender) 100%); }
.img-mint { background: radial-gradient(circle at 30% 65%, rgba(255,255,255,.55), transparent 45%), linear-gradient(135deg, var(--mint-light) 0%, #c9ede0 50%, var(--cream) 100%); }
.img-champagne { background: radial-gradient(circle at 65% 30%, rgba(255,255,255,.5), transparent 45%), linear-gradient(135deg, #fff1d6 0%, var(--beige-mid) 55%, var(--gold) 100%); }
.img-lavender { background: radial-gradient(circle at 70% 25%, rgba(255,255,255,.5), transparent 45%), linear-gradient(135deg, var(--lavender) 0%, #e6cdf2 50%, var(--cream) 100%); }
.img-icy { background: radial-gradient(circle at 25% 70%, rgba(255,255,255,.55), transparent 45%), linear-gradient(135deg, #eef3ff 0%, #dceaf5 50%, var(--mint-light) 100%); }
.img-terracotta { background: radial-gradient(circle at 70% 70%, rgba(255,255,255,.4), transparent 45%), linear-gradient(135deg, #f6ddce 0%, #e3b08c 55%, var(--gold) 100%); }

.gallery-slider { position: relative; width: 100%; aspect-ratio: 4/3; border-radius: 4px; overflow: hidden; }
.gallery-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .7s ease; }
.gallery-slide.is-active { opacity: 1; }
.gallery-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gallery-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center;
  background: var(--white); border: 1px solid rgba(45,45,45,0.18); cursor: pointer;
  font-size: .85rem; color: var(--charcoal); z-index: 2;
  transition: background .15s, border-color .15s, color .15s;
}
.gallery-arrow:hover { background: var(--charcoal); color: var(--white); border-color: var(--charcoal); }
.gallery-arrow--prev { left: .5rem; }
.gallery-arrow--next { right: .5rem; }
.gallery-slider-dots {
  display: flex; justify-content: center; gap: .4rem;
  margin-top: .7rem;
}
.gallery-dot {
  width: 6px; height: 6px; border-radius: 50%; border: none;
  background: rgba(11,11,11,0.2); padding: 0; cursor: pointer;
}
.gallery-dot.is-active { background: var(--brown); }

@media (max-width: 900px) {
  .post-section { padding-top: 80px; }
  .post-layout { flex-direction: column; padding: 0 1.5rem 4rem; gap: 2.5rem; }
  .post-sidebar { width: 100%; }
  .post-main { max-width: none; }
}
