/* ==========================================================================

   PODSTRONY STYLÓW COACHINGU

   ========================================================================== */



.coaching-type-hero {
    position: relative;
    overflow: hidden;
    padding: 160px 20px 80px;
    text-align: center;
    background: linear-gradient(165deg, #f9f8fc 0%, #ffffff 45%, #f4f7fd 100%);
    isolation: isolate;
}

.coaching-type-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

.coaching-hero-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    opacity: 0.5;
    will-change: transform;
    animation: hero-orb-drift 20s ease-in-out infinite;
}

.coaching-hero-orb-1 {
    width: 480px;
    height: 480px;
    top: -140px;
    left: 50%;
    margin-left: -280px;
    background: radial-gradient(circle, rgba(106, 13, 173, 0.2) 0%, transparent 68%);
}

.coaching-hero-orb-2 {
    width: 360px;
    height: 360px;
    top: 10%;
    right: -100px;
    background: radial-gradient(circle, rgba(0, 71, 171, 0.14) 0%, transparent 68%);
    animation-delay: -7s;
    animation-duration: 24s;
}

.coaching-hero-orb-3 {
    width: 300px;
    height: 300px;
    bottom: -80px;
    left: -60px;
    background: radial-gradient(circle, rgba(253, 197, 0, 0.12) 0%, transparent 68%);
    animation-delay: -14s;
    animation-duration: 22s;
}

.coaching-hero-mesh {
    position: absolute;
    inset: 0;
    opacity: 0.35;
    background-image:
        linear-gradient(rgba(106, 13, 173, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(106, 13, 173, 0.03) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 75%);
}

.coaching-type-hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    z-index: 1;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(106, 13, 173, 0.2) 20%,
        rgba(253, 197, 0, 0.35) 50%,
        rgba(0, 71, 171, 0.2) 80%,
        transparent 100%
    );
    background-size: 200% 100%;
    animation: hero-line-shimmer 10s ease-in-out infinite;
}

.coaching-type-hero .container,
.coaching-type-hero .hero-content {
    position: relative;
    z-index: 2;
}

@keyframes hero-orb-drift {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(24px, -18px) scale(1.04); }
    66% { transform: translate(-18px, 12px) scale(0.97); }
}

@keyframes hero-line-shimmer {
    0%, 100% { background-position: 0% center; opacity: 0.6; }
    50% { background-position: 100% center; opacity: 1; }
}

/* Akcenty per styl */
.coaching-type-hero--life-coaching .coaching-hero-orb-1 {
    background: radial-gradient(circle, rgba(106, 13, 173, 0.22) 0%, rgba(155, 77, 202, 0.08) 45%, transparent 68%);
}

.coaching-type-hero--business-coaching .coaching-hero-orb-1 {
    background: radial-gradient(circle, rgba(0, 71, 171, 0.2) 0%, transparent 68%);
}

.coaching-type-hero--business-coaching .coaching-hero-orb-2 {
    background: radial-gradient(circle, rgba(15, 18, 25, 0.08) 0%, rgba(0, 71, 171, 0.12) 50%, transparent 68%);
}

.coaching-type-hero--spirit-coaching .coaching-hero-orb-1 {
    background: radial-gradient(circle, rgba(106, 13, 173, 0.25) 0%, rgba(253, 197, 0, 0.08) 50%, transparent 68%);
}

.coaching-type-hero--spirit-coaching .coaching-hero-orb-3 {
    background: radial-gradient(circle, rgba(253, 197, 0, 0.15) 0%, rgba(106, 13, 173, 0.08) 50%, transparent 68%);
}

.coaching-type-hero--sesja-dla-par .coaching-hero-orb-1 {
    background: radial-gradient(circle, rgba(106, 13, 173, 0.18) 0%, rgba(225, 29, 72, 0.06) 45%, transparent 68%);
}

.coaching-type-hero--sesja-dla-par .coaching-hero-orb-2 {
    background: radial-gradient(circle, rgba(225, 29, 72, 0.08) 0%, rgba(106, 13, 173, 0.1) 50%, transparent 68%);
}

.coaching-type-hero .hero-content {
    max-width: 1200px;
}

.coaching-type-hero .hero-desc {
    max-width: 740px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.75;
    padding: 0;
}



.coaching-type-eyebrow {

    text-transform: uppercase;

    font-size: 0.8rem;

    letter-spacing: 3px;

    color: var(--color-accent-1);

    margin-bottom: 20px;

    font-weight: 700;

}



.coaching-type-icon-wrap {

    width: 72px;

    height: 72px;

    margin: 0 auto 25px;

    background: rgba(255, 255, 255, 0.75);

    backdrop-filter: blur(10px);

    -webkit-backdrop-filter: blur(10px);

    border: 1px solid rgba(106, 13, 173, 0.12);

    box-shadow: 0 10px 36px -10px rgba(106, 13, 173, 0.22);

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--color-accent-1);

    font-size: 1.8rem;

    position: relative;

    animation: hero-icon-float 6s ease-in-out infinite;

}



