/* Shared responsive layer, loaded after the existing page designs. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-weight: 400; }
main img { max-width: 100%; }
main :is(.card,.archive-card,.salon-card,.reading-inner,.archive-inner) { min-width: 0; }
main :is(h1,h2,h3,p,blockquote,li,a) { overflow-wrap: break-word; }
main :is(.button,.call-button,.home-news-button,.home-responsive-button) {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; max-width: 100%; white-space: normal; text-align: center;
  font-size: 13px; line-height: 1.5;
}
main :is(.text-link,.archive-return,.archive-open,.reading-back,.guestbook-back,.salon-read),
main .guestbook-source a { display: inline-flex; align-items: center; min-height: 44px; }
main :is(summary,button) { min-height: 44px; }
main :is(input,textarea,select) { font-size: 16px; }
main :is(.content,.nature) > p:not(.eyebrow):not(.big),
main .card p, main .reading-inner, main .archive-inner, main .guestbook-quote,
main .complement-section p:not(.eyebrow):not(.archive-source) { font-size: 16px !important; line-height: 1.8; }
main :is(.content,.nature) > p:not(.eyebrow):not(.big) { max-width: 75ch; }
main .eyebrow { line-height: 1.7; }
main :is(a,button,summary,input):focus-visible { outline: 3px solid #846127; outline-offset: 4px; }
main :is(.nature,.home-responsive-services) a:focus-visible { outline-color: #d9b652; }
.home-responsive,.home-responsive-about { display: none; font-family: Montserrat,Arial,sans-serif; }

@media (min-width: 1101px) {
  body main > section.hero h1 { max-width: 48% !important; line-height: 1.05 !important; }
  body main > section.hero::before { width: 66% !important; }
}
@media (max-width: 1100px) {
  body main > section.hero {
    min-height: 0 !important; padding: 60px 7% !important;
    align-items: flex-start !important; text-align: left !important;
  }
  body main > section.hero::before {
    inset: 0 !important; width: 100% !important;
    background: linear-gradient(90deg,rgba(255,250,239,.98) 0%,rgba(255,250,239,.96) 55%,rgba(255,250,239,.45) 100%) !important;
  }
  body main > section.hero > *, body main > section.hero .lead,
  body main > section.hero h1, body main > section.hero .eyebrow {
    width: 100% !important; max-width: 650px !important;
  }
  body main > section.hero h1 {
    font-size: clamp(42px,6vw,64px) !important; line-height: 1.08 !important;
    letter-spacing: -.5px !important;
  }
  body main > section.hero .lead { font-size: 24px !important; line-height: 1.5 !important; }
  body main > section.hero .button { width: auto !important; }
  main :is(.prediction-cards,.testimonial-home-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  main :is(.prediction-cards,.testimonial-home-grid) > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* Small screens receive live text and real controls instead of scaled image text. */
@media (max-width: 1000px) {
  .home-hero,.priscilla-full-hd { display: none; }
  .home-responsive { display: block; background: #fffaf0; padding: 36px 6% 28px; }
  .home-responsive-top { display: grid; grid-template-columns: minmax(0,1fr) 240px; align-items: center; gap: 28px; }
  .home-responsive-copy { min-width: 0; }
  .home-responsive .eyebrow { margin: 0 0 12px; font-size: 11px; font-weight: 600; letter-spacing: 1.8px; color: #796026; }
  .home-responsive-title { margin: 0; color: #483414; font: italic 600 clamp(54px,8vw,76px)/1.1 'Cormorant Garamond',Georgia,serif; }
  .home-responsive-role { margin: 8px 0 16px; font-size: 14px; font-weight: 600; color: #493b25; }
  .home-responsive-description { margin: 0 0 22px; font-size: 17px; line-height: 1.75; color: #493f31; max-width: 42ch; }
  .home-responsive-button { padding: 13px 20px; border-radius: 28px; background: linear-gradient(120deg,#87621f,#c39735); color: #fff; text-decoration: none; font-weight: 600; }
  .home-responsive-portrait {
    width: 240px; height: 270px; border-radius: 120px 120px 12px 12px;
    background-image: url('../assets/optimized/hero-priscilla-definitif.webp');
    background-size: 750px 500px; background-position: -342px -44px;
    background-repeat: no-repeat; box-shadow: 0 8px 30px #59401c14;
  }
  .home-responsive-services { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 30px; }
  .home-responsive-services a { display: flex; flex-direction: column; justify-content: center; min-height: 92px; padding: 16px; border: 1px solid #ded1b7; border-radius: 8px; background: #fffdf8; color: #574225; text-decoration: none; }
  .home-responsive-services strong { font-size: 16px; line-height: 1.4; }
  .home-responsive-services span { margin-top: 6px; font-size: 14px; line-height: 1.5; }
  .home-responsive-about { display: block; padding: 48px 6%; background: linear-gradient(90deg,#fffaf0f7,#fffaf0e8),url('../assets/optimized/priscilla-hero-background-HD.webp') center/cover; color: #493f31; }
  .home-responsive-about h2 { max-width: 700px; margin: 10px 0 20px; font: 600 clamp(32px,5vw,44px)/1.15 'Cormorant Garamond',Georgia,serif; color: #302e68; }
  .home-responsive-about p { max-width: 64ch; font-size: 16px; line-height: 1.8; }
  .home-responsive-about .eyebrow { font-size: 11px; font-weight: 600; letter-spacing: 2px; color: #796026; }
}
@media (max-width: 600px) {
  body main > section.hero { padding: 44px 6% !important; }
  body main > section.hero h1 { font-size: clamp(38px,10vw,50px) !important; }
  body main > section.hero .lead { font-size: 23px !important; }
  body main > section.hero::before { background: linear-gradient(90deg,#fffaf0fa,#fffaf0eb 75%,#fffaf0bf) !important; }
  main :is(.content,.nature) { padding-inline: 6% !important; }
  main .content h2, main .nature h2 { font-size: clamp(30px,9vw,40px) !important; line-height: 1.14 !important; }
  main :is(.content,.reading-inner) .quote, main .reading-inner blockquote { padding: 22px !important; }
  main :is(.prediction-cards,.testimonial-home-grid,.grid3) { grid-template-columns: minmax(0,1fr); }
  main :is(.prediction-cards,.testimonial-home-grid) > :last-child:nth-child(odd) { grid-column: auto; }
  main .card { padding: 24px !important; }
  main :is(.reading-inner,.archive-inner,.guestbook-quote) { font-size: 16px !important; }
  .guestbook-search input { min-height: 48px; }
  .guestbook-year-menu summary { display: flex; align-items: center; }
  .home-responsive-top { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .home-responsive-portrait { grid-row: 1; justify-self: center; width: 220px; height: 238px; background-size: 690px 460px; background-position: -315px -40px; }
  .home-responsive-copy { text-align: center; }
  .home-responsive-description { margin-inline: auto; }
  .home-responsive-services a { padding: 14px 12px; }
  .home-responsive-services strong { font-size: 15px; }
  .home-responsive-services span { font-size: 13px; }
  main .archive-hero h1, main .reading-hero h1 { font-size: clamp(34px,9vw,44px); }
  .photo-page-bar { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Contraste des boutons avec texte blanc, sur toutes les tailles d’écran. */
main :is(.button,.call-button,.home-news-button,.home-responsive-button) {
  background: linear-gradient(120deg,#75511c,#896326);
  color: #fff;
}
