/*
Theme Name: Ravine Filao
Theme URI:
Description: Thème enfant de Travailler à sa façon. Palette terracotta-warm, Crimson Text / Outfit, signature sig-A.
Author: Travailler à sa façon
Template: generatepress
Version: 1.0
Text Domain: ravine-filao
*/

/* -------------------------------------------------------------------------
 * Jetons du §10 du brief. Tout ce que GeneratePress expose comme option est
 * écrit dans generate_settings ; cette feuille ne porte que les manques du
 * thème parent.
 * ---------------------------------------------------------------------- */
:root {
    --rf-primaire: #B45309;
    --rf-secondaire: #D97706;
    --rf-accent: #CA8A04;
    --rf-accent-chaud: #FAF0E6;
    --rf-surface: #FFFBEB;
    --rf-fond: #FFFFFF;
    --rf-texte: #1C1917;
    --rf-texte-second: #57534E;
    --rf-bord: #F5E6D0;
    --rf-rayon: 16px;
    --rf-ecart-section: 2rem;
    --rf-ecart-bloc: 1rem;
}

/* ---------- Titre visible de l'accueil (§26 filtre 5) ---------- */
.site-tagline-heading {
    text-align: center;
    padding: 0.5rem 1rem;
    font-size: 1.1rem;
    color: inherit;
    margin: 0;
}

/* ---------- Rayon et absence d'ombre (§10 : rounded / none) ---------- */
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.separate-containers .inside-page-header,
.widget,
.rf-une,
.rf-grille article,
.rf-rubrique,
.rf-fiche,
.rf-encart {
    border-radius: var(--rf-rayon);
    box-shadow: none;
}

.separate-containers .inside-article,
.separate-containers .page-header,
.widget {
    border: 1px solid var(--rf-bord);
}

/* ---------- Rythme compact (§10 : spacing_system = compact) ---------- */
.separate-containers .site-main > *:not(:last-child) {
    margin-bottom: var(--rf-ecart-section);
}

/* ---------- Typographie ---------- */
body,
button,
input,
select,
textarea {
    font-family: 'Crimson Text', Georgia, 'Times New Roman', serif;
}

h1, h2, h3, h4, h5, h6,
.main-navigation a,
.site-title,
.widget-title,
.rf-surtitre,
.rf-lien-suite,
.button,
.wp-block-button__link,
.ff-btn,
.ff-btn-submit {
    font-family: 'Outfit', 'Helvetica Neue', Arial, sans-serif;
    font-weight: 600;
    letter-spacing: -0.01em;
}

h1 { font-size: 2.1rem; line-height: 1.2; }
h2 { font-size: 1.55rem; line-height: 1.25; }
h3 { font-size: 1.22rem; line-height: 1.3; }

.entry-content p,
.entry-content li {
    font-size: 1.1rem;
    line-height: 1.68;
}

.entry-content h2 {
    margin-top: 2.1rem;
    padding-bottom: 0.3rem;
    border-bottom: 2px solid var(--rf-bord);
}

.entry-content h3 {
    margin-top: 1.5rem;
    color: var(--rf-primaire);
}

.entry-content blockquote {
    border-left: 3px solid var(--rf-secondaire);
    background: var(--rf-surface);
    border-radius: 0 var(--rf-rayon) var(--rf-rayon) 0;
    padding: 0.9rem 1.2rem;
    margin: 1.6rem 0;
    font-style: normal;
    color: var(--rf-texte-second);
}

.entry-content table {
    border-collapse: collapse;
    width: 100%;
    margin: 1.4rem 0;
    font-size: 1rem;
}

.entry-content table th {
    background: var(--rf-surface);
    font-family: 'Outfit', Arial, sans-serif;
    font-weight: 600;
    text-align: left;
}

.entry-content table th,
.entry-content table td {
    border: 1px solid var(--rf-bord);
    padding: 0.5rem 0.7rem;
    vertical-align: top;
}

.entry-content figure img,
.entry-content img {
    border-radius: var(--rf-rayon);
}

.entry-content figcaption,
.wp-caption-text {
    font-size: 0.92rem;
    color: var(--rf-texte-second);
    text-align: center;
    margin-top: 0.4rem;
}

/* ---------- Navigation : rupture 1024 (§10) ---------- */
.main-navigation .main-nav ul li a {
    font-size: 0.97rem;
}

.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li:hover > a {
    color: var(--rf-secondaire);
}

/* ---------- En-tête : le logo porte la marque ---------- */
.site-header {
    border-bottom: 1px solid var(--rf-bord);
}

