/* Corrections apportées au thème d'origine, chargées après son CSS.
   Détail et preuves : projects/econox-site/rapport-comparaison.md (dépôt djtal-engineering). */

/* Cyrillique : la police du thème (Exo) n'en a aucun caractère ; les pages russes s'affichaient dans la
   police de secours du visiteur (Times New Roman sous Windows). Exo 2, suite de la même police
   (licence SIL OFL, fonts/Exo2-OFL.txt), sous les mêmes noms de famille et pour le cyrillique seulement :
   le reste du texte garde Exo. */
@font-face { font-family: "ExoRegular"; src: url(../fonts/Exo2-Regular.woff) format("woff"); unicode-range: U+0301, U+0400-052F, U+1C80-1C8A, U+2116, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; font-display: swap; }
@font-face { font-family: "ExoSemibold"; src: url(../fonts/Exo2-SemiBold.woff) format("woff"); unicode-range: U+0301, U+0400-052F, U+1C80-1C8A, U+2116, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; font-display: swap; }

/* Mots trop longs pour un écran de téléphone : la page débordait à droite (bande blanche, page rétrécie).
   Le mot se coupe seulement s'il dépasse ; le reste du texte garde ses coupures d'origine.
   Cas relevés : pied de page DE « Unternehmensgrundsätze » (18 px), titre de l'accueil PL
   « wysokotemperaturowych » (64 px), article Thermprocess 2019 (50 px).
   Limité aux téléphones : sur ordinateur, ces mots dépassent de leur colonne sans faire déborder
   la page, et l'affichage d'origine est gardé tel quel. */
@media (max-width: 639px) {
  #colophon a { overflow-wrap: anywhere; }
  .wp-block-paragraph, .wp-block-paragraph strong { overflow-wrap: anywhere; }
  h1, h2 { overflow-wrap: break-word; }
}

/* Formulaire de contact sur très petit écran (moins de 360 px, ancien iPhone SE par exemple) : deux champs
   côte à côte laissaient ~100 px par champ et coupaient les textes, français compris. Un champ par ligne. */
@media (max-width: 359px) {
  .contact-form-style form .w-full.flex.gap-4 { flex-direction: column; row-gap: 0; }
}

/* Page 404 (créée pour le nouveau site : celle de l'ancien thème était un modèle anglais sans menu).
   Espace en haut pour l'en-tête fixe (88 px). */
.econox-404 { padding: 13rem 0 8rem; min-height: 70vh; }
.econox-404__code { font-family: ExoSemibold; font-size: 1.125rem; letter-spacing: .2em; margin-bottom: 1.5rem; }
.econox-404__text { max-width: 36rem; margin: 2rem auto 2.5rem; font-size: 1.125rem; line-height: 1.75rem; }
.econox-404 .cta-btn { margin-left: 0; margin-right: 0; }
@media (max-width: 639px) { .econox-404 { padding: 9rem 0 5rem; } }

/* Pages de catégorie (vides sur l'ancien site) : cartes des pages filles, au style des cartes de l'accueil
   (fond clair arrondi, photo qui grossit au survol, flèche rouge). */
.econox-cat { padding: 12rem 0 7rem; }
.econox-cat__title { margin-bottom: 3.5rem; }
.econox-cat__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 1.5rem; }
.econox-cat-card { position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: 1rem; background: #f4f4f4; color: #131313; transition: box-shadow .2s; }
.econox-cat-card:hover { box-shadow: 0 10px 30px -12px rgb(19 19 19 / .35); }
.econox-cat-card__img { display: flex; align-items: center; justify-content: center; height: 15rem; padding: 1.5rem; overflow: hidden; }
.econox-cat-card__img img { max-height: 100%; max-width: 100%; object-fit: contain; }
.econox-cat__grid--compact .econox-cat-card__img { display: none; }
.econox-cat__grid--compact .econox-cat-card { min-height: 8rem; justify-content: center; }
.econox-cat__grid--compact .econox-cat-card__label { padding: 2rem 4.5rem 2rem 1.75rem; font-size: 1.375rem; line-height: 1.8rem; }
.econox-cat__grid--compact .econox-cat-card__more { top: 50%; bottom: auto; margin-top: -1.125rem; }
.econox-cat-card__noimg { font-family: ExoSemibold; font-size: 1.5rem; line-height: 2rem; text-align: center; color: #e63616; }
.econox-cat-card__label { display: block; padding: 1.25rem 4rem 1.5rem 1.5rem; font-family: ExoRegular; font-size: 1.25rem; line-height: 1.6rem; }
.econox-cat-card__more { position: absolute; right: 1.25rem; bottom: 1.25rem; display: flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: 9999px; background: #e63616; color: #fff; transition: transform .2s; }
.econox-cat-card:hover .econox-cat-card__more { transform: translateX(4px); }
.econox-cat__cta { margin-top: 3.5rem; }
@media (max-width: 639px) { .econox-cat { padding: 9rem 0 5rem; } .econox-cat__title { margin-bottom: 2.5rem; } .econox-cat-card__img { height: 12rem; } }

/* Accueil sur téléphone à petit écran (760 px de haut ou moins, iPhone SE par exemple) : le bloc du haut
   faisait la hauteur de l'écran avec son contenu centré ; le titre remontait sous l'en-tête fixe (88 px).
   Le contenu démarre sous l'en-tête et le bloc s'allonge au besoin. Au-delà de 760 px de haut : inchangé. */
@media (max-width: 639px) and (max-height: 760px) {
  .home #content main > section:first-child { height: auto; min-height: 100vh; padding-top: 96px; }
}

/* Article de 2019 sur le nouvel emballage : cadres « photo à venir » à la place de la galerie disparue
   (4 photos au format 400 × 284 de l'ancien site), à remplacer quand Econox retrouve les photos. */
.econox-photos-a-venir { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin: 1rem 0 2rem; }
@media (min-width: 768px) { .econox-photos-a-venir { grid-template-columns: repeat(4, 1fr); } }
.econox-photo-a-venir { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; margin: 0; aspect-ratio: 400 / 284; border: 1px dashed #b5b5b5; background: #f4f4f4; color: #8a8a8a; text-align: center; padding: .5rem; }
.econox-photo-a-venir figcaption { font-size: .875rem; line-height: 1.2rem; }

/* Bandeau cookies (vanilla-cookieconsent) aux couleurs et à la police du site. */
#cc-main {
  --cc-font-family: ExoRegular, sans-serif;
  --cc-btn-primary-bg: #e63616; --cc-btn-primary-border-color: #e63616;
  --cc-btn-primary-hover-bg: #c22d11; --cc-btn-primary-hover-border-color: #c22d11;
  --cc-toggle-on-bg: #e63616; --cc-link-color: #e63616;
}
#cc-main .cm__title, #cc-main .pm__title, #cc-main .pm__section-title { font-family: ExoSemibold, sans-serif; }
.econox-cookies-link { color: inherit; font: inherit; background: none; border: 0; padding: 0; cursor: pointer; }

/* Champ piège des formulaires : hors écran, ignoré par les lecteurs d’écran et le clavier. */
.econox-hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Messages d’échec des formulaires (envoi, anti-spam) : texte foncé sur fond sombre sur l’ancien site, en blanc comme les autres états. */
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output { color: #fff; }
