/* ========================================
   LASER STUDIO — MANROPE TYPOGRAPHY
   ======================================== */

/* Load Manrope from Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

/* Global font */
body,
body p,
body a,
body li,
body span,
body button,
body input,
body textarea,
body select,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .wp-block-button__link,
body .wp-element-button {
    font-family: 'Manrope', sans-serif !important;
}

/* ========================================
   LASER STUDIO — TYPOGRAPHY SYSTEM
   ======================================== */

/* Base */
body {
    font-family: 'Manrope', sans-serif !important;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
}

/* Headings */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
    letter-spacing: -0.02em;
}

.entry-content h1 {
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 700;
    line-height: 1.15;
}

.entry-content h2 {
    font-size: var(--ls-section-heading-size);
    font-weight: var(--ls-section-heading-weight);
    line-height: var(--ls-section-heading-line-height);
    color: var(--ls-section-heading-color);
}

.entry-content h3 {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;
}

.entry-content h4 {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
}

/* Paragraphs */
.entry-content p {
    line-height: 1.65;
}

/* Text links */
.entry-content a:not(.wp-block-button__link) {
    text-underline-offset: 3px;
}

/* Buttons — typography only */
.wp-block-button .wp-block-button__link {
    font-family: 'Manrope', sans-serif !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
}

/* Navigation — typography only */
.main-navigation a {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 600;
}

/* Mobile typography */
@media (max-width: 768px) {
    body {
        font-size: 16px;
    }

    .entry-content h3 {
        font-size: 21px;
    }

    .entry-content h4 {
        font-size: 18px;
    }
}


/* ========================================
   LASER STUDIO — GLOBAL STYLES
   ======================================== */

:root {
    --ls-yellow: #F5D024;
    --ls-admiral: #023F5B;
    --ls-sea-blue: #689CC5;
    --ls-white: #FFFFFF;
    --ls-light-blue: #EEF8FE;

    /* Dodatkowe kolory — do wykorzystania w kolejnych zmianach.
       Nie nadpisują żadnych istniejących stylów. */
    --ls-text-muted: #455D6D;
    --ls-text-helper: #687C8D;
    --ls-text-on-dark-muted: #E2EFF7;
    --ls-border: #D6E3EB;
    --ls-border-soft: #E4EBF0;
    --ls-surface-hover: #F8FBFD;
    --ls-surface-subtle: #F2F7FA;
    --ls-content-width: 900px;

    /* Etap 3 — rytm sekcji i odstepy naglowkow. */
    --ls-section-space: 48px;
    --ls-section-space-mobile: 40px;
    --ls-heading-content-gap: 28px;
    --ls-content-gutter-mobile: 16px;

    /* Wspólne detale powierzchni i kart (etap 2). */
    --ls-card-radius: 8px;
    --ls-card-border-hover: var(--ls-sea-blue);
    --ls-shadow-card: 0 2px 8px rgba(2, 63, 91, 0.04);
    --ls-shadow-card-hover: 0 8px 20px rgba(2, 63, 91, 0.10);
    --ls-shadow-image: 0 6px 20px rgba(2, 63, 91, 0.12);
    --ls-shadow-cover-hover: 0 10px 24px rgba(2, 63, 91, 0.14);

    /* Naglowki sekcji — wspolna typografia */
    --ls-section-heading-color: var(--ls-admiral);
    --ls-section-heading-on-dark: var(--ls-white);
    --ls-section-heading-size: clamp(27px, 3vw, 36px);
    --ls-section-heading-weight: 700;
    --ls-section-heading-line-height: 1.2;
    --ls-section-heading-tracking: -0.02em;
}

/* Logo: pozostaje styl motywu WordPress */

/* Links */
a {
    color: var(--ls-admiral);
    text-decoration: none;
}

.entry-content a {
    text-decoration: none;
}

/* Page template */
.page-template-panel-page .hentry.has-post-thumbnail {
    text-shadow: none;
}


/* ========================================
   BUTTONS — BASE STYLES
   ======================================== */

/* Default button = Primary */
.wp-block-button .wp-block-button__link {
    box-sizing: border-box;
    background: var(--ls-yellow) !important;
    color: var(--ls-admiral) !important;
    border: 2px solid var(--ls-yellow) !important;
    border-radius: 6px;
    padding: 0.667em 1.33em;
    font-weight: 600;
    text-decoration: none !important;
	 text-transform: none !important;
    letter-spacing: normal !important;
    transition: background-color 0.2s ease,
                color 0.2s ease,
                border-color 0.2s ease;
}

/* Default hover */
.wp-block-button .wp-block-button__link:hover {
    background: var(--ls-admiral) !important;
    color: var(--ls-white) !important;
    border-color: var(--ls-admiral) !important;
}


/* ========================================
   PRIMARY BUTTON
   Class: btn-primary
   ======================================== */

.wp-block-button.btn-primary .wp-block-button__link {
    background: var(--ls-yellow) !important;
    color: var(--ls-admiral) !important;
    border-color: var(--ls-yellow) !important;
}

.wp-block-button.btn-primary .wp-block-button__link:hover {
    background: var(--ls-admiral) !important;
    color: var(--ls-white) !important;
    border-color: var(--ls-admiral) !important;
}


/* ========================================
   SECONDARY BUTTON
   Class: btn-secondary
   ======================================== */

.wp-block-button.btn-secondary .wp-block-button__link {
    background: var(--ls-white) !important;
    color: var(--ls-admiral) !important;
    border-color: var(--ls-admiral) !important;
}

.wp-block-button.btn-secondary .wp-block-button__link:hover {
    background: var(--ls-admiral) !important;
    color: var(--ls-white) !important;
    border-color: var(--ls-admiral) !important;
}


/* ========================================
   TERTIARY BUTTON
   Class: btn-tertiary
   ======================================== */

.wp-block-button.btn-tertiary .wp-block-button__link {
    background: transparent !important;
    color: var(--ls-admiral) !important;
    border: 2px solid transparent !important;
    text-decoration: underline !important;
    text-underline-offset: 4px;
    padding: 0;
}

.wp-block-button.btn-tertiary .wp-block-button__link:hover {
    background: transparent !important;
    color: var(--ls-sea-blue) !important;
    border-color: transparent !important;
}


/* ========================================
   ACCESSIBILITY
   ======================================== */

/* Keyboard focus */
.wp-block-button .wp-block-button__link:focus-visible {
    outline: 3px solid var(--ls-sea-blue);
    outline-offset: 3px;
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    .wp-block-button .wp-block-button__link {
        transition: none;
    }
}






/* LASER STUDIO — HEADER PRIMARY CTA */

