/* ==========================================================================
   Mai Thai – Responsive Styles
   Zakresy: 0–340 | 341–576 | 577–768 | 769–991
            992–1200 | 1201–1380 | 1381–1680 | 1681+
   ========================================================================== */


/* --------------------------------------------------------------------------
   ≥ 1681px – ultra-wide / bardzo duży desktop
   -------------------------------------------------------------------------- */
@media (min-width: 1681px) {


    .site-header .container-big {
        padding-inline: 80px;
    }

    .gallery-grid {
        columns: 5;
    }

    .entry-page--gallery .wp-block-gallery,
    .entry-page--gallery .wp-block-gallery.has-nested-images,
    .entry-page--gallery .wp-block-gallery ul.blocks-gallery-grid {
        columns: 5 !important;
    }

    .footer-desc {
        max-width: 58%;
    }

    .fca-stats {
        gap: 80px;
    }
}


/* --------------------------------------------------------------------------
   ≤ 1680px – szeroki laptop
   -------------------------------------------------------------------------- */
@media (max-width: 1680px) {
    .header-nav .main-menu li a {
        padding: 9px 10px;
        font-size: .75rem;
    }
}

/* --------------------------------------------------------------------------
   ≤ 1380px – mały desktop / szeroki laptop
   -------------------------------------------------------------------------- */
@media (max-width: 1380px) {

    /* Header */
    .site-header .container-big {
        padding-inline: 36px;
    }

    .header-nav {
        padding-left: 2.5rem;
    }

    .header-nav .main-menu li a {
        padding: 9px 14px;
    }

    .header-social__label {
        display: none;
    }

    .header-social {
        margin-right: 24px;
        gap: 12px;
    }

    .header-phone {
        margin-right: 20px;
    }

    /* Footer */
    .footer-widget-grid {
        grid-template-columns: 48% 18% 18% 16%;
    }

    .footer-desc {
        max-width: 70%;
    }
}


/* --------------------------------------------------------------------------
   ≤ 1200px – tablet landscape / mały laptop
   -------------------------------------------------------------------------- */
@media (max-width: 1200px) {

    /* Header */
    .site-header .container-big {
        padding-inline: 28px;
    }

    .header-inner {
        height: 108px;
    }

    /* Logo */
    .logo-box .logo-main img,
    .logo-box .custom-logo {
        height: 104px;
    }

    /* Nav */
    .header-nav {
        padding-left: 1.5rem;
    }

    .header-nav .main-menu li a {
        padding: 8px 10px;
        font-size: .76rem;
    }

    /* Ukryj social, zostaw samą ikonę telefonu */
    .header-social {
        display: none;
    }

    .header-phone {
        margin-right: 12px;
        font-size: .88rem;
    }

    .header-phone span {
        display: none;
    }

    /* Styles */
    .styles-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Gallery */
    .gallery-grid {
        columns: 3;
    }

    .entry-page--gallery .wp-block-gallery,
    .entry-page--gallery .wp-block-gallery.has-nested-images,
    .entry-page--gallery .wp-block-gallery ul.blocks-gallery-grid {
        columns: 3 !important;
    }

    /* Reviews */
    .reviews-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Footer */
    .footer-widget-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .col-first {
        grid-column: 1 / -1;
    }

    .footer-desc {
        max-width: 55%;
    }

    .page-banner {
        padding: 200px 0 100px;
    }

    /* Footer CTA */
    .fca-stats {
        gap: 40px;
    }

    /* Footer widget */
    .footer-widget-grid {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 18px;
    }

    .col-first {
        grid-column: 1 / -1;
    }

    #block-3 p,
    #block-4 p,
    #block-5 p {
        text-align: left;
    }

    .footer-widget-grid>div:not(.col-first) {
        text-align: left;
    }

    .footer-widget-grid>div:not(.col-first) ul li a {
        text-align: left;
    }

    .footer-widget-grid>div:last-child {
        padding-left: 0;
    }
}


