/* ============================================================
   Pilot WP – Devices Section
   ============================================================ */

.pilotwp-devices-section {
    --ds-padding: 24px;

    overflow: hidden;
    padding-bottom: 48px;
    padding-top: 48px;
    position: relative;
    width: 100%;
}

.page .pilotwp-devices-section {
    left: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    max-width: 100vw !important;
    width: 100vw !important;
}

.pilotwp-devices-section *,
.pilotwp-devices-section *::before,
.pilotwp-devices-section *::after {
    box-sizing: border-box;
}

.pilotwp-devices-section :where(a, h3, p, span, img) {
    border: 0;
    float: none;
    margin-block-end: 0;
    margin-block-start: 0;
    max-width: none;
    text-decoration: none;
}

.pilotwp-devices-section :where(img) {
    height: auto;
    vertical-align: middle;
}

/* ── Container ── */

.pilotwp-devices-section__container {
    margin-inline: auto;
    max-width: var(--cs-mobile-container, 576px);
    padding-left: var(--ds-padding);
    padding-right: var(--ds-padding);
    width: 100%;
}

@media (min-width: 768px) {
    .pilotwp-devices-section__container {
        max-width: var(--cs-tablet-container, 992px);
    }
}

@media (min-width: 992px) {
    .pilotwp-devices-section__container {
        max-width: var(--cs-laptop-container, 1200px);
    }
}

@media (min-width: 1200px) {
    .pilotwp-devices-section__container {
        max-width: var(--cs-desktop-container, 1648px);
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .pilotwp-devices-section {
        --ds-padding: 3rem;
    }
}

@media (min-width: 1200px) and (max-width: 1659.98px) {
    .pilotwp-devices-section {
        --ds-padding: 3rem;
    }
}

/* ── Grid ── */

.pilotwp-devices-section__grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media (min-width: 992px) {
    .pilotwp-devices-section__grid {
        display: grid;
        gap: 24px;
        grid-template-columns: repeat(6, 1fr);
        min-height: 251px;
    }
}

/* ── Cards ── */

.pilotwp-devices-section__card {
    background: #171328;
    border: 1px solid #282352;
    border-radius: 18px;
    color: inherit;
    container-type: inline-size;
    display: block;
    overflow: hidden;
    position: relative;
    text-decoration: none !important;
}

.pilotwp-devices-section__card--link:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.72);
    outline-offset: 3px;
}

.pilotwp-devices-section__card--tv {
    container-name: ds-tv-card;
}

.pilotwp-devices-section__card--phone {
    container-name: ds-phone-card;
}

@media (min-width: 992px) {
    .pilotwp-devices-section__card--tv {
        grid-column: span 4;
    }

    .pilotwp-devices-section__card--phone {
        grid-column: span 2;
    }
}

/* ── Decorative glow (CSS radial gradient) ── */

.pilotwp-devices-section__glow {
    border-radius: 50%;
    pointer-events: none;
    position: absolute;
}

.pilotwp-devices-section__card--tv .pilotwp-devices-section__glow {
    background: radial-gradient(
        circle,
        rgba(113, 89, 255, 0.35) 0%,
        transparent 65%
    );
    bottom: -851px;
    height: 1061px;
    left: calc(50% + 197px);
    transform: translateX(-50%);
    width: 1061px;
}

.pilotwp-devices-section__card--phone .pilotwp-devices-section__glow {
    background: radial-gradient(
        circle,
        rgba(113, 89, 255, 0.35) 0%,
        transparent 65%
    );
    height: 600px;
    left: calc(50% + 315px);
    top: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
}

/* ── Inner content ── */

.pilotwp-devices-section__inner {
    display: flex;
    flex-direction: column;
    gap: 28px;
    height: 100%;
    justify-content: center;
    padding: 28px;
    position: relative;
}

.pilotwp-devices-section__card--phone .pilotwp-devices-section__inner {
    gap: 16px;
    justify-content: space-between;
}

/* ── Heading row ── */

.pilotwp-devices-section__heading-row {
    align-items: center;
    display: flex;
    gap: 8px;
}

.pilotwp-devices-section__card--phone .pilotwp-devices-section__heading-row {
    align-items: flex-start;
}

.pilotwp-devices-section__icon-wrap {
    align-items: center;
    display: inline-flex;
    flex-shrink: 0;
    height: 24px;
    justify-content: center;
    overflow: hidden;
    position: relative;
    width: 24px;
}

