/**
 * Single Article Styles
 *
 * Long-form article template with two-column layout for faktaboks sidebar,
 * photo credit/date line, related podcast link, and pull quotes.
 *
 * @package enhed
 */

/* ==========================================================================
   Article Hero — Adaptive color background with image in grid
   (Matches podcast/meditation/recipe hero pattern)
   ========================================================================== */

/* Article-specific: full-width image following the outer grid */
.article-hero .single-hero__figure--article {
    max-width: 100%;
}

.article-hero .single-hero__image--article {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: auto;
    margin: 0 auto;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow:
        0 8px 40px rgba(0, 0, 0, 0.20),
        0 2px 8px rgba(0, 0, 0, 0.08);
}

.article-hero .single-hero__image--article img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

/* ==========================================================================
   Featured Image (legacy — kept for backwards compatibility)
   ========================================================================== */

.article-featured-image {
    margin-top: calc(-1 * var(--space-4));
    margin-bottom: var(--space-8);
}

.article-featured-image img {
    width: 100%;
    max-height: 500px;
    object-fit: cover;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-medium);
}

/* ==========================================================================
   Related Podcast Link
   ========================================================================== */

.article-podcast-link {
    margin-bottom: var(--space-8);
}

.article-podcast-link__inner {
    display: inline-flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-4) var(--space-6);
    background: var(--color-secondary);
    border: 1px solid var(--color-lines);
    border-radius: var(--radius-lg);
    text-decoration: none;
    color: var(--color-text-primary);
    font-family: var(--font-ui);
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    transition: all var(--transition);
}

.article-podcast-link__inner:hover {
    background: var(--color-sand);
    border-color: var(--color-sand);
    color: var(--color-chokolade);
}

.article-podcast-link__icon {
    flex-shrink: 0;
    color: var(--color-action);
}

/* ==========================================================================
   Article Body Layout (Content + Faktaboks)
   ========================================================================== */

.article-body {
    padding: var(--space-8) 0 var(--space-12);
}

/* Override single-body .container (700px) — articles use full container width
   so the 720px article-body__layout aligns with the header logo edge */
.article-body.single-body .container {
    max-width: var(--spacing-container);
}

.article-body__layout {
    position: relative;
    max-width: 720px;
    margin-left: 0;
    margin-right: auto;
}

/* Article Content */
.article-body__content {
    min-width: 0;
}

/* Prose styling for article content */
.article-body__content .prose {
    font-family: var(--font-body);
    font-size: var(--text-md);
    line-height: var(--leading-relaxed);
    color: var(--color-text-primary);
    text-align: left;
}

.article-body__content .prose h2 {
    font-family: var(--font-accent);
    font-size: var(--text-2xl);
    font-weight: var(--font-normal);
    color: var(--color-text-primary);
    margin: var(--space-10) 0 var(--space-4);
}

.article-body__content .prose h3 {
    font-family: var(--font-accent);
    font-size: var(--text-xl);
    font-weight: var(--font-normal);
    color: var(--color-text-primary);
    margin: var(--space-8) 0 var(--space-3);
}

.article-body__content .prose p {
    margin-bottom: var(--space-5);
}

/* First paragraph = subheading: bold, slightly larger, Manrope */
.article-body__content .prose > p:first-child {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--color-text-primary);
    line-height: var(--leading-normal);
    margin-bottom: var(--space-6);
}

/* Intro paragraph — block style variation */
.article-body__content .prose p.is-style-intro {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--color-text-primary);
    line-height: var(--leading-normal);
    margin-bottom: var(--space-6);
}

.article-body__content .prose ul {
    margin-bottom: var(--space-5);
    padding-left: var(--space-6);
    list-style: disc;
}

.article-body__content .prose ol {
    margin-bottom: var(--space-5);
    padding-left: var(--space-6);
    list-style: decimal;
}

.article-body__content .prose li {
    margin-bottom: var(--space-2);
    color: var(--color-text-secondary);
}

