/* Moje płyny do opalania natryskowego */

.plyny-page {
    --plyny-espresso: var(--reviews-espresso, #43302a);
    --plyny-cocoa: var(--reviews-cocoa, #705346);
    --plyny-caramel: var(--reviews-caramel, #bb8762);
    --plyny-cream: var(--reviews-cream, #fcf8f2);
    --plyny-sand: var(--reviews-sand, #e8d5c3);
    --plyny-line: rgba(67, 48, 42, .1);
    --plyny-mine: #c45d7a;
    --plyny-azure: #3d8ea0;
    --plyny-expert: #9a7b4f;
    color: var(--plyny-espresso);
    background: var(--plyny-cream);
    overflow-x: clip;
}

.plyny-page h1,
.plyny-page h2,
.plyny-page h3,
.plyny-page h4 {
    font-family: "Work Sans", sans-serif;
    letter-spacing: -0.02em;
}

.plyny-page .reviews-hero {
    min-height: 0;
}

.plyny-page .reviews-hero__inner {
    padding-top: clamp(3.5rem, 8vw, 5rem);
    padding-bottom: clamp(2.25rem, 5vw, 3.25rem);
}

.plyny-hero-logo {
    display: block;
    width: auto;
    height: clamp(40px, 9vw, 58px);
    margin: 0 auto .55rem;
}

.plyny-page .reviews-hero h1 {
    margin-bottom: .85rem;
    max-width: 14ch;
    margin-left: auto;
    margin-right: auto;
    font: 600 clamp(2.2rem, 6vw, 3.65rem)/1.08 "Playfair Display", Georgia, serif;
    letter-spacing: -0.03em;
    overflow-wrap: normal;
    word-break: normal;
}

.plyny-page .reviews-hero h1 span {
    color: var(--plyny-caramel);
}

.plyny-page .reviews-hero__lead {
    max-width: 40rem;
    margin: 0 auto;
    color: #5e4a40;
    font-size: clamp(.95rem, 1.8vw, 1.12rem);
    line-height: 1.65;
}

.plyny-hero__scroll {
    margin-top: 1.35rem;
}

/* Hide floater until scroll (style.min may lag; keep here as source of truth for this page) */
.plyny-page .dojazd-bar--scroll-reveal {
    transform: translate3d(0, calc(100% + 1.5rem), 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .45s cubic-bezier(.22, 1, .36, 1), opacity .35s ease, visibility .45s;
}

.plyny-page .dojazd-bar--scroll-reveal.is-visible {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

@media (prefers-reduced-motion: reduce) {
    .plyny-page .dojazd-bar--scroll-reveal {
        transition: opacity .2s ease, visibility .2s;
        transform: none !important;
    }
}

/*** Assurances ***/
.plyny-assure {
    padding: clamp(1.35rem, 3.5vw, 2rem) 0;
    border-bottom: 1px solid var(--plyny-line);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0)),
        var(--plyny-cream);
}

.plyny-assure__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 576px) {
    .plyny-assure__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.1rem 1.25rem;
    }
}

@media (min-width: 992px) {
    .plyny-assure__grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 1rem .85rem;
        align-items: start;
    }
}

.plyny-assure__item {
    display: grid;
    grid-template-columns: 3rem 1fr;
    gap: .75rem;
    align-items: start;
    min-width: 0;
    padding-left: .5rem;
}

@media (min-width: 992px) {
    .plyny-assure__item {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
        gap: .65rem;
        padding: 0 .25rem;
    }
}

.plyny-assure__icon {
    width: 3rem;
    height: 3rem;
    margin-left: .15rem;
    object-fit: contain;
    /* Tint black line icons to brand caramel */
    filter: brightness(0) saturate(100%) invert(58%) sepia(24%) saturate(742%) hue-rotate(346deg) brightness(95%);
}

@media (min-width: 992px) {
    .plyny-assure__icon {
        width: 3.25rem;
        height: 3.25rem;
        margin-left: 0;
    }
}

.plyny-assure__copy {
    min-width: 0;
}

.plyny-assure__copy strong {
    display: block;
    margin: 0 0 .25rem;
    font-family: "Work Sans", sans-serif;
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--plyny-espresso);
    letter-spacing: -.01em;
}

.plyny-assure__copy p {
    margin: 0;
    font-size: .82rem;
    line-height: 1.45;
    color: var(--plyny-cocoa);
}

/*** Intro / stats ***/
.plyny-intro {
    padding: clamp(2rem, 5vw, 3.25rem) 0 clamp(1.25rem, 3vw, 2rem);
    scroll-margin-top: calc(var(--site-header-offset, 0px) + .5rem);
}

.plyny-section-heading {
    max-width: 28ch;
    margin: 0 auto clamp(1rem, 2.8vw, 1.5rem);
    text-align: center;
    font: 600 clamp(1.35rem, 3.2vw, 1.85rem)/1.2 "Playfair Display", Georgia, serif;
    letter-spacing: -0.02em;
    color: var(--plyny-espresso);
}

.plyny-assure .plyny-section-heading {
    margin-bottom: clamp(1.15rem, 3vw, 1.75rem);
}

.plyny-intro .plyny-stats {
    max-width: 42rem;
    margin: 0 auto;
}

.plyny-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}