.pilotwp-devices-section__icon-wrap img {
    display: block !important;
    height: 100% !important;
    max-width: none !important;
    width: 100% !important;
}

.pilotwp-devices-section__icon-wrap--devices {
    width: 38px;
}

.pilotwp-devices-section__icon-wrap--devices img {
    display: block !important;
    height: 24px !important;
    width: auto !important;
}

.pilotwp-devices-section__heading {
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    margin: 0 !important;
}

/* ── TV logos grid ── */

.pilotwp-devices-section__tv-logos {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 24px 3.5px;
}

.pilotwp-devices-section__logo-item {
    align-items: center;
    display: flex;
    justify-content: center;
    width: 91px;
}

.pilotwp-devices-section__logo {
    display: block !important;
    max-width: 100% !important;
}

.pilotwp-devices-section__logo--google-tv {
    height: 35px !important;
    width: auto !important;
}
.pilotwp-devices-section__logo--samsung {
    height: 14px !important;
    width: auto !important;
}
.pilotwp-devices-section__logo--lg {
    height: 21px !important;
    width: auto !important;
}
.pilotwp-devices-section__logo--tivo {
    height: 34px !important;
    width: auto !important;
}
.pilotwp-devices-section__logo--fire-tv {
    height: 25px !important;
    width: auto !important;
}
.pilotwp-devices-section__logo--toshiba {
    height: 11px !important;
    width: auto !important;
}
.pilotwp-devices-section__logo--jvc {
    height: 16px !important;
    width: auto !important;
}
.pilotwp-devices-section__logo--panasonic {
    height: 11px !important;
    width: auto !important;
}
.pilotwp-devices-section__logo--hitachi {
    height: 11px !important;
    width: auto !important;
}
.pilotwp-devices-section__logo--apple-tv {
    height: 16px !important;
    width: auto !important;
}

/* ── Phone card: top content group ── */

.pilotwp-devices-section__phone-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ── Phone card: description + OS logos ── */

.pilotwp-devices-section__description {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    max-width: 305px !important;
    text-wrap: balance;
}

.pilotwp-devices-section__os-logos {
    align-items: center;
    display: flex;
    gap: 12px;
}

.pilotwp-devices-section__os-logo {
    display: block !important;
    flex-shrink: 0;
}

.pilotwp-devices-section__os-logo--ios {
    height: 24px !important;
    width: auto !important;
}
.pilotwp-devices-section__os-logo--android {
    height: 24px !important;
    width: auto !important;
}
.pilotwp-devices-section__os-logo--huawei {
    height: 24px !important;
    width: auto !important;
}

/* ── Button ── */

.pilotwp-devices-section .pilotwp-devices-section__button {
    align-items: center !important;
    align-self: flex-start !important;
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: #121212 !important;
    cursor: pointer;
    display: inline-flex !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    justify-content: center !important;
    line-height: normal !important;
    min-height: 40px !important;
    padding: 8px 16px !important;
    text-decoration: none !important;
    transition:
        box-shadow 140ms ease,
        transform 140ms ease;
    white-space: nowrap;
}

.pilotwp-devices-section__card--link:hover .pilotwp-devices-section__button,
.pilotwp-devices-section__card--link:focus-visible .pilotwp-devices-section__button {
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
    transform: translateY(-1px);
}

.pilotwp-devices-section__card--link:active .pilotwp-devices-section__button {
    transform: scale(0.96);
}

/* ── TV Mockup ── */

.pilotwp-devices-section__tv-mockup {
    display: block;
    height: 230px;
    pointer-events: none;
    position: absolute;
    right: 40px;
    top: -4px;
    width: 307px;
}

.pilotwp-devices-section__tv-mockup img {
    display: block !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain !important;
    width: 100% !important;
}

/* ── Phone Mockup ── */

.pilotwp-devices-section__phone-mockup {
    display: block;
    height: 238px;
    right: -40px;
    pointer-events: none;
    position: absolute;
    bottom: -80px;
    width: 232px;
}

.pilotwp-devices-section__phone-mockup img {
    display: block !important;
    height: auto !important;
    max-width: none !important;
    width: 100% !important;
}

/* ============================================================
   RESPONSIVE — hybryda: container queries dla zachowania kart,
   viewport queries dla układu globalnego (sekcja, grid, glow).
   ============================================================ */

