/*
 * Strona plannera z przewodnikiem ([royal_planner_przewodnik], templates/przewodnik.php, 0.39).
 * Najpierw telefon, od 900 px komputer. Kolory, przycisk i suwak przed/po sa w przed-po.css (wspolne z kafelkiem
 * strony glownej), ten plik laduje sie po nim. Klasy z przedrostkiem rrpp- (planner ma rrp-).
 */

/* Pasy na cala szerokosc okna (planner.css ogranicza dzieci .rrp-page do 1180 px). */
.rrp-page.rrpp > .rrpp-pas {
    max-width: none;
    margin: 0 calc(50% - 50vw);
    padding: 40px 16px;
}

.rrpp-in {
    max-width: 1180px;
    margin: 0 auto;
}

.rrpp h1,
.rrpp h2,
.rrpp h3 {
    color: var(--rrpp-ink);
    letter-spacing: 0;
    text-transform: none;
}

.rrpp h1 {
    margin: 0 0 10px;
    font-size: clamp(27px, 7vw, 46px);
    line-height: 1.15;
}

.rrpp h2 {
    margin: 0 0 8px;
    font-size: clamp(23px, 5.8vw, 34px);
    line-height: 1.2;
}

.rrpp h3 {
    margin: 0 0 6px;
    font-size: 18px;
    line-height: 1.3;
}

.rrpp p {
    margin: 0 0 12px;
}

.rrpp-sub {
    max-width: 680px;
    margin-bottom: 22px !important;
    color: #5d6470;
}

