/* =========================================================================
   Gabarits ACF « Agency » et « Contact » (sans Elementor)
   Valeurs reprises des styles calculés des anciennes pages Elementor
   (627 Agency, 630 Contact) aux trois points de rupture Elementor :
   ordinateur (> 1024), tablette (768–1024), mobile (≤ 767).
   ========================================================================= */

/* Police manuscrite du formulaire (déclarée par Elementor sur l'ancienne page Contact) */
@font-face { font-family: 'Belmonte-Ballpoint'; font-style: normal; font-weight: normal; font-display: auto;
  src: url('/wp-content/uploads/2025/09/BelmonteBallpoint-Cursive.woff2') format('woff2'), url('/wp-content/uploads/2025/09/BelmonteBallpoint-Cursive.woff') format('woff'); }
@font-face { font-family: 'Belmonte-Ballpoint'; font-style: normal; font-weight: normal; font-display: auto;
  src: url('/wp-content/uploads/2025/09/BelmonteBallpoint-Print.woff2') format('woff2'), url('/wp-content/uploads/2025/09/BelmonteBallpoint-Print.woff') format('woff'); }

/* -------------------------------------------------------------------------
   AGENCY
   ------------------------------------------------------------------------- */
.aec-agency { width: 100%; padding: 0 40px; box-sizing: border-box; }
.aec-agency__inner { max-width: 1400px; margin: 0 auto; display: flex; flex-direction: column; gap: 20px; padding: 40px 0; box-sizing: border-box; }

.aec-card { position: relative; display: flex; flex-direction: column; align-items: stretch; width: 100%; padding: 12px; background-color: #FFFFFF; overflow: hidden; box-sizing: border-box; }

.aec-card__media { position: relative; display: flex; flex-direction: column; gap: 20px; width: 100%; min-height: 407px; border: 0 solid #3A3A3A; box-sizing: border-box;
  background-image: var(--aec-media-image); background-repeat: no-repeat; background-size: cover; background-position: 0 var(--aec-offset-desktop, 0px); }
.aec-card__media--video { background-image: none; background-size: auto; background-position: 0 0; }
.aec-card__video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; z-index: 0; pointer-events: none; }
.aec-card__video video { position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; transform: translate(-50%, -50%); object-fit: cover; max-width: none; }

