@charset "UTF-8";
/* =========================================================================
   Motivációs levél sablonok – ugyanarra a .cv-page A4-es alapra épülnek,
   mint az önéletrajzok (lásd cv-templates.css).
   ========================================================================= */

.letter {
    font-size: 11pt;
    line-height: 1.62;
    color: #1f2328;
}

.letter p {
    margin: 0 0 0.85em;
}

.letter .l-body p:last-child {
    margin-bottom: 0;
}

.letter .l-name {
    margin: 0;
    font-weight: 700;
}

.letter .l-role {
    margin: 0.1em 0 0;
    color: var(--cv-accent);
    font-weight: 600;
}

.letter .l-meta {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10mm;
    margin-bottom: 9mm;
}

.letter .l-to {
    display: flex;
    flex-direction: column;
    font-size: 10.5pt;
    line-height: 1.45;
}

.letter .l-to strong {
    font-weight: 650;
}

.letter .l-to span {
    color: #4b5563;
}

.letter .l-date {
    font-size: 10.5pt;
    color: #4b5563;
    white-space: nowrap;
}

.letter .l-salutation {
    margin-bottom: 1em;
}

.letter .l-sign {
    margin-top: 10mm;
}

.letter .l-closing {
    margin: 0 0 1.4em;
}

.letter .l-signature {
    margin: 0;
    font-weight: 650;
}

/* ------------------------------- KLASSZIKUS ------------------------------ */

.letter--klasszikus {
    padding: 20mm 20mm;
}

.letter--klasszikus .l-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 8mm;
    padding-bottom: 4mm;
    margin-bottom: 10mm;
    border-bottom: 2px solid var(--cv-accent);
}

.letter--klasszikus .l-name {
    font-size: 19pt;
    letter-spacing: -0.01em;
}

.letter--klasszikus .l-contacts {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: right;
    font-size: 9.5pt;
    color: #4b5563;
}

.letter--klasszikus .l-subject {
    font-weight: 650;
    margin-bottom: 1.2em;
}

.letter--klasszikus .l-subject span {
    color: var(--cv-accent);
}

/* --------------------------------- MODERN -------------------------------- */

.letter--modern {
    padding: 0;
}

.letter--modern .l-band {
    background: var(--cv-accent);
    color: #fff;
    padding: 14mm 18mm 11mm;
}

.letter--modern .l-name {
    font-size: 21pt;
}

.letter--modern .l-role {
    color: rgba(255, 255, 255, 0.88);
    font-weight: 500;
    margin-top: 0.2em;
}

.letter--modern .l-contacts {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.3em 6mm;
    margin: 4mm 0 0;
    padding: 0;
    font-size: 9.5pt;
    color: rgba(255, 255, 255, 0.92);
}

.letter--modern .l-contacts i {
    margin-right: 1.5mm;
}

.letter--modern .l-inner {
    padding: 11mm 18mm 18mm;
}

.letter--modern .l-subject {
    display: inline-block;
    background: color-mix(in srgb, var(--cv-accent) 10%, #fff);
    color: var(--cv-accent);
    font-weight: 650;
    font-size: 10.5pt;
    padding: 1.2mm 4mm;
    border-radius: 2mm;
    margin-bottom: 1.4em;
}

/* -------------------------------- MINIMÁL -------------------------------- */

.letter--minimal {
    padding: 24mm 24mm;
    font-size: 10.5pt;
    color: #27272a;
}

.letter--minimal .l-head {
    margin-bottom: 12mm;
}

.letter--minimal .l-name {
    font-size: 17pt;
    font-weight: 500;
    letter-spacing: 0.01em;
}

.letter--minimal .l-contacts-inline {
    margin: 2.5mm 0 0;
    font-size: 9pt;
    color: #71717a;
}

.letter--minimal .l-sep {
    margin: 0 0.45em;
    color: #d4d4d8;
}

.letter--minimal .l-head::after {
    content: '';
    display: block;
    width: 16mm;
    height: 2px;
    background: var(--cv-accent);
    margin-top: 5mm;
}

.letter--minimal .l-subject {
    font-weight: 600;
    margin-bottom: 1.3em;
}

.letter--minimal .l-sign-role {
    margin: 0.1em 0 0;
    font-size: 9.5pt;
    color: #71717a;
}

/* -------------------------------- ELEGÁNS -------------------------------- */

.letter--elegans {
    padding: 20mm 22mm;
    color: #292524;
}

.letter--elegans .l-head {
    text-align: center;
    margin-bottom: 11mm;
}

.letter--elegans .l-name {
    font-size: 18pt;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.15em;
}

.letter--elegans .l-role {
    font-style: italic;
    font-weight: 400;
    margin-top: 0.35em;
}

.letter--elegans .l-rule {
    border-top: 1px solid #d6d3d1;
    border-bottom: 1px solid #d6d3d1;
    height: 1.2mm;
    margin: 4mm 0 2.5mm;
}

.letter--elegans .l-contacts-inline {
    margin: 0;
    font-size: 9pt;
    color: #57534e;
}

.letter--elegans .l-subject {
    text-align: center;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin-bottom: 1.4em;
    color: var(--cv-accent);
}

.letter--elegans .l-body {
    text-align: justify;
}