@keyframes hero-icon-float {

    0%, 100% { transform: translateY(0); box-shadow: 0 10px 36px -10px rgba(106, 13, 173, 0.22); }

    50% { transform: translateY(-4px); box-shadow: 0 16px 40px -8px rgba(106, 13, 173, 0.28); }

}



.coaching-type-tags {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    justify-content: center;

    margin: 25px 0 10px;

}



.coaching-type-tag {

    background: rgba(255, 255, 255, 0.65);

    backdrop-filter: blur(6px);

    -webkit-backdrop-filter: blur(6px);

    border: 1px solid rgba(0, 71, 171, 0.12);

    color: var(--color-accent-2);

    padding: 6px 14px;

    font-size: 0.8rem;

    font-weight: 600;

    letter-spacing: 0.5px;

}



/* Treść główna — ta sama szerokość co kafelki „Poznaj pozostałe…” */

.coaching-type-body {

    background: #fff;

    padding-top: 70px;

    padding-bottom: 70px;

}



.coaching-type-intro {

    font-size: 1.1rem;

    text-align: center;

    max-width: 740px;

    margin: 0 auto 55px;

    line-height: 1.75;

}



.coaching-type-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 25px;

    margin-bottom: 70px;

}



.coaching-type-panel {

    background: #fff;

    border: 1px solid rgba(15, 18, 25, 0.07);

    padding: 35px 32px;

    box-shadow: 0 12px 35px -12px rgba(15, 42, 74, 0.1);

    position: relative;

    overflow: hidden;

}



.coaching-type-panel::before {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    height: 4px;

}



.coaching-type-panel--who::before {

    background: linear-gradient(90deg, var(--color-accent-1), #9b4dca);

}



.coaching-type-panel--topics::before {

    background: linear-gradient(90deg, var(--color-accent-2), #38bdf8);

}



.coaching-type-panel-head {

    display: flex;

    align-items: center;

    gap: 14px;

    margin-bottom: 12px;

}



.coaching-type-panel-head i {

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: rgba(106, 13, 173, 0.08);

    color: var(--color-accent-1);

    font-size: 1rem;

    flex-shrink: 0;

}



.coaching-type-panel .section-title {

    font-size: 1.45rem;

    margin: 0;

}



.coaching-type-panel .content-text {

    margin-bottom: 12px;

    font-size: 0.95rem;

}



.coaching-type-section-head {

    text-align: center;

    margin-bottom: 40px;

}



.coaching-type-section-head .section-title {

    margin-bottom: 0;

}



/* Kafelki korzyści */

.coaching-benefits-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 22px;

    margin-bottom: 70px;

}



.coaching-benefit-tile {

    background: linear-gradient(160deg, #fafbff 0%, #fff 100%);

    border: 1px solid rgba(15, 18, 25, 0.06);

    padding: 28px 22px;

    text-align: center;

    transition: transform 0.3s ease, box-shadow 0.3s ease;

}



.coaching-benefit-tile:hover {

    transform: translateY(-4px);

    box-shadow: 0 16px 40px -12px rgba(106, 13, 173, 0.15);

}



.coaching-benefit-icon {

    width: 52px;

    height: 52px;

    margin: 0 auto 16px;

    background: linear-gradient(135deg, rgba(106, 13, 173, 0.12), rgba(0, 71, 171, 0.1));

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--color-accent-1);

    font-size: 1.2rem;

}



.coaching-benefit-tile h3 {

    font-size: 1rem;

    color: var(--color-accent-1);

    margin: 0 0 10px;

    font-family: var(--font-head);

    font-weight: 700;

}



.coaching-benefit-tile p {

    font-size: 0.88rem;

    color: var(--color-dark);

    line-height: 1.55;

    margin: 0;

}



/* Box „Słowo ode mnie” + zdjęcie 1:1 */

.coaching-personal-split {

    display: grid;

    grid-template-columns: 1fr 1.15fr;

    gap: 0;

    margin-bottom: 50px;

    border: 1px solid rgba(15, 18, 25, 0.08);

    box-shadow: 0 20px 50px -15px rgba(15, 42, 74, 0.12);

    overflow: hidden;

}



.coaching-personal-photo {

    aspect-ratio: 1 / 1;

    background: linear-gradient(135deg, var(--color-dark) 0%, var(--color-accent-2) 100%);

    position: relative;

    overflow: hidden;

}



.coaching-personal-photo img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

}



/* Life Coaching — dłuższy tekst: zdjęcie dopasowuje się do wysokości boksu */

