/*
Theme Name: Replat Ocre
Template: generatepress
Version: 1.0.0
Description: Habillage sur mesure pour Natacha au Quotidien
*/

/* Palette sage-calm — variables locales du thème enfant */
:root {
  --ro-primaire: #4D7C0F;
  --ro-secondaire: #65A30D;
  --ro-accent: #84CC16;
  --ro-surface: #F7FEE7;
  --ro-chaud: #F5ECD7;
  --ro-encre: #1A2E05;
  --ro-encre-2: #4B5563;
  --ro-filet: #D9F0B4;
  --ro-arrondi: 8px;
  --ro-ombre: 0 4px 12px rgba(0,0,0,0.1);
}

/* Repère éditorial mobile */
@media (max-width: 767px) {
  .inside-navigation::before {
    content: "Santé du quotidien en Suisse romande — ce que je lis, ce que je teste, ce que je vérifie";
    font-style: italic;
    position: absolute;
    left: var(--gap-small, 8px);
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: var(--ro-encre);
    max-width: 70%;
    line-height: 1.25;
  }
  .inside-navigation { position: relative; }
  .main-navigation .menu-toggle { position: absolute; right: 0 !important; }
}

/* Titre H1 de la page d'accueil */
.site-tagline-heading {
  display: block;
  text-align: center;
  padding: 0.5rem 1rem;
  font-size: 1.1rem;
  color: inherit;
  margin: 0;
  font-family: 'Raleway', system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: 0.01em;
}

/* Boutons d'envoi des formulaires — teinte primaire de la palette */
body button.wpforms-submit,
body .wpcf7-submit,
body .ff-btn-submit {
  background-color: #4D7C0F !important;
  color: #ffffff !important;
  border-radius: var(--ro-arrondi) !important;
  font-weight: 600 !important;
  border: none !important;
  padding: 10px 22px !important;
}
body button.wpforms-submit:hover,
body .wpcf7-submit:hover,
body .ff-btn-submit:hover {
  filter: brightness(0.88) !important;
}

/* Champs de formulaire — jamais les valeurs par défaut du navigateur */
.wpforms-field input[type=text],
.wpforms-field input[type=email],
.wpforms-field input[type=tel],
.wpforms-field select,
.wpforms-field textarea {
  border: 1px solid var(--ro-filet);
  border-radius: var(--ro-arrondi);
  padding: 10px 12px;
  font-family: inherit;
  font-size: 1em;
  background: #fff;
  color: var(--ro-encre);
  width: 100%;
}
.wpforms-field input:focus,
.wpforms-field textarea:focus,
.wpforms-field select:focus {
  outline: none;
  border-color: var(--ro-primaire);
  box-shadow: 0 0 0 3px rgba(77,124,15,0.12);
}
.wpforms-field-label { font-family: 'Raleway', system-ui, sans-serif; font-weight: 600; }

/* Champ de recherche — classique et bloc */
.search-field,
.wp-block-search__input {
  border: 1px solid var(--ro-filet);
  border-radius: var(--ro-arrondi);
  padding: 8px 12px;
  font-family: inherit;
  font-size: 0.95em;
  width: 100%;
  background: #fff;
  color: var(--ro-encre);
}
.search-submit,
.wp-block-search__button {
  background: var(--ro-primaire);
  color: #fff;
  border: none;
  border-radius: var(--ro-arrondi);
  padding: 8px 16px;
  font-family: inherit;
  font-size: 0.95em;
  cursor: pointer;
}
.search-submit:hover,
.wp-block-search__button:hover { opacity: 0.85; }