@media (min-width: 640px) {
    .plyny-stats {
        gap: 1rem;
    }
}

.plyny-stat {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .55rem;
    padding: clamp(1.1rem, 3vw, 1.55rem) .7rem clamp(1rem, 2.5vw, 1.35rem);
    text-align: center;
    border-radius: var(--afterglow-radius-sm, .75rem);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 252, 248, .94));
    border: 1px solid rgba(67, 48, 42, .08);
    box-shadow: 0 10px 28px rgba(67, 48, 42, .04);
    opacity: 0;
    transform: translateY(1.1rem) scale(.96);
    transition:
        opacity .7s cubic-bezier(.22, 1, .36, 1),
        transform .7s cubic-bezier(.22, 1, .36, 1),
        border-color .25s ease,
        box-shadow .25s ease;
    transition-delay: var(--plyny-stat-delay, 0ms);
}

.plyny-stats.is-inview .plyny-stat {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.plyny-stat__num {
    display: block;
    margin: 0;
    padding: .08em 0 .12em;
    font: 600 clamp(2.35rem, 7.5vw, 3.75rem)/1.15 "Playfair Display", Georgia, serif;
    letter-spacing: -0.04em;
    font-variant-numeric: tabular-nums;
    overflow: visible;
}

.plyny-stat:nth-child(1) .plyny-stat__num,
.plyny-stat:nth-child(2) .plyny-stat__num,
.plyny-stat:nth-child(3) .plyny-stat__num { color: #705346; }

.plyny-stat__label {
    display: block;
    max-width: 11ch;
    margin: 0 auto;
    font-family: "Work Sans", sans-serif;
    font-size: clamp(.68rem, 1.7vw, .78rem);
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--plyny-cocoa);
}

@media (hover: hover) and (pointer: fine) {
    .plyny-stats.is-inview .plyny-stat:hover {
        border-color: rgba(196, 93, 122, .35);
        box-shadow: 0 14px 32px rgba(67, 48, 42, .08);
        transform: translateY(-3px) scale(1);
    }
}

/*** Sticky brand nav + product TOC ***/
.plyny-nav-wrap {
    position: relative;
    z-index: 1;
    padding: clamp(1.25rem, 3.5vw, 2rem) 0 clamp(1.5rem, 4vw, 2.5rem);
    background: #fff;
    border-bottom: 0;
    overflow: visible;
    scroll-margin-top: calc(var(--site-header-offset, 0px) + .75rem);
}

.plyny-nav__heading {
    max-width: 22ch;
    margin: 0 auto clamp(.85rem, 2.5vw, 1.25rem);
    text-align: center;
    font: 600 clamp(1.55rem, 4vw, 2.25rem)/1.2 "Playfair Display", Georgia, serif;
    letter-spacing: -0.02em;
    color: var(--plyny-espresso);
}

@media (min-width: 768px) {
    .plyny-nav__heading {
        max-width: 36ch;
    }
}

@media (min-width: 992px) {
    .plyny-nav__heading {
        max-width: 42ch;
    }
}

.plyny-toc {
    display: grid;
    gap: clamp(1.5rem, 4vw, 2.25rem);
    justify-items: center;
}

@media (min-width: 768px) {
    .plyny-toc {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: start;
        gap: 1.5rem 1.25rem;
        justify-items: stretch;
    }
}

.plyny-toc__brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .85rem;
    width: 100%;
    max-width: 18rem;
}

