/* ============================================================
   Oraculuminus — Blog Article Theme (partilhado)
   Layout editorial reutilizável para artigos do blog.
   Usa as fontes da marca (Cormorant Garamond + DM Sans), já
   carregadas via header.php/headMeta(). Tema fixo escuro/dourado
   (não segue o toggle claro/escuro do site — decisão consistente
   com os artigos bespoke existentes, que também têm tema fixo).
   ============================================================ */

.artpage {
    --art-bg: #06060e;
    --art-bg2: #0d0d18;
    --art-card: rgba(255,255,255,.03);
    --art-border: rgba(212,175,55,.14);
    --art-gold: #d4af37;
    --art-gold-l: #f4e4a6;
    --art-txt: #f0f0f5;
    --art-txt2: #a8a8b8;
    --art-txt3: #6b7280;
    background: var(--art-bg);
    color: var(--art-txt);
    font-family: 'DM Sans', system-ui, sans-serif;
}

/* ── HERO ── */
.art-hero {
    min-height: 60vh;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center;
    padding: 5rem 1.5rem 3.5rem;
    background:
        radial-gradient(ellipse 70% 60% at 50% 20%, rgba(212,175,55,.08) 0%, transparent 70%),
        var(--art-bg);
    position: relative;
    overflow: hidden;
}
.art-hero-eyebrow {
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: .7rem; letter-spacing: .35em; text-transform: uppercase;
    color: var(--art-gold); font-weight: 700; margin-bottom: 1.5rem;
    opacity: 0; animation: artFadeIn 1.2s ease forwards .3s;
}
.art-hero-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 600; font-size: clamp(2.1rem, 6vw, 3.6rem); line-height: 1.15;
    max-width: 780px;
    background: linear-gradient(135deg, #d4af37, #f4e4a6, #d4af37);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
    opacity: 0; animation: artFadeIn 1.2s ease forwards .6s;
}
.art-hero-rule {
    width: 140px; height: 1px; margin: 2rem auto;
    background: linear-gradient(to right, transparent, var(--art-gold), transparent);
    opacity: 0; animation: artFadeIn 1s ease forwards 1s;
}
.art-hero-subtitle {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic; font-size: clamp(1.05rem, 2.2vw, 1.35rem); line-height: 1.7;
    color: var(--art-txt2); max-width: 620px;
    opacity: 0; animation: artFadeIn 1.2s ease forwards 1.3s;
}
.art-hero-meta {
    margin-top: 2rem; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase;
    color: var(--art-txt3);
    opacity: 0; animation: artFadeIn 1s ease forwards 1.7s;
}
@keyframes artFadeIn {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ── ARTICLE BODY ── */
.art-body { max-width: 720px; margin: 0 auto; padding: 3rem 1.5rem 6rem; position: relative; }

.art-section {
    margin-bottom: 3.5rem;
    opacity: 0; transform: translateY(24px);
    transition: opacity .8s ease, transform .8s ease;
}
.art-section.visible { opacity: 1; transform: translateY(0); }

.art-label {
    font-family: 'DM Sans', system-ui, sans-serif;
    font-size: .65rem; letter-spacing: .3em; text-transform: uppercase;
    color: var(--art-gold); display: block; margin-bottom: 1rem;
    padding-bottom: .6rem; border-bottom: 1px solid var(--art-border);
}
.art-section h2 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 600; font-size: clamp(1.55rem, 4vw, 2.35rem); line-height: 1.25;
    color: var(--art-txt); margin: 0 0 1.5rem;
}
.art-section h2 em { color: var(--art-gold-l); font-style: normal; }
.art-section h3 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 600; font-size: 1.25rem; color: var(--art-gold-l);
    margin: 2rem 0 .8rem;
}
.art-section p {
    font-size: 1.02rem; line-height: 1.9; color: var(--art-txt2); margin: 0 0 1.35rem;
}
.art-section p strong { color: var(--art-txt); font-weight: 600; }
.art-section p em { color: var(--art-gold-l); font-style: italic; }
.art-section a { color: var(--art-gold); text-decoration: none; border-bottom: 1px solid rgba(212,175,55,.3); }
.art-section a:hover { border-bottom-color: var(--art-gold); }

/* Drop cap (intro paragraph) */
.art-dropcap::first-letter {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 3.6rem; font-weight: 700; float: left; line-height: .8;
    margin: .06em .1em 0 0; color: var(--art-gold);
    text-shadow: 0 0 24px rgba(212,175,55,.3);
}