.aec-card__body { display: flex; flex-direction: column; justify-content: space-between; align-items: stretch; gap: 8px; width: 100%; min-height: 0; padding: 0 0 15px; background-color: #FFFFFF; border: 0 solid #4A492C; box-sizing: border-box; }
.aec-card--1 .aec-card__body { padding-bottom: 0; }
.aec-card--3 .aec-card__body { min-height: 54px; }

.aec-card__credit { width: 100%; max-width: 100%; margin: 8px 0 0; padding: 8px 0; text-align: left;
  font-family: "Roboto Mono", Inter, sans-serif; font-size: 10.7px; font-weight: 400; font-style: normal; line-height: 1.3px; letter-spacing: 0; word-spacing: 0; text-transform: uppercase; color: #4A492C; }
.aec-card__credit p { margin: 0 0 14.4px; padding: 0; }
/* Première carte : règle « .artist-card .is-cat » du kit Elementor, reproduite telle quelle */
.aec-card--1 .aec-card__credit { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; white-space: normal; word-break: break-word; overflow-wrap: anywhere;
  font-size: clamp(9px, 1.05vw, 11px); line-height: 1.45; letter-spacing: .4px; margin: 10px 0 14px; padding: 0; box-sizing: border-box; flex: 0 0 auto; align-self: stretch; }

.aec-card__title { width: 100%; max-width: 100%; margin: 8px 0 0; padding: 8px 0 0; }
.aec-card__title h2 { margin: 0; padding: 0; font-family: "Helvetica", Inter, sans-serif; font-size: 25px; font-weight: 700; font-style: normal; line-height: 1.2px; letter-spacing: -2.5px; word-spacing: 0; text-transform: uppercase; color: #3A3A3A; }

.aec-card__text { width: 100%; max-width: 100%; margin: 8px 0 0; padding: 8px 0 0; text-align: justify;
  font-family: "Playfair Display", Inter, sans-serif; font-size: 15px; font-weight: 400; font-style: normal; line-height: 19px; letter-spacing: 0; word-spacing: 1.4px; color: #3A3A3A; }
.aec-card--1 .aec-card__text { padding-bottom: 15px; }
.aec-card__text p { margin: 0 0 14.4px; padding: 0; }
.aec-card__text a { color: inherit; }

@media (max-width: 1024px) {
  .aec-agency { padding: 0 30px; }
  .aec-agency__inner { padding: 30px 0; }
  .aec-card { flex-wrap: nowrap; justify-content: flex-start; }
  .aec-card__media { min-height: 190px; background-position: 0 var(--aec-offset-tablet, 0px); }
  .aec-card__body { gap: 0 8px; }
  .aec-card__credit { margin: 8px 0 0; padding: 12px 0 14px 9px; font-size: 10px; line-height: 1.3em; letter-spacing: 0; }
  .aec-card--1 .aec-card__credit { margin: 10px 0 14px; padding: 0; font-size: clamp(9px, 1.05vw, 11px); line-height: 1.45; letter-spacing: .4px; }
  .aec-card__title { margin: 0 0 0 3px; padding: 10px 0 0 5px; }
  .aec-card__title h2 { font-size: 24px; line-height: 1.2em; letter-spacing: 1px; }
  .aec-card__text { margin: 0; padding: 9px 0 0 6px; font-size: 11px; line-height: 1.4em; letter-spacing: 0; }
  .aec-card--1 .aec-card__text { padding-bottom: 0; }
}
@media (max-width: 767px) {
  .aec-agency { padding: 0 20px; }
  .aec-agency__inner { padding: 20px 0; }
  .aec-card__media { min-height: 170px; background-position: 0 var(--aec-offset-mobile, 0px); }
  .aec-card__video { display: none; }
  .aec-card__body { width: 100%; min-height: auto; justify-content: center; flex-wrap: wrap; align-content: center; padding: 0; gap: 0 8px; }
  .aec-card--3 .aec-card__body { min-height: auto; }
  .aec-card__credit { margin: 0 0 10px; padding: 5px 0 0 10px; font-size: 9px; line-height: 1.3em; }
  .aec-card--1 .aec-card__credit { margin: 10px 0 14px; padding: 0; font-size: clamp(9px, 1.05vw, 11px); line-height: 1.45; }
  .aec-card__title { margin: 0 0 10px; padding: 0 0 0 5px; }
  .aec-card__title h2 { font-size: 20px; line-height: 1.2em; letter-spacing: -1.3px; }
  .aec-card__text { margin: 0; padding: 0 0 0 5px; font-size: 13px; line-height: 1.4em; }
}

/* -------------------------------------------------------------------------
   CONTACT
   ------------------------------------------------------------------------- */
.aec-contact { width: 100%; padding: 0 24px; box-sizing: border-box; }
.aec-contact__inner { max-width: 1400px; margin: 0 auto; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; align-items: stretch; gap: 64px 0; padding: 40px 0 100px; box-sizing: border-box; }

.aec-contact__col { flex: 0 0 36%; min-width: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.aec-contact__block { display: flex; flex-direction: column; width: 100%; }
.aec-contact__block--address { min-height: 109px; }
.aec-contact__widget { display: block; width: 100%; }

/* Bloc contacts (typographie « NOM CONTACT FORM » + règles du kit reproduites) */
.aec-contact .agency-contacts { font-family: "Helvetica", Inter, sans-serif; font-size: 25px; font-weight: 700; letter-spacing: -2.8px; text-transform: uppercase; color: #8B0000; line-height: 1.28; }
.aec-contact .agency-contacts * { line-height: inherit; }
.aec-contact .agency-contacts p { display: block; margin: 0 0 4px; padding: 0; white-space: normal; word-break: normal; }
.aec-contact .agency-contacts h3 { margin: 20px 0 6px; font-family: Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 800; letter-spacing: -1.2px; line-height: 1.15; text-transform: uppercase; color: #8B0000; }
.aec-contact .agency-contacts .mail { margin: 0 0 1px; max-height: 15px; }
.aec-contact .agency-contacts .tel { margin: 0; max-height: 15px; }
.aec-contact .agency-contacts .mail a, .aec-contact .agency-contacts .tel a, .aec-contact .agency-contacts .addr { font-family: 'Roboto Mono', monospace; font-size: 12px; line-height: 1.3; letter-spacing: .02em; text-transform: uppercase; color: #1d1d1b; text-decoration: none; }
.aec-contact .agency-contacts .tel a { letter-spacing: 0; word-spacing: .12em; }
.aec-contact .agency-contacts .mail a:hover, .aec-contact .agency-contacts .tel a:hover { color: #8B0000; }
.aec-contact .agency-contacts .addr { margin: 2px 0 0; }
.aec-contact .agency-contacts .contact { margin: 0 0 18px; }

/* Colonne formulaire */
.aec-contact__form-col { flex: 1 1 64%; min-width: 0; display: flex; flex-direction: column; justify-content: flex-start; align-items: stretch; gap: 0; border: 0.5px solid #020202; padding: 0 20px 5px; box-sizing: border-box; }
.aec-contact__frame { display: flex; flex-direction: column; justify-content: center; align-items: stretch; }
.aec-contact__banner { display: inline-block; width: 100%; max-width: 100%; height: auto; object-fit: cover; object-position: center center; vertical-align: middle; }

.aec-form-widget { margin: 0; padding: 0; }
.aec-form { display: block; margin: 0; }
.aec-form__fields { display: flex; flex-wrap: wrap; margin: 0 -30px -14px; }
.aec-form__group { display: flex; flex-wrap: wrap; align-items: center; width: 100%; padding: 0 30px; margin-bottom: 14px; box-sizing: border-box; }
.aec-form__label { display: block; padding-bottom: 15px; margin: 0; font-family: "Helvetica", Inter, sans-serif; font-size: 11px; font-weight: 700; line-height: 1.6px; letter-spacing: 0; text-transform: uppercase; color: #3A3A3A; }
.aec-form__field { flex-basis: 100%; width: 100%; max-width: 100%; min-height: 40px; padding: 8px 16px; margin: 0; border: 0.5px solid #4A492C; border-radius: 3px; background-color: #F2F1EF; color: #8B0000;
  font-family: "Belmonte-Ballpoint", Inter, sans-serif; font-size: 20px; font-weight: 400; line-height: 1.4; letter-spacing: 0; box-sizing: border-box; vertical-align: middle; -webkit-appearance: none; appearance: none; outline: none; transition: all .3s; }
.aec-form__field:focus { border-color: #4A492C; }
textarea.aec-form__field { padding: 5px 14px; resize: vertical; }
.aec-form__group--submit { justify-content: center; }
.aec-form .aec-form__button { display: inline-block; min-height: 33px; padding: 10px 20px; margin: 0; border: 1px solid #FFFFFF; border-style: solid; border-radius: 25px; background-color: #8B0000; color: #FFFFFF; cursor: pointer;
  font-family: Helvetica, "Helvetica Neue", Arial, sans-serif; font-size: 11.6px; font-weight: 700; font-style: normal; line-height: 1.4px; letter-spacing: 0; word-spacing: 0; text-align: center; text-transform: none; text-shadow: 0 0 10px rgba(255, 255, 255, .3); box-sizing: border-box; transition: all .3s; }
.aec-form__button-text { display: inline-block; }
.aec-form .aec-form__button:hover, .aec-form .aec-form__button:focus { background-color: #FFFFFF; color: #8B0000; border-color: #3A3A3A; border-style: solid; }
.aec-form .aec-form__button[disabled] { opacity: .7; cursor: default; }
.aec-form__message { margin-top: 10px; font-family: "Roboto Mono", Inter, sans-serif; font-size: 12px; font-weight: 400; font-style: normal; line-height: 2px; letter-spacing: 0; text-transform: uppercase; }
.aec-form__message--success { background-color: #8B0000; color: #FFFFFF; font-weight: bold; }
.aec-form__message--error { color: #d9534f; }
.aec-form__field-error { width: 100%; margin-top: 4px; font-family: "Roboto Mono", Inter, sans-serif; font-size: 12px; line-height: 1.2; text-transform: uppercase; color: #d9534f; }
.aec-form__group--error .aec-form__field { border-color: #d9534f; }
.aec-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 1024px) {
  .aec-contact { padding: 0 20px; }
  .aec-contact__inner { flex-direction: column; gap: 0; }
  .aec-contact__col { flex: 1 1 100%; width: 100%; order: 1; }
  .aec-contact__form-col { flex: 1 1 100%; width: 100%; order: 2; }
  .aec-form-widget { padding: 0 20px 20px; }
  .aec-form__label { line-height: 1.6em; }
  .aec-form__field { font-size: 17px; line-height: 1.4; }
  .aec-form .aec-form__button { font-size: 11px; line-height: 1.4em; }
  .aec-form__message { font-size: 13px; line-height: 1.4em; }
}
@media (max-width: 767px) {
  .aec-contact { padding: 0 20px; }
  .aec-form__label { font-size: 11px; }
  .aec-form__field { font-size: 16px; }
  .aec-form .aec-form__button { font-size: 10px; }
  .aec-form__message { font-size: 12px; }
}
