/*--------------------------------------------------------------
# RESPONSIVE — acr.css
# Wszystkie media queries motywu w jednym miejscu.
#
# Architektura kaskady:
#   +1657         xl desktops
#   1381–1656     large desktops   (default — acc.css)
#   1201–1380     medium desktops
#   992–1200      small desktops
#   0–991         MOBILE BASE  ← reset wszystkich ograniczeń desktopowych
#   769–991       tablets          (nakładka na mobile base)
#   577–768       large phones     (nakładka na mobile base)
#   341–576       small phones     (nakładka na mobile base)
#   0–340         tiny phones      (nakładka na mobile base)
#
# ZASADA: każda wartość, która musi być inna niż na desktopie
# dla WSZYSTKICH ekranów mobilnych, idzie do MOBILE BASE.
# Poszczególne zakresy dodają tylko korekty rozmiarów.
--------------------------------------------------------------*/


/* ============================================================
   XL DESKTOPS  ≥ 1657px
   ============================================================ */
@media (min-width: 1657px) {

    .welcome-title {
        font-size: 6.5rem;
    }

    .welcome-title span {
        font-size: 3.4rem;
    }

    .about-main {
        font-size: 3rem;
    }

    .parallax {
        padding: 18rem 0;
    }

    .parallax-inner h2 {
        font-size: 3.8rem;
    }

    .portfolio {
        padding: 12rem 0;
    }

    .portfolio-item {
        height: 480px;
    }

    .post-hero__title {
        font-size: 4.4rem;
    }

    .proj-gallery__masonry {
        grid-template-columns: repeat(4, 1fr);
    }
}


/* ============================================================
   MEDIUM DESKTOPS  1201–1380px
   ============================================================ */
@media (min-width: 1201px) and (max-width: 1380px) {

    .welcome-title {
        font-size: 4.6rem;
    }

    .welcome-title span {
        font-size: 2.5rem;
    }
.about-space h2 {
    font-size: 2rem;}
    .about-main {
        font-size: 2.2rem;
        max-width: 52%;
    }

    .widgets-grid {
        padding: 0 2rem;
        gap: 3rem;
    }

    .portfolio {
        padding: 8rem 0;
    }

    .portfolio-header {
        gap: 30%;
    }

    .portfolio-item {
        height: 390px;
    }

    .parallax {
        padding: 11rem 0;
    }

    .about-space .row>div:first-child {
        padding: 8rem 4rem;
    }
}


/* ============================================================
   SMALL DESKTOPS  992–1200px
   ============================================================ */
@media (min-width: 992px) and (max-width: 1200px) {
    .mastheader .navbar>div ul li a {
        letter-spacing: .25rem;
    }

    .welcome-title {
        font-size: 4rem;
    }

    .welcome-title span {
        font-size: 2.2rem;
    }

    .about-main {
        font-size: 2rem;
        max-width: 60%;
    }

    .widgets-section {
        padding: 7rem 0;
    }

    .widgets-grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 0 1rem;
        gap: 3rem;
    }

    .portfolio {
        padding: 7rem 0;
    }

    .portfolio-header {
        gap: 1.5rem;
        margin-bottom: 4rem;
    }

    .portfolio-item {
        height: 360px;
    }

    .about-space .row>div:first-child {
        padding: 7rem 3rem;
    }

    .about-space .row>div:nth-child(2) {
        min-height: 50vh;
    }

    .parallax {
        padding: 10rem 0;
    }

    .parallax-inner h2 {
        font-size: 2.4rem;
    }

    .proj-gallery__masonry {
        grid-template-columns: repeat(2, 1fr);
    }

    .single-line__img {
        height: 440px;
    }

    .single-line__text-box,
    .single-line__text-box--right {
        padding: 2rem 2rem 2rem 0;
    }

    .about-space h2 {
        font-size: 2rem;
    }
}


/* ============================================================
   MOBILE BASE  ≤ 991px
   Fundament dla WSZYSTKICH rozdzielczości mobilnych.
   Nadpisuje wartości desktopowe z acc.css, które inaczej
   pozostałyby aktywne nawet na telefonie 330px.
   ============================================================ */
