/* „Pruh" — kreativní: plnobarevný levý sloupec přes celou výšku.
   Pořadí v pruhu: fotka → jméno + profese → kontakty → boční sekce.
   Pravý sloupec začíná rovnou profesním shrnutím. */

.cv--pruh {
    font-family: -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    display: grid;
    grid-template-columns: 250px 1fr;
    grid-template-rows: auto auto auto 1fr;
}

/* head i body se rozpustí do gridu — děti se skládají do sloupců */
.cv--pruh .cv-head { display: contents; }
.cv--pruh .cv-body { display: contents; }

/* 1) fotka nahoře v pruhu */
.cv--pruh .cv-photo {
    grid-column: 1;
    grid-row: 1;
    background: var(--cva);
    padding: 34px 0 14px;
    width: 100%;
    box-sizing: border-box;
}
.cv--pruh .cv-photo img {
    width: 122px;
    height: 122px;
    object-fit: cover;
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, 0.55);
    margin: 0 auto;
    display: block;
}

/* 2) jméno + profese pod fotkou (v pruhu) */
.cv--pruh .cv-id {
    grid-column: 1;
    grid-row: 2;
    background: var(--cva);
    color: #ffffff;
    text-align: center;
    padding: 4px 24px 14px;
}
/* bez fotky drží pruh tvar: id začíná s horním odsazením */
.cv--pruh .cv-head:not(:has(.cv-photo)) ~ * {}
.cv--pruh .cv-id:first-child { padding-top: 34px; }
.cv--pruh .cv-name { font-size: 23px; font-weight: 800; line-height: 1.15; }
.cv--pruh .cv-title {
    margin-top: 6px;
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    opacity: 0.85;
    font-weight: 600;
}

/* 3) kontakty pod jménem (v pruhu) */
.cv--pruh .cv-contacts {
    grid-column: 1;
    grid-row: 3;
    background: var(--cva);
    color: rgba(255, 255, 255, 0.95);
    padding: 6px 26px 20px;
    font-size: 11.5px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

/* 4) boční sekce dole v pruhu, dotažené do spodku strany */
.cv--pruh .cv-side {
    grid-column: 1;
    grid-row: 4;
    background: var(--cva);
    color: rgba(255, 255, 255, 0.96);
    padding: 20px 30px 30px;
}

/* Pravý sloupec — začíná hned nahoře (profesní shrnutí jako první sekce) */
.cv--pruh .cv-main {
    grid-column: 2;
    grid-row: 1 / span 4;
    padding: 34px 40px 30px 34px;
}

.cv--pruh .cv-gdpr {
    grid-column: 2;
    padding: 0 40px 20px 34px;
}

.cv--pruh .cv-h2 {
    font-size: 12.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 10px;
}
.cv--pruh .cv-main .cv-h2 {
    color: var(--cva);
    border-bottom: 2px solid var(--cva);
    padding-bottom: 4px;
}
.cv--pruh .cv-side .cv-h2 {
    color: #ffffff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    padding-bottom: 4px;
}
.cv--pruh .cv-sec { margin-bottom: 20px; }

.cv--pruh .cv-item { margin-bottom: 12px; }
.cv--pruh .cv-item-head { display: flex; justify-content: space-between; gap: 12px; }
.cv--pruh .cv-item-title { font-size: 14px; }
.cv--pruh .cv-item-dates { font-size: 11.5px; font-weight: 700; color: var(--cva); white-space: nowrap; }
.cv--pruh .cv-item-sub { font-size: 12.5px; color: #666666; }
.cv--pruh .cv-item-desc { font-size: 12.5px; margin-top: 3px; }

.cv--pruh .cv-side .cv-skill,
.cv--pruh .cv-side .cv-langs li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
    font-size: 12px;
}
.cv--pruh .cv-side .cv-dots { color: #ffffff; }
.cv--pruh .cv-side .cv-lang-level { font-size: 10.5px; opacity: 0.8; white-space: nowrap; }
.cv--pruh .cv-list li { font-size: 12.5px; margin-bottom: 4px; }
