/* Téma edice Blbec roku – grafika „Bulvár" (docs/design/blbecroku-bulvar/). Přestyluje společné šablony, nic nepřidává.
   Písma Anton a Archivo (OFL, fonts/OFL.txt) hostovaná lokálně, rastry a logo generuje tools/make-theme-blbecroku.py. */

@font-face {
    font-family: Anton;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/anton-regular.woff2") format("woff2");
}

@font-face {
    font-family: Archivo;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/archivo-400.woff2") format("woff2");
}

@font-face {
    font-family: Archivo;
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("fonts/archivo-600.woff2") format("woff2");
}

@font-face {
    font-family: Archivo;
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url("fonts/archivo-800.woff2") format("woff2");
}

:root {
    --pr-primary: #e10600;
    --pr-accent: #ffd400;
    --pr-text: #0d0d0d;
    --pr-bg: #f2efe6;
    --pr-font: Archivo, Arial, sans-serif;
    --pr-display: Anton, Impact, "Arial Narrow", sans-serif;
    --pr-muted: #6b665a;
    --pr-body-text: #3a3a3a;
    --pr-line: #d9d3c3;
    --pr-paper: #e8e4da;
}

/* ------------------------------------------------------------ základ */

.pr-body {
    font-size: 16px;
}

.pr-body h1,
.pr-body h2,
.pr-body h3 {
    font-family: var(--pr-display);
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.05;
}

.pr-body a:where(:not(.btn)) {
    color: var(--pr-primary);
    font-weight: 800;
}

.pr-body a:where(:not(.btn)):hover {
    color: var(--pr-text);
}

.pr-body .container {
    max-width: 1140px;
}

.pr-body .form-control,
.pr-body .form-select {
    border: 3px solid var(--pr-text);
    border-radius: 0;
    min-height: 52px;
    padding: 12px 14px;
    font-size: 16px;
    color: var(--pr-text);
}

.pr-body .form-control:focus {
    border-color: var(--pr-text);
    box-shadow: 4px 4px 0 var(--pr-accent);
}

.pr-body .form-control.input-validation-error,
.pr-body .form-control[aria-invalid="true"] {
    border-color: var(--pr-primary);
}

.pr-body .text-danger {
    color: var(--pr-primary) !important;
    font-size: 14px;
    font-weight: 700;
}

/* Tlačítka: bez zaoblení, 3px rámeček, posunutý stín */
.pr-body .btn {
    border: 3px solid var(--pr-text);
    border-radius: 0;
    font-weight: 800;
    font-size: 17px;
    padding: 12px 22px;
    color: var(--pr-text);
    background: #fff;
}

.pr-body .btn-lg {
    font-size: 20px;
    padding: 16px 28px;
}

.pr-body .btn-sm {
    font-size: 15px;
    padding: 8px 14px;
}

.pr-body .btn-primary,
.pr-body .btn-primary:hover,
.pr-body .btn-primary:focus {
    background-color: var(--pr-primary);
    border-color: var(--pr-text);
    color: #fff;
    box-shadow: 5px 5px 0 var(--pr-text);
}

.pr-body .btn-primary:active {
    transform: translate(3px, 3px);
    box-shadow: 2px 2px 0 var(--pr-text);
}

.pr-body .btn-outline-primary,
.pr-body .btn-outline-secondary {
    background: #fff;
    border-color: var(--pr-text);
    color: var(--pr-text);
}

.pr-body .btn-outline-primary:hover,
.pr-body .btn-outline-secondary:hover {
    background: var(--pr-accent);
    border-color: var(--pr-text);
    color: var(--pr-text);
}

.pr-body .btn-check:checked + .btn-outline-primary,
.pr-body .btn-check:focus-visible + .btn-outline-primary {
    background: var(--pr-text);
    border-color: var(--pr-text);
    color: var(--pr-accent);
}