.coaching-personal-split--life-coaching,

.coaching-personal-split--business-coaching,

.coaching-personal-split--spirit-coaching,

.coaching-personal-split--sesja-dla-par {

    align-items: stretch;

}



.coaching-personal-split--life-coaching .coaching-personal-photo,

.coaching-personal-split--business-coaching .coaching-personal-photo,

.coaching-personal-split--spirit-coaching .coaching-personal-photo,

.coaching-personal-split--sesja-dla-par .coaching-personal-photo {

    aspect-ratio: auto;

    align-self: stretch;

    min-height: 100%;

}



.coaching-personal-split--life-coaching .coaching-personal-photo img,

.coaching-personal-split--business-coaching .coaching-personal-photo img,

.coaching-personal-split--spirit-coaching .coaching-personal-photo img,

.coaching-personal-split--sesja-dla-par .coaching-personal-photo img {

    position: absolute;

    inset: 0;

    object-position: center;

}



.coaching-photo-placeholder {

    width: 100%;

    height: 100%;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 14px;

    color: rgba(255, 255, 255, 0.55);

    font-size: 0.85rem;

    letter-spacing: 1px;

    text-transform: uppercase;

}



.coaching-photo-placeholder i {

    font-size: 2.5rem;

    color: rgba(255, 255, 255, 0.35);

}



.coaching-personal-word {

    padding: 45px 40px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    background: #fff;

}



.coaching-personal-label {

    display: inline-block;

    font-size: 0.75rem;

    font-weight: 700;

    letter-spacing: 2px;

    text-transform: uppercase;

    color: var(--color-accent-2);

    margin-bottom: 12px;

}



.coaching-personal-word .section-title {

    font-size: 1.6rem;

    margin-bottom: 18px;

    text-align: left;

}



.coaching-personal-word p {

    font-size: 1rem;

    line-height: 1.75;

    color: var(--color-dark);

    margin: 0;

}



.coaching-personal-word p + p {

    margin-top: 1.35em;

}



.coaching-type-note {

    background: linear-gradient(135deg, rgba(15, 18, 25, 0.03) 0%, rgba(0, 71, 171, 0.05) 100%);

    border-left: 4px solid var(--color-accent-1);

    padding: 25px 30px;

}



.coaching-type-note p {

    margin: 0;

    color: var(--color-dark);

    line-height: 1.7;

    font-size: 0.95rem;

}



.coaching-type-note a {

    color: var(--color-accent-1);

    font-weight: 600;

    text-decoration: underline;

}



.coaching-type-note--b2b {

    display: flex;

    align-items: flex-start;

    gap: 20px;

    background: linear-gradient(135deg, rgba(0, 71, 171, 0.06) 0%, rgba(106, 13, 173, 0.05) 100%);

    border-left-color: var(--color-accent-2);

}



.coaching-type-note--b2b p {

    margin: 0 0 10px;

}



.coaching-type-note--b2b p:last-child {

    margin-bottom: 0;

}



.coaching-note-icon {

    width: 48px;

    height: 48px;

    flex-shrink: 0;

    background: rgba(0, 71, 171, 0.12);

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--color-accent-2);

    font-size: 1.2rem;

}



@keyframes consult-glow-pulse {

    0%, 100% {

        opacity: 1;

        text-shadow: 0 0 0 rgba(106, 13, 173, 0);

        transform: scale(1);

    }

    50% {

        opacity: 0.92;

        text-shadow: 0 0 28px rgba(106, 13, 173, 0.35), 0 0 8px rgba(106, 13, 173, 0.15);

        transform: scale(1.015);

    }

}



@keyframes consult-shimmer {

    0%, 100% { background-position: 0% center; }

    50% { background-position: 100% center; }

}



@keyframes consult-line-pulse {

    0%, 100% { opacity: 0.4; transform: scaleX(0.85); }

    50% { opacity: 1; transform: scaleX(1); }

}



.coaching-type-others {

    background: var(--bg-light, #f8faff);

}



.coaching-type-cards {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 25px;

}



.coaching-type-card {

    background: #fff;

    padding: 30px;

    text-decoration: none;

    color: inherit;

    border: 1px solid rgba(15, 18, 25, 0.06);

    box-shadow: 0 10px 30px -10px rgba(15, 42, 74, 0.08);

    transition: transform 0.3s ease, box-shadow 0.3s ease;

    display: flex;

    flex-direction: column;

}



.coaching-type-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 20px 40px -10px rgba(15, 42, 74, 0.15);

}



.coaching-type-card > i {

    font-size: 1.5rem;

    color: var(--color-accent-1);

    margin-bottom: 15px;

}



.coaching-type-card h3 {

    font-size: 1.15rem;

    color: var(--color-accent-1);

    margin: 0 0 10px;

    font-family: var(--font-head);

}



