/* =====================================================
   MAACO INVEST — rdv.css  (v4 premium dark)
   Palette : Noir #020202 (65%) · Violet #61398F (25%) · Blanc #F0EEEE (10%)
   ===================================================== */

/* =====================================================
   1. HERO — identique à about-hero / srvd-hero
   ===================================================== */
.rdv-hero {
    position: relative;
    min-height: 90vh;
    background: var(--noir);
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 120px 0 100px;
}

.rdv-hero-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(130px);
    z-index: 0;
    pointer-events: none;
}
.rdv-hero-orb-1 { top: -10%; right: 0;    width: 480px; height: 480px; background: radial-gradient(circle, rgba(122,77,176,0.30), transparent 70%); }
.rdv-hero-orb-2 { bottom: 0;  left: -60px; width: 380px; height: 380px; background: radial-gradient(circle, rgba(232,61,77,0.18),  transparent 70%); }

.rdv-hero-inner {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-5);
}

/* Eyebrow — pill dark identique aux autres pages */
.rdv-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 22px;
    background: rgba(2,2,2,0.07);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(2,2,2,0.12);
    border-radius: var(--radius-full);
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(2,2,2,0.65);
}
.rdv-hero-eyebrow .pulse-dot {
    width: 8px; height: 8px;
    background: var(--vert);
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(34,197,94,0.2);
    animation: pulseDot 2s infinite;
}
@keyframes pulseDot {
    0%,100% { box-shadow: 0 0 0 4px rgba(34,197,94,0.2); }
    50%      { box-shadow: 0 0 0 8px rgba(34,197,94,0); }
}

/* Titre — même taille que about-hero-title */
.rdv-hero-title {
    font-size: clamp(36px, 5.5vw, 80px);
    line-height: 1.08;
    letter-spacing: -0.035em;
    font-weight: 800;
    color: #020202;
    margin: 0;
}
/* Accent violet — même police, juste la couleur */
.rdv-hero-accent {
    color: var(--violet-300);
}
/* "30 minutes, c'est tout." — même police, plus petit, grisé */
.rdv-hero-sub-line {
    display: block;
    font-size: 0.55em;
    font-weight: 700;
    color: rgba(2,2,2,0.45);
    letter-spacing: -0.01em;
    margin-top: 10px;
}

/* Pills de réassurance */
.rdv-hero-pills {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
}
.rdv-pill {
    display: inline-flex;
    align-items: center;
    padding: 7px 16px;
    background: rgba(34,197,94,0.1);
    color: #4ade80;
    border: 1px solid rgba(34,197,94,0.2);
    border-radius: var(--radius-full);
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.3px;
}

@media (max-width: 700px) {
    .rdv-hero { min-height: auto; padding: 90px 0 70px; }
}

/* =====================================================
   2. SHOWCASE — image pleine largeur
   ===================================================== */
.rdv-showcase {
    background: var(--noir);
    line-height: 0;
    position: relative;
}
.rdv-showcase-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 21 / 9;
    overflow: hidden;
}
.rdv-showcase-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 8s ease;
}
.rdv-showcase-wrap:hover .rdv-showcase-img { transform: scale(1.03); }
.rdv-showcase-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
        rgba(2,2,2,0.2) 0%, transparent 30%,
        transparent 60%, rgba(2,2,2,0.5) 100%);
    pointer-events: none;
}
@media (max-width: 700px) { .rdv-showcase-wrap { aspect-ratio: 4/3; } }

/* =====================================================
   3. FORMULAIRE — fond violet sombre, dark mode
   ===================================================== */
.rdv-main {
    background: #efe9f9;
    padding: var(--space-10) 0;
    position: relative;
}

.rdv-main-inner {
    max-width: 820px;
}

/* En-tête section formulaire */
.rdv-form-header {
    margin-bottom: var(--space-7);
}
.rdv-form-title {
    font-size: clamp(28px, 3.5vw, 44px);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: #020202;
    margin: var(--space-3) 0 var(--space-3);
}
.rdv-form-title-accent { color: var(--violet-300); }
.rdv-form-intro {
    font-size: 15px;
    color: rgba(2,2,2,0.5);
    line-height: 1.6;
}

