/*
Theme Name: ReBlesCo
Theme URI: https://reblesco.com
Author: ReBlesCo
Description: Thème WordPress ReBlesCo — coaching et accompagnement émotionnel.
Version: 1.0.0
Text Domain: reblesco
*/  :root {
      --rb-turquoise: #0D9ADD;
      --rb-yellow: #F4C542;
      --rb-navy: #0E2A47;
      --rb-sand: #F8F3EA;
      --rb-cream: #FFF9EA;
      --rb-ink: #1F2A33;
      --rb-muted: #66717A;
      --rb-terracotta: #C86B4A;
      --rb-sage: #687A6A;
      --rb-white: #FFFFFF;
      --rb-line: #E8DED0;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--rb-ink);
      background: var(--rb-sand);
      font-family: Arial, Helvetica, sans-serif;
      font-size: 16px;
      line-height: 1.6;
    }
    a { color: inherit; text-decoration: none; }
    h1, h2, h3 {
      margin-top: 0;
      font-family: Georgia, "Times New Roman", serif;
      font-weight: 400;
      letter-spacing: -.035em;
      line-height: 1.06;
    }
    p { margin-top: 0; }
    .rb-wrap { width: min(1240px, calc(100% - 64px)); margin-inline: auto; }
    .rb-eyebrow {
      margin-bottom: 22px;
      color: var(--rb-turquoise);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    .rb-button {
      min-height: 54px;
      padding: 0 25px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: white;
      background: var(--rb-turquoise);
      font-size: 13px;
      font-weight: 700;
      transition: transform .2s ease, background .2s ease;
    }
    .rb-button:hover { transform: translateY(-2px); background: var(--rb-navy); }
    .rb-text-link {
      padding-bottom: 4px;
      border-bottom: 1px solid currentColor;
      font-size: 14px;
      font-weight: 700;
    }

    /* EN-TÊTE */
    .rb-header {
      height: 96px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
      border-bottom: 1px solid var(--rb-line);
    }
    .rb-brand { display: flex; align-items: center; gap: 12px; }
    .rb-brand-mark {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border: 1px solid var(--rb-ink);
      border-radius: 50%;
      font: italic 24px Georgia, serif;
    }
    .rb-brand strong { display: block; font: 22px Georgia, serif; }
    .rb-brand small {
      display: block;
      font-size: 9px;
      letter-spacing: .13em;
      text-transform: uppercase;
    }
    .rb-nav { display: flex; gap: 30px; font-size: 14px; }
    .rb-header-cta { padding-bottom: 6px; border-bottom: 1px solid; font-size: 13px; font-weight: 700; }

    /* HERO */
    .rb-hero {
      min-height: 690px;
      padding: 80px 0;
      display: grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 7vw;
      align-items: center;
    }
    .rb-hero h1 { margin-bottom: 28px; font-size: clamp(56px, 6.7vw, 100px); }
    .rb-hero h1 em { color: var(--rb-turquoise); font-weight: 400; }
    .rb-lead { max-width: 660px; margin-bottom: 35px; color: var(--rb-muted); font-size: 20px; }
    .rb-actions { display: flex; gap: 28px; align-items: center; flex-wrap: wrap; }
    .rb-proof {
      margin-top: 55px;
      display: flex;
      gap: 16px;
      color: var(--rb-muted);
      font-size: 11px;
      letter-spacing: .06em;
      text-transform: uppercase;
    }
    .rb-proof span + span { padding-left: 16px; border-left: 1px solid var(--rb-line); }
    .rb-hero-art {
      position: relative;
      aspect-ratio: 1;
      display: grid;
      place-items: center;
      overflow: hidden;
      border-radius: 50%;
      background: radial-gradient(circle at 42% 38%, var(--rb-cream), var(--rb-yellow) 30%, var(--rb-turquoise) 68%, var(--rb-navy));
      box-shadow: 0 35px 90px rgba(14, 42, 71, .2);
    }
    .rb-hero-art::before,
    .rb-hero-art::after {
      content: "";
      position: absolute;
      border: 1px solid rgba(255,255,255,.55);
      border-radius: 50%;
      transform: rotate(30deg);
    }
    .rb-hero-art::before { width: 82%; height: 40%; }
    .rb-hero-art::after { width: 42%; height: 84%; }
    .rb-inner-sun {
      z-index: 1;
      width: 43%;
      aspect-ratio: 1;
      display: grid;
      place-content: center;
      border-radius: 50%;
      color: var(--rb-navy);
      background: var(--rb-yellow);
      text-align: center;
    }
    .rb-inner-sun span { font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }
    .rb-inner-sun strong { font: italic 26px Georgia, serif; }

    /* MANIFESTE */
    .rb-manifesto {
      padding: 125px max(32px, calc((100vw - 1120px) / 2));
      background: var(--rb-cream);
      text-align: center;
    }
    .rb-manifesto h2 { margin: 0 auto 30px; font-size: clamp(40px, 5vw, 70px); }
    .rb-manifesto > p:last-child { max-width: 750px; margin: auto; color: var(--rb-muted); font-size: 18px; }

    /* ACCOMPAGNEMENTS */
    .rb-section { padding: 120px 0; }
    .rb-section-heading {
      margin-bottom: 55px;
      display: grid;
      grid-template-columns: 1.3fr .7fr;
      gap: 80px;
      align-items: end;
    }
    .rb-section-heading h2 { margin-bottom: 0; font-size: clamp(42px, 5vw, 66px); }
    .rb-section-heading > p { margin-bottom: 7px; color: var(--rb-muted); font-size: 17px; }
    .rb-card-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border-top: 1px solid var(--rb-line);
      border-left: 1px solid var(--rb-line);
    }
    .rb-card {
      min-height: 320px;
      padding: 34px;
      display: flex;
      flex-direction: column;
      background: var(--rb-white);
      border-right: 1px solid var(--rb-line);
      border-bottom: 1px solid var(--rb-line);
    }
    .rb-card > span { color: var(--rb-turquoise); font-size: 11px; }
    .rb-card h3 { margin: 42px 0 18px; font-size: 30px; }
    .rb-card p { color: var(--rb-muted); }
    .rb-card a { margin-top: auto; font-size: 13px; font-weight: 700; }
    .rb-problems-cta {
      margin-top: 48px;
      padding: 38px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 35px;
      color: white;
      background: var(--rb-navy);
    }
    .rb-problems-cta p {
      max-width: 680px;
      margin: 0;
      font: 28px/1.3 Georgia, "Times New Roman", serif;
    }
    .rb-problems-cta .rb-button {
      flex: 0 0 auto;
      color: var(--rb-navy);
      background: var(--rb-yellow);
    }
    .rb-problems-cta .rb-button:hover { color: white; background: var(--rb-turquoise); }

    /* APPROCHE */
    .rb-approach { padding: 120px 0; color: white; background: var(--rb-navy); }
    .rb-approach-grid {
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      gap: 90px;
    }
    .rb-approach .rb-eyebrow { color: var(--rb-yellow); }
    .rb-approach h2 { font-size: clamp(44px, 5vw, 68px); }
    .rb-approach-intro > p:not(.rb-eyebrow) { color: #DDE8EF; font-size: 17px; }
    .rb-light-button { color: var(--rb-navy); background: var(--rb-cream); }
    .rb-steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.25); }
    .rb-steps li {
      padding: 35px 0;
      display: grid;
      grid-template-columns: 65px 1fr;
      gap: 24px;
      border-bottom: 1px solid rgba(255,255,255,.25);
    }
    .rb-steps li > span { color: var(--rb-yellow); font-size: 12px; }
    .rb-steps h3 { margin-bottom: 9px; font-size: 30px; }
    .rb-steps p { margin-bottom: 0; color: #DDE8EF; }

    /* PRÉSENTATION DE SÉRAPHINE */
    .rb-about { padding: 125px 0; background: var(--rb-cream); }
    .rb-about-grid {
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      gap: 9vw;
      align-items: center;
    }
    .rb-portrait {
      aspect-ratio: 4 / 5;
      padding: 36px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      color: var(--rb-cream);
      background: linear-gradient(145deg, var(--rb-turquoise), var(--rb-navy));
      border-radius: 50% 50% 8px 8px;
    }
    .rb-portrait span { font: italic clamp(90px, 13vw, 180px) Georgia, serif; }
    .rb-portrait p { margin-top: auto; margin-bottom: 0; font: 20px Georgia, serif; }
    .rb-about h2 { font-size: clamp(44px, 5vw, 66px); }
    .rb-about .rb-large { font: 25px/1.4 Georgia, serif; }
    .rb-about blockquote {
      margin: 38px 0 0;
      padding-left: 24px;
      border-left: 3px solid var(--rb-turquoise);
      font: italic 20px/1.5 Georgia, serif;
    }

    /* POUR QUI */
    .rb-for-you { padding: 120px 0; }
    .rb-for-you h2 { max-width: 760px; font-size: clamp(44px, 5vw, 66px); }
    .rb-checks { margin-top: 50px; display: grid; grid-template-columns: 1fr 1fr; gap: 15px 70px; }
    .rb-checks p { padding: 22px 0; border-top: 1px solid var(--rb-line); font-size: 17px; }
    .rb-checks b { margin-right: 13px; color: var(--rb-turquoise); }
    .rb-quote {
      padding: 70px max(32px, calc((100vw - 1240px) / 2));
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 40px;
      color: var(--rb-navy);
      background: var(--rb-yellow);
    }
    .rb-quote p { max-width: 850px; margin: 0; font: 44px/1.1 Georgia, serif; letter-spacing: -.03em; }

    /* QUESTIONS */
    .rb-faq { padding: 120px 0; }
    .rb-faq-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 100px; }
    .rb-faq h2 { font-size: clamp(44px, 5vw, 62px); }
    .rb-faq-list { border-top: 1px solid var(--rb-line); }
    .rb-faq details { border-bottom: 1px solid var(--rb-line); }
    .rb-faq summary {
      padding: 27px 0;
      display: flex;
      justify-content: space-between;
      gap: 20px;
      cursor: pointer;
      list-style: none;
      font: 22px Georgia, serif;
    }
    .rb-faq summary::-webkit-details-marker { display: none; }
    .rb-faq summary b { color: var(--rb-turquoise); font: 25px Arial, sans-serif; }
    .rb-faq details p { padding: 0 40px 28px 0; color: var(--rb-muted); }

    /* APPEL FINAL ET PIED DE PAGE */
    .rb-final { padding: 125px 32px; background: var(--rb-cream); text-align: center; }
    .rb-final h2 { max-width: 930px; margin: 0 auto 25px; font-size: clamp(50px, 6.5vw, 86px); }
    .rb-final > p:not(.rb-eyebrow) { max-width: 640px; margin: 0 auto 32px; color: var(--rb-muted); font-size: 18px; }
    .rb-final small { display: block; margin-top: 20px; color: var(--rb-muted); }
    .rb-footer { padding: 65px 0 28px; color: #DDE8EF; background: var(--rb-navy); }
    .rb-footer-grid { display: grid; grid-template-columns: 1.2fr 1fr .8fr; gap: 50px; }
    .rb-footer p { margin-bottom: 4px; font-size: 13px; }
    .rb-footer-links { display: flex; flex-direction: column; gap: 7px; align-items: flex-end; font-size: 13px; }
    .rb-legal {
      margin-top: 34px;
      padding-top: 23px;
      border-top: 1px solid rgba(255,255,255,.15);
      color: #B9C8D3;
      font-size: 12px;
    }

    @media (max-width: 980px) {
      .rb-nav { display: none; }
      .rb-hero, .rb-section-heading, .rb-approach-grid, .rb-about-grid, .rb-faq-grid { grid-template-columns: 1fr; }
      .rb-hero-art { width: min(100%, 500px); margin: auto; }
      .rb-card-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 640px) {
      .rb-wrap { width: min(100% - 32px, 1240px); }
      .rb-header { height: 78px; }
      .rb-brand small, .rb-header-cta { display: none; }
      .rb-hero { min-height: auto; padding: 60px 0 80px; }
      .rb-hero h1 { font-size: 50px; }
      .rb-lead { font-size: 17px; }
      .rb-proof { flex-direction: column; gap: 7px; }
      .rb-proof span + span { padding-left: 0; border-left: 0; }
      .rb-card-grid, .rb-checks, .rb-footer-grid { grid-template-columns: 1fr; }
      .rb-section, .rb-approach, .rb-about, .rb-for-you, .rb-faq, .rb-final { padding-top: 85px; padding-bottom: 85px; }
      .rb-section-heading { gap: 20px; }
      .rb-quote { flex-direction: column; align-items: flex-start; }
      .rb-quote p { font-size: 34px; }
      .rb-problems-cta { padding: 28px; flex-direction: column; align-items: flex-start; }
      .rb-problems-cta p { font-size: 24px; }
      .rb-footer-links { align-items: flex-start; }
    }
