/* ---------------------------------------------------------
   Page Devenir revendeur — page-revendeur.css
   --------------------------------------------------------- */

/* ── En-tête ───────────────────────────────────────────── */

.rev-main {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border: 4px solid white;
    border-top: none;
    gap: 4px;
    background-color: white;
}

.rev-decoration-wrap {
    overflow: hidden;
}

.rev-decoration {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.rev-header {
	padding: 10rem 5rem 5rem;
	border-bottom: 4px solid white;
	background-color: var(--light-pink);
	max-width: 860px;
}

.rev-title {
    font-size: clamp(3rem, 7vw, 8rem);
    font-weight: 600;
    line-height: 1.1;
    text-transform: uppercase;
    margin-bottom: 2rem;
}

.rev-intro {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-bottom: 4rem;
    text-transform: uppercase;
    font-weight: 500;
}

/* ── Conteneur principal ───────────────────────────────── */

.rev-content {
	padding: 5rem 5rem 10rem;
    background-color: var(--light-pink);
}

.rev-form-wrap {
    background-color: var(--light-pink);
}

/* ── Messages de statut ────────────────────────────────── */

.rev-status {
    padding: 2rem 2.4rem;
    border-left: 4px solid;
    line-height: 1.6;
    margin-bottom: 3rem;
}

.rev-status a {
    color: inherit;
    text-decoration: underline;
}

.rev-status--approved {
    border-color: #155724;
    background-color: #d4edda;
    color: #155724;
}

.rev-status--pending {
    border-color: #856404;
    background-color: #fff3cd;
    color: #856404;
}

.rev-status--refused {
    border-color: #721c24;
    background-color: #f8d7da;
    color: #721c24;
}

.rev-status--info {
    border-color: var(--border);
    background-color: var(--white);
    color: var(--text-light);
}

.rev-status--success {
    border-color: #155724;
    background-color: #d4edda;
    color: #155724;
}

/* ── Erreurs ───────────────────────────────────────────── */

.rev-errors {
    list-style: none;
    background-color: #f8d7da;
    border-left: 4px solid #f5c6cb;
    padding: 1.6rem 2rem;
    margin-bottom: 3rem;
    color: #721c24;
}

.rev-errors li + li {
    margin-top: 0.4rem;
}

.rev-errors li::before {
    content: '- ';
}

/* ── Formulaire ────────────────────────────────────────── */

.rev-form {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ── Fieldset ──────────────────────────────────────────── */

.rev-fieldset {
    border: none;
    padding: 0;
    margin: 0 0 3rem;
}

.rev-fieldset__legend {
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--blue);
    padding: 0;
    margin-bottom: 3.4rem;
    display: block;
    width: 100%;
    border-bottom: 1px solid var(--blue);
    padding-bottom: 1rem;
}

/* ── Rangées ───────────────────────────────────────────── */

.rev-row {
    margin-bottom: 2rem;
}

.rev-row--split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

/* ── Champ ─────────────────────────────────────────────── */

.rev-field {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.rev-label {
	font-size: 1.1rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	position: relative;
    width: fit-content;
}

.rev-required {
	color: var(--terracotta);
	position: absolute;
	top: -2px;
	right: -7px;
}

/* ── Inputs ────────────────────────────────────────────── */

.rev-input, 
.rev-select, 
.rev-textarea {
	width: 100%;
	padding: 1.4rem 1.6rem;
	font-family: var(--font-sans);
	font-size: 1.25rem;
	color: var(--black);
	background-color: white;
	border: 1px solid var(--border);
	border-radius: 0;
	outline: none;
	transition: border-color 0.2s;
	appearance: none;
	-webkit-appearance: none;
}

.rev-input:focus,
.rev-select:focus,
.rev-textarea:focus {
    border-color: var(--brown);
}

.rev-input::placeholder,
.rev-select::placeholder,
.rev-textarea::placeholder {
    color: var(--text-light);
    opacity: 0.6;
}

.rev-input:invalid:not(:placeholder-shown),
.rev-textarea:invalid:not(:placeholder-shown),
.rev-select:user-invalid {
    border-color: var(--terracotta);
}

.rev-textarea {
    resize: vertical;
    min-height: 120px;
}

/* ── Select wrapper ────────────────────────────────────── */

.rev-select-wrap {
    position: relative;
}

.rev-select {
    cursor: pointer;
    padding-right: 3.6rem;
}

.rev-select-chevron {
    position: absolute;
    right: 1.2rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.4rem;
    height: 1.4rem;
    color: var(--text-light);
    pointer-events: none;
}

/* ── Hint ──────────────────────────────────────────────── */

.rev-hint {
	font-size: 1.1rem;
	line-height: 1.4;
	opacity: 0.3;
	text-align: right;
	position: relative;
	top: -0.2rem;
}

/* ── Soumission ────────────────────────────────────────── */

.rev-submit {
	display: flex;
	gap: 2.4rem;
	justify-content: flex-end;
}

.rev-submit__btn {
	flex-shrink: 0;
	border: none;
}