/* Wrapper formulaire */
.rdv-form-wrapper {
    background: rgba(2,2,2,0.04);
    border: 1px solid rgba(2,2,2,0.08);
    border-radius: var(--radius-xl);
    padding: var(--space-7);
}
@media (max-width: 600px) { .rdv-form-wrapper { padding: var(--space-5); } }

.rdv-alert {
    padding: 14px 18px;
    border-radius: var(--radius-md);
    margin-bottom: var(--space-5);
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.rdv-alert-error {
    background: rgba(239,68,68,0.15);
    border: 1px solid rgba(239,68,68,0.3);
    color: #fca5a5;
}

.rdv-form { display: flex; flex-direction: column; gap: var(--space-4); }

.rdv-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-4);
}
@media (max-width: 600px) { .rdv-form-row { grid-template-columns: 1fr; } }

.rdv-form-group { display: flex; flex-direction: column; }
.rdv-form-group label {
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(2,2,2,0.6);
    margin-bottom: 8px;
}
.rdv-form-group .required { color: #f87171; }
.rdv-label-hint {
    color: rgba(2,2,2,0.35);
    font-weight: 400;
    font-size: 11px;
    text-transform: none;
    letter-spacing: 0;
}

.rdv-input {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid rgba(2,2,2,0.1);
    border-radius: var(--radius-md);
    font-family: inherit;
    font-size: 15px;
    color: #020202;
    background: rgba(2,2,2,0.05);
    transition: all var(--transition-base);
    box-sizing: border-box;
}
.rdv-input::placeholder { color: rgba(2,2,2,0.28); }
.rdv-input:focus {
    outline: none;
    border-color: rgba(97,57,143,0.7);
    background: rgba(97,57,143,0.1);
    box-shadow: 0 0 0 3px rgba(97,57,143,0.2);
}
.rdv-input.is-invalid {
    border-color: rgba(248,113,113,0.6);
    background: rgba(248,113,113,0.08);
}
select.rdv-input {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23a67fcc' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
}
select.rdv-input option {
    background: #efe9f9;
    color: #020202;
}

.rdv-form-error {
    color: #f87171;
    font-size: 12px;
    margin-top: 4px;
    font-weight: 600;
}

/* Radio cards format RDV — dark */
.rdv-radio-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-3);
    margin-top: 8px;
}
@media (max-width: 900px) { .rdv-radio-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .rdv-radio-cards { grid-template-columns: 1fr; } }

.rdv-radio-cards input[type="radio"] { display: none; }

.rdv-radio-cards label {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: var(--space-4) var(--space-3);
    background: rgba(2,2,2,0.04);
    border: 1.5px solid rgba(2,2,2,0.08);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all var(--transition-base);
    font-family: var(--font-display);
}
.rdv-radio-cards label:hover {
    border-color: rgba(97,57,143,0.5);
    background: rgba(97,57,143,0.1);
    transform: translateY(-2px);
}
.rdv-radio-cards input[type="radio"]:checked + label {
    border-color: rgba(97,57,143,0.8);
    background: rgba(97,57,143,0.2);
    box-shadow: 0 8px 20px rgba(97,57,143,0.2);
}
.rdv-radio-cards input[type="radio"]:checked + label .rdv-radio-icon {
    transform: scale(1.15);
}
.rdv-radio-icon {
    font-size: 24px;
    margin-bottom: 6px;
    transition: transform var(--transition-base);
}
.rdv-radio-cards label strong {
    display: block;
    font-size: 13px;
    color: #020202;
    margin-bottom: 3px;
    font-weight: 700;
    line-height: 1.2;
}
.rdv-radio-cards label small {
    font-size: 10.5px;
    color: rgba(2,2,2,0.4);
    font-weight: 500;
    line-height: 1.3;
}

