/*
 * "Déposer une demande juridique" page ([sv_demande_juridique]).
 * Every rule is scoped to .svdj so the rest of the site is not affected.
 */
.svdj {
	--purple: #3D364D; --gold: #BC8F31; --ink: #272235; --muted: #696475; --line: #e7e2e8; --bg: #faf8f6;
	background: var(--bg); color: var(--ink); font-family: Arial, Helvetica, sans-serif; line-height: 1.55;
}
.svdj *, .svdj *::before, .svdj *::after { box-sizing: border-box; }
.svdj h1, .svdj h2, .svdj h3 { font-family: Georgia, 'Times New Roman', serif; line-height: 1.2; color: inherit; letter-spacing: 0; }
.svdj p { margin: 0 0 1em; }

/* Full screen: the page content (a flex item of Astra's container) would only
   take the width of its content, and Beaver Builder adds 20px around modules. */
.sv-canvas-main:has(.svdj) { flex: 1 1 100%; width: 100%; max-width: 100%; }
.fl-module-content:has(> .fl-html > .svdj) { margin: 0; }
.svdj { width: 100%; }

/* Hero */
.svdj-hero {
	background: linear-gradient(90deg, rgba(45,34,58,.99), rgba(45,34,58,.94) 49%, rgba(45,34,58,.08)), var(--svdj-hero) center / cover;
	min-height: 320px; color: #fff; display: flex; align-items: center;
}
.svdj[dir="rtl"] .svdj-hero { background: linear-gradient(270deg, rgba(45,34,58,.99), rgba(45,34,58,.94) 49%, rgba(45,34,58,.08)), var(--svdj-hero) center / cover; }
.svdj-wrap { width: min(1160px, calc(100% - 36px)); margin: auto; }
.svdj-hero-inner { padding: 55px 0; }
.svdj-brand { font: bold 26px Georgia, serif; letter-spacing: 1px; color: #fff; }
.svdj-brand span { color: #e2b66b; }
.svdj-eyebrow { color: #e6c081; text-transform: uppercase; font-weight: bold; letter-spacing: 2px; font-size: 12px; margin: 25px 0 10px; }
.svdj-hero h1 { font-size: clamp(31px, 4vw, 49px); max-width: 690px; margin: 0 0 16px; color: #fff; }
.svdj-hero p { max-width: 620px; font-size: 16px; color: #fff; }
.svdj-trust { display: flex; flex-wrap: wrap; gap: 12px 28px; font-size: 13px; margin-top: 24px; color: #f3e6d4; }

/* Layout */
.svdj-layout { display: grid; grid-template-columns: 340px 1fr; gap: 26px; margin: 34px auto 60px; }
.svdj-side-photo { height: 230px; width: 100%; object-fit: cover; border-radius: 16px; display: block; }
.svdj-side h2 { font-size: 26px; margin: 25px 0; }
.svdj-step { display: flex; gap: 13px; margin: 0 0 21px; }
.svdj-step b { flex: 0 0 36px; height: 36px; background: #f3e9d9; color: #9d712b; border-radius: 10px; display: grid; place-items: center; }
.svdj-step strong { display: block; font-family: Georgia, serif; font-size: 17px; }
.svdj-step p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.svdj-safe { padding: 20px; background: #f3ede4; border-radius: 16px; margin-top: 28px; font-size: 13px; }
.svdj-safe strong { font-size: 16px; }
.svdj-safe p { margin: 6px 0 0; font-size: 13px; line-height: 1.55; }
.svdj-step p, .svdj-upload p, .svdj-sub { line-height: 1.55; }

/* Form card */
.svdj-card { background: #fff; border: 1px solid var(--line); border-radius: 19px; padding: 28px; box-shadow: 0 12px 45px rgba(35,27,43,.05); }
.svdj-card-head { display: flex; gap: 13px; align-items: center; }
.svdj-mark { font-size: 32px; color: var(--gold); }
.svdj-card h2 { font-size: 29px; margin: 0; }
.svdj-sub { color: var(--muted); font-size: 14px; margin: 4px 0 !important; }
.svdj-section { margin-top: 26px; }
.svdj-section-title { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; }
.svdj-number { background: var(--gold); color: #fff; border-radius: 8px; font-weight: bold; padding: 5px 11px; }
.svdj-section-title h3 { font-size: 20px; margin: 0; white-space: nowrap; }
.svdj-section-title::after { content: ''; height: 1px; background: var(--gold); flex: 1; }
.svdj-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.svdj-field { display: flex; flex-direction: column; gap: 6px; }
.svdj-full { grid-column: 1 / -1; }
.svdj label { font-size: 13px; font-weight: bold; color: var(--ink); margin: 0; }
.svdj label em { color: #a3313b; font-style: normal; }
.svdj input:not([type=radio]):not([type=checkbox]):not([type=file]), .svdj select, .svdj textarea {
	width: 100%; border: 1px solid #d7d3db; background: #fff; border-radius: 8px; padding: 12px 13px;
	font: 14px Arial, sans-serif; color: var(--ink); outline: none; box-shadow: none; height: auto; min-height: 0;
}
.svdj input:focus, .svdj select:focus, .svdj textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px #bc8f3124; }
.svdj textarea { resize: vertical; min-height: 110px; }
.svdj-radios { display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: 13px; }
.svdj-radios label { font-weight: normal; display: flex; gap: 7px; align-items: center; }
.svdj-upload { border: 2px dashed #d7bb90; background: #fdfbf8; border-radius: 13px; padding: 23px; text-align: center; }
.svdj-symbol { font-size: 32px; color: var(--gold); }
.svdj-upload p { font-size: 12px; color: var(--muted); margin: 5px 0 14px; }
.svdj-upload input { max-width: 100%; font-size: 12px; }
.svdj-files-list { font-size: 12px; color: var(--muted); margin-top: 8px; }
.svdj-consent { display: flex !important; align-items: flex-start; gap: 9px; font-size: 12px !important; font-weight: normal !important; margin: 18px 0 !important; }
.svdj-consent input { margin-top: 3px; }
.svdj-consent a { color: #8b6125; }
.svdj-submit { border: 0; background: var(--purple); color: #fff; border-radius: 9px; width: 100%; padding: 15px; font-weight: bold; font-size: 15px; cursor: pointer; }
.svdj-submit:hover, .svdj-submit:focus { background: #2c2539; color: #fff; }
.svdj .sv-form-notice { margin-top: 12px; padding: 14px; border-radius: 8px; }
.svdj .sv-form-ok { background: #edf7f1; color: #216340; }
.svdj .sv-form-error { background: #fbeceb; color: #a3313b; }

/* Arabic */
.svdj[dir="rtl"] { direction: rtl; text-align: right; font-family: Tahoma, Arial, sans-serif; }
.svdj[dir="rtl"] h1, .svdj[dir="rtl"] h2, .svdj[dir="rtl"] h3, .svdj[dir="rtl"] .svdj-step strong { font-family: Tahoma, Arial, sans-serif; }
.svdj[dir="rtl"] input, .svdj[dir="rtl"] textarea, .svdj[dir="rtl"] select, .svdj[dir="rtl"] button { font-family: inherit; text-align: right; }
.svdj[dir="rtl"] input[type="email"], .svdj[dir="rtl"] input[type="tel"] { direction: ltr; text-align: left; }
.svdj[dir="rtl"] .svdj-brand { direction: ltr; text-align: right; }
.svdj[dir="rtl"] .svdj-eyebrow { letter-spacing: 0; }

@media (max-width: 800px) {
	.svdj-layout { grid-template-columns: 1fr; }
	.svdj-side { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
	.svdj-side-photo { grid-column: 1 / -1; height: 210px; }
	.svdj-side h2 { grid-column: 1 / -1; margin: 5px 0; }
	.svdj-safe { grid-column: 1 / -1; margin: 0; }
}
@media (max-width: 560px) {
	.svdj-fields { grid-template-columns: 1fr; }
	.svdj-side { display: block; }
	.svdj-card { padding: 19px; }
	.svdj-hero-inner { padding: 38px 0; }
	.svdj-hero { min-height: 290px; }
	.svdj-section-title h3 { font-size: 18px; white-space: normal; }
}
