/*
 * Dare Bear — Šumski vizuelni sloj
 * CSS-only: it deliberately has no catalog recovery, AJAX, observers, or scripts.
 */

html {
  background: #0b263a;
}

body.dbr-site.dbfv-forest {
  --dbfv-frame: clamp(40px, 9vw, 176px);
  --dbfv-ink: #f5fcff;
  --dbfv-copy: #d3eaf0;
  --dbfv-accent: #83dceb;
  --dbfv-panel: rgba(5, 31, 45, 0.76);
  --dbfv-panel-strong: rgba(4, 25, 38, 0.86);
  --dbfv-line: rgba(205, 241, 248, 0.28);
  --db-deep: #f5fcff;
  --db-muted: #d3eaf0;
  --db-sky: #83dceb;
  --dbr-line: rgba(205, 241, 248, 0.24);
  background-color: #0b263a !important;
  background-position: center top !important;
  background-size: cover !important;
  background-attachment: fixed !important;
  color: var(--dbfv-ink);
  overflow-x: clip;
}

body.dbr-site.dbfv-forest *,
body.dbr-site.dbfv-forest *::before,
body.dbr-site.dbfv-forest *::after {
  min-width: 0;
}

body.dbr-site.dbfv-forest :is(h1, h2, h3, p, a, span, strong, small, b, em, label, li) {
  overflow-wrap: anywhere;
}

/* Header and navigation — no white strip remains. */
body.dbr-site.dbfv-forest .dbr-header {
  background: rgba(5, 30, 45, 0.92) !important;
  border-bottom: 1px solid var(--dbfv-line) !important;
  box-shadow: 0 12px 30px rgba(1, 16, 25, 0.28) !important;
  backdrop-filter: blur(13px) saturate(1.05);
}

body.dbr-site.dbfv-forest .dbr-logo img {
  filter: brightness(0) invert(1);
}

body.dbr-site.dbfv-forest .dbr-menu a,
body.dbr-site.dbfv-forest .dbr-menu-toggle {
  color: var(--dbfv-ink) !important;
}

body.dbr-site.dbfv-forest .dbr-menu a::after {
  background: var(--dbfv-accent) !important;
}

body.dbr-site.dbfv-forest .dbr-menu li:last-child > a {
  background: var(--dbfv-accent) !important;
  color: #062738 !important;
  border-color: transparent !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18) !important;
}

body.dbr-site.dbfv-forest .dbr-menu-toggle,
body.dbr-site.dbfv-forest .dbr-nav {
  border-color: var(--dbfv-line) !important;
  background: rgba(5, 30, 45, 0.96) !important;
}

/* A slightly wider safe frame keeps every text block off the viewport edge. */
body.dbr-site.dbfv-forest :is(
  .dbr-header-inner,
  .db-hero > .wp-block-group__inner-container,
  .db-section > .wp-block-group__inner-container,
  .dbv-page,
  .db-page,
  .dbcat-container,
  .dbr-footer-inner
) {
  width: min(var(--dbr-max), calc(100% - var(--dbfv-frame))) !important;
}

body.dbr-site.dbfv-forest .dbr-generic {
  width: min(950px, calc(100% - var(--dbfv-frame))) !important;
}

/* The forest stays visible behind all formerly white page canvases. */
body.dbr-site.dbfv-forest :is(.dbv-page, .db-page, .dbr-generic) {
  box-sizing: border-box;
  padding: clamp(52px, 7vw, 96px) clamp(22px, 5vw, 76px) clamp(72px, 9vw, 120px) !important;
  color: var(--dbfv-ink) !important;
  background: linear-gradient(135deg, rgba(5, 32, 47, 0.76), rgba(11, 55, 70, 0.56)) !important;
  border: 1px solid rgba(223, 249, 252, 0.16) !important;
  box-shadow: none !important;
  clip-path: none !important;
  backdrop-filter: blur(3px) saturate(1.05);
}

body.dbr-site.dbfv-forest :is(.db-section, .dbcat-shell) {
  color: var(--dbfv-ink) !important;
  background: linear-gradient(180deg, rgba(5, 32, 47, 0.68), rgba(7, 42, 57, 0.54)) !important;
  border-block: 1px solid rgba(223, 249, 252, 0.16) !important;
  box-shadow: none !important;
  backdrop-filter: blur(3px) saturate(1.05);
}

