/* RAMKA Site V2 foundation — local query-gated preview, release 20260811. */
body.ramka-site-v2 {
  --ramka-navy: #080b70;
  --ramka-navy-2: #11127b;
  --ramka-teal: #08b28a;
  --ramka-teal-text: #00765f;
  --ramka-coral: #ef6561;
  --ramka-gold: #bd8539;
  --ramka-warm: #fbf7f0;
  --ramka-ink: #252638;
  --ramka-copy: #5a5b68;
  --ramka-muted: #5a5b68;
  --ramka-line: #dfe0e7;
  --ramka-control-border: #878a9c;
  --ramka-soft: #f7f8fb;
  --ramka-white: #fff;
  --ramka-focus-ring: #080b70;
  --ramka-focus-ring-inverse: #fff;
  --ramka-shadow: 0 14px 40px rgba(18, 21, 62, .08);
  --ramka-radius-sm: 8px;
  --ramka-radius-md: 14px;
  --ramka-radius-lg: 22px;
  --ramka-container: 1280px;
  --ramka-v2-navy: var(--ramka-navy);
  --ramka-v2-navy-2: var(--ramka-navy-2);
  --ramka-v2-teal: var(--ramka-teal);
  --ramka-v2-teal-aa: var(--ramka-teal-text);
  --ramka-v2-coral: var(--ramka-coral);
  --ramka-v2-gold: var(--ramka-gold);
  --ramka-v2-warm: var(--ramka-warm);
  --ramka-v2-ink: var(--ramka-ink);
  --ramka-v2-copy: var(--ramka-copy);
  --ramka-v2-muted: var(--ramka-muted);
  --ramka-v2-line: var(--ramka-line);
  --ramka-v2-soft: var(--ramka-soft);
  --ramka-v2-white: var(--ramka-white);
  --ramka-v2-shadow: var(--ramka-shadow);
  background: var(--ramka-white);
  color: var(--ramka-copy);
  font-family: inherit;
  line-height: 1.85;
  overflow-x: hidden;
  overflow-x: clip;
}

body.ramka-site-v2 #main {
  min-height: 55vh;
  overflow: visible;
}

body.ramka-site-v2 .container,
body.ramka-site-v2 .row {
  max-width: var(--ramka-container);
}

body.ramka-site-v2 :where(h1, h2, h3, h4, h5, h6) {
  color: var(--ramka-ink);
  font-family: inherit;
  letter-spacing: -.025em;
  line-height: 1.45;
}

body.ramka-site-v2 :where(p, li) {
  color: inherit;
}

body.ramka-site-v2 a {
  text-underline-offset: .2em;
}

body.ramka-site-v2 :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--ramka-focus-ring);
  outline-offset: 3px;
}

body.ramka-site-v2 :where(#top-bar, .ramka-v2-advisory) :where(a, button, input, select, textarea):focus-visible {
  outline-color: var(--ramka-focus-ring-inverse);
}

body.ramka-site-v2.ramka-home-v2-active .ramka-v2-cta :where(a, button, input, select, textarea):focus-visible {
  outline-color: var(--ramka-focus-ring-inverse);
}

body.ramka-site-v2 ::selection {
  background: rgba(8, 178, 138, .2);
  color: var(--ramka-navy);
}

/* Unverified ratings are intentionally outside the Site V2 content system. */
body.ramka-site-v2 :where(
  .star-rating,
  .stars,
  .woocommerce-product-rating,
  .woocommerce-review-link,
  .comment-form-rating,
  .widget_rating_filter,
  .wc-block-components-product-rating
) {
  display: none !important;
}

body.ramka-site-v2:not(.ramka-home-v2-active) .ramka-v2-eyebrow {
  align-items: center;
  color: var(--ramka-teal-text);
  display: flex;
  font-size: .78rem;
  font-weight: 700;
  gap: .55rem;
  letter-spacing: .02em;
  margin: 0 0 .75rem;
}

body.ramka-site-v2:not(.ramka-home-v2-active) .ramka-v2-eyebrow::before {
  background: var(--ramka-coral);
  border-radius: 99px;
  content: "";
  flex: 0 0 1.65rem;
  height: 3px;
}

body.ramka-site-v2:not(.ramka-home-v2-active) .ramka-v2-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: var(--ramka-radius-sm);
  display: inline-flex;
  font-size: .9rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.45;
  min-height: 48px;
  padding: .72rem 1.25rem;
  text-align: center;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

body.ramka-site-v2:not(.ramka-home-v2-active) .ramka-v2-button:hover {
  transform: translateY(-2px);
}

body.ramka-site-v2:not(.ramka-home-v2-active) .ramka-v2-button--primary {
  background: var(--ramka-teal);
  color: #052d26;
}

body.ramka-site-v2:not(.ramka-home-v2-active) .ramka-v2-button--primary:hover {
  background: #0bc69a;
  color: #031f1b;
}

body.ramka-site-v2:not(.ramka-home-v2-active) .ramka-v2-button--secondary {
  background: transparent;
  border-color: rgba(255, 255, 255, .44);
  color: var(--ramka-white);
}

body.ramka-site-v2:not(.ramka-home-v2-active) .ramka-v2-button--secondary:hover {
  background: rgba(255, 255, 255, .1);
  border-color: var(--ramka-white);
  color: var(--ramka-white);
}

body.ramka-site-v2 .ramka-v2-empty-state {
  margin-inline: auto;
  max-width: 720px;
  text-align: center;
}

body.ramka-site-v2 .ramka-v2-empty-state .ramka-v2-eyebrow {
  justify-content: center;
}

body.ramka-site-v2 .ramka-v2-empty-state h1,
body.ramka-site-v2 .ramka-v2-empty-state h2 {
  color: var(--ramka-navy);
  font-size: clamp(1.7rem, 4vw, 3rem);
  margin: 0 0 1rem;
}

body.ramka-site-v2 .ramka-v2-empty-state > p {
  margin-inline: auto;
  max-width: 58ch;
}

body.ramka-site-v2 .ramka-v2-empty-state__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: center;
  margin-top: 1.6rem;
}

body.ramka-site-v2 .ramka-v2-empty-state .ramka-v2-button--secondary {
  border-color: var(--ramka-navy);
  color: var(--ramka-navy);
}

body.ramka-site-v2 .ramka-v2-empty-state .ramka-v2-button--secondary:hover {
  background: var(--ramka-navy);
  color: var(--ramka-white);
}

@media (max-width: 549px) {
  body.ramka-site-v2 .ramka-v2-empty-state__actions,
  body.ramka-site-v2 .ramka-v2-empty-state__actions .ramka-v2-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ramka-site-v2 *,
  body.ramka-site-v2 *::before,
  body.ramka-site-v2 *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