/* Default */
#menu-item-3660 > a {
    display: inline-block;
    box-sizing: border-box;
    background: var(--ls-yellow, #F5D024) !important;
    color: var(--ls-admiral, #023F5B) !important;
    border: 2px solid transparent !important;
    border-radius: 6px;
    padding: 8px 14px !important;
    font-family: inherit;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.4;
    text-decoration: none !important;
    transition: background-color 0.2s ease,
                color 0.2s ease;
}

/* Hover */
#menu-item-3660 > a:hover {
    background: var(--ls-admiral, #023F5B) !important;
    color: var(--ls-white, #FFFFFF) !important;
}

/* Keyboard focus */
#menu-item-3660 > a:focus-visible {
    outline: 2px solid var(--ls-sea-blue, #689CC5);
    outline-offset: 3px;
}


/* ==========================================
   LASER STUDIO — TABLE PREMIUM
   Class: ls-table
   ========================================== */

/* Kontener tabeli */
.entry-content .ls-table {
    box-sizing: border-box;
    width: 100%;
    margin: 24px 0;

    background: var(--ls-white, #FFFFFF);
    border: 1px solid var(--ls-border, #D6E3EB);
    border-radius: var(--ls-card-radius);
    overflow: hidden;
}

/* Tabela */
.entry-content .ls-table table {
    width: 100%;
    margin: 0;
    border: none;
    border-collapse: collapse;
    table-layout: auto;

    font-family: 'Manrope', sans-serif;
    font-size: 15px;
    line-height: 1.65;
}

/* Wszystkie komórki */
.entry-content .ls-table th,
.entry-content .ls-table td {
    box-sizing: border-box;
    padding: 18px 20px;

    background: var(--ls-white, #FFFFFF) !important;
    border: none !important;
    border-bottom: 1px solid var(--ls-border-soft, #E4EBF0) !important;

    color: var(--ls-text-muted, #455D6D);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.65;
    text-align: left;
    vertical-align: middle;
    overflow-wrap: break-word;
}

/* Pierwsza kolumna — etykiety */
.entry-content .ls-table
:is(th, td):first-child {
    width: 34%;
    color: var(--ls-admiral, #023F5B);
    font-weight: 600;
}

/* Druga kolumna — wartości */
.entry-content .ls-table
:is(th, td):nth-child(2) {
    width: 66%;
}

/* Ostatni wiersz bez separatora */
.entry-content .ls-table
tr:last-child > :is(th, td) {
    border-bottom: none !important;
}

/* Delikatny hover wierszy */
@media (hover: hover) {
    .entry-content .ls-table
    tbody tr:hover > :is(th, td) {
        background: var(--ls-surface-hover, #F8FBFD) !important;
    }
}

/* Linki */
.entry-content .ls-table a {
    color: var(--ls-admiral, #023F5B);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Tablet */
@media (max-width: 768px) {
    .entry-content .ls-table
    :is(th, td) {
        padding: 14px 16px;
        font-size: 14px;
    }

    .entry-content .ls-table
    :is(th, td):first-child {
        width: 38%;
    }
}

/* Małe telefony */
@media (max-width: 480px) {
    .entry-content .ls-table
    :is(th, td) {
        padding: 12px 10px;
        font-size: 13px;
        line-height: 1.5;
    }

    .entry-content .ls-table
    :is(th, td):first-child {
        width: 40%;
    }
}



/* =========================================
   LASER STUDIO — WPFORMS
   Class: ls-form
   ========================================= */

/* Formularz */
div.wpforms-container.ls-form {
    max-width: 760px;
    width: 100%;
    margin: 24px 0 !important;
    font-family: 'Manrope', sans-serif;
}

/* Odstępy między polami */
div.wpforms-container.ls-form
.wpforms-form .wpforms-field {
    padding: 0 !important;
    margin-bottom: 22px !important;
}

/* Etykiety */
div.wpforms-container.ls-form
.wpforms-form .wpforms-field-label {
    display: block;
    font-family: 'Manrope', sans-serif;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.5;
    color: var(--ls-admiral);
    margin-bottom: 8px !important;
}

/* Tekst pomocniczy */
div.wpforms-container.ls-form
.wpforms-form .wpforms-field-description,
div.wpforms-container.ls-form
.wpforms-form .wpforms-field-sublabel {
    font-size: 13px !important;
    line-height: 1.5;
    color: var(--ls-text-helper, #687C8D) !important;
    margin-top: 6px !important;
}

/* Pola tekstowe, listy i textarea */
div.wpforms-container.ls-form
.wpforms-form input:not(
    [type="checkbox"]
):not([type="radio"]):not([type="submit"]),
div.wpforms-container.ls-form
.wpforms-form select,
div.wpforms-container.ls-form
.wpforms-form textarea {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px;
    padding: 11px 14px !important;

    background: var(--ls-white, #FFFFFF) !important;
    border: 1px solid #C9D8E2 !important;
    border-radius: 6px !important;

    color: #243746 !important;
    font-family: 'Manrope', sans-serif;
    font-size: 15px !important;
    font-weight: 400;
    line-height: 1.5;

    box-shadow: none !important;
    transition: border-color .2s ease,
                box-shadow .2s ease;
}

/* Tekst wielowierszowy */
div.wpforms-container.ls-form
.wpforms-form textarea {
    min-height: 130px;
    resize: vertical;
}

/* Placeholder */
div.wpforms-container.ls-form
.wpforms-form input::placeholder,
div.wpforms-container.ls-form
.wpforms-form textarea::placeholder {
    color: #8494A1;
    opacity: 1;
}

/* Hover pól */
div.wpforms-container.ls-form
.wpforms-form input:hover,
div.wpforms-container.ls-form
.wpforms-form select:hover,
div.wpforms-container.ls-form
.wpforms-form textarea:hover {
    border-color: var(--ls-sea-blue) !important;
}

/* Focus */
div.wpforms-container.ls-form
.wpforms-form input:focus,
div.wpforms-container.ls-form
.wpforms-form select:focus,
div.wpforms-container.ls-form
.wpforms-form textarea:focus {
    border-color: var(--ls-admiral) !important;
    box-shadow: 0 0 0 3px rgba(104,156,197,.22)
        !important;
    outline: none !important;
}

/* Pola obowiązkowe */
div.wpforms-container.ls-form
.wpforms-form .wpforms-required-label {
    color: #BB3441 !important;
    font-weight: 600;
}

/* Checkbox i radio */
div.wpforms-container.ls-form
.wpforms-form input[type="checkbox"],
div.wpforms-container.ls-form
.wpforms-form input[type="radio"] {
    accent-color: var(--ls-admiral);
}

/* Błędy walidacji */
div.wpforms-container.ls-form
.wpforms-form label.wpforms-error {
    color: #B42332 !important;
    font-size: 13px !important;
}

/* =========================================
   PRIMARY SUBMIT BUTTON
   ========================================= */

div.wpforms-container.ls-form
.wpforms-form button[type="submit"],
div.wpforms-container.ls-form
.wpforms-form input[type="submit"],
button.ls-form-submit,
input.ls-form-submit {
    box-sizing: border-box;
    width: auto !important;
    min-height: 46px;
    padding: 0.667em 1.33em !important;

    background: var(--ls-yellow) !important;
    color: var(--ls-admiral) !important;
    border: 2px solid var(--ls-yellow) !important;
    border-radius: 6px !important;

    font-family: 'Manrope', sans-serif;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4;
    text-transform: none !important;
    letter-spacing: normal !important;

    cursor: pointer;
    box-shadow: none !important;

    transition: background-color .2s ease,
                color .2s ease,
                border-color .2s ease;
}

/* Hover primary */
div.wpforms-container.ls-form
.wpforms-form button[type="submit"]:hover,
div.wpforms-container.ls-form
.wpforms-form input[type="submit"]:hover,
button.ls-form-submit:hover,
input.ls-form-submit:hover {
    background: var(--ls-admiral) !important;
    color: var(--ls-white, #FFFFFF) !important;
    border-color: var(--ls-admiral) !important;
}

/* Focus dla klawiatury */
div.wpforms-container.ls-form
.wpforms-form button[type="submit"]:focus-visible,
div.wpforms-container.ls-form
.wpforms-form input[type="submit"]:focus-visible {
    outline: 3px solid var(--ls-sea-blue);
    outline-offset: 3px;
}

/* Mobile */
@media (max-width: 768px) {
    div.wpforms-container.ls-form {
        max-width: 100%;
    }

    div.wpforms-container.ls-form
    .wpforms-form .wpforms-field {
        margin-bottom: 18px !important;
    }

    div.wpforms-container.ls-form
    .wpforms-form .wpforms-field-label {
        font-size: 14px !important;
    }

    div.wpforms-container.ls-form
    .wpforms-form input:not(
        [type="checkbox"]
    ):not([type="radio"]):not([type="submit"]),
    div.wpforms-container.ls-form
    .wpforms-form select,
    div.wpforms-container.ls-form
    .wpforms-form textarea {
        font-size: 16px !important;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    div.wpforms-container.ls-form * {
        transition: none !important;
    }
}



/* ==========================================
   LASER STUDIO — CARD SYSTEM
   Products / Solutions / Services
   ========================================== */

/* USTAWIENIA — tutaj regulujesz przyciemnienie */

.entry-content .ls-card-grid {
    --ls-card-overlay: 0.68;
    --ls-card-overlay-hover: 0.58;
}

/*
  0.60 = jaśniejsze zdjęcie
  0.68 = rekomendowane
  0.75 = ciemniejsze zdjęcie

  Hover powinien być ok. 0.10 niższy.
*/


/* ==========================================
   1. UKŁAD KART
   ========================================== */

.entry-content .ls-card-grid .wp-block-columns {
    gap: 24px !important;
}

.entry-content .ls-card-grid .wp-block-cover {
    position: relative;
    box-sizing: border-box;
    border-radius: var(--ls-card-radius);
    overflow: hidden;
    padding: 28px !important;
    isolation: isolate;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


/* ==========================================
   2. ZDJĘCIE I PRZYCIEMNIENIE
   ========================================== */

/* Zdjęcie */
.entry-content .ls-card-grid
.wp-block-cover__image-background {
    object-fit: cover;
    transition: transform 0.4s ease;
}

/* Nakładka — stan domyślny */
.entry-content .ls-card-grid
.wp-block-cover__background {
    background: #102436 !important;
    opacity: var(--ls-card-overlay) !important;
    transition: opacity 0.25s ease;
}


/* ==========================================
   3. TREŚĆ KARTY
   ========================================== */

.entry-content .ls-card-grid
.wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
    width: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 16px;
    text-align: center;
}

/* Usunięcie domyślnych marginesów */
.entry-content .ls-card-grid
.wp-block-cover__inner-container > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Nagłówki */
.entry-content .ls-card-grid
.wp-block-cover h2,
.entry-content .ls-card-grid
.wp-block-cover h3 {
    color: var(--ls-white, #FFFFFF) !important;
    font-family: 'Manrope', sans-serif;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
    text-align: center;
    text-wrap: balance;
    text-shadow: 0 1px 3px rgba(0,0,0,0.25);
}

/* Opisy */
.entry-content .ls-card-grid
.wp-block-cover p {
    color: var(--ls-white, #FFFFFF) !important;
    font-size: 14px;
    line-height: 1.6;
    text-align: center;
    max-width: 34ch;
}


/* ==========================================
   4. PRZYCISKI — SECONDARY
   ========================================== */

.entry-content .ls-card-grid
.wp-block-button__link {
    background: var(--ls-white, #FFFFFF) !important;
    color: var(--ls-admiral, #023F5B) !important;
    border: 2px solid var(--ls-admiral, #023F5B) !important;
    border-radius: 6px !important;

    padding: 10px 18px !important;
    font-family: 'Manrope', sans-serif;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4;
    text-transform: none !important;
    text-decoration: none !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

/* Hover przycisku */
.entry-content .ls-card-grid
.wp-block-button__link:hover {
    background: var(--ls-yellow, #F5D024) !important;
    border-color: var(--ls-yellow, #F5D024) !important;
    color: var(--ls-admiral, #023F5B) !important;
}


/* ==========================================
   5. EFEKTY HOVER KART
   ========================================== */

@media (hover: hover) {

    /* Delikatne uniesienie */
    .entry-content .ls-card-grid
    .wp-block-cover:hover {
        transform: translateY(-3px);
        box-shadow: var(--ls-shadow-cover-hover);
    }

    /* Rozjaśnienie zdjęcia */
    .entry-content .ls-card-grid
    .wp-block-cover:hover
    .wp-block-cover__background {
        opacity: var(--ls-card-overlay-hover) !important;
    }

    /* Powiększenie zdjęcia */
    .entry-content .ls-card-grid
    .wp-block-cover:hover
    .wp-block-cover__image-background {
        transform: scale(1.025);
    }
}


/* ==========================================
   6. WARIANT — PRODUKTY
   ========================================== */

.entry-content .ls-cards-products
.wp-block-cover {
    min-height: 300px;
}

.entry-content .ls-cards-products
.wp-block-cover h2,
.entry-content .ls-cards-products
.wp-block-cover h3 {
    font-size: 22px;
}


/* ==========================================
   7. WARIANT — ROZWIĄZANIA
   ========================================== */

.entry-content .ls-cards-solutions
.wp-block-cover {
    min-height: 360px;
}

.entry-content .ls-cards-solutions
.wp-block-cover h2,
.entry-content .ls-cards-solutions
.wp-block-cover h3 {
    font-size: 25px;
}

.entry-content .ls-cards-solutions
.wp-block-cover p {
    max-width: 42ch;
    font-size: 15px;
}


/* ==========================================
   8. WARIANT — USŁUGI
   ========================================== */

.entry-content .ls-cards-services
.wp-block-cover {
    min-height: 330px;
}

.entry-content .ls-cards-services
.wp-block-cover h2,
.entry-content .ls-cards-services
.wp-block-cover h3 {
    font-size: 23px;
}


/* ==========================================
   9. RESPONSIVE
   ========================================== */

@media (max-width: 768px) {

    .entry-content .ls-card-grid
    .wp-block-columns {
        gap: 16px !important;
    }

    .entry-content .ls-card-grid
    .wp-block-cover {
        min-height: 260px;
        padding: 24px !important;
    }

    .entry-content .ls-card-grid
    .wp-block-cover h2,
    .entry-content .ls-card-grid
    .wp-block-cover h3 {
        font-size: 21px;
    }

    .entry-content .ls-card-grid
    .wp-block-cover p {
        font-size: 14px;
    }
}


/* ==========================================
   10. ACCESSIBILITY
   ========================================== */

.entry-content .ls-card-grid
.wp-block-button__link:focus-visible {
    outline: 3px solid var(--ls-sea-blue, #689CC5);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {

    .entry-content .ls-card-grid
    .wp-block-cover,
    .entry-content .ls-card-grid
    .wp-block-cover__background,
    .entry-content .ls-card-grid
    .wp-block-cover__image-background {
        transition: none !important;
        transform: none !important;
    }
}



/* ========================================
   LASER STUDIO — HOME HERO
   Target: #post-323
   ======================================== */

/* Kontener */
article#post-323 {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

/* Przyciemnienie zdjęcia */
article#post-323::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;

    background: rgba(2, 25, 39, 0.40) !important;
    opacity: 1 !important;

    pointer-events: none;
    transition: background-color 0.3s ease;
}

/* Treść nad nakładką */
article#post-323 .entry-wrapper {
    position: relative;
    z-index: 2;
}

/* Nagłówek */
article#post-323 h1 {
    color: var(--ls-white, #FFFFFF) !important;
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    max-width: 780px;
    text-align: left;
}

/* Tekst */
article#post-323 .entry-wrapper p {
    color: var(--ls-white, #FFFFFF) !important;
    font-size: 17px;
    line-height: 1.65;
    text-align: left;
}

/* Hover — delikatne rozjaśnienie */
@media (hover: hover) {
    article#post-323:hover::before {
        background: rgba(2, 25, 39, 0.35) !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    article#post-323 h1 {
        font-size: clamp(30px, 7vw, 38px);
    }

    article#post-323 .entry-wrapper p {
        font-size: 16px;
    }
}

/* Ograniczenie animacji */
@media (prefers-reduced-motion: reduce) {
    article#post-323::before {
        transition: none;
    }
}






/* ==========================================
   LASER STUDIO — SECTION NAV
   Minimal Text Navigation — FINAL
   Class: ls-section-nav
   ========================================== */

/* 1. KONTENER NAWIGACJI */

.entry-content .ls-section-nav {
    position: relative;
    isolation: isolate;
    box-sizing: border-box;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100%;
    max-width: var(--ls-content-width, 900px);

    gap: 8px 26px !important;
    padding: 18px 0 !important;

    margin: 0 auto !important;
    min-height: 0 !important;

    background: var(--ls-white, #FFFFFF) !important;
    border: none !important;
}

/* 2. LINIE NA PEŁNĄ SZEROKOŚĆ */

.entry-content .ls-section-nav::before,
.entry-content .ls-section-nav::after {
    content: "";
    position: absolute;
    left: 50%;

    width: 100vw;
    height: 1px;

    background: var(--ls-sea-blue, #689CC5);
    transform: translateX(-50%);
    pointer-events: none;
}

.entry-content .ls-section-nav::before {
    top: 0;
}

.entry-content .ls-section-nav::after {
    bottom: 0;
}

/* 3. KONTENERY PRZYCISKÓW GUTENBERGA */

.entry-content .ls-section-nav .wp-block-buttons {
    display: flex !important;
    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
}

.entry-content .ls-section-nav .wp-block-button {
    margin: 0 !important;
    padding: 0 !important;
}

/* 4. LINKI — BEZ WYGLĄDU PRZYCISKÓW */

.entry-content .ls-section-nav
.wp-block-button .wp-block-button__link {
    display: inline-block;

    background: transparent !important;
    color: var(--ls-admiral, #023F5B) !important;

    border: 0 !important;
    border-radius: 0 !important;

    padding: 6px 2px !important;

    font-family: 'Manrope', sans-serif;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.5;

    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    white-space: nowrap;

    box-shadow: none !important;

    transition: color .2s ease;
}

/* 5. HOVER */

@media (hover: hover) {
    .entry-content .ls-section-nav
    .wp-block-button .wp-block-button__link:hover {
        background: transparent !important;
        color: #417FA5 !important;
        border: 0 !important;

        text-decoration: underline !important;
        text-decoration-thickness: 1px !important;
        text-underline-offset: 6px;
    }
}

/* 6. FOCUS KLAWIATURY */

.entry-content .ls-section-nav
.wp-block-button .wp-block-button__link:focus-visible {
    outline: 2px solid var(--ls-sea-blue, #689CC5);
    outline-offset: 4px;
    border-radius: 2px !important;
}

/* 7. TABLET I MOBILE */

@media (max-width: 768px) {
    .entry-content .ls-section-nav {
        gap: 6px 16px !important;
        padding: 12px 16px !important;
    }

    .entry-content .ls-section-nav
    .wp-block-button .wp-block-button__link {
        font-size: 13px !important;
        padding: 6px 0 !important;
        white-space: normal;
    }
}

/* 8. OGRANICZENIE ANIMACJI */

@media (prefers-reduced-motion: reduce) {
    .entry-content .ls-section-nav
    .wp-block-button .wp-block-button__link {
        transition: none !important;
    }
}

/* ==========================================
   LASER STUDIO — SOLUTION HERO v2
   Desktop + Mobile
   ========================================== */

/* Układ kolumn */
.entry-content .ls-solution-hero.wp-block-columns {
    align-items: center !important;
    gap: 48px !important;

}

/* Kolumny bez dodatkowych ograniczeń */
.entry-content .ls-solution-hero > .wp-block-column {
    min-width: 0;
}


/* Kontener — bez ramki i cienia */
.entry-content .ls-solution-hero
.wp-block-image {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
    padding: 40px 0 40px !important;
}



/* Zdjęcie — zaokrąglenie i cień */
.entry-content .ls-solution-hero
.wp-block-image img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;

    border-radius: var(--ls-card-radius) !important;
    box-shadow: var(--ls-shadow-image);

    transition: transform 0.4s ease;
}


/* Hover */
@media (hover: hover) {
    .entry-content .ls-solution-hero
    .wp-block-image:hover img {
        transform: scale(1.02);
    }
}

/* Odstępy tekstu */
.entry-content .ls-solution-hero h2 {
    margin-bottom: 20px;
}

.entry-content .ls-solution-hero p {
    margin-bottom: 24px;
}

/* Przyciski */
.entry-content .ls-solution-hero .wp-block-buttons {
    gap: 8px !important;
}

/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 768px) {

    .entry-content .ls-solution-hero.wp-block-columns {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 28px !important;
    }

    /* Obie kolumny zajmują pełną szerokość */
    .entry-content .ls-solution-hero > .wp-block-column {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Zdjęcie wyrównane do kontenera */
    .entry-content .ls-solution-hero .wp-block-image {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    .entry-content .ls-solution-hero .wp-block-image img {
        width: 100% !important;
        height: auto;
    }

    /* Przyciski — układ pionowy */
    .entry-content .ls-solution-hero .wp-block-buttons {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }
}

/* ==========================================
   ACCESSIBILITY
   ========================================== */

@media (prefers-reduced-motion: reduce) {
    .entry-content .ls-solution-hero
    .wp-block-image img {
        transition: none !important;
        transform: none !important;
    }
}

/* ==========================================
   LASER STUDIO — SOLUTION PRODUCT CARDS
   Class: ls-solution-products
   ========================================== */

/* Siatka */
.ls-solution-products {
    padding: var(--ls-section-space) 0 !important;
}

.entry-content .ls-solution-products
.wp-block-columns {
    gap: 24px !important;
    align-items: stretch !important;

}

/* Kolumny */
.entry-content .ls-solution-products
.wp-block-column {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

/* Pojedyncza karta */
.entry-content .ls-solution-products
.wp-block-column > .wp-block-group {
    display: flex;
    flex-direction: column;
    flex: 1;

    background: var(--ls-white, #FFFFFF) !important;
    border: 1px solid var(--ls-border, #D6E3EB);
    border-radius: var(--ls-card-radius);
    overflow: hidden;

    padding: 0 !important;
    box-shadow: var(--ls-shadow-card);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

/* Zdjęcie */
.entry-content .ls-solution-products
.wp-block-column > .wp-block-group
.wp-block-image {
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
}

.entry-content .ls-solution-products
.wp-block-column > .wp-block-group
.wp-block-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;

    transition: transform .4s ease;
}

/* Tytuły kart */
.entry-content .ls-solution-products
.wp-block-column > .wp-block-group h3 {
    color: var(--ls-admiral, #023F5B) !important;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;

    margin: 20px 20px 8px !important;
}

/* Opisy */
.entry-content .ls-solution-products
.wp-block-column > .wp-block-group p {
    color: var(--ls-text-muted, #455D6D) !important;
    font-size: 15px;
    line-height: 1.6;

    margin: 0 20px 24px !important;
}

/* Hover */
@media (hover: hover) {

    .entry-content .ls-solution-products
    .wp-block-column > .wp-block-group:hover {
        transform: translateY(-3px);
        border-color: var(--ls-card-border-hover);
        box-shadow: var(--ls-shadow-card-hover);
    }

    .entry-content .ls-solution-products
    .wp-block-column > .wp-block-group:hover
    .wp-block-image img {
        transform: scale(1.025);
    }
}

/* Mobile */
@media (max-width: 768px) {
    .entry-content .ls-solution-products
    .wp-block-columns {
        gap: 16px !important;
    }

    .entry-content .ls-solution-products
    .wp-block-column > .wp-block-group h3 {
        font-size: 19px;
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .entry-content .ls-solution-products
    .wp-block-column > .wp-block-group,
    .entry-content .ls-solution-products
    .wp-block-image img {
        transition: none !important;
        transform: none !important;
    }
}

/* LASER STUDIO — LINKED PRODUCT TITLES */

.entry-content .ls-solution-products h3 a {
    color: var(--ls-admiral, #023F5B) !important;
    text-decoration: none !important;
    text-underline-offset: 4px;
    transition: color .2s ease;
}

.entry-content .ls-solution-products h3 a:hover {
    color: #417FA5 !important;
    text-decoration: underline !important;
}

.entry-content .ls-solution-products h3 a:focus-visible {
    outline: 3px solid var(--ls-sea-blue, #689CC5);
    outline-offset: 3px;
    border-radius: 2px;
}

/* ==========================================
   LASER STUDIO — SOLUTION BENEFITS
   Class: ls-solution-benefits
   ========================================== */

/* Sekcja */


.entry-content .ls-solution-benefits {
    --ls-benefits-border: #D6E3EB;
    --ls-benefits-accent: #689CC5;
    --ls-benefits-text: #023F5B;

    
}


/* Układ czterech kart */
.entry-content .ls-solution-benefits
.wp-block-columns {
    gap: 24px !important;
    align-items: stretch !important;
}

/* Kolumny */
.entry-content .ls-solution-benefits
.wp-block-column {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* Karta — gdy zawartość jest w Grupie */
.entry-content .ls-solution-benefits
.wp-block-column > .wp-block-group {
    display: flex;
    flex-direction: column;
    flex: 1;

    background: var(--ls-white, #FFFFFF) !important;
    border: 1px solid var(--ls-benefits-border);
    border-top: 3px solid var(--ls-benefits-accent);
    border-radius: var(--ls-card-radius);

    padding: 24px !important;
    box-shadow: var(--ls-shadow-card);
}

/* Nagłówki korzyści */
.entry-content .ls-solution-benefits
.wp-block-column h3,
.entry-content .ls-solution-benefits
.wp-block-column h4 {
    color: var(--ls-benefits-text) !important;
    font-family: 'Manrope', sans-serif;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.35;
    letter-spacing: -0.02em;

    margin: 0 0 12px !important;
}

/* Opisy */
.entry-content .ls-solution-benefits
.wp-block-column p {
    color: var(--ls-text-muted, #455D6D) !important;
    font-size: 15px !important;
    line-height: 1.6;

    margin: 0 !important;
}

/* Przycisk pod kartami */
.entry-content .ls-solution-benefits
.wp-block-buttons {
    margin-top: 20px;
}

/* Mobile */
@media (max-width: 768px) {
    .entry-content .ls-solution-benefits
    .wp-block-columns {
        gap: 16px !important;
    }

    .entry-content .ls-solution-benefits
    .wp-block-column > .wp-block-group {
        padding: 20px !important;
    }

    .entry-content .ls-solution-benefits
    .wp-block-column h3,
    .entry-content .ls-solution-benefits
    .wp-block-column h4 {
        font-size: 19px !important;
    }
}



/* ==========================================
   LASER STUDIO — PROCESS SECTION
   Class: ls-solution-process
   ========================================== */

.entry-content .ls-solution-process {
    --ls-process-navy: #023F5B;
    --ls-process-blue: #689CC5;
    --ls-process-text: #455D6D;

    box-sizing: border-box;
    width: 100%;
    max-width: none !important;

    padding: var(--ls-section-space) 0 !important;
    margin: 0 !important;

}

/* Główny kontener wewnętrzny */
.entry-content .ls-solution-process
.wp-block-cover__inner-container {
    box-sizing: border-box;
    width: 100% !important;
    max-width: var(--ls-content-width, 900px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Nagłówek sekcji */
.entry-content .ls-solution-process h2 {
    color: var(--ls-section-heading-color);
    font-size: var(--ls-section-heading-size);
    font-weight: var(--ls-section-heading-weight);
    line-height: var(--ls-section-heading-line-height);
    letter-spacing: var(--ls-section-heading-tracking);

    margin: 0 0 var(--ls-heading-content-gap) !important;
    text-align: left;
}

/* Cztery kolumny */
.entry-content .ls-solution-process
.wp-block-columns {
    display: flex;
    align-items: stretch !important;
    gap: 24px !important;

    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Pojedynczy etap */
.entry-content .ls-solution-process
.wp-block-column {
    flex: 1 1 0 !important;
    min-width: 0;
    padding: 0 !important;
    margin: 0 !important;

    text-align: left;
}

/* Wiersz numer + linia */
.entry-content .ls-solution-process
.wp-block-column > p:first-child {
    display: flex;
    align-items: center;
    gap: 12px;

    color: var(--ls-text-muted, #455D6D) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.4;

    margin: 0 0 14px !important;
    white-space: nowrap;
}


/* ==========================================
   LASER STUDIO — PROCESS PROGRESSION
   Jeden gradient rozłożony na cztery etapy
   ========================================== */

/* Krótsza, delikatniejsza linia */
.entry-content .ls-solution-process
.wp-block-column > p:first-child::after {
    content: "";
    display: block;
    width: clamp(90px, 55%, 180px);
    max-width: 180px;
    height: 1px;
    border-radius: 999px;

    background: linear-gradient(
        90deg,
        rgba(2, 63, 91, 0.95) 0%,
        rgba(104, 156, 197, 0.75) 45%,
        rgba(104, 156, 197, 0.18) 100%
    );
}

/* 01 — Zapytanie */
.entry-content .ls-solution-process
.wp-block-column:nth-child(1) {
    --ls-step-line: #023F5B;
}

/* 02 — Wycena */
.entry-content .ls-solution-process
.wp-block-column:nth-child(2) {
    --ls-step-line: #246684;
}

/* 03 — Produkcja */
.entry-content .ls-solution-process
.wp-block-column:nth-child(3) {
    --ls-step-line: #4785A5;
}

/* 04 — Dostawa */
.entry-content .ls-solution-process
.wp-block-column:nth-child(4) {
    --ls-step-line: #689CC5;
}


/* Tytuł kroku */
.entry-content .ls-solution-process
.wp-block-column h3 {
    color: var(--ls-process-navy) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.35;

    margin: 0 0 12px !important;
    text-align: left;
}

/* Opis kroku */
.entry-content .ls-solution-process
.wp-block-column p {
    color: var(--ls-process-text) !important;
    font-size: 15px !important;
    line-height: 1.6;
    text-align: left;

    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Linki w opisach */
.entry-content .ls-solution-process
.wp-block-column p a {
    color: var(--ls-process-navy);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Przycisk wyceny */
.entry-content .ls-solution-process
.wp-block-buttons {
    display: flex;
    justify-content: center;
    margin: 40px 0 0 !important;
}

/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 900px) {
    .entry-content .ls-solution-process
    .wp-block-columns {
        flex-wrap: wrap !important;
        gap: 28px 20px !important;
    }

    .entry-content .ls-solution-process
    .wp-block-column {
        flex: 0 0 calc(50% - 10px) !important;
    }
}

/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 600px) {
    .entry-content .ls-solution-process {
        padding: 40px 0 48px !important;
    }

    .entry-content .ls-solution-process
    .wp-block-columns {
        flex-direction: column !important;
        gap: 24px !important;
    }

    .entry-content .ls-solution-process
    .wp-block-column {
        flex: 1 1 auto !important;
        width: 100% !important;
        padding-top: 16px !important;
    }

    .entry-content .ls-solution-process h2 {
        margin-bottom: 28px !important;
    }

    .entry-content .ls-solution-process
    .wp-block-buttons {
        margin-top: 32px !important;
    }
	   .entry-content .ls-solution-process
    .wp-block-column > p:first-child {
        display: flex;
        align-items: center;
        width: 100%;
        gap: 12px;
    }

    .entry-content .ls-solution-process
    .wp-block-column > p:first-child::after {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0;

        height: 1px;
    }
}

/* LASER STUDIO — BENEFITS WIDTH FIX */

/* Tylko wewnętrzna Grupa, nie tło sekcji */
.entry-content .ls-benefits-container {
    box-sizing: border-box;
    width: min(100%, 900px) !important;
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Bezpieczne odstępy na telefonie */
@media (max-width: 768px) {
    .entry-content .ls-benefits-container {
        width: 100% !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}


/* ==========================================
   LASER STUDIO — SOLUTION FAQ
   Plus / Minus on Left
   Class: ls-solution-faq
   ========================================== */

/* 1. Sekcja */

.entry-content .ls-solution-faq {
    box-sizing: border-box;
    width: 100vw;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    
}

/* 2. Kontener */
.entry-content .ls-solution-faq
.wp-block-cover__inner-container {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--ls-content-width, 900px) !important;

    margin-left: auto !important;
    margin-right: auto !important;
    padding: var(--ls-section-space) 0 !important;
}

/* 3. Nagłówek */
.entry-content .ls-solution-faq h2 {
    color: var(--ls-section-heading-color) !important;
    font-size: var(--ls-section-heading-size);
    font-weight: var(--ls-section-heading-weight);
    line-height: var(--ls-section-heading-line-height);
    letter-spacing: var(--ls-section-heading-tracking);
    text-align: left;
    margin: 0 0 28px !important;
}

.entry-content .ls-solution-faq
.wp-block-cover__inner-container > .wp-block-group {
    width: 100%;
    max-width: none !important;
    margin-inline: 0 !important;
}
/* 4. Karta FAQ */
.entry-content .ls-solution-faq .wp-block-details {
    box-sizing: border-box;
    background: var(--ls-white, #FFFFFF);
    border: 1px solid var(--ls-border, #D6E3EB);
    border-radius: var(--ls-card-radius);
    margin: 0 0 12px !important;
    padding: 0 !important;
    overflow: hidden;
}

/* 5. Nagłówek pytania */
.entry-content .ls-solution-faq
.wp-block-details > summary {
    display: flex;
    align-items: center;
    gap: 14px;

    padding: 18px 20px;
    color: var(--ls-admiral, #023F5B) !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;

    cursor: pointer;
    list-style: none;
    transition: background-color .2s ease;
}

/* 6. Usunięcie natywnej strzałki */
.entry-content .ls-solution-faq
.wp-block-details > summary::-webkit-details-marker {
    display: none;
}

.entry-content .ls-solution-faq
.wp-block-details > summary::marker {
    content: "";
}

/* 7. Plus po lewej */
.entry-content .ls-solution-faq
.wp-block-details > summary::before {
    content: "+";
    flex: 0 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--ls-sea-blue, #689CC5);
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
}

/* 8. Minus po otwarciu */
.entry-content .ls-solution-faq
.wp-block-details[open] > summary::before {
    content: "−";
}

/* 9. Usunięcie wcześniejszego plusa po prawej */
.entry-content .ls-solution-faq
.wp-block-details > summary::after {
    content: none !important;
    display: none !important;
}

/* 10. Hover */
@media (hover: hover) {
    .entry-content .ls-solution-faq
    .wp-block-details > summary:hover {
        background: var(--ls-surface-subtle, #F2F7FA);
    }
}

/* 11. Otwarta karta */
.entry-content .ls-solution-faq
.wp-block-details[open] > summary {
    background: var(--ls-surface-hover, #F8FBFD);
    border-bottom: 1px solid #E3EDF3;
}

/* 12. Treść odpowiedzi */
.entry-content .ls-solution-faq
.wp-block-details > :not(summary) {
    box-sizing: border-box;
    color: var(--ls-text-muted, #455D6D);
    font-size: 15px;
    line-height: 1.65;

    margin: 0 20px 16px 52px !important;
}

/* Pierwszy element odpowiedzi */
.entry-content .ls-solution-faq
.wp-block-details > summary + * {
    margin-top: 18px !important;
}

/* Ostatni element */
.entry-content .ls-solution-faq
.wp-block-details > :last-child {
    margin-bottom: 22px !important;
}

/* 13. Listy w odpowiedziach */
.entry-content .ls-solution-faq
.wp-block-details ul,
.entry-content .ls-solution-faq
.wp-block-details ol {
    padding-left: 22px !important;
}

/* 14. Linki */
.entry-content .ls-solution-faq
.wp-block-details a:not(.wp-block-button__link) {
    color: var(--ls-admiral, #023F5B);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* 15. Przycisk w odpowiedzi */
.entry-content .ls-solution-faq
.wp-block-details .wp-block-buttons {
    display: flex;
    justify-content: flex-start;
    margin-top: 20px !important;
}

/* 16. Focus */
.entry-content .ls-solution-faq
.wp-block-details > summary:focus-visible {
    outline: 3px solid var(--ls-sea-blue, #689CC5);
    outline-offset: -3px;
}

/* 17. Mobile */
@media (max-width: 768px) {
    .entry-content .ls-solution-faq {
        padding: 40px 16px !important;
    }

    .entry-content .ls-solution-faq
    .wp-block-details > summary {
        padding: 16px;
        font-size: 15px;
        gap: 12px;
    }

    .entry-content .ls-solution-faq
    .wp-block-details > :not(summary) {
        margin-left: 46px !important;
        margin-right: 16px !important;
    }
}

/* 18. Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .entry-content .ls-solution-faq
    .wp-block-details > summary {
        transition: none;
    }
}


/* ==========================================
   LASER STUDIO — CONTACT CTA
   Shared Gutenberg Pattern
   ========================================== */


/* ==========================================
   LASER STUDIO — CONTACT WIDTH
   ========================================== */

/* LASER STUDIO — CONTACT CTA
   Pełna szerokość i przywrócenie gradientu */

.entry-content .ls-contact-cta {
    box-sizing: border-box;
    position: relative;
    isolation: isolate;

    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 64px 24px !important;

   background:
    radial-gradient(
        circle at 85% 50%,
        rgba(71, 171, 225, 0.18) 0%,
        rgba(71, 171, 225, 0.10) 18%,
        rgba(71, 171, 225, 0.00) 42%
    ),
    linear-gradient(
        90deg,
        #073E59 0%,
        #084860 42%,
        #094B68 72%,
        #094E69 100%
    ) !important;
}

/* Wewnętrzna treść — pozostaje na 900 px */

.entry-content .ls-contact-cta .ls-contact-inner {
    box-sizing: border-box;
    width: 100% !important;
    max-width: var(--ls-content-width, 900px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
}

/* Karty nie mogą poszerzać kontenera */
.entry-content .ls-contact-cta .ls-contact-options {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: stretch !important;
    gap: 24px !important;
    margin: 0 !important;
}

.entry-content .ls-contact-cta
.ls-contact-options > .wp-block-column {
    min-width: 0;
}


/* 3. NAGŁÓWEK */
.entry-content .ls-contact-cta h2 {
    color: var(--ls-section-heading-on-dark) !important;
    font-family: 'Manrope', sans-serif;
    font-size: var(--ls-section-heading-size);
    font-weight: var(--ls-section-heading-weight);
    line-height: var(--ls-section-heading-line-height);
    letter-spacing: var(--ls-section-heading-tracking);
    text-align: center;
    margin: 0 0 16px !important;
}

/* 4. PODTYTUŁ */
.entry-content .ls-contact-cta .ls-contact-intro {
    color: var(--ls-text-on-dark-muted, #E2EFF7) !important;
    font-size: 18px;
    line-height: 1.65;
    text-align: center;
    max-width: 700px;
    margin: 0 auto 40px !important;
}

/* 5. UKŁAD DWÓCH KART — właściwości kontenera scalone powyżej */

.entry-content .ls-contact-cta .ls-contact-options > .wp-block-column {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* 6. KARTA */
.entry-content .ls-contact-cta .ls-contact-card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    flex: 1;
    height: 100%;

    width: 100%;
    min-height: 230px;
    padding: 28px !important;

    background: rgba(255,255,255,0.06) !important;
    border: 1px solid rgba(255,255,255,0.55);
    border-radius: var(--ls-card-radius);

    box-shadow: none;
    transition:
        background-color .2s ease,
        border-color .2s ease;
}

/* 7. OZNACZENIE KARTY */
.entry-content .ls-contact-cta .ls-contact-symbol {
    color: var(--ls-sea-blue, #689CC5) !important;
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: .08em;
    margin: 0 0 16px !important;
}

/* 8. TYTUŁ KARTY */
.entry-content .ls-contact-cta .ls-contact-card h3 {
    color: var(--ls-white, #FFFFFF) !important;
    font-size: 24px !important;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 14px !important;
    text-align: left;
}

/* 9. OPIS W KARCIE */
.entry-content .ls-contact-cta .ls-contact-card p:not(.ls-contact-symbol):not(.ls-contact-email) {
    color: var(--ls-text-on-dark-muted, #E2EFF7) !important;
    font-size: 16px;
    line-height: 1.7;
    margin: 0 0 20px !important;
    text-align: left;
}


/* 11. PRZYCISK FORMULARZA — spójniejszy z resztą strony */
.entry-content .ls-contact-cta
.btn-primary .wp-block-button__link {
    box-sizing: border-box;

    width: 260px;
    max-width: 100%;

    min-height: 46px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0.667em 1.33em !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4;
    border-radius: 6px !important;
}

/* Formularz — akcja na dole */
.entry-content .ls-contact-cta .ls-contact-action {
    display: flex;
    align-items: center;
    justify-content: flex-start;

    margin-top: auto !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

/* Przycisk formularza — obecna szerokość */
.entry-content .ls-contact-cta
.ls-contact-action .wp-block-button__link {
    box-sizing: border-box;
    width: 260px;
    max-width: 100%;
    min-height: 54px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Wiersz e-mail — na tej samej wysokości */
.entry-content .ls-contact-cta .ls-contact-email-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;

    width: 100%;
    min-height: 46px;

    margin-top: auto !important;
    margin-bottom: 0 !important;
    padding: 0;
}

/* Adres — bez tła i ramki */
.entry-content .ls-contact-cta .ls-contact-address {
    color: var(--ls-white, #FFFFFF);
    font-family: 'Manrope', sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    overflow-wrap: anywhere;
    user-select: text;
}

/* Tylko ikona kopiowania jest interaktywna */
.entry-content .ls-contact-cta .ls-copy-email {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;

    flex-shrink: 0;
    min-height: 36px;
    padding: 6px 10px;

    background: transparent;
    border: 1px solid rgba(255,255,255,0.45);
    border-radius: 6px;

    color: var(--ls-white, #FFFFFF);
    font: 500 12px 'Manrope', sans-serif;

    cursor: pointer;
    transition: background-color .2s ease;
}

.entry-content .ls-contact-cta .ls-copy-email:hover {
    background: rgba(255,255,255,0.14);
}

.entry-content .ls-contact-cta
.ls-copy-email:focus-visible {
    outline: 3px solid var(--ls-yellow, #F5D024);
    outline-offset: 3px;
}

/* Mobile */
@media (max-width: 781px) {
    .entry-content .ls-contact-cta
    .ls-contact-email-row {
        flex-wrap: wrap;
        gap: 10px;
    }

    .entry-content .ls-contact-cta
    .ls-contact-address {
        font-size: 14px;
    }

    .entry-content .ls-contact-cta
    .ls-contact-action .wp-block-button__link {
        width: 100%;
        min-height: 52px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .entry-content .ls-contact-cta .ls-copy-email {
        transition: none;
    }
}

/* 13. DOLNA NOTKA */
.entry-content .ls-contact-cta .ls-contact-note {
    color: var(--ls-text-on-dark-muted, #E2EFF7) !important;
    font-size: 14px !important;
    line-height: 1.6;
    text-align: center;
    margin: 24px 0 0 !important;
}

/* 14. HOVER */
@media (hover: hover) {
    .entry-content .ls-contact-cta
    .ls-contact-card:hover {
        background: rgba(255,255,255,0.11) !important;
        border-color: rgba(255,255,255,0.8);
        box-shadow: none;
    }
}

/* 15. TABLET / MOBILE */
/* CONTACT CTA — mobile full width */
@media (max-width: 781px) {

    .entry-content .ls-contact-cta {
        box-sizing: border-box;

        width: 100vw !important;
        max-width: 100vw !important;

        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;

        padding: 44px 16px !important;

        scroll-margin-top: 80px;
    }


    .entry-content .ls-contact-cta .ls-contact-inner {
        max-width: 100% !important;
    }

    .entry-content .ls-contact-cta .ls-contact-options {
        flex-direction: column !important;
        gap: 16px !important;
    }

    .entry-content .ls-contact-cta .ls-contact-options > .wp-block-column {
        width: 100% !important;
        flex-basis: auto !important;
    }

    .entry-content .ls-contact-cta .ls-contact-card {
        min-height: 0;
        padding: 24px !important;
    }

    .entry-content .ls-contact-cta .ls-contact-intro {
        font-size: 16px;
        margin-bottom: 28px !important;
    }

    

    .entry-content .ls-contact-cta .btn-primary .wp-block-button__link {
        width: 100%;
        min-height: 52px;
        font-size: 16px !important;
    }
}

/* 16. REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
    .entry-content .ls-contact-cta .ls-contact-card {
        transition: none !important;
    }
}


/* ==========================================
   LASER STUDIO — SPECIFICATION SECTION
   Full bleed background + centered content
   ========================================== */

/* Zewnętrzny kontener */
.entry-content .ls-spec-section {
    --ls-spec-bg: var(--ls-light-blue, #EEF8FE);

    position: relative;
    isolation: auto;
    box-sizing: border-box;

    width: 100%;
    max-width: none !important;

    margin: 0 !important;
    padding: var(--ls-section-space) 0 !important;

    background: transparent !important;
}

/* Rozszerzenie tła poza kontener */
.entry-content .ls-spec-section::before {
    content: "";
    position: absolute;
    z-index: 0;

    top: 0;
    bottom: 0;
    left: 50%;

    width: 100vw;
    transform: translateX(-50%);

    background: var(--ls-light-blue, #EEF8FE);
    pointer-events: none;
}

/* Treść nad tłem */
.entry-content .ls-spec-section .ls-spec-inner {
    position: relative;
    z-index: 1;
}

/* Kontener treści */
.entry-content .ls-spec-section
.ls-spec-inner {
    box-sizing: border-box;

    width: 100% !important;
    max-width: var(--ls-content-width, 900px) !important;

    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;

    position: relative;
    z-index: 1;
}

/* Nagłówek */
.entry-content .ls-spec-section
.ls-spec-inner h2 {
    color: var(--ls-section-heading-color) !important;
    font-size: var(--ls-section-heading-size);
    font-weight: var(--ls-section-heading-weight);
    line-height: var(--ls-section-heading-line-height);
    letter-spacing: var(--ls-section-heading-tracking);

    margin: 0 0 var(--ls-heading-content-gap) !important;
    text-align: left;
}

/* Opis */
.entry-content .ls-spec-section
.ls-spec-inner > p {
    color: var(--ls-text-muted, #455D6D);
    margin: 0 0 28px !important;
    line-height: 1.65;
}

/* Tabela */
.entry-content .ls-spec-section
.ls-table {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
}

/* Mobile */
@media (max-width: 768px) {

    .entry-content .ls-spec-section {
        padding: 40px 0 48px !important;
    }

    .entry-content .ls-spec-section
    .ls-spec-inner {
        padding: 0 16px !important;
    }

    .entry-content .ls-spec-section
    .ls-spec-inner h2 {
        margin-bottom: 18px !important;
    }

    .entry-content .ls-spec-section
    .ls-spec-inner > p {
        margin-bottom: 24px !important;
    }
}

/* ==========================================
   LASER STUDIO — CUSTOMER REVIEWS
   ========================================== */

.entry-content .ls-reviews-section {
    position: relative;
    box-sizing: border-box;

    width: 100vw;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: var(--ls-section-space) 24px !important;

    background: var(--ls-light-blue, #EEF8FE) !important;
}

/* Kontener treści */
.entry-content .ls-reviews-section
.ls-reviews-inner {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--ls-content-width, 900px) !important;

    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
}

/* Nagłówek */
.entry-content .ls-reviews-section h2 {
    color: var(--ls-admiral, #023F5B) !important;
    font-size: var(--ls-section-heading-size,
        clamp(27px, 3vw, 36px));
    font-weight: 700;
    line-height: 1.2;

    margin: 0 0 var(--ls-heading-content-gap) !important;
    text-align: center;
}

/* Mobile */
@media (max-width: 768px) {
    .entry-content .ls-reviews-section {
        padding: 40px 16px 48px !important;
    }

    .entry-content .ls-reviews-section
    .ls-reviews-inner {
        max-width: 100% !important;
    }
}
/* LASER STUDIO — HOME: PRODUKTY / USŁUGI / ROZWIĄZANIA
   Style sekcyjne. Nie zastępują globalnego CSS witryny.
   Zachowano starszy .ls-card-grid dla zgodności z innymi stronami;
   nowy układ sekcji ma niezależne, jednoznaczne selektory.
*/

/* Etap 3 — odstep pod samodzielnymi naglowkami na stronie glownej.
   H2 Rozwiazania sa wewnatrz .ls-solutions-section i maja osobna regule. */
.entry-content h2#specjalizacje,
.entry-content h2#uslugi {
    margin-bottom: var(--ls-heading-content-gap) !important;
}

/* ================================================
   LASER STUDIO — PRODUKTY NA STRONIE GŁÓWNEJ
   Tylko nowe klasy: pozostałe karty bez zmian.
   ================================================ */

.entry-content .ls-home-products-grid {
    box-sizing: border-box;
    max-width: var(--ls-content-width, 900px) !important;
    width: 100%;
    margin: 0 auto 24px !important;
    gap: 24px !important;
    align-items: stretch !important;
}

.entry-content .ls-home-products-grid > .wp-block-column {
    min-width: 0;
    margin: 0 !important;
    align-self: stretch;
}

.entry-content .ls-home-product-card {
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: var(--ls-white, #FFFFFF);
    border: 1px solid var(--ls-border, #D6E3EB);
    border-radius: var(--ls-card-radius);
    box-shadow: var(--ls-shadow-card);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.entry-content .ls-home-product-card .ls-home-product-image {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: none !important;
    aspect-ratio: 5 / 4;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: var(--ls-light-blue, #EEF8FE);
}

.entry-content .ls-home-product-card .ls-home-product-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.entry-content .ls-home-product-card .ls-home-product-title {
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 76px;
    margin: 0 !important;
    padding: 18px 20px !important;
    color: var(--ls-admiral, #023F5B) !important;
    background: var(--ls-white, #FFFFFF);
    font-family: 'Manrope', sans-serif;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.35;
    text-align: left;
    letter-spacing: normal;
}

.entry-content .ls-home-product-card .ls-home-product-title::after {
    content: '→';
    flex: 0 0 auto;
    color: var(--ls-admiral, #023F5B);
    font-size: 20px;
    font-weight: 400;
    transition: transform .2s ease;
}

.entry-content .ls-home-product-card .ls-home-product-title a {
    color: var(--ls-admiral, #023F5B) !important;
    text-decoration: none !important;
}

/* Powiększenie obszaru linku na cały kafel — bez JavaScriptu. */
.entry-content .ls-home-product-card .ls-home-product-title a::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
}

@media (hover: hover) {
    .entry-content .ls-home-product-card:hover {
        border-color: var(--ls-card-border-hover);
        box-shadow: var(--ls-shadow-card-hover);
    }
    .entry-content .ls-home-product-card:hover .ls-home-product-image img {
        transform: scale(1.025);
    }
    .entry-content .ls-home-product-card:hover .ls-home-product-title::after {
        transform: translateX(3px);
    }
}

.entry-content .ls-home-product-card:focus-within {
    outline: 3px solid var(--ls-sea-blue, #689CC5);
    outline-offset: 3px;
}

@media (max-width: 781px) {
    .entry-content .ls-home-products-grid {
        gap: 16px !important;
        margin-bottom: 16px !important;
    }
    .entry-content .ls-home-product-card .ls-home-product-title {
        min-height: 68px;
        padding: 16px !important;
        font-size: 19px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .entry-content .ls-home-product-card,
    .entry-content .ls-home-product-card .ls-home-product-image img,
    .entry-content .ls-home-product-card .ls-home-product-title::after {
        transition: none !important;
    }
}


/* =========================================================
   LASER STUDIO — USŁUGI NA STRONIE GŁÓWNEJ
   Trzy poziome, w pełni klikalne wiersze.
   Niezależne od ls-card-grid, ls-home-products-grid
   i ls-solutions-section.
   ========================================================= */

.entry-content .ls-home-services {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--ls-content-width, 900px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.entry-content .ls-home-services .ls-home-service-row {
    position: relative;
    box-sizing: border-box;
    margin: 0 0 16px !important;
    padding: 0 !important;
    background: var(--ls-white, #FFFFFF);
    border: 1px solid var(--ls-border, #D6E3EB);
    border-radius: var(--ls-card-radius);
    box-shadow: var(--ls-shadow-card);
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.entry-content .ls-home-services .ls-home-service-columns {
    display: flex;
    align-items: center !important;
    width: 100%;
    gap: 0 !important;
    margin: 0 !important;
}

.entry-content .ls-home-services .ls-home-service-columns > .wp-block-column {
    box-sizing: border-box;
    min-width: 0;
    margin: 0 !important;
}

.entry-content .ls-home-services .ls-home-service-image {
    display: block;
    width: 100%;
    max-width: none !important;
    height: 210px;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--ls-light-blue, #EEF8FE);
    overflow: hidden;
}

.entry-content .ls-home-services .ls-home-service-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.entry-content .ls-home-services .ls-home-service-body {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    margin: 0 !important;
    padding: 22px 28px !important;
}

.entry-content .ls-home-services .ls-home-service-title {
    color: var(--ls-admiral, #023F5B) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.35;
    letter-spacing: -.02em;
    text-align: left;
    margin: 0 0 8px !important;
}

.entry-content .ls-home-services .ls-home-service-title a {
    color: inherit !important;
    text-decoration: none !important;
}

/* Jeden link obejmuje cały wiersz, także zdjęcie i odstępy. */
.entry-content .ls-home-services .ls-home-service-title a::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
}

.entry-content .ls-home-services .ls-home-service-description {
    color: var(--ls-text-muted, #455D6D) !important;
    font-size: 15px !important;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
    margin: 0 0 12px !important;
}

.entry-content .ls-home-services .ls-home-service-link {
    color: var(--ls-admiral, #023F5B) !important;
    font-size: 14px !important;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;
    margin: 0 !important;
}

.entry-content .ls-home-services .ls-home-service-link span {
    display: inline-block;
    margin-left: 4px;
    transition: transform .2s ease;
}

@media (hover: hover) {
    .entry-content .ls-home-services .ls-home-service-row:hover {
        border-color: var(--ls-card-border-hover);
        box-shadow: var(--ls-shadow-card-hover);
    }
    .entry-content .ls-home-services .ls-home-service-row:hover img {
        transform: scale(1.025);
    }
    .entry-content .ls-home-services .ls-home-service-row:hover .ls-home-service-link span {
        transform: translateX(3px);
    }
}

.entry-content .ls-home-services .ls-home-service-row:focus-within {
    outline: 3px solid var(--ls-sea-blue, #689CC5);
    outline-offset: 3px;
}

@media (max-width: 781px) {
    .entry-content .ls-home-services .ls-home-service-columns {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .entry-content .ls-home-services .ls-home-service-columns > .wp-block-column {
        flex-basis: auto !important;
        width: 100% !important;
    }
    .entry-content .ls-home-services .ls-home-service-image {
        height: auto;
        aspect-ratio: 16 / 9;
    }
    .entry-content .ls-home-services .ls-home-service-body {
        padding: 20px !important;
    }
    .entry-content .ls-home-services .ls-home-service-title {
        font-size: 19px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .entry-content .ls-home-services .ls-home-service-row,
    .entry-content .ls-home-services .ls-home-service-image img,
    .entry-content .ls-home-services .ls-home-service-link span {
        transition: none !important;
    }
}


/* =========================================================
   LASER STUDIO — ROZWIĄZANIA (HOME)
   Wariant A: zdjęcie / tytuł / opis / link
   Dotyczy wyłącznie .ls-solutions-section.
   Jedyna aktywna definicja tego komponentu w tym arkuszu.
   ========================================================= */

.entry-content .ls-solutions-section {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--ls-content-width, 900px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
}

.entry-content .ls-solutions-section > h2 {
    color: var(--ls-admiral, #023F5B) !important;
    font-size: var(--ls-section-heading-size, clamp(27px, 3vw, 36px));
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin: 0 0 var(--ls-heading-content-gap) !important;
    text-align: center;
}

/* Siatka: 2 karty teraz, przygotowana na przyszłe 3 × 2 */
.entry-content .ls-solutions-section .ls-solutions-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px !important;
    align-items: stretch !important;
    margin: 0 !important;
}

.entry-content .ls-solutions-section .ls-solutions-grid > .wp-block-column {
    min-width: 0;
    width: auto !important;
    flex: none !important;
    margin: 0 !important;
}

/* Karta — bez stylów starego .ls-card-grid */
.entry-content .ls-solutions-section .ls-solution-card {
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    padding: 0 !important;
    background: var(--ls-white, #FFFFFF);
    border: 1px solid var(--ls-border, #D6E3EB);
    border-radius: var(--ls-card-radius);
    box-shadow: var(--ls-shadow-card);
    transition: border-color .2s ease, box-shadow .2s ease;
}

/* Zdjęcie oraz jego link */
.entry-content .ls-solutions-section .ls-solution-card__image {
    display: block;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    aspect-ratio: 5 / 3;
}

.entry-content .ls-solutions-section .ls-solution-card__image a {
    display: block;
    width: 100%;
    height: 100%;
}

.entry-content .ls-solutions-section .ls-solution-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

/* Tytuł i opis — jedna skala na każdej karcie */
.entry-content .ls-solutions-section .ls-solution-card__title {
    color: var(--ls-admiral, #023F5B) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.35;
    text-align: left;
    margin: 20px 20px 8px !important;
}

.entry-content .ls-solutions-section .ls-solution-card__title a {
    color: inherit !important;
    text-decoration: none !important;
}

.entry-content .ls-solutions-section .ls-solution-card__text {
    color: var(--ls-text-muted, #455D6D) !important;
    font-size: 15px !important;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
    margin: 0 20px 20px !important;
}

/* Tekstowy link trzyma się dołu karty */
.entry-content .ls-solutions-section .ls-solution-card__link {
    margin: auto 20px 24px !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;
}

.entry-content .ls-solutions-section .ls-solution-card__link a {
    color: var(--ls-admiral, #023F5B) !important;
    text-decoration: underline !important;
    text-underline-offset: 4px;
}

.entry-content .ls-solutions-section .ls-solution-card__link span {
    display: inline-block;
    margin-left: 4px;
    transition: transform .2s ease;
}

@media (hover: hover) {
    .entry-content .ls-solutions-section .ls-solution-card:hover {
        border-color: var(--ls-card-border-hover);
        box-shadow: var(--ls-shadow-card-hover);
    }

    .entry-content .ls-solutions-section .ls-solution-card__image a:hover img {
        transform: scale(1.025);
    }

    .entry-content .ls-solutions-section .ls-solution-card__link a:hover span {
        transform: translateX(3px);
    }
}

.entry-content .ls-solutions-section a:focus-visible {
    outline: 3px solid var(--ls-sea-blue, #689CC5);
    outline-offset: 3px;
}

/* Użyj drugiej klasy ls-solutions-grid--3, kiedy będzie 5–6 kart */
@media (min-width: 1100px) {
    .entry-content .ls-solutions-section .ls-solutions-grid--3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .entry-content .ls-solutions-section .ls-solutions-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px !important;
    }

    .entry-content .ls-solutions-section > h2 {
        margin-bottom: 24px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .entry-content .ls-solutions-section .ls-solution-card,
    .entry-content .ls-solutions-section .ls-solution-card__image img,
    .entry-content .ls-solutions-section .ls-solution-card__link span {
        transition: none !important;
    }
}

/* Pełna klikalność kart rozwiązań — jeden cel na kartę. */
.entry-content .ls-solutions-section .ls-solution-card__title a::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
}
.entry-content .ls-solutions-section .ls-solution-card:focus-within {
    outline: 3px solid var(--ls-sea-blue, #689CC5);
    outline-offset: 3px;
}

/* Pozycjonowanie fotografii z pierwotnych kart produktów. */
/* Precyzyjne kadrowanie według ID obrazów z biblioteki mediów. */
.entry-content .ls-home-products-grid img.wp-image-1914 { object-position: 69% 72%; }
.entry-content .ls-home-products-grid img.wp-image-1942 { object-position: 74% 53%; }
.entry-content .ls-home-products-grid img.wp-image-561 { object-position: 48% 53%; }
.entry-content .ls-home-products-grid img.wp-image-1541 { object-position: 24% 89%; }
.entry-content .ls-home-products-grid img.wp-image-1855 { object-position: 53% 78%; }
.entry-content .ls-home-products-grid img.wp-image-1965 { object-position: 58% 53%; }
.entry-content .ls-home-services img.wp-image-3763 { object-position: 46% 51%; }
.entry-content .ls-home-services img.wp-image-3753 { object-position: 94% 45%; }
.entry-content .ls-home-services img.wp-image-3767 { object-position: 56% 45%; }


/* Etap 3 — jednolite odstepy mobile bez ingerencji w Gutenberg Spacer. */
@media (max-width: 768px) {
    .entry-content .ls-solution-products {
        padding: var(--ls-section-space-mobile) 0 !important;
    }

    /* Wewnętrzny kontener procesu nie powinien dochodzić do krawędzi ekranu. */
    .entry-content .ls-solution-process .wp-block-cover__inner-container {
        padding: 0 var(--ls-content-gutter-mobile) !important;
    }

    /* FAQ oparte na Cover zachowuje poprzedni mobilny odstęp. */
    .entry-content .ls-solution-faq .wp-block-cover__inner-container {
        padding: var(--ls-section-space-mobile) 0 !important;
    }

    .entry-content .ls-reviews-section {
        padding: var(--ls-section-space-mobile) var(--ls-content-gutter-mobile) !important;
    }
}