/* ==========================================================================
   HUD THEME - DOMYŚLNE BLOKI GUTENBERGA (CORE BLOCKS)
   ========================================================================== */

/* Blok: Media i tekst (core/media-text) */
.wp-block-media-text {
    background: var(--glass-bg);
    border: 1px solid var(--primary-alpha-20);
    border-left: 3px solid var(--primary-color);
    box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.3);
    margin-bottom: calc(var(--space-unit) * 3);
    align-items: stretch;
}
.wp-block-media-text .wp-block-media-text__content { padding: 3rem; }

/* Nagłówki H3 wewnątrz bloku Media i tekst */
body .wp-block-media-text .wp-block-media-text__content h3 {
    color: var(--primary-color);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    font-weight: 800;
    border-bottom: 1px dashed var(--primary-alpha-30);
    padding-bottom: 10px;
    display: inline-block;
}

body .wp-block-media-text .wp-block-media-text__media { margin: 0; background: rgba(0, 0, 0, 0.5); display: flex; }
body .wp-block-media-text .wp-block-media-text__media img { width: 100%; height: 100%; object-fit: cover; border: none; border-radius: 0; box-shadow: none; }

/* Wariant gdy obrazek jest po prawej stronie */
body .wp-block-media-text.has-media-on-the-right { border-left: 1px solid var(--primary-alpha-20); border-right: 3px solid var(--primary-color); }

/* Naprawa responsywności (urządzenia mobilne) */
@media (max-width: 768px) {
    body .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content { padding: 1.5rem; }
    body .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media img { max-height: 300px; }
}

/* Blok: Cytat (core/quote) i Wyróżniony cytat (core/pullquote) */
.wp-block-quote, .wp-block-pullquote {
    background: linear-gradient(90deg, var(--primary-alpha-15) 0%, transparent 100%);
    border-left: 4px solid var(--primary-color);
    padding: 1.5rem 2rem;
    margin-bottom: calc(var(--space-unit) * 2);
    font-style: normal;
}
.wp-block-quote p, .wp-block-pullquote p { color: var(--text-color); font-size: 1.2rem; font-weight: 300; }
.wp-block-quote cite, .wp-block-pullquote cite { color: var(--primary-color); font-weight: 700; text-transform: uppercase; font-size: 0.85rem; letter-spacing: 1px; display: block; margin-top: 10px; }

/* Blok: Tabela (core/table) */
.wp-block-table {
    width: 100%;
    margin-bottom: calc(var(--space-unit) * 2.5);
    overflow-x: auto;
}
.wp-block-table table {
    width: 100%;
    border-collapse: collapse;
    background: var(--glass-bg);
    border: 1px solid var(--primary-alpha-30);
}
.wp-block-table th, .wp-block-table td {
    padding: 1rem 1.5rem;
    border: 1px solid var(--primary-alpha-20);
    text-align: left;
    color: var(--muted-text);
}
.wp-block-table th {
    background: var(--primary-alpha-15);
    color: var(--primary-color);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem;
}
.wp-block-table tbody tr:nth-child(even) {
    background: rgba(0, 0, 0, 0.3);
}
.wp-block-table tbody tr:hover {
    background: var(--primary-alpha-10);
    color: var(--text-color);
}

/* Blok: Kalendarz (core/calendar) */
body .wp-block-calendar, body .wp-calendar-table { border: 1px solid var(--primary-alpha-20); background: var(--glass-bg); margin-bottom: calc(var(--space-unit) * 2); overflow: hidden; width: 100%; border-collapse: collapse; }
body .wp-block-calendar table, body .wp-calendar-table { width: 100%; border-collapse: collapse; margin: 0; }
body .wp-block-calendar th, body .wp-calendar-table th { background: var(--primary-alpha-20); color: var(--text-color); padding: 10px; text-transform: uppercase; font-size: 0.8rem; letter-spacing: 1px; text-align: center; }
body .wp-block-calendar td, body .wp-calendar-table td { padding: 10px; text-align: center; border: 1px solid var(--primary-alpha-10); color: var(--muted-text); }
body .wp-block-calendar caption, body .wp-calendar-table caption { padding: 15px; font-weight: 800; color: var(--text-color); text-transform: uppercase; letter-spacing: 2px; background: rgba(0,0,0,0.5); border-bottom: 1px solid var(--primary-alpha-30); }
body .wp-block-calendar a, body .wp-calendar-table a { font-weight: 800; color: #fff; text-decoration: none; position: relative; z-index: 1; }
body .wp-block-calendar a::before, body .wp-calendar-table a::before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: var(--primary-color); z-index: -1; transition: height 0.2s ease; }
body .wp-block-calendar a:hover::before, body .wp-calendar-table a:hover::before { height: 100%; }


/* Blok: Separator (core/separator) */
hr.wp-block-separator {
    border: none;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--primary-color), transparent);
    margin: calc(var(--space-unit) * 3) auto;
    opacity: 0.8;
}
hr.wp-block-separator.has-dot-line-style {
    background: none;
    border-bottom: 2px dashed var(--primary-color);
    opacity: 0.5;
}

/* Blok: Kod (core/code) */
.wp-block-code {
    background: #000;
    border: 1px solid var(--primary-alpha-30);
    border-left: 4px solid var(--primary-color);
    padding: 1.5rem;
    border-radius: 4px;
    margin-bottom: calc(var(--space-unit) * 2);
    box-shadow: inset 0 0 20px rgba(0,0,0,0.8);
}
.wp-block-code code {
    font-family: 'Fira Code', 'Roboto Mono', monospace;
    color: #00ffcc; /* Klasyczny cyber zielony dla skryptów */
    font-size: 0.9rem;
}

/* Blok: Obrazek (core/image) */
.wp-block-image { margin-bottom: calc(var(--space-unit) * 2); }
.wp-block-image img { border: 1px solid var(--primary-alpha-20); border-radius: 4px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); transition: all 0.3s ease; }
.wp-block-image img:hover { border-color: var(--primary-color); box-shadow: 0 10px 40px var(--primary-alpha-30); }
.wp-block-image figcaption { color: var(--primary-hover); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1px; text-align: center; margin-top: 10px; }