@media (min-width: 768px) {
    .plyny-toc__brand {
        max-width: none;
    }
}

.plyny-nav__brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: .25rem .2rem;
    border: 0;
    background: transparent;
    text-decoration: none;
    box-shadow: none;
    transition: opacity .2s ease;
}

.plyny-nav__brand:hover,
.plyny-nav__brand:focus-visible {
    opacity: .75;
}

.plyny-nav__brand img {
    display: block;
    width: auto;
    max-width: min(40vw, 7.5rem);
    height: clamp(1.05rem, 3.2vw, 1.35rem);
    object-fit: contain;
}

.plyny-nav__brand--mine img {
    max-width: min(28vw, 5rem);
    height: clamp(1.55rem, 4.6vw, 2rem);
}

@media (min-width: 768px) {
    .plyny-nav__brand {
        padding: .35rem .4rem;
    }

    .plyny-nav__brand img {
        max-width: none;
        height: 1.25rem;
    }

    .plyny-nav__brand--mine img {
        max-width: none;
        height: 1.85rem;
    }
}

@media (min-width: 992px) {
    .plyny-nav__brand img {
        height: 1.35rem;
    }

    .plyny-nav__brand--mine img {
        height: 2rem;
    }
}

.plyny-toc__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .4rem;
    width: 100%;
}

@media (min-width: 768px) {
    .plyny-toc__list {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: .35rem;
    }
}

.plyny-toc__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding: .35rem .7rem;
    border-radius: 999px;
    background: var(--plyny-accent-soft, rgba(187, 135, 98, .12));
    color: var(--plyny-accent-ink, var(--plyny-espresso));
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .01em;
    line-height: 1.25;
    text-decoration: none;
    text-align: center;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

@media (min-width: 768px) {
    .plyny-toc__link {
        width: 100%;
        justify-content: flex-start;
        border-radius: .65rem;
        padding: .45rem .75rem;
        font-size: .82rem;
    }
}

.plyny-toc__link:hover,
.plyny-toc__link:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(67, 48, 42, .08);
    filter: saturate(1.08);
    color: var(--plyny-accent-ink, var(--plyny-espresso));
}

/*** Brand chapters ***/
.plyny-brand {
    padding: clamp(2.5rem, 6vw, 4rem) 0;
    scroll-margin-top: calc(var(--site-header-offset, 0px) + 4rem);
}

.plyny-brand--mine {
    background: #fff;
    padding-top: clamp(1rem, 2.5vw, 1.5rem);
}

.plyny-brand--azure {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .4) 0%, transparent 20%),
        linear-gradient(225deg, rgba(61, 142, 160, .07), rgba(252, 248, 242, 0) 45%),
        #f7faf9;
}

.plyny-brand--expert {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .5) 0%, transparent 18%),
        linear-gradient(160deg, rgba(154, 123, 79, .08), rgba(252, 248, 242, 0) 40%),
        var(--plyny-cream);
}

.plyny-brand__head {
    margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
    max-width: 40rem;
}

.plyny-brand__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin: 0 0 .65rem;
    font-family: "Work Sans", sans-serif;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--plyny-caramel);
}

.plyny-brand--mine .plyny-brand__eyebrow { color: var(--plyny-mine); }
.plyny-brand--azure .plyny-brand__eyebrow { color: var(--plyny-azure); }
.plyny-brand--expert .plyny-brand__eyebrow { color: var(--plyny-expert); }

.plyny-brand__head h2 {
    margin: 0 0 .75rem;
    font: 600 clamp(1.45rem, 3.2vw, 2rem)/1.2 "Playfair Display", Georgia, serif;
    color: var(--plyny-espresso);
}

.plyny-brand__head p {
    margin: 0;
    color: var(--plyny-cocoa);
    font-size: 1.02rem;
    line-height: 1.7;
}

/*** Product rows ***/
.plyny-products {
    display: grid;
    gap: 1.25rem;
    /* Absorb hover translateY so it doesn't grow the document height */
    padding: .35rem 0 .55rem;
}

