/* =====================================================================
   Associates Diary — single blog post (cream/light editorial treatment)
   ===================================================================== */

.ad-post {
    background: var(--ad-bg);
    color: var(--ad-fg);
}

.ad-post__hero {
    background:
      linear-gradient(180deg, var(--ad-bg) 0%, var(--ad-bg-alt) 100%);
    color: var(--ad-fg);
    padding: 4.5rem 0 5rem;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--ad-border);
}
.ad-post__hero::before {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background:
      radial-gradient(circle at 80% 20%, rgba(212,162,74,.18), transparent 55%),
      radial-gradient(circle at 14% 88%, rgba(212,162,74,.10), transparent 55%);
}
.ad-post__hero > .ad-container { position: relative; }

.ad-post__hero-inner {
    max-width: 820px;
}
.ad-post__back {
    display: inline-flex; align-items: center; gap: .4rem;
    color: var(--ad-fg-muted);
    text-decoration: none;
    font-size: .9rem;
    font-weight: 500;
    margin-bottom: 1.75rem;
    transition: color .15s var(--ad-ease);
}
.ad-post__back:hover { color: var(--ad-gold-deep); text-decoration: none; }

.ad-post__meta {
    color: var(--ad-fg-muted);
    font-size: .85rem;
    display: flex;
    gap: .5rem;
    margin-bottom: 1.1rem;
    flex-wrap: wrap;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 500;
}

.ad-post__title {
    font-family: var(--ad-font-display);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.12;
    margin: 0 0 1.35rem;
    color: var(--ad-fg);
    letter-spacing: -.5px;
}

.ad-post__lede {
    font-size: 1.18rem;
    line-height: 1.65;
    color: var(--ad-fg-muted);
    margin: 0 0 1.75rem;
    max-width: 720px;
}

.ad-post__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.ad-post__cover {
    margin-top: 2.5rem;
    aspect-ratio: 21/9;
    border-radius: var(--ad-radius-lg);
    background-size: cover;
    background-position: center;
    box-shadow: 0 24px 56px rgba(11,31,63,.18);
    margin-bottom: 3.5rem;
}

.ad-post__body {
    max-width: 760px;
    margin: 0 auto;
    font-size: 1.08rem;
    line-height: 1.85;
    color: #2d3338;
    padding-bottom: 4rem;
}

.ad-post__body h2 {
    font-family: var(--ad-font-display);
    font-size: 1.7rem;
    font-weight: 700;
    margin: 2.75rem 0 1.1rem;
    color: var(--ad-fg);
    letter-spacing: -.3px;
}

.ad-post__body p {
    margin: 0 0 1.5rem;
}

.ad-post__body ul {
    margin: 0 0 1.75rem;
    padding-left: 1.5rem;
}

.ad-post__body li {
    margin-bottom: .75rem;
}

.ad-post__body strong { color: var(--ad-fg); font-weight: 700; }
.ad-post__body a { color: var(--ad-gold-deep); border-bottom: 1px solid rgba(212,162,74,.30); }
.ad-post__body a:hover { border-bottom-color: var(--ad-gold); text-decoration: none; }

.ad-post__cta {
    background: linear-gradient(135deg, #fffaf0 0%, #fff 100%);
    border: 1px solid rgba(212,162,74,.30);
    border-radius: var(--ad-radius-lg);
    padding: 3rem 2rem;
    text-align: center;
    max-width: 760px;
    margin: 0 auto 4rem;
    box-shadow: var(--ad-shadow-sm);
}
.ad-post__cta h3 {
    font-family: var(--ad-font-display);
    font-size: 1.7rem;
    font-weight: 800;
    margin: 0 0 .85rem;
    color: var(--ad-fg);
    letter-spacing: -.3px;
}
.ad-post__cta p {
    color: var(--ad-fg-muted);
    margin: 0 0 1.5rem;
    font-size: 1rem;
    line-height: 1.65;
}
.ad-post__cta .ad-btn {
    margin: 0 .35rem;
}

.ad-related {
    padding: 0 0 5rem;
    max-width: 1240px;
    margin: 0 auto;
}
.ad-related h2 {
    font-family: var(--ad-font-display);
    font-size: 1.55rem;
    font-weight: 700;
    margin-bottom: 1.75rem;
    color: var(--ad-fg);
    letter-spacing: -.2px;
}

@media (max-width: 575px) {
    .ad-post__cover { margin-top: 1.5rem; aspect-ratio: 16/9; }
    .ad-post__body { font-size: 1.02rem; }
    .ad-post__cta { padding: 2.25rem 1.25rem; }
}