.site-logo img,
.site-header .site-logo img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 1024px) {
    #mobile-header .site-logo img {
        max-width: 190px;
        height: auto;
    }
}

/* ---------- Colonne latérale droite (sig-A) ---------- */
.widget-title {
    font-size: 1.02rem;
    text-transform: none;
    letter-spacing: 0;
    color: var(--rf-texte);
    border-bottom: 2px solid var(--rf-secondaire);
    padding-bottom: 0.35rem;
    margin-bottom: 0.7rem;
}

.widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.widget ul li {
    padding: 0.32rem 0;
    border-bottom: 1px dotted var(--rf-bord);
    font-size: 1rem;
}

.widget ul li:last-child {
    border-bottom: none;
}

.widget_search .search-field,
.wp-block-search__input {
    border: 1px solid var(--rf-bord);
    border-radius: var(--rf-rayon);
    padding: 0.5rem 0.7rem;
    width: 100%;
}

/* ---------- Boutons ---------- */
.button,
.wp-block-button__link,
button,
input[type="submit"],
.ff-btn-submit {
    background: var(--rf-primaire);
    color: #ffffff;
    border: none;
    border-radius: var(--rf-rayon);
    font-family: 'Outfit', Arial, sans-serif;
    font-weight: 600;
    padding: 0.6rem 1.3rem;
    box-shadow: none;
}

.button:hover,
.wp-block-button__link:hover,
button:hover,
input[type="submit"]:hover,
.ff-btn-submit:hover {
    background: var(--rf-secondaire);
    color: #ffffff;
}

/* ---------- Accueil : article à la une (§10 homepage_hero = featured-post) ---------- */
.rf-une {
    display: block;
    text-decoration: none;
    color: inherit;
    background: var(--rf-surface);
    border: 1px solid var(--rf-bord);
    overflow: hidden;
    margin-bottom: var(--rf-ecart-section);
}

.rf-une img {
    display: block;
    width: 100%;
    height: 330px;
    object-fit: cover;
    border-radius: 0;
}

.rf-une-corps {
    padding: 1.2rem 1.4rem 1.4rem;
}

.rf-une-corps h2 {
    margin: 0.3rem 0 0.4rem;
    font-size: 1.75rem;
}

.rf-surtitre {
    display: inline-block;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--rf-primaire);
    font-weight: 600;
}

.rf-date {
    display: block;
    font-size: 0.9rem;
    color: var(--rf-texte-second);
    margin-bottom: 0.5rem;
}

.rf-lien-suite {
    display: inline-block;
    margin-top: 0.4rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--rf-primaire);
    text-decoration: none;
}

.rf-lien-suite:hover {
    color: var(--rf-secondaire);
}

.rf-titre-section {
    font-size: 1.35rem;
    margin: var(--rf-ecart-section) 0 var(--rf-ecart-bloc);
    padding-bottom: 0.35rem;
    border-bottom: 2px solid var(--rf-bord);
}

/* ---------- Accueil : grille d'articles ---------- */
.rf-grille {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--rf-ecart-bloc);
}