/* Cartes d'articles — accueil, archives, recherche */
.generate-columns .inside-article,
.blog .inside-article,
.archive .inside-article,
.search-results .inside-article {
  background: #ffffff;
  border: 1px solid var(--ro-filet);
  border-radius: var(--ro-arrondi);
  box-shadow: var(--ro-ombre);
  padding: 16px;
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.generate-columns .inside-article:hover,
.blog .inside-article:hover,
.archive .inside-article:hover {
  box-shadow: 0 8px 22px rgba(26,46,5,0.14);
  transform: translateY(-2px);
}
.post-image img,
.generate-columns .post-image img {
  border-radius: var(--ro-arrondi);
  width: 100%;
  height: auto;
  display: block;
}
.entry-title a { color: var(--ro-encre); }
.entry-title a:hover { color: var(--ro-primaire); }

/* Cartes de la page d'accueil (composition blog-2) */
.ro-accueil-section { padding: 28px 0; }
.ro-accueil-surface { background: var(--ro-surface); }
.ro-grille {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 22px;
}
.ro-carte {
  background: #fff;
  border: 1px solid var(--ro-filet);
  border-radius: var(--ro-arrondi);
  box-shadow: var(--ro-ombre);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.ro-carte:hover { box-shadow: 0 8px 22px rgba(26,46,5,0.14); }
.ro-carte img { width: 100%; height: 180px; object-fit: cover; display: block; }
.ro-carte-corps { padding: 14px 16px 18px; }
.ro-carte-corps h3 { font-size: 1.05rem; margin: 0 0 6px; line-height: 1.3; }
.ro-carte-corps h3 a { color: var(--ro-encre); text-decoration: none; }
.ro-carte-corps h3 a:hover { color: var(--ro-primaire); }
.ro-carte-meta { font-size: 0.82rem; color: var(--ro-encre-2); margin-bottom: 8px; }
.ro-carte-extrait { font-size: 0.94rem; color: var(--ro-encre-2); margin: 0 0 10px; }
.ro-lien-suite { font-family: 'Raleway', system-ui, sans-serif; font-weight: 600; color: var(--ro-primaire); text-decoration: none; }
.ro-lien-suite:hover { text-decoration: underline; }

/* Bandeau d'ouverture — portrait + proposition éditoriale */
.ro-bandeau { display: flex; gap: 26px; align-items: center; flex-wrap: wrap; }
.ro-bandeau-portrait { flex: 0 0 168px; }
.ro-bandeau-portrait img { width: 168px; height: 168px; object-fit: cover; border-radius: var(--ro-arrondi); display: block; }
.ro-bandeau-texte { flex: 1 1 320px; }
.ro-bandeau-texte p { margin: 0 0 12px; }

/* Portrait de la page À propos — flottant à gauche */
.ro-portrait-apropos { float: left; margin: 4px 24px 12px 0; max-width: 240px; }
.ro-portrait-apropos img { border-radius: var(--ro-arrondi); display: block; width: 100%; height: auto; }
@media (max-width: 600px) {
  .ro-portrait-apropos { float: none; margin: 0 auto 18px; }
  .ro-bandeau-portrait { flex: 0 0 100%; }
  .ro-bandeau-portrait img { width: 148px; height: 148px; margin: 0 auto; }
}

/* Encadré médical récurrent dans les articles */
.ro-encadre-medical {
  border-left: 4px solid var(--ro-primaire);
  background: var(--ro-chaud);
  padding: 14px 18px;
  margin: 26px 0;
  border-radius: 0 var(--ro-arrondi) var(--ro-arrondi) 0;
  font-size: 0.96em;
}
.ro-encadre-medical strong { font-family: 'Raleway', system-ui, sans-serif; }

/* Barre latérale gauche */
.widget-area .widget {
  background: #fff;
  border: 1px solid var(--ro-filet);
  border-radius: var(--ro-arrondi);
  padding: 16px;
  margin-bottom: 22px;
  box-shadow: var(--ro-ombre);
}
.widget-area .widget-title {
  font-family: 'Raleway', system-ui, sans-serif;
  font-size: 1rem;
  letter-spacing: 0.02em;
  margin-bottom: 10px;
  color: var(--ro-encre);
}
.widget-area ul li { border-bottom: 1px dotted var(--ro-filet); padding: 5px 0; }
.widget-area ul li:last-child { border-bottom: none; }

/* Pied de page sur une seule ligne, fond clair */
.site-footer { background: var(--ro-surface); color: var(--ro-encre); }
.site-footer a { color: var(--ro-primaire); }
.footer-widgets { padding: 22px 0 6px; }
.footer-widgets .widget { background: transparent; border: none; box-shadow: none; padding: 0; margin: 0; text-align: center; }
.footer-widgets .widget ul { list-style: none; margin: 10px 0 0; padding: 0; }
.footer-widgets .widget ul li { display: inline-block; margin: 0 10px; border: none; padding: 0; }
.site-info { background: var(--ro-surface); border-top: 1px solid var(--ro-filet); text-align: center; font-size: 0.88rem; padding: 12px 0; }

/* Page 404 */
.ro-404 { text-align: center; padding: 18px 0 34px; }
.ro-404 .ro-404-liens { margin-top: 18px; }
.ro-404 .ro-404-liens a { display: inline-block; margin: 0 8px; font-weight: 600; color: var(--ro-primaire); }
.ro-404 form.search-form { max-width: 420px; margin: 20px auto 0; }

/* Descriptions d'archives */
.page-header .taxonomy-description { color: var(--ro-encre-2); font-size: 0.97em; }

/* Section à la une — le visuel doit occuper la largeur du conteneur */
.hero-section { width: 100%; }
.hero-section .ro-grille { grid-template-columns: 1fr; }
.hero-section .ro-carte-une { width: 100%; }

/* Lien de lecture en pied de carte d'archive */
.ro-lien-archive { margin: 10px 0 0; }
