/* ============================================================
 * InfomodsV3 V346.248 - formulaire de contact
 * Mise en page reprise du PhoenixRevive valide. Les composants
 * globaux phoenix-panel, phoenix-section-title, phoenix-title-icon
 * et phoenix-primary-button restent fournis par phoenix.css.
 * ============================================================ */

.phoenix-home .phoenix-contact-page{
    width:100%;
    max-width:none;
    margin:20px 0 26px;
    padding:0;
    box-sizing:border-box;
}
.phoenix-home .phoenix-contact-panel{overflow:hidden}
.phoenix-home .phoenix-contact-title{min-height:66px;padding:15px 18px}
.phoenix-home .phoenix-contact-title>div{align-items:center}
.phoenix-home .phoenix-contact-title h1{margin:0;color:#10223a;font-size:19px;line-height:1.15}
.phoenix-home .phoenix-contact-title p{margin:4px 0 0;color:#70839a;font-size:11px;line-height:1.35}

.phoenix-home .phoenix-contact-success,
.phoenix-home .phoenix-contact-error{
    display:flex;
    align-items:center;
    gap:10px;
    margin:18px 24px 0;
    padding:12px 14px;
    border-radius:8px;
}
.phoenix-home .phoenix-contact-success{border:1px solid #bce8cf;background:#eaf9f1;color:#12804b}
.phoenix-home .phoenix-contact-error{border:1px solid #f1c2c6;background:#fff0f1;color:#ba3442}
.phoenix-home .phoenix-contact-success strong,
.phoenix-home .phoenix-contact-error strong{flex:0 0 auto;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.phoenix-home .phoenix-contact-success span,
.phoenix-home .phoenix-contact-error span{font-size:11px;font-weight:700}

.phoenix-home .phoenix-contact-form{padding:24px}
.phoenix-home .phoenix-contact-honeypot{position:absolute!important;left:-10000px!important;top:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.phoenix-home .phoenix-contact-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr);gap:18px;margin:0 0 22px;padding:0 0 18px;border-bottom:1px solid #e7edf3}
.phoenix-home .phoenix-contact-intro-copy strong{display:block;color:#10223a;font-size:20px;font-weight:900;line-height:1.15}
.phoenix-home .phoenix-contact-intro-copy span{display:block;margin-top:7px;color:#70839a;font-size:12px;line-height:1.55}
.phoenix-home .phoenix-contact-intro-tip{padding:14px 16px;border:1px solid #d5e7f7;border-radius:12px;background:linear-gradient(180deg,#f7fbff 0%,#edf5fd 100%)}
.phoenix-home .phoenix-contact-intro-tip strong{display:block;color:#0b5faa;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.phoenix-home .phoenix-contact-intro-tip span{display:block;margin-top:7px;color:#47647f;font-size:11px;line-height:1.55}

.phoenix-home .phoenix-contact-layout{display:grid;grid-template-columns:minmax(300px,.92fr) minmax(0,1.78fr);gap:20px;align-items:start}
.phoenix-home .phoenix-contact-column{min-width:0}
.phoenix-home .phoenix-contact-column-side,
.phoenix-home .phoenix-contact-column-main{display:grid;gap:20px}
.phoenix-home .phoenix-contact-block{padding:18px;border:1px solid #e0ebf5;border-radius:14px;background:#f9fbfd;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
.phoenix-home .phoenix-contact-block-head{margin:0 0 16px}
.phoenix-home .phoenix-contact-block-head h2{margin:0;color:#10223a;font-size:16px;font-weight:900;line-height:1.2}
.phoenix-home .phoenix-contact-block-head p{margin:6px 0 0;color:#70839a;font-size:11px;line-height:1.5}
.phoenix-home .phoenix-contact-stack{display:grid;gap:16px}

.phoenix-home .phoenix-contact-field{min-width:0}
.phoenix-home .phoenix-contact-field>label,
.phoenix-home .phoenix-contact-label-row label{display:block;margin:0 0 7px;color:#263c56;font-size:11px;font-weight:900}
.phoenix-home .phoenix-contact-field input,
.phoenix-home .phoenix-contact-field select,
.phoenix-home .phoenix-contact-field textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #c9d8e7;border-radius:10px;outline:none;background:#fff;color:#10223a;font-family:inherit;font-size:12px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.phoenix-home .phoenix-contact-field input,
.phoenix-home .phoenix-contact-field select{min-height:44px;padding:10px 12px}
.phoenix-home .phoenix-contact-field textarea{min-height:360px;padding:12px 13px;resize:vertical;line-height:1.55}
.phoenix-home .phoenix-contact-field input:hover,
.phoenix-home .phoenix-contact-field select:hover,
.phoenix-home .phoenix-contact-field textarea:hover{border-color:#9ebbd8}
.phoenix-home .phoenix-contact-field input:focus,
.phoenix-home .phoenix-contact-field select:focus,
.phoenix-home .phoenix-contact-field textarea:focus{border-color:#1687e6;box-shadow:0 0 0 3px rgba(22,135,230,.11)}
.phoenix-home .phoenix-contact-select-wrap{position:relative}
.phoenix-home .phoenix-contact-field select{cursor:pointer}
.phoenix-home .phoenix-contact-field select:disabled{cursor:not-allowed;background:#f2f5f8;color:#8795a4}
.phoenix-home .phoenix-contact-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.phoenix-home .phoenix-contact-label-row>span{margin-bottom:7px;color:#8696a9;font-size:9px}

.phoenix-home .phoenix-contact-team{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:14px;padding-top:14px;border-top:1px dashed #d4e0ec}
.phoenix-home .phoenix-contact-team>span{flex:0 0 auto;color:#70839a;font-size:10px;font-weight:800}
.phoenix-home .phoenix-contact-team-links{display:flex;flex-wrap:wrap;gap:6px}
.phoenix-home .phoenix-contact-team-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid #b9daf8;border-radius:999px;background:#eaf4ff;color:#0967bd;font-size:10px;font-weight:800;line-height:1;text-decoration:none}

.phoenix-home .phoenix-contact-team-chip:hover{text-decoration:underline;background:#d8ecff;border-color:#78bafa}
.phoenix-home .phoenix-contact-team-chip:focus-visible{outline:2px solid #1687e6;outline-offset:2px}

.phoenix-home .phoenix-contact-inline-error{margin:12px 0 0;padding:9px 11px;border:1px solid #f1c2c6;border-radius:8px;background:#fff0f1;color:#ba3442;font-size:10px;font-weight:700;line-height:1.45}
.phoenix-home .phoenix-contact-field-message textarea{min-height:420px}
.phoenix-home .phoenix-contact-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid #e0ebf5;border-radius:14px;background:#f9fbfd}
.phoenix-home .phoenix-contact-actions>span{color:#6b7f95;font-size:10px;line-height:1.5}
.phoenix-home .phoenix-contact-actions .phoenix-primary-button{flex:0 0 auto;min-height:42px;padding:0 18px;cursor:pointer}
.phoenix-home .phoenix-contact-actions .phoenix-primary-button:disabled{opacity:.58;cursor:not-allowed}

@media(max-width:980px){
    .phoenix-home .phoenix-contact-layout,
    .phoenix-home .phoenix-contact-intro{grid-template-columns:1fr}
    .phoenix-home .phoenix-contact-field-message textarea{min-height:320px}
}
@media(max-width:720px){
    .phoenix-home .phoenix-contact-page{margin-top:14px;padding:0}
    .phoenix-home .phoenix-contact-success,
    .phoenix-home .phoenix-contact-error{align-items:flex-start;flex-direction:column;margin:14px 16px 0}
    .phoenix-home .phoenix-contact-form{padding:16px}
    .phoenix-home .phoenix-contact-intro{gap:12px;margin-bottom:16px;padding-bottom:14px}
    .phoenix-home .phoenix-contact-intro-copy strong{font-size:17px}
    .phoenix-home .phoenix-contact-block{padding:15px}
    .phoenix-home .phoenix-contact-label-row,
    .phoenix-home .phoenix-contact-actions{align-items:flex-start;flex-direction:column}
    .phoenix-home .phoenix-contact-label-row>span{margin-bottom:0}
    .phoenix-home .phoenix-contact-field textarea,
    .phoenix-home .phoenix-contact-field-message textarea{min-height:240px}
    .phoenix-home .phoenix-contact-actions .phoenix-primary-button{width:100%}
}
