.skip-link {
    background: #fff;
    color: #111;
    left: 1rem;
    padding: .75rem 1rem;
    position: fixed;
    top: -10rem;
    z-index: 10000;
}

.skip-link:focus { top: 1rem; }

:focus-visible {
    outline: 3px solid #ff9800;
    outline-offset: 2px;
}

img, video, iframe { max-width: 100%; }
.table-responsive { border: 0; overflow-x: auto; }
.form-control[aria-invalid="true"] { border-color: #d32f2f; }
.field-error { color: #b71c1c; display: block; margin-top: 4px; }

.privacy-banner {
    background: #191919;
    bottom: 0;
    color: #fff;
    display: none;
    left: 0;
    padding: 1rem;
    position: fixed;
    right: 0;
    z-index: 9999;
}
.privacy-banner.is-visible { display: block; }
.privacy-banner__content { margin: 0 auto; max-width: 1100px; }
.privacy-banner a { color: #fff; text-decoration: underline; }
.privacy-banner .btn { margin: .25rem; }

.ql-container { min-height: 180px; }

@media (max-width: 767px) {
    .content { padding: 60px 8px 20px; }
    .card .card-content { padding: 15px 10px; }
    .btn { max-width: 100%; white-space: normal; }
    .navbar .navbar-toggle { margin-right: 10px; }
    h1 { font-size: 2rem; }
}

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

.statistics-hero { margin-bottom: 28px; padding: 32px; border-radius: 18px; color: #fff; background: linear-gradient(135deg, #6a1b9a, #d81b60); box-shadow: 0 16px 40px rgba(106,27,154,.22); }
.statistics-hero h1 { margin: 6px 0 8px; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 700; }
.statistics-hero p { max-width: 720px; margin: 0; font-size: 1.05rem; opacity: .92; }
.statistics-kicker { text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; font-weight: 700; }
.statistics-summary { display: flex; flex-wrap: wrap; }
.stat-card { min-height: 155px; margin-bottom: 24px; padding: 25px; border-radius: 16px; color: #fff; box-shadow: 0 10px 26px rgba(35,35,35,.14); }
.stat-card i { float: right; font-size: 42px; opacity: .8; }
.stat-card strong, .stat-card span { display: block; }
.stat-card strong { font-size: 2.5rem; line-height: 1.15; }
.stat-card span { margin-top: 8px; font-size: 1rem; }
.stat-card--rose { background: linear-gradient(135deg,#ec407a,#c2185b); }
.stat-card--purple { background: linear-gradient(135deg,#ab47bc,#6a1b9a); }
.stat-card--orange { background: linear-gradient(135deg,#ffa726,#ef6c00); }
.stat-card--blue { background: linear-gradient(135deg,#42a5f5,#1565c0); }
.statistics-panel { border-radius: 16px; }
.statistics-panel h2 { margin-top: 0; font-size: 1.35rem; }
.visibility-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 25px; }
.visibility-grid div { padding: 24px 14px; border-radius: 12px; text-align: center; background: #f5f2f8; }
.visibility-grid strong, .visibility-grid span { display: block; }
.visibility-grid strong { color: #7b1fa2; font-size: 2rem; }
.stat-bar { margin: 17px 0; }
.stat-bar__label { display: flex; justify-content: space-between; margin-bottom: 6px; }
.stat-bar__track { height: 9px; overflow: hidden; border-radius: 99px; background: #eee7f1; }
.stat-bar__track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#ab47bc,#ec407a); }
