/*
Theme Name: Temfack Elementor Child
Template: hello-elementor
Description: Identité visuelle Éric Temfack, Elementor et Polylang. Thème enfant.
Version: 1.0.0
Text Domain: temfack-elementor-child
Update URI: false
*/
/* ==========================================================
   ERIC TEMFACK — IDENTITÉ VISUELLE GLOBALE
   Hello Elementor + Elementor + ElementsKit
   Version : 1.0
   ========================================================== */


/* ==========================================================
   1. VARIABLES GLOBALES
   Les variables Elementor sont prioritaires.
   Les valeurs après la virgule servent uniquement de secours.
   ========================================================== */

:root {
  --et-primary:
    var(--e-global-color-primary, #172019);

  --et-secondary:
    var(--e-global-color-secondary, #8b402c);

  --et-text:
    var(--e-global-color-text, #252a25);

  --et-accent:
    var(--e-global-color-accent, #c59b52);

  --et-background:
    var(--e-global-color-7, #f3eee3);

  --et-white:
    #ffffff;

  --et-black:
    #111511;

  --et-muted:
    color-mix(in srgb, var(--et-text) 68%, transparent);

  --et-border:
    color-mix(in srgb, var(--et-text) 18%, transparent);

  --et-border-strong:
    color-mix(in srgb, var(--et-text) 35%, transparent);

  --et-soft:
    color-mix(in srgb, var(--et-accent) 8%, transparent);

  --et-soft-strong:
    color-mix(in srgb, var(--et-accent) 15%, transparent);

  --et-radius-sm:
    5px;

  --et-radius-md:
    12px;

  --et-radius-lg:
    20px;

  --et-shadow:
    0 18px 45px rgba(17, 21, 17, .10);

  --et-shadow-hover:
    0 24px 60px rgba(17, 21, 17, .18);

  --et-serif:
    "Playfair Display",
    Georgia,
    "Times New Roman",
    serif;

  --et-sans:
    "DM Sans",
    Arial,
    Helvetica,
    sans-serif;

  --et-transition:
    220ms cubic-bezier(.2, .7, .2, 1);
}


/* ==========================================================
   2. IMPORTATION DES TYPOGRAPHIES
   À remplacer idéalement par des polices auto-hébergées
   lorsque le site sera finalisé.
   ========================================================== */

/* Fonts are loaded separately in functions.php to avoid a blocking CSS @import. */


/* ==========================================================
   3. BASE DU SITE
   ========================================================== */

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--et-text);
  background: var(--et-background);
  font-family: var(--et-sans);
  font-size: 16px;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body,
button,
input,
textarea,
select {
  font-family: var(--et-sans);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

::selection {
  color: var(--et-primary);
  background: var(--et-accent);
}

:focus-visible {
  outline: 3px solid var(--et-accent);
  outline-offset: 4px;
}


/* ==========================================================
   4. LARGEUR ET RESPIRATION DES CONTENEURS ELEMENTOR
   ========================================================== */

.elementor .e-con,
.elementor .elementor-section {
  --content-width: 1240px;
}

.elementor-element {
  --widgets-spacing: 1.25rem;
}

.elementor-widget-container {
  min-width: 0;
}


/* ==========================================================
   5. HIÉRARCHIE TYPOGRAPHIQUE
   ========================================================== */

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title {
  margin-top: 0;
  color: var(--et-primary);
  font-family: var(--et-serif);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.15;
  text-wrap: balance;
}

h1,
.elementor-widget-heading h1 {
  font-size: clamp(2.7rem, 6vw, 5.8rem);
}

h2,
.elementor-widget-heading h2 {
  font-size: clamp(2.1rem, 4.5vw, 4rem);
}

h3,
.elementor-widget-heading h3 {
  font-size: clamp(1.5rem, 3vw, 2.4rem);
}

h4,
.elementor-widget-heading h4 {
  font-size: clamp(1.2rem, 2vw, 1.7rem);
}

h5,
h6 {
  font-size: 1.1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1.1rem;
}

strong {
  font-weight: 700;
}

em {
  font-family: var(--et-serif);
}

blockquote {
  margin: 2rem 0;
  padding: 1.5rem 1.8rem;
  border-left: 3px solid var(--et-accent);
  background: var(--et-soft);
  color: var(--et-primary);
  font-family: var(--et-serif);
  font-size: clamp(1.25rem, 2.4vw, 1.8rem);
  font-style: italic;
  line-height: 1.4;
}


/* ==========================================================
   6. LIENS
   ========================================================== */

a {
  color: var(--et-primary);
  text-underline-offset: .25em;
  transition:
    color var(--et-transition),
    background-color var(--et-transition),
    border-color var(--et-transition);
}

.elementor-widget-text-editor a,
.elementor-widget-theme-post-content a,
.elementor-widget-heading a {
  color: var(--et-secondary);
  font-weight: 600;
}

.elementor-widget-text-editor a:hover,
.elementor-widget-theme-post-content a:hover,
.elementor-widget-heading a:hover {
  color: var(--et-accent);
}


/* ==========================================================
   7. BOUTONS ELEMENTOR
   S’applique aux boutons principaux du site.
   ========================================================== */

.elementor-button,
.et-btn,
button[type="submit"],
input[type="submit"] {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  padding: .85rem 1.35rem;
  border: 1px solid transparent;
  border-radius: var(--et-radius-sm);
  color: var(--et-primary);
  background: var(--et-accent);
  font-family: var(--et-sans);
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition:
    transform var(--et-transition),
    box-shadow var(--et-transition),
    background-color var(--et-transition),
    border-color var(--et-transition);
}

.elementor-button:hover,
.et-btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  color: var(--et-primary);
  background: var(--et-soft-strong);
  border-color: var(--et-accent);
  box-shadow: var(--et-shadow);
  transform: translateY(-2px);
}

.elementor-button:active,
.et-btn:active,
button[type="submit"]:active,
input[type="submit"]:active {
  transform: translateY(0);
}


/* Bouton secondaire Elementor */

.elementor-button.elementor-size-sm,
.et-btn-secondary {
  color: var(--et-primary);
  background: transparent;
  border-color: var(--et-border-strong);
}

.elementor-button.elementor-size-sm:hover,
.et-btn-secondary:hover {
  color: var(--et-primary);
  background: var(--et-soft);
  border-color: var(--et-accent);
}


/* Variante outline réutilisable */

.et-btn-outline {
  color: var(--et-primary) !important;
  background: transparent !important;
  border: 1px solid var(--et-border-strong) !important;
}

.et-btn-outline:hover {
  color: var(--et-primary) !important;
  background: var(--et-soft) !important;
  border-color: var(--et-accent) !important;
}


/* ==========================================================
   8. CLASSES RÉUTILISABLES DANS ELEMENTOR
   À ajouter dans l’onglet Avancé → Classes CSS
   ========================================================== */


/*
  .et-surface
  Conteneur principal de section.
*/

.et-surface {
  position: relative;
  overflow: hidden;
  padding: clamp(3rem, 7vw, 7rem) clamp(1.25rem, 4vw, 4rem);
  background: var(--et-background);
  border-top: 1px solid var(--et-border);
  border-bottom: 1px solid var(--et-border);
}


/*
  .et-surface-soft
  Section légèrement teintée par l’accent.
*/

.et-surface-soft {
  position: relative;
  overflow: hidden;
  padding: clamp(3rem, 7vw, 7rem) clamp(1.25rem, 4vw, 4rem);
  background: var(--et-soft);
  border-top: 1px solid var(--et-border);
  border-bottom: 1px solid var(--et-border);
}


/*
  .et-card
  Carte éditoriale générique.
*/

.et-card {
  position: relative;
  height: 100%;
  padding: clamp(1.25rem, 3vw, 2rem);
  background: var(--et-background);
  border: 1px solid var(--et-border);
  border-radius: var(--et-radius-md);
  box-shadow: 0 8px 25px rgba(17, 21, 17, .04);
  transition:
    transform var(--et-transition),
    box-shadow var(--et-transition),
    border-color var(--et-transition);
}

.et-card:hover {
  border-color: var(--et-accent);
  box-shadow: var(--et-shadow-hover);
  transform: translateY(-4px);
}


/*
  .et-card-dark
  Carte plus dense sans forcer un noir absolu.
*/

.et-card-dark {
  position: relative;
  height: 100%;
  padding: clamp(1.25rem, 3vw, 2rem);
  color: var(--et-background);
  background: var(--et-primary);
  border-radius: var(--et-radius-md);
}

.et-card-dark :where(h1, h2, h3, h4, h5, h6, p, span, li, small, strong, em),
.et-card-dark .elementor-heading-title,
.et-card-dark .elementor-icon-list-text {
  color: #f3eee3;
}
.et-card-dark :where(a:not(.elementor-button)) {
  color: #f1dbb0;
  text-decoration-thickness: 1px;
}
.et-card-dark :where(a:not(.elementor-button)):hover,
.et-card-dark :where(a:not(.elementor-button)):focus-visible {
  color: #ffffff;
}
.et-card-dark :where(input:not([type="submit"]), textarea, select) {
  color: #f3eee3;
  background-color: #263129;
  border-color: #b59353;
}
.et-card-dark :where(input, textarea)::placeholder { color: #dfd5bc; }


/*
  .et-kicker
  Petit surtitre éditorial.
*/

.et-kicker {
  display: block;
  margin-bottom: 1rem;
  color: var(--et-secondary);
  font-family: var(--et-sans);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.5;
  text-transform: uppercase;
}


/*
  .et-display
  Grand titre de couverture.
*/

.et-display {
  max-width: 14ch;
  color: var(--et-primary);
  font-family: var(--et-serif);
  font-size: clamp(3rem, 7vw, 7rem);
  font-weight: 500;
  letter-spacing: -.06em;
  line-height: 1.02;
}


/*
  .et-display em
*/

.et-display em {
  color: var(--et-secondary);
}


/*
  .et-number
  Numéros éditoriaux : 01, 02, 50...
*/

.et-number {
  color: var(--et-secondary);
  font-family: var(--et-serif);
  font-size: clamp(3rem, 8vw, 8rem);
  font-weight: 500;
  letter-spacing: -.08em;
  line-height: .85;
}


/*
  .et-rule
  Ligne décorative.
*/

.et-rule {
  width: 100%;
  height: 1px;
  background: var(--et-border);
}


/*
  .et-accent-rule
*/

.et-accent-rule {
  width: 48px;
  height: 3px;
  background: var(--et-accent);
}


/*
  .et-caption
*/

.et-caption {
  color: var(--et-muted);
  font-size: .78rem;
  line-height: 1.6;
}


/* ==========================================================
   9. FORMULAIRES ELEMENTOR
   ========================================================== */

.elementor-form input:not([type="submit"]),
.elementor-form textarea,
.elementor-form select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
textarea,
select {
  width: 100%;
  min-height: 50px;
  padding: .8rem 1rem;
  color: var(--et-text);
  background: transparent;
  border: 1px solid var(--et-border-strong);
  border-radius: var(--et-radius-sm);
  font-family: var(--et-sans);
  transition:
    border-color var(--et-transition),
    box-shadow var(--et-transition);
}

.elementor-form textarea,
textarea {
  min-height: 140px;
  resize: vertical;
}

.elementor-form input:not([type="submit"]):focus,
.elementor-form textarea:focus,
.elementor-form select:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--et-accent);
  box-shadow: 0 0 0 3px var(--et-soft-strong);
  outline: none;
}

.elementor-field-label,
.elementor-form label {
  color: var(--et-primary);
  font-size: .82rem;
  font-weight: 600;
}


/* ==========================================================
   10. FAQ ACCORDÉON ET DETAILS
   ========================================================== */

.elementor-accordion .elementor-accordion-item,
.elementor-toggle .elementor-toggle-item {
  border-color: var(--et-border) !important;
}

.elementor-accordion .elementor-tab-title,
.elementor-toggle .elementor-tab-title {
  padding: 1.2rem 0 !important;
  color: var(--et-primary);
  background: transparent !important;
  font-family: var(--et-sans);
  font-weight: 600;
}

.elementor-accordion .elementor-tab-content,
.elementor-toggle .elementor-tab-content {
  padding: 0 0 1.3rem !important;
  color: var(--et-text);
  background: transparent !important;
}

details.et-global-details {
  border-top: 1px solid var(--et-border);
}

details.et-global-details:last-child {
  border-bottom: 1px solid var(--et-border);
}

details.et-global-details summary {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: var(--et-primary);
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

details.et-global-details summary::-webkit-details-marker {
  display: none;
}

details.et-global-details summary::after {
  content: "+";
  color: var(--et-secondary);
  font-size: 1.5rem;
  font-weight: 400;
}

details.et-global-details[open] summary::after {
  content: "−";
}

details.et-global-details > div {
  padding: 0 0 1.5rem;
}


/* ==========================================================
   11. IMAGES ET GALERIES
   ========================================================== */

.elementor-widget-image img,
.elementor-widget-gallery img,
.et-image-editorial img {
  border-radius: var(--et-radius-md);
}

.et-image-editorial {
  position: relative;
  padding: 0 1rem 1rem 0;
}

.et-image-editorial::after {
  content: "";
  position: absolute;
  inset: 1rem 0 0 1rem;
  z-index: -1;
  border: 1px solid var(--et-accent);
}

.et-image-editorial img {
  display: block;
  width: 100%;
}


/* ==========================================================
   12. BADGES, AVIS ET NOTES MORALES
   ========================================================== */

.et-badge {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: .4rem;
  padding: .4rem .75rem;
  color: var(--et-primary);
  background: var(--et-soft-strong);
  border: 1px solid var(--et-accent);
  border-radius: 4px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.et-rating {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
  color: var(--et-primary);
  font-size: .82rem;
}

.et-rating-stars {
  color: var(--et-secondary);
  letter-spacing: .08em;
}

.et-moral-score {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  margin-top: .65rem;
  padding: .35rem .65rem;
  color: var(--et-muted);
  background: var(--et-soft);
  border: 1px solid var(--et-border);
  border-radius: 4px;
  font-size: .72rem;
}

.et-moral-score strong,
.et-moral-score b {
  color: var(--et-secondary);
}


/* ==========================================================
   13. TABLEAUX
   ========================================================== */

.elementor-widget-text-editor table,
.et-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
}

.elementor-widget-text-editor th,
.elementor-widget-text-editor td,
.et-table th,
.et-table td {
  padding: .9rem .75rem;
  border-bottom: 1px solid var(--et-border);
  text-align: left;
  vertical-align: top;
}

.elementor-widget-text-editor th,
.et-table th {
  color: var(--et-primary);
  font-weight: 700;
}


/* ==========================================================
   14. LISTES
   ========================================================== */

.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol {
  padding-left: 1.4rem;
}

.elementor-widget-text-editor li + li {
  margin-top: .55rem;
}

.elementor-widget-text-editor li::marker {
  color: var(--et-secondary);
}


/* ==========================================================
   15. HEADER ELEMENTSKIT
   Le header reste contrôlé par ElementsKit.
   Ces règles harmonisent uniquement son apparence.
   ========================================================== */

.elementskit-navbar-nav > li > a,
.elementskit-menu-container .elementskit-navbar-nav > li > a {
  color: var(--et-primary) !important;
  font-family: var(--et-sans);
  font-size: .84rem;
  font-weight: 600;
  letter-spacing: .01em;
}

.elementskit-navbar-nav > li > a:hover,
.elementskit-menu-container .elementskit-navbar-nav > li > a:hover {
  color: var(--et-secondary) !important;
}

.elementskit-navbar-nav > li.current-menu-item > a,
.elementskit-navbar-nav > li.current-menu-ancestor > a {
  color: var(--et-secondary) !important;
}

.elementskit-menu-container,
.elementskit-megamenu-panel,
.elementskit-dropdown {
  background-color: var(--et-background) !important;
  border-color: var(--et-border) !important;
}

.elementskit-menu-hamburger {
  border-color: var(--et-border) !important;
  color: var(--et-primary) !important;
}

.elementskit-menu-hamburger:hover {
  color: var(--et-secondary) !important;
}


/* ==========================================================
   16. FOOTER ELEMENTSKIT
   Le footer reste contrôlé par ElementsKit.
   ========================================================== */

.elementor-location-footer {
  color: var(--et-background);
  background: var(--et-primary);
}

.elementor-location-footer :where(h1, h2, h3, h4, h5, h6) {
  color: var(--et-background);
}

.elementor-location-footer a {
  color: var(--et-background);
}

.elementor-location-footer a:hover {
  color: var(--et-accent);
}

.elementor-location-footer .elementor-button {
  color: var(--et-primary);
  background: var(--et-accent);
}


/* ==========================================================
   17. COMPATIBILITÉ DARK MODE
   Le site conserve la palette définie dans Elementor.
   Aucun changement automatique agressif.
   ========================================================== */

@media (prefers-color-scheme: dark) {
  /*
    Désactivé volontairement.
    Le mode sombre doit être défini dans Elementor,
    pas imposé par le système d’exploitation.
  */
}


/* ==========================================================
   18. RESPONSIVE
   ========================================================== */

@media (max-width: 767px) {
  body {
    font-size: 15px;
  }

  h1,
  .elementor-widget-heading h1 {
    font-size: clamp(2.5rem, 13vw, 4rem);
  }

  h2,
  .elementor-widget-heading h2 {
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .et-surface,
  .et-surface-soft {
    padding: 3.2rem 1.1rem;
  }

  .et-display {
    font-size: clamp(2.8rem, 15vw, 5rem);
  }

  .elementor-button,
  .et-btn,
  button[type="submit"],
  input[type="submit"] {
    width: 100%;
    min-height: 50px;
  }

  .et-card {
    padding: 1.25rem;
  }

  .elementor-widget-text-editor table,
  .et-table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}


/* ==========================================================
   19. RÉDUCTION DES ANIMATIONS
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* 21. TEMFACK DESIGN SYSTEM 2.0: reusable, page-scoped primitives.
   Applied only where an explicit et-ds class exists; legacy Elementor
   custom CSS remains untouched until per-page equivalence is verified. */
body.page {
  --et-ds-ink: #172019;
  --et-ds-paper: #f3eee3;
  --et-ds-gold: #c59b52;
  --et-ds-border: #d8c9ac;
  --et-ds-muted: #465047;
}
body.page :where(.et-ds-card, .et-ds-panel) {
  background: #fff;
  color: var(--et-ds-ink);
  border: 1px solid var(--et-ds-border);
  border-radius: 12px;
}
body.page .et-ds-card {padding: clamp(1rem, 2.5vw, 1.75rem);}
body.page .et-ds-panel {padding: clamp(1.25rem, 3vw, 2.5rem);}
body.page :where(.et-ds-card-dark, .et-ds-panel-dark) {
  background: #172019;
  color: #f3eee3;
  border: 1px solid #b59353;
  border-radius: 12px;
}
body.page :where(.et-ds-card-dark, .et-ds-panel-dark) :where(h1,h2,h3,h4,h5,h6,p,li,span,strong,small,em,.elementor-heading-title,.elementor-icon-list-text) {color: #f3eee3;}
body.page :where(.et-ds-card-dark, .et-ds-panel-dark) a:not(.elementor-button) {color: #f1dbb0;}
body.page :where(.et-ds-card-dark, .et-ds-panel-dark) a:not(.elementor-button):is(:hover,:focus-visible) {color: #fff;}
body.page .et-ds-button, body.page a.et-ds-button {
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:44px;padding:.75rem 1.4rem;border-radius:6px;
  color:#172019;background:#c59b52;border:2px solid #c59b52;
  font-weight:700;text-decoration:none;
}
body.page .et-ds-button:is(:hover,:focus-visible),body.page a.et-ds-button:is(:hover,:focus-visible) {
  color:#fff;background:#172019;border-color:#c59b52;
}
body.page .et-ds-quote {
  margin-block:1.5rem;padding:1rem 1.5rem;
  border-inline-start:4px solid #c59b52;background:#f3eee3;color:#172019;
}
body.page .et-ds-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(1rem,2vw,1.5rem);}
body.page :where(.et-ds-faq, .et-ds-badge) {color:#172019;}
body.page .et-ds-badge {display:inline-flex;border:1px solid #d8c9ac;border-radius:999px;padding:.35rem .75rem;background:#f3eee3;}
body.page :where(.et-ds-card, .et-ds-panel, .et-ds-card-dark, .et-ds-panel-dark) :where(img,iframe,video) {max-width:100%;height:auto;}
body.page :where(.et-ds-form) :where(input:not([type="submit"]), select, textarea) {
  max-width:100%;width:100%;min-height:44px;color:#172019;
  background:#fff;border:1px solid #657368;border-radius:6px;
}
body.page :where(.et-ds-form) :where(input,select,textarea):focus-visible,
body.page :where(.et-ds-button, .et-ds-faq, .et-ds-card, .et-ds-card-dark) :focus-visible {
  outline:3px solid #c59b52;outline-offset:3px;
}
@media(max-width:767px){
 body.page .et-ds-grid {grid-template-columns:minmax(0,1fr);}
 body.page :where(.et-ds-card,.et-ds-panel,.et-ds-card-dark,.et-ds-panel-dark) {min-width:0;overflow-wrap:anywhere;}
}

/* 22. FAMILY: BOOK FAQ (French and English) — shared baseline.
   Scope to actual Elementor page IDs to avoid touching unrelated FAQs.
   Existing component CSS remains authoritative for custom layouts. */
body.page-id-491 .faq-grid,
body.page-id-1247 .faq-grid {gap: clamp(1rem, 2vw, 1.5rem);min-width:0;}
body.page-id-491 .faq-question,
body.page-id-1247 .faq-question {cursor:pointer;overflow-wrap:break-word;}
body.page-id-491 .faq-question:focus-visible,
body.page-id-1247 .faq-question:focus-visible,
body.page-id-491 .faq-grid a:focus-visible,
body.page-id-1247 .faq-grid a:focus-visible {
  outline:3px solid #c59b52;outline-offset:3px;
}
body.page-id-491 .faq-answer,
body.page-id-1247 .faq-answer {overflow-wrap:anywhere;}
body.page-id-491 .faq-grid :where(img,iframe,video),
body.page-id-1247 .faq-grid :where(img,iframe,video) {max-width:100%;height:auto;}
@media(max-width:767px){
  body.page-id-491 .faq-grid,
  body.page-id-1247 .faq-grid {max-width:100%;min-width:0;}
  body.page-id-491 .faq-question,
  body.page-id-1247 .faq-question {min-height:44px;}
}

/* 23. BILINGUAL FAMILY DESIGN: Contact > Author > Books.
   Scoped to six page IDs. Gentle rules only: unique visual identities stay.
   No global heading or hero background overrides. */
body:is(.page-id-426,.page-id-1182,.page-id-9,.page-id-1111,.page-id-1047,.page-id-1146) {
  --et-family-accent:#c59b52;
  --et-family-ink:#172019;
  --et-family-cream:#f3eee3;
}
body:is(.page-id-426,.page-id-1182) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),select,textarea) {
  max-width:100%;min-height:44px;
  accent-color:var(--et-family-accent);
}
body:is(.page-id-426,.page-id-1182) :where(textarea){min-height:120px;resize:vertical;}
body:is(.page-id-426,.page-id-1182) :where(label){display:inline-block;max-width:100%;overflow-wrap:anywhere;}
body:is(.page-id-426,.page-id-1182) :where(.elementor-form,form) :where(button[type="submit"],input[type="submit"]){min-height:44px;}
body:is(.page-id-9,.page-id-1111) :where(.elementor-widget-image img,.elementor-image img,figure img){max-width:100%;height:auto;}
body:is(.page-id-9,.page-id-1111) :where(blockquote,.et-ds-quote){overflow-wrap:break-word;}
body:is(.page-id-1047,.page-id-1146) :where(.elementor-widget-image img,.elementor-image img,figure img){max-width:100%;height:auto;}
body:is(.page-id-1047,.page-id-1146) :where(.elementor-button,.et-btn,.btn):not([disabled]){min-height:44px;}
body:is(.page-id-1047,.page-id-1146) :where(.elementor-widget-image,.elementor-widget-text-editor){min-width:0;}
body:is(.page-id-426,.page-id-1182,.page-id-9,.page-id-1111,.page-id-1047,.page-id-1146) :where(a,button,input,textarea,select,summary):focus-visible {
  outline:3px solid var(--et-family-accent);
  outline-offset:3px;
}
body:is(.page-id-426,.page-id-1182,.page-id-9,.page-id-1111,.page-id-1047,.page-id-1146) :where(.elementor-widget-container,.elementor-container,.e-con-inner){min-width:0;}
@media(max-width:767px){
 body:is(.page-id-426,.page-id-1182,.page-id-9,.page-id-1111,.page-id-1047,.page-id-1146) :where(.elementor-widget-container) {overflow-wrap:anywhere;}
 body:is(.page-id-426,.page-id-1182,.page-id-9,.page-id-1111,.page-id-1047,.page-id-1146) :where(img,video,iframe){max-width:100%;}
}

/* 24. Editorial consistency — named Elementor page families only.
 * Visual rhythm mirrors the homepage without overriding local dark themes.
 * Applies to FAQ, contact, author and book pages, not posts or homepages.
 */
body:is(.page-id-491,.page-id-1247,.page-id-426,.page-id-1182,.page-id-9,.page-id-1111,.page-id-1047,.page-id-1146) {
 --et-editorial-gold:#c59b52;
 --et-editorial-paper:#f3eee3;
 --et-editorial-dark:#172019;
 --et-editorial-outline:#e0cc9b;
}
body:is(.page-id-491,.page-id-1247,.page-id-426,.page-id-1182,.page-id-9,.page-id-1111,.page-id-1047,.page-id-1146) :where(main, .elementor) :where(h1,h2,h3,.elementor-heading-title) {
 text-wrap:balance;
 overflow-wrap:break-word;
}
body:is(.page-id-491,.page-id-1247,.page-id-426,.page-id-1182,.page-id-9,.page-id-1111,.page-id-1047,.page-id-1146) :where(main, .elementor) :where(p,li) {
 overflow-wrap:break-word;
}
body:is(.page-id-491,.page-id-1247,.page-id-426,.page-id-1182,.page-id-9,.page-id-1111,.page-id-1047,.page-id-1146) :where(main, .elementor) :where(a:not(.elementor-button),button):focus-visible {
 outline:3px solid var(--et-editorial-gold);outline-offset:3px;
}
body:is(.page-id-491,.page-id-1247) :where(.faq-grid) {
 width:min(100%,1200px);margin-inline:auto;
}
body:is(.page-id-491,.page-id-1247) .faq-grid :where(.faq-question) {
 text-wrap:pretty;overflow-wrap:anywhere;
}
body:is(.page-id-426,.page-id-1182) :where(form) :where(input,select,textarea) {
 font:inherit;
}
body:is(.page-id-9,.page-id-1111,.page-id-1047,.page-id-1146) :where(figure) {
 max-width:100%;
}
body:is(.page-id-9,.page-id-1111,.page-id-1047,.page-id-1146) :where(blockquote) {
 max-width:70ch;
}
@media(max-width:767px) {
 body:is(.page-id-491,.page-id-1247,.page-id-426,.page-id-1182,.page-id-9,.page-id-1111,.page-id-1047,.page-id-1146) :where(main,.elementor) :where(h1,h2,h3) {
  hyphens:auto;
 }
 body:is(.page-id-491,.page-id-1247,.page-id-426,.page-id-1182,.page-id-9,.page-id-1111,.page-id-1047,.page-id-1146) :where(.faq-grid,figure,.elementor-widget-container) {max-width:100%;}
}

/* 25. Elementor global navigation — single-line desktop + book CTA.
   The header template 1219 is shared by FR and EN.
   Only its main horizontal nav is compacted; dropdowns remain readable. */
@media (min-width:1025px) {
 .elementor-1219 .elementor-element-21286a33 {
   display:flex; align-items:center; flex-wrap:nowrap; gap:clamp(8px,1vw,20px);
 }
 .elementor-1219 .elementor-element-6d1831c5 {
   flex:0 0 auto;max-width:clamp(58px,6vw,82px);
 }
 .elementor-1219 .elementor-element-7f109225 {
   flex:1 1 auto;min-width:0;
 }
 .elementor-1219 .elementor-element-7f109225 .elementor-nav-menu--main > ul.elementor-nav-menu {
   display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;
   gap:clamp(0px,.25vw,5px);
 }
 .elementor-1219 .elementor-element-7f109225 .elementor-nav-menu--main > ul.elementor-nav-menu > li > a.elementor-item {
   font-size:clamp(10px,.78vw,12px);
   font-weight:600;letter-spacing:0;
   white-space:nowrap;line-height:1.2;
   padding:12px clamp(5px,.62vw,10px);
 }
 .elementor-1219 .elementor-element-7f109225 .elementor-nav-menu--main .sub-menu a {
   font-size:13px;line-height:1.4;
 }
}
/* Distinct conversion CTA: existing Buy The Book menu item, no extra link. */
.elementor-1219 .elementor-element-7f109225 .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item-2927 > a.elementor-item {
 display:inline-flex;align-items:center;justify-content:center;
 min-height:43px;margin-inline:5px;padding:11px 15px;
 border:1px solid #d7ad63;border-radius:7px;
 background:#c59b52;color:#172019;
 font-weight:800;letter-spacing:.01em;text-decoration:none;
 box-shadow:0 3px 12px rgba(0,0,0,.14);
 transition:background-color .18s ease,color .18s ease,box-shadow .18s ease;
}
.elementor-1219 .elementor-element-7f109225 .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item-2927 > a.elementor-item:is(:hover,:focus-visible) {
 background:#f1dbb0;color:#172019;
 box-shadow:0 5px 18px rgba(0,0,0,.2);
}
.elementor-1219 .elementor-element-7f109225 .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item-2927 > a.elementor-item:focus-visible {
 outline:3px solid #c59b52;outline-offset:3px;
}
@media (max-width:1024px) {
 .elementor-1219 .elementor-element-7f109225 .elementor-nav-menu--dropdown li.menu-item-2927 > a {
   background:#c59b52;color:#172019;font-weight:800;
   min-height:48px;border-radius:7px;margin:8px 12px;text-align:center;
 }
 .elementor-1219 .elementor-element-7f109225 .elementor-nav-menu--dropdown li.menu-item-2927 > a:is(:hover,:focus-visible) {
   background:#f1dbb0;color:#172019;
 }
}

/* 26. Editorial landing pages — WordPress native, non-Elementor.
 * Four current collection/comparison hubs (FR + EN). No changes to article CSS.
 * Preserves every existing book description, date and external purchase URL. */
body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) {
 --et-hub-green:#172019;--et-hub-cream:#f3eee3;--et-hub-gold:#c59b52;
 background:#f3eee3;color:#172019;
}
body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) .site-main {
 max-width:1120px;margin:clamp(2rem,5vw,4rem) auto;
 padding:clamp(1.25rem,4vw,3rem);
}
body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) .site-main .page-header {
 margin-bottom:clamp(1rem,2vw,2rem);
 padding:clamp(1.5rem,5vw,3.5rem);
 background:#172019;border-bottom:4px solid #c59b52;border-radius:15px;
}
body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) .site-main .page-header .entry-title {
 color:#f3eee3;font-family:var(--et-serif,Georgia,serif);
 font-size:clamp(1.65rem,3.1vw,2.85rem);line-height:1.17;
 letter-spacing:-.025em;text-wrap:balance;margin:0;
}
body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) .site-main .page-content {
 font-family:var(--et-sans,Arial,sans-serif);font-size:clamp(1rem,1.2vw,1.1rem);
 line-height:1.75;color:#172019;max-width:100%;overflow-wrap:anywhere;
}
body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) .site-main .page-content > h1 {
 font-family:var(--et-serif,Georgia,serif);color:#172019;
 font-size:clamp(1.55rem,2.6vw,2.35rem);line-height:1.2;
 margin:1.6rem 0 1rem;text-wrap:balance;
}
body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) .site-main .page-content > h2 {
 font-family:var(--et-serif,Georgia,serif);color:#172019;
 font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.25;margin:2.5rem 0 1rem;
 padding-bottom:.45rem;border-bottom:2px solid #c59b52;text-wrap:balance;
}
body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) .site-main .page-content > p {
 max-width:75ch;margin:0 0 1.25rem;
}
body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) .site-main .page-content > ul {
 list-style:none;padding:0;margin:1.5rem 0 2.5rem;
 display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1rem;
}
body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) .site-main .page-content > ul > li {
 min-width:0;background:#fff;padding:clamp(1rem,2vw,1.5rem);
 border:1px solid #dfd4bd;border-top:3px solid #c59b52;
 border-radius:10px;box-shadow:0 10px 22px rgba(23,32,25,.05);
}
body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) .site-main .page-content a {
 color:#43502b;text-decoration:underline;text-underline-offset:3px;font-weight:650;
}
body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) .site-main .page-content li a[href*="amazon."] {
 display:inline-flex;align-items:center;justify-content:center;min-height:44px;
 margin-top:1rem;padding:.65rem 1rem;border-radius:6px;background:#c59b52;
 color:#172019;text-decoration:none;font-weight:800;
}
body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) .site-main .page-content li a[href*="amazon."]:is(:hover,:focus-visible){
 background:#172019;color:#fff;
}
body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) .site-main a:focus-visible {
 outline:3px solid #98702a;outline-offset:3px;
}
@media(max-width:767px) {
 body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) .site-main {
  margin:1rem auto;padding:1rem;
 }
 body:is(.page-id-5032,.page-id-5033,.page-id-5041,.page-id-5043) .site-main .page-content > ul {
  grid-template-columns:minmax(0,1fr);
 }
}

