:root {
  --lwr-green: #1b3a2d;
  --lwr-green-light: #285444;
  --lwr-gold: #c5a35c;
  --lwr-cream: #faf7f0;
  --lwr-white: #ffffff;
  --lwr-border: rgba(27, 58, 45, 0.18);
  --directorist-color-primary: #1b3a2d;
  --directorist-color-success: #285444;
  --directorist-color-warning: #c5a35c;
}

html { accent-color: var(--lwr-green); }
body {
  color: var(--lwr-green);
  background: var(--lwr-cream);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1, h2, h3, h4, h5, h6,
.site-branding .main-title {
  color: var(--lwr-green);
  font-family: Georgia, "Times New Roman", serif;
}

a { color: var(--lwr-green-light); }
a:hover, a:focus { color: var(--lwr-green); }

.site-header {
  background: var(--lwr-green);
  border-bottom: 4px solid var(--lwr-gold);
}
.site-header .inside-header {
  min-height: 126px;
  padding-top: 12px;
  padding-bottom: 12px;
}
.site-logo img,
.site-header .custom-logo {
  display: block;
  width: auto;
  max-height: 102px;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.18));
}
.site-branding .main-title a,
.site-branding .site-description { color: var(--lwr-cream); }

.main-navigation,
.main-navigation ul ul,
.main-navigation .main-nav ul ul li a {
  background: var(--lwr-gold);
}
.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-items {
  color: var(--lwr-green);
  font-weight: 700;
  letter-spacing: 0.02em;
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a,
.main-navigation .main-nav ul li[class*="current-menu-"]:hover > a,
.main-navigation .menu-toggle:hover,
.main-navigation .menu-toggle:focus {
  color: var(--lwr-cream);
  background: var(--lwr-green);
}

.site-content { padding-top: 42px; padding-bottom: 52px; }
.separate-containers .inside-article,
.one-container .site-content,
.widget {
  border: 1px solid var(--lwr-border);
  border-radius: 14px;
  background: var(--lwr-white);
  box-shadow: 0 10px 30px rgba(27, 58, 45, 0.07);
}
.entry-title { color: var(--lwr-green); }
.entry-content h2 {
  padding-bottom: 0.25em;
  border-bottom: 2px solid rgba(197, 163, 92, 0.55);
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"],
a.button,
a.wp-block-button__link,
.wp-block-button__link,
.directorist-btn.directorist-btn-primary {
  color: var(--lwr-cream);
  background: var(--lwr-green);
  border: 2px solid var(--lwr-green);
  border-radius: 8px;
  font-weight: 700;
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}
button:hover,
button:focus,
html input[type="button"]:hover,
html input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
a.button:hover,
a.button:focus,
a.wp-block-button__link:hover,
a.wp-block-button__link:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus,
.directorist-btn.directorist-btn-primary:hover,
.directorist-btn.directorist-btn-primary:focus {
  color: var(--lwr-green);
  background: var(--lwr-gold);
  border-color: var(--lwr-gold);
  transform: translateY(-1px);
}

input[type="text"], input[type="email"], input[type="url"],
input[type="tel"], input[type="search"], textarea, select {
  color: var(--lwr-green);
  background: var(--lwr-white);
  border: 1px solid rgba(27, 58, 45, 0.35);
  border-radius: 7px;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--lwr-gold);
  outline: 3px solid rgba(197, 163, 92, 0.34);
  outline-offset: 1px;
}

.site-footer,
.site-info {
  color: var(--lwr-cream);
  background: var(--lwr-green);
  border-top: 4px solid var(--lwr-gold);
}
.site-footer a, .site-info a { color: var(--lwr-gold); }
.site-footer a:hover, .site-footer a:focus,
.site-info a:hover, .site-info a:focus { color: var(--lwr-cream); }

:focus-visible {
  outline: 3px solid var(--lwr-gold);
  outline-offset: 3px;
}

@media (max-width: 768px) {
  .site-header .inside-header { min-height: 104px; padding: 10px 20px; }
  .site-logo img, .site-header .custom-logo { max-height: 84px; }
  .site-content { padding-top: 24px; padding-bottom: 32px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