/* ── Globalne: spacing sekcji na małych ekranach ── */

@media (max-width: 767.98px) {
    .pilotwp-devices-section {
        padding-bottom: 32px;
        padding-top: 32px;
    }

    /* Glow łagodniejsze i wycentrowane */
    .pilotwp-devices-section__card--tv .pilotwp-devices-section__glow {
        bottom: -600px;
        height: 700px;
        left: 50%;
        width: 700px;
    }

    .pilotwp-devices-section__card--phone .pilotwp-devices-section__glow {
        height: 400px;
        left: 50%;
        width: 400px;
    }
}

/* ── Globalne: ukryj mockupy gdy karta zajmuje pełną szerokość (brak grid 6-col) ── */

@media (max-width: 991.98px) {
    .pilotwp-devices-section__tv-mockup {
        display: none !important;
    }
}

/* ============================================================
   TV CARD — container queries
   ============================================================ */

/* Szeroka karta TV (układ docelowy ~870px+, viewport ≥1440px): mockup w docelowej pozycji, space-between */
@container ds-tv-card (min-width: 870px) {
    .pilotwp-devices-section__card--tv .pilotwp-devices-section__inner {
        justify-content: space-between;
    }

    .pilotwp-devices-section__card--tv .pilotwp-devices-section__tv-logos {
        max-width: 480px;
    }

    .pilotwp-devices-section__card--tv .pilotwp-devices-section__tv-mockup {
        top: 20px;
    }
}

/* Karta TV ~785–869px (viewport 1280–1439px): trochę mniejszy mockup, węższe logos, space-between */
@container ds-tv-card (min-width: 785px) and (max-width: 869.98px) {
    .pilotwp-devices-section__card--tv .pilotwp-devices-section__inner {
        justify-content: space-between;
    }

    .pilotwp-devices-section__card--tv .pilotwp-devices-section__tv-mockup {
        height: 200px;
        right: 24px;
        top: 50%;
        transform: translateY(-50%);
        width: 260px;
    }

    .pilotwp-devices-section__card--tv .pilotwp-devices-section__tv-logos {
        max-width: 420px;
    }
}

/* Karta TV ~600–784px (viewport 992–1279px): mockup mały, logos zwężone, nagłówek stackowany, space-between */
@container ds-tv-card (min-width: 600px) and (max-width: 784.98px) {
    .pilotwp-devices-section__card--tv .pilotwp-devices-section__inner {
        gap: 20px;
        justify-content: space-between;
        padding: 22px;
    }

    .pilotwp-devices-section__card--tv .pilotwp-devices-section__heading-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .pilotwp-devices-section__card--tv .pilotwp-devices-section__tv-logos {
        gap: 16px 4px;
        max-width: 320px;
    }

    .pilotwp-devices-section__card--tv .pilotwp-devices-section__logo-item {
        width: 72px;
    }

    .pilotwp-devices-section__card--tv .pilotwp-devices-section__tv-mockup {
        height: 170px;
        right: 16px;
        top: 50%;
        transform: translateY(-50%);
        width: 220px;
    }
}

/* Karta TV bez mockupu (full-width <992px): więcej oddechu wokół logos.
   Viewport query — dotyczy globalnego trybu "karty pełnej szerokości". */
@media (max-width: 991.98px) {
    .pilotwp-devices-section__card--tv .pilotwp-devices-section__inner {
        gap: 18px;
        justify-content: flex-start;
        padding: 24px;
    }

    .pilotwp-devices-section__card--tv .pilotwp-devices-section__tv-logos {
        gap: 20px 16px;
        justify-content: center;
        max-width: 100%;
    }
}

/* Karta TV wąska (<480px): układ pionowy, większy odstęp wokół logos, button full-width */
@container ds-tv-card (max-width: 479.98px) {
    .pilotwp-devices-section__card--tv .pilotwp-devices-section__inner {
        gap: 16px;
        padding: 24px 20px;
    }

    .pilotwp-devices-section__card--tv .pilotwp-devices-section__heading-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .pilotwp-devices-section__card--tv .pilotwp-devices-section__tv-logos {
        margin-block: 16px;
    }

    .pilotwp-devices-section__card--tv .pilotwp-devices-section__button {
        align-self: stretch !important;
        width: 100%;
    }
}

/* ============================================================
   PHONE CARD — container queries
   ============================================================ */