.pr-body .btn-group > .btn {
    font-size: 16px;
    padding: 12px 20px;
}

.pr-body .btn-group > .btn:not(:first-child),
.pr-body .btn-group > .btn-check + .btn:not(:first-of-type) {
    margin-left: -3px;
}

.pr-body .alert {
    border-radius: 0;
    border: 3px solid var(--pr-text);
    color: var(--pr-text);
    font-weight: 600;
}

.pr-body .alert-info,
.pr-body .alert-warning {
    background: var(--pr-accent);
}

.pr-body .alert-success {
    background: #fff;
}

.pr-body .alert-secondary {
    background: var(--pr-text);
    color: #fff;
    border-color: var(--pr-text);
}

.pr-body .alert-secondary a {
    color: var(--pr-accent);
}

/* ------------------------------------------------------------ hlavička */

.pr-header {
    background: var(--pr-text);
    border-bottom: 10px solid var(--pr-accent);
    padding: 22px 0;
}

.pr-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.pr-logo {
    height: 75px;
}

.pr-tagline {
    margin: 0;
    max-width: 360px;
    color: #fff;
    opacity: 1;
    font-size: 17px;
    line-height: 1.4;
    text-align: right;
}

/* ------------------------------------------------------------ obsah */

.pr-content {
    padding-top: 36px;
    padding-bottom: 56px;
}

.pr-card {
    background: #fff;
    border: 3px solid var(--pr-text);
    border-radius: 0;
    box-shadow: 8px 8px 0 var(--pr-accent);
    padding: 32px;
    margin-bottom: 28px;
}

.pr-card h1 {
    font-size: 64px;
    line-height: 1;
    margin-bottom: 14px;
}

.pr-card > p {
    font-size: 17px;
    line-height: 1.55;
    color: var(--pr-body-text);
}

.pr-card > p.pr-check-existing {
    color: var(--pr-text);
    background: var(--pr-accent);
    border: 3px solid var(--pr-text);
    padding: 10px 14px;
}

.pr-check-existing a {
    color: var(--pr-text);
    font-weight: 800;
}

.pr-notice {
    text-align: left;
    padding: 40px;
    box-shadow: 8px 8px 0 var(--pr-primary);
}

.pr-notice-title {
    font-size: 56px;
    line-height: 1;
}

.pr-notice-links {
    justify-content: flex-start;
    gap: 14px;
}

.pr-notice-links .btn-primary {
    background: var(--pr-accent);
    color: var(--pr-text);
}

.pr-empty {
    color: var(--pr-muted);
}

.pr-generated {
    font-size: 13px;
    color: var(--pr-muted);
}

/* Formulář návrhu */
.pr-form .form-label,
.pr-form .form-check-label {
    font-weight: 800;
    font-size: 16px;
}

.pr-form .form-label {
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.pr-form .form-text {
    font-size: 13px;
    color: var(--pr-muted);
}

.pr-form textarea.form-control {
    min-height: 150px;
    line-height: 1.5;
}

.pr-form input[type="file"].form-control {
    border-style: dashed;
    padding: 18px;
}

.pr-form .form-check-input {
    width: 26px;
    height: 26px;
    margin-top: 0;
    margin-right: 12px;
    border: 3px solid var(--pr-text);
    border-radius: 0;
}

.pr-form .form-check-input:checked {
    background-color: var(--pr-text);
    border-color: var(--pr-text);
}

.pr-form .form-check {
    display: flex;
    align-items: flex-start;
    padding-left: 0;
}

.pr-form .form-check .form-check-input {
    float: none;
    margin-left: 0;
    flex-shrink: 0;
}

.pr-form .btn-primary {
    font-size: 19px;
    padding: 15px 30px;
}

/* ------------------------------------------------------------ hlavní stránka */

.pr-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 0 24px;
    text-align: left;
    margin-bottom: 28px;
}

.pr-intro {
    margin: 0;
    padding-bottom: 24px;
}

