/*
Theme Name: Rive Cendrée
Template: generatepress
Version: 1.0.0
Description: Habillage sur mesure pour La Silhouette Curieuse.
*/

/* ---------------------------------------------------------------------------
   Jetons de couleur — palette ocean-deep, rayon rounded, ombre dramatic.
   Le texte secondaire est assombri par rapport au jeton d'origine (#6B7280)
   qui tombe sous 4,5:1 sur la surface claire.
--------------------------------------------------------------------------- */
:root {
  --rc-primary: #1A56DB;
  --rc-primary-deep: #12408F;
  --rc-accent: #3B82F6;
  --rc-accent-soft: #E8EEF8;
  --rc-surface: #EFF6FF;
  --rc-page: #FFFFFF;
  --rc-ink: #1F2937;
  --rc-ink-soft: #4B5563;
  --rc-rule: #E5E7EB;
  --rc-radius: 16px;
  --rc-radius-sm: 10px;
  --rc-lift: 0 8px 30px rgba(16, 32, 64, 0.12);
  --rc-lift-soft: 0 3px 14px rgba(16, 32, 64, 0.08);
  --rc-night: #16243F;
  --rc-night-ink: #D8E2F4;
}

/* Trait distinctif mobile
   La ligne vit dans .inside-navigation (contrainte du contrôle mobile-tagline),
   mais elle est posée sous la rangée logo/hamburger plutôt que par-dessus : au
   centre, sur toute la largeur, dans une réserve ouverte par padding-bottom. */
@media (max-width: 767px) {
  .inside-navigation {
    position: relative;
    padding-bottom: 30px;
  }
  .inside-navigation::before {
    content: "La mode au quotidien, vue avec un œil sincère et une curiosité jamais rassasiée.";
    font-style: italic;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 5px;
    top: auto;
    transform: none;
    padding: 0 14px;
    text-align: center;
    font-size: 12px;
    line-height: 1.4;
    color: var(--rc-ink-soft);
  }
  .inside-navigation .main-nav { margin-top: 4px; }
}

/* Bouton d'envoi du formulaire — primaire de la palette (gate contact-form-render) */
body button.wpforms-submit,
body .wpcf7-submit,
body .ff-btn-submit {
  background-color: #1A56DB !important;
  color: #ffffff !important;
}
body button.wpforms-submit:hover,
body .wpcf7-submit:hover,
body .ff-btn-submit:hover {
  filter: brightness(0.88) !important;
}

/* ---------------------------------------------------------------------------
   Rythme typographique. PT Sans porte les titres, PT Serif porte le corps.
--------------------------------------------------------------------------- */
body {
  font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
  color: var(--rc-ink);
}

h1, h2, h3, h4, h5, h6,
.main-navigation a,
.widget-title,
button, input[type="submit"] {
  font-family: 'PT Sans', 'Segoe UI', Tahoma, sans-serif;
}

h1 { letter-spacing: -0.015em; }
h2 { letter-spacing: -0.01em; }

.entry-content a { color: var(--rc-primary); }
.entry-content a:hover { color: var(--rc-primary-deep); }

/* ---------------------------------------------------------------------------
   Boîtes séparées (sig-A). Le rayon et l'ombre viennent des jetons du brief.
--------------------------------------------------------------------------- */
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.one-container .site-content,
.inside-page-header {
  border-radius: var(--rc-radius);
  box-shadow: var(--rc-lift-soft);
}

.separate-containers .inside-article:hover {
  box-shadow: var(--rc-lift);
}

.sidebar .widget {
  border-radius: var(--rc-radius);
  box-shadow: var(--rc-lift-soft);
}

.sidebar .widget-title {
  font-size: 1.02em;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rc-ink-soft);
  border-bottom: 2px solid var(--rc-accent-soft);
  padding-bottom: 8px;
  margin-bottom: 14px;
}

.sidebar .widget ul { list-style: none; margin-left: 0; }
.sidebar .widget ul li {
  padding: 6px 0;
  border-bottom: 1px solid var(--rc-rule);
}
.sidebar .widget ul li:last-child { border-bottom: 0; }

.post-image img,
.wp-block-image img,
.entry-content img {
  border-radius: var(--rc-radius-sm);
}

/* ---------------------------------------------------------------------------
   Champ de recherche — widget classique et bloc.
--------------------------------------------------------------------------- */
.search-field,
.wp-block-search__input {
  border: 1px solid var(--rc-rule);
  border-radius: var(--rc-radius-sm);
  padding: 9px 13px;
  font-family: inherit;
  font-size: 0.95em;
  width: 100%;
  background: var(--rc-page);
  color: var(--rc-ink);
}

.search-submit,
.wp-block-search__button {
  background: var(--rc-primary);
  color: #fff;
  border: none;
  border-radius: var(--rc-radius-sm);
  padding: 9px 17px;
  font-family: 'PT Sans', sans-serif;
  font-size: 0.95em;
  cursor: pointer;
}

