/*
 * Light-mode refinement layer for AHDRC public pages.
 *
 * Dark mode deliberately remains governed by the existing theme. These rules
 * create clearer light-mode depth through parchment, ivory, stone and cocoa
 * surfaces while retaining the existing typography and gold identity.
 */

:root:not(.dark) .lovable-public-page,
:root:not(.dark) .newsletter,
:root:not(.dark) footer.surface-dark {
  --background: 38 27% 94%;            /* #f5f1ea parchment */
  --foreground: 26 64% 11%;            /* #2d1b0a espresso */
  --card: 40 43% 99%;                  /* #fffdf8 ivory */
  --card-foreground: 26 64% 11%;
  --popover: 40 43% 99%;
  --popover-foreground: 26 64% 11%;
  --secondary: 35 27% 88%;             /* #e9e1d6 warm stone */
  --secondary-foreground: 26 64% 11%;
  --muted: 35 27% 88%;
  --muted-foreground: 30 15% 35%;      /* #66584c */
  --border: 33 22% 74%;                /* #cdbdad */
  --input: 33 22% 70%;
  --ring: 36 76% 31%;
  --gold: 36 76% 31%;                  /* #8c5a13 accessible bronze */
  --gold-soft: 36 67% 49%;             /* #d18e29 display gold */
}

/* Shared structure */
:root:not(.dark) nav[aria-label="Main navigation"] {
  border-bottom-color: rgb(205 189 173 / .72);
  background: rgb(255 253 248 / .96);
  box-shadow: 0 1px 0 hsl(var(--foreground) / .025);
}

:root:not(.dark) .lovable-page-hero {
  border-bottom-color: hsl(var(--border) / .7);
  background:
    radial-gradient(circle at 50% -25%, hsl(var(--gold-soft) / .1), transparent 34rem),
    hsl(var(--background));
}

:root:not(.dark) .lovable-card,
:root:not(.dark) .pricing-card,
:root:not(.dark) .contact-info-card,
:root:not(.dark) .contact-form,
:root:not(.dark) .panel {
  background: hsl(var(--card));
  border-color: hsl(var(--border));
  box-shadow: 0 12px 32px hsl(var(--foreground) / .055);
}

:root:not(.dark) .lovable-card:hover,
:root:not(.dark) .pricing-card:hover,
:root:not(.dark) .contact-info-card:hover {
  border-color: hsl(var(--gold) / .55);
  box-shadow: 0 18px 42px hsl(var(--foreground) / .09);
}

/* About and pricing */
:root:not(.dark) .about-page section.bg-card {
  background: hsl(var(--secondary));
}

:root:not(.dark) .about-page section.bg-card .lovable-card {
  background: hsl(var(--card));
}

:root:not(.dark) .pricing-card {
  position: relative;
  overflow: hidden;
}

:root:not(.dark) .pricing-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, hsl(var(--gold)), hsl(var(--gold-soft)));
  content: "";
}

/* Replace the large ochre field with a dark anchor panel. */
:root:not(.dark) .lovable-gradient-cta {
  background: #291a12;
  color: #f7f2ea;
}

:root:not(.dark) .lovable-gradient-cta > p,
:root:not(.dark) .lovable-gradient-cta .lovable-section-copy {
  color: rgb(247 242 234 / .72);
}

:root:not(.dark) .lovable-gradient-cta .btn {
  background: #d18e29;
  color: #291a12;
}

:root:not(.dark) .lovable-gradient-cta .btn.ghost {
  border-color: #d18e29;
  background: transparent;
  color: #f7f2ea;
}

/* Sponsors */
:root:not(.dark) .sponsor-wall {
  border-block-color: hsl(var(--border));
  background:
    radial-gradient(circle at 18% 0%, hsl(var(--gold-soft) / .13), transparent 32rem),
    radial-gradient(circle at 92% 100%, hsl(var(--gold) / .08), transparent 26rem),
    #d9cec0;
  color: hsl(var(--foreground));
}

:root:not(.dark) .sponsor-wall::before {
  background:
    repeating-linear-gradient(115deg, transparent 0 4rem, rgb(255 255 255 / .09) 4rem 4.05rem),
    linear-gradient(180deg, rgb(255 255 255 / .12), rgb(46 26 10 / .035));
}

:root:not(.dark) .sponsor-wall__title,
:root:not(.dark) .sponsor-name-list li.sponsor-entry,
:root:not(.dark) .sponsor-name-list__person .sponsor-entry__identity > span {
  color: hsl(var(--foreground));
}

:root:not(.dark) .sponsor-name-list li.sponsor-entry .sponsor-tenure {
  border-color: hsl(var(--gold) / .62);
  background: hsl(var(--card) / .92);
  color: hsl(var(--foreground));
  box-shadow: 0 5px 16px hsl(var(--foreground) / .055);
}

:root:not(.dark) .sponsor-tier {
  border-color: hsl(var(--border));
  background: hsl(var(--card));
  color: hsl(var(--foreground));
  box-shadow: 0 12px 32px hsl(var(--foreground) / .045);
}