.pr-intro h1 {
    margin: 0 0 10px;
    font-size: 58px;
    line-height: 1.05;
}

.pr-intro h1 mark {
    display: inline-block;
    margin-top: 6px;
    background: var(--pr-accent);
    color: inherit;
    padding: 0 8px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.pr-intro p {
    margin: 0;
    max-width: 520px;
    font-size: 17px;
    line-height: 1.5;
    color: var(--pr-body-text);
}

/* Pravý sloupec hero: Borec roku nad hlavním tlačítkem, stejná šířka, svisle na střed vůči úvodu */
.pr-hero-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    align-self: center;
    gap: 12px;
    /* vyrovnává padding-bottom .pr-intro, střed tlačítek = střed nadpisu s odstavcem */
    margin-bottom: 24px;
}

.pr-hero .pr-cta,
.pr-hero .pr-hero-borec {
    white-space: nowrap;
}

.pr-body .pr-hero .pr-hero-borec {
    box-shadow: 5px 5px 0 var(--pr-text);
}

/* Čára pod úvodem přes celou šířku, hledání pod ní */
.pr-hero::after {
    content: "";
    grid-row: 2;
    grid-column: 1 / -1;
    border-top: 3px solid var(--pr-text);
    margin-bottom: 28px;
}

.pr-search-form {
    grid-row: 3;
    grid-column: 1 / -1;
    gap: 0;
    max-width: none;
    margin: 0;
}

.pr-search-form .form-control {
    height: 56px;
    border-right: 0;
    font-size: 18px;
}

.pr-search-form .btn,
.pr-search-form .btn:hover {
    background: var(--pr-text);
    color: var(--pr-accent);
    font-size: 18px;
    padding: 0 26px;
}

.pr-ranking-head {
    margin-bottom: 16px;
}

.pr-ranking-title {
    font-family: var(--pr-display);
    font-weight: 400;
    font-size: 38px;
    text-transform: uppercase;
}

.pr-ranking-sub {
    font-size: 13px;
    color: var(--pr-muted);
}

.pr-list .pr-card {
    box-shadow: none;
    margin-bottom: 16px;
}

.pr-list .pr-card:first-child {
    box-shadow: 8px 8px 0 var(--pr-accent);
}

.pr-card-link,
.pr-body .pr-card-link {
    font-weight: 400;
    gap: 20px;
    padding: 14px 20px;
    border-radius: 0;
}

.pr-list .pr-card:first-child .pr-card-link {
    padding: 20px 24px;
}

.pr-card-link:hover,
.pr-card-link:focus {
    box-shadow: none;
    background: #fffbe0;
}

.pr-rank {
    flex: 0 0 72px;
    font-family: var(--pr-display);
    font-weight: 400;
    font-size: 56px;
    line-height: 1;
    color: var(--pr-text);
}

.pr-list .pr-card:first-child .pr-rank {
    flex-basis: 92px;
    font-size: 88px;
    color: var(--pr-primary);
}

.pr-photo {
    border-radius: 0;
    background: var(--pr-paper);
}

.pr-card .pr-photo {
    flex: 0 0 80px;
    width: 80px;
    height: 100px;
}

.pr-list .pr-card:first-child .pr-photo {
    flex-basis: 96px;
    width: 96px;
    height: 120px;
}

.pr-card-body {
    gap: 8px;
}

.pr-name {
    font-family: var(--pr-display);
    font-weight: 400;
    font-size: 30px;
    line-height: 1.05;
    text-transform: uppercase;
    letter-spacing: 0.01em;
}

.pr-list .pr-card:first-child .pr-name {
    font-size: 40px;
}

.pr-points {
    font-family: var(--pr-display);
    font-weight: 400;
    font-size: 32px;
    line-height: 1;
    color: var(--pr-primary);
}

.pr-share-row {
    gap: 14px;
}