.plyny-product {
    display: grid;
    gap: 0;
    overflow: hidden;
    border-radius: var(--afterglow-radius, 1.125rem);
    background: #fff;
    border: 1px solid var(--plyny-line);
    box-shadow: 0 10px 28px -22px rgba(67, 48, 42, .35);
    transition: transform .35s ease, box-shadow .35s ease;
    scroll-margin-top: calc(var(--site-header-offset, 0px) + 1rem);
}

@media (min-width: 768px) {
    .plyny-product {
        grid-template-columns: minmax(220px, .9fr) 1.15fr;
        align-items: stretch;
    }

    .plyny-product--flip {
        grid-template-columns: 1.15fr minmax(220px, .9fr);
    }

    .plyny-product--flip .plyny-product__media {
        order: 2;
    }

    .plyny-product--flip .plyny-product__body {
        order: 1;
    }
}

.plyny-product:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 36px -24px rgba(67, 48, 42, .45);
}

.plyny-product__media {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 260px;
    padding: 1.25rem 1rem;
    background:
        radial-gradient(ellipse at 50% 30%, rgba(255, 255, 255, .95), transparent 65%),
        linear-gradient(160deg, #f4ebe3, #faf6f1 55%, #efe4d8);
}

.plyny-brand--azure .plyny-product__media {
    /* Match Extreme Dark / Firm & Tone studio backdrop */
    background: #f6e5db;
    /* Soft depth on the media panel (parent), clipped by card overflow */
    box-shadow: inset 0 0 0 1px rgba(67, 48, 42, .04),
                0 10px 24px -16px rgba(67, 48, 42, .22);
}

.plyny-brand--azure .plyny-product__media--white {
    background: #fff;
}

.plyny-brand--azure .plyny-product__media img {
    filter: none;
}

.plyny-brand--expert .plyny-product__media {
    background: #fff;
    box-shadow: none;
}

.plyny-brand--expert .plyny-product__media img {
    filter: none;
}

.plyny-brand--mine .plyny-product__media {
    overflow: hidden;
    isolation: isolate;
    background: #f3ebe4;
}

.plyny-brand--mine .plyny-product__media-blur {
    position: absolute;
    inset: -10%;
    z-index: 0;
    width: auto;
    max-width: none;
    max-height: none;
    height: 120%;
    min-width: 120%;
    min-height: 120%;
    margin: auto;
    object-fit: cover;
    object-position: center;
    filter: blur(26px) saturate(.95) brightness(1.35);
    transform: rotate(45deg) scale(1.35);
    pointer-events: none;
    user-select: none;
}

.plyny-brand--mine .plyny-product__media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, .78),
        rgba(255, 255, 255, .68) 45%,
        rgba(255, 255, 255, .74)
    );
    pointer-events: none;
}

.plyny-product__media img {
    position: relative;
    z-index: 1;
    width: auto;
    max-width: min(100%, 220px);
    max-height: 300px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 14px 22px rgba(67, 48, 42, .14));
    transition: transform .45s ease;
}

.plyny-brand--mine .plyny-product__media > img:not(.plyny-product__media-blur) {
    z-index: 1;
}

.plyny-product:hover .plyny-product__media img:not(.plyny-product__media-blur) {
    transform: translateY(-4px) scale(1.02);
}

.plyny-product__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.35rem 1.25rem 1.5rem;
}

@media (min-width: 768px) {
    .plyny-product__body {
        padding: 1.75rem 1.75rem 1.85rem;
    }
}

.plyny-product__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin: 0 0 .7rem;
}

.plyny-chip {
    display: inline-flex;
    align-items: center;
    padding: .22rem .55rem;
    border-radius: 999px;
    background: var(--plyny-accent-soft, rgba(187, 135, 98, .12));
    color: var(--plyny-accent-ink, var(--plyny-espresso));
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .02em;
}

.plyny-product__body h3 {
    margin: 0 0 .55rem;
    font: 600 clamp(1.35rem, 2.6vw, 1.7rem)/1.15 "Playfair Display", Georgia, serif;
    color: var(--plyny-accent-ink, var(--plyny-espresso));
}