@media (max-width: 991px) {

    /* --- Global overflow fix --- */
    html,
    body {
        overflow-x: hidden;
    }

    /* --- Containers — większy padding na wąskich ekranach --- */
    .container-big,
    .container-mid {
        padding-left: 20px;
        padding-right: 20px;
    }

    /* ---- Header ---- */
    .mastheader .navbar {
        display: none;
    }

    .mob-burger {
        display: flex;
    }

    /* ---- Welcome ---- */
    .welcome-inner {
        bottom: 5rem;
        padding: 0 1.5rem;
    }

    /* Scroll indicator — 40% mniejszy (32→19px, 52→31px) */
    .scroll-indicator {
        width: 19px;
        height: 31px;
        border-radius: 14px;
    }

    .scroll-line {
        height: 7px;
    }

    /* ---- About heading ---- */
    .about-heading {
        height: auto;
        min-height: 58vh;
        padding: 5rem 1.5rem;
    }

    /* KLUCZOWY FIX: desktop ma max-width: 45%, co na 330px daje ~149px szerokości */
    .about-main {
        max-width: 90%;
        margin-bottom: 2rem;
    }

    .about-sub {
        letter-spacing: .2rem;
    }

    .about-bg-typography {
        font-size: 8rem;
    }

    /* ---- Widgets ---- */
    .widgets-section {
        padding: 5rem 0;
    }

    /* KLUCZOWY FIX: desktop ma max-width: 45% */
    .widgets-title {
        max-width: 90%;
        font-size: 2rem;
        margin-left: auto;
        margin-right: auto;
    }

    /* KLUCZOWY FIX: desktop ma max-width: 60% */
    .widgets-desc {
        font-size: .9rem;
        max-width: 92%;
        margin-left: auto;
        margin-right: auto;
    }

    .widgets-heroimg img {
        margin: 0 0 3rem 0;
    }

    .widget-item p {
        font-size: .85rem;
    }

    /* KLUCZOWY FIX: desktop: repeat(4,1fr) + padding: 0 4rem — na 330px = overflow */
    .widgets-grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 0;
        gap: 2.5rem;
    }

    /* ---- About Space ---- */
    /* KLUCZOWY FIX: desktop min-height: 70vh na row + kolumnowy układ kolumn */
    .about-space .row {
        flex-direction: column;
        min-height: auto;
    }

    .about-space .row>div:first-child {
        padding: 5rem 1.5rem;
        min-height: auto;
    }

    .about-space .row>div:nth-child(2) {
        min-height: 40vh;
    }

    .about-space h2 {
        font-size: 2rem;
        max-width: 100%;
    }

    .about-space p {
        max-width: 100%;
        font-size: .85rem;
    }

    /* ---- Portfolio ---- */
    .portfolio {
        padding: 5rem 0;
    }

    .portfolio-header {
        flex-direction: column;
        gap: 1.5rem;
        margin-bottom: 3rem;
    }

    .portfolio-header h2 {
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 1.2;
    }

    .portfolio-header h3 {
        font-size: .9rem;
        letter-spacing: .05rem;
        text-transform: uppercase;
        color: #555;
        margin-bottom: 1rem;
    }

    /* Prawa strona nagłówka — wyrównanie do lewej */
    .portfolio-header {
        align-items: flex-start;
    }

    .portfolio-header>*:last-child {
        text-align: left;
    }

    .portfolio-item-content p {
        width: 100%;
        max-width: 100%;
    }

    /* ---- Parallax ---- */
    /* KLUCZOWY FIX: background-attachment: fixed nie działa na iOS */
    .parallax {
        background-attachment: scroll;
        padding: 7rem 0;
    }

    .parallax-inner {
        max-width: 100%;
        padding: 0 1.5rem;
    }

    .parallax-inner h2 {
        font-size: 2.2rem;
    }

    .parallax-inner p {
        font-size: .85rem;
    }

    /* ---- Btn-main ---- */
    .btn-main {
        letter-spacing: .05rem;
    }

    .btn-main:hover {
        letter-spacing: .14rem;
    }

    /* ---- Swiper arrows — mniejsze na mobile ---- */
    .portfolio .swiper-button-prev,
    .portfolio .swiper-button-next {
        width: 32px;
        height: 32px;
    }

    .portfolio .swiper-button-prev::after,
    .portfolio .swiper-button-next::after {
        font-size: 11px;
    }

    /* ---- Post / page hero ---- */
    .post-hero {
        min-height: 55vh;
    }

    .post-hero__subtitle {
        max-width: 100%;
    }

    .page-hero__subtitle {
        letter-spacing: .05rem;
    }

    /* ---- Post / page body ---- */
    .post-body__inner,
    .page-body__inner {
        max-width: 100%;
    }

    /* ---- Historia / Oferta ---- */
    #history_col {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem 2.5rem;
        padding: 3rem 0 2rem;
    }

    #offer_col .wp-block-group__inner-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 3rem;
        padding: 2rem 0 1rem;
    }

    /* ---- Proj specs ---- */
    .proj-specs__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .proj-specs__item {
        padding: 1rem 1rem;
        border-right: none;
    }

    /* ---- Proj body ---- */
    /* KLUCZOWY FIX: desktop: 1fr 1fr + aside sticky + border-left + padding-left: 5rem */
    .proj-body__inner {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .proj-body__content {
        padding-right: 0;
    }

    .proj-body__aside {
        position: static;
        top: auto;
        padding-left: 0;
        border-left: none;
        border-top: 1px solid rgba(0, 0, 0, .07);
        padding-top: 3rem;
    }

    /* ---- Gallery & plans ---- */
    .proj-gallery__masonry {
        grid-template-columns: repeat(2, 1fr);
    }

    .proj-plans__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* ---- Realization gallery ---- */
    .entry-content--realization .wp-block-gallery,
    .entry-content--realization .wp-block-gallery.is-layout-flex,
    .entry-content--realization .wp-block-gallery.wp-block-gallery-is-layout-flex {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* ---- Post nav ---- */
    .post-nav__inner {
        flex-direction: column;
        background-image: none;
    }

    .post-nav__item,
    .post-nav__item--next {
        width: 100%;
        align-items: flex-start;
        text-align: left;
    }

    /* ---- Single line (lista portfolio) ---- */
    .single-line {
        padding: 4rem 0;
    }

    /* Reset kolejności — kolumny Bootstrap stackują się, order niepotrzebny */
    .single-line__row .order-md-1,
    .single-line__row .order-md-2 {
        order: unset !important;
    }

    .single-line__text-box,
    .single-line__text-box--right {
        padding: 0 0 2.5rem;
    }

    .single-line__img {
        height: 300px;
    }

    /* ---- Footer ---- */
    /* KLUCZOWY FIX: desktop: padding 10rem 0 5rem + border-right + padding-left: 6rem */
    .footer-widget {
        padding: 4rem 0 3rem;
    }

    .footer-widget .row>*:nth-child(2) {
        border-right: none;
    }

    .footer-widget .row>*:nth-child(3) {
        padding-left: 1rem;
    }

    .site-footer .widget {
        margin-bottom: 0;
    }

    .site-footer ul li {
        padding-left: 1rem;
        margin: 0 0 .75rem;
        font-size: .85rem;
    }

    .site-footer p {
        font-size: .85rem;
    }

    .footer-bottom {
        padding: 1.5rem 0;
    }

    .scroll-top {
        text-align: left;
    }
}


/* ============================================================
   FOOTER CENTERING  ≤ 768px
   Stopka wycentrowana tylko na telefonach (tablet już OK).
   ============================================================ */
@media (max-width: 768px) {

    .footer-widget {
        text-align: center;
    }

    /* Lista — inline-block żeby dot-bullet się centrował */
    .site-footer ul {
        display: inline-block;
        text-align: left;
    }

    .fw-inner .row {
        justify-content: center;
    }

    .fw-inner .row>* {
        text-align: center;
        margin-bottom: 2rem;
    }

    .footer-bottom {
        text-align: center;
    }

    .fb-inner {
        flex-direction: column;
        align-items: center;
        gap: .5rem;
    }

    .footer-credits,
    .footer-author {
        text-align: center;
    }

    .scroll-top {
        text-align: center;
        margin-top: .75rem;
    }
}


/* ============================================================
   TABLETS  769–991px
   Nakładka na mobile base — korekty dla większych telefonów
   i tabletów w orientacji pionowej.
   ============================================================ */
@media (min-width: 769px) and (max-width: 991px) {

    /* Welcome */
    .welcome-title {
        font-size: 3.4rem;
    }

    .welcome-title span {
        font-size: 2rem;
    }

    .welcome-inner {
        bottom: 5rem;
    }

    /* About */
    .about-heading {
        min-height: 70vh;
        padding: 6rem 2rem;
    }

    .about-main {
        font-size: 1.9rem;
        max-width: 72%;
    }

    /* Widgets */
    .widgets-section {
        padding: 6rem 0;
    }

    .widgets-grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 0 1rem;
        gap: 2.5rem;
    }

    .widgets-title {
        max-width: 70%;
        font-size: 2rem;
    }

    /* About Space */
    .about-space .row>div:first-child {
        padding: 6rem 2rem;
    }

    .about-space .row>div:nth-child(2) {
        min-height: 45vh;
    }

    .about-space h2 {
        font-size: 2.1rem;
    }

    /* Portfolio */
    .portfolio {
        padding: 6rem 0;
    }

    .portfolio-header {
        margin-bottom: 3.5rem;
    }

    .portfolio-header h2 {
        font-size: 2.2rem;
    }

    .portfolio-item {
        height: 340px;
    }

    .portfolio-item-content h4 {
        font-size: 1.7rem;
    }

    /* Parallax */
    .parallax {
        padding: 8rem 0;
    }

    .parallax-inner {
        max-width: 90%;
    }

    .parallax-inner h2 {
        font-size: 2.2rem;
    }

    /* Post hero */
    .post-hero {
        min-height: 62vh;
    }

    .post-hero__title {
        font-size: 2.8rem;
    }

    /* Historia / Oferta */
    #history_col {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem 3rem;
    }

    #offer_col .wp-block-group__inner-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 3rem 3.5rem;
    }

    /* Proj specs */
    .proj-specs__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .proj-specs__item {
        padding: 1.8rem 1.4rem;
    }

    /* Proj body */
    .proj-body__inner {
        gap: 4rem;
    }

    /* Gallery & plans */
    .proj-gallery__masonry {
        grid-template-columns: repeat(2, 1fr);
    }

    .proj-plans__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Single line */
    .single-line {
        padding: 5rem 0;
    }

    /* Na tabletach Bootstrap md działa → przywróć kolejność */
    .single-line__row .order-md-1 {
        order: 1 !important;
    }

    .single-line__row .order-md-2 {
        order: 2 !important;
    }

    .single-line__text-box,
    .single-line__text-box--right {
        padding: 2rem 0rem 2rem 0;
    }

    .single-line__text-box .single-line__excerpt {
        font-size: .85rem
    }

    .single-line__img {
        height: 400px;
    }

    /* Footer */
    .site-footer .widget {
        margin-bottom: 2rem;
    }

}