/* #47: sloupec podílu se pro „100 %" rozšíří, číslo a „%" se nezalomí */
.pr-share {
    flex: 0 0 auto;
    min-width: 80px;
    white-space: nowrap;
    font-family: var(--pr-display);
    font-weight: 400;
    font-size: 32px;
    line-height: 1;
    color: var(--pr-primary);
}

.pr-list .pr-card:first-child .pr-share {
    min-width: 104px;
    font-size: 44px;
}

/* Pruh Blbometru: žlutý na bílém, černý rámeček, rysky 25/50/75 % */
.pr-meter {
    height: 16px;
    border: 3px solid var(--pr-text);
    border-radius: 0;
    background: #fff;
}

.pr-list .pr-card:first-child .pr-meter {
    height: 20px;
}

.pr-meter::-webkit-progress-bar {
    background:
        linear-gradient(90deg, transparent calc(25% - 1px), rgba(13, 13, 13, 0.25) calc(25% - 1px), rgba(13, 13, 13, 0.25) calc(25% + 1px), transparent calc(25% + 1px)),
        linear-gradient(90deg, transparent calc(50% - 1px), rgba(13, 13, 13, 0.25) calc(50% - 1px), rgba(13, 13, 13, 0.25) calc(50% + 1px), transparent calc(50% + 1px)),
        linear-gradient(90deg, transparent calc(75% - 1px), rgba(13, 13, 13, 0.25) calc(75% - 1px), rgba(13, 13, 13, 0.25) calc(75% + 1px), transparent calc(75% + 1px)),
        #fff;
}

.pr-meter::-webkit-progress-value {
    background: var(--pr-accent);
    border-right: 3px solid var(--pr-text);
}

.pr-meter::-moz-progress-bar {
    background: var(--pr-accent);
    border-right: 3px solid var(--pr-text);
}

.pr-meter-lg {
    height: 30px;
}

.pr-lead {
    font-size: 13px;
    font-weight: 800;
    color: var(--pr-muted);
}

.pr-list .pr-card:first-child .pr-lead {
    color: var(--pr-text);
}

.pr-desc {
    font-size: 15px;
    line-height: 1.45;
    color: var(--pr-body-text);
}

.pr-all-nominees {
    margin-top: 22px;
}

.pr-all-nominees a,
.pr-body .pr-all-nominees a {
    color: var(--pr-text);
    font-size: 17px;
}

.pr-cta-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.pr-cta-bottom .pr-generated {
    margin: 0;
}

/* Blok Borce roku: žlutá plocha s černým rámečkem (ADR 0017) */
.pr-borec-cta {
    margin: 36px 0 28px;
    padding: 24px 20px;
    border: 3px solid var(--pr-text);
    background: var(--pr-accent);
    box-shadow: 6px 6px 0 var(--pr-text);
}

.pr-body .pr-borec-cta-title {
    margin: 0 0 10px;
    font-size: 34px;
}

.pr-borec-cta-text {
    margin: 0 0 20px;
    font-size: 18px;
    color: var(--pr-text);
}

.pr-body .pr-borec-cta-button {
    font-size: 19px;
    padding: 12px 26px;
}

/* ------------------------------------------------------------ detail osoby */

.pr-person {
    position: relative;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    margin-bottom: 36px;
    overflow: visible;
}

@media (min-width: 768px) {
    .pr-person .row {
        --bs-gutter-x: 32px;
    }
}

.pr-photo-lg {
    max-width: 100%;
    border: 3px solid var(--pr-text);
    margin: 0 0 14px;
}

.pr-rank-big {
    position: absolute;
    left: -12px;
    top: 22px;
    margin: 0;
    background: var(--pr-primary);
    color: #fff;
    font-family: var(--pr-display);
    font-weight: 400;
    font-size: 48px;
    line-height: 1;
    padding: 8px 16px;
    border: 3px solid var(--pr-text);
    transform: rotate(-4deg);
}

