/* ==========================================================================
   PORTALIS — Contact (section + formulaire) et pied de page
   ========================================================================== */

.modes{border-top:1px solid var(--portalis-line-dark)}
.modes .ico{margin-top:3px;color:var(--portalis-accent-2)}
.modes b{font:500 .74rem/1.2 var(--portalis-font-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--portalis-on-dark-2)}
.modes a,.modes span.v{font:600 1.15rem/1.35 var(--portalis-font-sans);text-decoration:none;color:#fff}
.modes a:hover{color:var(--portalis-accent-2)}

/* Formulaire Webform : structure Bootstrap et rendu de la maquette */
.contact-form .webform-submission-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.5rem;margin:0}
.contact-form .webform-submission-form > .form-item,
.contact-form .webform-submission-form > .webform-element,
.contact-form .webform-submission-form > .form-actions{width:auto!important;max-width:none;padding:0;margin:0}
.contact-form .webform-submission-form > .form-item-name,
.contact-form .webform-submission-form > .form-item-phone{grid-column:span 1}
.contact-form .webform-submission-form > .form-item-subject,
.contact-form .webform-submission-form > .form-item-email,
.contact-form .webform-submission-form > .form-item-message,
.contact-form .webform-submission-form > .form-item-consent,
.contact-form .webform-submission-form > .form-actions{grid-column:1 / -1}
.contact-form .webform-submission-form .form-item label{display:block;min-height:15px;margin-bottom:8px;font:500 .78rem/1.2 var(--portalis-font-mono);letter-spacing:.02em;text-transform:uppercase;color:var(--portalis-on-dark-2)}
.contact-form .webform-submission-form > .form-item-name > label{margin-bottom:4px}
.contact-form .webform-submission-form .form-item input,
.contact-form .webform-submission-form .form-item select,
.contact-form .webform-submission-form .form-item textarea{width:100%;min-height:48px;padding:11px 13px;font:400 .98rem/1.4 var(--portalis-font-sans);color:var(--portalis-on-dark);background:var(--portalis-graph-2);border:1px solid var(--portalis-line-dark);border-radius:var(--portalis-radius)}
.contact-form .webform-submission-form .form-item textarea{min-height:132px;resize:vertical}
.contact-form .webform-submission-form .form-item input:focus,
.contact-form .webform-submission-form .form-item select:focus,
.contact-form .webform-submission-form .form-item textarea:focus{border-color:var(--portalis-accent-2);outline:2px solid var(--portalis-accent-2);outline-offset:0;box-shadow:none}
.contact-form .webform-submission-form .description{margin-top:6px;color:var(--portalis-on-dark-2);font-size:.85rem}
.contact-form .webform-submission-form .form-actions{margin:0}
.contact-form .webform-submission-form .webform-button--submit{min-height:46px;padding:0 22px;font:600 .82rem/1 var(--portalis-font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--portalis-graph);background:var(--portalis-on-dark);border:1px solid var(--portalis-on-dark);border-radius:var(--portalis-radius);transition:background-color .15s,color .15s,border-color .15s}
.contact-form .webform-submission-form .webform-button--submit:hover{color:#0c1420;background:var(--portalis-accent-2);border-color:var(--portalis-accent-2)}
.contact-form .webform-submission-form .form-item--error-message{margin-top:6px;color:#f3a7a7;font-size:.88rem}
.contact-form .webform-submission-form > .form-item-consent{display:flex;align-items:flex-start;gap:11px;color:var(--portalis-on-dark-2);font-size:.88rem;text-transform:lowercase}
.contact-form .webform-submission-form > .form-item-consent > input{width:16px;height:16px;flex:none;margin-top:4px;accent-color:var(--portalis-accent-2)}
.contact-form .webform-submission-form > .form-item-consent > label{min-height:0;margin:0;font:inherit;color:inherit;text-transform:lowercase}
.contact-form .webform-submission-form > .form-item-consent a{color:var(--portalis-on-dark)}
.contact-form .webform-submission-form > .form-item-consent a:hover{color:var(--portalis-accent-2)}

@media (max-width:767.98px){
  .contact-form .webform-submission-form{grid-template-columns:1fr}
  .contact-form .webform-submission-form > .form-item-name,
  .contact-form .webform-submission-form > .form-item-phone,
  .contact-form .webform-submission-form > .form-item-subject,
  .contact-form .webform-submission-form > .form-item-email,
  .contact-form .webform-submission-form > .form-item-message,
  .contact-form .webform-submission-form > .form-item-consent,
  .contact-form .webform-submission-form > .form-actions{grid-column:1}
}

.field label{font:500 .78rem/1.2 var(--portalis-font-mono);letter-spacing:.02em;text-transform:uppercase;color:var(--portalis-on-dark-2)}
.field .form-control,.field .form-select,.field input,.field select,.field textarea{
  width:100%;min-height:48px;padding:11px 13px;
  font:400 .98rem/1.4 var(--portalis-font-sans);color:var(--portalis-on-dark);
  background:var(--portalis-graph-2);border:1px solid var(--portalis-line-dark);border-radius:var(--portalis-radius);
}
.field textarea{min-height:132px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus,.field .form-control:focus,.field .form-select:focus{
  border-color:var(--portalis-accent-2);outline:2px solid var(--portalis-accent-2);outline-offset:0;box-shadow:none;
}
.consent{font-size:.88rem;color:var(--portalis-on-dark-2)}
.consent input{margin-top:4px;width:16px;height:16px;flex:none;accent-color:var(--portalis-accent-2)}
.consent a{color:var(--portalis-on-dark)}
.ok{margin:0;padding:12px 14px;border-left:2px solid var(--portalis-accent-2);background:var(--portalis-graph-2);color:var(--portalis-on-dark);font-size:.92rem}

/* Pied de page */
.ftr{background:var(--portalis-graph);color:var(--portalis-on-dark)}
.ftr-top{border-bottom:1px solid var(--portalis-line-dark)}
.ftr-brand p{color:var(--portalis-on-dark-2)}
.ftr ul{list-style:none}
.ftr a{text-decoration:none;color:var(--portalis-on-dark-2);font-size:.94rem}
.ftr a:hover{color:#fff}
.ftr h4{font:500 .74rem/1 var(--portalis-font-mono);letter-spacing:.04em;text-transform:uppercase;margin-bottom:14px;color:var(--portalis-on-dark-2)}
.ftr-bot{color:var(--portalis-on-dark-2);font-size:.78rem;font-family:var(--portalis-font-mono)}

/* Barre de contact rapide, mobile uniquement */