/* --------------------------------------------------------------------------
   ≤ 991px – tablet / hamburger menu
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {

    /* Header */
    .site-header .container-big {
        padding-inline: 24px;
    }

    .header-inner {
        height: 90px;
    }

    .logo-box .logo-main img,
    .logo-box .custom-logo {
        height: 82px;
    }

    .logo-secondary {
        display: none;
    }

    .header-nav,
    .header-cta {
        display: none;
    }

    .nav-open {
        display: flex;
        margin-top: .5rem;
    }

    /* Logo – scrolled */
    .site-header.scrolled .header-inner {
        height: 72px;
    }

    .site-header.scrolled .logo-box .logo-main img,
    .site-header.scrolled .logo-box .custom-logo {
        height: 52px;
    }

    /* Hero */
    .hero-social {
        display: none;
    }

    .hero-box {
        max-width: 100%;
        padding-top: 100px;
    }

    .hero-title {
        font-size: clamp(2.4rem, 6vw, 3.8rem);
    }

    /* Features */
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .feature-item:nth-child(3)::before {
        display: none;
    }

    /* About */
    .about-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .about-gallery-collage {
        order: -1;
    }

    .about-counters {
        gap: 28px;
    }

    /* Styles */
    .styles-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    /* Menu restauracji – mniejszy font filtrów */
    .menu-filter {
        font-size: .75rem;
        padding: 9px 18px;
    }

    /* Menu restauracji */
    .menu-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Gallery */
    .gallery-grid {
        columns: 2;
    }

    .page-banner {
        padding: 200px 0 100px;
    }

    .entry-page--gallery .wp-block-gallery,
    .entry-page--gallery .wp-block-gallery.has-nested-images,
    .entry-page--gallery .wp-block-gallery ul.blocks-gallery-grid {
        columns: 2 !important;
    }

    /* Reviews */
    .reviews-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* Contact */
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    /* Footer CTA stats */
    .fca-stats {
        gap: 32px;
    }

    .fca-stat-number {
        font-size: 2rem;
    }

    /* Footer widget */
    .footer-widget-grid {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 18px;
    }

    .col-first {
        grid-column: 1 / -1;
    }

    #block-3 p,
    #block-4 p,
    #block-5 p {
        text-align: left;
    }

    .footer-widget-grid>div:not(.col-first) {
        text-align: left;
    }

    .footer-widget-grid>div:not(.col-first) ul li a {
        text-align: left;
    }

    .footer-widget-grid>div:last-child {
        padding-left: 0;
    }
}


/* --------------------------------------------------------------------------
   ≤ 768px – duży telefon / mały tablet (portrait)
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {

    /* Header */
    .site-header .container-big {
        padding-inline: 20px;
    }

    .header-inner {
        height: 80px;
    }

    .logo-box .logo-main img,
    .logo-box .custom-logo {
        height: 70px;
    }

    /* Sections spacing */
    .about,
    .styles-section,
    .menu-section,
    .gallery-section,
    .reviews-section,
    .contact-section,
    .footer-cta-bar {
        padding: 72px 0;
    }

    /* Hero */
    .hero-slider,
    .hero-slider .swiper-wrapper,
    .hero-slide {
        min-height: 580px;
        height: 92svh;
    }

    .hero-box {
        padding-top: 96px;
    }

    .hero-title {
        font-size: clamp(2.2rem, 6vw, 3.2rem);
    }

    .hero-cta-wrap {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .hero-cta-wrap .btn-solid,
    .hero-cta-wrap .btn-outline {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }

    /* Features – 2 kolumny, ułożenie pionowe: ikona → tytuł → tekst */
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
    }

    .feature-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 24px 16px;
        gap: 10px;
    }

    .feature-item:nth-child(even)::before {
        content: '';
        position: absolute;
        left: 0;
        top: 10%;
        height: 80%;
        width: 1px;
        background: var(--mt-border);
    }

    .feature-item:nth-child(3),
    .feature-item:nth-child(4) {
        border-top: 1px solid var(--mt-border);
    }

    /* About – collage: 1. obraz 100%, 2.+3. po 50% obok siebie */
    .about-grid {
        gap: 40px;
    }

    .about-gallery-collage {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .gcollage-item--wide {
        grid-column: 1 / -1;
    }

    .about-counters {
        gap: 24px;
    }

    /* Styles */
    .styles-grid {
        grid-template-columns: 1fr;
    }

    /* Menu restauracji */
    .menu-grid {
        grid-template-columns: 1fr;
    }

    .menu-filters {
        width: 100%;
        border-radius: var(--radius);
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding: 6px;
    }

    /* Gallery */
    .gallery-grid {
        columns: 2;
        column-gap: 10px;
    }

    .gallery-item {
        margin-bottom: 10px;
    }

    /* Reviews */
    .reviews-cta-box {
        padding: 64px 32px;
    }

    /* Footer CTA */
    .fca-buttons {
        flex-direction: column;
        align-items: center;
    }

    .fca-buttons .btn-outline-white,
    .fca-buttons .btn-solid-white {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }

    .fca-stats {
        flex-direction: column;
        gap: 24px;
    }

    /* Footer widget – jednokolumnowy + wyrównanie do lewej */
    .footer-widget-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .col-first {
        grid-column: auto;
    }

    .footer-desc {
        max-width: 100%;
    }

    /* Odwróć wyrównanie kolumn do lewej */
    .footer-widget-grid>div:not(.col-first) {
        text-align: left;
    }

    .footer-widget-grid>div:last-child {
        padding-left: 0;
    }

    .footer-widget-grid>div:not(.col-first) ul li {
        flex-direction: row;
        justify-content: flex-start;
    }

    .footer-widget-grid>div:not(.col-first) ul li::before {
        margin-right: 10px;
        margin-left: 0;
    }

    .footer-widget-grid>div:not(.col-first) ul li a {
        text-align: left;
    }

    #block-3 p,
    #block-4 p,
    #block-5 p {
        text-align: left;
    }

    .fb-inner {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }

    .scroll-top {
        display: none;
    }

    /* Page banner */
    .page-banner {
        padding: 140px 0 100px;
    }

    .page-banner__wave svg {
        height: 56px;
    }
}