.pr-person-name {
    font-size: 72px;
    line-height: 0.98;
    margin-bottom: 16px;
    overflow-wrap: anywhere;
}

.pr-points-big {
    font-family: var(--pr-display);
    font-size: 48px;
    color: var(--pr-primary);
}

.pr-nominee-status {
    display: inline-block;
    background: #fff;
    border: 3px dashed var(--pr-text);
    color: var(--pr-text);
    font-size: 18px;
    font-weight: 800;
    padding: 10px 14px;
    margin-bottom: 16px;
}

/* Borec roku na detailu (ADR 0012 bod 4) */
.pr-borec-status {
    margin: 0 0 16px;
}

.pr-borec-status .pr-borec-badge {
    display: inline-block;
    background: var(--pr-accent);
    border: 3px solid var(--pr-text);
    color: var(--pr-text);
    font-family: var(--pr-display);
    font-size: 28px;
    line-height: 1.1;
    text-transform: uppercase;
    padding: 6px 14px;
    transform: rotate(-3deg);
}

.pr-borec-note {
    background: #fff;
    border: 3px solid var(--pr-text);
    color: var(--pr-text);
    font-size: 17px;
    font-weight: 800;
    padding: 14px 18px;
    margin: 0 0 16px;
}

.pr-borec-link {
    color: var(--pr-primary);
}

.pr-share-box {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #fff;
    border: 3px solid var(--pr-text);
    padding: 16px 18px;
    margin: 0 0 16px;
}

.pr-share-title {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: var(--pr-muted);
}

.pr-share-big {
    white-space: nowrap;
    font-family: var(--pr-display);
    font-weight: 400;
    font-size: 72px;
    line-height: 0.9;
    color: var(--pr-primary);
}

.pr-share-box .pr-lead {
    margin: 0;
    font-size: 17px;
    color: var(--pr-text);
}

.pr-meter-scale {
    font-size: 11px;
    color: var(--pr-muted);
}

.pr-person-desc {
    font-size: 17px;
    line-height: 1.6;
    color: var(--pr-body-text);
}

/* Sekce hlasování: černá hlavička (nominant červená) */
.pr-donate {
    background: #fff;
    border: 3px solid var(--pr-text);
    border-radius: 0;
    box-shadow: 8px 8px 0 var(--pr-text);
    padding: 0 24px 24px;
    margin-bottom: 36px;
}

.pr-donate-head {
    margin: 0 -24px 24px;
    padding: 14px 24px;
    background: var(--pr-text);
}

.pr-donate-head h2 {
    margin: 0;
    background: none;
    color: var(--pr-accent);
    font-size: 38px;
    line-height: 1;
}

.pr-donate-label {
    padding: 0;
    border-radius: 0;
    background: none;
    color: #fff;
    font-family: var(--pr-display);
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
}

.pr-donate-nominee .pr-donate-head {
    background: var(--pr-primary);
}

.pr-donate-nominee .pr-donate-head h2 {
    color: #fff;
}

.pr-donate > p {
    font-size: 16px;
    line-height: 1.5;
    color: var(--pr-body-text);
}

.pr-qr-mode {
    margin-bottom: 18px;
}

.pr-qr-amounts {
    gap: 10px;
    margin-bottom: 18px;
}

.pr-qr-amounts .btn,
.pr-body .pr-qr-amounts .btn {
    min-height: 44px;
    font-size: 16px;
    padding: 8px 14px;
}

.pr-qr-amounts .btn.active,
.pr-body .pr-qr-amounts .btn.active {
    background: var(--pr-accent);
    border-color: var(--pr-text);
    color: var(--pr-text);
    box-shadow: 3px 3px 0 var(--pr-text);
}

.pr-qr-side-switch {
    margin-bottom: 18px;
}

.pr-qr-side-switch .btn {
    flex: 1 1 0;
    font-size: 15px;
}

