/* Ongles & Folies — Lisibilité mobile V51
   Styles communs au site public et à l'aperçu privé du Studio.
   Les variables sont pilotées par content/appearance.json et les curseurs du Studio. */
@media (max-width: 800px) {
  /* Accueil cinématique : deux vraies lignes sans troisième retour surprise. */
  .of-v38-mobile-top {
    white-space: pre-line !important;
    font-size: var(--welcome-title-mobile, 50px) !important;
    line-height: 1.07 !important;
    letter-spacing: -.035em !important;
    /* Le V44 plaçait le bloc à 50 % puis le décalait de -50 %.
       V51 avait remplacé left:50% par left:12px sans supprimer ce transform :
       le titre partait donc hors écran à gauche. */
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    translate: none !important;
    text-align: center !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  .of-v38-mobile-top::after {
    width: 76px !important;
    margin-top: 23px !important;
  }
  /* Le curseur "Paragraphe mobile" s'applique enfin au vrai accueil V38. */
  .of-cin__intro p[data-v38-field="heroBody"] {
    font-size: var(--hero-copy-mobile, 20px) !important;
    line-height: 1.52 !important;
    max-width: min(94vw, 500px) !important;
  }
  .of-cin__outro p {
    font-size: calc(17px * var(--body-scale-mobile, 1)) !important;
    line-height: 1.55 !important;
  }
  .of-v38-transition p {
    font-size: calc(19px * var(--body-scale-mobile, 1)) !important;
    line-height: 1.62 !important;
  }
  .of-v38-mobile-scroll {
    font-size: 12px !important;
    line-height: 1.4 !important;
    letter-spacing: .1em !important;
  }
  .of-cin__cta {
    font-size: 12px !important;
    min-height: 44px !important;
    padding: 11px 15px !important;
    letter-spacing: .055em !important;
  }
  .of-v44-auto-label, .of-v42-auto-label, .of-v38-transition__hint {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  /* Textes de lecture sur toutes les pages. Les grands titres ne changent pas. */
  .copy, .section-subtitle, .page-hero p, .about-content p,
  .article-card p, .contact-info-card p, .contact-page p,
  .of-reviews-subheading, .of49-prose p, .of49-prose li,
  .journal .article-intro, .reviews-inside p {
    font-size: calc(18px * var(--body-scale-mobile, 1)) !important;
    line-height: 1.65 !important;
  }
  .service-desc, .service-text p, .faq-answer,
  .faq-item .answer, .salon-real-note, .price-note {
    font-size: calc(17px * var(--body-scale-mobile, 1)) !important;
    line-height: 1.6 !important;
  }
  .eyebrow, .service-cat, .of-reviews-eyebrow,
  .of-cin__kicker, .of-v38-transition__eyebrow {
    font-size: 13px !important;
    line-height: 1.5 !important;
    letter-spacing: .14em !important;
  }
  .footer small, .footer-links a, .footer-bottom,
  .price-line span, .price-line strong,
  .faq-item summary, .mobile-links a {
    font-size: calc(15px * var(--body-scale-mobile, 1)) !important;
    line-height: 1.55 !important;
  }
  .btn, .text-link, .mobile-fixed-actions a {
    font-size: calc(14px * var(--body-scale-mobile, 1)) !important;
  }
  .of-reviews-subheading { max-width: 620px; }
}
@media (max-width: 800px) and (max-height: 750px) {
  .of-v38-mobile-top {
    font-size: calc(var(--welcome-title-mobile, 50px) * .90) !important;
  }
  .of-v38-mobile-top::after { margin-top: 14px !important; }
}
@media (max-width: 400px) {
  .of-v38-mobile-top {font-size: calc(var(--welcome-title-mobile, 50px) * .94) !important;}
}
@media (max-width: 360px) {
  .of-v38-mobile-top {font-size: calc(var(--welcome-title-mobile, 50px) * .82) !important;}
}
@media (max-width: 330px) {
  .of-v38-mobile-top {font-size: calc(var(--welcome-title-mobile, 50px) * .72) !important;}
}
