/* ========================================= */
/* STYLE BAZOWE (EKRAN) */
/* ========================================= */

body {
    background-color: #555;
    margin: 0;
    padding: 60px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Pojedyncza strona A4 */
.a4-page {
    background: white;
    width: 210mm;
    height: 297mm; /* Stała wysokość A4 */
    padding: 20mm;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    position: relative;
    box-sizing: border-box;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

a { text-decoration: none; color: inherit; }
a:hover { text-decoration: underline; color: var(--primary-color); }

/* --- STRONA 1: OKŁADKA --- */
.cover-page {
    justify-content: space-between; 
    align-items: center;
    text-align: center;
    border-bottom: 10px solid var(--primary-color);
}

.cover-top {
    width: 100%;
    display: flex;
    justify-content: center;
    padding-top: 20px;
}
.cover-logo { max-width: 300px; }

.cover-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
}

.cover-title {
    font-size: 34pt;
    font-weight: 800;
    color: var(--text-color);
    line-height: 1.1;
    margin: 0 0 40px 0;
    text-transform: uppercase;
}

.cover-title .title-small {
    font-size: 18pt;
    display: block;
    margin: 15px 0;
    font-weight: 400;
    color: #555;
}

.cover-meta-hero {
    display: flex;
    gap: 30px;
    justify-content: center;
    font-size: 14pt;
    color: var(--text-color);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.meta-icon {
    color: var(--primary-color);
    width: 24px;
    height: 24px;
}

.cover-bottom {
    width: 100%;
    text-align: center;
    padding-bottom: 10mm;
}
.cover-date-small { font-size: 10pt; color: #999; }

/* --- STRONA 2: O WYDARZENIU --- */
.page-title {
    font-size: 22pt;
    font-weight: 800;
    color: var(--text-color);
    border-bottom: 2px solid var(--primary-color);
    padding-bottom: 15px;
    margin-bottom: 30px;
    text-transform: uppercase;
}

.intro-text {
    font-size: 11pt;
    line-height: 1.6;
    color: #333;
    text-align: justify;
    margin-bottom: 50px;
}

.benefits-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 35px;
}

.benefit-item { display: flex; align-items: flex-start; gap: 25px; }

.benefit-icon {
    width: 50px; height: 50px; flex-shrink: 0; color: var(--primary-color);
}

.benefit-content h3 {
    font-size: 14pt; font-weight: 700; margin-bottom: 8px; color: var(--text-color); text-transform: uppercase;
}
.benefit-content p { font-size: 10.5pt; color: #555; line-height: 1.4; margin: 0; }

/* --- STRONA 3 & 4: PAKIETY --- */

/* Kontener pakietów na stronie (max 2) */
.packages-column {
    display: flex;
    flex-direction: column;
    gap: 40px; /* Odstęp między pakietami */
    height: 100%;
}

.package-card {
    border: 1px solid #ccc;
    padding: 25px;
    background: #fff;
    /* Pakiet zajmuje całą szerokość */
    width: 100%;
    box-sizing: border-box;
}

.pkg-header {
    margin-bottom: 15px;
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
}

.pkg-name {
    font-size: 18pt; /* Nieco większe */
    font-weight: 800;
    text-transform: uppercase;
    color: var(--text-color);
}

/* Nowy styl cennika (Dwa rzędy jeden pod drugim) */
.pkg-pricing-block {
    margin-bottom: 20px;
    background: #f9f9f9;
    padding: 15px 20px;
    border-left: 5px solid var(--primary-color);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.price-row {
    display: flex;
    align-items: baseline;
    gap: 10px;
    font-size: 11pt;
    color: #444;
}

.price-row strong {
    font-size: 14pt;
    font-weight: 800;
    min-width: 110px; /* Wyrównanie kwot */
    color: #000;
}

/* Wyróżnienie drugiego rzędu (dla członków) */
.price-row.member {
    color: var(--primary-color);
    font-weight: 600;
}
.price-row.member strong {
    color: var(--primary-color);
}

.package-card ul, .pkg-list { list-style: none; padding: 0; margin: 0; columns: 2; /* Opcjonalnie: dwukolumnowa lista wewnątrz pakietu dla oszczędności miejsca */ }
.package-card ul li, .pkg-list li {
    margin-bottom: 8px;
    font-size: 10pt;
    position: relative;
    padding-left: 20px;
    line-height: 1.3;
    break-inside: avoid;
}
.package-card ul li::before, .pkg-list li::before {
    content: '\2022';
    position: absolute;
    left: 0;
    color: var(--primary-color);
    font-size: 14pt;
    line-height: 0.8;
}

/* --- STRONA 5: KONTAKT --- */
.contact-page-content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.contact-persons-wrapper {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-top: 40px;
}

.print-contact-card {
    border: 1px solid #ddd;
    padding: 25px;
    width: 300px;
    text-align: left;
    display: flex;
    flex-direction: column;
    background: #fff;
}

.pcc-img {
    width: 100px; height: 100px; object-fit: cover;
    border-radius: 0; margin-bottom: 15px; align-self: center;
}

.pcc-info h3 { font-size: 14pt; font-weight: 800; margin-bottom: 5px; color: var(--text-color); text-align: center; }
.pcc-info p.pos { font-size: 10pt; color: #666; font-weight: 600; margin-bottom: 15px; text-align: center; text-transform: uppercase; }

.pcc-data {
    border-top: 1px solid #eee; padding-top: 15px;
    display: flex; flex-direction: column; gap: 8px;
}
.pcc-data a { font-size: 10pt; display: flex; align-items: center; gap: 10px; color: #333; }
.pcc-data i { color: var(--primary-color); width: 16px; text-align: center; }

.organizer-print-box {
    margin-top: auto;
    border-top: 2px solid #eee;
    padding-top: 30px;
    display: flex;
    gap: 40px;
    align-items: center;
}
.opb-col-logo img { max-width: 180px; }
.opb-col-data h3 { font-size: 14pt; margin-bottom: 10px; font-weight: 800; }
.opb-list p { font-size: 10pt; margin-bottom: 5px; color: #444; margin-top: 0; }
.opb-list strong { font-weight: 700; }

/* --- PRZYCISK DRUKOWANIA --- */
.print-cta-btn {
    position: fixed;
    top: 20px;
    right: 20px;
    background: var(--primary-color);
    color: white;
    padding: 12px 25px;
    font-weight: 700;
    font-size: 1rem;
    border: none;
    cursor: pointer;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s;
    border-radius: 4px;
}
.print-cta-btn:hover { background: var(--primary-hover); transform: translateY(-2px); }

/* ========================================= */
/* STYLE DO DRUKU */
/* ========================================= */
@media print {
    @page { margin: 0; size: A4; }
    body { background: none; margin: 0; padding: 0; display: block; }
    .print-cta-btn { display: none !important; }

    .a4-page {
        width: 100%;
        height: 297mm; /* Wymuszenie A4 */
        box-shadow: none;
        margin: 0;
        padding: 1.5cm;
        page-break-after: always;
        break-after: page;
        border: none;
    }
    .a4-page:last-child { page-break-after: auto; }
    * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    
    /* Upewnij się, że pakiety nie są dzielone w połowie */
    .package-card { break-inside: avoid; }
}