:root { --cne-header-height: 80px; }

.cne-contact-page { padding: 0; margin-top: calc(-1 * var(--cne-header-height)); }

.cne-contact-page .container { max-width: none; width: 100%; padding: 0; }

.cne-devis-centered { display: flex; align-items: center; justify-content: center; min-height: 100vh; min-height: 100dvh; padding: 80px 20px; background-image: url('../images/background-image-v4.jpg'); background-size: auto 95%; background-position: center center; background-repeat: no-repeat; position: relative; }
.cne-devis-centered::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(0,0,0,0.32) 0%, rgba(0,0,0,0.12) 35%, rgba(0,0,0,0.10) 60%, rgba(0,0,0,0.08) 100%); pointer-events: none; }
.cne-devis-centered > * { position: relative; z-index: 1; }

.cne-devis-centered .cne-contact-hero-card { width: 100%; max-width: 540px; background: #ffffff; border: 1px solid rgba(0,0,0,0.08); padding: 48px 40px; box-shadow: 0 18px 42px rgba(0,0,0,0.14); text-align: center; }


.cne-contact-right { background: transparent; display: flex; align-items: center; justify-content: center; min-height: 100vh; min-height: 100dvh; height: 100%; }

.cne-contact-right .cne-contact-hero-card { width: 100%; max-width: 540px; margin: 0 auto; background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 0; padding: 48px 40px; box-shadow: 0 18px 42px rgba(0,0,0,0.14); text-align: center; }

.cne-contact-right .cne-rdv-layer { width: 100%; display: flex; align-items: center; justify-content: center; }

.cne-rdv-card-overlay { width: 100%; max-width: 480px; background: #ffffff; border: 1px solid rgba(0,0,0,0.08); border-radius: 0; padding: 28px 26px 30px; box-shadow: 0 14px 32px rgba(0,0,0,0.10); }

.cne-contact-left .cne-simulator { width: 100%; }

.cne-contact-intro { max-width: 620px; margin: 0 auto 18px; color: #0f0e0d; text-align: center; }
.cne-contact-intro h1 { color: #0f0e0d; font-size: clamp(2.2rem, 3.4vw, 2.8rem); line-height: 1.22; margin: 0 0 10px; letter-spacing: -0.5px; }
.cne-contact-intro p { margin: 0; color: #4f4b47; }

.cne-contact-trusted { display: flex; flex-direction: column; gap: 14px; align-items: center; margin: 18px 0 10px; }
.cne-contact-trusted span { font-size: 14px; color: #121111; font-weight: 500; }
.cne-contact-trusted .logos { display: flex; gap: 24px; align-items: center; justify-content: center; opacity: 0.8; flex-wrap: wrap; }
.cne-contact-trusted .logo-item { font-weight: 700; font-size: 16px; display: flex; align-items: center; gap: 6px; }

/* Simulator overrides: chat-like, sans icones, carte claire */
.cne-simulator { background: rgba(255,255,255,0.96); border: 1px solid rgba(18,18,18,0.10); border-radius: 0; box-shadow: 0 16px 36px rgba(0,0,0,0.10); padding: 26px 22px; }
.cne-simulator .sim-progress { margin-bottom: 18px; background: rgba(0,0,0,0.06); height: 3px; }
.cne-simulator .sim-onboarding { text-align: left; background: rgba(17,17,17,0.03); border: 1px solid rgba(0,0,0,0.08); padding: 12px 14px; margin-bottom: 14px; }
.cne-simulator .sim-onboarding-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 6px; }
.cne-simulator .sim-onboarding-head strong { font-size: 14px; color: #121111; }
.cne-simulator .sim-onboarding-head span { font-size: 12px; font-weight: 600; color: #4f4b47; }
.cne-simulator .sim-onboarding p { margin: 0; font-size: 13px; color: #5b5651; line-height: 1.45; }
.cne-simulator .sim-title { text-align: left; font-size: clamp(1.6rem, 2.4vw, 2rem); margin-bottom: 8px; color: #0f0e0d; }
.cne-simulator .sim-subtitle { text-align: left; margin-bottom: 16px; color: #514c47; }
.cne-simulator .sim-options { display: flex; flex-direction: column; gap: 10px; }
.cne-simulator .sim-options.sim-budget { grid-template-columns: 1fr; }
.cne-simulator .sim-option-icon { display: none; }
.cne-simulator .sim-option { border-radius: 0; border: 1px solid rgba(22,22,22,0.10); background: #fdfcfb; padding: 14px 16px; gap: 10px; box-shadow: 0 6px 14px rgba(0,0,0,0.04); }
.cne-simulator .sim-option:hover { background: #ffffff; border-color: rgba(22,22,22,0.28); transform: translateY(-1px); }
.cne-simulator .sim-option.selected { background: #111; color: #fff; border-color: #111; box-shadow: 0 14px 28px rgba(0,0,0,0.16); }
.cne-simulator .sim-option-text { font-weight: 600; }
.cne-simulator .sim-back { color: #6b6660; font-weight: 500; }
.cne-simulator .sim-back:hover { color: #111; }
.cne-simulator .sim-submit { background: #111; border-radius: 0; padding: 12px 18px; font-weight: 650; width: 100%; }
.cne-simulator .sim-submit:hover { background: #1f1f1f; }
.cne-simulator .sim-form-group input,
.cne-simulator .sim-form-group textarea { background: transparent; border: none; border-bottom: 1px solid rgba(0,0,0,0.12); border-radius: 0; padding-left: 0; padding-right: 0; }
.cne-simulator .sim-form-group input:focus,
.cne-simulator .sim-form-group textarea:focus { border-bottom-color: #111; box-shadow: none; }

/* Budget Slider */
/* Budget Slider - Dual Handles */
.cne-simulator .sim-budget-slider { padding: 32px 24px; background: #faf9f7; border: 1px solid rgba(0,0,0,0.06); }
.cne-simulator .sim-budget-display { text-align: center; margin-bottom: 32px; }
.cne-simulator .sim-budget-display #sim-budget-value { display: block; font-size: 1.8rem; font-weight: 700; color: #111; line-height: 1.2; }
.cne-simulator .sim-budget-label { display: block; font-size: 0.75rem; color: #6b6660; margin-top: 6px; text-transform: uppercase; letter-spacing: 0.8px; font-weight: 600; }

.cne-simulator .sim-range-container { position: relative; width: 100%; height: 6px; background: #e5e3df; border-radius: 3px; margin: 40px 0 20px; }
.cne-simulator .sim-range-track { position: absolute; height: 100%; background: #111; border-radius: 3px; z-index: 1; }

.cne-simulator .sim-range-container input[type="range"] { position: absolute; width: 100%; height: 6px; -webkit-appearance: none; appearance: none; background: transparent; pointer-events: none; margin: 0; outline: none; top: 0; left: 0; }

/* Styles pour les curseurs (thumbs) */
.cne-simulator .sim-range-container input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 2px solid #111; cursor: pointer; pointer-events: auto; z-index: 20; position: relative; box-shadow: 0 2px 6px rgba(0,0,0,0.15); transition: transform 0.1s ease; }
.cne-simulator .sim-range-container input[type="range"]::-moz-range-thumb { width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 2px solid #111; cursor: pointer; pointer-events: auto; z-index: 20; position: relative; box-shadow: 0 2px 6px rgba(0,0,0,0.15); }
.cne-simulator .sim-range-container input[type="range"]::-webkit-slider-thumb:active { transform: scale(1.1); }

.cne-simulator .sim-budget-actions { display: flex; gap: 12px; margin-top: 32px; }
.cne-simulator .sim-budget-actions .sim-back { flex: 1; }
.cne-simulator .sim-budget-actions .sim-submit { flex: 2; background: #111; border-radius: 0; }

/* Success message & RDV button */
.cne-simulator .sim-final-status { margin-top: 20px; text-align: center; }
.cne-simulator .sim-success-content { padding: 20px; background: rgba(34,197,94,0.1); border: 1px solid rgba(34,197,94,0.3); border-radius: 8px; }
.cne-simulator .sim-success-msg { color: #166534; font-weight: 600; margin-bottom: 16px; }
.cne-simulator .sim-rdv-btn { display: inline-block; padding: 12px 24px; background: var(--royal); color: #fff; text-decoration: none; font-weight: 600; border-radius: 8px; transition: background 0.2s; }
.cne-simulator .sim-rdv-btn:hover { background: var(--navy-800); color: #fff; }

/* Rendez-vous (droite) harmonisé */
.cne-contact-page .cne-contact-right .cne-booking {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