.search-submit:hover,
.wp-block-search__button:hover { background: var(--rc-primary-deep); }

/* ---------------------------------------------------------------------------
   Bandeau d'ouverture — le portrait d'abord (composition blog-2).
--------------------------------------------------------------------------- */
.rc-intro {
  background: var(--rc-surface);
  border-radius: var(--rc-radius);
  box-shadow: var(--rc-lift-soft);
  padding: 30px 32px;
  margin-bottom: 34px;
  display: flex;
  gap: 28px;
  align-items: center;
}

.rc-intro-portrait {
  flex: 0 0 auto;
  margin: 0;
}

.rc-intro-portrait img {
  width: 152px;
  height: 152px;
  object-fit: cover;
  border-radius: 50%;
  box-shadow: var(--rc-lift);
  display: block;
}

.rc-intro-text { flex: 1 1 auto; min-width: 0; }

.rc-intro-kicker {
  display: block;
  font-family: 'PT Sans', sans-serif;
  font-size: 0.78em;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--rc-primary);
  margin-bottom: 9px;
}

h1.rc-intro-title {
  font-size: 1.72em;
  line-height: 1.3;
  margin: 0 0 12px;
  color: var(--rc-ink);
}

.rc-intro-lede {
  margin: 0 0 16px;
  color: var(--rc-ink-soft);
  font-size: 1.02em;
}

.rc-intro-cta {
  display: inline-block;
  font-family: 'PT Sans', sans-serif;
  font-weight: 700;
  font-size: 0.95em;
  padding: 10px 20px;
  border-radius: var(--rc-radius-sm);
  background: var(--rc-primary);
  color: #fff !important;
  text-decoration: none;
}
.rc-intro-cta:hover { background: var(--rc-primary-deep); }

@media (max-width: 640px) {
  .rc-intro { flex-direction: column; text-align: center; padding: 26px 20px; }
  .rc-intro-portrait img { width: 124px; height: 124px; }
}

/* ---------------------------------------------------------------------------
   L'article mis en avant, puis la règle qui ouvre la liste.
--------------------------------------------------------------------------- */
.rc-pick,
.rc-hero {
  background: var(--rc-page);
  border: 1px solid var(--rc-rule);
  border-radius: var(--rc-radius);
  box-shadow: var(--rc-lift);
  overflow: hidden;
  margin-bottom: 34px;
}

.rc-pick-media { margin: 0; }
.rc-pick-media img {
  display: block;
  width: 100%;
  height: 322px;
  object-fit: cover;
  border-radius: 0;
}

.rc-pick-body { padding: 24px 28px 28px; }

.rc-pick-flag {
  display: inline-block;
  font-family: 'PT Sans', sans-serif;
  font-size: 0.74em;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff;
  background: var(--rc-primary);
  padding: 4px 11px;
  border-radius: 999px;
  margin-bottom: 12px;
}

h2.rc-pick-title { font-size: 1.5em; line-height: 1.28; margin: 0 0 8px; }
h2.rc-pick-title a { color: var(--rc-ink); text-decoration: none; }
h2.rc-pick-title a:hover { color: var(--rc-primary); }

.rc-pick-date {
  font-size: 0.86em;
  color: var(--rc-ink-soft);
  margin: 0 0 12px;
}

.rc-pick-lede { margin: 0 0 16px; color: var(--rc-ink-soft); }

.rc-pick-cta {
  font-family: 'PT Sans', sans-serif;
  font-weight: 700;
  color: var(--rc-primary);
  text-decoration: none;
}
.rc-pick-cta:hover { text-decoration: underline; }

h2.rc-rule {
  font-size: 1.22em;
  letter-spacing: 0.03em;
  padding-bottom: 10px;
  margin: 0 0 20px;
  border-bottom: 3px solid var(--rc-accent-soft);
}

@media (max-width: 640px) {
  .rc-pick-media img { height: 208px; }
  .rc-pick-body { padding: 20px; }
}

/* ---------------------------------------------------------------------------
   Cartes d'articles sur la page d'accueil et l'index.
--------------------------------------------------------------------------- */
.rc-feed { display: grid; gap: 22px; }
.rc-feed-item {
  display: flex;
  gap: 18px;
  background: var(--rc-page);
  border: 1px solid var(--rc-rule);
  border-radius: var(--rc-radius);
  box-shadow: var(--rc-lift-soft);
  padding: 16px;
}
.rc-feed-item:hover { box-shadow: var(--rc-lift); }
.rc-feed-media { flex: 0 0 168px; margin: 0; }
.rc-feed-media img {
  width: 100%;
  height: 118px;
  object-fit: cover;
  border-radius: var(--rc-radius-sm);
  display: block;
}
.rc-feed-body { flex: 1 1 auto; min-width: 0; }
.rc-feed-cat {
  display: block;
  font-family: 'PT Sans', sans-serif;
  font-size: 0.74em;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rc-primary);
  margin-bottom: 5px;
}
h3.rc-feed-title { font-size: 1.08em; line-height: 1.35; margin: 0 0 6px; }
h3.rc-feed-title a { color: var(--rc-ink); text-decoration: none; }
h3.rc-feed-title a:hover { color: var(--rc-primary); }
.rc-feed-lede { margin: 0; font-size: 0.93em; color: var(--rc-ink-soft); }