body.dbr-site.dbfv-forest :is(.db-hero, .dbv-event-hero) {
  color: var(--dbfv-ink) !important;
  background: linear-gradient(120deg, rgba(4, 26, 39, 0.82), rgba(9, 57, 70, 0.66)) !important;
  border-bottom: 1px solid var(--dbfv-line) !important;
  box-shadow: none !important;
}

body.dbr-site.dbfv-forest :is(.dbv-page, .db-page, .db-section, .dbcat-shell, .db-hero, .dbv-event-hero) :is(h1, h2, h3) {
  color: var(--dbfv-ink) !important;
  text-shadow: 0 2px 14px rgba(0, 12, 20, 0.28);
}

body.dbr-site.dbfv-forest :is(.dbv-page, .db-page, .db-section, .dbcat-shell, .db-hero, .dbv-event-hero) :is(p, span, small, strong, b, em, li, a) {
  color: var(--dbfv-copy);
}

body.dbr-site.dbfv-forest :is(.db-eyebrow, .dbv-section-title p, .dbv-print-hero__copy > p, .dbv-web-hero > p, .dbv-event-hero > p, .dbv-event-hero > b, .dbv-contact-info > p, .dbcat-heading p) {
  color: var(--dbfv-accent) !important;
}

/* Cards and panels remain legible without becoming white boxes. */
body.dbr-site.dbfv-forest :is(
  .dbv-print-hero,
  .dbv-browser,
  .dbv-print-card,
  .dbv-event-services article,
  .dbv-contact-form,
  .dbcat-controls,
  .dbcat-card,
  .dbcat-modal-box
) {
  color: var(--dbfv-ink) !important;
  background: var(--dbfv-panel) !important;
  border: 1px solid var(--dbfv-line) !important;
  border-radius: 14px !important;
  box-shadow: 0 14px 32px rgba(0, 14, 24, 0.2) !important;
  backdrop-filter: blur(7px) saturate(1.05);
}

body.dbr-site.dbfv-forest :is(.dbv-print-hero, .dbv-event-services article, .dbv-contact-form, .dbcat-controls) {
  padding: clamp(24px, 4vw, 44px) !important;
}

body.dbr-site.dbfv-forest :is(.dbv-print-card > div, .dbv-site-card__meta, .dbv-contact-links > a, .dbv-cta, .db-v2-cta, .dbv-process, .dbv-event-route, .dbcat-copy) {
  border-color: var(--dbfv-line) !important;
}

body.dbr-site.dbfv-forest :is(.dbv-contact-links a, .dbv-contact-links strong, .dbv-print-card h3, .dbv-site-card__meta strong, .dbv-process h3, .dbv-event-route h3, .dbv-event-services h3) {
  color: var(--dbfv-ink) !important;
}

body.dbr-site.dbfv-forest :is(.dbv-contact-links small, .dbv-print-card small, .dbv-site-card__meta small, .dbv-process p, .dbv-event-route p, .dbv-event-services p) {
  color: var(--dbfv-copy) !important;
}

/* Contact form: dark panel, high-contrast labels and fields. */
body.dbr-site.dbfv-forest .dbv-contact-form {
  background: var(--dbfv-panel-strong) !important;
}

body.dbr-site.dbfv-forest :is(.dbv-contact-form h2, .db-contact-form label, .db-contact-form p, .db-contact-form .wpcf7-list-item-label) {
  color: var(--dbfv-ink) !important;
}

body.dbr-site.dbfv-forest .db-contact-form :is(input:not([type='checkbox']), textarea, select) {
  box-sizing: border-box;
  color: var(--dbfv-ink) !important;
  background: rgba(2, 23, 34, 0.58) !important;
  border: 1px solid rgba(211, 241, 247, 0.48) !important;
  border-radius: 5px !important;
  box-shadow: none !important;
}

body.dbr-site.dbfv-forest .db-contact-form :is(input, textarea, select)::placeholder {
  color: rgba(225, 245, 249, 0.72) !important;
}

