/* Version 1.1: distinct text and image columns, compact masthead and native logo. */
.tc-header-row {
    padding-block: 12px 14px;
}
.tc-logo {
    flex-shrink: 0;
    width: 250px;
    max-width: 45%;
    margin: 0;
}
.tc-logo a {
    display: flex;
    min-height: 48px;
    align-items: center;
}
.tc-logo img {
    display: block;
    width: 100%;
    max-height: 52px;
    height: auto;
    object-fit: contain;
    /* The supplied white artwork stays intact; only its display color changes. */
    filter: brightness(0);
}
.tc-footer .tc-logo { width: 210px; }
.tc-footer-socials { margin: 0; gap: 16px; }
.tc-footer-socials .wp-social-link a { min-width: 44px; min-height: 44px; justify-content: center; }
.tc-hero {
    grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
    column-gap: clamp(28px, 4vw, 64px);
    align-items: stretch;
}
.tc-hero-copy {
    container-type: inline-size;
    justify-content: flex-start;
    align-self: start;
    padding: 20px 0 28px;
}
.tc-hero h1 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(48px, 5.8vw, 96px);
    font-size: clamp(48px, 15cqw, 96px);
    overflow-wrap: break-word;
    hyphens: none;
}
.tc-gallery-nav {
    border-bottom: 0;
    margin-bottom: 20px;
}
.tc-category-card { container-type: inline-size; }
.tc-category-card h2 {
    font-size: clamp(22px, 10cqw, 38px);
    white-space: normal;
}
@media (min-width: 1600px) {
    /* Leave an outer gutter for a wide panorama, including the scrollbar. */
    .tc-main .wp-block-post-content > .alignfull {
        width: calc(100vw - var(--tc-gap) * 2);
        margin-inline: calc((100% - (100vw - var(--tc-gap) * 2)) / 2);
    }
}
@media (max-width: 1100px) and (min-width: 782px) {
    .tc-logo { width: 210px; }
    .tc-header-row { gap: 16px; }
    .tc-nav .wp-block-navigation__container { gap: 13px; }
    .tc-nav { font-size: 13px; }
    .tc-hero h1 { font-size: clamp(38px, 15cqw, 96px); }
}
@media (min-width: 782px) {
    /* Give each top-level link the same 44px vertical center as the home icon. */
    .tc-header .tc-nav .wp-block-navigation__container {
        align-items: center !important;
    }
    .tc-header .tc-nav .wp-block-navigation__container > .wp-block-navigation-item {
        display: flex;
        align-items: center;
        align-self: center;
        height: 44px;
        margin-block: 0;
    }
    .tc-header .tc-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 44px;
        min-height: 44px;
        padding-block: 0;
        line-height: 1;
    }
    .tc-header .tc-nav .wp-block-navigation__container > .tc-home-link {
        flex: 0 0 44px;
        width: 44px;
    }
    .tc-header .tc-nav .wp-block-navigation__container > .tc-home-link > .wp-block-navigation-item__content {
        display: grid;
        width: 44px;
        min-width: 44px;
        height: 44px;
        padding: 0;
        place-items: center;
    }
    .tc-header .tc-nav .wp-block-navigation__container > .tc-home-link > .wp-block-navigation-item__content > svg {
        display: block;
        width: 24px;
        height: 24px;
        margin: 0;
    }
}

/* Reusable image compositions available as native block patterns. */
.tc-gallery-layout {
    display: grid !important;
    --wp--style--block-gap: 20px;
    gap: var(--wp--style--block-gap, 20px) !important;
    margin-block: 0 !important;
}
.tc-gallery-layout > .wp-block-image,
.tc-gallery-layout > figure.wp-block-image {
    min-width: 0;
    margin: 0;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}
