/* dryrose.org — Light Mode + Speed-First Overrides — v2 */
:root {
  --bg-cream: #FAF5EF;
  --bg-warm: #FFF8F0;
  --color-primary: #8B1A2B;
  --color-primary-dark: #6D1422;
  --color-secondary: #B8860B;
  --color-text: #2C2C2C;
  --color-text-soft: #5A5A5A;
  --color-border: #E8DFD2;
  --shadow-sm: 0 1px 2px rgba(20,20,20,.05);
  --shadow-md: 0 4px 12px rgba(20,20,20,.07);
}

body { background: #fff; color: var(--color-text); }

/* Light-ify any dark hero / page-header / section */
.page-header, .hero-bg, .dark-section, section.bg-dark,
header[role="banner"] .header-bg {
  background: linear-gradient(135deg, var(--bg-warm) 0%, var(--bg-cream) 100%) !important;
  color: var(--color-text) !important;
  border-bottom: 3px solid var(--color-primary);
}
.page-header h1, .page-header h2, .dark-section h1, .dark-section h2 {
  color: var(--color-primary) !important;
  text-shadow: none !important;
}
.page-header p, .page-header .breadcrumbs, .dark-section p {
  color: var(--color-text-soft) !important;
}
.page-header a, .dark-section a, .breadcrumbs a {
  color: var(--color-primary) !important;
}

/* Light nav */
nav, .nav-primary, .site-nav {
  background: #fff !important;
  color: var(--color-text) !important;
  border-bottom: 1px solid var(--color-border);
  box-shadow: var(--shadow-sm);
}
nav a, .nav-links a { color: var(--color-text) !important; }
nav a:hover, .nav-links a:hover { color: var(--color-primary) !important; }

/* Keep footer dark for contrast */
footer, .footer, .site-footer { background: #2C2C2C !important; color: #F5EFE5 !important; }
footer a, .footer a { color: var(--color-secondary) !important; }

/* Speed: containment + lazy-image fade */
section, article { content-visibility: auto; contain-intrinsic-size: 1px 800px; }
.hero-section, .hero, .hero-video-container {
  background: var(--bg-cream); min-height: 60vh; position: relative;
}
.hero-video-container video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
img, video, iframe, svg { max-width: 100%; height: auto; }
img[loading="lazy"] {
  background: linear-gradient(90deg, #F5EFE5, #FAF5EF, #F5EFE5);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}
@keyframes shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }
img[loading="lazy"][src] { animation: none; background: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* Typography */
h1, h2, h3 { color: var(--color-primary); letter-spacing: -0.01em; }

/* WhatsApp float */
.kn-wa-float, .whatsapp-float {
  background: #25D366 !important;
  box-shadow: 0 4px 14px rgba(37,211,102,.4) !important;
}

/* Buttons */
.btn, button.btn-primary, .cta-button {
  background: var(--color-primary); color: #fff; border: 0;
  padding: 12px 28px; border-radius: 6px; font-weight: 600;
  cursor: pointer; transition: all .2s ease; text-decoration: none; display: inline-block;
}
.btn:hover { background: var(--color-primary-dark); box-shadow: var(--shadow-md); }
.btn-outline { background: transparent; color: var(--color-primary); border: 1.5px solid var(--color-primary); }
.btn-outline:hover { background: var(--color-primary); color: #fff; }

/* Cards */
.card, .product-card, .feature-card {
  background: #fff; border: 1px solid var(--color-border);
  border-radius: 8px; box-shadow: var(--shadow-sm);
  transition: box-shadow .2s ease, transform .2s ease;
}
.card:hover, .product-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }

/* Tables */
table { width: 100%; border-collapse: collapse; background: #fff; }
table th {
  background: var(--bg-cream); color: var(--color-primary);
  text-align: left; padding: 12px 16px;
  border-bottom: 2px solid var(--color-primary); font-weight: 600;
}
table td { padding: 10px 16px; border-bottom: 1px solid var(--color-border); }

@media print {
  .kn-wa-float, .whatsapp-float, nav, footer { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
}
