/*
Plugin: Mindfacts GF Booking
File: booking-preview.css
Purpose: Styles für die Buchungs-Zusammenfassung (Step 4) im GF-Formular.
*/

/* ---------- Layout-Container ---------- */

.summary {
    --summary-bg: #F4F5F7;
    --summary-card-bg: #FFFFFF;
    --summary-border: #E2E5EA;
    --summary-text: #1F2937;
    --summary-muted: #6B7280;
    --summary-accent: var(--e-global-color-300aa0f, #122C4A);
    --summary-radius: 8px;
    --summary-gap: 24px;

    background: var(--summary-bg);
    padding: 32px;
    border-radius: var(--summary-radius);
    color: var(--summary-text);
}

.summary * {
    box-sizing: border-box;
}

.summary-content {
    display: flex;
    flex-direction: column;
    gap: var(--summary-gap);
}

/* ---------- Section-Header (Gebuchtes Seminar / Teilnehmer / Rechnung) ---------- */

.summary-content-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 16px 0;
}

.summary-content-header-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

.summary-content-header-title a {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.summary-content-header-title img {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}

.summary-content-header-title span {
    font-size: var(--e-global-typography-9aa5e6e-font-size, 1.25rem);
    font-weight: var(--e-global-typography-9aa5e6e-font-weight, 600);
    line-height: var(--e-global-typography-9aa5e6e-line-height, 1.3);
    color: var(--summary-accent);
}

.edit-icon-summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 50%;
    background: var(--summary-card-bg);
    border: 1px solid var(--summary-border);
    color: var(--summary-accent);
    cursor: pointer;
    transition: background-color .15s ease;
}

.edit-icon-summary:hover {
    background: #F0F2F5;
}

div.tooltip {
    width: 36px;
    height: 36px;
    background: var(--summary-card-bg);
    border: 1px solid var(--summary-border);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

div.tooltip i {
    color: var(--summary-accent);
}

/* ---------- Wiederverwendbare „Card" ---------- */

.summary-seminar-section,
.summary-billing-information {
    margin-block-end: 32px;
}

.summary-participants-section {
    margin-block-end: 16px;
}

.summary-content.booked-seminar,
.summary-content.booked-participants,
.summary-section-billing-information-content,
.summary-participant {
    background: var(--summary-card-bg);
    border: 1px solid var(--summary-border);
    border-radius: var(--summary-radius);
    padding: 24px;
}

/* ---------- 1. Gebuchtes Seminar ---------- */

.summary-content.booked-seminar {
    display: grid;
    grid-template-columns: minmax(160px, 240px) 1fr;
    gap: 24px;
    align-items: start;
}

.event-list-view-post-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    display: block;
}

.summary-seminar-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.summary-seminar-content > p {
    margin: 0;
}

.summary-seminar-content > p:first-of-type {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--summary-text);
}

.summary-seminar-description {
    color: var(--summary-muted);
    font-size: 0.95rem;
}

.event-list-view-post-date-container {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--summary-muted);
    font-size: 0.95rem;
}

.event-list-view-post-date-container svg,
.summary-seminar-icon-list svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.summary-seminar-icon-list ul {
    list-style: none;
    padding: 0;
    margin: 8px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.summary-seminar-icon-list li {
    list-style: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--summary-text);
    font-size: 0.95rem;
}

.summary-seminar-icon-list li::before,
.summary-seminar-icon-list li::marker {
    content: none;
}

.summary-seminar-icon-list i {
    margin: 0;
}

/* ---------- 2. Teilnehmer ---------- */

.summary-content.booked-participants {
    background: transparent;
    border: 0;
    padding: 0;
    gap: 16px;
}

.summary-participant {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin: 0;
}

.summary-participant-personal-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 8px 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--summary-border);
}

.participant-item {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.participant-item > div {
    width: auto !important;
    flex: 0 0 auto;
}

.summary-participant-personal-info .label {
    font-weight: 600;
    color: var(--summary-text);
}

.summary-participant-personal-info .item {
    color: var(--summary-muted);
}

/* Preis-Tabelle */

table.summary-participant-price-info {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.summary-participant-price-info th,
.summary-participant-price-info td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--summary-border);
    vertical-align: middle;
}

.summary-participant-price-info thead th {
    background: var(--summary-accent);
    color: #FFFFFF;
    font-weight: 600;
    text-align: left;
}

.summary-participant-price-info thead th:nth-child(2),
.summary-participant-price-info tbody td:nth-child(2) {
    width: 64px;
    text-align: center;
}

.summary-participant-price-info th:last-child,
.summary-participant-price-info td:last-child {
    text-align: right;
    white-space: nowrap;
}

.summary-participant-price-info tbody tr:last-child td {
    background: var(--summary-accent);
    color: #FFFFFF;
    font-weight: 600;
    border-bottom: 0;
}

.summary-participant-price-info tbody tr:last-child td:first-child {
    text-align: right;
}

.rabatt-course td:first-child {
    padding-inline-start: 28px;
    color: var(--summary-muted);
    font-style: italic;
}

/* ---------- Zwischensumme ---------- */

.summary-subtotal {
    display: flex;
    justify-content: flex-end;
    margin-block: 0 32px;

    background: var(--summary-card-bg);
    border: 1px solid var(--summary-border);
    border-radius: var(--summary-radius);
    padding: 16px 24px;
}

.summary-subtotal-table {
    border-collapse: collapse;
    min-width: 280px;
}

.summary-subtotal-table,
.summary-subtotal-table * {
    border: 0;
    background: none;
}

.summary-subtotal-table tr:first-child td {
    border-top: 2px solid var(--summary-accent);
}

.summary-subtotal-table td {
    padding: 8px 12px;
    font-size: 0.95rem;
}

.summary-subtotal-table td:first-child {
    color: var(--summary-muted);
}

.summary-subtotal-table td:last-child {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.summary-subtotal-table tr.subtotal-total td {
    background: var(--summary-accent);
    color: #FFFFFF;
    font-weight: 600;
    font-size: 1rem;
}

/* ---------- 3. Rechnungsdetails ---------- */

.summary-section-billing-information-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.summary-content-billing-items,
.summary-purchaser {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 8px 24px;
}

.summary-billing-item,
.purchaser-item {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.summary-billing-item > div,
.purchaser-item > div {
    width: auto !important;
    flex: 0 0 auto;
    min-width: 110px;
}

.summary-billing-item .label,
.summary-purchaser .label {
    font-weight: 600;
    color: var(--summary-text);
}

.summary-billing-item .item,
.summary-purchaser .item {
    color: var(--summary-muted);
    text-align: left;
}

.summary-content-billing-purchaser-title {
    font-weight: 600;
    font-size: 1.05rem;
    color: var(--summary-accent);
    margin: 0 0 4px;
    padding-block-start: 16px;
    border-top: 1px solid var(--summary-border);
}

.purchaser-item-annotation {
    grid-column: 1 / -1;
    border: 1px solid var(--summary-border);
    border-radius: 4px;
    padding: 16px;
    background: #FAFBFC;
    margin-block-start: 8px;
}

.purchaser-item-annotation > div {
    width: auto !important;
    margin-bottom: 4px;
}

/* ---------- Responsive ---------- */

@media (max-width: 720px) {
    .summary {
        padding: 20px;
    }

    .summary-content.booked-seminar {
        grid-template-columns: 1fr;
    }

    .summary-content-header {
        flex-wrap: wrap;
    }

    .summary-subtotal-table {
        min-width: 100%;
    }
}