:root:not(.dark) .sponsor-tier::before {
  display: block;
  width: 2.75rem;
  height: 2px;
  margin-bottom: 1.35rem;
  background: hsl(var(--gold));
  content: "";
}

:root:not(.dark) .sponsor-tier:nth-child(2) {
  border-color: hsl(var(--gold) / .65);
  box-shadow: 0 18px 42px hsl(var(--foreground) / .085);
}

:root:not(.dark) .sponsor-tier p {
  color: hsl(var(--muted-foreground));
}

/* FAQ */
:root:not(.dark) .faq-controls-section {
  border-block-color: hsl(var(--border));
  background: hsl(var(--secondary));
}

:root:not(.dark) .faq-search-wrap input,
:root:not(.dark) .faq-controls .filters button {
  border-color: hsl(var(--border));
  background: hsl(var(--card));
}

:root:not(.dark) .faq-controls .filters button:hover {
  border-color: hsl(var(--gold));
  background: hsl(var(--card));
  color: hsl(var(--gold));
}

:root:not(.dark) .faq-controls .filters button[aria-pressed="true"] {
  border-color: #291a12;
  background: #291a12;
  color: #f7f2ea;
}

:root:not(.dark) .faq-body {
  background: hsl(var(--background));
}

:root:not(.dark) .faq-body #faq-list {
  overflow: hidden;
  border: 1px solid hsl(var(--border));
  border-radius: 1rem;
  padding-inline: 1.25rem;
  background: hsl(var(--card));
  box-shadow: 0 14px 38px hsl(var(--foreground) / .055);
}

:root:not(.dark) .faq-body .faq-item {
  border-color: hsl(var(--border) / .78);
}

:root:not(.dark) .faq-body .faq-item h3 button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

:root:not(.dark) .faq-body .faq-item h3 button::after {
  flex: 0 0 auto;
  color: hsl(var(--gold));
  content: "+";
  font: 500 1.25rem/1 var(--font-body);
}

:root:not(.dark) .faq-body .faq-item h3 button[aria-expanded="true"]::after {
  content: "−";
}

:root:not(.dark) .faq-body .still {
  border: 1px solid hsl(var(--border));
  border-radius: 1rem;
  padding: 2.25rem;
  background: hsl(var(--secondary));
  text-align: center;
}

/* Contact */
.contact-info-card__icon svg {
  width: 1.1rem;
  height: 1.1rem;
}

:root:not(.dark) .contact-info-card__icon {
  width: 2.6rem;
  height: 2.6rem;
  border: 1px solid hsl(var(--gold) / .35);
  background: hsl(var(--gold-soft) / .12);
  color: hsl(var(--gold));
}

:root:not(.dark) .contact-page .contact-form {
  border-color: hsl(var(--border));
  background: hsl(var(--secondary));
}

:root:not(.dark) .contact-page .contact-form input,
:root:not(.dark) .contact-page .contact-form textarea {
  border-color: hsl(var(--input));
  background: hsl(var(--card));
}

:root:not(.dark) .contact-page .contact-form input:focus,
:root:not(.dark) .contact-page .contact-form textarea:focus {
  border-color: hsl(var(--gold));
  box-shadow: 0 0 0 3px hsl(var(--gold-soft) / .14);
}

/* Newsletter and footer close each page with deliberate tonal contrast. */
:root:not(.dark) .newsletter {
  border-block-color: hsl(var(--border));
  background: hsl(var(--secondary));
  color: hsl(var(--foreground));
}

:root:not(.dark) .newsletter__label {
  color: hsl(var(--gold));
}

:root:not(.dark) .newsletter__copy {
  color: hsl(var(--muted-foreground));
}

:root:not(.dark) .newsletter__form {
  border-color: hsl(var(--border));
  background: hsl(var(--card));
  box-shadow: 0 8px 24px hsl(var(--foreground) / .045);
}

:root:not(.dark) .newsletter__form input {
  background: hsl(var(--card));
  color: hsl(var(--foreground));
}

:root:not(.dark) .newsletter__form input::placeholder {
  color: hsl(var(--muted-foreground) / .72);
}

:root:not(.dark) .newsletter__form button {
  background: #d18e29;
  color: #291a12;
}

:root:not(.dark) footer.surface-dark {
  border-top-color: rgb(209 142 41 / .24);
  background: #291a12;
  color: #f7f2ea;
}

:root:not(.dark) footer.surface-dark h3,
:root:not(.dark) footer.surface-dark .text-gold {
  color: #dca348;
}

:root:not(.dark) footer.surface-dark a:not(.footer-brand),
:root:not(.dark) footer.surface-dark .text-warm-cream\/60 {
  color: rgb(247 242 234 / .66);
}

:root:not(.dark) footer.surface-dark .text-warm-cream\/40 {
  color: rgb(247 242 234 / .46);
}

:root:not(.dark) footer.surface-dark .brand-logo--light {
  display: none;
}

:root:not(.dark) footer.surface-dark .brand-logo--dark {
  display: block;
}

@media (max-width: 640px) {
  :root:not(.dark) .faq-body #faq-list {
    border-inline: 0;
    border-radius: 0;
    padding-inline: .75rem;
  }
}