.tc-gallery-layout figure.wp-block-image,
.tc-gallery-layout > .wp-block-image figure {
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
}
.tc-gallery-layout figure.wp-block-image img,
.tc-gallery-layout > .wp-block-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.tc-gallery-layout-mosaic,
.tc-gallery-layout-feature {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.tc-gallery-layout-panorama,
.tc-gallery-layout-diptych,
.tc-gallery-layout-squares {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.tc-gallery-layout-triple {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.tc-gallery-layout-panorama > :is(.wp-block-image, figure.wp-block-image):first-child,
.tc-gallery-layout-wide > :is(.wp-block-image, figure.wp-block-image):first-child {
    grid-column: 1 / -1;
}
.tc-gallery-layout-mosaic > :is(.wp-block-image, figure.wp-block-image):nth-child(-n+2) {
    grid-column: span 2;
}
.tc-gallery-layout-feature > :is(.wp-block-image, figure.wp-block-image):first-child {
    grid-column: span 2;
    grid-row: span 2;
}
.tc-gallery-layout-grid,
.tc-gallery-layout-portrait,
.tc-gallery-layout-wide {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.tc-gallery-layout-portrait > :is(.wp-block-image, figure.wp-block-image):first-child {
    grid-row: span 2;
}
@media (max-width: 781px) {
    .tc-gallery-layout-mosaic,
    .tc-gallery-layout-feature,
    .tc-gallery-layout-grid,
    .tc-gallery-layout-panorama,
    .tc-gallery-layout-diptych,
    .tc-gallery-layout-squares,
    .tc-gallery-layout-portrait,
    .tc-gallery-layout-wide,
	.tc-gallery-layout-triple {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .tc-gallery-layout-panorama > :is(.wp-block-image, figure.wp-block-image):first-child,
    .tc-gallery-layout-feature > :is(.wp-block-image, figure.wp-block-image):first-child,
    .tc-gallery-layout-portrait > :is(.wp-block-image, figure.wp-block-image):first-child,
    .tc-gallery-layout-wide > :is(.wp-block-image, figure.wp-block-image):first-child {
        grid-column: 1 / -1;
        grid-row: auto;
    }
}
@media (max-width: 480px) {
    .tc-gallery-layout-mosaic > :is(.wp-block-image, figure.wp-block-image):nth-child(-n+2) {
        grid-column: span 2;
    }
}

@media (max-width: 781px) {
    .tc-header-row { padding-block: 10px 8px; }
    .tc-logo { width: 220px; max-width: 72%; }
    .tc-logo a { min-height: 44px; }
    .tc-logo img { max-height: 44px; }
    .tc-hero { grid-template-columns: minmax(0, 1fr); }
    .tc-hero-copy { padding: 14px 0 0; }
    .tc-hero h1 { font-size: clamp(42px, 15cqw, 83px); }
    .tc-contact-layout { margin-top: 14px !important; }
    .tc-gallery-nav { margin-bottom: 16px; }
}
@media (forced-colors: active) {
    .tc-logo { background: #fff; forced-color-adjust: none; }
    .tc-logo img { forced-color-adjust: none; }
}

/* Comfortable line spacing for Cardo's ascenders and descenders. */
h1, h2, h3, h4 {
    line-height: 1.15;
    letter-spacing: -.04em;
}
@media (max-width: 420px) {
    .tc-gallery-section h2 {
        font-size: clamp(40px, 12vw, 48px);
        overflow-wrap: break-word;
    }
}

/* Keep WordPress's native dialog, focus handling and Escape behavior. */
.tc-header .tc-nav .wp-block-navigation__responsive-container.is-menu-open {
    padding: 0;
    animation: none;
    opacity: 1;
}
.tc-header .tc-nav .is-menu-open .wp-block-navigation__responsive-close,
.tc-header .tc-nav .is-menu-open .wp-block-navigation__responsive-dialog {
    width: 100%;
    min-height: 100dvh;
    max-width: none;
    margin: 0;
}
.tc-header .tc-nav .tc-menu-brand { display: none; }
.tc-header .tc-nav .is-menu-open .tc-menu-brand {
    display: block;
    position: absolute;
    top: var(--tc-menu-brand-top, 60px);
    left: var(--tc-menu-brand-left, var(--tc-gap));
    width: var(--tc-menu-brand-width, 220px);
    max-width: none;
    margin: 0;
}
.tc-header .tc-nav .is-menu-open .wp-block-navigation__responsive-container-close {
    top: var(--tc-menu-toggle-top, 58px);
    left: var(--tc-menu-toggle-left, auto);
    right: var(--tc-gap);
    width: 48px;
    height: 48px;
}
.tc-header .tc-nav .is-menu-open .wp-block-navigation__responsive-container-content {
    width: 100%;
    min-height: 100dvh;
    padding: var(--tc-menu-content-top, 130px) var(--tc-gap) 32px;
    justify-content: flex-start;
    align-items: center;
    box-sizing: border-box;
}
.tc-header .tc-nav .is-menu-open .wp-block-navigation__container {
    width: 100%;
    max-width: 520px;
    flex: 0 0 auto;
    gap: 12px !important;
    align-items: stretch !important;
    justify-content: flex-start;
}
.tc-header .tc-nav .is-menu-open .wp-block-navigation-item {
    width: 100%;
    min-width: 0;
    margin: 0;
    font-size: clamp(23px, 5vw, 30px);
    line-height: 1.35;
}
.tc-header .tc-nav .is-menu-open .wp-block-navigation-item__content {
    width: 100%;
    min-height: 58px;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 1px solid #c8c6ba;
    background: transparent;
    text-align: center;
    text-decoration: none;
}
.tc-header .tc-nav .is-menu-open .wp-block-navigation-item__content:hover,
.tc-header .tc-nav .is-menu-open .wp-block-navigation-item__content[aria-current="page"] {
    border-color: var(--tc-ink);
    background: #e8e4d9;
}
.tc-header .tc-nav .is-menu-open .tc-home-link .screen-reader-text {
    margin: 0 !important;
    white-space: nowrap !important;
}
.tc-header .tc-nav .is-menu-open .tc-home-link svg {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
}



/* 1. Główny kontener – dokładnie 3 równe kolumny obok siebie */
.wp-block-group.tc-gallery-layout-three-columns {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important; /* Zmień na 0px, jeśli chcesz, żeby zdjęcia stykały się bez przerw */
    width: 100% !important;
}

/* 2. Kontener zdjęcia – to on nadaje pionowy kształt (szerokość ~33%, wysokość wynikająca z proporcji 3/4) */
.wp-block-group.tc-gallery-layout-three-columns .wp-block-image {
    margin: 0 !important;
    width: 100% !important;
    aspect-ratio: 9 / 16 !important; /* Tutaj definiujemy pionowy format (możesz dać 4/5, jeśli wolisz węższe) */
    overflow: hidden !important;
    border-radius: 4px !important;
}

/* 3. Sam obrazek idealnie wypełnia pionowy boks bez rozciągania i spłaszczania */
.wp-block-group.tc-gallery-layout-three-columns .wp-block-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;   /* Kadruje zdjęcie pionowo, zamiast pozwalać mu się spłaszczyć */
    display: block !important;
}

/* Responsywność dla tabletów (2 kolumny) */
@media screen and (max-width: 900px) {
    .wp-block-group.tc-gallery-layout-three-columns {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Responsywność dla telefonów (1 kolumna) */
@media screen and (max-width: 600px) {
    .wp-block-group.tc-gallery-layout-three-columns {
        grid-template-columns: 1fr !important;
    }
}




/* Główny kontener – 3 równe kolumny dla nowego wariantu */
.wp-block-group.tc-gallery-layout-three-columns-slim {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important; /* Zmień na 0px, jeśli mają być bez przerw */
    width: 100% !important;
}

/* Kontener zdjęcia z proporcjami 9/16 */
.wp-block-group.tc-gallery-layout-three-columns-slim .wp-block-image {
    margin: 0 !important;
    width: 100% !important;
    aspect-ratio: 3 / 4 !important; /* Wymuszenie smukłego, wysokiego formatu */
    overflow: hidden !important;
    border-radius: 4px !important;
}

/* Obrazek wypełniający ramkę bez zniekształceń */
.wp-block-group.tc-gallery-layout-three-columns-slim .wp-block-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Responsywność dla tabletów (2 kolumny) */
@media screen and (max-width: 900px) {
    .wp-block-group.tc-gallery-layout-three-columns-slim {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Responsywność dla telefonów (1 kolumna) */
@media screen and (max-width: 600px) {
    .wp-block-group.tc-gallery-layout-three-columns-slim {
        grid-template-columns: 1fr !important;
    }
}




/* Główny kontener – dokładnie 2 równe kolumny po 50% */
.wp-block-group.tc-gallery-layout-two-columns {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important; /* Odstęp między grafikami – zmień na 0px, jeśli mają stykać się bez przerw */
    width: 100% !important;
}

/* Kontener zdjęcia z proporcjami 2 / 3 */
.wp-block-group.tc-gallery-layout-two-columns .wp-block-image {
    margin: 0 !important;
    width: 100% !important;
    aspect-ratio: 2 / 3 !important; /* Wymuszenie pionowego formatu 2:3 */
    overflow: hidden !important;
    border-radius: 4px !important;
}

/* Obrazek wypełniający ramkę bez zniekształceń */
.wp-block-group.tc-gallery-layout-two-columns .wp-block-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Responsywność dla telefonów komórkowych (1 kolumna pod sobą) */
@media screen and (max-width: 768px) {
    .wp-block-group.tc-gallery-layout-two-columns {
        grid-template-columns: 1fr !important;
    }
}



/* 1. Ukrycie wbudowanych przez WordPressa / motyw ikon (strzałek/krzyżyków po prawej) */
.wp-block-accordion-item__toggle-icon,
.wp-block-accordion-heading__toggle-icon,
.wp-block-accordion-heading svg {
    display: none !important;
}

/* 2. Stylizacja głównego paska nagłówka (bazująca na Twoim kodzie) */
.wp-block-accordion-heading__toggle-title {
    border-bottom: 1px solid var(--tc-line, #d4c5b9) !important;
    padding: 15px 0 15px 35px !important; /* Odstęp z lewej na naszą ikonę */
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important; /* Wyrównanie do lewej */
    font-size: 24px !important;
    position: relative !important;
    background: transparent !important;
}

/* 3. Dodanie czystego plusa po lewej stronie */
.wp-block-accordion-heading__toggle-title::before {
    content: "+" !important;
    position: absolute !important;
    left: 0 !important;
    font-size: 24px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
}

/* 4. Zamiana plusa na minus, gdy element jest rozwinięty */
.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-title::before,
.wp-block-accordion-item.--expanded .wp-block-accordion-heading__toggle-title::before,
[aria-expanded="true"] .wp-block-accordion-heading__toggle-title::before {
    content: "−" !important;
}

/* 5. Linia podziału dla całego elementu (zamiast przecinać środek) */
.wp-block-accordion-item {
    border-bottom: 1px solid var(--tc-line, #d4c5b9) !important;
    margin-bottom: 0 !important;
}

/* Usunięcie linii z samego nagłówka, żeby nie duplikować kresek */
.wp-block-accordion-heading__toggle-title {
    border-bottom: none !important; 
}

/* 6. Wstrzyknięcie linii pod całą pozycją i odpowiednie odstępy dla treści */
.wp-block-accordion-item .wp-block-accordion-content {
    padding: 0 0 20px 35px !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--tc-line, #d4c5b9) !important;
}