/* Céline Guillaume — mobile site V1.2.0 | toutes les pages sauf l'accueil | <=767px
   Palette : nuit #1B1F29 · bleu #2925F4 · blanc cassé #F9FAFA */

/* Liens avec un fond blanc collé depuis un traitement de texte (invisibles sur fond sombre) : toutes les pages, accueil compris */
@media (max-width:767px) {
  .elementor-widget-text-editor a[style*="background"] { background-color:transparent !important; text-decoration:underline; text-underline-offset:3px; }
}

@media (max-width:767px) {
  body:not(.home) { --cg-night:#1B1F29; --cg-blue:#2925F4; --cg-paper:#F9FAFA; overflow-x:clip; }

  /* ---------- Bandeaux photo en haut de page ----------
     Sur mobile la photo s'affichait par son coin haut-gauche (noir ou flou) : on la recadre au centre */
  body:not(.home) .elementor > .e-con.e-parent:first-child {
    background-size:cover !important; background-position:center 28% !important; background-repeat:no-repeat !important;
  }
  /* Page du roman et Biographie : bandeau photo sans texte, hauteur ramenée à 60 % de l'écran */
  body:not(.home) .elementor-element-73c5b09,
  body:not(.home) .elementor-element-0564adf { min-height:60vh; --padding-top:0px; --padding-bottom:0px; }
  /* Biographie : le visage est à droite de la photo panoramique */
  body:not(.home) .elementor-element-0564adf { background-position:86% 30% !important; }
  body:not(.home) .elementor-element-e91b222,
  body:not(.home) .elementor-element-abf99e5 { min-height:0; height:0; --min-height:0px; }

  /* Actu : titre « Entre les lignes » (interligne à 1 px, les lettres se chevauchaient) */
  body:not(.home) .elementor-element-439291e7 { position:relative; }
  body:not(.home) .elementor-element-439291e7::before {
    content:""; position:absolute; inset:0; pointer-events:none; background:rgba(27,31,41,.45);
  }
  body:not(.home) .elementor-element-439291e7 > * { position:relative; z-index:1; }
  body:not(.home) .elementor-element-46b8d65f .elementor-heading-title {
    line-height:1.3 !important; text-align:center !important; letter-spacing:2px !important; font-size:clamp(28px,8.5vw,36px) !important;
  }
  body:not(.home) .elementor-element-46b8d65f .elementor-heading-title p { margin:0; }

  /* ---------- Titres ---------- */
  body:not(.home) .elementor-widget-heading :is(h1,h2,h3) br,
  body:not(.home) .elementor-widget-theme-post-title h1 br { display:none; }
  body:not(.home) .elementor-widget-heading :is(h1,h2,h3),
  body:not(.home) .elementor-widget-theme-post-title h1 { text-wrap:balance; }
  body:not(.home) .elementor-widget-theme-post-title h1 { font-size:clamp(26px,7.4vw,32px) !important; line-height:1.22 !important; }
  /* trait bleu sous les titres de section Biographie / L'intention */
  body:not(.home) .elementor-element-32957948 .elementor-heading-title::after,
  body:not(.home) .elementor-element-91cf57a .elementor-heading-title::after,
  body:not(.home) .elementor-element-c83f0ce .elementor-heading-title::after {
    content:""; display:block; width:44px; height:2px; margin-top:14px; background:var(--cg-blue);
  }
  body:not(.home) .elementor-element-c83f0ce .elementor-heading-title::after { margin-inline:auto; }

  /* ---------- Articles : le texte était coincé dans une colonne de 135 px (marges de 100 px héritées de l'ordinateur) ---------- */
  body:not(.home) .elementor-widget-theme-post-content > .elementor-widget-container { margin-left:0 !important; margin-right:0 !important; }
  body:not(.home) .elementor-widget-theme-post-content { font-size:17px; }

  /* ---------- Textes : alignés à gauche (le justifié crée des trous sur mobile) ---------- */
  body:not(.home) .elementor-element-4e24f19 :is(p,li),
  body:not(.home) .elementor-widget-theme-post-content :is(p,li,h2,h3,h4,h5) { text-align:left !important; }
  body:not(.home) .elementor-widget-text-editor,
  body:not(.home) .elementor-widget-theme-post-content { line-height:1.72; overflow-wrap:break-word; }
  body:not(.home) .elementor-widget-theme-post-content :is(h2,h3) { font-size:clamp(22px,6.2vw,27px) !important; line-height:1.3 !important; margin-top:1.6em; text-wrap:balance; }
  body:not(.home) .elementor-widget-theme-post-content img { border-radius:12px; height:auto; }
  body:not(.home) .elementor-widget-theme-post-content blockquote {
    margin:1.6em 0; padding:4px 0 4px 18px; border-left:3px solid var(--cg-blue); font-style:italic;
  }

  /* ---------- Citations ---------- */
  body:not(.home) .elementor-element-fbef993 .elementor-heading-title,
  body:not(.home) .elementor-element-5db901c .elementor-heading-title { font-size:clamp(21px,5.8vw,26px) !important; line-height:1.5 !important; }
  /* signature invisible (bleu nuit sur fond bleu nuit) sur la page du roman */
  body:not(.home) .elementor-element-a0abaf7 .elementor-heading-title { color:var(--cg-paper) !important; }
  /* citation de la Biographie en carte, comme sur l'accueil */
  body:not(.home) .elementor-element-21a5bd3f {
    background:#fff; border-radius:16px; padding:34px 22px 30px; box-shadow:0 18px 40px -24px rgba(27,31,41,.35);
  }

  /* ---------- Photos ---------- */
  body:not(.home) :is(.elementor-element-fe823bd,.elementor-element-07bba94,.elementor-element-5ba7a457,.elementor-element-7cf147c) img { border-radius:14px; }
  body:not(.home) .elementor-widget-theme-post-featured-image img { border-radius:14px; }
  body:not(.home) .elementor-element-27308c9 { margin-top:32px; }

  /* ---------- Boutons ---------- */
  body:not(.home) .elementor-widget-button { text-align:center; }
  body:not(.home) .elementor-widget-button .elementor-button,
  body:not(.home) .elementor-cta__button {
    min-height:52px; width:100%; max-width:340px; display:inline-flex; align-items:center; justify-content:center;
    padding:14px 24px; border-radius:999px; line-height:1.25; font-size:14px; letter-spacing:.12em;
    transition:transform .15s ease;
  }
  body:not(.home) .elementor-widget-button .elementor-button-text::after,
  body:not(.home) .elementor-cta__button::after { content:"  →"; letter-spacing:0; }
  body:not(.home) a.elementor-button[href*="amazon"],
  body:not(.home) .elementor-cta__button {
    background:var(--cg-blue); color:#fff; box-shadow:0 12px 26px -10px rgba(41,37,244,.65);
  }
  body:not(.home) .elementor-widget-button .elementor-button:active,
  body:not(.home) .elementor-cta__button:active { transform:scale(.97); }
  body:not(.home) .elementor-widget-call-to-action .elementor-cta { border-radius:16px; overflow:hidden; }

  /* ---------- Cartes d'articles (Actu, « Plus d'articles ») ---------- */
  body:not(.home) .elementor-post__card { border-radius:14px; overflow:hidden; box-shadow:0 14px 34px -22px rgba(27,31,41,.45); }
  body:not(.home) .elementor-post__badge { border-radius:999px !important; }
  body:not(.home) .elementor-post__read-more { font-weight:600; }

  /* ---------- Contact : « Où trouver le livre ? » en cartes ---------- */
  body:not(.home) .elementor-element-77b1b5f { gap:16px; }
  body:not(.home) .elementor-element-77b1b5f > .elementor-widget-icon-box {
    background:#fff; border-radius:14px; padding:24px 18px; box-shadow:0 12px 30px -22px rgba(27,31,41,.4);
  }

  /* ---------- Pied de page ---------- */
  body:not(.home) #block-9 p {
    background:#fff; border:1px solid rgba(27,31,41,.08); border-radius:14px;
    padding:22px 20px; font-size:15px; line-height:1.6; box-shadow:0 12px 30px -22px rgba(27,31,41,.4);
  }
  body:not(.home) #block-9 a[href^="mailto:"] {
    display:inline-block; margin-top:12px; padding:10px 16px; border-radius:999px;
    background:var(--cg-night); color:#fff; font-size:13px; text-decoration:none; word-break:break-all;
  }
  body:not(.home) .ast-footer-social-1-wrap a { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }

  /* ---------- Barre d'achat collante (mêmes styles que l'accueil) ---------- */
  body:not(.home) .cg-sticky-buy {
    position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:9990;
    display:flex; align-items:center; gap:12px; padding:8px 8px 8px 10px;
    background:rgba(27,31,41,.94); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
    border-radius:999px; box-shadow:0 14px 34px -10px rgba(0,0,0,.55);
    transform:translateY(140%); opacity:0; transition:transform .3s ease, opacity .3s ease;
  }
  body:not(.home) .cg-sticky-buy.is-visible { transform:none; opacity:1; }
  body:not(.home) .cg-sticky-buy img { width:34px; height:auto; border-radius:3px; flex:none; }
  body:not(.home) .cg-sticky-buy span { flex:1; min-width:0; color:#F9FAFA; font:600 13px/1.25 "Open Sans", sans-serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  body:not(.home) .cg-sticky-buy span small { display:block; font-weight:400; opacity:.7; font-size:11.5px; }
  body:not(.home) .cg-sticky-buy a {
    flex:none; padding:11px 18px; border-radius:999px; background:#2925F4; color:#fff;
    font:600 13px/1 "Open Sans", sans-serif; letter-spacing:.06em; text-decoration:none; text-transform:uppercase;
  }
}
@media (min-width:768px) { .cg-sticky-buy { display:none; } }
@media (max-width:380px) { body:not(.home) .cg-sticky-buy span small { display:none; } }
@media (prefers-reduced-motion:reduce) { body:not(.home) .cg-sticky-buy { transition:none; } }
