/* Adeo Marketing Webb 2.0 – global theme contract
 * New components must use the semantic --theme-* tokens below instead of
 * hard-coded white/black text, borders or surfaces. This keeps light/dark
 * mode automatic for current and future UI.
 */

:root{
  --theme-canvas:var(--bg,#0a0a0b);
  --theme-text:var(--text,#fafafb);
  --theme-muted:var(--muted,rgba(250,250,251,.68));
  --theme-subtle:rgba(250,250,251,.50);
  --theme-faint:rgba(250,250,251,.34);
  --theme-line:var(--line,rgba(255,255,255,.10));
  --theme-line-strong:rgba(255,255,255,.18);
  --theme-surface:rgba(255,255,255,.035);
  --theme-surface-raised:#111113;
  --theme-surface-solid:#151517;
  --theme-input:rgba(255,255,255,.045);
  --theme-shadow:0 18px 55px rgba(0,0,0,.18);
  --theme-on-accent:#fff;
}

html[data-theme="light"]{
  --bg:#f5f4f1;
  --text:#151517;
  --muted:rgba(21,21,23,.66);
  --line:rgba(21,21,23,.12);
  --surface:rgba(21,21,23,.035);
  --champ:#8b7254;

  /* Keep the older Adeo token family in sync as well. */
  --adeo-bg:#f5f4f1;
  --adeo-text:#151517;
  --adeo-muted:rgba(21,21,23,.66);
  --adeo-surface:rgba(255,255,255,.78);
  --adeo-surface-strong:#fff;
  --adeo-line:rgba(21,21,23,.12);
  --adeo-line-strong:rgba(21,21,23,.22);
  --adeo-stone:#8b7254;
  --adeo-shadow:0 18px 55px rgba(21,21,23,.07);

  --theme-canvas:#f5f4f1;
  --theme-text:#151517;
  --theme-muted:rgba(21,21,23,.66);
  --theme-subtle:rgba(21,21,23,.52);
  --theme-faint:rgba(21,21,23,.36);
  --theme-line:rgba(21,21,23,.12);
  --theme-line-strong:rgba(21,21,23,.22);
  --theme-surface:rgba(255,255,255,.78);
  --theme-surface-raised:#fff;
  --theme-surface-solid:#fff;
  --theme-input:#fff;
  --theme-shadow:0 18px 55px rgba(21,21,23,.07);
  --theme-on-accent:#fff;
}

/* Generic text/surface contract for reusable components. */
html[data-theme="light"] :where(.price-card,.form-card,.contact-card,.process-card,.value-card,.service-panel,.guide-card,.related-guide-card,.next-article,.guide-toolbar,.guide-empty,.article-cta,.guide-sources,.error-link-card,.journal-card,.booking-points,.faq-list details,.content-panel,.metric-panel,.legal-panel){
  color:var(--theme-text);
  border-color:var(--theme-line)!important;
}

html[data-theme="light"] :where(.contact-card,.process-card,.value-card,.journal-card,.booking-points,.newsletter-popup__panel){
  background:var(--theme-surface-raised)!important;
  box-shadow:var(--theme-shadow)!important;
}

/* Startpaket – all included/excluded copy must remain readable. */
html[data-theme="light"] .package-list li{
  color:rgba(21,21,23,.78)!important;
}
html[data-theme="light"] .package-list li:before{
  background:rgba(21,21,23,.065);
  color:#151517;
}
html[data-theme="light"] .package-list li.is-excluded{
  color:rgba(21,21,23,.38)!important;
  text-decoration-color:rgba(21,21,23,.28)!important;
}
html[data-theme="light"] .price-card h2 del{color:rgba(21,21,23,.35)!important}
html[data-theme="light"] .pricing-note{color:var(--theme-subtle)!important}
html[data-theme="light"] .price-card--featured{
  background:linear-gradient(145deg,rgba(255,92,0,.055),#fff 48%)!important;
}

/* Contact – older styles contained hard-coded white text. */
html[data-theme="light"] .contact-card{
  background:linear-gradient(155deg,#fff,#faf9f6)!important;
}
html[data-theme="light"] .contact-card__item{border-color:var(--theme-line)!important}
html[data-theme="light"] .contact-card__item span{color:var(--theme-subtle)!important}
html[data-theme="light"] .contact-card__item a,
html[data-theme="light"] .contact-card__item p{color:var(--theme-text)!important}
html[data-theme="light"] .form-card--premium{
  background:radial-gradient(circle at 100% 0,rgba(37,120,255,.055),transparent 36%),#fff!important;
}

/* General muted copy that was previously hard-coded for dark mode. */
html[data-theme="light"] .chapter-number{color:rgba(21,21,23,.18)!important}
html[data-theme="light"] .service-panel__meta{color:var(--theme-subtle)!important}
html[data-theme="light"] .footer-legal a,
html[data-theme="light"] .footer-address,
html[data-theme="light"] .site-footer__bottom{color:var(--theme-subtle)!important}
html[data-theme="light"] .footer-legal a:hover{color:var(--theme-text)!important}
html[data-theme="light"] .mobile-sticky-contact__text{color:rgba(21,21,23,.82)!important}

/* Service/navigation chips and section separators. */
html[data-theme="light"] .pillar-nav a,
html[data-theme="light"] .topic-chip{
  background:#fff!important;
  color:rgba(21,21,23,.72)!important;
  border-color:var(--theme-line)!important;
}
html[data-theme="light"] .pillar-nav a:hover,
html[data-theme="light"] .topic-chip:hover{
  background:#faf9f6!important;
  color:var(--theme-text)!important;
  border-color:var(--theme-line-strong)!important;
}
html[data-theme="light"] .service-feature{border-top-color:var(--theme-line)!important}
html[data-theme="light"] .pricing-includes{border-top-color:var(--theme-line)!important}
html[data-theme="light"] main>section+section:not(.service-feature):before{
  background:linear-gradient(90deg,transparent,rgba(21,21,23,.06) 25%,rgba(139,114,84,.18) 50%,rgba(21,21,23,.06) 75%,transparent)!important;
}
html[data-theme="light"] .chapter-services article{
  background:linear-gradient(90deg,rgba(21,21,23,.035),transparent)!important;
}
html[data-theme="light"] .service-grid .service-panel:hover{border-color:rgba(21,21,23,.20)!important}

/* Forms – including Fluent Forms and future normal inputs. */
html[data-theme="light"] :where(.form-card,.guide-search,.newsletter-form) input:not([type="checkbox"]):not([type="radio"]),
html[data-theme="light"] :where(.form-card,.guide-search) textarea,
html[data-theme="light"] :where(.form-card,.guide-search) select{
  color:var(--theme-text)!important;
  background:var(--theme-input)!important;
  border-color:var(--theme-line)!important;
}
html[data-theme="light"] :where(.form-card,.guide-search,.newsletter-form) input::placeholder,
html[data-theme="light"] :where(.form-card,.guide-search) textarea::placeholder{
  color:rgba(21,21,23,.42)!important;
}
html[data-theme="light"] .form-card label{color:var(--theme-muted)!important}

/* Newsletter sections and popup. */
html[data-theme="light"] .newsletter-band{
  background:linear-gradient(135deg,rgba(255,92,0,.055),#fff 46%,rgba(37,120,255,.055))!important;
  border-color:var(--theme-line)!important;
  box-shadow:var(--theme-shadow)!important;
}
html[data-theme="light"] .newsletter-form__consent{color:var(--theme-subtle)!important}
html[data-theme="light"] .newsletter-popup__panel{
  background:radial-gradient(circle at 0 0,rgba(255,92,0,.07),transparent 42%),radial-gradient(circle at 100% 100%,rgba(37,120,255,.065),transparent 44%),#fff!important;
  border-color:var(--theme-line)!important;
  color:var(--theme-text)!important;
}
html[data-theme="light"] .newsletter-popup__close{
  background:rgba(21,21,23,.035)!important;
  border-color:var(--theme-line)!important;
  color:var(--theme-text)!important;
}
html[data-theme="light"] .newsletter-popup__lead{color:var(--theme-muted)!important}

/* Adeo Cards launch page – light mode copy that was explicitly white. */
html[data-theme="light"] .launch-kicker{color:var(--theme-text)!important}
html[data-theme="light"] .launch-visual__note{color:var(--theme-subtle)!important}

/* Article/legal content. */
html[data-theme="light"] .prose{color:rgba(21,21,23,.78)!important}
html[data-theme="light"] .prose :where(p,li){color:rgba(21,21,23,.72)!important}
html[data-theme="light"] .prose :where(h2,h3,h4,blockquote){color:var(--theme-text)!important}
html[data-theme="light"] .journal-card{background:#fff!important}
html[data-theme="light"] .journal-pagination .page-numbers{border-color:var(--theme-line)!important}

/* Hover/border states inherited from dark mode need dark-on-light contrast. */
html[data-theme="light"] .button--ghost:hover{border-color:var(--theme-line-strong)!important}
html[data-theme="light"] .next-article:hover,
html[data-theme="light"] .guide-filter:hover{border-color:var(--theme-line-strong)!important}

@media(max-width:859px){
  html[data-theme="light"] .mobile-sticky-contact{color:var(--theme-text)!important}
}
