/*
 * Pages éditoriales (Nos marques, À propos, Contact) : chargée sur ces seules pages (inc/editorial-pages.php).
 * Le contenu est fait de blocs WordPress ; la feuille ne règle que leur présentation et la grille des marques.
 */

/*
 * Barre de titre sous l'en-tête fixe : même compensation que la Boutique, les fiches et le Panier (Enfold réserve
 * 88 px, l'en-tête Awilai mesure 137,6 px, 133,6 px sous 1024 px).
 */
@media only screen and (min-width: 768px) {
  .html_header_top.html_header_sticky #top.awilai-editorial-page .title_container { margin-top: 49.6px; }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .html_header_top.html_header_sticky #top.awilai-editorial-page .title_container { margin-top: 45.6px; }
}

/* Mobile : le fil d'Ariane reprend sa place sous le trait orange du titre (même règle que le Panier). */
@media only screen and (max-width: 767px) {
  .responsive #top.awilai-editorial-page .title_container .main-title + .breadcrumb {
    top: 0;
    margin-top: 6px;
  }
}

/* Contenu : largeur de lecture confortable, titres et paragraphes Awilai. */
#top.awilai-editorial-page #main .entry-content-wrapper {
  max-width: 960px;
  margin-inline: auto;
}

#top.awilai-editorial-page #main .entry-content > * + h2 {
  margin-top: 48px;
}

#top.awilai-editorial-page #main .entry-content h2 {
  margin-bottom: 12px;
  font-size: 24px;
  line-height: 1.3;
  text-transform: none;
}

#top.awilai-editorial-page #main .entry-content h3 {
  margin-bottom: 8px;
  font-size: 18px;
  line-height: 1.35;
  text-transform: none;
}

#top.awilai-editorial-page #main .entry-content .awilai-page-intro {
  max-width: 720px;
  color: var(--awilai-text-secondary);
  font-size: 18px;
  line-height: 1.6;
}

#top.awilai-editorial-page #main .entry-content ul:not(.awilai-brand-grid, .awilai-family-grid) {
  margin: 0 0 16px 20px;
}

/* Encadrés (blocs Groupe avec la classe awilai-page-panel) : coordonnées, appel à l'action. */
#top.awilai-editorial-page #main .entry-content .awilai-page-panel {
  margin-block: 24px;
  padding: 24px;
  border: 1px solid var(--awilai-border);
  border-radius: 8px;
  background: var(--awilai-background-secondary);
}

#top.awilai-editorial-page #main .entry-content .awilai-page-panel > :last-child {
  margin-bottom: 0;
}

/* Boutons (bloc Boutons) : géométrie des boutons Awilai ; couleurs déjà posées par awilai-base.css. */
#top.awilai-editorial-page #main .entry-content .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  min-height: var(--awilai-control-height-touch);
  padding: 0 20px;
  border-radius: var(--awilai-control-radius);
  font-size: 16px;
  font-weight: 600;
}

#top.awilai-editorial-page #main .entry-content .wp-block-columns {
  gap: 24px;
  margin-block: 24px;
}

#top.awilai-editorial-page #main .entry-content .wp-block-column.awilai-page-panel {
  margin-block: 0;
}

/* Grille des marques ([awilai_marques]) : logo, nom et lien vers l'archive de la marque. */
/* Deux colonnes, quatre sur grand écran : des rangées régulières pour un petit nombre de marques. */
#top.awilai-editorial-page #main .awilai-brand-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 32px 0;
  padding: 0;
  list-style: none;
}

#top.awilai-editorial-page #main .awilai-brand-card {
  margin: 0;
  padding: 0;
}

/*
 * Cartes entièrement cliquables (marques et familles) : bordure fine, relief et bordure orange au survol, focus
 * clavier Awilai (awilai-base.css) sur la carte entière.
 */
#top.awilai-editorial-page #main :is(.awilai-brand-card, .awilai-family-card) a {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--awilai-border);
  border-radius: 8px;
  background: var(--awilai-background-primary);
  color: var(--awilai-text-primary);
  text-decoration: none;
  transition: border-color var(--awilai-ease), box-shadow var(--awilai-ease), transform var(--awilai-ease);
}

#top.awilai-editorial-page #main :is(.awilai-brand-card, .awilai-family-card) a:hover {
  border-color: var(--awilai-orange-primary);
  box-shadow: 0 8px 20px rgba(31, 41, 51, 0.1);
  transform: translateY(-2px);
}