.rf-grille article {
    background: var(--rf-fond);
    border: 1px solid var(--rf-bord);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.rf-grille article img {
    display: block;
    width: 100%;
    height: 175px;
    object-fit: cover;
    border-radius: 0;
}

.rf-carte-corps {
    padding: 0.85rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.rf-carte-corps h3 {
    margin: 0.25rem 0 0.3rem;
    font-size: 1.08rem;
    line-height: 1.32;
}

.rf-carte-corps h3 a {
    color: var(--rf-texte);
    text-decoration: none;
}

.rf-carte-corps h3 a:hover {
    color: var(--rf-primaire);
}

.rf-carte-corps p {
    font-size: 0.99rem;
    line-height: 1.5;
    color: var(--rf-texte-second);
    margin: 0 0 0.5rem;
}

/* ---------- Accueil : rubriques ---------- */
.rf-rubriques {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: var(--rf-ecart-bloc);
}

.rf-rubrique {
    display: block;
    text-decoration: none;
    color: inherit;
    background: var(--rf-accent-chaud);
    border: 1px solid var(--rf-bord);
    padding: 1rem 1.1rem;
}

.rf-rubrique h3 {
    margin: 0 0 0.35rem;
    font-size: 1.08rem;
    color: var(--rf-primaire);
}

.rf-rubrique p {
    font-size: 0.97rem;
    line-height: 1.5;
    color: var(--rf-texte-second);
    margin: 0 0 0.45rem;
}

.rf-compte {
    font-size: 0.85rem;
    color: var(--rf-texte-second);
    font-family: 'Outfit', Arial, sans-serif;
}

/* ---------- Signature de la persona (§9) ---------- */
.rf-signature {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0.3rem 0 1rem;
    font-size: 0.95rem;
    color: var(--rf-texte-second);
}

.rf-signature img {
    border-radius: 50%;
    flex: 0 0 auto;
}

.rf-signature a {
    color: var(--rf-primaire);
    font-weight: 600;
    text-decoration: none;
}

.rf-fiche {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    background: var(--rf-surface);
    border: 1px solid var(--rf-bord);
    padding: 1.1rem 1.2rem;
    margin-top: var(--rf-ecart-section);
}

.rf-fiche img {
    border-radius: 50%;
    flex: 0 0 auto;
}

.rf-fiche-nom {
    font-family: 'Outfit', Arial, sans-serif;
    font-weight: 600;
    font-size: 1.05rem;
}

.rf-fiche-nom a {
    color: var(--rf-texte);
    text-decoration: none;
}

.rf-fiche-lieu {
    font-size: 0.88rem;
    color: var(--rf-texte-second);
    margin-bottom: 0.4rem;
}

.rf-fiche p {
    margin: 0;
    font-size: 0.99rem;
    line-height: 1.55;
    color: var(--rf-texte-second);
}

/* ---------- Page « Ma démarche » : about-left-float (§10) ---------- */
.rf-portrait-flottant {
    float: left;
    margin: 0.2rem 1.4rem 1rem 0;
    max-width: 210px;
}

.rf-portrait-flottant img {
    border-radius: var(--rf-rayon);
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 600px) {
    .rf-portrait-flottant {
        float: none;
        margin: 0 auto 1.1rem;
        max-width: 190px;
    }
}

.rf-encart {
    background: var(--rf-surface);
    border: 1px solid var(--rf-bord);
    border-left: 3px solid var(--rf-secondaire);
    padding: 1rem 1.2rem;
    margin: 1.6rem 0;
}

.rf-encart p:last-child {
    margin-bottom: 0;
}

/* ---------- Pied de page : centered-dark (§10) ---------- */
.site-footer,
.site-info {
    background: #1C1917;
    color: #E7DED2;
}

.site-info {
    text-align: center;
    padding: 1.6rem 1rem;
    font-size: 0.94rem;
}

.rf-pied {
    text-align: center;
    padding: 2rem 1rem 0.6rem;
}

.rf-pied-logo img {
    max-width: 210px;
    height: auto;
    margin: 0 auto 0.8rem;
    display: block;
}

.rf-pied-liens {
    list-style: none;
    margin: 0 0 0.4rem;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.35rem 1.15rem;
    font-family: 'Outfit', Arial, sans-serif;
    font-size: 0.93rem;
}

.rf-pied-liens a,
.site-info a {
    color: #E7DED2;
    text-decoration: none;
}

.rf-pied-liens a:hover,
.site-info a:hover {
    color: var(--rf-secondaire);
}

/* ---------- 404 (§10) ---------- */
.rf-404 {
    max-width: 640px;
}

.rf-404 .search-form {
    margin-top: 1.1rem;
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.rf-404 .search-field {
    flex: 1 1 220px;
    border: 1px solid var(--rf-bord);
    border-radius: var(--rf-rayon);
    padding: 0.55rem 0.8rem;
}

.rf-404-rubriques {
    list-style: none;
    margin: 1.1rem 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.1rem;
    font-family: 'Outfit', Arial, sans-serif;
}

.rf-404-rubriques a {
    color: var(--rf-primaire);
    text-decoration: none;
    font-weight: 600;
}

/* ---------- Formulaire de contact ---------- */
.ff-el-input--label label {
    font-family: 'Outfit', Arial, sans-serif;
    font-weight: 600;
    font-size: 0.97rem;
}

.frm-fluent-form input[type="text"],
.frm-fluent-form input[type="email"],
.frm-fluent-form textarea {
    border: 1px solid var(--rf-bord);
    border-radius: var(--rf-rayon);
    padding: 0.55rem 0.75rem;
}

/* ---------- Pagination ---------- */
.paging-navigation .nav-links a,
.paging-navigation .nav-links span {
    border-radius: var(--rf-rayon);
    padding: 0.35rem 0.75rem;
    font-family: 'Outfit', Arial, sans-serif;
}

/* ---------- Archives ---------- */
.page-header .page-title {
    font-size: 1.6rem;
}

.taxonomy-description {
    font-size: 1.04rem;
    color: var(--rf-texte-second);
    line-height: 1.6;
    margin-top: 0.5rem;
}