/* Pull quote */
.art-quote {
    margin: 2.5rem 0; padding: 1.75rem 2rem;
    border-top: 1px solid var(--art-gold); border-bottom: 1px solid var(--art-gold);
    background: rgba(212,175,55,.04); text-align: center; position: relative;
}
.art-quote::before {
    content: '✦'; position: absolute; top: -.75rem; left: 50%; transform: translateX(-50%);
    background: var(--art-bg2); padding: 0 .8rem; color: var(--art-gold); font-size: .9rem;
}
.art-quote p {
    font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic;
    font-size: 1.25rem; line-height: 1.65; color: var(--art-gold-l); margin: 0;
}
.art-quote cite {
    display: block; margin-top: .8rem; font-size: .65rem; letter-spacing: .25em;
    text-transform: uppercase; color: var(--art-txt3); font-style: normal;
}

/* Timeline */
.art-timeline { margin: 1.75rem 0; position: relative; padding-left: 1.75rem; }
.art-timeline::before {
    content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 1px;
    background: linear-gradient(to bottom, var(--art-gold), transparent);
}
.art-timeline-item {
    margin-bottom: 1.75rem; position: relative; padding-bottom: 1.75rem;
    border-bottom: 1px solid var(--art-border);
}
.art-timeline-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.art-timeline-item::before {
    content: ''; position: absolute; left: -2.1rem; top: .35rem;
    width: 7px; height: 7px; border-radius: 50%; background: var(--art-gold);
    box-shadow: 0 0 0 3px var(--art-bg2);
}
.art-timeline-year {
    font-size: .65rem; letter-spacing: .18em; text-transform: uppercase;
    color: var(--art-gold); display: block; margin-bottom: .35rem;
}
.art-timeline-item p { margin: 0; font-size: .95rem; }

/* Numbered insight blocks (teorias, factos, passos) */
.art-block {
    margin: 1.5rem 0; padding: 1.5rem 1.75rem; border-left: 2px solid var(--art-gold);
    background: var(--art-card); position: relative; border-radius: 0 10px 10px 0;
}
.art-block-num {
    font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.4rem; font-weight: 700;
    color: rgba(212,175,55,.12); position: absolute; top: .25rem; right: 1rem; line-height: 1;
}
.art-block h3 { margin-top: 0; font-size: 1.1rem; position: relative; z-index: 1; }
.art-block p { font-size: .95rem; margin: 0; position: relative; z-index: 1; }

/* Ornamental divider */
.art-divider {
    text-align: center; margin: 2.5rem 0; color: var(--art-gold);
    font-size: 1.1rem; letter-spacing: .5em; opacity: .55;
}

/* Verdict / conclusion box */
.art-verdict {
    background: var(--art-bg2); border: 1px solid var(--art-border); border-radius: 14px;
    padding: 2rem 2.25rem; margin: 2.5rem 0;
}
.art-verdict h3 {
    font-family: 'DM Sans', system-ui, sans-serif; font-weight: 700; font-size: .75rem;
    letter-spacing: .18em; text-transform: uppercase; color: var(--art-gold); margin: 0 0 1rem;
}
.art-verdict p { color: var(--art-txt2); }
.art-verdict p strong { color: var(--art-gold-l); }

/* Finale */
.art-finale { text-align: center; padding: 3rem 1.5rem 1rem; }
.art-finale-mark { font-size: 1.5rem; color: var(--art-gold); display: block; margin-bottom: 1.5rem; opacity: .6; }
.art-finale-quote {
    font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic;
    font-size: clamp(1.1rem, 2.4vw, 1.4rem); line-height: 1.7; color: var(--art-txt2);
    max-width: 560px; margin: 0 auto 1.25rem;
}
.art-finale-source {
    font-size: .62rem; letter-spacing: .28em; text-transform: uppercase; color: var(--art-gold);
}

/* Related-services nudge (internal linking) */
.art-related {
    margin-top: 3rem; padding: 1.5rem 1.75rem; border-radius: 12px;
    background: rgba(212,175,55,.04); border: 1px solid var(--art-border);
    display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
}
.art-related span { font-size: .85rem; color: var(--art-txt2); }
.art-related a {
    font-size: .82rem; font-weight: 600; color: var(--art-gold); text-decoration: none;
    border-bottom: 1px solid rgba(212,175,55,.35);
}
.art-related a:hover { border-bottom-color: var(--art-gold); }

/* Footnote / sources disclaimer */
.art-footnote {
    font-size: .82rem; color: var(--art-txt3); font-style: italic;
    border-top: 1px solid var(--art-border); padding-top: 1rem; margin-top: 2.5rem;
}

@media (max-width: 600px) {
    .art-hero { padding: 4rem 1.25rem 3rem; min-height: 50vh; }
    .art-body { padding: 2.5rem 1.25rem 4rem; }
    .art-block, .art-verdict, .art-quote { padding: 1.25rem 1.4rem; }
}
