/*
Theme Name: Terrain Presse
Template: generatepress
Version: 1.0
*/

/* Self-hosted fonts: PT Serif (body) + PT Sans (headings) */
@font-face {
    font-family: 'PT Serif';
    src: url('assets/fonts/PTSerif-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'PT Serif';
    src: url('assets/fonts/PTSerif-Italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'PT Serif';
    src: url('assets/fonts/PTSerif-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'PT Sans';
    src: url('assets/fonts/PTSans-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'PT Sans';
    src: url('assets/fonts/PTSans-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Berry-vivid palette variables */
:root {
    --color-primary: #7C3AED;
    --color-secondary: #A78BFA;
    --color-accent: #8B5CF6;
    --color-surface: #F5F3FF;
    --color-bg: #FFFFFF;
    --color-text: #1E1B4B;
    --color-text-secondary: #6B7280;
    --color-border: #E9E5F5;
    --color-footer-bg: #1E1B4B;
}

/* Typography */
body {
    font-family: 'PT Serif', Georgia, serif;
    font-weight: 400;
    color: #1E1B4B;
    line-height: 1.75;
}

h1, h2, h3, h4, h5, h6,
.site-name,
.navigation a {
    font-family: 'PT Sans', Arial, sans-serif;
}

/* Navigation */
.nav-primary .menu > li > a {
    font-family: 'PT Sans', Arial, sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    padding: 0.75em 1em;
}

.nav-primary .menu > li > a:hover,
.nav-primary .menu > li.current-menu-item > a {
    color: #7C3AED;
}

/* Berry-vivid: purple accent links */
a { color: #7C3AED; }
a:hover { color: #A78BFA; }

/* Homepage compact-tagline hero */
.site-content > .inside-article:first-child,
.entry-header.grid-container {
    display: none;
}

.tfr-tagline-hero {
    background: #F5F3FF;
    border-bottom: 3px solid #7C3AED;
    padding: 2.5rem 1.5rem;
    text-align: center;
    margin-bottom: 2rem;
}

.tfr-tagline-hero h1 {
    font-family: 'PT Sans', Arial, sans-serif;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 700;
    color: #1E1B4B;
    margin: 0 0 0.5rem;
    line-height: 1.2;
}

.tfr-tagline-hero .tagline-sub {
    font-family: 'PT Serif', Georgia, serif;
    font-size: 1rem;
    color: #4B5563;
    font-style: italic;
    margin: 0;
}

/* Content area */
.inside-article {
    padding: 2rem 0;
}

.entry-title {
    font-family: 'PT Sans', Arial, sans-serif;
    font-size: clamp(1.2rem, 2.5vw, 1.6rem);
    font-weight: 700;
    line-height: 1.3;
}

.entry-title a {
    color: #1E1B4B;
}

.entry-title a:hover {
    color: #7C3AED;
}

/* Post meta */
.entry-meta {
    font-family: 'PT Sans', Arial, sans-serif;
    font-size: 0.85rem;
    color: #4B5563;
}

/* Category badges */
.cat-links a {
    background: #F5F3FF;
    color: #7C3AED;
    border: 1px solid #E9E5F5;
    padding: 0.15em 0.5em;
    border-radius: 3px;
    font-size: 0.8rem;
    text-decoration: none;
}

.cat-links a:hover {
    background: #7C3AED;
    color: #FFFFFF;
}

/* Post grid on homepage */
.post-summary {
    border-bottom: 1px solid #E9E5F5;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
}

.post-image img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

/* Buttons */
.wp-element-button,
.button,
input[type="submit"],
button[type="submit"] {
    background: #7C3AED;
    color: #FFFFFF;
    border: none;
    border-radius: 4px;
    padding: 0.6em 1.4em;
    font-family: 'PT Sans', Arial, sans-serif;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
}

.wp-element-button:hover,
.button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
    background: #A78BFA;
    color: #FFFFFF;
}

/* Footer: 2-col-dark */
.site-footer {
    background: #1E1B4B;
    color: #F5F3FF;
}

.site-footer a {
    color: #A78BFA;
}

.site-footer a:hover {
    color: #FFFFFF;
}

.footer-widgets .widget-title {
    font-family: 'PT Sans', Arial, sans-serif;
    font-weight: 700;
    color: #FFFFFF;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #7C3AED;
    padding-bottom: 0.5em;
    margin-bottom: 1em;
}

.footer-widgets-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    padding: 2rem 0;
}

@media (max-width: 767px) {
    .footer-widgets-container {
        grid-template-columns: 1fr;
    }
}

.copyright-bar {
    background: #7C3AED;
    color: #FFFFFF;
    text-align: center;
    padding: 0.75rem;
    font-family: 'PT Sans', Arial, sans-serif;
    font-size: 0.85rem;
}

/* Read more link */
.more-link {
    color: #7C3AED;
    font-family: 'PT Sans', Arial, sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
}

/* Author card */
.tfr-author-card {
    background: #F5F3FF;
    border: 1px solid #E9E5F5;
    border-left: 4px solid #7C3AED;
    padding: 1.5rem;
    margin-top: 2.5rem;
    display: flex;
    gap: 1.2rem;
    align-items: flex-start;
    border-radius: 4px;
}

.tfr-author-card img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    flex-shrink: 0;
}

.tfr-author-card .author-name {
    font-family: 'PT Sans', Arial, sans-serif;
    font-weight: 700;
    color: #1E1B4B;
    margin: 0 0 0.25em;
}

.tfr-author-card .author-title {
    font-size: 0.85rem;
    color: #4B5563;
    margin: 0 0 0.5em;
    font-style: italic;
}

.tfr-author-card .author-bio {
    font-size: 0.9rem;
    color: #1E1B4B;
    margin: 0;
}

/* Byline */
.tfr-byline {
    font-family: 'PT Sans', Arial, sans-serif;
    font-size: 0.85rem;
    color: #4B5563;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.tfr-byline img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
}

/* Section heading */
.tfr-section-heading {
    font-family: 'PT Sans', Arial, sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #7C3AED;
    border-bottom: 2px solid #E9E5F5;
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
}

/* Nav desktop breakpoint 768px */
@media (max-width: 768px) {
    .nav-primary .menu {
        display: none;
    }
    .menu-toggle { display: block; }
}

/* Search form */
body .search-form .search-submit {
    background: #7C3AED;
    color: #FFFFFF;
}

body .search-form .search-submit:hover {
    background: #A78BFA;
    color: #FFFFFF;
}

/* Separator line */
hr {
    border: none;
    border-top: 1px solid #E9E5F5;
    margin: 2rem 0;
}

/* 404 page */
.error404 .page-title {
    font-family: 'PT Sans', Arial, sans-serif;
    font-size: 2rem;
    color: #1E1B4B;
}

/* Mobile */
@media (max-width: 600px) {
    .footer-widgets-container {
        grid-template-columns: 1fr;
    }
    .tfr-author-card {
        flex-direction: column;
    }
}
