/*
Theme Name: Astra Child - Womansoul
Template: astra
Version: 1.0
*/

:root {
    --ws-bg: #FBF6F3;
    --ws-bg-card: #FFFFFF;
    --ws-accent-deep: #A8577A;
    --ws-accent-warm: #D98B8B;
    --ws-text: #3D2B32;
    --ws-text-muted: #8A6E75;
    --ws-gold: #C9A876;
    --ws-border: #EFDDDD;
}

body {
    background-color: var(--ws-bg);
    color: var(--ws-text);
    font-family: 'Mulish', sans-serif;
    font-weight: 400;
    letter-spacing: 0.01em;
}

h1, h2, h3, h4, h5, h6,
.entry-title, .site-title {
    font-family: 'Playfair Display', serif;
    color: var(--ws-text);
    font-weight: 600;
    letter-spacing: 0.01em;
}

.entry-title a { color: var(--ws-text); }

/* ---------- Header ---------- */
.ast-header-break-point,
#masthead {
    background-color: var(--ws-bg-card);
    border-bottom: 1px solid var(--ws-border);
}

.site-title,
.site-title a {
    font-family: 'Playfair Display', serif;
    font-style: italic;
    font-weight: 700;
    color: var(--ws-accent-deep) !important;
    font-size: 1.9rem;
    letter-spacing: 0.02em;
}

.main-header-menu .menu-item > .menu-link,
.ast-primary-menu-disable .menu-item > .menu-link {
    color: var(--ws-text) !important;
    font-family: 'Mulish', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.08em;
}

.main-header-menu .menu-item > .menu-link:hover {
    color: var(--ws-accent-deep) !important;
}

/* thin decorative underline instead of a hard box under active menu item */
.main-header-menu .current-menu-item > .menu-link {
    border-bottom: 2px solid var(--ws-gold);
}

/* ---------- Buttons / links ---------- */
a { color: var(--ws-accent-deep); }
a:hover { color: var(--ws-accent-warm); }

.ast-button,
button,
input[type="submit"],
.wp-block-button__link {
    background-color: var(--ws-accent-deep) !important;
    border-color: var(--ws-accent-deep) !important;
    border-radius: 999px !important;
    font-family: 'Mulish', sans-serif;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.8rem;
    padding: 0.7em 1.8em !important;
    transition: all 0.25s ease;
}

.ast-button:hover,
button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover {
    background-color: var(--ws-accent-warm) !important;
    border-color: var(--ws-accent-warm) !important;
    transform: translateY(-1px);
}

/* ---------- Post cards / archive ---------- */
.ast-article-post,
article.post {
    background-color: var(--ws-bg-card);
    border: 1px solid var(--ws-border);
    border-radius: 18px;
    padding: 1.8em;
    box-shadow: 0 4px 24px rgba(168, 87, 122, 0.06);
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.ast-article-post:hover {
    box-shadow: 0 8px 32px rgba(168, 87, 122, 0.12);
    transform: translateY(-2px);
}

.ast-article-post .entry-title,
article.post .entry-title {
    font-size: 1.5rem;
}

/* category badge */
.ast-taxonomy-container a,
.cat-links a {
    background-color: transparent;
    color: var(--ws-accent-deep);
    border: 1px solid var(--ws-accent-warm);
    border-radius: 999px;
    padding: 0.25em 0.9em;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
}

/* ---------- Single post content ---------- */
.entry-content {
    font-size: 1.08rem;
    line-height: 1.85;
}

.entry-content h2 {
    font-size: 1.6rem;
    margin-top: 2em;
    position: relative;
    padding-bottom: 0.3em;
}

.entry-content h2::after {
    content: "";
    display: block;
    width: 48px;
    height: 2px;
    background: var(--ws-gold);
    margin-top: 0.4em;
}

.entry-content h3 {
    font-size: 1.25rem;
    color: var(--ws-accent-deep);
}

.entry-content ul li::marker,
.entry-content ol li::marker {
    color: var(--ws-accent-warm);
}

blockquote {
    border-left: 3px solid var(--ws-gold);
    background: #FFF9F5;
    padding: 1em 1.5em;
    font-style: italic;
    color: var(--ws-text-muted);
    border-radius: 0 12px 12px 0;
}

/* ---------- Footer ---------- */
#colophon,
.site-footer {
    background-color: #3D2B32;
    color: #F1E4E4;
}

.site-footer a { color: var(--ws-gold); }

/* ---------- Misc polish ---------- */
::selection {
    background: var(--ws-accent-warm);
    color: #fff;
}

.site-content {
    padding-top: 2.5em;
    padding-bottom: 3em;
}

/* ---------- Fix: Astra's boxed-layout wrapper overrides body background ---------- */
html,
body,
.ast-separate-container,
.site-content,
#content,
.ast-container {
    background-color: var(--ws-bg) !important;
}

.ast-separate-container .ast-article-post,
.ast-separate-container article.post {
    background-color: var(--ws-bg-card) !important;
}