/* The FR localized purchase item also receives the gold CTA design. */
.elementor-1219 .elementor-element-7f109225 .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item-2928 > a.elementor-item {
 display:inline-flex;align-items:center;justify-content:center;
 min-height:43px;margin-inline:5px;padding:11px 15px;
 border:1px solid #d7ad63;border-radius:7px;
 background:#c59b52;color:#172019;
 font-weight:800;letter-spacing:.01em;text-decoration:none;
 box-shadow:0 3px 12px rgba(0,0,0,.14);
}
.elementor-1219 .elementor-element-7f109225 .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item-2928 > a.elementor-item:is(:hover,:focus-visible) {
 background:#f1dbb0;color:#172019;outline-color:#c59b52;
}
@media(max-width:1024px) {
 .elementor-1219 .elementor-element-7f109225 .elementor-nav-menu--dropdown li.menu-item-2928 > a {
  background:#c59b52;color:#172019;font-weight:800;
  min-height:48px;border-radius:7px;margin:8px 12px;text-align:center;
 }
}

/* 27. Remaining editorial pages: responsive safety and shared rhythm.
   Applies across WordPress pages, excluding both homes and site-wide Elementor
   header/footer; leaves per-page artistic palettes/backgrounds intact. */
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.elementor, .page-content) {
 min-width:0;
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.elementor-widget-container, .e-con, .e-con-inner) {
 min-width:0;
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(h1,h2,h3,h4) {
 text-wrap:balance;overflow-wrap:break-word;
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(p,li,blockquote,figcaption) {
 overflow-wrap:break-word;
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(img,video,iframe,svg) {
 max-width:100%;
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(a,button,input,select,textarea,summary):focus-visible {
 outline:3px solid #c59b52;outline-offset:3px;
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.elementor-button,button[type="submit"],input[type="submit"]) {
 min-height:44px;
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(table) {
 max-width:100%;
}
@media(max-width:767px) {
 body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.elementor-container,.e-con-inner,.elementor-widget-container) {
  max-width:100%;min-width:0;
 }
 body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(table) {
  display:block;overflow-x:auto;
 }
}
/* Extra polish on reference, archive and educational page families.
   No forced typography or text color inside their dark custom sections. */
body:is(.page-id-1315,.page-id-1325,.page-id-2668,.page-id-2839,.page-id-2474,.page-id-3135,.page-id-1602,.page-id-1610,.page-id-1654,.page-id-1664,.page-id-1498,.page-id-1503,.page-id-1555,.page-id-1558,.page-id-2460,.page-id-3150,.page-id-2462,.page-id-3057,.page-id-2465,.page-id-3036,.page-id-2472,.page-id-3008,.page-id-2470,.page-id-2963) .site-main :where(.elementor-widget-image img,figure img) {
 height:auto;object-fit:contain;
}
body:is(.page-id-1315,.page-id-1325,.page-id-2668,.page-id-2839,.page-id-2474,.page-id-3135) .site-main :where(.elementor-button,button[type="submit"]) {
 border-radius:6px;
}
@media(prefers-reduced-motion:reduce) {
 body.page .site-main :where([data-reveal], .elementor-invisible) {
  opacity:1;transform:none;
 }
}

/* 29. CTA contrast safeguards — forest/dark vs gold/cream.
 * Scope to interactive button families only, not ordinary editorial links.
 * Keep text and nested Elementor label/icon color coherent on dark surfaces. */
body :where(.et-btn,.elementor-button,.btn,.btn-primary,.btn-dark,.btn-gold,.et-ds-button,button[type="submit"],input[type="submit"]):is(.et-btn--gold,.btn-gold,.et-ds-button) {
 color:#172019;
 background-color:#c59b52;
}
body :where(.et-btn,.elementor-button,.btn,.btn-primary,.btn-dark,.btn-gold,.et-ds-button,button[type="submit"]):is(.et-btn--gold,.btn-gold,.et-ds-button) :where(.elementor-button-text,.elementor-button-icon,span,i,svg) {
 color:inherit;
}
body :where(.btn-dark,.et-btn--dark,.et-btn-dark,.et-btn-secondary,.btn-secondary) {
 color:#f3eee3;
 background-color:#172019;
 border-color:#c59b52;
}
body :where(.btn-dark,.et-btn--dark,.et-btn-dark,.et-btn-secondary,.btn-secondary) :where(span,.elementor-button-text,.elementor-button-icon,i,svg) {
 color:inherit;
}
body :where(.btn-dark,.et-btn--dark,.et-btn-dark,.et-btn-secondary,.btn-secondary):is(:hover,:focus-visible) {
 color:#172019;
 background-color:#f3eee3;
}
body :where(.btn-dark,.et-btn--dark,.et-btn-dark,.et-btn-secondary,.btn-secondary):is(:hover,:focus-visible) :where(span,.elementor-button-text,.elementor-button-icon,i,svg) {
 color:inherit;
}
/* WordPress/Elementor button widgets with an explicitly dark inline background. */
body :where(.wp-block-button__link,.elementor-button)[style*="background-color: #000"],
body :where(.wp-block-button__link,.elementor-button)[style*="background-color:#000"],
body :where(.wp-block-button__link,.elementor-button)[style*="background-color: #172019"],
body :where(.wp-block-button__link,.elementor-button)[style*="background-color:#172019"] {
 color:#fff;
}
body :where(.wp-block-button__link,.elementor-button)[style*="background-color: #000"] :where(span,i,svg),
body :where(.wp-block-button__link,.elementor-button)[style*="background-color:#000"] :where(span,i,svg),
body :where(.wp-block-button__link,.elementor-button)[style*="background-color: #172019"] :where(span,i,svg),
body :where(.wp-block-button__link,.elementor-button)[style*="background-color:#172019"] :where(span,i,svg) { color:inherit; }

/* 28. EDITORIAL REDESIGN 2026 — interior editorial families.
   Shared author visual language: forest, ivory, antique gold.
   Scope to page content only: Elementor header/footer, front pages and posts
   retain their original visuals and interaction behavior.
   Page-specific strong inline designs may override these base enhancements. */
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main {
  --et-redesign-forest:#172019;
  --et-redesign-cream:#f3eee3;
  --et-redesign-gold:#c59b52;
  --et-redesign-edge:rgba(197,155,82,.32);
  --et-redesign-lift:0 12px 35px rgba(17,29,21,.11);
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.hero, .et-hero) :where(.eyebrow,.kicker,.et-kicker) {
  font-size:clamp(.72rem,.78vw,.83rem);
  font-weight:750;letter-spacing:.115em;text-transform:uppercase;
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.hero,.et-hero) :where(h1) {
  font-size:clamp(2.1rem,4.8vw,4.5rem);
  line-height:1.07;letter-spacing:-.04em;text-wrap:balance;
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.hero,.et-hero) :where(.lead,.hero-sub,.hero-intro) {
  font-size:clamp(1rem,1.42vw,1.21rem);line-height:1.73;max-width:68ch;
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.content-section,.et-section,.section) :where(h2,.et-title) {
  text-wrap:balance;letter-spacing:-.025em;
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.grid-cards,.grid-3,.grid-5,.et-guides-grid,.category-grid,.faq-grid) {
  row-gap:clamp(1rem,2.2vw,1.75rem);
  column-gap:clamp(1rem,2.2vw,1.75rem);
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.card,.card-resource,.et-guide-card,.figure-card,.et-ds-card) {
  border-radius:clamp(10px,1.2vw,16px);
  border-color:var(--et-redesign-edge);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.card,.card-resource,.et-guide-card,.figure-card,.et-ds-card):hover {
  transform:translateY(-3px);
  box-shadow:var(--et-redesign-lift);
  border-color:#c59b52;
 }
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.btn,.et-btn,.btn-gold,.btn-primary,.elementor-button) {
  border-radius:7px;
  min-height:44px;
  align-items:center;justify-content:center;
  text-align:center;
  transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.btn,.et-btn,.elementor-button):focus-visible {
  outline:3px solid #c59b52;outline-offset:3px;
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.quote-box,.et-quote-box,blockquote) {
  border-radius:10px;max-width:78ch;
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.hero-media,.et-hero-image,.book-shell,.portrait) :where(img) {
  max-width:100%;height:auto;
}
body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.hero-actions,.et-actions) {
  display:flex;flex-wrap:wrap;gap:clamp(.6rem,1vw,1rem);
}
@media(max-width:767px) {
 body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.hero,.et-hero) :where(h1) {
  font-size:clamp(2rem,8vw,3rem);
 }
 body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.hero-actions,.et-actions) :where(.btn,.et-btn) {
  min-height:48px;
 }
 body.page:not(.home):not(.page-id-554):not(.page-id-1007) .site-main :where(.grid-3,.grid-5,.grid-cards,.et-guides-grid,.category-grid) {
  max-width:100%;min-width:0;
 }
}
@media(prefers-reduced-motion:reduce) {
 body.page .site-main :where(.card,.card-resource,.et-guide-card,.figure-card) {
  transition:none;transform:none;
 }
}