.rrpp-kicker {
    margin: 0 0 8px !important;
    color: var(--rrpp-rose);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.rrpp-lead {
    margin: 0 !important;
    font-size: 16px;
}

/* ------------------------------------------------------------------ przyciski */

.rrpp-link {
    color: var(--rrpp-ink) !important;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.rrpp-srodek {
    margin-top: 26px;
    text-align: center;
}

/* ------------------------------------------------------------------ hero */

.rrp-page.rrpp > .rrpp-hero {
    padding-top: 24px;
    background: linear-gradient(180deg, var(--rrpp-rose-soft) 0%, var(--rrpp-bg) 100%);
}

.rrpp-hero-in {
    display: grid;
    gap: 16px;
}

.rrpp-hero-akcje {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 22px;
}

.rrpp-hero-akcje .rrpp-btn {
    flex: 1 1 260px;
}

.rrpp-zaufanie {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 14px;
}

.rrpp-zaufanie li {
    position: relative;
    margin: 0;
    padding-left: 22px;
}

.rrpp-zaufanie li::before {
    content: "";
    position: absolute;
    top: 0.3em;
    left: 0;
    width: 14px;
    height: 8px;
    border-left: 2px solid var(--rrpp-rose);
    border-bottom: 2px solid var(--rrpp-rose);
    transform: rotate(-45deg);
}

/* ------------------------------------------------------------------ karty i kroki (karuzela na telefonie) */

.rrpp-karty,
.rrpp-kroki {
    display: flex;
    gap: 14px;
    margin: 0 -16px;
    padding: 4px 16px 10px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding: 0 16px;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    list-style: none;
}

.rrpp-karty::-webkit-scrollbar,
.rrpp-kroki::-webkit-scrollbar {
    display: none;
}

.rrpp-karta,
.rrpp-krok {
    flex: 0 0 82%;
    margin: 0;
    scroll-snap-align: start;
}

.rrpp-karta {
    overflow: hidden;
    border: 1px solid var(--rrpp-line);
    border-radius: 18px;
    background: #fff;
}

.rrpp-karta h3,
.rrpp-karta p {
    padding: 0 16px;
}

.rrpp-karta h3 {
    margin-top: 14px;
}

.rrpp-karta-foto {
    position: relative;
    aspect-ratio: 4 / 3;
    background: #e9e2dc;
}

.rrpp-karta-foto > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Wstawka: ten sam projekt w planerze (rzut sciany). */
.rrpp-plan {
    position: absolute;
    left: 10px;
    bottom: 10px;
    width: 34%;
    padding: 4px 4px 0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
    color: var(--rrpp-ink);
    font-size: 11px;
    font-weight: 700;
    text-align: center;
}

.rrpp-plan img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
}

.rrpp-plan span {
    display: block;
    padding: 2px 0 3px;
}

.rrpp-kropki {
    display: flex;
    justify-content: center;
    gap: 4px;
    margin-top: 8px;
}

.rrpp .rrpp-kropki button {
    width: 28px;
    height: 28px;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.rrpp-kropki button::before {
    content: "";
    display: block;
    width: 9px;
    height: 9px;
    margin: auto;
    border-radius: 50%;
    background: var(--rrpp-line);
    transition: background 0.2s, transform 0.2s;
}

.rrpp-kropki button[aria-current="true"]::before {
    background: var(--rrpp-ink);
    transform: scale(1.25);
}

.rrp-page.rrpp > .rrpp-jak {
    background: var(--rrpp-bg);
}

.rrpp-krok {
    padding: 0;
    text-align: center;
}

.rrpp-krok p {
    max-width: 320px;
    margin: 0 auto 8px;
}

.rrpp-nr {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    margin-right: 8px;
    border-radius: 50%;
    background: var(--rrpp-ink);
    color: #fff;
    font-size: 15px;
    vertical-align: 2px;
}

/* Ramka telefonu ze zrzutem plannera. */
.rrpp-telefon {
    position: relative;
    width: min(250px, 70%);
    margin: 0 auto 16px;
    padding: 8px;
    border-radius: 34px;
    background: #1f2430;
    box-shadow: var(--rrpp-cien);
    aspect-ratio: 600 / 1022;
    box-sizing: content-box;
}

.rrpp-telefon img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 26px;
    object-fit: cover;
    background: #fff;
}

/* Krok 2: okno wyboru tapety, potem sciana z tapeta - na zmiane. */
.rrpp-telefon-zmiana img + img {
    position: absolute;
    top: 8px;
    left: 8px;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
    animation: rrpp-zmiana 7s ease-in-out infinite;
}

@keyframes rrpp-zmiana {
    0%, 35% { opacity: 0; }
    45%, 90% { opacity: 1; }
    100% { opacity: 0; }
}

/* ------------------------------------------------------------------ planer */

.rrpp > section[id] {
    scroll-margin-top: 70px;
}

/* ------------------------------------------------------------------ korzysci */

.rrpp-korzysci {
    display: grid;
    gap: 18px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.rrpp-korzysci li {
    display: flex;
    gap: 14px;
    margin: 0;
}

.rrpp-korzysci p {
    margin: 0;
}

.rrpp-ikona {
    flex: none;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: var(--rrpp-rose-soft);
    color: var(--rrpp-ink);
}

.rrpp-ikona svg {
    width: 24px;
    height: 24px;
}

/* ------------------------------------------------------------------ pytania */

.rrp-page.rrpp > .rrpp-faq {
    background: var(--rrpp-bg);
}

/* Telefon: zapas pod pytaniami - przycisk przypiety u dolu nie zaslania ostatniej odpowiedzi. */
@media (max-width: 899px) {
    .rrp-page.rrpp > .rrpp-faq {
        padding-bottom: 96px;
    }
}

.rrpp-faq-lista {
    max-width: 820px;
    border-top: 1px solid var(--rrpp-line);
}

.rrpp-faq-lista h3 {
    margin: 0;
    border-bottom: 1px solid var(--rrpp-line);
    font-size: 17px;
}

.rrpp .rrpp-faq-lista h3 button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 56px;
    margin: 0;
    padding: 14px 2px;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    line-height: 1.35;
    text-align: left;
    text-transform: none;
    letter-spacing: 0;
    cursor: pointer;
}

.rrpp-faq-lista h3 button::after {
    content: "";
    flex: none;
    width: 10px;
    height: 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translate(-2px, -2px);
    transition: transform 0.2s;
}

.rrpp-faq-lista h3 button[aria-expanded="true"]::after {
    transform: rotate(-135deg) translate(-2px, -2px);
}

.rrpp-faq-lista h3 + p {
    margin: 0;
    padding: 12px 2px 18px;
    border-bottom: 1px solid var(--rrpp-line);
}

/* ------------------------------------------------------------------ przycisk przypiety (telefon) */

.rrpp-przypiety {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    z-index: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    border-radius: 999px;
    background: var(--rrpp-ink);
    color: #fff !important;
    font-size: 17px;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 10px 28px rgba(3, 41, 93, 0.35);
    animation: rrpp-wjazd 0.25s ease-out;
}

.rrpp-przypiety[hidden] {
    display: none;
}

@keyframes rrpp-wjazd {
    from { transform: translateY(120%); }
}

/* Planner na calym ekranie (0.38.5) - przycisk strony nie moze go zaslaniac. */
html.rrp-app-lock .rrpp-przypiety {
    display: none;
}

/* ------------------------------------------------------------------ komputer */

@media (min-width: 900px) {
    .rrp-page.rrpp > .rrpp-pas {
        padding: 64px 24px;
    }

    .rrpp-hero-in {
        grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
        grid-template-areas: "tekst foto" "akcje foto" "zaufanie foto";
        grid-template-rows: auto auto 1fr;
        column-gap: 48px;
        align-items: start;
    }

    .rrpp-hero-tekst { grid-area: tekst; padding-top: 24px; }
    .rrpp-ba { grid-area: foto; }
    .rrpp-hero-akcje { grid-area: akcje; }
    .rrpp-zaufanie { grid-area: zaufanie; }
    .rrpp-hero-akcje .rrpp-btn { flex: 0 0 auto; }

    .rrpp-karty,
    .rrpp-kroki {
        display: grid;
        margin: 0;
        padding: 0;
        overflow: visible;
    }

    .rrpp-karty {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 20px;
    }

    .rrpp-kroki {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 32px;
    }

    .rrpp-kropki {
        display: none;
    }

    .rrpp-korzysci {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 28px 36px;
    }

    .rrpp-przypiety {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rrpp-telefon-zmiana img + img {
        animation: none;
        opacity: 1;
    }

    .rrpp-przypiety {
        transition: none;
        animation: none;
    }
}