@media (max-width: 560px) {
  .rc-feed-item { flex-direction: column; }
  .rc-feed-media { flex: 1 1 auto; }
  .rc-feed-media img { height: 176px; }
}

/* ---------------------------------------------------------------------------
   Renvoi vers la page À propos, en clôture d'accueil.
--------------------------------------------------------------------------- */
.rc-teaser {
  margin-top: 34px;
  padding: 26px 28px;
  border-left: 5px solid var(--rc-primary);
  background: var(--rc-accent-soft);
  border-radius: var(--rc-radius);
}
.rc-teaser h2 { font-size: 1.18em; margin: 0 0 10px; }
.rc-teaser p { margin: 0 0 12px; color: var(--rc-ink-soft); }
.rc-teaser a { font-family: 'PT Sans', sans-serif; font-weight: 700; color: var(--rc-primary); }

/* ---------------------------------------------------------------------------
   Signature d'autrice au pied de chaque article.
--------------------------------------------------------------------------- */
.rc-byline-thumb {
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 7px;
}

.rc-signature {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  margin-top: 34px;
  padding: 22px 24px;
  background: var(--rc-surface);
  border-radius: var(--rc-radius);
  box-shadow: var(--rc-lift-soft);
}
.rc-signature img {
  flex: 0 0 auto;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  object-fit: cover;
}
.rc-sig-name { margin: 0 0 3px; font-family: 'PT Sans', sans-serif; font-weight: 700; font-size: 1.05em; }
.rc-sig-name a { color: var(--rc-ink); text-decoration: none; }
.rc-sig-name a:hover { color: var(--rc-primary); }
.rc-sig-role { margin: 0 0 7px; font-size: 0.86em; color: var(--rc-primary); }
.rc-sig-line { margin: 0; font-size: 0.93em; color: var(--rc-ink-soft); }

@media (max-width: 560px) {
  .rc-signature { flex-direction: column; }
}

/* Portrait de la page À propos — gabarit avatar-left. */
.rc-portrait {
  float: left;
  margin: 4px 26px 16px 0;
  width: 232px;
  height: 232px;
  object-fit: cover;
  border-radius: var(--rc-radius);
  box-shadow: var(--rc-lift);
}
@media (max-width: 600px) {
  .rc-portrait { float: none; margin: 0 auto 20px; display: block; width: 190px; height: 190px; }
}

/* ---------------------------------------------------------------------------
   Pied de page centré sur fond sombre (jeton centered-dark, sans intitulés).
--------------------------------------------------------------------------- */
.site-footer,
.site-info,
.footer-widgets {
  background: var(--rc-night);
  color: var(--rc-night-ink);
}

.footer-widgets .inside-footer-widgets { text-align: center; }

.footer-widgets .widget {
  background: transparent;
  padding: 0 14px;
  box-shadow: none;
}

.footer-widgets .widget_nav_menu ul { list-style: none; margin: 0; }
.footer-widgets .widget_nav_menu li { display: inline-block; margin: 0 10px 6px; }

.site-footer a, .footer-widgets a { color: #EAF1FF; }
.site-footer a:hover, .footer-widgets a:hover { color: #FFFFFF; text-decoration: underline; }

.footer-widgets p { color: var(--rc-night-ink); }

.site-info { text-align: center; font-size: 0.9em; }
.rc-foot-dot { margin: 0 9px; opacity: 0.55; }

/* ---------------------------------------------------------------------------
   Divers — 404, en-tête d'archive, remontée en haut de page.
--------------------------------------------------------------------------- */
.rc-404 { max-width: 640px; }
.rc-404 h1 { margin-bottom: 14px; }
.rc-404 p { color: var(--rc-ink-soft); }
.rc-404 .search-form { margin-top: 20px; }

.page-header .archive-description { color: var(--rc-ink-soft); }

.generate-back-to-top {
  border-radius: 50%;
  background-color: var(--rc-primary);
  color: #fff;
}
.generate-back-to-top:hover { background-color: var(--rc-primary-deep); color: #fff; }

.rc-blog-h1 {
  font-size: 1.62em;
  margin: 0 0 22px;
  padding-bottom: 12px;
  border-bottom: 3px solid var(--rc-accent-soft);
}
