/* ==========================================================
   CHERITAN SITE SYSTEM v4.1 — FINAL INTEGRITY PASS
   Authoritative last stylesheet. Prevents pale/missing text,
   excessive section gaps, inherited min-heights and stale
   animation states across all designed pages.
   ========================================================== */

/* ---------- A. CORE VISIBILITY / OVERFLOW SAFETY ---------- */
body.cheritan-designed-page{
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
}

:where(
  .cht-site,
  .cht-about-page,
  .cht-courses-page,
  .cht-makeup-page,
  .cht-beauty-page,
  .cht-studio-page,
  .cht-contact-page,
  .cht-blog-page,
  .cht-post-page,
  .cht-privacy-page
) main :is(h1,h2,h3,h4,h5,h6,p,li,strong){
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
  filter:none!important;
  transform:none;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}

:where(
  .cht-site,
  .cht-about-page,
  .cht-courses-page,
  .cht-makeup-page,
  .cht-beauty-page,
  .cht-studio-page,
  .cht-contact-page,
  .cht-privacy-page
) main>section{
  min-height:0!important;
  height:auto;
}

/* ---------- B. HOME: every light section heading must stay readable ---------- */
.cht-site.cht-classic main .cht-center>.cht-heading{
  color:#303640!important;
  -webkit-text-fill-color:#303640!important;
  opacity:1!important;
  visibility:visible!important;
  background:none!important;
  background-clip:border-box!important;
  -webkit-background-clip:border-box!important;
}
.cht-site.cht-classic main .cht-center>.cht-intro{
  color:#606570!important;
  -webkit-text-fill-color:#606570!important;
  opacity:1!important;
  visibility:visible!important;
}
.cht-site.cht-classic main .cht-center>.cht-eyebrow{
  color:#3f4551!important;
  -webkit-text-fill-color:#3f4551!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Exact section from the reported screenshot. */
.cht-site.cht-classic #learning-journey .cht-heading{
  display:block!important;
  position:static!important;
  width:auto!important;
  max-width:820px!important;
  margin:0 auto 14px!important;
  padding:0!important;
  color:#303640!important;
  -webkit-text-fill-color:#303640!important;
  opacity:1!important;
  visibility:visible!important;
  clip:auto!important;
  clip-path:none!important;
  overflow:visible!important;
}
.cht-site.cht-classic #learning-journey .cht-process strong{
  color:#303640!important;
  -webkit-text-fill-color:#303640!important;
}
.cht-site.cht-classic #learning-journey .cht-process p{
  color:#606570!important;
  -webkit-text-fill-color:#606570!important;
}

/* ---------- C. INNER PAGES: LIGHT / DARK CONTRAST GUARDS ---------- */
/* Light sections */
.cht-about-page .ca-section:not(.ca-dark) :is(h2,h3,h4),
.cht-courses-page .cc-section:not(.cc-trainer) :is(h2,h3,h4),
.cht-courses-page .cc-cta :is(h2,h3,h4),
.cht-makeup-page .cm-section:not(.cm-dark) :is(h2,h3,h4),
.cht-beauty-page .cb-section:not(.cb-dark) :is(h2,h3,h4),
.cht-studio-page .cs-section:not(.cs-dark) :is(h2,h3,h4),
.cht-contact-page .cc-section:not(.cc-dark) :is(h2,h3,h4),
.cht-contact-page .cc-final :is(h2,h3,h4),
.cht-privacy-page .cp-section :is(h2,h3,h4),
.cht-privacy-page .cp-final :is(h2,h3,h4){
  color:#303640!important;
  -webkit-text-fill-color:#303640!important;
  opacity:1!important;
  visibility:visible!important;
}

.cht-about-page .ca-section:not(.ca-dark) :is(p,li),
.cht-courses-page .cc-section:not(.cc-trainer) :is(p,li),
.cht-courses-page .cc-cta :is(p,li),
.cht-makeup-page .cm-section:not(.cm-dark) :is(p,li),
.cht-beauty-page .cb-section:not(.cb-dark) :is(p,li),
.cht-studio-page .cs-section:not(.cs-dark) :is(p,li),
.cht-contact-page .cc-section:not(.cc-dark) :is(p,li),
.cht-contact-page .cc-final :is(p,li),
.cht-privacy-page .cp-section :is(p,li),
.cht-privacy-page .cp-final :is(p,li){
  color:#606570!important;
  -webkit-text-fill-color:#606570!important;
}