.article-body__content .prose a {
    color: var(--color-action);
    text-decoration: underline;
    text-decoration-color: rgba(200, 148, 79, 0.3);
    transition: text-decoration-color var(--transition);
}

.article-body__content .prose a:hover {
    text-decoration-color: var(--color-action);
}

/* Pull Quotes / Blockquotes — break out right, left-aligned, Manrope light */
.article-body__content .prose blockquote {
    position: relative;
    margin: var(--space-12) 0;
    padding: var(--space-8) 0 var(--space-8) var(--space-6);
    border-left: none;
    background: none;
    border-radius: 0;
    text-align: left;
}

@media (min-width: 1024px) {
    .article-body__content .prose blockquote {
        width: calc(100% + 200px);
        padding-left: 0;
    }
}

.article-body__content .prose blockquote p {
    font-family: var(--font-body);
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    font-style: normal;
    font-weight: var(--font-light);
    color: var(--color-sand);
    line-height: var(--leading-snug);
    margin-bottom: 0;
}

.article-body__content .prose blockquote p:first-child::before {
    content: '\201C';
}

.article-body__content .prose blockquote p:last-of-type::after {
    content: '\201D';
}

.article-body__content .prose blockquote cite {
    display: block;
    margin-top: var(--space-4);
    font-family: var(--font-ui);
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
    font-style: normal;
}

/* Interview Q&A Format */
.article-body__content .prose strong {
    font-weight: var(--font-semibold);
    color: var(--color-text-primary);
}

/* ==========================================================================
   Faktaboks Sidebar
   ========================================================================== */

.article-faktaboks {
    order: 2;
}

@media (min-width: 1024px) {
    .article-faktaboks {
        position: absolute;
        right: -340px;
        top: 0;
        width: 300px;
    }

    .article-faktaboks__inner {
        position: sticky;
        top: calc(80px + var(--space-8));
    }
}

.article-faktaboks__inner {
    padding: var(--space-6);
    background: rgba(234, 197, 141, 0.35);
    border: none;
    border-radius: var(--radius-lg);
}

.article-faktaboks__title {
    font-family: var(--font-ui);
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: var(--space-4);
    padding-bottom: var(--space-3);
    border-bottom: 1px solid var(--color-lines);
}

.article-faktaboks__content {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    color: var(--color-text-primary);
}

.article-faktaboks__content p {
    margin-bottom: var(--space-3);
}

.article-faktaboks__content p:last-child {
    margin-bottom: 0;
}

.article-faktaboks__content ul {
    padding-left: var(--space-5);
    margin-bottom: var(--space-3);
    list-style: disc;
}

.article-faktaboks__content ul li {
    margin-bottom: var(--space-2);
    display: list-item;
    list-style-type: disc;
}

.article-faktaboks__content ol {
    padding-left: var(--space-5);
    margin-bottom: var(--space-3);
    list-style: decimal;
}

.article-faktaboks__content ol li {
    margin-bottom: var(--space-2);
    display: list-item;
}

.article-faktaboks__content li {
    margin-bottom: var(--space-2);
}

.article-faktaboks__content strong {
    font-weight: var(--font-semibold);
}

/* ==========================================================================
   Related Articles Section
   ========================================================================== */

.article-related {
    padding: var(--space-12) 0 var(--space-16);
    background: var(--color-secondary);
}

.article-related .single-related__title {
    font-family: var(--font-accent);
    font-size: var(--text-2xl);
    font-weight: var(--font-normal);
    color: var(--color-text-primary);
    text-align: center;
    margin-bottom: var(--space-8);
}

/* ==========================================================================
   Mobile Adjustments
   ========================================================================== */

@media (max-width: 767px) {
    .single-hero__image--article {
        border-radius: var(--radius-md);
    }

    .article-body {
        padding: var(--space-6) 0 var(--space-10);
    }

    .article-faktaboks {
        order: -1;
        position: static;
        width: 100%;
        margin-bottom: var(--space-4);
    }

    .article-podcast-link__inner {
        width: 100%;
        justify-content: center;
    }
}
