/* ============================================================
   ANTIK HOUSE 1880 — V31 CONTRAST HARDENING
   Public website readability and WCAG contrast repair.
   Loaded after all legacy visual layers.
   ============================================================ */

:root{
  /* The former soft token (#A3977F) was too pale for 12–14px copy. */
  --v21-soft:#746B5F!important;
  --soft:#746B5F!important;
}

/* The cinematic white hero copy belongs only to the homepage video hero. */
.hero.hero-v19-5 p,
.has-offer-bar .hero .hero-copy p{
  color:rgba(250,246,238,.92)!important;
  text-shadow:0 1px 14px rgba(0,0,0,.30)!important;
}

/* Satellite guides and the sustainability page use a light background. */
body:not(.has-offer-bar) .hero p,
body:not(.has-offer-bar) .hero .lead,
body:not(.has-offer-bar) .hero .answer-box p,
body:not(.has-offer-bar) .hero .report-card p{
  color:#6F675B!important;
  opacity:1!important;
  text-shadow:none!important;
}

body:not(.has-offer-bar) .hero h1 em,
body:not(.has-offer-bar) .hero .title em{
  color:#7A551F!important;
  text-shadow:none!important;
}

/* Secondary actions on light heroes must remain dark and legible. */
body:not(.has-offer-bar) .hero .btn.secondary,
body:not(.has-offer-bar) .hero .btn.light{
  color:#7A551F!important;
  background:#FFFDF8!important;
  border-color:rgba(122,85,31,.42)!important;
  text-shadow:none!important;
}
body:not(.has-offer-bar) .hero .btn.secondary:hover,
body:not(.has-offer-bar) .hero .btn.light:hover{
  color:#FFFDF8!important;
  background:#7A551F!important;
  border-color:#7A551F!important;
}

/* Reassert readable copy after legacy !important hero rules. */
.answer-box p,
.info-card span,
.article p,
.article li,
.compare span,
.faq-item p,
.hub-card span,
.quick-seo-cta span,
.campaign-card p,
.why-card p,
.trust-note,
.toc a,
.breadcrumb{
  color:#6F675B!important;
  opacity:1!important;
  text-shadow:none!important;
}

.answer-box b,
.info-card b,
.compare b,
.hub-card b,
.faq-item h3,
.article h2,
.toc h3{
  color:#262119!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Small footer and utility text previously used a low-contrast soft token. */
.footer-bottom,
.footer-bottom span,
.footer-bottom a,
.footer p,
.footer li{
  color:#6F675B!important;
  opacity:1!important;
}
.footer-link-polish{color:#5F564A!important}
.footer-link-polish:hover{color:#7A551F!important}

/* Photo labels sit on a consistent opaque plate, independent of the image. */
.hero-photo span{
  color:#7A551F!important;
  background:rgba(255,253,248,.94)!important;
  text-shadow:none!important;
}

/* Prevent reveal/motion layers from leaving text faint after script errors. */
html:not(.v21-js) .reveal,
html:not(.v21-js) .wow-reveal{
  opacity:1!important;
  transform:none!important;
}

/* Form and navigation helper text. */
.field label,
.booking-card label,
.rate-panel label{
  opacity:1!important;
}

/* Mobile keeps the same contrast; no translucent text reductions. */
@media(max-width:760px){
  body:not(.has-offer-bar) .hero p,
  body:not(.has-offer-bar) .hero .lead,
  body:not(.has-offer-bar) .hero .answer-box p,
  body:not(.has-offer-bar) .hero .report-card p{
    color:#62594D!important;
  }
  .footer-bottom,.footer-bottom span,.footer-bottom a{color:#62594D!important}
}

@media(prefers-contrast:more){
  body:not(.has-offer-bar) .hero p,
  .answer-box p,.info-card span,.article p,.article li,.compare span,
  .faq-item p,.hub-card span,.quick-seo-cta span,.footer p,.footer li,
  .footer-bottom,.breadcrumb,.toc a{
    color:#4E463D!important;
  }
  body:not(.has-offer-bar) .hero h1 em,
  body:not(.has-offer-bar) .hero .title em{color:#684516!important}
}
