/**
 * Enagic partnership page: progressive motion and interactive detail.
 * Loaded ONLY for /partnerstvo/; no global layout overrides.
 * All content is visible without JavaScript.
 */

/* A brief, delicate light sweep over the existing universal Hero background. */
body.kp-motion-enabled .inner-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(108deg, transparent 27%, rgb(255 255 255 / 16%) 43%, rgb(157 222 237 / 10%) 56%, transparent 73%);
    background-size: 210% 100%;
    animation: kp-hero-light 5.5s ease-out both;
}
body.kp-motion-enabled .inner-hero__content {
    animation: kp-hero-content-enter 850ms cubic-bezier(.2,.7,.2,1) both;
}
body.kp-motion-enabled .inner-hero__watermark {
    animation: kp-hero-watermark-enter 1.6s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes kp-hero-light {
    from { background-position: 100% 0; opacity: 0; }
    20% { opacity: .75; }
    to { background-position: 0 0; opacity: .45; }
}
@keyframes kp-hero-content-enter {
    from { opacity: 0; transform: translate3d(0, 12px, 0); }
    to { opacity: 1; transform: none; }
}
@keyframes kp-hero-watermark-enter {
    from { opacity: .25; transform: translate3d(0, 9px, 0); }
    to { opacity: 1; transform: none; }
}

/* Progressive enhancement: pending state is applied only by the page script. */
.kangen-partner-page .kp-reveal {
    transition: opacity 700ms cubic-bezier(.19, 1, .22, 1),
                transform 700ms cubic-bezier(.19, 1, .22, 1);
    transition-delay: var(--kp-reveal-delay, 0ms);
}
.kangen-partner-page .kp-reveal.kp-reveal--pending {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
}
.kangen-partner-page .kp-person__image.kp-reveal--pending {
    transform: translate3d(22px, 0, 0);
}

/* Three light, tactile cards; original three-column structure is retained. */
.kangen-partner-page .kp-meaning__item {
    padding: clamp(20px, 2.2vw, 28px);
    border: 1px solid rgb(176 215 228 / 63%);
    border-radius: 20px;
    background: linear-gradient(155deg, rgb(255 255 255 / 93%), rgb(246 252 254 / 90%));
    box-shadow: 0 6px 22px rgb(17 73 101 / 3%);
    transition: transform 260ms ease, box-shadow 260ms ease,
                border-color 260ms ease, background-color 260ms ease,
                opacity 700ms cubic-bezier(.19, 1, .22, 1);
}
.kangen-partner-page .kp-meaning__icon {
    transition: background-color 260ms ease, color 260ms ease, transform 260ms ease;
}
@media (hover: hover) and (pointer: fine) {
    .kangen-partner-page .kp-meaning__item:hover {
        transform: translateY(-4px);
        border-color: rgb(92 184 202 / 59%);
        box-shadow: 0 13px 32px rgb(25 95 120 / 8%);
    }
    .kangen-partner-page .kp-meaning__item:hover .kp-meaning__icon {
        background-color: #dff4f8;
        color: #087b95;
        transform: translateY(-2px);
    }
}

/* The audience remains an editorial list, with subtle hover indications. */
.kangen-partner-page .kp-audience__list li {
    position: relative;
    transition: padding-left 240ms ease, background-color 240ms ease;
}
.kangen-partner-page .kp-audience__list li > span {
    transition: color 240ms ease;
}
.kangen-partner-page .kp-audience__list li::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: #42b8c6;
    transition: width 400ms ease;
    pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
    .kangen-partner-page .kp-audience__list li:hover { padding-left: 8px; }
    .kangen-partner-page .kp-audience__list li:hover > span { color: #086f85; }
    .kangen-partner-page .kp-audience__list li:hover::after { width: 100%; }
}

/* Scroll-activated timeline: a single horizontal path on desktop. */
body.kp-motion-enabled .kangen-partner-page .kp-steps__list {
    position: relative;
    isolation: isolate;
    --kp-progress: 0;
}
body.kp-motion-enabled .kangen-partner-page .kp-steps__list::before,
body.kp-motion-enabled .kangen-partner-page .kp-steps__list::after {
    content: "";
    position: absolute;
    left: 6px;
    top: -1px;
    width: var(--kp-line-length, 76%);
    height: 2px;
    border-radius: 2px;
    pointer-events: none;
}
body.kp-motion-enabled .kangen-partner-page .kp-steps__list::before {
    background: #c6e1e9;
}
body.kp-motion-enabled .kangen-partner-page .kp-steps__list::after {
    background: linear-gradient(90deg, #148ba1, #57c6d1);
    transform-origin: left center;
    transform: scaleX(var(--kp-progress));
    transition: transform 480ms cubic-bezier(.19, 1, .22, 1);
}
body.kp-motion-enabled .kangen-partner-page .kp-steps__list li {
    border-top-color: transparent;
}
body.kp-motion-enabled .kangen-partner-page .kp-steps__list li::before {
    background: #bfdce5;
    box-shadow: 0 0 0 5px #edf7fa;
    transition: background-color 350ms ease, box-shadow 350ms ease, transform 350ms ease;
}
body.kp-motion-enabled .kangen-partner-page .kp-steps__list li.kp-step--reached::before {
    background: #118fa2;
    box-shadow: 0 0 0 5px #dcf3f8, 0 0 0 9px rgb(55 179 199 / 10%);
    transform: scale(1.07);
}
body.kp-motion-enabled .kangen-partner-page .kp-steps__list li.kp-step--reached .kp-steps__number {
    color: #076f85;
}

/* A soft glow behind the existing portrait, not a new image. */
.kangen-partner-page .kp-person__image {
    isolation: isolate;
    overflow: visible;
}
.kangen-partner-page .kp-person__image::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 7% -4% -3% 8%;
    border-radius: 42% 26% 35% 32%;
    background: radial-gradient(ellipse, rgb(112 200 218 / 19%) 0%, rgb(173 225 237 / 9%) 52%, transparent 75%);
    filter: blur(16px);
    pointer-events: none;
}
.kangen-partner-page .kp-person__photo {
    border-radius: inherit;
}
.kangen-partner-page .kp-text-link {
    transition: color 230ms ease, border-color 230ms ease;
}
.kangen-partner-page .kp-text-link span {
    display: inline-block;
    transition: transform 230ms ease;
}
@media (hover: hover) and (pointer: fine) {
    .kangen-partner-page .kp-text-link:hover {
        border-bottom-color: #0792a5;
    }
    .kangen-partner-page .kp-text-link:hover span { transform: translate(3px, -3px); }
}

/* Native details/summary remains functional with keyboard and without JS. */
.kangen-partner-page .kp-faq__item {
    border-radius: 12px;
    transition: background-color 260ms ease;
}
.kangen-partner-page .kp-faq__item[open] {
    background-color: rgb(229 246 250 / 42%);
}
.kangen-partner-page .kp-faq__question {
    padding-inline: 13px;
    transition: color 250ms ease;
}
.kangen-partner-page .kp-faq__answer { padding-left: 13px; }
.kangen-partner-page .kp-faq__icon {
    transition: background-color 240ms ease, color 240ms ease;
}
.kangen-partner-page .kp-faq__item[open] .kp-faq__icon {
    background-color: rgb(17 157 168 / 14%);
    color: #087a91;
}
@supports (interpolate-size: allow-keywords) {
    .kangen-partner-page .kp-faq__item { interpolate-size: allow-keywords; }
    .kangen-partner-page .kp-faq__item::details-content {
        block-size: 0;
        overflow: clip;
        opacity: 0;
        transition: block-size 350ms ease, opacity 270ms ease;
    }
    .kangen-partner-page .kp-faq__item[open]::details-content {
        block-size: auto;
        opacity: 1;
    }
}

/* Polished existing form only: no HTML or submission changes. */
.kangen-partner-page .kp-cta__form-wrap {
    box-shadow: 0 12px 36px rgb(24 70 92 / 4%), 0 0 0 1px rgb(96 190 205 / 8%);
    transition: border-color 260ms ease, box-shadow 260ms ease;
}
.kangen-partner-page .kp-cta__form-wrap:focus-within {
    border-color: #9acfdc;
    box-shadow: 0 12px 34px rgb(24 70 92 / 5%), 0 0 0 3px rgb(67 175 199 / 8%);
}
.kangen-partner-page .kp-cta__form input:not([type="checkbox"]) {
    transition: border-color 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}
.kangen-partner-page .kp-cta__form input:not([type="checkbox"]):focus {
    border-color: #54aabb;
    background-color: #fff;
    box-shadow: 0 0 0 3px rgb(63 171 190 / 10%);
}
.kangen-partner-page .kp-button {
    transition: background-color 240ms ease, transform 240ms ease, box-shadow 240ms ease;
}
@media (hover: hover) and (pointer: fine) {
    .kangen-partner-page .kp-button:hover {
        box-shadow: 0 8px 22px rgb(12 62 90 / 16%);
        transform: translateY(-2px);
    }
}

@media (max-width: 1024px) {
    /* Keep the portrait glow anchored to its image, not the viewport. */
    .kangen-partner-page .kp-person__image { position: relative; }
}
@media (max-width: 900px) {
    /* Switch to a true vertical timeline; no disconnected two-row line. */
    .kangen-partner-page .kp-steps__list { grid-template-columns: minmax(0, 1fr); gap: 25px; }
    body.kp-motion-enabled .kangen-partner-page .kp-steps__list li {
        padding: 0 0 0 39px;
        border-top: 0;
    }
    body.kp-motion-enabled .kangen-partner-page .kp-steps__list li::before {
        top: 6px;
        left: 0;
    }
    body.kp-motion-enabled .kangen-partner-page .kp-steps__list::before,
    body.kp-motion-enabled .kangen-partner-page .kp-steps__list::after {
        top: 12px;
        left: 5px;
        width: 2px;
        height: var(--kp-line-length, 100%);
    }
    body.kp-motion-enabled .kangen-partner-page .kp-steps__list::after {
        background: linear-gradient(180deg, #148ba1, #57c6d1);
        transform-origin: center top;
        transform: scaleY(var(--kp-progress));
    }
}
@media (max-width: 600px) {
    /* A horizontal reveal would push the portrait glow beyond narrow gutters. */
    .kangen-partner-page .kp-person__image.kp-reveal--pending {
        transform: translate3d(0, 20px, 0);
    }
    .kangen-partner-page .kp-meaning__item { border-radius: 17px; padding: 20px; }
    .kangen-partner-page .kp-meaning__icon { width: 50px; height: 50px; }
    .kangen-partner-page .kp-person__image::before { filter: blur(11px); }
}
@media (prefers-reduced-motion: reduce) {
    body.kp-motion-enabled .inner-hero::before,
    body.kp-motion-enabled .inner-hero__content,
    body.kp-motion-enabled .inner-hero__watermark { animation: none !important; }
    .kangen-partner-page .kp-reveal,
    .kangen-partner-page .kp-meaning__item,
    .kangen-partner-page .kp-meaning__icon,
    .kangen-partner-page .kp-audience__list li,
    .kangen-partner-page .kp-audience__list li::after,
    .kangen-partner-page .kp-steps__list::after,
    .kangen-partner-page .kp-steps__list li::before,
    .kangen-partner-page .kp-faq__item,
    .kangen-partner-page .kp-faq__item::details-content,
    .kangen-partner-page .kp-faq__icon,
    .kangen-partner-page .kp-text-link,
    .kangen-partner-page .kp-text-link span,
    .kangen-partner-page .kp-cta__form-wrap,
    .kangen-partner-page .kp-cta__form input,
    .kangen-partner-page .kp-button { transition: none !important; }
    .kangen-partner-page .kp-reveal.kp-reveal--pending { opacity: 1; transform: none; }
    .kangen-partner-page .kp-meaning__item:hover,
    .kangen-partner-page .kp-button:hover { transform: none; }
}