/* ============================================================
   LARGE PHONES  577–768px
   Nakładka na mobile base
   ============================================================ */
@media (min-width: 577px) and (max-width: 768px) {

    /* Header */
    .mastheader {
        padding: .6rem 0;
    }

    .mastheader .logo img {
        max-height: 48px;
    }

    /* Mobile nav — pełna szerokość na telefonach */
    .mob-nav {
        width: 100%;
    }

    /* Typography */
    body {
        font-size: 15px;
    }

    p {
        font-size: 1rem;
    }

    /* Page body */
    .page-body {
        padding: 5rem 0 7rem;
    }

    /* Welcome */
    .welcome-title {
        font-size: 2.8rem;
    }

    .welcome-title span {
        font-size: 1.8rem;
    }

    .welcome-subtitle {
        letter-spacing: .3rem;
    }

    .welcome-inner {
        bottom: 4rem;
    }

    /* About */
    .about-heading {
        min-height: 60vh;
    }

    .about-main {
        font-size: 1.8rem;
        max-width: 90%;
    }

    /* Widgets */
    .widgets-section {
        padding: 5rem 0;
    }

    .widgets-title {
        max-width: 90%;
        font-size: 1.8rem;
    }

    .widgets-desc {
        font-size: .88rem;
    }

    .widgets-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }

    /* About Space */
    .about-space .row>div:first-child {
        padding: 5rem 1.5rem;
    }

    .about-space .row>div:nth-child(2) {
        min-height: 40vh;
    }

    .about-space h2 {
        font-size: 1.9rem;
    }

    /* Portfolio */
    .portfolio {
        padding: 5rem 0;
    }

    .portfolio-header {
        margin-bottom: 3rem;
    }

    .portfolio-header h2 {
        font-size: 1.9rem;
    }

    .portfolio-header h3 {
        font-size: .75rem;
    }

    .portfolio-item {
        height: 300px;
    }

    .portfolio-item-content {
        left: 1.5rem;
        bottom: 1.5rem;
        max-width: 90%;
    }

    .portfolio-item-content h4 {
        font-size: 1.5rem;
    }

    .portfolio-item-content p {
        font-size: .8rem;
    }

    .portfolio-pin {
        top: 1rem;
        right: 1rem;
    }

    .portfolio-floors {
        top: 1rem;
        left: 1rem;
    }

    /* Parallax */
    .parallax {
        padding: 6rem 0;
    }

    .parallax-inner h2 {
        font-size: 1.9rem;
    }

    .parallax-inner p {
        font-size: .95rem;
    }

    /* Post hero */
    .post-hero {
        min-height: 55vh;
    }

    .post-hero__title {
        font-size: 2.1rem;
    }

    .post-hero__subtitle {
        font-size: 1rem;
    }

    /* Page hero */
    .page-hero {
        min-height: 46vh;
    }

    .page-hero--no-image .page-hero__content {
        padding: 10rem 0 4rem;
    }

    .page-hero__title {
        font-size: 2rem;
    }

    /* Historia */
    #history_col {
        gap: 2rem 2.5rem;
        padding: 3rem 0 2rem;
    }

    #offer_col .wp-block-group__inner-container {
        gap: 3rem;
    }

    /* Post body */
    .post-body {
        padding: 4rem 0 6rem;
    }

    /* Post nav */
    .post-nav__item,
    .post-nav__item--next {
        padding: 2.5rem 2rem;
    }

    /* Proj specs */
    .proj-specs__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .proj-specs__item {
        padding: 1.4rem 1rem;
    }

    /* Proj body */
    .proj-body__inner {
        gap: 3rem;
    }

    /* Gallery */
    .proj-gallery__masonry {
        grid-template-columns: repeat(2, 1fr);
    }

    .proj-plans__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Lightbox */
    .plb__slide {
        padding: 3rem 2rem;
    }

    .plb__prev {
        left: .8rem;
    }

    .plb__next {
        right: .8rem;
    }

    /* Realization gallery */
    .entry-content--realization .wp-block-gallery,
    .entry-content--realization .wp-block-gallery.is-layout-flex,
    .entry-content--realization .wp-block-gallery.wp-block-gallery-is-layout-flex {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* Single line */
    .single-line {
        padding: 4rem 0;
    }

    .single-line__img {
        height: 260px;
    }

    /* Footer */
    .footer-widget {
        padding: 4rem 0 3rem;
    }

    .footer-widget .widget-title {
        font-size: 1rem;
    }

    .footer-credits,
    .footer-author {
        font-size: .85rem;
        margin-bottom: .75rem;
    }

    /* Entry content gallery */
    .entry-content .wp-block-gallery {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* ============================================================
   SMALL PHONES  341–576px
   Nakładka na mobile base
   ============================================================ */
@media (min-width: 341px) and (max-width: 576px) {

    /* Header */
    .mastheader {
        padding: .5rem 0;
    }

    .mastheader .logo img {
        max-height: 42px;
    }

    /* Mobile nav — pełna szerokość */
    .mob-nav {
        width: 100%;
    }

    /* Typography */
    body {
        font-size: 15px;
    }

    p {
        font-size: .95rem;
    }

    .entry-content p {
        font-size: .9rem;
    }

    /* Page body */
    .page-body {
        padding: 4rem 0 6rem;
    }

    /* Welcome */
    .welcome-title {
        font-size: 2.2rem;
    }

    .welcome-title span {
        font-size: 1.4rem;
    }

    .welcome-subtitle {
        letter-spacing: .2rem;
        font-size: .65rem;
    }

    .welcome-inner {
        bottom: 3.5rem;
        padding: 0 1rem;
    }

    .scroll-indicator {
        bottom: 2rem;
    }

    /* About */
    .about-heading {
        min-height: 55vh;
        padding: 5rem 1rem;
    }

    .about-main {
        font-size: 1.6rem;
        max-width: 95%;
        margin-bottom: 1.5rem;
    }

    .about-sub {
        font-size: .85rem;
        letter-spacing: .15rem;
    }

    .about-bg-typography {
        font-size: 4rem;
    }

    /* Widgets */
    .widgets-section {
        padding: 4rem 0;
    }

    /* Na małych telefonach 1 kolumna */
    .widgets-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .widgets-title {
        max-width: 100%;
        font-size: 1.6rem;
    }

    .widgets-desc {
        font-size: .85rem;
        max-width: 100%;
    }

    .widget-item h4 {
        font-size: 1.3rem;
    }

    /* About Space */
    .about-space .row>div:first-child {
        padding: 4rem 1rem;
    }

    .about-space .row>div:nth-child(2) {
        min-height: 35vh;
    }

    .about-space h2 {
        font-size: 1.7rem;
    }

    .about-space p {
        font-size: .95rem;
    }

    /* Portfolio */
    .portfolio {
        padding: 4rem 0;
    }

    .portfolio-header {
        gap: 1.2rem;
        margin-bottom: 2rem;
    }

    .portfolio-header h2 {
        font-size: 1.7rem;
    }

    .portfolio-header h3 {
        font-size: .7rem;
    }

    .portfolio-item {
        height: 260px;
    }

    .portfolio-item-content {
        left: 1.2rem;
        bottom: 1.2rem;
        max-width: 95%;
    }

    .portfolio-item-content h4 {
        font-size: 1.3rem;
    }

    .portfolio-pin__area {
        font-size: .9rem;
        padding: .4rem .6rem;
    }

    .portfolio-pin__typ {
        font-size: .6rem;
    }

    .portfolio-floors {
        font-size: .65rem;
        padding: .25rem .5rem;
    }

    /* Parallax */
    .parallax {
        padding: 5rem 0;
    }

    .parallax-inner {
        padding: 0 1rem;
    }

    .parallax-inner h2 {
        font-size: 1.7rem;
    }

    .parallax-inner p {
        font-size: .9rem;
    }

    /* Post hero */
    .post-hero {
        min-height: 50vh;
    }

    .post-hero__title {
        font-size: 1.9rem;
    }

    .post-hero__subtitle {
        font-size: .95rem;
    }

    .post-hero__content {
        padding: 0 0 3rem;
    }

    /* Page hero */
    .page-hero {
        min-height: 42vh;
    }

    .page-hero__title {
        font-size: 1.8rem;
    }

    .page-hero--no-image .page-hero__content {
        padding: 9rem 0 3.5rem;
    }

    /* Historia / Oferta */
    #history_col {
        grid-template-columns: 1fr;
        gap: 2rem 0;
        padding: 2.5rem 0 1.5rem;
    }

    #offer_col .wp-block-group__inner-container {
        grid-template-columns: 1fr;
        gap: 0;
    }

    #offer_col .wp-block-column {
        padding-top: 2rem;
    }

    /* Post body */
    .post-body {
        padding: 3.5rem 0 5rem;
    }

    .entry-content h2 {
        font-size: 1.5rem;
    }

    .entry-content h3 {
        font-size: 1.2rem;
    }

    /* Post nav */
    .post-nav__item,
    .post-nav__item--next {
        padding: 2rem 1.5rem;
    }

    /* Proj specs */
    .proj-specs__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .proj-specs__item {
        padding: 1.2rem .8rem;
    }

    .proj-specs__label {
        font-size: .6rem;
    }

    .proj-specs__value {
        font-size: 1.1rem;
    }

    /* Proj body */
    .proj-body {
        padding: 3rem 0 5rem;
    }

    .proj-body__inner {
        gap: 2.5rem;
    }

    .proj-body__aside {
        padding-top: 2.5rem;
    }

    /* Gallery & plans */
    .proj-gallery--bg {
        padding-top: 4rem;
        padding-bottom: 5rem;
    }

    .proj-gallery__masonry {
        grid-template-columns: 1fr;
    }

    .proj-plans__grid {
        grid-template-columns: 1fr;
    }

    /* Video */
    .proj-video {
        padding: 4rem 0 5rem;
    }

    /* Lightbox */
    .plb__slide {
        padding: 2.5rem 1.5rem;
    }

    .plb__close {
        top: 1rem;
        right: 1rem;
    }

    .plb__prev {
        left: .5rem;
    }

    .plb__next {
        right: .5rem;
    }

    .plb__counter {
        bottom: 1rem;
        font-size: .7rem;
    }

    /* Realization gallery */
    .entry-content--realization .wp-block-gallery,
    .entry-content--realization .wp-block-gallery.is-layout-flex,
    .entry-content--realization .wp-block-gallery.wp-block-gallery-is-layout-flex {
        grid-template-columns: 1fr !important;
    }

    .post-body--realization {
        padding: 3.5rem 0 5rem;
    }

    /* Single line */
    .single-line {
        padding: 3.5rem 0;
    }

    .single-line__img {
        height: 240px;
    }

    .single-line__title {
        font-size: 1.4rem;
    }

    /* Footer */
    .footer-widget {
        padding: 3.5rem 0 2.5rem;
    }

    .site-footer .widget {
        margin-bottom: 1.5rem;
    }

    .footer-widget .widget-title {
        font-size: .9rem;
        letter-spacing: .2rem;
    }

    .footer-credits,
    .footer-author {
        font-size: .82rem;
        margin-bottom: .6rem;
    }

    .footer-bottom {
        font-size: .82rem;
    }

    /* Entry content gallery */
    .entry-content .wp-block-gallery {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
   TINY PHONES  0–340px
   Nakładka na mobile base — najwęższe ekrany
   ============================================================ */
@media (max-width: 340px) {

    /* Header */
    .mastheader {
        padding: .4rem 0;
    }

    .mastheader .logo img {
        max-height: 36px;
    }

    /* Mobile nav — pełna szerokość */
    .mob-nav {
        width: 100%;
    }

    /* Typography */
    body {
        font-size: 14px;
    }

    p {
        font-size: .9rem;
    }

    .entry-content p {
        font-size: .88rem;
    }

    /* Containers — minimalne wcięcia na bardzo wąskich ekranach */
    .container-big,
    .container-mid {
        padding-left: 14px;
        padding-right: 14px;
    }

    /* Page body */
    .page-body {
        padding: 3.5rem 0 5rem;
    }

    /* Welcome */
    .welcome-title {
        font-size: 1.8rem;
    }

    .welcome-title span {
        font-size: 1.2rem;
    }

    .welcome-subtitle {
        display: none;
    }

    .welcome-inner {
        bottom: 3rem;
        padding: 0 .8rem;
    }

    /* About */
    .about-heading {
        min-height: 50vh;
        padding: 4rem .8rem;
    }

    .about-main {
        font-size: 1.4rem;
        max-width: 100%;
    }


    /* Widgets */
    .widgets-section {
        padding: 3rem 0;
    }

    .widgets-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .widgets-title {
        font-size: 1.4rem;
        max-width: 100%;
    }

    /* About Space */
    .about-space .row>div:first-child {
        padding: 3rem .8rem;
    }

    .about-space .row>div:nth-child(2) {
        min-height: 30vh;
    }

    .about-space h2 {
        font-size: 1.5rem;
    }

    /* Portfolio */
    .portfolio {
        padding: 3rem 0;
    }

    .portfolio-item {
        height: 220px;
    }

    .portfolio-item-content h4 {
        font-size: 1.1rem;
    }

    .portfolio-pin {
        display: none;
    }

    .portfolio-floors {
        display: none;
    }

    /* Parallax */
    .parallax {
        padding: 4rem 0;
    }

    .parallax-inner h2 {
        font-size: 1.5rem;
    }

    /* Post hero */
    .post-hero {
        min-height: 45vh;
    }

    .post-hero__title {
        font-size: 1.6rem;
    }

    /* Historia */
    #history_col {
        grid-template-columns: 1fr;
        padding: 2rem 0 1rem;
    }

    /* Post nav */
    .post-nav__item,
    .post-nav__item--next {
        padding: 1.5rem 1rem;
    }

    .post-nav__title {
        font-size: .9rem;
    }

    /* Proj specs */
    .proj-specs__grid {
        grid-template-columns: 1fr;
    }

    /* Gallery & plans */
    .proj-gallery__masonry {
        grid-template-columns: 1fr;
    }

    .proj-plans__grid {
        grid-template-columns: 1fr;
    }

    /* Realization gallery */
    .entry-content--realization .wp-block-gallery,
    .entry-content--realization .wp-block-gallery.is-layout-flex,
    .entry-content--realization .wp-block-gallery.wp-block-gallery-is-layout-flex {
        grid-template-columns: 1fr !important;
    }

    /* Single line */
    .single-line__img {
        height: 200px;
    }

    .single-line__title {
        font-size: 1.2rem;
    }

    /* Footer */
    .footer-widget {
        padding: 3rem 0 2rem;
    }

    .footer-bottom {
        padding: 1rem 0;
        font-size: .8rem;
    }

    .footer-credits,
    .footer-author {
        font-size: .8rem;
        margin-bottom: .5rem;
    }

    /* Lightbox */
    .plb__slide {
        padding: 1.5rem 1rem;
    }

    .plb__prev {
        left: .3rem;
    }

    .plb__next {
        right: .3rem;
    }
}