/* ==========================================================
   20. HARMONISATION DES PAGES — brouillon 2026-10-09
   Pages statiques uniquement. Exclut les articles, les
   accueils et les composants de navigation globale.
   La page d'accueil conserve son dessin de référence.
   ========================================================== */
body.page:not(.home):not(.single-post) {
  --et-page-ink: #172019;
  --et-page-gold: #c59b52;
  --et-page-cream: #f3eee3;
  --et-page-panel: #ffffff;
  color: var(--et-page-ink);
  background-color: var(--et-page-cream);
}
body.page:not(.home) :where(.entry-content, .elementor-location-single) {
  color: var(--et-page-ink);
  font-family: var(--et-sans);
  line-height: 1.7;
}
body.page:not(.home) :where(.entry-content, .elementor-location-single) :where(h1,h2,h3,h4,h5,h6) {
  font-family: var(--et-serif);
  letter-spacing: -.035em;
  line-height: 1.16;
  text-wrap: balance;
}
body.page:not(.home) :where(.entry-content, .elementor-location-single) :where(a:not(.elementor-button)) {
  text-underline-offset: .2em;
}
body.page:not(.home) :where(.entry-content, .elementor-location-single) :where(img) {
  max-width: 100%;
  height: auto;
}
body.page:not(.home) :where(.entry-content, .elementor-location-single) :where(blockquote) {
  border-inline-start: 3px solid var(--et-page-gold);
}
body.page:not(.home) :where(.entry-content, .elementor-location-single) :where(table) {
  max-width: 100%;
}
body.page:not(.home) :where(.entry-content, .elementor-location-single) :where(a,button,input,select,textarea):focus-visible {
  outline: 3px solid var(--et-page-gold);
  outline-offset: 3px;
}
@media (max-width: 767px) {
  body.page:not(.home) :where(.entry-content, .elementor-location-single) :where(table) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}

