/* Give an Artz · feuille de style du site
   Chargée sur toutes les pages. Tout est rangé sous .gaa pour ne pas
   dépendre du thème WordPress ni d'Elementor. */

@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 100 300;
  font-display: swap;
  src: url('fonts/outfit-latin.woff2') format('woff2');
}

/* ---------- socle : on neutralise les styles du thème ---------- */
.gaa { font-size: 16px; line-height: normal; text-align: left; }
.gaa.gaa *, .gaa.gaa *::before, .gaa.gaa *::after { box-sizing: content-box; }
.gaa.gaa button, .gaa.gaa input, .gaa.gaa select, .gaa.gaa textarea { box-sizing: border-box; }
.gaa h1, .gaa h2, .gaa h3, .gaa h4 { font-family: inherit; color: inherit; line-height: normal; text-transform: none; }
.gaa p { margin: 1em 0; }
.gaa a, .gaa a:hover, .gaa a:focus, .gaa a:visited { color: inherit; }
.gaa img { max-width: none; border: 0; border-radius: 0; box-shadow: none; }
.gaa button { text-transform: none; letter-spacing: normal; box-shadow: none; }
.gaa button:hover, .gaa button:focus { box-shadow: none; }
.gaa [hidden] { display: none !important; }

/* ---------- liens et images ---------- */
.gaa a:hover { opacity: .65; }
.gaa .nl { text-decoration: none; transition: opacity .2s; }
.gaa .ul { text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.gaa .ph { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; }
.gaa .zoom { overflow: hidden; }
.gaa .zoom img { transition: transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.gaa .zoom:hover img { transform: scale(1.04); }
.gaa .lgm { height: 44px; width: auto; max-width: 150px; object-fit: contain; filter: grayscale(1); opacity: .6; transition: filter .3s, opacity .3s; }
.gaa .lgm:hover { filter: none; opacity: 1; }

/* ---------- films courts ---------- */
.gaa .reel { scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .35) transparent; }
.gaa .reel > a, .gaa .reel > div { scroll-snap-align: start; }
.gaa .sc:hover { opacity: 1; }
.gaa .sc .pl { transition: transform .3s, background .3s; }
.gaa .sc:hover .pl { transform: scale(1.08); background: #FFFFFF; color: #141414; }
.gaa .gaa-yt { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; background: #000; }

/* ---------- formulaire ---------- */
.gaa .inp { display: block; width: 100%; box-sizing: border-box; height: 56px; margin: 0; padding: 0 18px; background: #FFFFFF; border: 1px solid #D2D2D2; border-radius: 0; box-shadow: none; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; color: #141414; outline: none; transition: border-color .2s; }
.gaa textarea.inp { height: auto; padding: 16px 18px; resize: vertical; line-height: 1.5; }
.gaa .inp:focus { border-color: #141414; }
.gaa .inp.err { border-color: #141414; background: #F2F2F2; }
.gaa .chip { display: inline-flex; align-items: center; min-height: 46px; margin: 0; padding: 0 20px; border-radius: 999px; border: 1px solid #D2D2D2; background: #FFFFFF; color: #141414; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 400; line-height: 1.2; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.gaa .chip:hover, .gaa .chip:focus { border-color: #141414; background: #FFFFFF; color: #141414; }
.gaa .chip[aria-pressed="true"], .gaa .chip[aria-pressed="true"]:hover, .gaa .chip[aria-pressed="true"]:focus { background: #141414; color: #FFFFFF; border-color: #141414; }
.gaa button[data-gaa="send"][disabled] { opacity: .5; cursor: wait; }

/* ---------- questions fréquentes ---------- */
.gaa details.fq { border-top: 1px solid #141414; }
.gaa details.fq:last-of-type { border-bottom: 1px solid #141414; }
.gaa details.fq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 26px 0; font-size: clamp(19px, 1.6vw, 24px); letter-spacing: -0.02em; font-weight: 500; }
.gaa details.fq summary::-webkit-details-marker { display: none; }
.gaa details.fq summary .pm { flex: 0 0 auto; width: 36px; height: 36px; border: 1px solid #141414; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: transform .3s; }
.gaa details.fq[open] summary .pm { transform: rotate(45deg); }
.gaa details.fq p { margin: 0 0 28px; max-width: 720px; font-size: 17px; line-height: 1.6; color: #3A3A3A; }

/* ---------- bandeau logos ---------- */
.gaa .mq { display: flex; width: max-content; animation: gaa-mq 60s linear infinite; }
@keyframes gaa-mq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .gaa .mq { animation: none; } .gaa .zoom img { transition: none; } }

/* ---------- mobile : barre Appeler / WhatsApp ---------- */
.gaa .callbar { display: none; }
@media (max-width: 760px) {
  .gaa .hide-sm { display: none !important; }
  .gaa .callbar { display: flex; position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 50; gap: 8px; }
  .gaa .cb { flex: 1 1 0; display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; border-radius: 999px; background: #141414; color: #FFFFFF; text-decoration: none; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 500; box-shadow: 0 10px 30px -10px rgba(0, 0, 0, .45); }
  .gaa .cbw, .gaa .cbw:hover { background: #FFFFFF; color: #141414; border: 1px solid #141414; }
  .gaa > footer { padding-bottom: 104px !important; }
}