/* Karta phone szeroka (~430px+, viewport ≥1440px): mockup duży, układ docelowy */
@container ds-phone-card (min-width: 430px) {
    .pilotwp-devices-section__card--phone
        .pilotwp-devices-section__phone-mockup {
        bottom: -80px;
        height: 238px;
        right: -40px;
        width: 232px;
    }
}

/* Karta phone ~380–429px (viewport 1280–1439px): mockup mniejszy */
@container ds-phone-card (min-width: 380px) and (max-width: 429.98px) {
    .pilotwp-devices-section__card--phone
        .pilotwp-devices-section__phone-mockup {
        bottom: -60px;
        height: 210px;
        right: -30px;
        width: 200px;
    }

    .pilotwp-devices-section__card--phone
        .pilotwp-devices-section__description {
        max-width: 260px !important;
    }
}

/* Karta phone ~280–379px (viewport 992–1279px): mockup bardzo mały, padding-right, nagłówek stackowany */
@container ds-phone-card (min-width: 280px) and (max-width: 379.98px) {
    .pilotwp-devices-section__card--phone .pilotwp-devices-section__inner {
        gap: 20px;
        padding: 22px;
        padding-right: 60px;
    }

    .pilotwp-devices-section__card--phone
        .pilotwp-devices-section__heading-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .pilotwp-devices-section__card--phone
        .pilotwp-devices-section__phone-mockup {
        bottom: -30px;
        height: 130px;
        right: -16px;
        width: 120px;
    }

    .pilotwp-devices-section__card--phone
        .pilotwp-devices-section__description {
        max-width: 100% !important;
    }
}

/* Karta phone bez mockupu (full-width <992px): standardowy padding.
   Viewport query — globalny tryb pełnej szerokości karty. */
@media (max-width: 991.98px) {
    .pilotwp-devices-section__card--phone .pilotwp-devices-section__inner {
        gap: 18px;
        justify-content: flex-start;
        padding: 24px;
    }

    .pilotwp-devices-section__card--phone
        .pilotwp-devices-section__phone-content {
        gap: 16px;
    }

    .pilotwp-devices-section__card--phone
        .pilotwp-devices-section__description {
        max-width: 100% !important;
    }
}

/* Karta phone bardzo wąska (<480px viewport): układ pionowy, button full-width, mockup ukryty.
   Viewport query — karta jest wtedy zawsze full-width, container query nie jest potrzebny
   i odpala się też na desktopie (phone card w gridzie ma ~430px). */
@media (max-width: 479.98px) {
    .pilotwp-devices-section__card--phone .pilotwp-devices-section__inner {
        gap: 20px;
        padding: 24px 20px;
    }

    .pilotwp-devices-section__card--phone
        .pilotwp-devices-section__phone-content {
        gap: 16px;
    }

    .pilotwp-devices-section__card--phone
        .pilotwp-devices-section__heading-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .pilotwp-devices-section__card--phone .pilotwp-devices-section__button {
        align-self: stretch !important;
        width: 100%;
    }

    .pilotwp-devices-section__card--phone
        .pilotwp-devices-section__phone-mockup {
        display: none !important;
    }
}

/* ============================================================
   SINGLE POST — layout
   ============================================================ */

/* Brak padding-left na kontenerze */
.single .pilotwp-devices-section__container {
    padding-left: 0;
}

/* 992–1279px: sekcje pod sobą (override globalnego grid) */
@media (min-width: 992px) and (max-width: 1279.98px) {
    .single .pilotwp-devices-section__grid {
        display: flex;
        flex-direction: column;
    }
}

/* 1280px+: grid 50/50 */
@media (min-width: 1280px) {
    .single .pilotwp-devices-section__grid {
        grid-template-columns: 1fr 1fr;
    }

    .single .pilotwp-devices-section__card--tv,
    .single .pilotwp-devices-section__card--phone {
        grid-column: auto;
    }
}

/* TV mockup: ukryj na wpisach */
.single .pilotwp-devices-section__tv-mockup {
    display: none !important;
}

/* Phone mockup: większy w kontekście single (karta ~430px+) */
@container ds-phone-card (min-width: 430px) {
    .single .pilotwp-devices-section__card--phone
        .pilotwp-devices-section__phone-mockup {
        bottom: -100px;
        height: 290px;
        right: -50px;
        width: 280px;
    }
}