.pr-qr-side-switch .btn.active,
.pr-body .pr-qr-side-switch .btn.active {
    background: var(--pr-primary);
    border-color: var(--pr-text);
    color: #fff;
}

.pr-qr-sides {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    margin: 0 0 18px;
}

@media (min-width: 768px) {
    .pr-qr-sides {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.pr-qr-sides > .pr-qr-side {
    width: auto;
    max-width: none;
    padding: 0 14px;
    margin: 0;
    background: #fff;
    border: 3px solid var(--pr-text);
}

.pr-qr-side-title {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    column-gap: 10px;
    align-items: center;
    margin: 0 -14px 14px;
    padding: 10px 14px;
    font-family: var(--pr-display);
    font-weight: 400;
    font-size: 24px;
    line-height: 1.05;
    text-transform: uppercase;
}

.pr-qr-plus .pr-qr-side-title {
    background: var(--pr-primary);
    color: #fff;
}

.pr-qr-minus .pr-qr-side-title {
    background: var(--pr-text);
    color: var(--pr-accent);
}

.pr-qr-side-sign,
.pr-qr-plus .pr-qr-side-sign,
.pr-qr-minus .pr-qr-side-sign {
    grid-row: span 2;
    min-width: 0;
    background: transparent;
    color: inherit;
    font-family: var(--pr-font);
    font-weight: 800;
    font-size: 38px;
    line-height: 1;
}

.pr-qr-side-hint {
    grid-column: 2;
    font-family: var(--pr-font);
    font-size: 13px;
    font-weight: 600;
    text-transform: none;
    color: inherit;
}

.pr-qr-img {
    max-width: 240px;
    border: 3px solid var(--pr-text);
    border-radius: 0;
    padding: 10px;
}

.pr-qr-side .pr-qr-img {
    max-width: 190px;
    border: 0;
    padding: 0;
}

.pr-qr {
    border: 3px solid var(--pr-text);
    border-radius: 0;
    padding: 10px;
}

.pr-pay-details {
    margin: 0;
}

.pr-pay-details dt {
    padding-top: 10px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pr-muted);
}

.pr-pay-details dd {
    margin: 2px 0 0;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--pr-line);
    font-size: 16px;
    font-weight: 600;
    word-break: normal;
    overflow-wrap: anywhere;
}

.pr-msg-hint {
    font-size: 14px;
    color: var(--pr-text);
    background: #fff7cc;
    border-left: 4px solid var(--pr-accent);
    padding: 8px 10px;
    margin: 10px 0 16px;
}

/* Platební stránka po odeslání návrhu */
.pr-pay {
    padding: 0 24px 24px;
    box-shadow: 8px 8px 0 var(--pr-text);
}

.pr-pay > h2 {
    margin: 0 -24px 24px;
    padding: 14px 24px;
    background: var(--pr-primary);
    color: #fff;
    font-size: 38px;
    line-height: 1;
}

.pr-pay h3 {
    font-size: 24px;
}

/* Vzkazy */
.pr-messages {
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    margin-bottom: 36px;
}

.pr-messages-head {
    padding-bottom: 10px;
    margin-bottom: 16px;
}

.pr-messages-title {
    font-size: 38px;
    line-height: 1;
}

.pr-message-list {
    gap: 22px;
}

.pr-message-text {
    padding: 14px 18px;
    font-family: var(--pr-display);
    font-weight: 400;
    font-size: 26px;
    line-height: 1.2;
}

.pr-message-hint {
    font-size: 15px;
    padding: 12px 14px;
}

/* ------------------------------------------------------------ nominovaní */

.pr-nominees-page {
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}

.pr-nominees-title {
    font-size: 64px;
    line-height: 1;
    margin-bottom: 10px;
}