.coaching-type-card p {

    font-size: 0.9rem;

    color: var(--color-dark);

    line-height: 1.5;

    margin: 0 0 15px;

    flex-grow: 1;

}



.coaching-type-card-link {

    font-size: 0.85rem;

    font-weight: 700;

    color: var(--color-accent-2);

    text-transform: uppercase;

    letter-spacing: 0.5px;

}



/* --- Baner oferty: style coachingu --- */

.pb-styles-label {

    display: block;

    position: relative;

    z-index: 1;

    font-family: var(--font-head);

    font-size: 0.75rem;

    font-weight: 700;

    letter-spacing: 2.5px;

    text-transform: uppercase;

    color: var(--color-gold);

    margin-bottom: 10px;

}



.pb-styles-hint {

    position: relative;

    z-index: 1;

    display: flex;

    align-items: center;

    gap: 8px;

    font-size: 0.85rem;

    color: rgba(255, 255, 255, 0.65);

    margin: 0 0 28px;

    padding-bottom: 18px;

    border-bottom: 1px solid rgba(255, 255, 255, 0.12);

}



.pb-styles-hint i {

    color: var(--color-gold);

    font-size: 0.9rem;

}



.pb-feature-link {

    text-decoration: none;

    color: inherit;

    border-radius: 0;

    padding: 12px 10px;

    margin: 0 -10px;

    transition: background 0.25s ease, transform 0.25s ease;

    display: flex;

    align-items: flex-start;

    gap: 15px;

    position: relative;

}



.pb-feature-link:hover {

    background: rgba(255, 255, 255, 0.08);

    transform: translateX(6px);

}



.pb-feature-link:hover strong {

    color: var(--color-gold) !important;

}



.pb-feature-link:hover .pb-link-chevron {

    opacity: 1;

    transform: translateX(0);

}



.pb-icon-arrow {

    background: rgba(253, 197, 0, 0.2) !important;

    color: var(--color-gold) !important;

}



.pb-link-chevron {

    margin-left: auto;

    align-self: center;

    color: var(--color-gold);

    font-size: 0.85rem;

    opacity: 0.5;

    transform: translateX(-4px);

    transition: opacity 0.25s ease, transform 0.25s ease;

    flex-shrink: 0;

}



.pb-consult-heading {

    text-align: center;

    font-family: var(--font-head);

    font-size: 1.5rem;

    font-weight: 700;

    margin: 45px 0 0;

    padding: 0 20px;

    line-height: 1.35;

    position: relative;

}



.pb-consult-heading::after {

    content: '';

    display: block;

    width: 80px;

    height: 3px;

    margin: 18px auto 0;

    background: linear-gradient(90deg, transparent, var(--color-accent-1), var(--color-gold), var(--color-accent-1), transparent);

    animation: consult-line-pulse 3s ease-in-out infinite;

}



.pb-consult-pulse {

    display: inline-block;

    background: linear-gradient(90deg, var(--color-accent-1), #9b4dca, var(--color-accent-2), var(--color-accent-1));

    background-size: 300% auto;

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

    background-clip: text;

    animation: consult-shimmer 5s ease-in-out infinite, consult-glow-pulse 3.5s ease-in-out infinite;

}



@media (max-width: 1100px) {

    .coaching-benefits-grid {

        grid-template-columns: repeat(2, 1fr);

    }

}



@media (max-width: 992px) {

    .coaching-type-grid {

        grid-template-columns: 1fr;

        gap: 20px;

    }



    .coaching-type-cards {

        grid-template-columns: 1fr;

    }



    .coaching-personal-split {

        grid-template-columns: 1fr;

    }



    .coaching-personal-photo {

        max-height: 320px;

        aspect-ratio: auto;

        min-height: 280px;

    }



    .coaching-personal-split--life-coaching .coaching-personal-photo,

    .coaching-personal-split--business-coaching .coaching-personal-photo,

    .coaching-personal-split--spirit-coaching .coaching-personal-photo,

    .coaching-personal-split--sesja-dla-par .coaching-personal-photo {

        max-height: 360px;

        aspect-ratio: 4 / 3;

    }



    .coaching-personal-word {

        padding: 35px 28px;

    }



    .pb-consult-heading {

        font-size: 1.25rem;

        margin-top: 35px;

    }

}



@media (max-width: 600px) {

    .coaching-benefits-grid {

        grid-template-columns: 1fr;

    }

}



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

    .pb-consult-pulse,
    .pb-consult-heading::after {

        animation: none;

    }

    .pb-consult-pulse {

        -webkit-text-fill-color: var(--color-accent-1);

        color: var(--color-accent-1);

    }

    .coaching-hero-orb,
    .coaching-type-hero::after,
    .coaching-type-icon-wrap {

        animation: none;

    }

}