/* Nom souligné en orange au survol et au focus : le lien reste identifiable sans couleur seule. */
#top.awilai-editorial-page #main :is(.awilai-brand-card__name, .awilai-family-card__name) {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  transition: text-decoration-color var(--awilai-ease);
}

#top.awilai-editorial-page #main :is(.awilai-brand-card, .awilai-family-card) a:is(:hover, :focus-visible) :is(.awilai-brand-card__name, .awilai-family-card__name) {
  text-decoration-color: var(--awilai-orange-primary);
}

/*
 * Marques : zone de logo de hauteur fixe, logo contenu sans déformation ; le filet et le nom suivent le logo à la
 * même hauteur sur toutes les cartes, même quand un nom tient sur deux lignes.
 */
#top.awilai-editorial-page #main .awilai-brand-card a {
  align-items: center;
  padding: 24px 16px 20px;
  text-align: center;
}

#top.awilai-editorial-page #main .awilai-brand-card__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: clamp(96px, 11vw, 128px);
  margin-bottom: 20px;
  overflow: hidden;
}

#top.awilai-editorial-page #main .awilai-brand-card__logo img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

#top.awilai-editorial-page #main .awilai-brand-card__name {
  align-self: stretch;
  padding-top: 16px;
  border-top: 1px solid var(--awilai-border);
}

@media (min-width: 1024px) {
  #top.awilai-editorial-page #main .awilai-brand-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Familles de produits ([awilai_familles]) : image au format 4:3, nom en dessous ; repli aux couleurs de la charte. */
#top.awilai-editorial-page #main .awilai-family-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 24px 0 8px;
  padding: 0;
  list-style: none;
}

#top.awilai-editorial-page #main .awilai-family-card {
  margin: 0;
  padding: 0;
}

/* Filet orange sous l'image : aligné sur toute la rangée, même quand un nom tient sur deux lignes. */
#top.awilai-editorial-page #main .awilai-family-card__media {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-bottom: 3px solid var(--awilai-orange-primary);
  background: var(--awilai-background-secondary);
}

#top.awilai-editorial-page #main .awilai-family-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#top.awilai-editorial-page #main .awilai-family-card__media.is-empty {
  background: linear-gradient(150deg, var(--awilai-text-secondary), var(--awilai-text-primary));
}

#top.awilai-editorial-page #main .awilai-family-card__name {
  display: block;
  padding: 14px 16px 16px;
}

@media (min-width: 1024px) {
  #top.awilai-editorial-page #main .awilai-family-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/*
 * Contact : icône décorative devant le titre de chaque encadré (classes awilai-contact-card--…, posées sur les
 * colonnes dans l'éditeur). Image de fond : rien n'est lu par les lecteurs d'écran.
 */
#top.awilai-editorial-page #main .entry-content .awilai-contact-card h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

#top.awilai-editorial-page #main .entry-content .awilai-contact-card h3::before {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--awilai-orange-tint) center / 22px 22px no-repeat;
  content: "";
}

#top.awilai-editorial-page #main .entry-content .awilai-contact-card--coordonnees h3::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239b4e00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
}

#top.awilai-editorial-page #main .entry-content .awilai-contact-card--horaires h3::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239b4e00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

#top.awilai-editorial-page #main .entry-content .awilai-contact-card--localisation h3::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239b4e00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

#top.awilai-editorial-page #main .entry-content .awilai-contact-card p {
  color: var(--awilai-text-secondary);
}

@media (max-width: 480px) {
  #top.awilai-editorial-page #main :is(.awilai-brand-grid, .awilai-family-grid) {
    gap: 12px;
  }

  #top.awilai-editorial-page #main .awilai-brand-card a {
    padding: 16px 12px 14px;
  }

  #top.awilai-editorial-page #main .awilai-brand-card__logo {
    height: 80px;
  }

  #top.awilai-editorial-page #main .awilai-family-card__name {
    padding: 12px;
    font-size: 15px;
  }

  #top.awilai-editorial-page #main .entry-content .awilai-page-panel {
    padding: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #top.awilai-editorial-page #main :is(.awilai-brand-card, .awilai-family-card) a,
  #top.awilai-editorial-page #main :is(.awilai-brand-card__name, .awilai-family-card__name) {
    transition: none;
  }

  #top.awilai-editorial-page #main :is(.awilai-brand-card, .awilai-family-card) a:hover {
    transform: none;
  }
}
