/* ========================================
   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: clamp(27px, 3vw, 36px);
    font-weight: 700;
    line-height: 1.2;
}

.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;
}

/* Logo */
.custom-logo {
    
}

/* 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: #F5D024 !important;
    color: #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: #023F5B !important;
    color: #FFFFFF !important;
}

/* Keyboard focus */
#menu-item-3660 > a:focus-visible {
    outline: 2px solid #689CC5;
    outline-offset: 3px;
}

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

.entry-content .ls-table {
    border: 1px solid #D6E3EB;
    border-radius: 8px;
    overflow: hidden;
    background: #FFFFFF;
    margin: 24px 0;
}

/* Table layout */
.entry-content .ls-table table {
    width: 100%;
    border-collapse: collapse;
    border: none;
    margin: 0;
    font-family: 'Manrope', sans-serif;
    font-size: 15px;
    line-height: 1.6;
}

/* Cells */
.entry-content .ls-table th,
.entry-content .ls-table td {
    padding: 16px 20px;
    border: none;
    border-bottom: 1px solid #D6E3EB;
    color: #243746;
    text-align: left;
    vertical-align: middle;
}

/* First column — labels */
.entry-content .ls-table td:first-child,
.entry-content .ls-table th:first-child {
    width: 36%;
    font-weight: 600;
    color: #023F5B;
    background: #F2F7FA;
}

/* Subtle column divider */
.entry-content .ls-table td + td,
.entry-content .ls-table th + th {
    border-left: 1px solid #D6E3EB;
}

/* Remove bottom line on last row */
.entry-content .ls-table tr:last-child td,
.entry-content .ls-table tr:last-child th {
    border-bottom: none;
}

/* Mobile */
@media (max-width: 768px) {
    .entry-content .ls-table table {
        font-size: 14px;
    }

    .entry-content .ls-table th,
    .entry-content .ls-table td {
        padding: 12px;
    }
}


/* =========================================
   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: #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: #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: #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: 8px;
    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: #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: #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: #FFFFFF !important;
    color: #023F5B !important;
    border: 2px solid #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: #F5D024 !important;
    border-color: #F5D024 !important;
    color: #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: 0 10px 24px
            rgba(2,63,91,0.14);
    }

    /* 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 #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: #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: #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;
    }
}