/* ----------------------------
   ZOSIM CLEAN — HISTOIRE VIVANTE
----------------------------- */

.visually-hidden {
   position: absolute !important;
   width: 1px;
   height: 1px;
   padding: 0;
   margin: -1px;
   overflow: hidden;
   clip: rect(0, 0, 0, 0);
   white-space: nowrap;
   border: 0;
}
.page-histoire {
   background-color: #fef2ec;
}

.page-histoire .header-subpage {
   background-color: #fef2ec;
   border-bottom: 1px solid #e6dcd8;
}
.page-histoire .header-center-subpage p {
   color: #5a463b;
   font-weight: 500;
   text-shadow: none;
}

.page-histoire .header-center-subpage strong {
   color: inherit;
   font-weight: 700;
   text-shadow: none;
}
.page-histoire .button-white-subpage {
   background-color: #e7968c;
   color: #fff;
   padding: 0.7rem 1.6rem;
   font-weight: 600;
   border-radius: 2rem;
   box-shadow: 0 4px 10px rgba(255, 114, 94, 0.25);
   transition: all 0.3s ease-in-out;
}

.page-histoire .button-white-subpage:hover {
   background-color: #e75c49;
   box-shadow: 0 6px 16px rgba(255, 114, 94, 0.4);
   transform: translateY(-2px);
}

/* === MAIN CONTAINER === */
.history-page {
   max-width: 1200px;
   margin: 5rem auto;
   padding: 4rem 2rem;
   background-color: #ffffff;
   border-radius: 24px;
   box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
   position: relative;
   overflow: hidden;
   animation: fadeIn 1s ease-in-out;
}

/* === HERO IMAGE BLOCK === */
.story-intro {
   display: flex;
   gap: 3rem;
   flex-wrap: wrap;
   align-items: center;
   margin-bottom: 2.5rem;
   animation: slideUp 1.2s ease;
}

.story-intro img {
   width: 280px;
   height: 280px;
   border-radius: 50%;
   object-fit: cover;
   border: 8px solid #fbded5;
   box-shadow: 0 10px 30px rgba(255, 114, 94, 0.3);
   transition: transform 0.3s ease;
}

.story-intro img:hover {
   transform: scale(1.05);
}

.story-intro p {
   flex: 1;
   font-size: 1.15rem;
}

/* === TEXT BLOCKS === */
.story-section article {
   display: flex;
   flex-direction: column;
   gap: 2rem;
   animation: fadeIn 2s ease;
}

.story-section p {
   font-size: 1.1rem;
   color: #3e3a37;
}

.story-section strong {
   color: #ffffff;
   font-weight: 700;
   text-shadow:
      0 0 2px #23b1fd,
      0 0 7px #23b1fd66,
      0 0 6px #ffffff44;
   letter-spacing: 0.01em;
   border-radius: 0.2em;
   padding: 0 0.1em;
   background: transparent;
   transition: none;
   white-space: nowrap;
}

.story-section blockquote {
   border-left: 6px solid #ff725e;
   background: #fff1ec;
   padding: 2.5rem 2.5rem;
   border-radius: 12px;
   text-align: center;
   color: #5c3a31;
   box-shadow: 0 0 15px rgba(255, 114, 94, 0.1);
   position: relative;
}
.story-section blockquote p {
   font-size: 1.8rem !important;
}

.page-histoire .story-section p {
   font-size: 1.4rem;
   line-height: 1.9;
   letter-spacing: 0.2px;
}

.page-histoire .story-section blockquote {
   font-size: 1.4rem;
   line-height: 1.8;
}

.page-histoire .story-intro p {
   font-size: 1.5rem;
}

/* === ANIMATIONS === */
@keyframes fadeIn {
   from {
      opacity: 0;
      transform: translateY(20px);
   }
   to {
      opacity: 1;
      transform: translateY(0);
   }
}

@keyframes slideUp {
   from {
      opacity: 0;
      transform: translateY(40px);
   }
   to {
      opacity: 1;
      transform: translateY(0);
   }
}

/* ===========     FOOTER            =========== */
.page-histoire .hide-in-history {
   position: absolute !important;
   width: 1px !important;
   height: 1px !important;
   padding: 0 !important;
   margin: -1px !important;
   overflow: hidden !important;
   clip: rect(0 0 0 0) !important;
   white-space: nowrap !important;
   border: 0 !important;
}
.copyright {
   margin-top: 3.1rem;
   font-size: 0.93rem;
   color: #2d2d2d;
   text-align: center;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
   .page-histoire .header-subpage {
      padding: 0.8rem 0.5rem;
      border-radius: 0 0 14px 14px;
      min-height: 54px;
   }
   .page-histoire .header-center-subpage p {
      font-size: 0.93rem;
      padding: 0;
   }

   .history-page {
      max-width: 100vw;
      margin: 1.4rem 0 1.7rem 0;
      padding: 1.4rem 0.7rem;
      border-radius: 16px;
      box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
      margin-top: 8.9rem;
   }

   .story-intro {
      flex-direction: column;
      gap: 1.3rem;
      align-items: center;
      margin-bottom: 1.2rem;
   }
   .story-intro img {
      width: 145px;
      height: 145px;
      border-radius: 50%;
      border-width: 5px;
      box-shadow: 0 3px 11px rgba(255, 114, 94, 0.12);
   }
   .story-intro p {
      font-size: 1.08rem;
      line-height: 1.45;
      text-align: center;
      margin: 0 0.1rem;
      flex: unset;
   }

   .story-section article {
      gap: 1.1rem;
      padding: 0;
   }
   .story-section p {
      font-size: 1.05rem;
      line-height: 1.5;
      padding: 0 0.1rem;
      text-align: left;
   }

   .story-section blockquote {
      font-size: 1rem;
      padding: 1.3rem 1rem;
      border-radius: 9px;
      margin: 1.2rem 0;
   }
   .story-section blockquote p {
      font-size: 1.25rem !important;
      line-height: 1.35;
   }

   .page-histoire .story-section p {
      font-size: 1.12rem;
      line-height: 1.6;
      letter-spacing: 0.05px;
   }
   .page-histoire .story-section blockquote {
      font-size: 1.1rem;
      line-height: 1.45;
   }
   .page-histoire .story-intro p {
      font-size: 1.15rem;
   }
}
@media (min-width: 769px) {
   .history-page {
      max-width: 1200px;
      margin: 6rem auto;
      padding: 4.5rem 3rem;
      border-radius: 32px;
      box-shadow: 0 24px 80px rgba(0, 0, 0, 0.1);
   }
   .story-intro img {
      width: 340px;
      height: 340px;
      border-width: 10px;
      box-shadow: 0 16px 44px rgba(255, 114, 94, 0.17);
   }
   .story-intro p {
      font-size: 1.3rem;
      line-height: 1.8;
   }
   .story-section p {
      font-size: 1.18rem;
      line-height: 2.1;
   }
   .story-section blockquote {
      font-size: 1.15rem;
      padding: 3rem 3rem;
      border-radius: 16px;
   }
   .story-section blockquote p {
      font-size: 2.1rem !important;
   }
}