/* --------------------------------------------------------------------------
   ≤ 576px – standardowy telefon
   -------------------------------------------------------------------------- */
@media (max-width: 576px) {

    :root {
        --pad: 16px;
    }

    /* Header */
    .site-header .container-big {
        padding-inline: 16px;
    }

    .header-inner {
        height: 68px;
    }

    .logo-box .logo-main img,
    .logo-box .custom-logo {
        height: 54px;
    }

    /* Logo scrolled */
    .site-header.scrolled .header-inner {
        height: 62px;
    }

    .site-header.scrolled .logo-box .logo-main img,
    .site-header.scrolled .logo-box .custom-logo {
        height: 42px;
    }

    /* Hero */
    .hero-pretitle {
        font-size: .65rem;
    }

    .hero-title {
        font-size: clamp(2rem, 8.5vw, 2.8rem);
    }

    .hero-text {
        font-size: .95rem;
    }

    .hero-cta-wrap .btn-solid,
    .hero-cta-wrap .btn-outline {
        max-width: 280px;
    }

    /* Sections */
    .about,
    .styles-section,
    .menu-section,
    .gallery-section,
    .reviews-section,
    .contact-section,
    .footer-cta-bar {
        padding: 56px 0;
    }

    .section-head {
        margin-bottom: 32px;
    }

    /* Features */
    .features-grid {
        grid-template-columns: 1fr 1fr;
    }

    .feature-title {
        font-size: .84rem;
    }

    /* About counters */
    .about-counters {
        flex-wrap: wrap;
        gap: 20px;
    }

    .counter-number {
        font-size: 1.7rem;
    }

    /* Gallery – homepage 3 kolumny, galeria podstrony 1 */
    .gallery-grid {
        columns: 3;
        column-gap: 8px;
    }

    .gallery-item {
        margin-bottom: 8px;
    }

    .entry-page--gallery .wp-block-gallery,
    .entry-page--gallery .wp-block-gallery.has-nested-images,
    .entry-page--gallery .wp-block-gallery ul.blocks-gallery-grid {
        columns: 1 !important;
    }

    /* Menu restauracji */
    .menu-item-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .menu-item-order {
        width: 100%;
        justify-content: center;
    }

    /* Reviews */
    .review-card {
        padding: 24px 20px;
    }

    .reviews-cta-box {
        padding: 56px 24px;
    }

    /* Contact */
    .contact-info,
    .contact-form {
        padding: 24px 20px;
    }

    /* Footer CTA */
    .fca-title {
        font-size: clamp(1.5rem, 6vw, 2rem);
    }

    .fca-stat-number {
        font-size: 1.8rem;
    }

    /* Footer */
    .footer-widget {
        padding: 48px 0 40px;
    }

    .footer-widget-grid {
        gap: 28px;
    }

    /* 404 */
    .error-404 {
        padding: 100px 0;
    }

    /* Page banner */
    .page-banner {
        padding: 120px 0 88px;
    }

    .page-banner--has-img {
        padding-bottom: 96px;
    }

    .page-banner__wave svg {
        height: 52px;
    }

    .entry-page {
        padding: 52px 0 72px;
    }

    /* Archive */
    .archive-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    /* Single */
    .single-header {
        padding: 100px 0 48px;
    }
}