.pr-nominees-page > p:not(.pr-empty):not(.pr-generated) {
    font-size: 17px;
    line-height: 1.5;
    color: var(--pr-body-text);
    border-bottom: 3px solid var(--pr-text);
    padding-bottom: 18px;
    margin-bottom: 28px;
}

.pr-search .form-label {
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.pr-search .form-control {
    height: 56px;
    font-size: 18px;
}

/* Text v poli hledání až za lupou: .pr-body .form-control přepisuje odsazení ze site.css (#35) */
.pr-search-field .form-control {
    padding-left: 44px;
}

.pr-nominees {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.pr-nominee,
.pr-nominee:last-child {
    background: #fff;
    border: 3px solid var(--pr-text);
}

.pr-nominee[hidden] {
    display: none;
}

.pr-nominee-link,
.pr-body .pr-nominee-link {
    font-weight: 400;
    gap: 12px;
    padding: 10px;
}

.pr-nominee-photo {
    width: 64px;
    height: 80px;
    border-radius: 0;
    background: var(--pr-paper);
}

.pr-nominee-body {
    gap: 6px;
}

.pr-nominee-name {
    font-family: var(--pr-display);
    font-weight: 400;
    font-size: 24px;
    line-height: 1.05;
    text-transform: uppercase;
    color: var(--pr-text);
}

.pr-nominee-state {
    align-self: flex-start;
    background: var(--pr-accent);
    border: 2px solid var(--pr-text);
    color: var(--pr-text);
    font-size: 13px;
    font-weight: 800;
    padding: 2px 8px;
}

.pr-nominee-borec {
    background: var(--pr-text);
    color: var(--pr-accent);
}

.pr-nominee-waiting {
    background: #fff;
    border-style: dashed;
    font-style: normal;
}

/* ------------------------------------------------------------ reklama a patička */

.pr-ad-side {
    border: 2px dashed #b9b3a3;
}

.pr-footer {
    background: var(--pr-text);
    color: #d6d1c4;
    border-top: 6px solid var(--pr-primary);
    padding: 28px 0;
}

.pr-footer .container {
    display: flex;
    justify-content: space-between;
    gap: 14px;
}

.pr-footer-links {
    gap: 20px;
    margin-bottom: 0;
}

.pr-footer a,
.pr-body .pr-footer a {
    color: var(--pr-accent);
    text-decoration: none;
    font-weight: 800;
    font-size: 15px;
}

.pr-footer a:hover,
.pr-body .pr-footer a:hover {
    color: #fff;
}

.pr-footer-html {
    font-size: 13px;
    line-height: 1.5;
}

.pr-footer-html p {
    margin: 0;
}

.pr-consent {
    background: var(--pr-text);
    border-top: 6px solid var(--pr-accent);
}

/* ------------------------------------------------------------ tablet na výšku (#63) */

/* Obsah jde bez boční reklamy na celou šířku; nadpis vedle tlačítek zůstává na dva řádky */
@media (min-width: 768px) and (max-width: 991.98px) {
    .pr-intro h1 {
        font-size: 38px;
    }
}

/* ------------------------------------------------------------ mobil (artboardy 390 px) */

@media (max-width: 767.98px) {
    .pr-header {
        border-bottom-width: 8px;
        padding: 16px 0 14px;
    }

    .pr-header .container {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .pr-logo {
        height: 47px;
    }

    .pr-tagline {
        max-width: none;
        font-size: 14px;
        text-align: left;
    }

    .pr-content {
        padding-top: 22px;
        padding-bottom: 36px;
    }

    .pr-card {
        padding: 20px 16px;
    }

    .pr-card h1,
    .pr-nominees-title {
        font-size: 44px;
    }

    .pr-notice-title {
        font-size: 40px;
    }

    .pr-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .pr-intro {
        padding-bottom: 18px;
    }

    .pr-intro h1 {
        font-size: 40px;
    }

    .pr-intro p {
        font-size: 15px;
    }

    .pr-hero-actions {
        align-self: stretch;
        margin-bottom: 25px;
    }

    .pr-hero .pr-cta,
    .pr-hero .pr-hero-borec {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 10px;
        font-size: 18px;
        padding: 14px 24px;
        white-space: normal;
    }

    .pr-hero::after {
        grid-row: 3;
        margin-bottom: 22px;
    }

    .pr-search-form {
        grid-row: 4;
    }

    .pr-search-form .form-control,
    .pr-search .form-control {
        height: 48px;
        font-size: 16px;
    }

    .pr-search-form .btn {
        font-size: 16px;
        padding: 0 18px;
    }

    .pr-ranking-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .pr-ranking-title {
        font-size: 30px;
    }

    .pr-list .pr-card {
        margin-bottom: 12px;
    }

    .pr-list .pr-card:first-child {
        box-shadow: 6px 6px 0 var(--pr-accent);
    }

    .pr-card-link,
    .pr-list .pr-card:first-child .pr-card-link {
        gap: 12px;
        padding: 10px 12px;
    }

    .pr-rank,
    .pr-list .pr-card:first-child .pr-rank {
        flex-basis: 44px;
        font-size: 34px;
    }

    .pr-list .pr-card:first-child .pr-rank {
        font-size: 44px;
    }

    .pr-card .pr-photo,
    .pr-list .pr-card:first-child .pr-photo {
        flex-basis: 64px;
        width: 64px;
        height: 80px;
    }

    .pr-card-body {
        gap: 6px;
    }

    .pr-name {
        font-size: 20px;
    }

    .pr-list .pr-card:first-child .pr-name {
        font-size: 24px;
    }

    .pr-share-row {
        gap: 8px;
    }

    .pr-share,
    .pr-list .pr-card:first-child .pr-share {
        min-width: 0;
        font-size: 22px;
    }

    .pr-list .pr-card:first-child .pr-share {
        font-size: 26px;
    }

    .pr-meter,
    .pr-list .pr-card:first-child .pr-meter {
        height: 12px;
    }

    .pr-lead {
        font-size: 12px;
    }

    .pr-desc {
        display: none;
    }

    .pr-rank-big {
        left: -6px;
        top: 16px;
        font-size: 40px;
        padding: 6px 14px;
        transform: none;
    }

    .pr-person-name {
        font-size: 44px;
        line-height: 1;
    }

    .pr-share-box {
        padding: 12px;
    }

    .pr-share-big {
        font-size: 52px;
    }

    .pr-share-box .pr-lead {
        font-size: 15px;
    }

    .pr-meter-lg {
        height: 24px;
    }

    .pr-person-desc {
        font-size: 16px;
        line-height: 1.55;
    }

    .pr-donate,
    .pr-pay {
        padding: 0 16px 16px;
    }

    .pr-donate-head,
    .pr-pay > h2 {
        margin: 0 -16px 16px;
        padding: 12px 16px;
    }

    .pr-donate-head h2,
    .pr-pay > h2 {
        font-size: 30px;
    }

    .pr-donate > p {
        font-size: 15px;
    }

    .pr-qr-mode .btn-group {
        display: flex;
    }

    .pr-qr-mode .btn-group > .btn {
        flex: 1 1 0;
        font-size: 15px;
    }

    .pr-qr-amounts .btn,
    .pr-body .pr-qr-amounts .btn {
        font-size: 14px;
    }

    .pr-messages-title {
        font-size: 30px;
    }

    .pr-message-text {
        font-size: 22px;
    }

    .pr-nominees {
        grid-template-columns: minmax(0, 1fr);
    }

    .pr-footer .container {
        flex-direction: column;
    }

    .pr-footer-links {
        gap: 12px 20px;
    }

    .pr-body .pr-borec-cta-title {
        font-size: 26px;
    }

    .pr-body .pr-borec-cta-button {
        display: flex;
        width: 100%;
    }
}