body.dbr-site.dbfv-forest .db-contact-form select option {
  color: var(--dbfv-ink);
  background: #0a2d40;
}

body.dbr-site.dbfv-forest .db-contact-form select {
  color-scheme: dark;
}

body.dbr-site.dbfv-forest .db-contact-form input[type='checkbox'] {
  accent-color: var(--dbfv-accent);
}

body.dbr-site.dbfv-forest .db-contact-form :is(input, textarea, select):focus {
  outline: 2px solid var(--dbfv-accent) !important;
  outline-offset: 2px;
  border-color: var(--dbfv-accent) !important;
}

/* Catalog styling only changes color and spacing; its markup and scripts are untouched. */
body.dbr-site.dbfv-forest .dbcat-shell {
  padding-block: clamp(52px, 7vw, 92px) !important;
}

body.dbr-site.dbfv-forest :is(.dbcat-heading h2, .dbcat-copy strong, .dbcat-modal-copy h2) {
  color: var(--dbfv-ink) !important;
}

body.dbr-site.dbfv-forest :is(.dbcat-heading > span, .dbcat-copy small, .dbcat-copy > span, .dbcat-copy b, .dbcat-modal-copy p, .dbcat-loading) {
  color: var(--dbfv-copy) !important;
}

body.dbr-site.dbfv-forest .dbcat-search {
  border-color: var(--dbfv-line) !important;
  background: rgba(2, 23, 34, 0.58) !important;
}

body.dbr-site.dbfv-forest .dbcat-search input {
  color: var(--dbfv-ink) !important;
}

body.dbr-site.dbfv-forest .dbcat-categories button {
  color: var(--dbfv-ink) !important;
  border-color: var(--dbfv-line) !important;
  background: rgba(2, 23, 34, 0.58) !important;
}

body.dbr-site.dbfv-forest .dbcat-categories button.active,
body.dbr-site.dbfv-forest :is(.dbcat-more, .dbv-cta a, .db-v2-cta a, .db-contact-form button) {
  color: #052536 !important;
  background: var(--dbfv-accent) !important;
  border-color: transparent !important;
  box-shadow: 0 9px 22px rgba(0, 0, 0, 0.2) !important;
}

body.dbr-site.dbfv-forest :is(.dbcat-more:hover, .dbv-cta a:hover, .db-v2-cta a:hover, .db-contact-form button:hover) {
  color: #041f2d !important;
  background: #c3f2f7 !important;
}

body.dbr-site.dbfv-forest .dbcat-image {
  background: rgba(214, 239, 244, 0.16) !important;
}

body.dbr-site.dbfv-forest .dbcat-modal {
  background: rgba(1, 16, 25, 0.72) !important;
}

body.dbr-site.dbfv-forest .dbcat-modal-box {
  background: #0a2c3f !important;
}

/* Footer stays inside the same visual world and retains enough contrast. */
body.dbr-site.dbfv-forest .dbr-footer {
  color: var(--dbfv-copy) !important;
  background: rgba(3, 23, 35, 0.9) !important;
  border-top: 1px solid var(--dbfv-line) !important;
}

body.dbr-site.dbfv-forest .dbr-footer :is(h2, h3, strong, a) {
  color: var(--dbfv-ink) !important;
}

body.dbr-site.dbfv-forest .dbr-footer p {
  color: var(--dbfv-copy) !important;
}

body.dbr-site.dbfv-forest :is(a, button, input, textarea, select):focus-visible {
  outline: 2px solid var(--dbfv-accent) !important;
  outline-offset: 3px;
}

@media (max-width: 760px) {
  body.dbr-site.dbfv-forest {
    --dbfv-frame: 40px;
    background-attachment: scroll !important;
  }

  body.dbr-site.dbfv-forest :is(.dbv-page, .db-page, .dbr-generic) {
    padding: 42px 20px 60px !important;
  }

  body.dbr-site.dbfv-forest :is(.dbv-print-hero, .dbv-event-services article, .dbv-contact-form, .dbcat-controls) {
    padding: 24px 20px !important;
  }

  body.dbr-site.dbfv-forest .dbr-nav {
    padding-inline: 20px !important;
  }
}