/* Dark sections */
.cht-about-page .ca-dark :is(h2,h3,h4,strong),
.cht-courses-page .cc-trainer :is(h2,h3,h4,strong),
.cht-makeup-page .cm-dark :is(h2,h3,h4,strong),
.cht-beauty-page .cb-dark :is(h2,h3,h4,strong),
.cht-studio-page .cs-dark :is(h2,h3,h4,strong),
.cht-contact-page .cc-dark :is(h2,h3,h4,strong){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.cht-about-page .ca-dark :is(p,li),
.cht-courses-page .cc-trainer :is(p,li),
.cht-makeup-page .cm-dark :is(p,li),
.cht-beauty-page .cb-dark :is(p,li),
.cht-studio-page .cs-dark :is(p,li),
.cht-contact-page .cc-dark :is(p,li){
  color:#e6e9ed!important;
  -webkit-text-fill-color:#e6e9ed!important;
}

/* Heroes are intentionally dark. */
:where(.cht-courses-page .cc-hero,.cht-makeup-page .cm-hero,.cht-beauty-page .cb-hero,.cht-studio-page .cs-hero,.cht-contact-page .cc-hero,.cht-privacy-page .cp-hero)
:is(h1,h2,h3,strong){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* ---------- D. CONSISTENT SECTION RHYTHM / GAP CONTROL ---------- */
@media (min-width:981px){
  .cht-site.cht-classic .cht-section{padding:60px 0!important;}
  .cht-about-page .ca-section,
  .cht-courses-page .cc-section,
  .cht-makeup-page .cm-section,
  .cht-beauty-page .cb-section,
  .cht-studio-page .cs-section,
  .cht-contact-page .cc-section,
  .cht-privacy-page .cp-section{padding-top:60px!important;padding-bottom:60px!important;}

  .cht-site.cht-classic :is(.cht-course-grid,.cht-benefits,.cht-process-grid,.cht-service-grid,.cht-gallery-final,.cht-faq){
    margin-top:32px!important;
  }
  :is(.cht-courses-page,.cht-makeup-page,.cht-beauty-page,.cht-studio-page,.cht-contact-page)
  :is(.cc-section-head,.cm-section-head,.cb-section-head,.cs-section-head){
    margin-bottom:30px!important;
  }
}

@media (min-width:651px) and (max-width:980px){
  .cht-site.cht-classic .cht-section{padding:48px 0!important;}
  .cht-about-page .ca-section,
  .cht-courses-page .cc-section,
  .cht-makeup-page .cm-section,
  .cht-beauty-page .cb-section,
  .cht-studio-page .cs-section,
  .cht-contact-page .cc-section,
  .cht-privacy-page .cp-section{padding-top:48px!important;padding-bottom:48px!important;}
}

@media (max-width:650px){
  .cht-site.cht-classic .cht-section{padding:38px 0!important;}
  .cht-about-page .ca-section,
  .cht-courses-page .cc-section,
  .cht-makeup-page .cm-section,
  .cht-beauty-page .cb-section,
  .cht-studio-page .cs-section,
  .cht-contact-page .cc-section,
  .cht-privacy-page .cp-section{padding-top:38px!important;padding-bottom:38px!important;}

  .cht-site.cht-classic #learning-journey .cht-heading{
    max-width:94%!important;
    font-size:clamp(28px,8.5vw,34px)!important;
    line-height:1.16!important;
  }
  .cht-site.cht-classic :is(.cht-course-grid,.cht-benefits,.cht-process-grid,.cht-service-grid,.cht-gallery-final,.cht-faq){
    margin-top:24px!important;
  }
}

/* ---------- E. NO ACCIDENTAL EMPTY TOP/BOTTOM SPACE ---------- */
:where(
  .cht-about-page,
  .cht-courses-page,
  .cht-makeup-page,
  .cht-beauty-page,
  .cht-studio-page,
  .cht-contact-page,
  .cht-privacy-page
) main{
  margin:0!important;
  padding:0!important;
}

:where(.cht-site.cht-classic,.cht-about-page,.cht-courses-page,.cht-makeup-page,.cht-beauty-page,.cht-studio-page,.cht-contact-page,.cht-privacy-page)
main>section:first-child{
  margin-top:0!important;
}

:where(.cht-site.cht-classic,.cht-about-page,.cht-courses-page,.cht-makeup-page,.cht-beauty-page,.cht-studio-page,.cht-contact-page,.cht-privacy-page)
main>section:last-child{
  margin-bottom:0!important;
}

/* Keep images from stretching a whole section vertically. */
:where(.cht-about-page,.cht-courses-page,.cht-makeup-page,.cht-beauty-page,.cht-studio-page,.cht-contact-page)
figure,
:where(.cht-about-page,.cht-courses-page,.cht-makeup-page,.cht-beauty-page,.cht-studio-page,.cht-contact-page)
[class*="-photo"],
:where(.cht-about-page,.cht-courses-page,.cht-makeup-page,.cht-beauty-page,.cht-studio-page,.cht-contact-page)
[class*="-image"]{
  min-height:0!important;
}

/* Footer remains compact and cannot duplicate text inside icon buttons. */
.cr-footer .cr-footer-social>a{
  font-size:0!important;
  line-height:0!important;
  text-indent:0!important;
}
.cr-footer .cr-footer-social>a .cr-social-icon{
  display:none!important;
}