/* Per-product accents matching bottle labels */
.plyny-product--perfect-bride { --plyny-accent-soft: #fce4ec; --plyny-accent-ink: #c45d7a; }
.plyny-product--double-dark { --plyny-accent-soft: #f5e4e8; --plyny-accent-ink: #a45f70; }
.plyny-product--olive { --plyny-accent-soft: #e0f7f5; --plyny-accent-ink: #1f8a82; }
.plyny-product--violet { --plyny-accent-soft: #eee6fa; --plyny-accent-ink: #6f4fb8; }
.plyny-product--dark-ash { --plyny-accent-soft: #e8ebef; --plyny-accent-ink: #5a6573; }
.plyny-product--absolute { --plyny-accent-soft: #ebe8e7; --plyny-accent-ink: #3d3532; }
.plyny-product--coconut { --plyny-accent-soft: #e1f5fc; --plyny-accent-ink: #1689b8; }
.plyny-product--wondertan { --plyny-accent-soft: #fde8e8; --plyny-accent-ink: #d14548; }
.plyny-product--workout-ready { --plyny-accent-soft: #f8e4ef; --plyny-accent-ink: #b0457a; }
.plyny-product--green-base { --plyny-accent-soft: #e0f6f4; --plyny-accent-ink: #0d8f84; }
.plyny-product--extreme-dark { --plyny-accent-soft: #e4eaf1; --plyny-accent-ink: #1f3658; }
.plyny-product--violet-base { --plyny-accent-soft: #efe6f8; --plyny-accent-ink: #6b3fa0; }
.plyny-product--firm-tone { --plyny-accent-soft: #fce4ec; --plyny-accent-ink: #c2185b; }
.plyny-product--organic-coconut { --plyny-accent-soft: #e1f5fe; --plyny-accent-ink: #0277bd; }
.plyny-product--prime-glow { --plyny-accent-soft: #f4ecdf; --plyny-accent-ink: #8a6b3d; }

.plyny-product__why {
    margin: 0 0 1rem;
    color: var(--plyny-cocoa);
    font-size: .98rem;
    line-height: 1.65;
}

.plyny-product__benefits {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: .45rem;
}

.plyny-product__benefits li {
    position: relative;
    padding-left: 1.15rem;
    color: var(--plyny-espresso);
    font-size: .9rem;
    line-height: 1.45;
}

.plyny-product__benefits li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .55em;
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: var(--plyny-accent-ink, var(--plyny-caramel));
}

.plyny-product__back {
    margin: 1rem 0 0;
}

.plyny-product__back a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: var(--plyny-accent-ink, var(--plyny-caramel));
    font-size: .88rem;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: .01em;
}

.plyny-product__back a::before {
    content: "↑";
    font-size: .95em;
    line-height: 1;
}

.plyny-product__back a:hover,
.plyny-product__back a:focus-visible {
    text-decoration: underline;
    text-underline-offset: .18em;
}

/*** Closing note ***/
.plyny-note {
    padding: 0 0 clamp(2rem, 5vw, 3rem);
}

.plyny-note__box {
    max-width: 46rem;
    margin: 0 auto;
    padding: clamp(1.5rem, 4vw, 2rem);
    border-radius: var(--afterglow-radius, 1.125rem);
    background: #fff;
    border: 1px solid var(--plyny-line);
    text-align: center;
}

.plyny-note__box h2 {
    margin: 0 0 .65rem;
    max-width: 22ch;
    margin-left: auto;
    margin-right: auto;
    font: 600 clamp(1.55rem, 3.5vw, 2.1rem)/1.15 "Playfair Display", Georgia, serif;
}

.plyny-note__box p {
    margin: 0;
    color: var(--plyny-cocoa);
    font-size: 1.02rem;
    line-height: 1.65;
}

.plyny-page .reviews-cta h2 {
    margin: 0;
    max-width: none;
    color: #fff;
    font: 500 clamp(2rem, 4vw, 3.2rem)/1.15 "Playfair Display", Georgia, serif;
}

@media (prefers-reduced-motion: reduce) {
    .plyny-brand--mine .plyny-product__media-blur {
        filter: blur(16px) saturate(.95);
        transform: rotate(45deg) scale(1.25);
    }

    .plyny-product,
    .plyny-product__media img,
    .plyny-nav__brand,
    .plyny-toc__link,
    .plyny-stat {
        transition: none;
    }

    .plyny-stat {
        opacity: 1;
        transform: none;
    }

    .plyny-product:hover,
    .plyny-product:hover .plyny-product__media img:not(.plyny-product__media-blur),
    .plyny-stats.is-inview .plyny-stat:hover {
        transform: none;
    }
}