/* --------------------------------------------------------------------------
   ≤ 340px – bardzo małe telefony (320px)
   -------------------------------------------------------------------------- */
@media (max-width: 340px) {

    :root {
        --pad: 12px;
    }

    /* Header */
    .site-header .container-big {
        padding-inline: 12px;
    }

    .header-inner {
        height: 60px;
    }

    .logo-box .logo-main img,
    .logo-box .custom-logo {
        height: 44px;
    }

    .nav-open {
        width: 36px;
        height: 36px;
        margin-top: .5rem;
    }

    /* Hero */
    .hero-title {
        font-size: clamp(1.7rem, 9vw, 2.2rem);
    }

    .hero-pretitle {
        font-size: .6rem;
        padding: 6px 14px;
    }

    .hero-text {
        font-size: .88rem;
    }

    .hero-cta-wrap .btn-solid,
    .hero-cta-wrap .btn-outline {
        width: 100%;
        font-size: .82rem;
        padding: 12px 18px;
        max-width: 100%;
    }

    /* Sections */
    .about,
    .styles-section,
    .menu-section,
    .gallery-section,
    .reviews-section,
    .contact-section,
    .footer-cta-bar {
        padding: 48px 0;
    }

    .section-head {
        margin-bottom: 24px;
    }

    .section-title {
        font-size: clamp(1.6rem, 7.5vw, 2rem);
    }

    .section-desc {
        font-size: .9rem;
    }

    /* Features */
    .feature-item {
        padding: 12px;
        gap: 10px;
    }

    .feature-icon {
        width: 38px;
        height: 38px;
        font-size: .9rem;
    }

    .feature-title {
        font-size: .78rem;
    }

    .feature-desc {
        display: none;
    }

    /* About */
    .about-counters {
        gap: 14px;
    }

    .counter-number {
        font-size: 1.4rem;
    }

    /* Buttons (globalnie) */
    .btn-solid,
    .btn-outline,
    .btn-outline-white,
    .btn-solid-white,
    .btn-main,
    .btn-second {
        padding: 11px 18px;
        font-size: .82rem;
    }

    /* Menu restauracji */
    .menu-filters {
        padding: 4px;
    }

    .menu-filter {
        padding: 8px 12px;
        font-size: .76rem;
    }

    .menu-item-body {
        padding: 14px 42px 14px 14px;
    }

    .menu-item-name {
        font-size: 1rem;
    }

    /* Reviews */
    .review-card {
        padding: 20px 16px;
    }

    /* Contact */
    .contact-info,
    .contact-form {
        padding: 18px 14px;
    }

    /* Footer CTA */
    .fca-title {
        font-size: clamp(1.3rem, 8vw, 1.6rem);
    }

    .fca-stat-number {
        font-size: 1.5rem;
    }

    /* Footer */
    .footer-widget-grid {
        gap: 24px;
    }

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

    /* Page banner */
    .page-banner {
        padding: 110px 0 80px;
    }

    .page-banner__wave svg {
        height: 44px;
    }

    .entry-page {
        padding: 44px 0 60px;
    }

    /* Mobile nav – kompaktowy */
    .mnav-top {
        padding: 14px 18px;
    }

    .mnav-logo img {
        height: 40px;
    }

    .mnav-menu {
        padding: 12px 18px 18px;
    }

    .mnav-footer {
        padding: 14px 18px;
        gap: 10px;
    }

    .mnav-menu .main-menu>li>a {
        font-size: 1rem;
        padding: 13px 4px;
    }
}


/* --------------------------------------------------------------------------
   Print
   -------------------------------------------------------------------------- */
@media print {

    .site-header,
    .hero-social,
    .nav-open,
    .mobile-nav,
    .footer-cta-bar,
    .scroll-top {
        display: none !important;
    }

    body {
        font-size: 12pt;
        color: #000;
    }

    a {
        color: #000;
        text-decoration: underline;
    }
}