/* Note frais déplacement */
.rdv-form-note-chez-client {
    display: none;
    margin-top: 14px;
    padding: 14px 16px;
    background: rgba(251,191,36,0.08);
    border: 1px solid rgba(251,191,36,0.2);
    border-left: 4px solid rgba(251,191,36,0.5);
    border-radius: var(--radius-md);
    font-size: 13px;
    color: rgba(2,2,2,0.7);
    line-height: 1.6;
}
.rdv-form-note-chez-client strong { color: #fbbf24; font-weight: 700; }
.rdv-form-group:has(#format-chez-client:checked) .rdv-form-note-chez-client {
    display: block;
    animation: fadeSlideDown 0.3s ease-out;
}
@supports not selector(:has(*)) {
    .rdv-form-note-chez-client { display: block; opacity: 0.85; }
}
@keyframes fadeSlideDown {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Submit */
.rdv-form-submit {
    width: 100%;
    padding: 18px;
    margin-top: var(--space-3);
    background: #61398F;
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all var(--transition-base);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.rdv-form-submit svg { width: 20px; height: 20px; transition: transform var(--transition-base); }
.rdv-form-submit:hover {
    background: #7a4db0;
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(97,57,143,0.4);
}
.rdv-form-submit:hover svg { transform: translateX(4px); }

.rdv-form-footnote {
    font-size: 12px;
    color: rgba(2,2,2,0.35);
    text-align: center;
    margin: var(--space-3) 0 0;
    line-height: 1.55;
}
.rdv-form-footnote strong { color: var(--violet-300); }
.rdv-form-footnote a { color: var(--violet-300); text-decoration: underline; }

/* Lien WhatsApp alternatif */
.rdv-alt-whatsapp {
    text-align: center;
    margin-top: var(--space-5);
    font-size: 13px;
    color: rgba(2,2,2,0.4);
    font-family: var(--font-display);
}
.rdv-alt-whatsapp a {
    color: #4ade80;
    font-weight: 700;
    text-decoration: none;
}
.rdv-alt-whatsapp a:hover { text-decoration: underline; }

/* =====================================================
   4. PROCESS + FAQ — blanc diagonal ↗
   ===================================================== */
.rdv-secondary {
    background: #F0EEEE;
    padding: calc(var(--space-10) + 52px) 0 var(--space-10);
    clip-path: polygon(0 52px, 100% 0, 100% 100%, 0 100%);
    margin-top: -52px;
    z-index: 1;
    position: relative;
}
.rdv-secondary .container { max-width: 900px; }

.rdv-secondary .section-eyebrow { color: #61398F; }
.rdv-secondary .section-title   { color: #020202; }
.rdv-secondary .section-title .accent { color: #61398F; }

.rdv-secondary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-5);
    margin: var(--space-7) 0 var(--space-8);
}
@media (max-width: 700px) { .rdv-secondary-grid { grid-template-columns: 1fr; } }

.rdv-secondary-item {
    background: white;
    border: 1px solid rgba(2,2,2,0.07);
    border-radius: var(--radius-lg);
    padding: var(--space-6) var(--space-5);
    text-align: center;
    transition: all var(--transition-smooth);
}
.rdv-secondary-item:hover {
    border-color: rgba(97,57,143,0.2);
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(97,57,143,0.08);
}
.rdv-secondary-num {
    display: inline-block;
    font-family: var(--font-num);
    font-weight: 700;
    font-size: 11px;
    color: #61398F;
    background: rgba(97,57,143,0.1);
    padding: 3px 10px;
    border-radius: var(--radius-full);
    letter-spacing: 1.5px;
    margin-bottom: 12px;
}
.rdv-secondary-item h3 {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 8px;
    letter-spacing: -0.01em;
    color: #020202;
}
.rdv-secondary-item p {
    font-size: 14px;
    color: rgba(2,2,2,0.6);
    line-height: 1.6;
    margin: 0;
}

/* FAQ compacte (toggle) */
.rdv-secondary-faq {
    background: white;
    border: 1px solid rgba(2,2,2,0.08);
    border-radius: var(--radius-lg);
    overflow: hidden;
}
.rdv-secondary-faq summary {
    list-style: none;
    padding: var(--space-5) var(--space-6);
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 16px;
    color: #020202;
    transition: background var(--transition-base);
}
.rdv-secondary-faq summary::-webkit-details-marker { display: none; }
.rdv-secondary-faq summary:hover { background: #F0EEEE; }
.rdv-secondary-faq summary span {
    width: 30px; height: 30px;
    border-radius: 50%;
    background: rgba(97,57,143,0.1);
    color: #61398F;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 18px;
    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
}
.rdv-secondary-faq[open] summary span {
    background: #61398F;
    color: white;
    transform: rotate(45deg);
}
.rdv-secondary-faq-content {
    padding: 0 var(--space-6) var(--space-5);
    border-top: 1px solid rgba(2,2,2,0.06);
}

.rdv-faq-item-compact {
    padding: var(--space-4) 0;
    border-bottom: 1px dashed rgba(2,2,2,0.08);
}
.rdv-faq-item-compact:last-child { border-bottom: none; padding-bottom: 0; }
.rdv-faq-item-compact:first-child { padding-top: var(--space-4); }
.rdv-faq-item-compact strong {
    display: block;
    font-family: var(--font-display);
    font-size: 14px;
    color: #020202;
    margin-bottom: 6px;
    font-weight: 700;
}
.rdv-faq-item-compact p {
    font-size: 14px;
    color: rgba(2,2,2,0.6);
    line-height: 1.6;
    margin: 0;
}

/* =====================================================
   LIGHT THEME — RENDEZ-VOUS · charte (4 contextes)
   A) blanc · C) cartes (3 étapes) violettes · D) showcase image
   Formulaire = panneau blanc (lisibilité). FAQ = panneaux blancs.
   ===================================================== */

/* ---- Fonds blancs purs ---- */
.rdv-hero,
.rdv-main,
.rdv-secondary { background: #FFFFFF; }

/* ---- Séparations droites ---- */
.rdv-main,
.rdv-secondary { border-top: 1px solid rgba(27,23,38,0.08); }

/* ===================== HERO (A) ===================== */
.rdv-hero-orb-1 { background: radial-gradient(circle, rgba(97,57,143,0.10), transparent 70%); }
.rdv-hero-orb-2 { display: none; }
.rdv-hero-eyebrow { background: rgba(97,57,143,0.07); border-color: rgba(97,57,143,0.20); color: var(--violet); }
.rdv-hero-title { color: #1B1726; }
.rdv-hero-accent { color: var(--violet); }
.rdv-hero-sub-line { color: rgba(2,2,2,0.45); }
.rdv-pill { background: rgba(22,163,74,0.10); color: #15803d; border-color: rgba(22,163,74,0.25); }

/* ===================== FORMULAIRE (A — panneau blanc) ===================== */
.rdv-form-title { color: #1B1726; }
.rdv-form-title-accent { color: var(--violet); }
.rdv-form-intro { color: #56525F; }
.rdv-form-wrapper {
    background: #FFFFFF;
    border: 1px solid rgba(27,23,38,0.08);
    box-shadow: 0 4px 24px rgba(27,23,38,0.05);
}
select.rdv-input option { background: #FFFFFF; }
.rdv-form-footnote strong { color: var(--violet); }
.rdv-form-footnote a { color: var(--violet); }
.rdv-alt-whatsapp a { color: #15803d; }
/* Note "frais déplacement" : on neutralise l'ambre → violet charte */
.rdv-form-note-chez-client {
    background: rgba(97,57,143,0.06);
    border-color: rgba(97,57,143,0.15);
    border-left-color: var(--violet);
    color: #56525F;
}
.rdv-form-note-chez-client strong { color: var(--violet); }

/* ===================== PROCESS (3 étapes) → cartes violettes (C) ===================== */
.rdv-secondary { clip-path: none; margin-top: 0; padding: var(--space-10) 0; }
.rdv-secondary .section-title { color: #1B1726; }
.rdv-secondary-item { background: #61398F; border-color: rgba(255,255,255,0.12); }
.rdv-secondary-item:hover { border-color: rgba(255,255,255,0.28); box-shadow: 0 18px 44px rgba(97,57,143,0.30); }
.rdv-secondary-num { background: rgba(255,255,255,0.15); color: #F0EEEE; }
.rdv-secondary-item h3 { color: #F0EEEE; }
.rdv-secondary-item p { color: rgba(240,238,238,0.72); }

/* ===================== FAQ compacte (A — panneau blanc) ===================== */
.rdv-secondary-faq summary { color: #1B1726; }
.rdv-faq-item-compact strong { color: #1B1726; }
.rdv-faq-item-compact p { color: #56525F; }
