html {
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto,
                "Noto Sans", "Helvetica Neue", Arial, "Apple Color Emoji",
                "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;
    line-height: 1.6; /* improves Russian paragraph readability */
}
b, strong {
  font-weight: 700;
}
main p, table, ul, ol {
  margin: 0 0 1.5em;   /* space below each paragraph */
}
hr {
  margin: 0 0 0.7em;
  height: 3px;
  background-color: #666;
}

/* If a <p> is directly followed by a list */
main p:has(+ ul),
main p:has(+ ol) {
  margin-bottom: 0.3em;
}

/* If a <table> is directly followed by a list */
main p:has(+ table) {
  margin-bottom: 0.3em;
}

/* WYSIWYG tables */
main table[border="0"] td {
  padding: 6px 4px;           /* your spacing */
  vertical-align: top;
  border: 1px dotted #999; /* vertical dividers */
}
/* Remove bottom margin from last <p> inside any table cell */
table td p:last-child,
table th p:last-child {
  margin-bottom: 0 !important;
}

/* Content links without classes (typical WYSIWYG output) */
main a:not([class]) {
    color: #f94e06 !important;     /* consistent accent */
    text-decoration: underline;    /* show underline by default */
    font-weight: 700;              /* a bit bolder for visibility */
}
main a:not([class]):visited { color: #f94e06 !important; }

/* Hover/focus feedback: remove underline and darken slightly */
main a:not([class]):hover,
main a:not([class]):focus {
    color: #f94e06 !important;
    text-decoration: none;
}

/* Keyboard accessibility */
main a:not([class]):focus-visible {
    outline: 2px solid #f94e06;
    outline-offset: 2px;
}

/* Responsive banner heights */
.hero-banner { height: 20rem; }              /* ~320px on mobile */
@media (min-width: 1024px) { .hero-banner { height: 580px; } }  /* lg desktop */

/* Hide elements with x-cloak until Alpine.js removes the attribute to prevent flash on load */
[x-cloak]{display:none !important;}

/* Base (mobile): show hamburger, hide desktop nav */
.mobile-toggle { display:block; }
.mobile-panel  { display:block; } /* x-show will control visibility */
.desktop-nav   { display:none; }

/* Desktop at ≥950px: hide all mobile bits, show desktop nav */
@media (min-width: 950px) {
    .mobile-toggle, .mobile-panel { display:none !important; }
    .desktop-nav { display:block !important; }
}

/* Style WYSIWYG lists */
main ul { list-style: disc; padding-left: 3rem; }
main ol { list-style: decimal; padding-left: 3rem; }