/* ============================================
   NADOLSKA MAKEUP — design system
   ============================================ */

:root{
    --bg: #FFFFFF;
    --bg-2: #F6F5F2;
    --bg-3: #E7DBC6;
    --ink: #100D0B;
    --ink-2: #2E2926;
    --muted: #7A736C;
    --line: #E6E3DE;
    --line-2: #C8B996;
    --gold: #B5965E;
    --gold-2: #8E7544;
    --rose: #C9A78A;
    --white: #FFFFFF;
    --shadow: 0 30px 80px -30px rgba(16,13,11,.22);
    --shadow-sm: 0 10px 30px -10px rgba(16,13,11,.14);
    /* Hero overlay opacity — set inline from Customizer (.55 default = średnio przyciemniony) */
    --hero-overlay: .55;

    --serif: "Playfair Display", "Cormorant Garamond", Georgia, serif;
    --sans:  "Jost", -apple-system, "Helvetica Neue", Arial, sans-serif;

    --container: 1280px;
    --gutter: clamp(1.25rem, 4vw, 3rem);
    --section-y: clamp(4rem, 9vw, 8rem);

    --t-fast: .25s cubic-bezier(.2,.6,.2,1);
    --t:      .55s cubic-bezier(.2,.6,.2,1);
    --t-slow: .9s  cubic-bezier(.2,.6,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
    margin:0;
    background-color:var(--bg);
    background-image:
        radial-gradient(circle, rgba(16,13,11,.05) 1px, transparent 1.4px),
        radial-gradient(circle, rgba(16,13,11,.05) 1px, transparent 1.4px);
    background-position:0 0, 22px 22px;
    background-size:44px 44px;
    background-attachment:fixed;
    color:var(--ink);
    font-family:var(--sans);
    font-weight:400;
    font-size:16px;
    line-height:1.65;
    letter-spacing:.01em;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    overflow-x:hidden;
}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none;transition:color var(--t-fast), opacity var(--t-fast)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}

/* ---------- TYPE ---------- */
.eyebrow{
    font-family:var(--sans);
    font-size:.72rem;
    font-weight:400;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold-2);
    display:inline-flex;
    align-items:center;
    gap:.75rem;
}
.eyebrow::before{content:"";width:32px;height:1px;background:currentColor;opacity:.6}
.eyebrow.no-line::before{display:none}

h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.005em;line-height:1.2;margin:0;font-style:normal}
h1{font-size:clamp(1.8rem, 3.6vw, 3rem)}
h2{font-size:clamp(1.5rem, 2.6vw, 2.2rem)}
h3{font-size:clamp(1.2rem, 1.8vw, 1.55rem)}
h4{font-size:clamp(1rem, 1.3vw, 1.2rem)}

/* normalize fancy em / italic accents inside headings — keep one uniform style */
h1 em, h2 em, h3 em, h4 em,
.h-italic, .h-italic em,
.svc-hero__title em,
.tagline h2, .tagline h2 span,
.about__signature{
    font-style:normal !important;
    color:inherit !important;
    font-weight:inherit !important;
}

/* keep <em> italic only in body copy (paragraphs, lists, etc.) */
p em, li em, blockquote em{font-style:italic;color:inherit}

p{margin:0 0 1.1em}
p.lead{font-size:1.125rem;line-height:1.75;color:var(--ink-2);max-width:60ch}

/* ---------- LAYOUT ---------- */
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--section-y) 0;position:relative}
.section--tight{padding:clamp(3rem,6vw,5rem) 0}

.divider{height:1px;background:var(--line);margin:0}

/* ---------- HEADER ---------- */
.site-header{
    position:fixed;
    top:0;left:0;right:0;
    z-index:60;
    padding:.7rem 0;
    background:rgba(255,255,255,.85);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid transparent;
    transition:padding var(--t), background var(--t), border-color var(--t);
}
.site-header.is-scrolled{padding:.5rem 0;border-bottom-color:var(--line)}
.nav{
    display:flex;
    align-items:center;
    gap:clamp(1rem,2.4vw,2.4rem);
}
.brand{
    order:1;
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
    line-height:1;
    margin-right:auto;
}
.brand__logo{
    display:block;
    height:50px;
    width:auto;
    transition:height var(--t);
}
.is-scrolled .brand__logo{height:40px}

/* WordPress custom logo (the_custom_logo) — wymuś rozmiar */
.nav .custom-logo-link{
    order:1;
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    margin-right:auto;
    line-height:1;
    text-decoration:none;
}
.nav .custom-logo{
    height:50px !important;
    width:auto !important;
    max-width:240px;
    display:block;
    transition:height var(--t);
}
.is-scrolled .nav .custom-logo{height:40px !important}
@media (max-width:760px){
    .nav .custom-logo{height:38px !important;max-width:180px}
    .is-scrolled .nav .custom-logo{height:32px !important}
}
.brand__name{
    font-family:var(--serif);
    font-style:normal;
    font-weight:500;
    font-size:1.45rem;
    letter-spacing:.01em;
}
.brand__tag{
    font-size:.62rem;
    letter-spacing:.42em;
    text-transform:uppercase;
    color:var(--muted);
    margin-top:.35rem;
}
.nav__list{
    display:flex;
    list-style:none;
    margin:0;padding:0;
    gap:clamp(1rem,1.8vw,1.8rem);
    font-size:.78rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    align-items:center;
}
.nav__list--left{order:2;justify-content:flex-end}
.nav__list--right{order:3;justify-content:flex-end}
.nav__item{position:relative}
.nav__link{
    position:relative;
    padding:.4rem .15rem;
    color:var(--ink);
    transition:color var(--t-fast);
}
.nav__link::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:0;
    height:1px;
    background:var(--gold);
    transform-origin:right;
    transform:scaleX(0);
    transition:transform var(--t);
}
.nav__link:hover{color:var(--gold-2)}
.nav__link:hover::after{transform-origin:left;transform:scaleX(1)}
.nav__link.is-active::after{transform:scaleX(1);transform-origin:left}

.nav__has-sub > .nav__link::before{
    content:"";
    width:5px;height:5px;
    border-right:1px solid currentColor;
    border-bottom:1px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
    display:inline-block;
    margin-right:.5rem;
    opacity:.5;
}
.subnav{
    position:absolute;
    top:calc(100% + 12px);
    left:50%;
    transform:translateX(-50%) translateY(8px);
    min-width:280px;
    background:var(--white);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
    padding:.75rem 0;
    list-style:none;
    margin:0;
    text-transform:none;
    letter-spacing:.04em;
    font-size:.86rem;
    opacity:0;
    visibility:hidden;
    transition:opacity var(--t), transform var(--t), visibility var(--t);
}
.nav__has-sub:hover .subnav, .nav__has-sub:focus-within .subnav{
    opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);
}
.subnav a{display:block;padding:.55rem 1.4rem;color:var(--ink-2)}
.subnav a:hover{color:var(--gold-2);background:var(--bg)}

.nav-toggle{
    display:none;
    order:99;
    width:32px;height:32px;
    position:relative;
    flex:0 0 auto;
}
.nav-toggle span{
    position:absolute;left:6px;right:6px;height:1px;background:var(--ink);
    transition:transform var(--t), top var(--t), opacity var(--t-fast);
}
.nav-toggle span:nth-child(1){top:11px}
.nav-toggle span:nth-child(2){top:16px}
.nav-toggle span:nth-child(3){top:21px}
.is-menu-open .nav-toggle span:nth-child(1){top:16px;transform:rotate(45deg)}
.is-menu-open .nav-toggle span:nth-child(2){opacity:0}
.is-menu-open .nav-toggle span:nth-child(3){top:16px;transform:rotate(-45deg)}

.nav__cta{
    order:4;
    margin-left:.6rem;
}

/* ---------- BUTTONS ---------- */
.btn{
    display:inline-flex;
    align-items:center;
    gap:.7rem;
    padding:1rem 1.8rem;
    font-size:.74rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    border:1px solid var(--ink);
    background:var(--ink);
    color:var(--bg);
    transition:background var(--t), color var(--t), border-color var(--t), transform var(--t-fast);
    position:relative;
    overflow:hidden;
}
.btn:hover{background:transparent;color:var(--ink)}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--bg)}
.btn--gold{background:var(--gold);border-color:var(--gold);color:var(--white)}
.btn--gold:hover{background:transparent;color:var(--gold-2);border-color:var(--gold-2)}
.btn--sm{padding:.7rem 1.2rem;font-size:.68rem}
.btn .arrow{display:inline-block;transition:transform var(--t)}
.btn:hover .arrow{transform:translateX(4px)}

.link-arrow{
    display:inline-flex;align-items:center;gap:.55rem;
    font-size:.76rem;letter-spacing:.26em;text-transform:uppercase;
    color:var(--ink);
    border-bottom:1px solid var(--ink);
    padding-bottom:.35rem;
    transition:color var(--t), border-color var(--t), gap var(--t);
}
.link-arrow:hover{color:var(--gold-2);border-color:var(--gold-2);gap:.9rem}

/* ---------- HERO — full-bleed banner ---------- */
.hero{
    position:relative;
    width:100%;
    overflow:hidden;
    background:var(--ink);
    color:var(--white);
}
.hero .hero__slides{
    position:relative;
    width:100%;
    height:calc(100vh - 110px);
    height:calc(100dvh - 110px);
    min-height:580px;
    flex:0 0 auto;
}
.hero .hero__slide{
    position:absolute;
    top:0;left:0;right:0;bottom:0;
    background-color:var(--bg-3);
    background-size:cover;
    background-position:center;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:7rem clamp(1.25rem,4vw,3rem) 4rem;
    opacity:0;
    pointer-events:none;
    z-index:1;
    transition:opacity .9s ease;
    overflow:hidden;
}
.hero .hero__slide.is-active{
    opacity:1;
    pointer-events:auto;
    z-index:2;
}
/* override .ph::before/::after inside hero slides — keep gradient tło, hide label */
.hero .hero__slide.ph::after{display:none}
.hero .hero__slide > .container{position:relative;z-index:3;width:100%}
.hero__overlay{
    position:absolute;inset:0;
    /* Opacity sterowane z Customizera przez --hero-overlay (0.0–1.0) */
    background:linear-gradient(180deg,
        rgba(0,0,0, calc(var(--hero-overlay, .55) * .55)) 0%,
        rgba(0,0,0, calc(var(--hero-overlay, .55) * .85)) 60%,
        rgba(0,0,0, calc(var(--hero-overlay, .55) * 1))   100%);
    z-index:1;
    pointer-events:none;
}
.hero__content{
    position:relative;
    z-index:2;
    max-width:920px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
}
.hero__content .eyebrow{color:rgba(255,253,249,.75);justify-content:center;margin-bottom:1.2rem;font-size:.65rem;letter-spacing:.36em}
.hero__content .eyebrow::before{background:rgba(255,253,249,.5);opacity:.7;width:24px}

.hero__title{
    font-size:clamp(1.6rem,3.4vw,2.8rem);
    line-height:1.2;
    letter-spacing:.005em;
    color:var(--white);
    text-shadow:0 1px 18px rgba(34,28,22,.2);
    font-weight:400;
    max-width:22ch;
    margin-left:auto;margin-right:auto;
}
.hero__title em, .hero__title .accent{font-style:normal;color:inherit;font-weight:inherit}

.hero__sub{
    margin:1.2rem auto 0;
    max-width:48ch;
    font-size:clamp(.85rem,.95vw,1rem);
    line-height:1.65;
    color:rgba(255,253,249,.85);
    font-weight:400;
}
.hero__cta{
    margin-top:2rem;
    display:flex;
    gap:.8rem;
    flex-wrap:wrap;
    justify-content:center;
}
.hero__cta .btn{padding:.85rem 1.4rem;font-size:.68rem}
.hero__cta .btn{background:var(--white);color:var(--ink);border-color:var(--white)}
.hero__cta .btn:hover{background:transparent;color:var(--white)}
.hero__cta .btn--ghost{background:transparent;color:var(--white);border-color:rgba(255,253,249,.6)}
.hero__cta .btn--ghost:hover{background:var(--white);color:var(--ink);border-color:var(--white)}

/* Slider controls — laid over the slide, no circles */
.hero__nav{
    position:absolute;
    bottom:1.8rem;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:1.6rem;
    z-index:10;
}
.hero__btn{
    width:auto;height:auto;
    border:0;
    background:transparent;
    color:rgba(255,255,255,.8);
    padding:.3rem .6rem;
    font-size:1.4rem;
    line-height:1;
    transition:color var(--t-fast), transform var(--t-fast);
}
.hero__btn:hover{background:transparent;color:var(--gold);transform:translateY(-1px)}
.hero__dots{display:flex;gap:.55rem;align-items:center}
.hero__dot{
    width:8px;
    height:8px;
    padding:0;
    margin:0;
    border:0;
    border-radius:50%;
    background:rgba(255,253,249,.35);
    box-sizing:border-box;
    appearance:none;
    -webkit-appearance:none;
    flex:0 0 auto;                   /* w flex container nie kompresuj — inaczej iOS robi romb */
    cursor:pointer;
    transition:background var(--t-fast), width var(--t-fast), border-radius var(--t-fast);
}
.hero__dot:hover{background:rgba(255,253,249,.6)}
.hero__dot.is-active{
    background:var(--gold);
    width:24px;
    border-radius:4px;                /* aktywna = pill (bo width:24px, height:8px) */
}
.hero--single .hero__nav{display:none}

/* Scroll cue */
.hero__scroll{
    position:absolute;
    bottom:1.6rem;right:1.8rem;
    z-index:5;
    font-size:.62rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:rgba(255,253,249,.7);
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    display:flex;align-items:center;gap:.8rem;
}
.hero__scroll::after{content:"";width:1px;height:40px;background:rgba(255,253,249,.5)}

/* Floating badge variant */
.hero__badge{display:none !important}

.hero__marquee{
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:1.2rem 0;
    overflow:hidden;
    background:var(--bg);
}
.marquee__track{
    display:flex;
    gap:3.4rem;
    white-space:nowrap;
    animation:marquee 38s linear infinite;
    font-family:var(--serif);
    font-size:1.4rem;
    font-style:italic;
    color:var(--ink-2);
}
.marquee__track > span{display:inline-flex;align-items:center;gap:3.4rem}
.marquee__track .dot{
    width:6px;height:6px;border-radius:50%;background:var(--gold);
    display:inline-block;
}
/* Tablet — szybciej, bo viewport mniejszy i item dłużej "wisi" w widoku */
@media (max-width:1024px){
    .marquee__track{animation-duration:22s;gap:2.4rem;font-size:1.2rem}
    .marquee__track > span{gap:2.4rem}
}
/* Mobile — jeszcze szybciej, krótsze odstępy */
@media (max-width:760px){
    .marquee__track{animation-duration:14s;gap:1.6rem;font-size:1rem}
    .marquee__track > span{gap:1.6rem}
    .hero__marquee{padding:.9rem 0}
}

/* ---------- ABOUT ---------- */
.about{position:relative}
.about__grid{
    display:grid;
    grid-template-columns:.85fr 1.1fr;
    gap:clamp(2rem,6vw,6rem);
    align-items:center;
}
.about__photo{
    position:relative;
    aspect-ratio:3/4;
    overflow:hidden;
    background:var(--bg-3);
}
.about__photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s ease}
.about__photo:hover img{transform:scale(1.04)}
.about__photo::before{
    content:"";position:absolute;inset:1.2rem;border:1px solid var(--white);
    z-index:2;pointer-events:none;mix-blend-mode:overlay;
}
.about__title{margin:1rem 0 1.6rem}
.about__signature{
    margin-top:2rem;
    font-family:var(--serif);
    font-style:italic;
    font-size:1.6rem;
    color:var(--gold-2);
}
.about__stats{
    margin-top:2.4rem;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem 2rem;
    border-top:1px solid var(--line);
    padding-top:1.8rem;
}
.stat__num{font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--ink)}
.stat__num em{color:var(--gold-2)}
.stat__label{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:.5rem}

/* ---------- TAGLINE / OFFER INTRO ---------- */
.tagline{
    text-align:center;
    padding:clamp(3rem,7vw,6rem) var(--gutter);
    background:var(--bg-2);
    position:relative;
}
.tagline__inner{max-width:60ch;margin:0 auto}
.tagline h2{font-size:clamp(1.4rem,2.6vw,2.2rem);font-weight:400;line-height:1.3;max-width:42ch;margin:0 auto}
.tagline h2 span{color:var(--gold-2)}

/* ---------- SERVICES GRID ---------- */
.services{position:relative}
.services__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:2rem;
    flex-wrap:wrap;
    margin-bottom:clamp(2rem,5vw,4rem);
}
.services__head h2{max-width:18ch}
.services__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:clamp(1.4rem,2.5vw,2rem);
}
.svc-card{
    position:relative;
    background:var(--white);
    overflow:hidden;
    transition:transform var(--t), box-shadow var(--t);
}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.svc-card__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bg-3)}
.svc-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.6,.2,1)}
.svc-card:hover .svc-card__media img{transform:scale(1.06)}
/* Wyższa specyficzność (.svc-card .svc-card__media::after) — żeby pobić
   .ph::after (bottom:1rem;left:1rem), który leci później w pliku przy
   placeholderach .ph i przesuwał overlay 16px od lewej/dołu. */
.svc-card .svc-card__media::after{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    height:100%;
    /* Dwie warstwy:
       1) płaska "tint" 22% — pokrywa CAŁE zdjęcie równomiernie
       2) gradient na dole — kontrast pod tytułem (start od ~45% wysokości) */
    background:
        linear-gradient(180deg,
            rgba(16,13,11,0) 45%,
            rgba(16,13,11,.55) 100%),
        rgba(16,13,11,.22);
    opacity:1;
    transition:opacity var(--t);
    z-index:1;
}
.svc-card:hover .svc-card__media::after{opacity:.92}
.svc-card__num{
    position:absolute;top:1rem;left:1.2rem;
    font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--white);
    z-index:2;
    letter-spacing:.2em;
}
.svc-card__body{
    position:absolute;bottom:0;left:0;right:0;
    padding:1.6rem;color:var(--white);z-index:2;
}
.svc-card__body h3{font-size:clamp(1.4rem,2vw,1.8rem)}
.svc-card__body .meta{
    display:flex;gap:1rem;align-items:center;
    font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
    margin-top:.6rem;opacity:.85;
}
.svc-card__body .meta::before{content:"";width:24px;height:1px;background:var(--gold);}

/* large featured card */
.svc-card--feat{grid-column:span 2;grid-row:span 1}
.svc-card--feat .svc-card__media{aspect-ratio:16/10}

/* ---------- TESTIMONIALS — Facebook reviews style ---------- */
.testi{
    background:var(--bg);
    color:var(--ink);
    position:relative;
    overflow:hidden;
}
.testi__head{
    text-align:left;
    margin-bottom:clamp(1.6rem,4vw,2.4rem);
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:1.4rem;
}
.testi__head h2{color:var(--ink);margin:0;font-weight:500}
.testi__head .eyebrow{color:var(--gold-2)}
.testi__rating{
    display:flex;align-items:center;gap:.6rem;
    margin-top:.6rem;
    font-size:.92rem;color:var(--ink-2);
}
.testi__rating .stars{color:#F5A623;letter-spacing:.05em;font-size:1.05rem}
.testi__rating strong{color:var(--ink);font-weight:600}
.btn--fb{
    background:#1877F2;color:#fff;border-color:#1877F2;
    padding:.85rem 1.4rem;font-size:.74rem;letter-spacing:.18em;
    font-weight:500;
}
.btn--fb:hover{background:#0F5FCC;border-color:#0F5FCC;color:#fff}

.testi__rail{
    position:relative;
    padding:0 clamp(0px, 4vw, 60px);
}
.testi__viewport{overflow:hidden;padding:.8rem .4rem 1rem;border-radius:14px}
.testi__track{
    display:flex;
    gap:clamp(1rem,1.6vw,1.4rem);
    transition:transform .55s cubic-bezier(.2,.6,.2,1);
    will-change:transform;
    align-items:stretch;
}
.testi-card{
    flex:0 0 calc(33.333% - .94rem);
    background:var(--white);
    border:1px solid var(--line);
    border-radius:14px;
    padding:1.6rem 1.5rem 1.4rem;
    box-shadow:0 2px 6px rgba(16,13,11,.04);
    display:flex;flex-direction:column;
    min-height:260px;
    position:relative;
    transition:box-shadow var(--t-fast), transform var(--t-fast), border-color var(--t-fast);
}
.testi-card:hover{
    box-shadow:0 18px 40px -20px rgba(16,13,11,.18);
    border-color:#D8D3CB;
    transform:translateY(-3px);
}
.testi-card::before{
    content:"\201C";
    position:absolute;top:.6rem;right:1rem;
    font-family:var(--serif);
    font-size:3.4rem;line-height:1;color:var(--gold);
    opacity:.18;
    pointer-events:none;
    font-weight:400;
}
.testi-card__head{
    display:flex;align-items:center;gap:.8rem;margin-bottom:.9rem;
}
.testi-card__avatar{
    width:46px;height:46px;border-radius:50%;
    background:linear-gradient(135deg,var(--gold) 0%,var(--gold-2) 100%);
    overflow:hidden;flex:0 0 auto;
    display:grid;place-items:center;
    color:var(--white);font-weight:600;font-size:1rem;
    letter-spacing:.04em;
}
.testi-card__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.testi-card__meta{flex:1;min-width:0}
.testi-card__name{
    font-family:var(--sans);font-weight:600;font-size:.98rem;
    color:var(--ink);line-height:1.25;margin-bottom:.2rem;
    letter-spacing:.005em;
}
.testi-card__date{font-size:.76rem;color:var(--muted);line-height:1.2;letter-spacing:.04em}
.testi-card__source{
    flex:0 0 auto;width:20px;height:20px;
    color:#1877F2;
}
.testi-card__source--google{color:#4285F4}
.testi-card__source--instagram{
    background:linear-gradient(45deg,#F58529,#DD2A7B 50%,#8134AF 80%,#515BD4);
    -webkit-background-clip:text;background-clip:text;color:transparent;
}
.testi-card__source svg{width:100%;height:100%}
.testi-card .stars{
    color:#F5A623;font-size:.98rem;letter-spacing:.08em;
    margin-bottom:.85rem;line-height:1;
}
.testi-card p{
    font-family:var(--sans);font-style:normal !important;
    font-size:.92rem;line-height:1.6;color:var(--ink-2);
    margin:0;
    /* fallback gdy text bardzo długi — pokaż 6 linijek + ellipsis */
    display:-webkit-box;
    -webkit-line-clamp:6;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.testi-card cite{display:none}

/* Nawigacja — strzałki POZA railą, równo na środku osi pionowej */
.testi__nav{
    position:absolute;
    top:50%;left:0;right:0;
    transform:translateY(-50%);
    display:flex;justify-content:space-between;
    pointer-events:none;
    z-index:3;
}
.testi__nav .testi__dots{display:none}
.testi__btn{
    pointer-events:auto;
    width:48px;height:48px;
    border:1px solid var(--line);
    border-radius:50%;
    color:var(--ink);
    background:var(--white);
    display:grid;place-items:center;
    box-shadow:0 6px 18px -6px rgba(16,13,11,.18);
    transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
    font-size:1.1rem;
    line-height:1;
    /* znikają poza viewport karty */
    margin:0;
}
.testi__btn[data-testi-prev]{margin-left:-.4rem}
.testi__btn[data-testi-next]{margin-right:-.4rem}
.testi__btn:hover{
    background:var(--ink);
    border-color:var(--ink);
    color:var(--white);
    transform:scale(1.08);
    box-shadow:0 10px 24px -6px rgba(16,13,11,.32);
}
.testi__btn:active{transform:scale(.96)}
.testi__btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Paginacja — dots */
.testi__dots-wrap{
    margin-top:1.8rem;
    display:flex;justify-content:center;align-items:center;gap:.6rem;
}
.testi__dots-wrap .testi__dots{
    display:flex;align-items:center;gap:.6rem;
    line-height:0;
}
.testi__dots-wrap .testi__dot{
    appearance:none;-webkit-appearance:none;
    flex:0 0 auto;
    width:10px;height:10px;
    min-width:10px;min-height:10px;
    border-radius:50%;
    background:#D5CFC6;
    border:0;
    cursor:pointer;
    padding:0;
    box-shadow:none;
    transition:background var(--t-fast), width var(--t-fast), transform var(--t-fast);
}
.testi__dots-wrap .testi__dot:hover{background:var(--gold)}
.testi__dots-wrap .testi__dot.is-active{
    background:var(--ink);
    width:28px;
    border-radius:5px;
}
.testi__dots-wrap .testi__dot:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

@media (max-width:1024px){
    .testi__rail{padding:0 clamp(0px, 6vw, 50px)}
    .testi-card{flex:0 0 calc(50% - .8rem);min-height:240px}
    .testi__head{grid-template-columns:1fr}
    .testi__head .testi__head-cta{justify-self:start}
}
@media (max-width:760px){
    .testi__rail{padding:0}
    .testi__nav{display:none} /* na mobile użytkownik scrolluje dots/swipe */
    .testi-card{flex:0 0 100%;padding:1.3rem 1.2rem;min-height:220px}
    .testi-card p{-webkit-line-clamp:8}
    .testi__dots-wrap{margin-top:1.2rem}
}

/* ---------- INSTAGRAM / GALLERY ---------- */
.gallery{padding:clamp(3rem,6vw,5rem) 0}
.gallery__head{text-align:center;margin-bottom:clamp(2rem,5vw,3.5rem)}
.gallery__grid{
    display:grid;
    /* Liczbę kolumn ustawia PHP przez --ig-cols-d (desktop) — fallback 6 */
    grid-template-columns:repeat(var(--ig-cols-d, 6), 1fr);
    gap:2px;
    background:var(--line);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    width:100%;
}
.gallery__item{
    aspect-ratio:1/1;
    overflow:hidden;
    background:var(--bg-3);
    position:relative;
    display:block;
}
.gallery__item img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform 1s cubic-bezier(.2,.6,.2,1);
}
.gallery__item:hover img{transform:scale(1.08)}
.gallery__item::after{
    content:"";position:absolute;inset:0;
    background:rgba(16,13,11,0);transition:background var(--t);
}
.gallery__item:hover::after{background:rgba(16,13,11,.32)}
.gallery__icon{
    position:absolute;inset:0;display:grid;place-items:center;
    color:var(--white);opacity:0;transition:opacity var(--t);
    font-size:1.6rem;
    z-index:2;
    /* lekka tarcza za ikoną */
    text-shadow:0 1px 6px rgba(0,0,0,.45);
}
.gallery__item:hover .gallery__icon{opacity:1}

/* ---------- CTA BAND ---------- */
.cta-band{
    background:var(--bg-2);
    text-align:center;
    padding:clamp(4rem,8vw,7rem) var(--gutter);
}
.cta-band h2{max-width:28ch;margin:0 auto 1.2rem;font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:400;line-height:1.3}
.cta-band p{max-width:50ch;margin:0 auto 2rem;color:var(--ink-2)}

/* ---------- FOOTER ---------- */
.site-footer{
    background:var(--ink);
    color:var(--bg);
    padding:clamp(3rem,6vw,5rem) 0 1.6rem;
}
.footer__grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:2.5rem;
    padding-bottom:3rem;
    border-bottom:1px solid rgba(255,253,249,.12);
}
.footer__brand .brand__name{font-size:1.8rem;color:var(--bg)}
.footer__brand .brand__tag{color:var(--muted)}
.footer__brand p{margin-top:1.2rem;color:rgba(255,253,249,.7);max-width:32ch}
.footer__title{
    font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;
    color:var(--gold);margin-bottom:1.2rem;
    font-weight:900;
}
.footer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;font-size:.92rem;color:rgba(255,253,249,.75)}
.footer__list a:hover{color:var(--gold)}
.footer__contact a{display:block;margin-bottom:.6rem;color:rgba(255,253,249,.85)}
.footer__contact strong{display:block;color:var(--bg);font-weight:400;font-family:var(--serif);font-style:italic;font-size:1.3rem;margin:.4rem 0}
.footer__social{display:flex;gap:.7rem;margin-top:1rem}
.social-icon{
    width:40px;height:40px;border-radius:50%;
    border:1px solid rgba(255,253,249,.25);
    display:grid;place-items:center;
    transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);
    color:var(--bg);
}
.social-icon:hover{background:var(--gold);border-color:var(--gold)}
.social-icon svg{width:16px;height:16px}

.footer__base{
    padding-top:1.6rem;
    display:flex;justify-content:space-between;align-items:center;
    flex-wrap:wrap;
    gap:1rem;
    font-size:.78rem;color:rgba(255,253,249,.55);
}
.footer__base a:hover{color:var(--gold)}
.footer__base nav{display:flex;gap:1.4rem;flex-wrap:wrap}

/* ============================================
   PAGES — INNER HERO
   ============================================ */
.page-hero{
    position:relative;
    padding:7rem 0 clamp(2rem,4.5vw,3.5rem);
    text-align:center;
    overflow:hidden;
}
.page-hero::before{
    content:"";position:absolute;inset:0;
    background:radial-gradient(ellipse at 50% 10%, rgba(181,150,94,.08), transparent 60%);
    pointer-events:none;
}
.page-hero > .container{position:relative;z-index:2}
.page-hero h1{font-size:clamp(1.6rem,3.4vw,2.6rem);max-width:22ch;margin:1rem auto .8rem;font-weight:400;line-height:1.2}
.page-hero h1 em{color:var(--gold-2)}
.page-hero .crumbs{
    font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);
}
.page-hero .crumbs a:hover{color:var(--ink)}
.page-hero .crumbs span{margin:0 .8rem;color:var(--line-2)}
.page-hero .lead{margin:1rem auto 0;max-width:60ch;color:var(--ink-2)}

/* ---------- WARIANT Z TŁEM (gdy strona ma featured image / hero slot) ---------- */
.page-hero--media{
    background-size:cover;
    /* background-position ustawiane inline z Customizera (per-page) */
    background-repeat:no-repeat;
    /* Stała wysokość 450px na desktopie + flex centrowanie treści w pionie.
       Padding-top zostawiamy mniejszy bo wysokość jest sztywna. */
    min-height:450px;
    padding:6rem 0 2.5rem;
    color:var(--white);
    display:flex;
    align-items:center;
    justify-content:center;
}
.page-hero--media::before{
    /* ciemniejszy gradient — czytelność tekstu na każdym zdjęciu (też złotych/ciepłych) */
    background:
        radial-gradient(ellipse at 50% 10%, rgba(181,150,94,.15), transparent 60%),
        linear-gradient(180deg, rgba(16,13,11,.65) 0%, rgba(16,13,11,.55) 50%, rgba(16,13,11,.7) 100%);
}
.page-hero--media h1{
    color:var(--white);
    text-shadow:0 2px 12px rgba(0,0,0,.4);
}
.page-hero--media h1 em{color:var(--gold)}
.page-hero--media .lead{
    color:rgba(255,253,249,.92);
    text-shadow:0 1px 6px rgba(0,0,0,.5);
}
.page-hero--media .crumbs{color:rgba(255,253,249,.7)}
.page-hero--media .crumbs a{color:rgba(255,253,249,.92)}
.page-hero--media .crumbs a:hover{color:var(--white)}
.page-hero--media .crumbs span{color:rgba(255,253,249,.5)}
/* Eyebrow — jasny złoty zamiast gold-2; gold-2 znika na złotych/ciepłych zdjęciach */
.page-hero--media .eyebrow{
    color:var(--gold);
    text-shadow:0 1px 4px rgba(0,0,0,.4);
}
.page-hero--media .eyebrow::before,
.page-hero--media .eyebrow::after{background:var(--gold);opacity:.85}

/* Przyciski w hero z tłem — białe (widoczne na ciemnym overlay) */
.page-hero--media .btn{
    background:var(--white);
    color:var(--ink);
    border-color:var(--white);
}
.page-hero--media .btn:hover{
    background:transparent;
    color:var(--white);
    border-color:var(--white);
}
.page-hero--media .btn--ghost{
    background:transparent;
    color:var(--white);
    border-color:rgba(255,253,249,.55);
}
.page-hero--media .btn--ghost:hover{
    background:var(--white);
    color:var(--ink);
    border-color:var(--white);
}
.page-hero--media .btn--gold{
    background:var(--gold);
    color:var(--white);
    border-color:var(--gold);
}
.page-hero--media .btn--gold:hover{
    background:var(--white);
    color:var(--ink);
    border-color:var(--white);
}

@media (max-width:1024px){
    .page-hero--media{min-height:380px;padding:5.5rem 0 2rem}
}
@media (max-width:760px){
    .page-hero{padding:5.5rem 0 clamp(1.6rem,4vw,2.5rem)}
    .page-hero--media{min-height:320px;padding:5rem 0 1.6rem}
}

/* ---------- ABOUT PAGE ---------- */
.about-feature{
    padding:var(--section-y) 0;
    position:relative;
}
.about-feature__grid{
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:clamp(2rem,6vw,6rem);
    align-items:start;
}
.about-feature__media{
    position:sticky;top:5rem;
    display:grid;gap:1rem;
    grid-template-columns:repeat(2,1fr);
    grid-auto-rows:180px;
}
.about-feature__media .ph{
    overflow:hidden;
    background:var(--bg-3);
    position:relative; /* potrzebne dla ::before frame */
}
.about-feature__media .ph img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform 1.4s ease;
}
.about-feature__media .ph:hover img{transform:scale(1.04)}

/* Efekt ramki wewnątrz (jak na stronie głównej w sekcji About) */
.about-feature__media .ph::before{
    content:"";
    position:absolute;
    inset:1rem;
    border:1px solid rgba(255,255,255,.7);
    z-index:2;
    pointer-events:none;
    mix-blend-mode:overlay;
}

/* Wariant 3-tilowy (legacy) */
.about-feature__media:not(.about-feature__media--4) .ph:nth-child(1){grid-row:span 2;aspect-ratio:auto}

/* Wariant 4-tilowy — mozaika edytorska:
   [ portrait-1 ][ portrait-tall  ]
   [ portrait-2 ][ portrait-tall  ]
   [    banner spans 2 cols (HIGH) ] */
.about-feature__media--4{grid-auto-rows:170px}
.about-feature__media--4 .about-feature__tile--portrait-1{
    grid-column:1;grid-row:1;
}
.about-feature__media--4 .about-feature__tile--portrait-2{
    grid-column:1;grid-row:2;
}
.about-feature__media--4 .about-feature__tile--portrait-tall{
    grid-column:2;grid-row:1 / span 2;
}
.about-feature__media--4 .about-feature__tile--banner{
    grid-column:1 / span 2;
    grid-row:3 / span 2; /* banner zajmuje 2 rzędy = wyższy */
    aspect-ratio:auto;
}

@media (max-width:760px){
    .about-feature__media--4{grid-auto-rows:140px}
    .about-feature__media--4 .about-feature__tile--portrait-tall{
        grid-row:1 / span 2;
    }
    .about-feature__media--4 .about-feature__tile--banner{
        grid-row:3 / span 2;
    }
    .about-feature__media .ph::before{inset:.7rem}
}

.about-feature__body p{margin-bottom:1.4em;font-size:1.05rem;color:var(--ink-2);line-height:1.85}
.about-feature__body h2{margin-bottom:1.4rem}
.about-feature__body h2 em{color:var(--gold-2)}

.values{
    background:var(--bg-2);
    padding:var(--section-y) 0;
}
.values__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--line);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}
.value{
    background:var(--bg-2);
    padding:2.4rem 2rem;
}
.value__num{
    font-family:var(--serif);font-style:italic;font-size:2rem;color:var(--gold-2);
    margin-bottom:.6rem;display:block;
}
.value h3{margin-bottom:.6rem}
.value p{color:var(--ink-2);font-size:.96rem}

/* ---------- SERVICE DETAIL PAGE ---------- */
.svc-hero{
    padding:8rem 0 5rem;
    position:relative;
    overflow:hidden;
}
/* Atmosferyczne tło — miękkie złote koło w prawym górnym rogu */
.svc-hero::before{
    content:"";
    position:absolute;
    top:-10%; right:-15%;
    width:60vw; height:60vw;
    max-width:780px; max-height:780px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(181,150,94,.10) 0%, rgba(181,150,94,0) 65%);
    pointer-events:none;
    z-index:0;
}
/* Drugi soft pattern — w lewym dolnym */
.svc-hero::after{
    content:"";
    position:absolute;
    bottom:-20%; left:-10%;
    width:45vw; height:45vw;
    max-width:560px; max-height:560px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(231,219,198,.55) 0%, rgba(231,219,198,0) 70%);
    pointer-events:none;
    z-index:0;
}
.svc-hero > .container{position:relative;z-index:1}

.svc-hero__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(2rem,5vw,5rem);
    align-items:center;
    min-height:75vh;
}
.svc-hero__title{font-size:clamp(1.8rem,4vw,3rem);line-height:1.2;font-weight:400;letter-spacing:-.005em}
.svc-hero__title em{color:inherit;font-style:normal}

/* CTA — obok siebie na desktopie/tablecie; wrap dopiero na mobile */
.svc-hero__cta{
    display:flex;
    gap:1rem;
    margin-top:2rem;
    flex-wrap:nowrap;
    align-items:center;
}
.svc-hero__cta .btn{
    /* lekko mniejsze niż domyślne — żeby dwa zmieściły się w pół-szerokości grida */
    padding:.9rem 1.5rem;
    font-size:.7rem;
    letter-spacing:.22em;
    white-space:nowrap;
    flex:0 1 auto;
    min-width:0;
}
@media (max-width:760px){
    .svc-hero__cta{flex-wrap:wrap;gap:.7rem}
    .svc-hero__cta .btn{flex:1 1 100%;justify-content:center}
}

/* ---- Editorial photo treatment ----
   Trzy warstwy:
   1) ::before — offset cream/gold ramka za zdjęciem (magazynowy "layered" look)
   2) <img>   — zdjęcie z delikatnym drop-shadow
   3) ::after — biała 1px ramka w środku zdjęcia (jak w sekcji "O mnie" home) */
.svc-hero__media{
    position:relative;
    aspect-ratio:4/5;
    /* CELOWO bez overflow:hidden — bo offset ramka wystaje poza krawędź */
}
.svc-hero__media::before{
    content:"";
    position:absolute;
    inset:22px -22px -22px 22px; /* przesunięcie 22px w prawo+w dół */
    background:linear-gradient(135deg, var(--bg-2) 0%, var(--bg-3) 100%);
    border:1px solid var(--line);
    z-index:0;
    transition:transform var(--t);
}
.svc-hero__media img{
    position:relative;
    z-index:1;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    filter:drop-shadow(0 24px 40px rgba(16,13,11,.18));
    transition:filter var(--t), transform var(--t);
}
.svc-hero__media::after{
    content:"";
    position:absolute;
    inset:1.2rem;
    border:1px solid rgba(255,255,255,.7);
    z-index:2;
    pointer-events:none;
    mix-blend-mode:overlay;
}
/* Subtelny hover — ramka się odsuwa lekko bardziej, zdjęcie wzmacnia cień */
.svc-hero__media:hover::before{
    transform:translate(4px, 4px);
}
.svc-hero__media:hover img{
    filter:drop-shadow(0 30px 50px rgba(16,13,11,.22));
}

@media (max-width:1024px){
    .svc-hero{padding:6rem 0 4rem}
    .svc-hero__grid{min-height:auto;gap:3rem}
    .svc-hero__media{max-width:520px;margin:0 auto}
    .svc-hero__media::before{inset:16px -16px -16px 16px}
}
@media (max-width:760px){
    .svc-hero{padding:5rem 0 3rem}
    .svc-hero__media::before{inset:12px -12px -12px 12px}
    .svc-hero__media::after{inset:.9rem}
}

.svc-content{
    padding:var(--section-y) 0;
}
.svc-content__grid{
    display:grid;
    grid-template-columns:.4fr 1fr;
    gap:clamp(2rem,5vw,5rem);
}
.svc-content__side{
    position:sticky;
    top:6rem;
    align-self:start;
}
.svc-content__side h4{font-style:italic;margin-bottom:1rem;color:var(--gold-2)}
.svc-content__side ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem;font-size:.94rem}
.svc-content__side li{display:flex;gap:.7rem;color:var(--ink-2)}
.svc-content__side li::before{content:"";width:14px;height:1px;background:var(--gold);margin-top:.7rem;flex:0 0 auto}
.svc-content__body p{margin-bottom:1.5em;color:var(--ink-2);font-size:1.06rem;line-height:1.85}
.svc-content__body p:first-letter{
    font-family:var(--serif);font-size:3.6rem;font-style:italic;color:var(--gold-2);
    float:left;line-height:.85;padding:.4rem .6rem 0 0;
}

.includes{
    background:var(--bg-2);padding:var(--section-y) 0;
}
.includes__grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1.6rem;
}
.include{
    padding:2rem 1.8rem;
    background:var(--white);
    border:1px solid var(--line);
    display:flex;gap:1.4rem;
}
.include__icon{
    width:48px;height:48px;flex:0 0 auto;
    border-radius:50%;background:var(--bg);
    display:grid;place-items:center;color:var(--gold-2);
    font-family:var(--serif);font-style:italic;font-size:1.2rem;
}
.include h4{margin-bottom:.4rem}
.include p{color:var(--ink-2);font-size:.95rem;margin:0}

/* ---------- PRICE / PROCESS ---------- */
.process{padding:var(--section-y) 0}
.process__head{text-align:center;margin-bottom:clamp(2rem,5vw,4rem)}
.process__steps{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.6rem;
    counter-reset:step;
}
.step{position:relative;padding-top:2rem}
.step::before{
    counter-increment:step;
    content:counter(step,decimal-leading-zero);
    position:absolute;top:-.5rem;left:0;
    font-family:var(--serif);font-style:italic;font-size:3.6rem;
    color:var(--bg-3);line-height:1;
}
.step h4{margin-bottom:.6rem;position:relative}
.step p{color:var(--ink-2);font-size:.95rem}

/* ---------- FAQ ---------- */
.faq{padding:var(--section-y) 0}
.faq__grid{
    display:grid;
    grid-template-columns:.6fr 1fr;
    gap:clamp(2rem,5vw,5rem);
    align-items:start;
}
.faq__intro{position:sticky;top:6rem}
.faq__intro h2{margin:1rem 0 1.2rem}
.faq__intro p{color:var(--ink-2)}

.faq__list{
    border-top:1px solid var(--line);
}
.faq-item{
    border-bottom:1px solid var(--line);
}
.faq-q{
    width:100%;
    text-align:left;
    padding:1.6rem 3rem 1.6rem 0;
    font-family:var(--serif);
    font-size:clamp(1.15rem,1.6vw,1.4rem);
    color:var(--ink);
    position:relative;
    transition:color var(--t-fast);
}
.faq-q:hover{color:var(--gold-2)}
.faq-q::after{
    content:"";
    position:absolute;
    right:.5rem;top:50%;
    width:14px;height:14px;
    border-right:1px solid currentColor;
    border-bottom:1px solid currentColor;
    transform:translateY(-70%) rotate(45deg);
    transition:transform var(--t);
}
.faq-item.is-open .faq-q::after{transform:translateY(-30%) rotate(-135deg)}
.faq-a{
    max-height:0;overflow:hidden;
    transition:max-height var(--t);
    color:var(--ink-2);
}
.faq-a-inner{padding:0 4rem 1.8rem 0;font-size:1rem;line-height:1.75}

/* ============================================================
   ACCOUNT LINK (header) — ikona usera
   ============================================================ */
.nav__account-wrap{
    order:4;
    position:relative;
}
.nav__account{
    order:4;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.5rem .9rem;
    font-size:.68rem;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:var(--ink);
    background:transparent;
    border:1px solid var(--line);
    border-radius:99px;
    transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
    text-decoration:none;
    font-weight:500;
    cursor:pointer;
    font-family:inherit;
}
.nav__account:hover,
[aria-expanded="true"].nav__account{background:var(--ink);color:var(--white);border-color:var(--ink)}
.nav__account svg{flex:0 0 auto;width:18px;height:18px}
.nav__account-chev{
    width:12px !important;height:12px !important;
    transition:transform .25s ease;
    margin-left:.1rem;
}
[aria-expanded="true"].nav__account .nav__account-chev{transform:rotate(180deg)}

/* === Dropdown === */
.nav__account-menu{
    position:absolute;
    top:calc(100% + .7rem);
    right:0;
    min-width:280px;
    background:var(--white);
    border-top:3px solid var(--gold);
    box-shadow:
        0 1px 0 0 rgba(16,13,11,.06),
        0 30px 80px -30px rgba(16,13,11,.35),
        0 12px 30px -16px rgba(16,13,11,.18);
    z-index:60;
    opacity:0;
    transform:translateY(-8px) scale(.98);
    transform-origin:top right;
    transition:opacity .22s ease, transform .22s cubic-bezier(.2,.7,.2,1);
    pointer-events:none;
}
.nav__account-menu[hidden]{display:none}
.nav__account-menu.is-open{
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
}
.nav__account-menu::before{
    /* mała strzałka łącząca z buttonem */
    content:"";
    position:absolute;
    top:-7px;right:18px;
    width:12px;height:12px;
    background:var(--gold);
    transform:rotate(45deg);
    z-index:-1;
}

.nav__account-header{
    padding:1.1rem 1.3rem .9rem;
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg, rgba(181,150,94,.06), transparent);
}
.nav__account-eyebrow{
    display:block;
    font-size:.6rem;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:var(--gold-2);
    font-weight:600;
    margin-bottom:.2rem;
}
.nav__account-name{
    display:block;
    font-family:var(--serif);
    font-size:1.05rem;
    color:var(--ink);
    font-weight:500;
    line-height:1.2;
}

.nav__account-list{
    list-style:none;
    margin:0;
    padding:.5rem 0;
}
.nav__account-list li{margin:0;padding:0}
.nav__account-list a{
    display:flex;
    align-items:center;
    gap:.7rem;
    padding:.7rem 1.3rem;
    font-size:.84rem;
    color:var(--ink);
    text-decoration:none;
    letter-spacing:.01em;
    font-weight:400;
    transition:background .15s ease, color .15s ease, padding-left .2s ease;
}
.nav__account-list a:hover{
    background:var(--bg-2);
    color:var(--gold-2);
    padding-left:1.5rem;
}
.nav__account-list a svg{
    flex:0 0 auto;
    width:16px;height:16px;
    color:var(--muted);
    transition:color .15s ease;
}
.nav__account-list a:hover svg{color:var(--gold-2)}

.nav__account-divider{
    height:1px;
    background:var(--line);
    margin:.4rem 0;
}
.nav__account-logout{
    color:#c03a2b !important;
}
.nav__account-logout:hover{
    background:rgba(192,58,43,.06) !important;
    color:#c03a2b !important;
}
.nav__account-logout svg{color:#c03a2b !important}

@media (max-width:1024px){
    .nav__account-label{display:none}
    .nav__account{padding:.5rem;border-radius:50%;width:36px;height:36px;justify-content:center}
    .nav__account-chev{display:none}
    .nav__account svg{width:18px;height:18px}
    .nav__account-menu{min-width:260px}
}
@media (max-width:760px){
    .nav__account-wrap,
    .nav__account{display:none}
}

/* ============================================================
   TICKET PAGE — customer-facing bilet (drukowany / PDF)
   ============================================================ */
.ticket-page{
    background:var(--bg-2);
    padding:clamp(2.5rem,6vw,5rem) 0;
    min-height:80vh;
}
.ticket-page__preview-banner{
    max-width:780px;
    margin:0 auto 2rem;
    padding:.9rem 1.2rem;
    background:#fff8e6;
    border-left:4px solid #d4a017;
    font-size:.88rem;
    color:#7a5a00;
}

.ticket{
    max-width:780px;
    margin:0 auto;
    background:var(--white);
    box-shadow:0 30px 80px -30px rgba(16,13,11,.3);
    display:grid;
    grid-template-columns:240px 16px 1fr;
    overflow:hidden;
    position:relative;
}
.ticket-page--used .ticket{opacity:.85}

/* LEFT STUB — kupon z datą */
.ticket__stub{
    background:linear-gradient(135deg, var(--ink) 0%, #1f1a17 100%);
    color:var(--white);
    padding:2.2rem 1.5rem;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    position:relative;
}
.ticket__stub::before{
    /* złoty pasek u góry */
    content:"";
    position:absolute;
    top:0;left:0;right:0;
    height:6px;
    background:linear-gradient(90deg, var(--gold) 0%, var(--gold-2) 100%);
}
.ticket__stub-brand{margin-bottom:1.4rem}
.ticket__stub-eyebrow{
    display:block;
    font-size:.62rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:.5rem;
    font-weight:600;
}
.ticket__stub-brandname{
    font-family:var(--serif);
    font-size:1.2rem;
    color:var(--white);
    line-height:1.2;
    font-weight:500;
}
.ticket__stub-date{
    text-align:center;
    padding:1.4rem 0;
    border-top:1px dashed rgba(255,253,249,.18);
    border-bottom:1px dashed rgba(255,253,249,.18);
    margin:1rem 0;
}
.ticket__stub-day{
    display:block;
    font-family:var(--serif);
    font-size:4.4rem;
    line-height:1;
    color:var(--white);
    font-weight:500;
    letter-spacing:-.02em;
}
.ticket__stub-month{
    display:block;
    font-size:.85rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold);
    margin-top:.5rem;
    font-weight:600;
}
.ticket__stub-year{
    display:block;
    font-size:.7rem;
    color:rgba(255,253,249,.55);
    letter-spacing:.2em;
    margin-top:.2rem;
}
.ticket__stub-foot{
    text-align:center;
    font-size:.68rem;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:rgba(255,253,249,.7);
    font-weight:600;
}

/* PERFORATION — dotted divider */
.ticket__perforation{
    background-image:radial-gradient(circle, var(--bg-2) 2px, transparent 2.5px);
    background-size:8px 16px;
    background-position:50% 0;
    background-repeat:repeat-y;
    position:relative;
}
.ticket__perforation::before,
.ticket__perforation::after{
    /* "nacięte" półokręgi na górze i dole */
    content:"";
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    width:16px;height:16px;
    background:var(--bg-2);
    border-radius:50%;
}
.ticket__perforation::before{top:-8px}
.ticket__perforation::after{bottom:-8px}

/* MAIN BODY */
.ticket__body{
    padding:clamp(1.8rem,3vw,2.6rem);
    display:flex;
    flex-direction:column;
    gap:1.4rem;
}
.ticket__body-top{}
.ticket__logo{
    display:block;
    max-width:130px;
    max-height:50px;
    width:auto;
    height:auto;
    margin:0 0 1rem;
}
.ticket__eyebrow{
    display:inline-block;
    font-size:.62rem;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:var(--gold-2);
    margin-bottom:.7rem;
    font-weight:600;
}
.ticket__title{
    font-family:var(--serif);
    font-size:clamp(1.4rem,2.6vw,2rem);
    line-height:1.15;
    color:var(--ink);
    margin:0 0 .8rem;
    font-weight:500;
}
.ticket__lead{
    color:var(--ink-2);
    margin:0;
    font-size:.92rem;
    line-height:1.55;
}
.ticket__details{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:.9rem 1.4rem;
    margin:0;
    padding:1.2rem 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}
.ticket__details > div{margin:0}
.ticket__details dt{
    font-size:.6rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:600;
    margin-bottom:.3rem;
}
.ticket__details dd{
    margin:0;
    font-size:.95rem;
    color:var(--ink);
    line-height:1.4;
}
.ticket__qr-box{
    text-align:center;
    padding:1.5rem;
    background:var(--bg-2);
    border:1px solid var(--line);
    border-radius:0;
}
.ticket__qr-box img{
    display:inline-block;
    width:240px;
    height:240px;
    max-width:100%;
}
.ticket__qr-label{
    margin:.9rem 0 .4rem;
    font-size:.76rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:600;
}
.ticket__token{
    display:inline-block;
    font-family:monospace;
    font-size:.65rem;
    color:#a8a39d;
    word-break:break-all;
    max-width:340px;
    line-height:1.4;
    background:transparent;
}
.ticket__foot{
    text-align:center;
    font-size:.7rem;
    color:var(--muted);
    letter-spacing:.12em;
    padding-top:.4rem;
}
.ticket__foot-name{font-weight:600;color:var(--ink-2)}
.ticket__foot-sep{margin:0 .4rem;opacity:.5}

.ticket-page__actions{
    max-width:780px;
    margin:2rem auto 0;
    display:flex;
    gap:1rem;
    justify-content:center;
    flex-wrap:wrap;
}
.ticket-page__hint{
    max-width:560px;
    margin:1.5rem auto 0;
    text-align:center;
    color:var(--ink-2);
    font-size:.86rem;
    line-height:1.55;
}

@media (max-width:680px){
    .ticket{grid-template-columns:1fr;max-width:420px}
    .ticket__stub{padding:1.6rem}
    .ticket__perforation{
        height:16px;
        background-image:radial-gradient(circle, var(--bg-2) 2px, transparent 2.5px);
        background-size:16px 8px;
        background-position:0 50%;
        background-repeat:repeat-x;
    }
    .ticket__perforation::before{top:50%;left:-8px;transform:translateY(-50%)}
    .ticket__perforation::after{bottom:auto;top:50%;right:-8px;left:auto;transform:translateY(-50%)}
    .ticket__stub-day{font-size:3.2rem}
    .ticket__details{grid-template-columns:1fr}
}

/* ----- PRINT STYLESHEET — bilet jako PDF ----- */
@media print {
    /* Schowaj wszystko poza biletem */
    body * {visibility:hidden}
    .ticket, .ticket *, .ticket-page, .ticket-page > .container{visibility:visible}
    .no-print, .site-header, .site-footer, .mobile-menu, .ticket-page__actions,
    .ticket-page__hint, .ticket-page__preview-banner{display:none !important}
    body{background:white;padding:0;margin:0}
    .ticket-page{padding:20px 0;background:white;min-height:0}
    .ticket{
        box-shadow:none;
        border:1px solid #ccc;
        max-width:none;
        margin:0;
        page-break-inside:avoid;
    }
    .ticket__perforation{background-image:radial-gradient(circle, white 2px, transparent 2.5px)}
    .ticket__perforation::before,
    .ticket__perforation::after{background:white}
    .ticket__qr-box{background:white;border:1px solid #ccc}
    .ticket__details{border-color:#ccc}
}

/* ============================================================
   VOUCHER PAGE — pełnoekranowy gift-card PDF view
   ============================================================ */
.voucher-page{
    background:linear-gradient(135deg, #f7f3ea 0%, #fbfaf5 100%);
    padding:clamp(2.5rem,6vw,5rem) 0;
    min-height:80vh;
    position:relative;
}
.voucher-page--used .voucher{opacity:.85}
.voucher-page__preview-banner{
    max-width:840px;
    margin:0 auto 2rem;
    padding:.9rem 1.2rem;
    background:#fff8e6;
    border-left:4px solid #d4a017;
    font-size:.88rem;
    color:#7a5a00;
}

.voucher{
    max-width:840px;
    margin:0 auto;
    background:linear-gradient(180deg, #fff 0%, #faf7f0 100%);
    box-shadow:
        0 50px 100px -50px rgba(16,13,11,.4),
        0 0 0 1px rgba(181,150,94,.18);
    padding:clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 3.5vw, 3rem);
    position:relative;
    overflow:hidden;
}

/* Złote rogi — dekoracyjne narożniki */
.voucher__corner{
    position:absolute;
    width:60px;height:60px;
    pointer-events:none;
    z-index:1;
}
.voucher__corner--tl{top:1rem;left:1rem;border-top:2px solid var(--gold);border-left:2px solid var(--gold)}
.voucher__corner--tr{top:1rem;right:1rem;border-top:2px solid var(--gold);border-right:2px solid var(--gold)}
.voucher__corner--bl{bottom:1rem;left:1rem;border-bottom:2px solid var(--gold);border-left:2px solid var(--gold)}
.voucher__corner--br{bottom:1rem;right:1rem;border-bottom:2px solid var(--gold);border-right:2px solid var(--gold)}

/* HEADER z logo */
.voucher__head{
    text-align:center;
    margin-bottom:2rem;
    padding-bottom:1.6rem;
    border-bottom:1px solid rgba(181,150,94,.25);
    position:relative;
}
.voucher__logo{
    max-width:240px;
    max-height:80px;
    width:auto;
    height:auto;
    display:block;
    margin:0 auto 1rem;
}
.voucher__brand{
    display:block;
    font-family:var(--serif);
    font-size:1.8rem;
    color:var(--ink);
    margin-bottom:.8rem;
    font-weight:500;
}
.voucher__eyebrow{
    display:block;
    font-size:.7rem;
    letter-spacing:.4em;
    text-transform:uppercase;
    color:var(--gold-2);
    font-weight:600;
    margin-top:.6rem;
}

/* HERO */
.voucher__hero{
    text-align:center;
    margin-bottom:2rem;
}
.voucher__title{
    font-family:var(--serif);
    font-size:clamp(1.8rem, 4vw, 2.8rem);
    color:var(--ink);
    line-height:1.15;
    margin:0 0 1rem;
    font-weight:500;
}
.voucher__lead{
    color:var(--ink-2);
    font-size:1rem;
    line-height:1.55;
    margin:0 0 1.6rem;
    max-width:500px;
    margin-left:auto;
    margin-right:auto;
}
.voucher__value{
    display:inline-block;
    padding:1.2rem 2.4rem;
    background:linear-gradient(135deg, var(--gold) 0%, var(--gold-2) 100%);
    color:var(--white);
    text-align:center;
    position:relative;
    box-shadow:0 12px 30px -10px rgba(142,117,68,.4);
}
.voucher__value-label{
    display:block;
    font-size:.62rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    margin-bottom:.4rem;
    font-weight:600;
    opacity:.85;
}
.voucher__value-amount{
    display:block;
    font-family:var(--serif);
    font-size:clamp(2rem, 4vw, 2.8rem);
    line-height:1;
    font-weight:500;
}

/* DLA KOGO — z wykropkowaniem */
.voucher__for{
    margin:2rem 0 1.4rem;
    padding:1.2rem 1.4rem;
    background:rgba(255,255,255,.7);
    border:1px dashed rgba(142,117,68,.4);
    display:flex;
    align-items:baseline;
    gap:1.2rem;
}
.voucher__for-label{
    font-size:.7rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold-2);
    font-weight:600;
    flex:0 0 auto;
}
.voucher__for-value{
    flex:1;
    position:relative;
}
.voucher__for-name{
    font-family:var(--serif);
    font-size:1.4rem;
    color:var(--ink);
    line-height:1.2;
    font-weight:500;
}
.voucher__for-dots{
    color:rgba(142,117,68,.6);
    letter-spacing:.1em;
    font-size:1.4rem;
    line-height:1;
}
.voucher__for-hint{
    display:block;
    margin-top:.3rem;
    font-size:.7rem;
    color:var(--muted);
    font-style:italic;
    letter-spacing:.04em;
}

/* DEDYKACJA */
.voucher__message{
    position:relative;
    margin:0 0 2rem;
    padding:1.4rem 1.6rem;
    background:rgba(181,150,94,.06);
    border-left:3px solid var(--gold);
}
.voucher__message-quote{
    position:absolute;
    top:.3rem;left:.6rem;
    font-family:var(--serif);
    font-size:3rem;
    line-height:1;
    color:var(--gold);
    opacity:.4;
}
.voucher__message p{
    margin:0 0 0 1.8rem;
    font-family:var(--serif);
    font-style:italic;
    font-size:1rem;
    color:var(--ink-2);
    line-height:1.55;
}

/* BODY: details + QR */
.voucher__body{
    display:grid;
    grid-template-columns:1fr 240px;
    gap:2rem;
    align-items:start;
    margin-bottom:2rem;
}
.voucher__details{
    margin:0;
    display:grid;
    gap:1rem;
}
.voucher__details > div{margin:0}
.voucher__details dt{
    font-size:.6rem;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:600;
    margin-bottom:.3rem;
}
.voucher__details dd{
    margin:0;
    font-size:.95rem;
    color:var(--ink);
    line-height:1.4;
}
.voucher__details dd small{
    display:block;
    margin-top:.2rem;
    font-size:.82rem;
    color:var(--ink-2);
}
.voucher__code{
    display:inline-block;
    font-family:monospace;
    font-size:.95rem;
    letter-spacing:.06em;
    color:var(--gold-2);
    background:transparent;
    font-weight:600;
}
.voucher__qr-box{
    text-align:center;
    padding:1.2rem;
    background:var(--white);
    border:1px solid var(--line);
}
.voucher__qr-box img{display:inline-block;width:200px;height:200px;max-width:100%}
.voucher__qr-label{
    margin:.7rem 0 0;
    font-size:.7rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:600;
}

/* WARUNKI */
.voucher__terms{
    border-top:1px solid rgba(181,150,94,.25);
    padding-top:1.2rem;
    margin-bottom:1.4rem;
}
.voucher__terms-label{
    display:block;
    font-size:.6rem;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:600;
    margin-bottom:.5rem;
}
.voucher__terms p{
    margin:0;
    font-size:.78rem;
    color:var(--muted);
    line-height:1.55;
}

/* FOOTER */
.voucher__foot{
    text-align:center;
    font-size:.7rem;
    color:var(--muted);
    letter-spacing:.12em;
    padding-top:.6rem;
    border-top:1px solid rgba(181,150,94,.15);
}
.voucher__foot-brand{font-weight:600;color:var(--ink-2)}
.voucher__foot-sep{margin:0 .6rem;opacity:.5}

.voucher-page__actions{
    max-width:840px;
    margin:2.5rem auto 0;
    display:flex;
    gap:1rem;
    justify-content:center;
    flex-wrap:wrap;
}
.voucher-page__hint{
    max-width:560px;
    margin:1.5rem auto 0;
    text-align:center;
    color:var(--ink-2);
    font-size:.86rem;
    line-height:1.55;
}

@media (max-width:680px){
    .voucher__body{grid-template-columns:1fr}
    .voucher__qr-box{margin:0 auto;max-width:240px}
    .voucher__for{flex-direction:column;align-items:stretch;gap:.4rem}
    .voucher__corner{width:40px;height:40px}
    .voucher__corner--tl,.voucher__corner--tr{top:.6rem}
    .voucher__corner--bl,.voucher__corner--br{bottom:.6rem}
    .voucher__corner--tl,.voucher__corner--bl{left:.6rem}
    .voucher__corner--tr,.voucher__corner--br{right:.6rem}
}

/* PRINT — voucher PDF */
@media print {
    body * {visibility:hidden}
    .voucher, .voucher *, .voucher-page, .voucher-page > .container{visibility:visible}
    .no-print, .site-header, .site-footer, .mobile-menu,
    .voucher-page__actions, .voucher-page__hint,
    .voucher-page__preview-banner{display:none !important}
    body{background:white;padding:0;margin:0}
    .voucher-page{padding:20px 0;background:white;min-height:0}
    .voucher{
        box-shadow:none !important;
        border:1px solid #ccc;
        max-width:none;
        margin:0;
        page-break-inside:avoid;
        background:white !important;
    }
}

/* ============================================================
   KURS / LMS — SALES + PLAYER
   ============================================================ */

/* ----- KURS HERO (sales view) ----- */
.kurs-hero{
    display:grid;
    grid-template-columns:1.05fr 1fr;
    min-height:min(620px, 78vh);
    background:var(--ink);
    color:var(--white);
    overflow:hidden;
    margin-top:84px;
    position:relative;
}
.kurs-hero__media{
    position:relative;
    background-size:cover;
    background-position:center;
    min-height:420px;
}
.kurs-hero__overlay{
    position:absolute;inset:0;
    background:linear-gradient(135deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.25) 70%, rgba(0,0,0,.55) 100%);
    pointer-events:none;
}
.kurs-hero__badge{
    position:absolute;
    top:1.4rem;left:1.4rem;
    background:var(--gold);
    color:var(--white);
    font-size:.65rem;
    letter-spacing:.26em;
    text-transform:uppercase;
    padding:.45rem .9rem;
    z-index:2;
    font-weight:600;
}
.kurs-hero__panel{
    background:var(--ink);
    display:flex;
    align-items:center;
    padding:clamp(2rem,4vw,4rem);
    position:relative;
}
.kurs-hero__panel::before{
    content:"";
    position:absolute;
    top:clamp(2rem,4vw,4rem);
    left:0;
    width:60px;height:1px;
    background:var(--gold);
}
.kurs-hero__panel-inner{max-width:520px;width:100%}
.kurs-hero__panel .crumbs{
    font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;
    color:rgba(255,253,249,.5);
    margin-bottom:1.6rem;
}
.kurs-hero__panel .crumbs a{color:rgba(255,253,249,.7)}
.kurs-hero__panel .crumbs span{color:rgba(255,253,249,.3);margin:0 .6rem}
.kurs-hero__eyebrow{
    display:inline-flex;align-items:center;gap:.75rem;
    font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;
    color:var(--gold);font-weight:600;margin-bottom:1rem;
}
.kurs-hero__eyebrow::before{content:"";width:32px;height:1px;background:currentColor;opacity:.6}
.kurs-hero__title{
    font-size:clamp(1.8rem,3.4vw,2.8rem);
    line-height:1.15;color:var(--white);
    margin:0 0 1.2rem;font-weight:400;
}
.kurs-hero__lead{
    color:rgba(255,253,249,.72);line-height:1.7;
    margin:0 0 1.6rem;max-width:46ch;
}
.kurs-hero__meta{
    display:flex;flex-wrap:wrap;gap:1.4rem;
    color:rgba(255,253,249,.65);font-size:.86rem;
    padding:1rem 0;
    border-top:1px solid rgba(255,253,249,.14);
    border-bottom:1px solid rgba(255,253,249,.14);
    margin-bottom:1.6rem;
}
.kurs-hero__cta{
    display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;
    margin-bottom:1rem;
}
.kurs-hero__price{display:flex;flex-direction:column;line-height:1.1}
.kurs-hero__price-label{
    font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;
    color:rgba(255,253,249,.5);margin-bottom:.4rem;font-weight:500;
}
.kurs-hero__price-value{
    font-family:var(--serif);font-size:clamp(2rem,3vw,2.4rem);
    color:var(--gold);font-weight:500;
}
.kurs-hero__price-value small{font-size:.55em;letter-spacing:.1em;margin-left:.2em;color:rgba(255,253,249,.6)}
.kurs-hero__login{font-size:.86rem;color:rgba(255,253,249,.55);margin:.6rem 0 0}
.kurs-hero__login a{color:var(--gold);text-decoration:underline}
.kurs-hero__login a:hover{color:var(--white)}

@media (max-width:1024px){
    .kurs-hero{grid-template-columns:1fr;min-height:0}
    .kurs-hero__media{min-height:280px;aspect-ratio:16/9}
    .kurs-hero__panel{padding:2rem 1.6rem}
}

/* ----- CURRICULUM (sales) ----- */
.kurs-curriculum{padding:var(--section-y) 0;background:var(--bg-2)}
.kurs-curriculum__head{text-align:center;margin-bottom:clamp(2rem,4vw,3rem)}
.kurs-curriculum__head .eyebrow{color:var(--gold-2)}
.kurs-curriculum__head h2{margin-top:1rem}
.kurs-curriculum__head p{color:var(--muted);font-size:.92rem;margin-top:.6rem}
.kurs-curriculum__list{
    max-width:780px;margin:0 auto;
    list-style:none;padding:0;
    counter-reset:none;
}
.kurs-curriculum__item{
    display:grid;
    grid-template-columns:60px 1fr auto;
    gap:1.4rem;
    align-items:center;
    padding:1.2rem 1.4rem;
    background:var(--white);
    border:1px solid var(--line);
    border-top:0;
    transition:background var(--t-fast);
}
.kurs-curriculum__item:first-child{border-top:1px solid var(--line)}
.kurs-curriculum__item:hover{background:#faf8f4}
.kurs-curriculum__num{
    font-family:var(--serif);
    font-size:1.4rem;
    color:var(--gold-2);
    font-weight:500;
    font-style:italic;
}
.kurs-curriculum__body h4{
    font-family:var(--serif);
    font-size:1.05rem;
    margin:0 0 .3rem;
    color:var(--ink);
    font-weight:500;
    line-height:1.3;
    display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;
}
.kurs-curriculum__body p{
    margin:0;
    color:var(--ink-2);
    font-size:.88rem;
    line-height:1.5;
}
.kurs-curriculum__free{
    background:var(--gold);
    color:var(--white);
    font-size:.6rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    padding:.2rem .55rem;
    font-weight:600;
    font-style:normal;
}
.kurs-curriculum__meta{
    display:inline-flex;
    align-items:center;
    gap:1rem;
    color:var(--muted);
    font-size:.84rem;
    white-space:nowrap;
}
.kurs-curriculum__lock{
    opacity:.5;
    display:inline-flex;
    align-items:center;
    color:var(--muted);
}
.kurs-curriculum__lock svg{display:block}
@media (max-width:680px){
    .kurs-curriculum__item{grid-template-columns:40px 1fr;gap:.8rem}
    .kurs-curriculum__meta{grid-column:1 / -1;padding-left:48px}
}

/* ----- BENEFITS ----- */
.kurs-benefits{padding:var(--section-y) 0;background:var(--bg)}
.kurs-benefits__head{text-align:center;margin-bottom:clamp(2rem,4vw,3rem)}
.kurs-benefits__head .eyebrow{color:var(--gold-2)}
.kurs-benefits__head h2{margin-top:1rem}
.kurs-benefits__grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:clamp(1.4rem,3vw,2.2rem);
    max-width:1100px;margin:0 auto;
}
.kurs-benefit{
    text-align:center;
    padding:1.8rem 1.4rem;
    background:var(--white);
    border:1px solid var(--line);
    border-top:3px solid var(--gold);
}
.kurs-benefit__icon{
    display:inline-grid;place-items:center;
    width:54px;height:54px;
    background:var(--bg-2);
    border-radius:50%;
    color:var(--gold-2);
    font-size:1.4rem;
    margin-bottom:1rem;
}
.kurs-benefit__icon svg{display:block}
.kurs-benefit h3{
    font-family:var(--serif);
    font-size:1.1rem;
    color:var(--ink);
    margin:0 0 .6rem;
    font-weight:500;
}
.kurs-benefit p{
    margin:0;
    color:var(--ink-2);
    font-size:.9rem;
    line-height:1.6;
}

.kurs-content{padding:clamp(2rem,4vw,3rem) 0}

/* ----- LMS TOP BAR (post-purchase) ----- */
.lms-top{
    background:var(--ink);
    color:var(--white);
    padding:clamp(1.6rem,3vw,2rem) 0;
    margin-top:84px;
}
.lms-top__row{
    display:grid;
    grid-template-columns:1fr 320px;
    gap:2rem;
    align-items:center;
}
.lms-top__eyebrow{
    display:block;
    font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;
    color:var(--gold);font-weight:600;margin-bottom:.5rem;
}
.lms-top__title{
    font-size:clamp(1.6rem,2.6vw,2.2rem);
    color:var(--white);margin:0;font-weight:400;line-height:1.15;
}
.lms-top__progress{display:flex;flex-direction:column;gap:.4rem}
.lms-top__progress-meta{
    display:flex;justify-content:space-between;
    font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;
    color:rgba(255,253,249,.75);font-weight:600;
}
.lms-top__progress-meta--sub{
    color:rgba(255,253,249,.5);
    font-weight:400;letter-spacing:.1em;
}
.lms-top__progress-bar{
    height:6px;background:rgba(255,253,249,.12);overflow:hidden;
}
.lms-top__progress-bar span{
    display:block;height:100%;
    background:linear-gradient(90deg, var(--gold) 0%, var(--gold-2) 100%);
    transition:width .8s ease;
}
@media (max-width:760px){
    .lms-top__row{grid-template-columns:1fr;gap:1rem}
}

/* ----- LMS SHELL: sidebar + main ----- */
.lms-shell{
    padding:clamp(2.5rem,4vw,4rem) 0 var(--section-y);
    background:linear-gradient(180deg, var(--bg-2) 0%, #f0ebe0 100%);
    position:relative;
}
.lms-shell::before{
    /* Subtelny dot pattern w tle */
    content:"";
    position:absolute;inset:0;
    background-image:radial-gradient(circle, rgba(181,150,94,.08) 1px, transparent 1.4px);
    background-size:32px 32px;
    pointer-events:none;
    opacity:.6;
}
.lms-shell > .container{position:relative;z-index:1}
.lms-shell__grid{
    display:grid;
    grid-template-columns:340px 1fr;
    gap:clamp(2rem,4vw,3rem);
    align-items:start;
}

.lms-sidebar{
    position:sticky;top:5rem;
    background:var(--white);
    box-shadow:0 30px 60px -30px rgba(16,13,11,.18);
    overflow:hidden;
}
/* Sidebar cover with ring progress */
.lms-sidebar__cover{
    position:relative;
    aspect-ratio:16/10;
    background-size:cover;
    background-position:center;
}
.lms-sidebar__cover-overlay{
    position:absolute;inset:0;
    background:linear-gradient(135deg, rgba(0,0,0,.3) 0%, rgba(16,13,11,.6) 100%);
}
.lms-sidebar__cover-progress{
    position:absolute;
    bottom:1rem;right:1rem;
    z-index:2;
}
.lms-sidebar__ring{
    position:relative;
    width:78px;height:78px;
    --p:0;
}
.lms-sidebar__ring svg{
    width:100%;height:100%;
    transform:rotate(-90deg);
}
.lms-sidebar__ring-bg{
    fill:none;
    stroke:rgba(255,253,249,.25);
    stroke-width:6;
}
.lms-sidebar__ring-fg{
    fill:none;
    stroke:var(--gold);
    stroke-width:6;
    stroke-linecap:round;
    stroke-dasharray:213.6;   /* 2*PI*r where r=34 */
    stroke-dashoffset:calc(213.6 - (213.6 * var(--p) / 100));
    transition:stroke-dashoffset 1.2s cubic-bezier(.2,.6,.2,1);
}
.lms-sidebar__ring-pct{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    font-family:var(--serif);
    font-size:1.1rem;
    font-weight:600;
    color:var(--white);
    line-height:1;
}

.lms-sidebar__head{
    padding:1.4rem 1.4rem 1rem;
    border-bottom:1px solid var(--line);
}
.lms-sidebar__head .eyebrow{
    color:var(--gold-2);margin-bottom:.6rem;display:inline-flex;
}
.lms-sidebar__meta{
    margin:.4rem 0 0;
    font-size:.85rem;
    color:var(--ink-2);
    line-height:1.4;
}
.lms-sidebar__meta strong{
    color:var(--ink);
    font-family:var(--serif);
    font-size:1.05rem;
    font-weight:500;
}

.lms-lessons{
    list-style:none;
    margin:0;
    padding:0;
    max-height:480px;
    overflow-y:auto;
    /* subtle scrollbar */
    scrollbar-width:thin;
    scrollbar-color:var(--gold-2) transparent;
}
.lms-lessons::-webkit-scrollbar{width:6px}
.lms-lessons::-webkit-scrollbar-thumb{background:var(--gold-2);border-radius:3px}
.lms-lesson{
    margin:0;border-bottom:1px solid var(--line);
}
.lms-lesson:last-child{border-bottom:0}
.lms-lesson a{
    display:grid;
    grid-template-columns:36px 1fr;
    gap:.9rem;
    align-items:center;
    padding:.9rem 1.4rem;
    text-decoration:none;
    color:inherit;
    transition:background var(--t-fast), padding-left var(--t-fast);
    position:relative;
}
.lms-lesson a:hover{background:var(--bg-2);padding-left:1.6rem}
.lms-lesson__check{
    display:grid;place-items:center;
    width:30px;height:30px;
    border:1px solid var(--line-2);
    border-radius:50%;
    font-size:.78rem;font-weight:600;
    color:var(--muted);
    background:var(--bg);
    flex:0 0 auto;
    transition:all var(--t-fast);
}
.lms-lesson__check svg{display:block}
.lms-lesson.is-done .lms-lesson__check{
    background:var(--gold);
    border-color:var(--gold);
    color:var(--white);
}
.lms-lesson.is-current a{
    background:linear-gradient(90deg, rgba(181,150,94,.12), rgba(181,150,94,.04));
    padding-left:1.6rem;
}
.lms-lesson.is-current a::before{
    content:"";
    position:absolute;
    left:0;top:0;bottom:0;
    width:3px;
    background:var(--gold);
}
.lms-lesson.is-current .lms-lesson__check{
    background:var(--ink);
    border-color:var(--ink);
    color:var(--white);
}
.lms-lesson__body{min-width:0}
.lms-lesson__body strong{
    display:block;
    font-size:.92rem;
    color:var(--ink);
    line-height:1.35;
    font-weight:500;
    margin-bottom:.2rem;
}
.lms-lesson__body small{
    font-size:.72rem;
    color:var(--muted);
    letter-spacing:.04em;
}
.lms-lessons--compact .lms-lesson a{padding:.6rem 1rem}
.lms-lessons--compact .lms-lesson a:hover{padding-left:1.2rem}
.lms-lessons--compact .lms-lesson.is-current a{padding-left:1.2rem}
.lms-lessons--compact .lms-lesson__body strong{font-size:.88rem}

@media (max-width:1024px){
    .lms-shell__grid{grid-template-columns:1fr}
    .lms-sidebar{position:static}
}

/* ----- LMS MAIN ----- */
.lms-main{min-width:0}

/* Flash (completion celebrate) */
.lms-flash{
    display:flex;align-items:center;gap:1rem;
    background:linear-gradient(135deg, #1f7a3a 0%, #2e9444 100%);
    color:#fff;
    padding:1.2rem 1.4rem;margin-bottom:1.6rem;
    font-size:.95rem;line-height:1.5;
    box-shadow:0 18px 40px -20px rgba(31,122,58,.4);
}
.lms-flash__icon{font-size:1.8rem;flex:0 0 auto}
.lms-flash strong{display:block;font-size:1rem;margin-bottom:.2rem}
.lms-flash p{margin:0;font-size:.86rem;opacity:.85}

/* ===== CONTINUE CARD ===== */
.lms-continue{
    position:relative;
    background:var(--ink);
    background-size:cover;
    background-position:center;
    color:var(--white);
    padding:0;
    margin-bottom:1.6rem;
    overflow:hidden;
    min-height:280px;
    box-shadow:0 40px 80px -40px rgba(16,13,11,.5);
    transition:transform var(--t), box-shadow var(--t);
}
.lms-continue:hover{
    transform:translateY(-3px);
    box-shadow:0 50px 100px -40px rgba(16,13,11,.6);
}
.lms-continue__overlay{
    position:absolute;inset:0;
    background:
        linear-gradient(110deg,
            rgba(16,13,11,.92) 0%,
            rgba(16,13,11,.78) 45%,
            rgba(16,13,11,.5) 75%,
            rgba(16,13,11,.3) 100%);
    pointer-events:none;
}
.lms-continue__body{
    position:relative;
    padding:clamp(1.8rem,3.5vw,2.8rem);
    max-width:640px;
}
.lms-continue__eyebrow{
    display:inline-block;
    font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;
    color:var(--gold);
    font-weight:600;
    margin-bottom:.6rem;
}
.lms-continue__step{
    margin:0 0 .5rem;
    font-size:.78rem;
    color:rgba(255,253,249,.55);
    letter-spacing:.18em;
    text-transform:uppercase;
    font-weight:500;
}
.lms-continue__title{
    font-family:var(--serif);
    font-size:clamp(1.6rem,2.8vw,2.2rem);
    line-height:1.2;
    color:var(--white);
    margin:0 0 1rem;
    font-weight:500;
}
.lms-continue__lead{
    color:rgba(255,253,249,.75);
    line-height:1.6;
    margin:0 0 1.6rem;
    max-width:48ch;
    font-size:.95rem;
}
.lms-continue__foot{
    display:flex;
    align-items:center;
    gap:1.4rem;
    flex-wrap:wrap;
    padding-top:1.2rem;
    border-top:1px solid rgba(255,253,249,.18);
}
.lms-continue__time{
    display:inline-flex;align-items:center;gap:.5rem;
    color:rgba(255,253,249,.65);
    font-size:.86rem;
}
.lms-continue__time svg{flex:0 0 auto}
.lms-continue__btn{
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    padding:1rem 1.6rem;
}
.lms-continue__btn svg{flex:0 0 auto}
.lms-continue__btn:hover{
    background:var(--white);
    color:var(--ink);
    border-color:var(--white);
}
.lms-continue--complete .lms-continue__eyebrow{color:#f5d77a}

/* ===== STATS GRID ===== */
.lms-stats{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:.7rem;
    margin-bottom:1.6rem;
}
.lms-stats__item{
    background:var(--white);
    padding:1.2rem 1rem;
    text-align:center;
    border-top:3px solid var(--gold);
    transition:transform var(--t-fast), box-shadow var(--t-fast);
    box-shadow:0 8px 20px -16px rgba(16,13,11,.15);
}
.lms-stats__item:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 30px -16px rgba(16,13,11,.25);
}
.lms-stats__icon{
    display:inline-grid;
    place-items:center;
    width:38px;height:38px;
    border-radius:50%;
    background:rgba(181,150,94,.12);
    color:var(--gold-2);
    margin-bottom:.6rem;
}
.lms-stats__icon svg{display:block}
.lms-stats__num{
    display:block;
    font-family:var(--serif);
    font-size:clamp(1.05rem,1.8vw,1.4rem);
    color:var(--ink);
    line-height:1.1;
    margin-bottom:.3rem;
    font-weight:500;
}
.lms-stats__label{
    display:block;
    font-size:.62rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:600;
}
@media (max-width:760px){
    .lms-stats{grid-template-columns:repeat(2,1fr)}
}

/* ===== INTRO / OPIS KURSU ===== */
.lms-intro{
    background:var(--white);
    padding:clamp(1.8rem,3vw,2.4rem);
    margin-bottom:0;
    border-left:3px solid var(--gold);
    position:relative;
}
.lms-intro .eyebrow{color:var(--gold-2);margin-bottom:.8rem;display:inline-flex}
.lms-intro h2{margin:0 0 1.2rem}
.lms-intro__content{
    color:var(--ink-2);
    line-height:1.75;
    font-size:1rem;
}
.lms-intro__content p{margin:0 0 1.1em}
.lms-intro__content p:last-child{margin-bottom:0}
.lms-intro__content h2,
.lms-intro__content h3{
    color:var(--ink);
    margin:1.6em 0 .8em;
    font-family:var(--serif);
    font-weight:500;
}
.lms-intro__content h2{font-size:1.4rem}
.lms-intro__content h3{font-size:1.15rem}
.lms-intro__content ul,
.lms-intro__content ol{
    margin:0 0 1.2em 1.4em;
}
.lms-intro__content li{margin-bottom:.4em}
.lms-intro__content a{
    color:var(--gold-2);
    text-decoration:underline;
    text-decoration-color:rgba(142,117,68,.4);
    text-underline-offset:3px;
}
.lms-intro__content a:hover{color:var(--ink)}

/* Legacy class — zostawione na wszelki wypadek */
.lms-cta{
    background:linear-gradient(135deg, var(--gold) 0%, var(--gold-2) 100%);
    color:var(--white);
    padding:clamp(1.8rem,3vw,2.4rem);
    text-align:center;
}
.lms-cta .eyebrow{color:rgba(255,253,249,.85);justify-content:center}
.lms-cta h3{color:var(--white);margin:.6rem 0 1.4rem;font-weight:500;font-size:clamp(1.2rem,2vw,1.6rem)}
.lms-cta .btn{background:var(--ink);color:var(--white);border-color:var(--ink)}
.lms-cta .btn:hover{background:var(--white);color:var(--ink);border-color:var(--white)}

/* ----- LESSON PAGE (single lekcja) ----- */
.lesson-page{
    padding:clamp(2rem,4vw,3rem) 0 var(--section-y);
    background:var(--bg-2);
    margin-top:84px;
}
/* Szerszy container dedykowany dla lesson-page — player i sidebar
   dostają więcej powietrza na dużych ekranach. */
.lesson-page > .container{
    max-width:min(1640px, 96vw);
}
.lesson-page__crumbs{
    font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;
    color:var(--muted);margin-bottom:1.4rem;
}
.lesson-page__crumbs a{color:var(--ink-2);text-decoration:none}
.lesson-page__crumbs a:hover{color:var(--gold-2)}
.lesson-page__crumbs span{margin:0 .6rem;color:var(--line-2)}

.lesson-page__grid{
    display:grid;
    grid-template-columns:340px minmax(0,1fr);
    gap:clamp(2rem,3.5vw,3.5rem);
    align-items:start;
}
.lesson-page__side{
    position:sticky;top:5rem;
    background:var(--white);
    padding:1.4rem 1.2rem;
    border-left:3px solid var(--gold);
}
.lesson-page__back{
    display:inline-block;
    font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;
    color:var(--muted);
    margin-bottom:1rem;
    text-decoration:none;
    transition:color var(--t-fast);
}
.lesson-page__back:hover{color:var(--gold-2)}
.lesson-page__side-title{
    font-family:var(--serif);
    font-size:1.05rem;
    color:var(--ink);
    margin:.6rem 0 1.2rem;
    line-height:1.3;
    font-weight:500;
}
.lesson-page__side-progress{margin-bottom:1.2rem}
.lesson-page__progress-bar{
    height:5px;background:var(--bg-3);overflow:hidden;margin-bottom:.4rem;
}
.lesson-page__progress-bar span{
    display:block;height:100%;
    background:linear-gradient(90deg, var(--gold) 0%, var(--gold-2) 100%);
    transition:width .8s ease;
}
.lesson-page__side-progress small{font-size:.72rem;color:var(--muted);letter-spacing:.06em}

@media (max-width:1100px){
    .lesson-page__grid{grid-template-columns:1fr}
    .lesson-page__side{position:static;max-width:480px;margin:0 auto 2rem}
}

/* ----- LESSON MAIN ----- */
.lesson-page__main{min-width:0}
.lesson-page__head{
    background:var(--white);
    padding:clamp(1.6rem,2.4vw,2.2rem) clamp(1.6rem,2.6vw,2.6rem);
    border-left:3px solid var(--gold);
    margin-top:1.4rem;
}
.lesson-page__head .eyebrow{color:var(--gold-2);font-size:.62rem;letter-spacing:.32em;margin-bottom:.6rem;display:inline-flex}
.lesson-page__title{
    font-size:clamp(1.8rem,2.8vw,2.6rem);
    color:var(--ink);
    margin:0 0 .8rem;
    line-height:1.2;
    font-weight:500;
}
.lesson-page__meta{
    display:flex;gap:1rem;flex-wrap:wrap;
    font-size:.86rem;color:var(--ink-2);
}
.lesson-page__badge{
    display:inline-block;
    font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
    padding:.25rem .6rem;
    background:var(--bg-2);
    color:var(--ink-2);
    border:1px solid var(--line);
    font-weight:600;
}
.lesson-page__badge--done{
    background:rgba(31,122,58,.1);
    color:#1f7a3a;
    border-color:rgba(31,122,58,.3);
}
.lesson-page__content{
    background:var(--white);
    padding:clamp(1.8rem,3.2vw,3rem) clamp(1.8rem,3.6vw,3.6rem);
    margin-top:1rem;
    font-size:1.02rem;
    line-height:1.8;
    color:var(--ink-2);
}
/* Tekst nie rozjeżdża się na pełnej szerokości — utrzymujemy
   ~78 znaków na linię dla komfortu czytania. */
.lesson-page__content > *{max-width:78ch}
.lesson-page__content p{margin:0 0 1.2em}
.lesson-page__content h2,
.lesson-page__content h3{color:var(--ink);margin:1.6em 0 .8em}
.lesson-page__content ul,
.lesson-page__content ol{margin:0 0 1.4em;padding-left:1.4em}
.lesson-page__content blockquote{
    border-left:3px solid var(--gold);
    padding:.4rem 0 .4rem 1.4rem;
    margin:1.6em 0;
    font-family:var(--serif);
    font-style:italic;
    font-size:1.15rem;
    color:var(--ink);
    line-height:1.55;
}

/* ACTIONS */
.lesson-page__actions{
    margin-top:1.6rem;
    padding:1.4rem 1.6rem;
    background:var(--white);
    text-align:center;
    border-top:3px solid var(--gold);
}
.lesson-page__actions .btn{padding:1.2rem 2rem}
.lesson-page__done-msg{
    display:inline-block;
    font-size:1rem;
    color:#1f7a3a;
    font-weight:600;
}

/* PREV/NEXT NAV */
.lesson-page__nav{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem;
    margin-top:1.4rem;
}
.lesson-page__nav a{
    display:block;
    padding:1.2rem 1.4rem;
    background:var(--white);
    border:1px solid var(--line);
    text-decoration:none;
    color:var(--ink);
    transition:background var(--t-fast), border-color var(--t-fast);
}
.lesson-page__nav a:hover{background:var(--bg-2);border-color:var(--gold-2)}
.lesson-page__nav small{
    display:block;
    font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;
    color:var(--muted);
    margin-bottom:.3rem;
    font-weight:600;
}
.lesson-page__nav strong{
    display:block;
    font-family:var(--serif);
    font-size:.95rem;
    color:var(--ink);
    font-weight:500;
    line-height:1.3;
}
.lesson-page__nav-next{text-align:right}
@media (max-width:680px){
    .lesson-page__nav{grid-template-columns:1fr}
    .lesson-page__nav-next{text-align:left}
}

/* ----- PLAYER ----- */
.lms-player{
    position:relative;
    background:#000;
    aspect-ratio:16/9;
    overflow:hidden;
    box-shadow:0 30px 60px -30px rgba(0,0,0,.5);
}
.lms-player iframe,
.lms-player video{
    width:100%;height:100%;
    border:0;display:block;
    background:#000;
}
.lms-player--locked{
    background:linear-gradient(135deg, #1a1612 0%, #2a221a 100%);
    display:grid;place-items:center;
    aspect-ratio:16/9;
    color:var(--white);
}
.lms-player__lock{text-align:center;padding:2rem}
.lms-player__lock-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:rgba(255,253,249,.7);
    margin-bottom:.8rem;
}
.lms-player__lock-icon svg{display:block}
.lms-player__lock p{
    color:rgba(255,253,249,.75);
    margin:0 0 1.4rem;
    font-size:1rem;
}

/* ============================================================
   PAGE VOUCHERY — listing landing page
   ============================================================ */
.vouchers-intro{
    padding:clamp(2.5rem, 5vw, 4rem) 0;
    background:linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
}
.vouchers-intro__grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:clamp(1.4rem, 3vw, 2.4rem);
    max-width:1080px;
    margin:0 auto;
}
.vouchers-intro__item{
    text-align:center;
    padding:1.6rem 1.2rem;
}
.vouchers-intro__icon{
    display:inline-block;
    font-size:2rem;
    margin-bottom:1rem;
}
.vouchers-intro__item h3{
    font-family:var(--serif);
    font-size:1.2rem;
    color:var(--ink);
    margin:0 0 .6rem;
    font-weight:500;
}
.vouchers-intro__item p{
    margin:0;
    color:var(--ink-2);
    font-size:.92rem;
    line-height:1.6;
    max-width:32ch;
    margin:0 auto;
}
@media (max-width:760px){
    .vouchers-intro__grid{grid-template-columns:1fr;gap:1rem}
}

.vouchers-grid-section{
    padding:var(--section-y) 0;
    background:var(--bg-2);
}
.vouchers-grid-section__head{
    text-align:center;
    margin-bottom:clamp(2rem, 4vw, 3rem);
}
.vouchers-grid-section__head .eyebrow{color:var(--gold-2)}
.vouchers-grid-section__head h2{margin-top:1rem}

.vouchers-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
    gap:clamp(1.6rem, 3vw, 2rem);
}

/* Gift-card style tile */
.voucher-tile{
    background:linear-gradient(180deg, #fff 0%, #faf7f0 100%);
    border:1px solid rgba(181,150,94,.3);
    text-decoration:none;
    color:var(--ink);
    display:flex;
    flex-direction:column;
    position:relative;
    overflow:hidden;
    transition:transform var(--t), box-shadow var(--t), border-color var(--t);
}
.voucher-tile::before{
    content:"";
    position:absolute;
    top:0;left:0;right:0;
    height:3px;
    background:linear-gradient(90deg, var(--gold) 0%, var(--gold-2) 100%);
    z-index:3;
}
.voucher-tile:hover{
    transform:translateY(-4px);
    box-shadow:0 30px 60px -30px rgba(142,117,68,.25);
    border-color:var(--gold);
}
.voucher-tile__media{
    aspect-ratio:4/3;
    background:var(--bg-3);
    position:relative;
    overflow:hidden;
}
.voucher-tile__media img{
    width:100%;height:100%;object-fit:cover;
    transition:transform 1s cubic-bezier(.2,.6,.2,1);
}
.voucher-tile:hover .voucher-tile__media img{transform:scale(1.05)}
/* Złota wstążka prezentowa w rogu */
.voucher-tile__ribbon{
    position:absolute;
    top:0;right:1.4rem;
    width:30px;height:55%;
    z-index:2;
    pointer-events:none;
}
.voucher-tile__ribbon-tape{
    position:absolute;top:0;left:0;right:0;height:100%;
    background:var(--gold);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.voucher-tile__ribbon-tape::after{
    content:"";
    position:absolute;
    bottom:-10px;left:0;right:0;
    height:10px;
    background:linear-gradient(135deg, var(--gold) 50%, transparent 50%),
               linear-gradient(-135deg, var(--gold) 50%, transparent 50%);
    background-position:0 0, 15px 0;
    background-size:15px 10px, 15px 10px;
    background-repeat:no-repeat;
}
.voucher-tile__ribbon-knot{
    position:absolute;top:6px;left:50%;transform:translateX(-50%);
    width:18px;height:18px;border-radius:50%;
    background:var(--gold-2);
    border:2px solid var(--white);
    box-shadow:0 2px 4px rgba(0,0,0,.18);
}
.voucher-tile__tag{
    position:absolute;
    top:1rem;left:1rem;
    background:var(--ink);
    color:var(--white);
    font-size:.6rem;
    letter-spacing:.26em;
    text-transform:uppercase;
    padding:.35rem .7rem;
    z-index:3;
    font-weight:600;
}
.voucher-tile__body{
    padding:1.4rem 1.3rem 1.2rem;
    flex:1;
    display:flex;
    flex-direction:column;
}
.voucher-tile__cat{
    font-size:.66rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--gold-2);
    margin-bottom:.5rem;
    font-weight:600;
}
.voucher-tile__title{
    font-family:var(--serif);
    font-size:1.25rem;
    color:var(--ink);
    margin:0 0 .6rem;
    line-height:1.25;
    font-weight:500;
}
.voucher-tile__lead{
    color:var(--ink-2);
    font-size:.88rem;
    line-height:1.55;
    margin:0 0 1rem;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.voucher-tile__meta{
    list-style:none;
    margin:0 0 1.2rem;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:.3rem;
}
.voucher-tile__meta li{
    font-size:.78rem;
    color:var(--ink-2);
    line-height:1.4;
}
.voucher-tile__foot{
    margin-top:auto;
    padding-top:1rem;
    border-top:1px solid var(--line);
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:1rem;
}
.voucher-tile__price{
    font-family:var(--serif);
    font-size:1.6rem;
    color:var(--gold-2);
    line-height:1;
    font-weight:500;
}
.voucher-tile__price small{
    font-size:.6em;
    letter-spacing:.1em;
    margin-left:.2em;
    color:var(--ink-2);
}
.voucher-tile__cta{
    font-size:.66rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--ink);
    font-weight:600;
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    opacity:.7;
    transition:opacity var(--t-fast);
}
.voucher-tile:hover .voucher-tile__cta{opacity:1}
.voucher-tile__cta .arrow{transition:transform var(--t-fast)}
.voucher-tile:hover .voucher-tile__cta .arrow{transform:translateX(4px)}

/* ============================================================
   SINGLE VOUCHER PAGE — editorial sales page
   ============================================================ */
.voucher-hero{
    display:grid;
    grid-template-columns:1fr 1.05fr;
    min-height:min(680px, 78vh);
    background:var(--ink);
    color:var(--white);
    overflow:hidden;
    /* Margin-top — żeby hero NIE wchodził pod fixed header (czytelność nav-textu) */
    margin-top:84px;
}
@media (max-width:760px){
    .voucher-hero{margin-top:68px}
}
.voucher-hero__media{
    position:relative;
    background-size:cover;
    background-position:center;
    min-height:480px;
}
.voucher-hero__media-overlay{
    position:absolute;inset:0;
    background:linear-gradient(135deg, rgba(0,0,0,0) 30%, rgba(181,150,94,.15) 70%, rgba(0,0,0,.5) 100%);
    pointer-events:none;
}
.voucher-hero__tag{
    position:absolute;
    top:1.6rem;left:1.6rem;
    background:var(--gold);
    color:var(--white);
    font-size:.62rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    padding:.5rem 1rem;
    z-index:2;
    font-weight:600;
}
.voucher-hero__panel{
    background:var(--ink);
    display:flex;
    align-items:center;
    padding:clamp(2rem,5vw,5rem) clamp(1.5rem,4vw,4rem);
    position:relative;
}
.voucher-hero__panel::before{
    content:"";
    position:absolute;
    top:clamp(2rem,5vw,5rem);
    left:0;
    width:60px;height:1px;
    background:var(--gold);
}
.voucher-hero__panel-inner{max-width:560px;width:100%}
.voucher-hero__panel .crumbs{
    font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;
    color:rgba(255,253,249,.5);
    margin-bottom:1.6rem;
}
.voucher-hero__panel .crumbs a{color:rgba(255,253,249,.7)}
.voucher-hero__panel .crumbs a:hover{color:var(--white)}
.voucher-hero__panel .crumbs span{color:rgba(255,253,249,.3);margin:0 .6rem}
.voucher-hero__eyebrow{
    font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;
    color:var(--gold);font-weight:600;margin-bottom:1rem;
    display:inline-flex;align-items:center;gap:.75rem;
}
.voucher-hero__eyebrow::before{
    content:"";width:32px;height:1px;background:currentColor;opacity:.6;
}
.voucher-hero__title{
    font-size:clamp(2rem,3.4vw,3rem);line-height:1.12;
    color:var(--white);margin:0 0 1.2rem;font-weight:400;
}
.voucher-hero__lead{
    color:rgba(255,253,249,.72);line-height:1.7;
    margin:0 0 2rem;max-width:48ch;
}
.voucher-hero__cta{
    display:flex;align-items:center;gap:1.4rem;
    padding:1.4rem 0;
    border-top:1px solid rgba(255,253,249,.14);
    border-bottom:1px solid rgba(255,253,249,.14);
    margin-bottom:1.6rem;flex-wrap:wrap;
}
.voucher-hero__price{display:flex;flex-direction:column;line-height:1.1}
.voucher-hero__price-label{
    font-size:.65rem;letter-spacing:.26em;text-transform:uppercase;
    color:rgba(255,253,249,.55);margin-bottom:.4rem;font-weight:500;
}
.voucher-hero__price-value{
    font-family:var(--serif);font-size:clamp(2rem,3vw,2.4rem);
    color:var(--gold);font-weight:500;
}
.voucher-hero__price-value small{
    font-size:.55em;letter-spacing:.1em;margin-left:.3em;color:rgba(255,253,249,.6);
}
.voucher-hero__features{
    list-style:none;margin:0;padding:0;
    display:flex;flex-direction:column;gap:.6rem;
}
.voucher-hero__features li{
    font-size:.92rem;color:rgba(255,253,249,.8);line-height:1.5;
}
.voucher-hero__features strong{color:var(--gold)}

@media (max-width:1024px){
    .voucher-hero{grid-template-columns:1fr;min-height:0}
    .voucher-hero__media{min-height:320px;aspect-ratio:16/10}
    .voucher-hero__panel{padding:2.5rem 1.6rem}
}

/* INCLUDES */
.voucher-includes{padding:var(--section-y) 0;background:var(--bg)}
.voucher-includes__head{text-align:center;margin-bottom:clamp(2rem,5vw,3.5rem)}
.voucher-includes__head .eyebrow{justify-content:center;color:var(--gold-2)}
.voucher-includes__head h2{margin-top:1rem}
.voucher-includes__grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
    gap:clamp(1.4rem,3vw,2.4rem);
}
.voucher-include{
    background:var(--white);
    padding:1.8rem 1.6rem;
    border-top:3px solid var(--gold);
    position:relative;
}
.voucher-include__num{
    position:absolute;
    top:-14px;left:1.6rem;
    background:var(--gold);
    color:var(--white);
    font-family:var(--serif);
    font-size:.85rem;letter-spacing:.06em;
    padding:.3rem .6rem;
    font-weight:600;
}
.voucher-include h3{
    font-size:1.15rem;margin:0 0 .6rem;color:var(--ink);font-weight:500;
}
.voucher-include p{
    margin:0 0 .8rem;color:var(--ink-2);font-size:.92rem;line-height:1.6;
}

/* FLOW */
.voucher-flow{padding:var(--section-y) 0;background:var(--bg-2)}
.voucher-flow__head{text-align:center;margin-bottom:clamp(2rem,5vw,3.5rem)}
.voucher-flow__head .eyebrow{justify-content:center;color:var(--gold-2)}
.voucher-flow__head h2{margin-top:1rem}
.voucher-flow__steps{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:clamp(1.4rem,3vw,2.4rem);
}
.voucher-flow__step{text-align:center}
.voucher-flow__step-num{
    display:inline-grid;place-items:center;
    width:56px;height:56px;
    border:1px solid var(--gold);
    border-radius:50%;
    font-family:var(--serif);
    font-style:italic;
    font-size:1.4rem;
    color:var(--gold-2);
    margin-bottom:1rem;
}
.voucher-flow__step h4{
    font-size:1.1rem;margin:0 0 .6rem;color:var(--ink);font-weight:500;
}
.voucher-flow__step p{margin:0;color:var(--ink-2);font-size:.92rem;line-height:1.6}

.voucher-content{padding:var(--section-y) 0}

/* CTA band — gold variant */
.cta-band--gold{
    background:linear-gradient(135deg, var(--gold) 0%, var(--gold-2) 100%);
}
.cta-band--gold h2{color:var(--white)}
.cta-band--gold p{color:rgba(255,253,249,.85)}
.cta-band--gold .eyebrow{color:rgba(255,253,249,.7)}
.cta-band--gold .btn{
    background:var(--ink);color:var(--white);border-color:var(--ink);
}
.cta-band--gold .btn:hover{background:var(--white);color:var(--ink);border-color:var(--white)}

/* ============================================================
   WC MY ACCOUNT — bilety / vouchery / kursy
   ============================================================ */
.nsk-tickets-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
    gap:1.2rem;
    margin-top:1rem;
}
.nsk-ticket-card{
    display:grid;
    grid-template-columns:90px 1fr;
    background:var(--white);
    border:1px solid var(--line);
    border-left:3px solid var(--gold);
    overflow:hidden;
    transition:box-shadow var(--t-fast), transform var(--t-fast);
}
.nsk-ticket-card:hover{box-shadow:0 14px 30px -15px rgba(16,13,11,.18);transform:translateY(-2px)}
.nsk-ticket-card.is-used{opacity:.7;border-left-color:#aaa}
.nsk-ticket-card.is-past{opacity:.6}
.nsk-ticket-card__date{
    background:var(--ink);
    color:var(--white);
    padding:1rem .5rem;
    text-align:center;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.nsk-ticket-card__date strong{
    font-family:var(--serif);
    font-size:1.8rem;
    line-height:1;
    color:var(--white);
    font-weight:500;
    display:block;
}
.nsk-ticket-card__date span{
    font-size:.62rem;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:var(--gold);
    margin-top:.4rem;
    font-weight:600;
}
.nsk-ticket-card__body{padding:1rem 1.1rem}
.nsk-ticket-card__body h4{
    margin:0 0 .4rem;
    font-size:1rem;
    font-family:var(--serif);
    line-height:1.25;
    color:var(--ink);
    font-weight:500;
}
.nsk-ticket-card__body p{margin:0;color:var(--ink-2);font-size:.84rem;line-height:1.5}
.nsk-ticket-card__action{
    grid-column:1 / -1;
    padding:.7rem 1.1rem;
    background:var(--bg-2);
    border-top:1px solid var(--line);
    text-align:right;
}
.nsk-ticket-card__action .btn{margin:0}
.nsk-status{
    display:inline-block;
    font-size:.66rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    padding:.2rem .55rem;
    margin-top:.4rem;
    font-weight:600;
}
.nsk-status--valid{background:rgba(31,122,58,.1);color:#1f7a3a}
.nsk-status--used{background:rgba(120,120,120,.15);color:#666}
.nsk-status--past{background:rgba(192,140,40,.15);color:#7a5800}

/* Voucher cards w My Account */
.nsk-vouchers-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
    gap:1.4rem;
    margin-top:1rem;
}
.nsk-voucher-card{
    background:linear-gradient(180deg, #fff 0%, #faf7f0 100%);
    border:1px solid rgba(181,150,94,.3);
    border-top:3px solid var(--gold);
    padding:1.3rem 1.3rem 1rem;
    position:relative;
    overflow:hidden;
    transition:box-shadow var(--t-fast), transform var(--t-fast);
}
.nsk-voucher-card:hover{
    box-shadow:0 18px 36px -18px rgba(142,117,68,.3);
    transform:translateY(-2px);
}
.nsk-voucher-card.is-used{opacity:.6;border-top-color:#aaa}
.nsk-voucher-card__ribbon{
    position:absolute;
    top:.5rem;right:.6rem;
    font-size:1.4rem;
    opacity:.5;
}
.nsk-voucher-card__code{
    display:block;
    font-family:monospace;
    font-size:.72rem;
    letter-spacing:.06em;
    color:var(--gold-2);
    font-weight:600;
    margin-bottom:.5rem;
}
.nsk-voucher-card__body h4{
    margin:0 0 .5rem;
    font-family:var(--serif);
    font-size:1.05rem;
    color:var(--ink);
    line-height:1.25;
    font-weight:500;
}
.nsk-voucher-card__recipient,
.nsk-voucher-card__expires{
    margin:.3rem 0;
    font-size:.84rem;
    color:var(--ink-2);
    line-height:1.4;
}
.nsk-voucher-card__action{
    margin-top:1rem;
    padding-top:.9rem;
    border-top:1px solid rgba(181,150,94,.18);
    text-align:right;
}

.nsk-mya-table{
    width:100%;
    border-collapse:collapse;
    margin-top:1rem;
}
.nsk-mya-table th{
    text-align:left;
    padding:.7rem .8rem;
    font-size:.7rem;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--muted);
    border-bottom:1px solid var(--line);
}
.nsk-mya-table td{
    padding:.9rem .8rem;
    border-bottom:1px solid var(--line);
    font-size:.92rem;
}

.nsk-courses-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
    gap:1.2rem;
    margin-top:1rem;
}
.nsk-course-card{
    display:block;
    padding:1.4rem;
    background:var(--ink);
    color:var(--white);
    text-decoration:none;
    transition:transform var(--t-fast);
}
.nsk-course-card:hover{transform:translateY(-2px)}
.nsk-course-card h4{
    margin:0 0 .6rem;
    font-family:var(--serif);
    font-size:1.1rem;
    color:var(--white);
    font-weight:500;
}
.nsk-course-card p{
    margin:0;
    font-size:.7rem;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:var(--gold);
    font-weight:600;
}

.nsk-empty{
    text-align:center;
    padding:3rem 1rem;
    background:var(--bg-2);
    border:1px dashed var(--line);
    color:var(--ink-2);
}
.nsk-empty p:first-child{font-size:1rem;margin:0 0 1.2rem}

/* ============================================================
   WC MY ACCOUNT — pełny styling
   ============================================================ */

/* Page-hero / strona Moje konto — kontekst */
.woocommerce-account .page-hero h1{
    font-family:var(--serif);
}

/* ============================================================
   AUTH PAGES (logowanie / rejestracja)
   ============================================================ */
.auth-page{
    min-height:100vh;
    background:linear-gradient(135deg, var(--bg-2) 0%, var(--bg-3) 100%);
    padding:clamp(5rem, 10vw, 8rem) clamp(1rem, 3vw, 2rem) 4rem;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    position:relative;
}
.auth-page::before{
    content:"";
    position:absolute;inset:0;
    background:
        radial-gradient(ellipse at 30% 20%, rgba(181,150,94,.12), transparent 60%),
        radial-gradient(ellipse at 70% 80%, rgba(231,219,198,.4), transparent 60%);
    pointer-events:none;
}
.auth-page__container{
    position:relative;
    width:100%;
    max-width:520px;
    text-align:center;
}
.auth-page__brand{
    display:inline-block;
    margin-bottom:2rem;
    text-decoration:none;
    color:var(--ink);
}
.auth-page__logo{
    max-width:200px;max-height:60px;
    width:auto;height:auto;display:block;margin:0 auto;
}
.auth-page__brand span{
    font-family:var(--serif);font-size:1.6rem;
    color:var(--ink);
}
.auth-page__card{
    background:var(--white);
    padding:clamp(2rem, 4vw, 3rem) clamp(1.6rem, 4vw, 2.6rem);
    text-align:left;
    box-shadow:0 50px 100px -40px rgba(16,13,11,.25);
    border-top:4px solid var(--gold);
}
.auth-page__eyebrow{
    display:inline-block;
    font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;
    color:var(--gold-2);font-weight:600;margin-bottom:.8rem;
}
.auth-page__title{
    font-size:clamp(1.6rem, 2.8vw, 2.2rem);
    margin:0 0 1rem;color:var(--ink);font-weight:500;
}
.auth-page__lead{
    color:var(--ink-2);
    line-height:1.65;
    margin:0 0 1.8rem;
    font-size:.95rem;
}
.auth-page__error{
    background:#fff0ec;
    border-left:3px solid #c03a2b;
    color:#7A1F14;
    padding:.9rem 1.1rem;
    margin-bottom:1.4rem;
    font-size:.92rem;
}

/* Form */
.auth-form{margin:0}
.auth-form__row{margin-bottom:1.1rem;display:flex;flex-direction:column}
.auth-form__row label{
    font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;
    color:var(--muted);font-weight:600;margin-bottom:.4rem;
}
.auth-form__row input{
    padding:.9rem 1rem;
    border:1px solid var(--line);
    background:var(--bg);
    font-family:var(--sans);font-size:.95rem;
    color:var(--ink);
    transition:border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);
    border-radius:0;
}
.auth-form__row input:focus{
    outline:none;
    border-color:var(--gold);
    background:var(--white);
    box-shadow:0 0 0 3px rgba(181,150,94,.15);
}
.auth-form__grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem;
}
.auth-form__grid-2 .auth-form__row{margin-bottom:0}
.auth-form__check{
    display:flex;
    align-items:flex-start;
    gap:.6rem;
    margin:1.2rem 0 1.4rem;
    font-size:.88rem;
    color:var(--ink-2);
    line-height:1.5;
}
.auth-form__check input[type="checkbox"]{
    margin-top:.2rem;flex:0 0 auto;
    accent-color:var(--gold);
}
.auth-form__check a{color:var(--gold-2);text-decoration:underline}
.auth-form .btn--submit{
    width:100%;justify-content:center;
    padding:1.1rem 1.6rem;font-size:.78rem;letter-spacing:.28em;
}
.auth-form__hint{
    text-align:center;
    margin:1.2rem 0 0;
    font-size:.86rem;
    color:var(--muted);
}
.auth-form__hint a{color:var(--gold-2);text-decoration:underline}
.auth-form__hint a:hover{color:var(--ink)}

.auth-page__alt{
    margin-top:1.8rem;
    padding-top:1.6rem;
    border-top:1px solid var(--line);
    text-align:center;
}
.auth-page__alt p{
    margin:0 0 .8rem;
    color:var(--ink-2);
    font-size:.88rem;
}
.auth-page__alt .btn{width:100%;justify-content:center}

.auth-page__legal{
    margin-top:1.4rem;
    text-align:center;
    font-size:.74rem;
    color:var(--muted);
    line-height:1.5;
}
.auth-page__legal a{color:var(--gold-2);text-decoration:underline}

/* reCAPTCHA v2 widget — wycentruj, lekka ramka żeby pasował do reszty formy */
.auth-form__recaptcha{
    margin:1.4rem 0 1.2rem;
    display:flex;
    justify-content:center;
    min-height:78px; /* zarezerwuj miejsce zanim widget się załaduje */
}
.auth-form__recaptcha .g-recaptcha{
    transform:scale(1);
    transform-origin:center top;
}

@media (max-width:540px){
    .auth-form__grid-2{grid-template-columns:1fr}
    /* Mały scale na bardzo wąskich ekranach, żeby widget się zmieścił */
    .auth-form__recaptcha .g-recaptcha{
        transform:scale(.92);
    }
}
@media (max-width:380px){
    .auth-form__recaptcha .g-recaptcha{
        transform:scale(.82);
    }
}

/* ============================================================
   AUTH SPLIT — editorial split-screen login + register
   ============================================================ */
.auth-split{
    --auth-bg: #FAF7F2;
    --auth-bg-2: #F2EDE4;
    --auth-line: rgba(16,13,11,.08);
    --auth-line-2: rgba(16,13,11,.18);

    position:relative;
    min-height:calc(100vh - 84px);
    background:var(--auth-bg);
    margin-top:84px; /* offset pod fixed header */
    padding:clamp(2rem, 4vw, 3.5rem) clamp(1rem, 3vw, 2.6rem) clamp(2rem, 4vw, 3.2rem);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    isolation:isolate;
}

/* --- atmosphere — radial gradient mesh + ornamental hairlines --- */
.auth-split__atmosphere{
    position:absolute;inset:0;
    pointer-events:none;
    z-index:0;
    background:
        radial-gradient(ellipse 80% 60% at 18% 20%, rgba(181,150,94,.18), transparent 60%),
        radial-gradient(ellipse 90% 50% at 85% 80%, rgba(231,219,198,.55), transparent 65%),
        radial-gradient(ellipse 60% 50% at 50% 50%, rgba(255,255,255,.4), transparent 70%);
}
.auth-split__atmosphere::before{
    content:"";
    position:absolute;inset:0;
    background-image:radial-gradient(circle, rgba(16,13,11,.04) 1px, transparent 1px);
    background-size:24px 24px;
    opacity:.5;
    mask-image:radial-gradient(ellipse 70% 60% at 50% 50%, #000 30%, transparent 80%);
}
.auth-split__hairline{
    position:absolute;
    background:linear-gradient(90deg, transparent, var(--gold), transparent);
    opacity:.4;
}
.auth-split__hairline--1{
    top:18%; left:-5%; right:60%;
    height:1px;
    transform:rotate(-2deg);
}
.auth-split__hairline--2{
    bottom:22%; left:55%; right:-5%;
    height:1px;
    transform:rotate(1.5deg);
}
.auth-split__hairline--3{
    top:50%; left:42%; right:42%;
    height:1px;
    opacity:.6;
}

/* --- crumbs (sam pasek, bez logo — header globalny już je pokazuje) --- */
.auth-split__crumbs{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.7rem;
    font-size:.66rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:clamp(1.6rem, 3vw, 2.4rem);
}
.auth-split__crumbs a{
    color:var(--ink-2);
    text-decoration:none;
    transition:color var(--t-fast);
}
.auth-split__crumbs a:hover{color:var(--gold-2)}
.auth-split__crumbs span[aria-hidden]{color:var(--line-2)}

/* --- tabs (mobile only) --- */
.auth-split__tabs{
    display:none;
    position:relative;
    z-index:2;
    margin:0 auto 1.6rem;
    padding:.35rem;
    background:rgba(255,255,255,.7);
    backdrop-filter:blur(8px);
    border:1px solid var(--auth-line);
    width:100%;
    max-width:420px;
}
.auth-split__tab{
    flex:1 1 50%;
    background:transparent;
    border:0;
    padding:.85rem 1rem;
    font-family:var(--sans);
    font-size:.68rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    font-weight:600;
    color:var(--muted);
    cursor:pointer;
    position:relative;
    z-index:1;
    transition:color .3s ease;
}
.auth-split__tab.is-active{color:var(--white)}
.auth-split__tab-marker{
    position:absolute;
    top:.35rem;
    bottom:.35rem;
    left:.35rem;
    width:calc(50% - .35rem);
    background:var(--ink);
    z-index:0;
    transition:transform .35s cubic-bezier(.6,.05,.3,.95);
}
.auth-split[data-active-panel="register"] .auth-split__tab-marker{
    transform:translateX(100%);
}

/* --- main grid: 2 cards + central ornament divider --- */
.auth-split__grid{
    position:relative;
    z-index:1;
    flex:1 1 auto;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:clamp(2rem, 4vw, 4.5rem);
    align-items:stretch;
    max-width:1480px;
    width:100%;
    margin:0 auto;
}

/* --- card base --- */
.auth-card{
    position:relative;
    background:var(--white);
    padding:clamp(2rem, 4vw, 3.4rem) clamp(1.8rem, 3.5vw, 3rem);
    border-top:1px solid rgba(181,150,94,.5);
    box-shadow:
        0 1px 0 0 var(--auth-line),
        0 30px 80px -50px rgba(16,13,11,.22),
        0 8px 22px -16px rgba(16,13,11,.12);
    transition:box-shadow .35s ease, transform .35s ease;
    animation:nsk-auth-rise .7s cubic-bezier(.2,.7,.2,1) both;
}
.auth-card--login   { animation-delay:.05s }
.auth-card--register{ animation-delay:.15s }

.auth-card::before{
    /* Decorative gold corner-mark */
    content:"";
    position:absolute;
    top:0;left:0;
    width:38px;height:38px;
    border-top:1px solid var(--gold);
    border-left:1px solid var(--gold);
    transition:width .35s ease, height .35s ease;
}
.auth-card:hover::before{width:54px;height:54px}

.auth-card.is-highlighted{
    box-shadow:
        0 0 0 1px var(--gold),
        0 30px 80px -50px rgba(181,150,94,.5),
        0 8px 30px -10px rgba(181,150,94,.3);
}

.auth-card__inner{
    max-width:480px;
    margin:0 auto;
}

.auth-card__head{
    display:flex;
    align-items:center;
    gap:1rem;
    margin-bottom:1.4rem;
}
.auth-card__num{
    font-family:var(--serif);
    font-style:italic;
    font-size:1.5rem;
    color:var(--gold);
    line-height:1;
    font-weight:400;
}
.auth-card__eyebrow{
    font-family:var(--sans);
    font-size:.62rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold-2);
    font-weight:600;
}
.auth-card__eyebrow::before{
    content:"";
    display:inline-block;
    width:28px;height:1px;
    background:var(--gold);
    vertical-align:middle;
    margin-right:.7rem;
}

.auth-card__title{
    font-size:clamp(2rem, 3vw, 2.8rem);
    line-height:1.05;
    margin:0 0 1rem;
    color:var(--ink);
    font-weight:500;
    letter-spacing:-.01em;
}
.auth-card__title em{
    font-style:italic;
    color:var(--gold-2);
    font-weight:400;
}

.auth-card__lead{
    color:var(--ink-2);
    line-height:1.7;
    margin:0 0 1.8rem;
    font-size:.95rem;
    max-width:38ch;
}

.auth-card__error{
    display:flex;
    align-items:flex-start;
    gap:.7rem;
    background:linear-gradient(95deg, rgba(192,58,43,.06), rgba(192,58,43,.02));
    border-left:3px solid #c03a2b;
    color:#7A1F14;
    padding:.9rem 1.1rem;
    margin-bottom:1.4rem;
    font-size:.9rem;
    line-height:1.5;
}
.auth-card__error-mark{
    flex:0 0 auto;
    width:22px;height:22px;
    background:#c03a2b;
    color:var(--white);
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:.7rem;
    font-weight:700;
    line-height:1;
}

/* --- form (override + extend) --- */
.auth-split .auth-form__row label{
    display:inline-block;
    font-size:.62rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--ink-2);
    font-weight:600;
    margin-bottom:.45rem;
}
/* Margines pomiędzy grid-2 a kolejnym wierszem formularza
   (między „Imię/Nazwisko" a „E-mail" itd.) */
.auth-split .auth-form__grid-2{
    margin-bottom:1.1rem;
}
.auth-split .auth-form__row input{
    padding:.95rem 1rem;
    border:1px solid var(--line);
    background:transparent;
    border-radius:0;
    transition:border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.auth-split .auth-form__row input:hover{
    border-color:var(--line-2);
}
.auth-split .auth-form__row input:focus{
    outline:none;
    border-color:var(--gold);
    background:var(--white);
    box-shadow:0 6px 24px -12px rgba(181,150,94,.45);
}
.auth-form__hint-inline{
    display:block;
    margin-top:.4rem;
    font-size:.7rem;
    color:var(--muted);
    letter-spacing:.04em;
}

.auth-split .auth-form__check{
    align-items:flex-start;
    gap:.7rem;
    margin:1.4rem 0 1.6rem;
    font-size:.85rem;
    color:var(--ink-2);
}
.auth-split .auth-form__check label{
    text-transform:none;
    letter-spacing:0;
    font-size:.86rem;
    color:var(--ink-2);
    font-weight:400;
    margin:0;
    line-height:1.55;
}
.auth-split .auth-form__check a{
    color:var(--ink);
    text-decoration:none;
    border-bottom:1px solid var(--gold);
}
.auth-split .auth-form__check a:hover{color:var(--gold-2)}

.auth-split .btn--submit{
    width:100%;
    justify-content:center;
    padding:1.15rem 1.6rem;
    font-size:.74rem;
    letter-spacing:.3em;
    display:inline-flex;
    align-items:center;
    gap:.8rem;
    transition:background .25s ease, color .25s ease, transform .25s ease;
}
.auth-split .btn--submit:hover .arrow{
    transform:translateX(6px);
}
.auth-split .btn--submit .arrow{
    transition:transform .3s ease;
    display:inline-block;
}

.auth-form__hint{
    text-align:center;
    margin:1rem 0 0;
    font-size:.86rem;
    color:var(--muted);
}
.auth-form__hint a{
    color:var(--ink);
    text-decoration:none;
    border-bottom:1px solid var(--gold);
    padding-bottom:1px;
}
.auth-form__hint a:hover{color:var(--gold-2)}

/* --- ornament divider --- */
.auth-split__divider{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1rem;
    padding:1rem 0;
}
.auth-split__divider-line{
    flex:1 1 auto;
    width:1px;
    background:linear-gradient(180deg, transparent, var(--auth-line-2), transparent);
    min-height:60px;
}
.auth-split__divider-ornament{
    color:var(--gold);
    opacity:.7;
    display:grid;
    place-items:center;
    width:42px;height:42px;
    border:1px solid var(--gold);
    border-radius:50%;
    background:var(--auth-bg);
    flex:0 0 auto;
    transform:rotate(0deg);
    animation:nsk-auth-rotate 32s linear infinite;
}

/* --- legal footer --- */
.auth-split__legal{
    position:relative;
    z-index:2;
    margin:clamp(1.8rem, 3vw, 2.6rem) auto 0;
    text-align:center;
    font-size:.7rem;
    color:var(--muted);
    line-height:1.6;
    letter-spacing:.04em;
    max-width:520px;
}
.auth-split__legal a{
    color:var(--ink-2);
    text-decoration:none;
    border-bottom:1px solid var(--gold);
}

/* --- entrance animation --- */
@keyframes nsk-auth-rise{
    from{
        opacity:0;
        transform:translateY(28px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}
@keyframes nsk-auth-rotate{
    to{ transform:rotate(360deg) }
}

/* --- desktop: show both panels, hide tabs --- */
@media (min-width:980px){
    .auth-split__tabs{display:none !important}
    .auth-card{display:block !important}
}

/* --- mobile: stack + tabs --- */
@media (max-width:979px){
    .auth-split__tabs{
        display:flex;
    }
    .auth-split__grid{
        grid-template-columns:1fr;
        gap:0;
    }
    .auth-split__divider{display:none}
    .auth-card{
        display:none;
        animation:nsk-auth-rise .5s cubic-bezier(.2,.7,.2,1) both;
        max-width:520px;
        margin:0 auto;
        width:100%;
    }
    .auth-card.is-active{display:block}
}

/* --- ultra-small phones: trim paddings --- */
@media (max-width:420px){
    .auth-card{padding:1.6rem 1.2rem}
    .auth-card__title{font-size:1.8rem}
    .auth-split__topbar{justify-content:center;text-align:center}
    .auth-split__crumbs{width:100%;justify-content:center}
}

/* ============================================================
   MY ACCOUNT — dedykowany szablon page-konto.php
   (Czysta klasa, brak konfliktów z page.php i jego wąskim kontenerem)
   ============================================================ */
.my-account-section{
    padding:clamp(2rem, 4vw, 3.5rem) 0 var(--section-y);
    background:var(--bg);
}
.my-account-shell{
    max-width:1280px;
    margin:0 auto;
    padding:0 clamp(1.2rem, 3vw, 2rem);
    display:grid;
    grid-template-columns:240px 1fr;
    gap:clamp(1.5rem, 3vw, 2.5rem);
    align-items:start;
}
.my-account-shell__nav{min-width:0}
.my-account-shell__content{min-width:0}

@media (max-width:980px){
    .my-account-shell{
        grid-template-columns:1fr;
        gap:1.4rem;
    }
}

/* ============================================================
   FALLBACK — gdyby ktoś użył page.php zamiast page-konto.php
   ============================================================ */

/* Sidebar */
.woocommerce-account .woocommerce-MyAccount-navigation{
    background:var(--bg-2);
    padding:1.4rem 1.2rem;
    border-left:3px solid var(--gold);
    box-shadow:0 12px 30px -20px rgba(16,13,11,.1);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
    margin:0;padding:0;list-style:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
    margin:0;
    border-bottom:1px solid rgba(181,150,94,.15);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-account .woocommerce-MyAccount-navigation a{
    display:block;
    padding:.85rem .4rem;
    font-size:.74rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--ink-2);
    text-decoration:none;
    transition:color var(--t-fast), padding var(--t-fast), background var(--t-fast);
    font-weight:500;
    position:relative;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
    color:var(--ink);
    padding-left:.7rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{
    color:var(--ink);
    background:rgba(181,150,94,.08);
    padding-left:.7rem;
    border-left:2px solid var(--gold);
    margin-left:-2px;
    font-weight:600;
}

/* CONTENT obszar */
.woocommerce-account .woocommerce-MyAccount-content{
    background:var(--white);
    padding:clamp(1.8rem,3vw,2.6rem);
    border:1px solid var(--line);
    box-shadow:0 24px 50px -30px rgba(16,13,11,.12);
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3{
    font-family:var(--serif);
    color:var(--ink);
    font-weight:500;
    margin:0 0 1.2rem;
    line-height:1.2;
}
.woocommerce-account .woocommerce-MyAccount-content h2{
    font-size:clamp(1.4rem,2.4vw,1.8rem);
    padding-bottom:.8rem;
    border-bottom:1px solid var(--line);
}
.woocommerce-account .woocommerce-MyAccount-content p{
    color:var(--ink-2);
    line-height:1.65;
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.btn){
    color:var(--gold-2);
    text-decoration:underline;
    text-decoration-color:rgba(142,117,68,.4);
    text-underline-offset:3px;
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.btn):hover{
    color:var(--ink);
    text-decoration-color:var(--ink);
}

/* FORMS — input/label/fieldset */
.woocommerce-account .woocommerce form,
.woocommerce-account .woocommerce-form{margin:0}
.woocommerce-account form .form-row{
    margin-bottom:1.2rem;
    padding:0;
}
.woocommerce-account form .form-row label{
    display:block;
    font-size:.7rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:600;
    margin-bottom:.4rem;
}
.woocommerce-account form .form-row label .required,
.woocommerce-account form .form-row label .optional{
    color:var(--gold-2);
    font-style:normal;
    margin-left:.15em;
}
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"],
.woocommerce-account input[type="number"],
.woocommerce-account select,
.woocommerce-account textarea{
    width:100%;
    background:var(--bg);
    border:1px solid var(--line);
    padding:.85rem 1rem;
    font-family:var(--sans);
    font-size:.95rem;
    color:var(--ink);
    line-height:1.4;
    border-radius:0;
    transition:border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);
    box-sizing:border-box;
}
.woocommerce-account input:focus,
.woocommerce-account select:focus,
.woocommerce-account textarea:focus{
    outline:none;
    border-color:var(--gold);
    background:var(--white);
    box-shadow:0 0 0 3px rgba(181,150,94,.15);
}
.woocommerce-account form .form-row .description,
.woocommerce-account form .form-row em{
    display:block;
    font-size:.78rem;
    color:var(--muted);
    font-style:italic;
    line-height:1.55;
    margin-top:.4rem;
}
.woocommerce-account fieldset{
    border:1px solid var(--line);
    padding:1.4rem 1.6rem;
    margin:1.6rem 0;
    background:var(--bg-2);
    border-left:3px solid var(--gold);
}
.woocommerce-account fieldset legend{
    padding:0 .6rem;
    font-family:var(--serif);
    font-size:1.05rem;
    color:var(--ink);
    font-weight:500;
}

/* BUTTON woocommerce — z naszym brandingiem */
.woocommerce-account .button,
.woocommerce-account button[type="submit"]{
    display:inline-flex;
    align-items:center;
    gap:.7rem;
    padding:1rem 1.8rem;
    font-size:.74rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    border:1px solid var(--ink);
    background:var(--ink);
    color:var(--white);
    font-weight:500;
    cursor:pointer;
    transition:background var(--t-fast), color var(--t-fast);
    text-decoration:none;
    border-radius:0;
    font-family:var(--sans);
}
.woocommerce-account .button:hover,
.woocommerce-account button[type="submit"]:hover{
    background:transparent;
    color:var(--ink);
}

/* Show/hide hasła — strzałka oka WC */
.woocommerce-account .show-password-input{color:var(--muted)}
.woocommerce-account .show-password-input:hover{color:var(--gold-2)}

/* MESSAGES */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice{
    background:var(--bg-2);
    border-left:3px solid var(--gold);
    padding:1rem 1.2rem;
    margin:0 0 1.5rem;
    list-style:none;
    color:var(--ink);
    font-size:.95rem;
    line-height:1.55;
}
.woocommerce-error{
    background:#fff0ec;
    border-left-color:#c03a2b;
    color:#7A1F14;
}
.woocommerce-message{
    background:#f0f7f0;
    border-left-color:#1f7a3a;
    color:#0d4a1f;
}

/* TABLES — orders, downloads, addresses */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .shop_table,
.woocommerce-account .woocommerce-table{
    width:100%;
    border-collapse:collapse;
    margin-bottom:2rem;
    font-size:.92rem;
}
.woocommerce-account .woocommerce-orders-table thead th,
.woocommerce-account .shop_table thead th{
    background:var(--bg-2);
    text-align:left;
    padding:.9rem 1rem;
    font-size:.68rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--ink-2);
    font-weight:600;
    border-bottom:1px solid var(--line-2);
}
.woocommerce-account .woocommerce-orders-table tbody td,
.woocommerce-account .shop_table tbody td{
    padding:1rem;
    border-bottom:1px solid var(--line);
    color:var(--ink);
    vertical-align:middle;
}
.woocommerce-account .woocommerce-orders-table tbody tr:hover,
.woocommerce-account .shop_table tbody tr:hover{
    background:var(--bg-2);
}
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button{
    padding:.5rem .9rem;
    font-size:.62rem;
    letter-spacing:.2em;
}

/* DASHBOARD — pretty intro */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child{
    font-size:1.05rem;
    line-height:1.7;
    color:var(--ink);
    padding-bottom:1.2rem;
    border-bottom:1px solid var(--line);
    margin-bottom:1.5rem;
}
.woocommerce-account .woocommerce-MyAccount-content > p:first-child strong{
    color:var(--gold-2);
    font-weight:600;
}

/* Edit address — 2 cards.
   NOTE: the cards carry .u-column1/.u-column2/.col-1/.col-2 too — but the
   .u-columns styles below are scoped with :not(.woocommerce-Addresses) so
   they don't bleed into here. */
.woocommerce-account .woocommerce-Addresses{
    display:grid;
    grid-template-columns:1fr;
    gap:1.4rem;
    margin-top:1rem;
}
.woocommerce-account .woocommerce-Address{
    background:var(--bg-2);
    padding:1.4rem 1.5rem;
    border:0;
    border-left:3px solid var(--gold);
    min-width:0;
    width:auto;
    float:none;
}
.woocommerce-account .woocommerce-Address h2,
.woocommerce-account .woocommerce-Address-title h2{
    font-family:var(--serif);
    font-size:1.05rem;
    line-height:1.25;
    margin:0;
    padding:0;
    border:0;
    color:var(--ink);
    flex:1 1 auto;
    min-width:0;
}
.woocommerce-account .woocommerce-Address-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:.8rem;
    flex-wrap:wrap;
    margin:0 0 1rem;
    padding:0 0 .8rem;
    border-bottom:1px solid var(--line);
}
.woocommerce-account .woocommerce-Address-title a,
.woocommerce-account .woocommerce-Address-title a.edit{
    flex:0 0 auto;
    font-size:.62rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--gold-2);
    text-decoration:none;
    font-weight:700;
    white-space:nowrap;
    border-bottom:1px solid transparent;
    padding-bottom:2px;
    transition:border-color .2s ease, color .2s ease;
}
.woocommerce-account .woocommerce-Address-title a:hover,
.woocommerce-account .woocommerce-Address-title a.edit:hover{
    color:var(--ink);
    border-bottom-color:var(--gold);
}
.woocommerce-account .woocommerce-Address address{
    font-style:normal;
    color:var(--ink-2);
    line-height:1.65;
    font-size:.92rem;
    margin:0;
}
.woocommerce-account .woocommerce-Address address strong{color:var(--ink);font-weight:600}

@media (max-width:760px){
    .woocommerce-account .woocommerce-Address-title a,
    .woocommerce-account .woocommerce-Address-title a.edit{
        font-size:.6rem;
        letter-spacing:.18em;
    }
}

/* Single order view */
.woocommerce-order{padding-top:1rem}
.woocommerce-order h2{
    font-family:var(--serif);
    font-size:1.2rem;
    margin:1.8rem 0 1rem;
    color:var(--ink);
    font-weight:500;
}
.woocommerce-order-overview{
    list-style:none;
    margin:0 0 1.6rem;
    padding:1.2rem 1.4rem;
    background:var(--bg-2);
    border-left:3px solid var(--gold);
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
    gap:1rem;
}
.woocommerce-order-overview li{
    margin:0;
    font-size:.85rem;
    color:var(--ink-2);
    line-height:1.4;
}
.woocommerce-order-overview li strong{
    display:block;
    color:var(--ink);
    font-family:var(--serif);
    font-size:1.05rem;
    margin-top:.2rem;
    font-weight:500;
}
.woocommerce-order-overview .woocommerce-order-overview__order strong{font-family:monospace;font-size:1rem}

/* WC Blocks compatibility */
.woocommerce-account .wp-block-button__link{
    background:var(--ink);color:var(--white);border-color:var(--ink);border-radius:0;
}

@media (max-width:980px){
    /* Grid → 1 kolumna, sidebar jako poziome pill-menu */
    body.woocommerce-account .woocommerce{
        grid-template-columns:1fr !important;
        gap:1.4rem !important;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation{
        margin-bottom:0;
        border-left:0;
        border-top:3px solid var(--gold);
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul{
        display:flex;
        flex-wrap:wrap;
        gap:.3rem;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation li{
        border-bottom:0;
        flex:0 0 auto;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation a{
        padding:.5rem .9rem;
        font-size:.68rem;
        background:var(--white);
    }
    .woocommerce-account .woocommerce-MyAccount-navigation .is-active a{
        background:var(--ink);
        color:var(--white);
        border-left:0;
        margin-left:0;
    }
}

/* Login / Register page (legacy WC pages).
   Scoped so they don't collide with .woocommerce-Addresses which
   also uses .u-columns / .u-column1 / .u-column2 / .col-1 / .col-2. */
.woocommerce-account .u-columns:not(.woocommerce-Addresses),
.woocommerce-account .woocommerce-columns--2:not(.woocommerce-Addresses){
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(1.4rem,3vw,2.4rem);
    margin-top:1rem;
}
.woocommerce-account .u-columns:not(.woocommerce-Addresses) > .u-column1,
.woocommerce-account .u-columns:not(.woocommerce-Addresses) > .u-column2,
.woocommerce-account .u-columns:not(.woocommerce-Addresses) > .col-1,
.woocommerce-account .u-columns:not(.woocommerce-Addresses) > .col-2,
.woocommerce-account .woocommerce-columns--2:not(.woocommerce-Addresses) > .col-1,
.woocommerce-account .woocommerce-columns--2:not(.woocommerce-Addresses) > .col-2{
    background:var(--white);
    padding:1.8rem 1.6rem;
    border:1px solid var(--line);
    border-top:3px solid var(--gold);
}
.woocommerce-account .u-columns:not(.woocommerce-Addresses) > .u-column1 h2,
.woocommerce-account .u-columns:not(.woocommerce-Addresses) > .u-column2 h2{
    font-family:var(--serif);
    font-size:1.3rem;
    margin:0 0 1.2rem;
    color:var(--ink);
    border:0;
    padding:0;
}

@media (max-width:760px){
    .woocommerce-account .u-columns:not(.woocommerce-Addresses),
    .woocommerce-account .woocommerce-columns--2:not(.woocommerce-Addresses){grid-template-columns:1fr}
}

/* ============================================================
   MY ACCOUNT DASHBOARD — custom welcome screen
   ============================================================ */
.nsk-dashboard{margin:0}

.nsk-dashboard__welcome{
    margin-bottom:2rem;
    padding-bottom:1.6rem;
    border-bottom:1px solid var(--line);
}
.nsk-dashboard__welcome .eyebrow{
    color:var(--gold-2);
    margin-bottom:.8rem;
    display:inline-flex;
}
.nsk-dashboard__welcome h2{
    font-size:clamp(1.6rem,3vw,2.2rem);
    margin:0 0 .8rem !important;
    padding-bottom:0 !important;
    border:0 !important;
}
.nsk-dashboard__welcome p{
    margin:0;
    color:var(--ink-2);
    line-height:1.65;
    max-width:60ch;
}

.nsk-dashboard__h{
    font-family:var(--serif);
    font-size:.78rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold-2);
    margin:2.4rem 0 1.2rem;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    gap:.7rem;
}
.nsk-dashboard__h::after{
    content:"";
    flex:1 0 60px;
    height:1px;
    background:var(--line);
}

/* STATS */
.nsk-dashboard__stats{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:1rem;
    margin-bottom:1rem;
}
.nsk-stat-card{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:.3rem;
    padding:1.4rem 1.3rem;
    background:linear-gradient(135deg, var(--white) 0%, #faf7f0 100%);
    border:1px solid var(--line);
    border-top:3px solid var(--gold);
    text-decoration:none !important;
    color:var(--ink);
    transition:transform var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast);
    position:relative;
}
.nsk-stat-card::after{
    content:"→";
    position:absolute;
    top:1.2rem;right:1.2rem;
    color:var(--gold-2);
    opacity:0;
    transition:opacity var(--t-fast), transform var(--t-fast);
}
.nsk-stat-card:hover{
    transform:translateY(-2px);
    box-shadow:0 24px 40px -25px rgba(142,117,68,.3);
    border-top-color:var(--gold-2);
}
.nsk-stat-card:hover::after{opacity:1;transform:translateX(3px)}
.nsk-stat-card__icon{
    font-size:1.4rem;
    line-height:1;
    margin-bottom:.4rem;
    display:inline-flex;
    align-items:center;
}
/* WP zamienia emoji na <img class="emoji"> z domyślnymi 16px — powiększamy */
.nsk-stat-card__icon img.emoji,
.nsk-quick__icon img.emoji,
.nsk-dashboard__welcome img.emoji{
    width:1.4rem;
    height:1.4rem;
    margin:0;
    vertical-align:middle;
}
.nsk-quick__icon img.emoji{width:1.15rem;height:1.15rem}
.nsk-stat-card__num{
    font-family:var(--serif);
    font-size:2.2rem;
    line-height:1;
    color:var(--ink);
    font-weight:500;
    text-decoration:none !important;
}
.nsk-stat-card__label{
    font-size:.7rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:600;
    line-height:1.4;
    margin-top:.3rem;
    text-decoration:none !important;
}
.nsk-stat-card__label small{
    display:block;
    font-size:.65rem;
    letter-spacing:.12em;
    color:var(--muted);
    text-transform:none;
    font-weight:400;
    margin-top:.2rem;
}

@media (max-width:980px){
    .nsk-dashboard__stats{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width:480px){
    .nsk-dashboard__stats{grid-template-columns:1fr}
}

/* QUICK ACTIONS */
.nsk-quick-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:1rem;
}
.nsk-quick{
    display:flex;
    align-items:center;
    gap:1rem;
    padding:1.1rem 1.3rem;
    background:var(--bg-2);
    text-decoration:none !important;
    color:var(--ink);
    transition:background var(--t-fast), padding var(--t-fast);
}
.nsk-quick:hover{background:var(--bg-3);padding-left:1.6rem}
.nsk-quick__icon{
    flex:0 0 auto;
    width:42px;height:42px;
    background:var(--white);
    border-radius:50%;
    display:grid;place-items:center;
    font-size:1.15rem;
    border:1px solid var(--line);
}
.nsk-quick strong{
    display:block;
    font-size:.95rem;
    color:var(--ink);
    line-height:1.3;
    text-decoration:none !important;
    font-weight:500;
    margin-bottom:.2rem;
}
.nsk-quick small{
    display:block;
    color:var(--ink-2);
    font-size:.78rem;
    line-height:1.4;
}
@media (max-width:680px){
    .nsk-quick-grid{grid-template-columns:1fr}
}

/* SUMMARY */
.nsk-summary-row{
    display:grid;
    grid-template-columns:repeat(3, 1fr) auto;
    gap:1.4rem;
    align-items:center;
    padding:1.2rem 1.4rem;
    background:var(--bg-2);
    border-left:3px solid var(--gold);
}
.nsk-summary-row > div{min-width:0}
.nsk-summary-label{
    display:block;
    font-size:.62rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:600;
    margin-bottom:.3rem;
}
.nsk-summary-row strong{
    display:block;
    color:var(--ink);
    font-size:.92rem;
    line-height:1.4;
    word-break:break-word;
    font-weight:500;
}
.nsk-summary-edit{
    font-size:.68rem;
    letter-spacing:.26em;
    text-transform:uppercase;
    color:var(--gold-2);
    text-decoration:none !important;
    font-weight:600;
    white-space:nowrap;
}
.nsk-summary-edit:hover{color:var(--ink) !important}
@media (max-width:760px){
    .nsk-summary-row{grid-template-columns:1fr;gap:.8rem}
    .nsk-summary-edit{padding-top:.6rem;border-top:1px solid var(--line)}
}

/* LOGOUT */
.nsk-dashboard__logout{
    margin-top:2rem;
    text-align:center;
}
.nsk-logout-link{
    display:inline-block;
    color:var(--muted) !important;
    font-size:.78rem;
    letter-spacing:.2em;
    text-transform:uppercase;
    text-decoration:none !important;
    padding:.7rem 1.4rem;
    transition:color var(--t-fast);
    font-weight:500;
}
.nsk-logout-link:hover{color:var(--ink) !important}

/* Pagination */
.woocommerce-pagination{
    margin-top:1.4rem;
    list-style:none;
    padding:0;
    display:flex;
    gap:.4rem;
    justify-content:center;
}
.woocommerce-pagination li a,
.woocommerce-pagination li span{
    display:inline-grid;
    place-items:center;
    width:36px;height:36px;
    border:1px solid var(--line);
    color:var(--ink-2);
    text-decoration:none;
    font-size:.86rem;
    transition:background var(--t-fast), color var(--t-fast);
}
.woocommerce-pagination li a:hover,
.woocommerce-pagination .current{
    background:var(--ink);
    color:var(--white);
    border-color:var(--ink);
}

/* ---------- CONTACT MAP (czarno-biała Google Maps) ---------- */
.contact-map{
    position:relative;
    height:clamp(420px, 60vh, 640px);
    width:100%;
    overflow:hidden;
    background:#f6f5f2;
    padding:0;
}
.contact-map__iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
    /* B&W look — grayscale + lekko podbity kontrast,
       żeby ulice były wyraźne. Hover lekko "ożywia" mapę. */
    filter:grayscale(100%) contrast(1.05) brightness(.96);
    transition:filter var(--t);
}
.contact-map:hover .contact-map__iframe{
    filter:grayscale(60%) contrast(1.02) brightness(1);
}
.contact-map__inner--custom iframe{
    width:100%;height:100%;
    border:0;display:block;
    filter:grayscale(100%) contrast(1.05) brightness(.96);
}
.contact-map__inner--custom{position:relative;width:100%;height:100%}

/* Floating address card — magazynowo, prawy dolny róg */
.contact-map__card{
    position:absolute;
    bottom:clamp(1.4rem, 3vw, 2.4rem);
    right:clamp(1.4rem, 3vw, 2.4rem);
    background:var(--white);
    padding:1.4rem 1.4rem 1.2rem;
    width:clamp(260px, 28vw, 320px);
    box-shadow:0 30px 60px -20px rgba(16,13,11,.32);
    border-top:3px solid var(--gold);
    text-decoration:none;
    color:var(--ink);
    display:flex;
    flex-direction:column;
    gap:.3rem;
    z-index:3;
    transition:transform var(--t), box-shadow var(--t);
}
.contact-map__card:hover{
    transform:translateY(-3px);
    box-shadow:0 36px 70px -16px rgba(16,13,11,.4);
}
.contact-map__card-eyebrow{
    font-size:.62rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold-2);
    font-weight:600;
}
.contact-map__card-name{
    font-family:var(--serif);
    font-size:1.3rem;
    color:var(--ink);
    margin:.15rem 0 .3rem;
    line-height:1.2;
    font-weight:500;
}
.contact-map__card-address{
    font-size:.86rem;
    color:var(--ink-2);
    line-height:1.5;
    margin-bottom:.8rem;
}
.contact-map__card-cta{
    font-size:.66rem;
    letter-spacing:.26em;
    text-transform:uppercase;
    color:var(--ink);
    font-weight:500;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding-top:.6rem;
    border-top:1px solid var(--line);
}
.contact-map__card-cta .arrow{transition:transform var(--t-fast)}
.contact-map__card:hover .contact-map__card-cta .arrow{transform:translateX(4px)}

/* Statyczne zdjęcie mapy (alt) */
.contact-map__image{
    width:100%;height:100%;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    filter:grayscale(100%) contrast(1.05);
    position:relative;
}
.contact-map__image-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(16,13,11,.35), rgba(16,13,11,.55));
    display:grid;place-items:center;
    color:var(--white);text-align:center;
    padding:2rem;
}
.contact-map__image-overlay .eyebrow{color:var(--gold);justify-content:center}
.contact-map__image-overlay h3{color:var(--white);margin-top:.8rem;font-weight:400}
.contact-map__image-overlay p{color:rgba(255,253,249,.85);margin-top:.6rem}

@media (max-width:760px){
    .contact-map{height:clamp(360px, 50vh, 480px)}
    .contact-map__card{
        bottom:1rem;right:1rem;left:1rem;
        width:auto;
        padding:1.1rem 1.1rem .9rem;
    }
}

/* ---------- CONTACT ---------- */
.contact{padding:var(--section-y) 0}
.contact__grid{
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:clamp(2rem,6vw,5rem);
    align-items:start;
}
.contact-info h2{margin-bottom:1.2rem}
.contact-info p{color:var(--ink-2);max-width:42ch}
.contact-info__list{
    list-style:none;margin:2rem 0 0;padding:0;
    display:flex;flex-direction:column;gap:1.6rem;
}
.contact-info__list li{display:flex;gap:1.2rem;align-items:flex-start}
.contact-info__icon{
    width:42px;height:42px;flex:0 0 auto;
    border-radius:50%;border:1px solid var(--line);
    display:grid;place-items:center;color:var(--gold-2);
}
.contact-info__icon svg{width:16px;height:16px}
.contact-info__list h4{font-family:var(--sans);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem;font-weight:400}
.contact-info__list a{font-family:var(--serif);font-size:1.3rem;font-style:italic;color:var(--ink)}
.contact-info__list a:hover{color:var(--gold-2)}
.contact-info__list span{display:block;color:var(--ink-2);font-size:1rem}

.contact-form{
    background:transparent;
    padding:0;
    border:0;
}
.contact-form__head{margin-bottom:1.6rem}
.contact-form__head h3{margin-bottom:.4rem}
.contact-form__head p{color:var(--ink-2);font-size:.95rem;margin:0}

.field{margin-bottom:1rem;position:relative}
.field label.sr-only{
    position:absolute;width:1px;height:1px;padding:0;overflow:hidden;
    clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.field input, .field select, .field textarea{
    width:100%;
    background:var(--white);
    border:1px solid var(--line);
    padding:1.05rem 1.2rem;
    font:inherit;
    font-size:.96rem;
    color:var(--ink);
    transition:border-color .2s ease, background-color .2s ease;
    border-radius:0;
}
.field input::placeholder, .field textarea::placeholder{
    color:var(--muted);
    opacity:1;
}
.field textarea{min-height:160px;resize:vertical;font-family:inherit}
.field input:focus, .field select:focus, .field textarea:focus{
    outline:none;border-color:var(--ink);background-color:#FAFAF8;
}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.82rem;color:var(--ink-2);line-height:1.55;margin:1rem 0 1.4rem}
.field-check input{width:auto;margin-top:.25rem;flex:0 0 auto}
.field-check label{margin:0}
.field-check a{text-decoration:underline}

/* reCAPTCHA v2 widget w formularzu kontaktowym — spójny z auth-form */
.contact-form .auth-form__recaptcha{
    margin:.8rem 0 1.4rem;
    display:flex;
    justify-content:flex-start;
    min-height:78px;
}
.contact-form__legal{
    margin:1rem 0 0;
    font-size:.74rem;
    color:var(--muted);
    line-height:1.5;
}
.contact-form__legal a{
    color:var(--ink-2);
    text-decoration:none;
    border-bottom:1px solid var(--gold);
}
.contact-form__legal a:hover{color:var(--gold-2)}

@media (max-width:540px){
    .contact-form .auth-form__recaptcha{justify-content:center}
    .contact-form .auth-form__recaptcha .g-recaptcha{transform:scale(.92);transform-origin:center top}
}
@media (max-width:380px){
    .contact-form .auth-form__recaptcha .g-recaptcha{transform:scale(.82)}
}

/* Cream contact panel — left side */
.contact-info--panel{
    background:var(--bg-2);
    padding:clamp(2rem,3.5vw,3rem);
    align-self:start;
}
.contact-info--panel h2{margin:0 0 .6rem}
.contact-info--panel .lead-sm{color:var(--ink-2);font-size:1rem;line-height:1.6;max-width:36ch;margin:0 0 1.6rem}
.contact-info__block{margin-top:1.4rem}
.contact-info__block h4{
    font-family:var(--sans);
    font-size:.95rem;font-weight:500;
    color:var(--ink);margin-bottom:.45rem;letter-spacing:0;
}
.contact-info__block p, .contact-info__block a{
    display:block;color:var(--ink-2);font-size:.93rem;line-height:1.6;
}
.contact-info__block a:hover{color:var(--ink)}
.contact-info__block .social-icons{display:flex;gap:.5rem;margin-top:.4rem}
.contact-info__block .social-icons a{
    width:36px;height:36px;background:var(--ink);color:var(--white);
    display:grid;place-items:center;transition:background .2s;
}
.contact-info__block .social-icons a:hover{background:var(--gold-2)}
.contact-info__block .social-icons svg{width:14px;height:14px}

/* Submit button — full-width black */
.btn--submit{
    width:100%;
    justify-content:center;
    padding:1.15rem 1.6rem;
    font-size:.74rem;
    background:var(--ink);
    color:var(--white);
    border-color:var(--ink);
}
.btn--submit:hover{background:#000;color:var(--white);border-color:#000}

/* ---------- SHOP / PRODUCT GRID ---------- */
.shop-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:clamp(1.4rem,3vw,2.4rem);
}
.product{
    background:var(--white);
    transition:transform var(--t), box-shadow var(--t);
    position:relative;
}
.product:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.product__media{
    position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--bg-3);
}
.product__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.6,.2,1)}
.product:hover .product__media img{transform:scale(1.06)}
.product__tag{
    position:absolute;top:1rem;left:1rem;
    background:var(--ink);color:var(--bg);
    font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;
    padding:.4rem .7rem;
}
.product__tag--gold{background:var(--gold);color:var(--white)}
.product__body{padding:1.4rem 1.2rem}
.product__cat{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}
.product__title{font-family:var(--serif);font-size:1.3rem;line-height:1.2;margin-bottom:.6rem}
.product__price{display:flex;align-items:baseline;gap:.7rem;font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--gold-2)}
.product__price small{font-size:.85rem;color:var(--muted);text-decoration:line-through;font-style:normal}
.product__excerpt{
    color:var(--ink-2);
    font-size:.9rem;
    line-height:1.55;
    margin:0 0 .9rem;
    /* max 3 linijki — kontroluje wysokość kart w gridzie */
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.product__meta{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    font-size:.78rem;
    color:var(--muted);
    letter-spacing:.04em;
    margin:0 0 1rem;
    padding:.4rem .7rem;
    background:var(--bg-2);
    border-radius:2px;
}
.product__meta-icon{
    color:var(--gold-2);
    font-size:.85rem;
    line-height:1;
}
.product__foot{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:1rem;
    margin-top:auto;
    padding-top:.6rem;
    border-top:1px solid var(--line);
}
.product__cta-hint{
    font-size:.66rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--ink);
    opacity:.7;
    transition:opacity var(--t-fast), gap var(--t-fast);
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    font-weight:500;
}
.product:hover .product__cta-hint{opacity:1}
.product:hover .product__cta-hint .arrow{transform:translateX(4px)}
.product__cta-hint .arrow{transition:transform var(--t-fast)}

/* Każda karta produktu jest flex-column żeby foot przykleił się do dołu */
.product{display:flex;flex-direction:column}
.product__body{flex:1 1 auto;display:flex;flex-direction:column;padding:1.4rem 1.3rem 1.2rem}

/* ===== WARIANT: VOUCHER (prezent / gift box) ===== */
.product--voucher{
    border:1px solid var(--line-2);
    background:linear-gradient(180deg, var(--white) 0%, var(--bg-2) 100%);
    position:relative;
}
.product--voucher::before{
    /* delikatna złota linia u góry karty */
    content:"";
    position:absolute;
    top:0;left:0;right:0;
    height:3px;
    background:linear-gradient(90deg, var(--gold) 0%, var(--gold-2) 100%);
    z-index:3;
}
.product--voucher .product__media{aspect-ratio:1/1;background:var(--bg-3)}
/* Wstążka prezentowa — pasek + węzeł */
.product__ribbon{
    position:absolute;
    top:0;right:1.6rem;
    width:36px;height:60%;
    z-index:2;
    pointer-events:none;
}
.product__ribbon-tape{
    position:absolute;
    top:0;left:0;right:0;
    height:100%;
    background:var(--gold);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.product__ribbon-tape::after{
    content:"";
    position:absolute;
    bottom:-12px;left:0;right:0;
    height:12px;
    background:linear-gradient(135deg, var(--gold) 50%, transparent 50%),
               linear-gradient(-135deg, var(--gold) 50%, transparent 50%);
    background-position:0 0, 18px 0;
    background-size:18px 12px, 18px 12px;
    background-repeat:no-repeat;
}
.product__ribbon-knot{
    position:absolute;
    top:8px;left:50%;
    transform:translateX(-50%);
    width:22px;height:22px;
    border-radius:50%;
    background:var(--gold-2);
    border:2px solid var(--white);
    box-shadow:0 2px 6px rgba(0,0,0,.18);
}
.product--voucher .product__cat{color:var(--gold-2)}

/* ===== WARIANT: KURS ONLINE (białe tło, kinowy/wideo klimat) ===== */
.product--kurs{
    background:var(--white);
    border:1px solid var(--line);
    position:relative;
}
.product--kurs .product__media{
    aspect-ratio:1/1; /* ta sama wysokość co voucher i bilet */
    background:var(--bg-3);
}
/* Dekoracyjny pasek postępu wideo na dole zdjęcia (30% wypełnione, 70% linia) */
.product--kurs .product__media::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:0;
    height:4px;
    background:linear-gradient(90deg,
        var(--gold) 0%,
        var(--gold) 32%,
        rgba(255,255,255,.85) 32%,
        rgba(255,255,255,.85) 100%);
    z-index:2;
    pointer-events:none;
}
/* Cinema-style subtle dark gradient od dołu (delikatny, na białej karcie) */
.product--kurs .product__media::before{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.25) 100%);
    pointer-events:none;
    z-index:1;
}
/* Play button — duży, złoty filled, z białym pierścieniem */
.product__play{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:64px;height:64px;
    background:var(--gold);
    color:var(--white);
    border-radius:50%;
    display:grid;place-items:center;
    z-index:3;
    box-shadow:
        0 0 0 4px rgba(255,255,255,.55),
        0 14px 32px -8px rgba(16,13,11,.4);
    transition:transform var(--t), background var(--t), box-shadow var(--t);
}
.product--kurs:hover .product__play{
    transform:translate(-50%,-50%) scale(1.12);
    background:var(--ink);
    box-shadow:
        0 0 0 4px rgba(255,255,255,.7),
        0 18px 40px -6px rgba(16,13,11,.5);
}
.product__play svg{margin-left:3px} /* optycznie wycentruj trójkąt */

/* Mini-pill "24/7" w prawym górnym rogu zdjęcia */
.product--kurs .product__media .product__access-pill{
    position:absolute;
    top:1rem;right:1rem;
    background:rgba(16,13,11,.85);
    color:var(--white);
    font-size:.6rem;
    letter-spacing:.28em;
    text-transform:uppercase;
    padding:.45rem .8rem;
    z-index:2;
    backdrop-filter:blur(6px);
    border-radius:99px;
    font-weight:500;
    display:inline-flex;
    align-items:center;
    gap:.4rem;
}
.product--kurs .product__access-pill::before{
    content:"";
    width:6px;height:6px;
    background:var(--gold);
    border-radius:50%;
    box-shadow:0 0 0 2px rgba(181,150,94,.3);
}
/* Kategoria w body — w złotym serifowym tonie, jak na bilecie */
.product--kurs .product__cat{color:var(--gold-2)}

/* ===== WARIANT: BILET (event flyer) ===== */
.product--bilet{
    background:var(--white);
    border:1px solid var(--line);
    position:relative;
}
.product--bilet::before{
    /* złoty pasek po lewej — wstęga eventowa */
    content:"";
    position:absolute;
    top:1.2rem;bottom:1.2rem;left:-4px;
    width:4px;
    background:var(--gold);
    z-index:2;
}
.product--bilet .product__media{aspect-ratio:1/1}
.product--bilet .product__media::after{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.35) 100%);
    pointer-events:none;
    z-index:1;
}
/* Stempel z datą — w prawym górnym rogu */
.product__date-stamp{
    position:absolute;
    top:1rem;right:1rem;
    background:var(--white);
    color:var(--ink);
    font-family:var(--serif);
    font-size:.9rem;
    line-height:1;
    padding:.7rem .9rem;
    z-index:2;
    text-align:center;
    box-shadow:0 8px 20px -6px rgba(16,13,11,.3);
    text-transform:lowercase;
    font-weight:500;
    /* mocny złoty pasek u góry — jak na biletowym kuponie */
    border-top:3px solid var(--gold);
    letter-spacing:.04em;
}
.product--bilet .product__cat{color:var(--gold-2)}
.product--bilet .product__title{color:var(--ink)}
.product--bilet .product__meta{
    background:transparent;
    border:1px dashed var(--line-2);
    padding:.5rem .8rem;
}

/* ---------- SHOP — FILTERS BAND ---------- */
.shop-filters{
    background:var(--bg-2);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:1.2rem 0;
    position:sticky;
    top:0;
    z-index:30;
    backdrop-filter:blur(6px);
}
.shop-filters__row{
    display:flex;
    gap:.7rem;
    flex-wrap:wrap;
    align-items:center;
}
.shop-filters__label{
    margin-right:.6rem;
    color:var(--gold-2);
}
.shop-filters .btn{
    transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);
}
.shop-filters .btn.is-active{
    background:var(--ink);
    color:var(--white);
    border-color:var(--ink);
}
.shop-filters__count{
    opacity:.55;
    margin-left:.2em;
    font-weight:400;
}
@media (max-width:760px){
    .shop-filters{position:static}
    .shop-filters__row{gap:.5rem}
    .shop-filters__label{flex:1 1 100%;margin-bottom:.4rem;margin-right:0}
}

/* Pusta kategoria */
.shop-empty{
    grid-column:1 / -1;
    text-align:center;
    color:var(--muted);
    font-size:.95rem;
    padding:3rem 1rem;
    border:1px dashed var(--line);
    margin-top:1.5rem;
}

/* ---------- SHOP — TRUST BAND ---------- */
.shop-trust{
    background:var(--bg-2);
    padding:clamp(2rem,4vw,2.5rem) 0;
}
.shop-trust__grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:clamp(1rem,2.5vw,2rem);
    text-align:center;
}
.shop-trust__head{
    font-family:var(--serif);
    font-size:clamp(1.5rem,2.6vw,2rem);
    color:var(--gold-2);
    line-height:1;
}
.shop-trust__sub{
    font-size:.72rem;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:var(--muted);
    margin-top:.5rem;
}
@media (max-width:760px){
    .shop-trust__grid{grid-template-columns:repeat(2,1fr);gap:1.6rem}
}

/* ---------- EVENT CARDS ---------- */
.event{
    display:grid;
    grid-template-columns:.7fr 1fr .7fr;
    gap:2rem;
    align-items:center;
    padding:2rem 0;
    border-bottom:1px solid var(--line);
}
.event:first-child{border-top:1px solid var(--line)}
.event__date{
    font-family:var(--serif);
    text-align:center;
    border-right:1px solid var(--line);
    padding-right:2rem;
}
.event__date .day{font-size:3.6rem;line-height:1;font-style:italic}
.event__date .month{font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-top:.4rem;display:block}
.event__date .time{font-size:.86rem;color:var(--ink-2);margin-top:.6rem;display:block}
.event__body h3{margin-bottom:.6rem}
.event__meta{display:flex;flex-wrap:wrap;gap:1.4rem;font-size:.82rem;color:var(--muted)}
.event__meta span{display:flex;align-items:center;gap:.4rem}
.event__action{text-align:right}
.event__price{font-family:var(--serif);font-size:2rem;font-style:italic;color:var(--gold-2);display:block;margin-bottom:.6rem}
.event__seats{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.event__bar{height:3px;background:var(--line);position:relative;margin-bottom:1rem;overflow:hidden}
.event__bar::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w,60%);background:var(--gold)}

/* ---------- EVENTS — FILTER BAR ---------- */
.events-filters{
    background:var(--bg-2);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:1rem 0;
    position:sticky;
    top:0;
    z-index:30;
    backdrop-filter:blur(8px);
}
.events-filters__row{
    display:flex;
    gap:1.4rem;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
}
.events-filters__group{
    display:flex;
    gap:.5rem;
    flex-wrap:wrap;
    align-items:center;
}
.events-filters__label{
    color:var(--gold-2);
    margin-right:.4rem;
}
.ef-btn{
    appearance:none;
    background:transparent;
    border:0;
    padding:.6rem 1rem;
    font:inherit;
    font-size:.7rem;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:var(--ink-2);
    cursor:pointer;
    border-radius:0;
    transition:background var(--t-fast), color var(--t-fast);
    line-height:1;
}
.ef-btn:hover{background:rgba(16,13,11,.06);color:var(--ink)}
.ef-btn.is-active{
    background:var(--ink);
    color:var(--white);
}
.ef-btn--city{
    border:1px solid var(--line);
    padding:.6rem 1.1rem;
    background:var(--white);
}
.ef-btn--city:hover{border-color:var(--gold-2)}
.ef-btn--city.is-active{
    background:var(--ink);
    border-color:var(--ink);
    color:var(--white);
}
@media (max-width:760px){
    .events-filters{position:static;padding:.8rem 0}
    .events-filters__row{gap:.8rem;flex-direction:column;align-items:stretch}
    .events-filters__group{justify-content:flex-start}
}

/* ---------- EVENTS — EDITORIAL SPLIT CARDS ---------- */
.events-list{padding:clamp(3rem,6vw,5rem) 0;background:var(--bg)}
.events-empty{
    text-align:center;
    color:var(--muted);
    padding:3rem 1rem;
    border:1px dashed var(--line);
    margin-top:1.5rem;
}

.event-feature{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:480px;
    margin-bottom:clamp(2rem,4vw,3rem);
    background:var(--ink);
    color:var(--white);
    position:relative;
    overflow:hidden;
    box-shadow:0 30px 80px -40px rgba(16,13,11,.35);
    transition:box-shadow var(--t), transform var(--t);
}
.event-feature:hover{
    box-shadow:0 40px 90px -30px rgba(16,13,11,.45);
}
.event-feature:last-child{margin-bottom:0}

/* MEDIA — full-cover photo with date badge overlay */
.event-feature__media{
    position:relative;
    background-size:cover;
    background-position:center;
    min-height:380px;
    display:block;
    overflow:hidden;
}
.event-feature__media::after{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(135deg,
        rgba(0,0,0,0) 30%,
        rgba(0,0,0,.15) 70%,
        rgba(0,0,0,.4) 100%);
    transition:background var(--t);
}
.event-feature:hover .event-feature__media::after{
    background:linear-gradient(135deg,
        rgba(0,0,0,0) 25%,
        rgba(0,0,0,.2) 70%,
        rgba(0,0,0,.5) 100%);
}

/* DATE BADGE — rip-from-calendar style */
.event-feature__date-badge{
    position:absolute;
    top:1.6rem;
    left:1.6rem;
    width:120px;
    background:var(--white);
    color:var(--ink);
    text-align:center;
    padding:.9rem .6rem 1rem;
    box-shadow:0 12px 30px -10px rgba(16,13,11,.35);
    z-index:2;
    border-radius:2px;
    /* "perforation" effect on top */
    border-top:6px solid var(--gold);
}
.event-feature__date-badge::before{
    content:"";
    position:absolute;
    top:-3px;left:8px;right:8px;
    height:6px;
    background-image:radial-gradient(circle, var(--bg) 1.5px, transparent 1.6px);
    background-size:8px 6px;
    background-position:0 50%;
    background-repeat:repeat-x;
    pointer-events:none;
}
.event-feature__day{
    display:block;
    font-family:var(--serif);
    font-size:2.6rem;
    line-height:1;
    color:var(--ink);
    letter-spacing:-.01em;
    font-weight:500;
}
.event-feature__month{
    display:block;
    font-size:.72rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold-2);
    margin-top:.4rem;
    font-weight:600;
}
.event-feature__year{
    display:block;
    font-size:.62rem;
    letter-spacing:.2em;
    color:var(--muted);
    margin-top:.2rem;
}

/* BODY — dark panel with editorial content */
.event-feature__body{
    padding:clamp(2rem,3.5vw,3rem);
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:1rem;
    background:var(--ink);
    color:var(--white);
    position:relative;
}
/* delikatny golden accent w lewym górnym rogu body */
.event-feature__body::before{
    content:"";
    position:absolute;
    top:0;left:0;
    width:60px;height:1px;
    background:var(--gold);
}
.event-feature__eyebrow{
    font-family:var(--sans);
    font-size:.7rem;
    font-weight:500;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold);
    display:inline-flex;
    align-items:center;
    gap:.75rem;
}
.event-feature__eyebrow::before{
    content:"";
    width:32px;height:1px;
    background:currentColor;
    opacity:.6;
}
.event-feature__title{
    font-size:clamp(1.6rem,2.6vw,2.2rem);
    line-height:1.15;
    margin:0;
    color:var(--white);
    font-weight:400;
}
.event-feature__title a{
    color:inherit;
    text-decoration:none;
    transition:color var(--t-fast);
}
.event-feature__title a:hover{color:var(--gold)}
.event-feature__lead{
    color:rgba(255,253,249,.72);
    line-height:1.65;
    font-size:.95rem;
    margin:0;
    max-width:48ch;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.event-feature__meta{
    display:flex;
    flex-wrap:wrap;
    gap:1rem 1.6rem;
    margin-top:.6rem;
    color:rgba(255,253,249,.7);
    font-size:.86rem;
}
.event-feature__meta-item{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
}
.event-feature__meta-item span[aria-hidden]{opacity:.7}

.event-feature__foot{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    margin-top:1.4rem;
    padding-top:1.4rem;
    border-top:1px solid rgba(255,253,249,.12);
    flex-wrap:wrap;
}
.event-feature__price{
    font-family:var(--serif);
    font-size:clamp(1.6rem,2.4vw,2rem);
    color:var(--gold);
    line-height:1;
    font-weight:500;
}
.event-feature__foot .btn{
    flex:0 0 auto;
}
.event-feature__foot .btn--gold:hover{
    background:var(--white);
    color:var(--ink);
    border-color:var(--white);
}

/* Type variants — subtelne różnice */
.event-feature--master-class .event-feature__date-badge{border-top-color:var(--gold)}
.event-feature--spotkanie-vip{
    background:linear-gradient(135deg, #1a1612 0%, #2a221a 100%);
}
.event-feature--spotkanie-vip .event-feature__body{background:transparent}
.event-feature--spotkanie-vip .event-feature__date-badge{border-top-color:#C9A78A}
.event-feature--online .event-feature__media{
    background-color:#2a221a;
}
.event-feature--online .event-feature__date-badge{border-top-color:var(--rose)}

@media (max-width:1024px){
    .event-feature{grid-template-columns:1fr;min-height:0}
    .event-feature__media{min-height:280px;aspect-ratio:16/10}
    .event-feature__body{padding:2rem 1.6rem}
    .event-feature__date-badge{top:1rem;left:1rem;width:100px;padding:.7rem .5rem .8rem}
    .event-feature__day{font-size:2rem}
}
@media (max-width:760px){
    .event-feature__foot{flex-direction:column;align-items:stretch}
    .event-feature__foot .btn{justify-content:center}
}

/* ============================================================
   SINGLE EVENT PAGE
   ============================================================ */

/* ---------- HERO (full-width editorial split) ---------- */
.ev-hero{
    position:relative;
    display:grid;
    grid-template-columns:1.15fr 1fr;
    min-height:min(720px, 80vh);
    background:var(--ink);
    color:var(--white);
    overflow:hidden;
    /* Margin-top — żeby hero NIE wchodził pod fixed header (czytelność nav-textu) */
    margin-top:84px;
}
@media (max-width:760px){
    .ev-hero{margin-top:68px}
}
.ev-hero__media{
    position:relative;
    background-size:cover;
    background-position:center;
    min-height:520px;
}
.ev-hero__media-overlay{
    position:absolute;inset:0;
    background:linear-gradient(135deg,
        rgba(0,0,0,0) 30%,
        rgba(0,0,0,.15) 70%,
        rgba(0,0,0,.5) 100%);
    pointer-events:none;
}
.ev-hero__panel{
    background:var(--ink);
    display:flex;
    align-items:center;
    padding:clamp(2rem,5vw,5rem) clamp(1.5rem,4vw,4rem);
    position:relative;
}
.ev-hero__panel::before{
    /* delikatny złoty akcent w lewym górnym rogu panelu */
    content:"";
    position:absolute;
    top:clamp(2rem,5vw,5rem);
    left:0;
    width:60px;height:1px;
    background:var(--gold);
}
.ev-hero__panel-inner{
    max-width:560px;
    width:100%;
}
.ev-hero__panel .crumbs{
    font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;
    color:rgba(255,253,249,.5);
    margin-bottom:1.6rem;
}
.ev-hero__panel .crumbs a{color:rgba(255,253,249,.7)}
.ev-hero__panel .crumbs a:hover{color:var(--white)}
.ev-hero__panel .crumbs span{color:rgba(255,253,249,.3);margin:0 .6rem}
.ev-hero__eyebrow{
    font-family:var(--sans);
    font-size:.72rem;
    font-weight:500;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold);
    display:inline-flex;
    align-items:center;
    gap:.75rem;
    margin-bottom:1.2rem;
}
.ev-hero__eyebrow::before{
    content:"";width:32px;height:1px;background:currentColor;opacity:.6;
}
.ev-hero__title{
    font-size:clamp(2rem,3.4vw,3rem);
    line-height:1.12;
    color:var(--white);
    margin:0 0 1.4rem;
    font-weight:400;
    letter-spacing:-.005em;
}
.ev-hero__lead{
    color:rgba(255,253,249,.72);
    line-height:1.7;
    font-size:1.02rem;
    max-width:48ch;
    margin:0 0 2rem;
}
.ev-hero__cta{
    display:flex;
    gap:1.4rem;
    align-items:center;
    padding-top:1.6rem;
    border-top:1px solid rgba(255,253,249,.14);
    flex-wrap:wrap;
}
.ev-hero__price{
    display:flex;
    flex-direction:column;
    font-family:var(--serif);
    font-size:clamp(1.6rem,2.4vw,2rem);
    color:var(--gold);
    line-height:1;
    font-weight:500;
}
.ev-hero__price small{
    font-family:var(--sans);
    font-size:.65rem;
    letter-spacing:.26em;
    text-transform:uppercase;
    color:rgba(255,253,249,.55);
    margin-bottom:.4rem;
    font-style:normal;
    font-weight:500;
}
.ev-hero__cta .btn--gold:hover{
    background:var(--white);color:var(--ink);border-color:var(--white);
}

/* Type variants */
.ev-hero--spotkanie-vip{
    background:linear-gradient(135deg, #1a1612 0%, #2a221a 100%);
}
.ev-hero--spotkanie-vip .ev-hero__panel{background:transparent}
.ev-hero--online .ev-hero__media{background-color:#2a221a}

@media (max-width:1024px){
    .ev-hero{grid-template-columns:1fr;min-height:0}
    .ev-hero__media{min-height:340px;aspect-ratio:16/10}
    .ev-hero__panel{padding:2.5rem 1.6rem}
    .ev-hero__panel::before{top:2.5rem}
}

/* ---------- META BAR (4 columns) ---------- */
.ev-meta-bar{
    background:var(--bg-2);
    border-bottom:1px solid var(--line);
    padding:clamp(1.6rem,3vw,2.4rem) 0;
}
.ev-meta-bar__grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:clamp(1.2rem,2.5vw,2rem);
}
.ev-meta-bar__item{
    display:flex;
    gap:1rem;
    align-items:flex-start;
}
.ev-meta-bar__icon{
    flex:0 0 auto;
    width:42px;height:42px;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:50%;
    display:grid;place-items:center;
    font-size:1.15rem;
    box-shadow:0 4px 10px -4px rgba(16,13,11,.08);
}
.ev-meta-bar__label{
    display:block;
    font-size:.62rem;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:.3rem;
    font-weight:500;
}
.ev-meta-bar__value{
    display:block;
    font-family:var(--serif);
    font-size:1.05rem;
    color:var(--ink);
    line-height:1.25;
    font-weight:500;
}
.ev-meta-bar__sub{
    display:block;
    font-size:.78rem;
    color:var(--ink-2);
    margin-top:.25rem;
}
@media (max-width:1024px){
    .ev-meta-bar__grid{grid-template-columns:repeat(2,1fr);gap:1.4rem}
}
@media (max-width:520px){
    .ev-meta-bar__grid{grid-template-columns:1fr}
}

/* ---------- CONTENT + SIDEBAR ---------- */
.ev-content{padding:clamp(3rem,5vw,5rem) 0}
.ev-content__grid{
    display:grid;
    grid-template-columns:340px 1fr;
    gap:clamp(2rem,4vw,4rem);
    align-items:start;
}
.ev-content__side{
    position:sticky;
    top:5rem;
    display:flex;
    flex-direction:column;
    gap:1.5rem;
}
@media (max-width:1024px){
    .ev-content__grid{grid-template-columns:1fr}
    .ev-content__side{position:static;max-width:420px;margin:0 auto}
}

/* ---------- CALENDAR WIDGET ---------- */
.ev-calendar{
    background:var(--white);
    border:1px solid var(--line);
    padding:1.4rem 1.3rem 1.2rem;
    box-shadow:0 16px 40px -20px rgba(16,13,11,.18);
    position:relative;
}
.ev-calendar::before{
    /* złoty akcent u góry */
    content:"";
    position:absolute;
    top:0;left:0;right:0;
    height:3px;
    background:linear-gradient(90deg, var(--gold) 0%, var(--gold-2) 100%);
}
.ev-calendar__head{
    text-align:center;
    margin-bottom:1.2rem;
    padding-bottom:.9rem;
    border-bottom:1px solid var(--line);
}
.ev-calendar__eyebrow{
    display:block;
    font-size:.62rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold-2);
    margin-bottom:.5rem;
}
.ev-calendar__month{
    font-family:var(--serif);
    font-size:1.4rem;
    color:var(--ink);
    line-height:1;
    margin:0;
    font-weight:500;
    letter-spacing:.005em;
}
.ev-calendar__grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:4px;
}
.ev-calendar__weekday{
    text-align:center;
    font-size:.62rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--muted);
    padding:.4rem 0 .6rem;
    font-weight:600;
}
.ev-calendar__day{
    aspect-ratio:1/1;
    display:grid;
    place-items:center;
    font-size:.86rem;
    color:var(--ink);
    position:relative;
    transition:background var(--t-fast), color var(--t-fast);
}
.ev-calendar__day > span{
    position:relative;
    z-index:2;
}
.ev-calendar__day--empty{background:transparent}
.ev-calendar__day--past{color:var(--muted);opacity:.45}
.ev-calendar__day--today{
    color:var(--ink);
    font-weight:600;
}
.ev-calendar__day--today::before{
    content:"";
    position:absolute;inset:18%;
    border:1px solid var(--line-2);
    border-radius:50%;
}
/* DZIEŃ WYDARZENIA — wyróżnione kółko ze złotym tłem */
.ev-calendar__day--active{
    color:var(--white);
    font-weight:600;
    font-size:.95rem;
}
.ev-calendar__day--active::before{
    content:"";
    position:absolute;inset:8%;
    background:var(--ink);
    border-radius:50%;
    z-index:1;
    box-shadow:0 6px 14px -4px rgba(16,13,11,.4);
}
.ev-calendar__day--active::after{
    content:"";
    position:absolute;
    top:0;right:14%;
    width:8px;height:8px;
    background:var(--gold);
    border-radius:50%;
    z-index:3;
    box-shadow:0 0 0 2px var(--white);
}

/* ---------- SIDEBAR CARD (poniżej kalendarza) ---------- */
.ev-side-card{
    background:var(--bg-2);
    padding:1.5rem 1.4rem;
    border-left:3px solid var(--gold);
}
.ev-side-card .eyebrow{color:var(--gold-2)}
.ev-side-card h4{
    margin:.6rem 0 1.1rem;
    font-size:1.3rem;
    color:var(--ink);
    font-weight:500;
}
.ev-side-card__list{
    list-style:none;
    margin:0 0 1.4rem;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:.55rem;
}
.ev-side-card__list li{
    font-size:.88rem;
    color:var(--ink-2);
    padding-bottom:.55rem;
    border-bottom:1px solid rgba(16,13,11,.08);
    line-height:1.45;
}
.ev-side-card__list li:last-child{border-bottom:0;padding-bottom:0}
.ev-side-card__list strong{color:var(--ink);font-weight:600}
.ev-side-card__cta{width:100%;justify-content:center}

/* ---------- BODY PROSE ---------- */
.ev-prose{
    font-size:1.02rem;
    line-height:1.75;
    color:var(--ink-2);
}
.ev-prose p{margin:0 0 1.3em}
.ev-prose h2{
    font-size:clamp(1.4rem,2.2vw,1.8rem);
    margin:2.2rem 0 1rem;
    color:var(--ink);
}
.ev-prose h3{
    font-size:clamp(1.15rem,1.8vw,1.4rem);
    margin:1.8rem 0 .8rem;
    color:var(--ink);
}
.ev-prose ul, .ev-prose ol{
    margin:0 0 1.4em 1.4em;
}
.ev-prose li{margin-bottom:.4em}
.ev-prose strong{color:var(--ink)}

/* ---------- BOOKING FORM ---------- */
.ev-booking{
    margin-top:3rem;
    padding:clamp(1.8rem,3.5vw,2.8rem);
    background:var(--white);
    border:1px solid var(--line);
    box-shadow:0 24px 50px -30px rgba(16,13,11,.18);
    position:relative;
}
.ev-booking::before{
    content:"";
    position:absolute;
    top:-1px;left:-1px;right:-1px;
    height:4px;
    background:linear-gradient(90deg, var(--gold) 0%, var(--gold-2) 100%);
}
.ev-booking__head{
    text-align:center;
    margin-bottom:1.8rem;
    padding-bottom:1.2rem;
    border-bottom:1px solid var(--line);
}
.ev-booking__head .eyebrow{justify-content:center;color:var(--gold-2)}
.ev-booking__head h3{
    margin:.8rem 0 .5rem;
    font-size:clamp(1.4rem,2.2vw,1.8rem);
    color:var(--ink);
    font-weight:500;
}
.ev-booking__head p{
    color:var(--ink-2);
    margin:0;
    max-width:50ch;
    margin:0 auto;
}
.ev-booking__form .btn{margin-top:.6rem;width:100%;justify-content:center}

/* Buy block (WooCommerce) zamiast formularza */
.ev-booking__buy{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.4rem;
    padding:1.4rem 0;
    margin:.4rem 0 1.4rem;
    border-bottom:1px solid var(--line);
    flex-wrap:wrap;
}
.ev-booking__price-block{
    display:flex;
    flex-direction:column;
    line-height:1.1;
}
.ev-booking__price-label{
    font-size:.6rem;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:.3rem;
    font-weight:500;
}
.ev-booking__price-value{
    font-family:var(--serif);
    font-size:clamp(1.8rem,3vw,2.3rem);
    color:var(--gold-2);
    font-weight:500;
}
.ev-booking__price-sub{
    font-size:.72rem;
    color:var(--ink-2);
    margin-top:.3rem;
    letter-spacing:.02em;
}
.ev-booking__buy .btn{
    flex:0 0 auto;
    padding:1.1rem 1.6rem;
    font-size:.78rem;
    letter-spacing:.28em;
}
.ev-booking__list{
    list-style:none;
    margin:1.2rem 0 0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:.6rem;
}
.ev-booking__list li{
    font-size:.86rem;
    color:var(--ink-2);
    line-height:1.5;
    padding-left:.2rem;
}
.ev-booking__footnote{
    margin:1.4rem 0 0;
    padding-top:1.2rem;
    border-top:1px solid var(--line);
    font-size:.78rem;
    color:var(--muted);
    line-height:1.5;
    text-align:center;
}
.ev-booking__footnote a{color:var(--ink);text-decoration:underline}
.ev-booking__footnote a:hover{color:var(--gold-2)}
@media (max-width:760px){
    .ev-booking__buy{flex-direction:column;align-items:stretch;text-align:center}
    .ev-booking__price-block{align-items:center}
    .ev-booking__buy .btn{justify-content:center}
}

/* ---------- COURSE CARDS ---------- */
.courses-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:clamp(1.4rem,3vw,2.2rem);
}
.course{
    background:var(--white);
    border:1px solid var(--line);
    overflow:hidden;
    display:flex;flex-direction:column;
    transition:transform var(--t), box-shadow var(--t);
}
.course:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.course__media{
    position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bg-3);
}
.course__media img{width:100%;height:100%;object-fit:cover}
.course__media::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 40%,rgba(34,28,22,.7));
}
.course__play{
    position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:64px;height:64px;border-radius:50%;
    background:rgba(248,244,238,.94);color:var(--ink);
    display:grid;place-items:center;
    z-index:2;
    transition:transform var(--t), background var(--t), color var(--t);
    box-shadow:0 12px 30px -10px rgba(0,0,0,.5);
}
.course__play svg{margin-left:3px}
.course:hover .course__play{
    background:var(--gold);
    color:var(--white);
}
.course:hover .course__play{transform:translate(-50%,-50%) scale(1.08)}
.course__badge{
    position:absolute;top:1rem;left:1rem;
    font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;
    background:var(--gold);color:var(--white);
    padding:.4rem .7rem;z-index:2;
}
.course__body{padding:1.6rem 1.4rem;display:flex;flex-direction:column;flex:1;gap:.8rem}
.course__cat{font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}
.course__title{font-family:var(--serif);font-size:1.4rem;line-height:1.25}
.course__meta{display:flex;justify-content:space-between;align-items:center;font-size:.84rem;color:var(--ink-2);padding-top:.8rem;border-top:1px solid var(--line);margin-top:auto}
.course__price{font-family:var(--serif);font-size:1.6rem;font-style:italic;color:var(--gold-2)}

/* ---------- ANIMATIONS ---------- */
@keyframes reveal-up{
    from{transform:translateY(105%)} to{transform:translateY(0)}
}
@keyframes fade-in{from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)}}
@keyframes rise{from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)}}
@keyframes marquee{from{transform:translateX(0)} to{transform:translateX(-50%)}}

[data-reveal]{
    opacity:0;
    transform:translateY(18px);
    transition:opacity .65s cubic-bezier(.2,.6,.2,1), transform .65s cubic-bezier(.2,.6,.2,1);
}
[data-reveal].is-revealed{opacity:1;transform:translateY(0)}
[data-reveal].delay-1{transition-delay:.06s}
[data-reveal].delay-2{transition-delay:.12s}
[data-reveal].delay-3{transition-delay:.18s}
[data-reveal].delay-4{transition-delay:.24s}

/* ---------- PHOTO PLACEHOLDERS (HTML preview) ---------- */
.ph{
    position:relative;
    background:linear-gradient(135deg, #E7DBC6 0%, #D9C9AB 50%, #BFA982 100%);
    overflow:hidden;
}
.ph::before{
    content:"";
    position:absolute;inset:0;
    background:
      radial-gradient(circle at 30% 30%, rgba(255,253,249,.5), transparent 35%),
      radial-gradient(circle at 70% 70%, rgba(34,28,22,.18), transparent 45%);
}
.ph::after{
    content:attr(data-label);
    position:absolute;bottom:1rem;left:1rem;
    font-family:var(--serif);font-style:italic;
    color:rgba(255,253,249,.85);
    font-size:.86rem;letter-spacing:.04em;
    z-index:2;
}
.ph--dark{background:linear-gradient(135deg, #4B3F33 0%, #221C16 100%)}
.ph--rose{background:linear-gradient(135deg, #E8CFC0 0%, #C9A78A 60%, #8E6F58 100%)}
.ph--gold{background:linear-gradient(135deg, #D9C29A 0%, #B5965E 60%, #6B5530 100%)}
.ph--cream{background:linear-gradient(135deg, #FFFDF9 0%, #F0E5D0 100%)}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px){
    .hero__title{font-size:clamp(2.6rem,8.5vw,5.5rem)}
    .hero__badge{width:96px;height:96px;font-size:.78rem;top:7rem}
    .hero__badge strong{font-size:1.2rem}
    .nav__list{gap:1.1rem;font-size:.72rem}
    .about__grid{grid-template-columns:1fr;gap:2.5rem}
    .services__grid{grid-template-columns:repeat(2,1fr)}
    .svc-card--feat{grid-column:span 2}
    .testi-card{flex:0 0 calc(50% - 1.2rem)}
    .gallery__grid{grid-template-columns:repeat(var(--ig-cols-t, 4), 1fr)}
    .footer__grid{grid-template-columns:1.4fr 1fr 1fr}
    .footer__brand{grid-column:span 3}
    .about-feature__grid, .svc-content__grid, .faq__grid, .contact__grid, .svc-hero__grid{grid-template-columns:1fr}
    .about-feature__media, .svc-content__side, .faq__intro{position:static}
    .values__grid{grid-template-columns:repeat(2,1fr)}
    .process__steps{grid-template-columns:repeat(2,1fr)}
    .courses-grid, .shop-grid{grid-template-columns:repeat(2,1fr)}
    .event{grid-template-columns:1fr}
    .event__date{border-right:0;border-bottom:1px solid var(--line);padding:0 0 1.4rem;display:flex;align-items:center;gap:1rem}
    .event__date .day{font-size:2.4rem}
    .event__action{text-align:left}
}

@media (max-width: 760px){
    body{font-size:15px}
    .nav__list{display:none}
    .nav-toggle{display:block}
    .nav__cta .btn{display:none}
    .brand__name{font-size:1.25rem}
    .brand__tag{font-size:.55rem;letter-spacing:.32em}
    .hero{min-height:auto}
    .hero .hero__slides{
        height:calc(100vh - 80px);
        height:calc(100dvh - 80px);
        min-height:620px;
    }
    /* Większy padding-bottom rezerwuje miejsce dla nav+dots — żeby NIGDY
       nie nachodziły na CTA, nawet gdy są 2 przyciski w kolumnie. */
    .hero__slide{padding:6rem 1.4rem 7.5rem}
    .hero__title{font-size:clamp(2.4rem,11vw,4.2rem)}
    .hero__cta{
        flex-direction:column;
        align-items:stretch;
        width:100%;
        max-width:320px;
        margin-top:1.6rem;
    }
    .hero__cta .btn{width:100%;justify-content:center}
    /* Nav i dots — dociśnięte do dna z większym safe-area inset (notch). */
    .hero__nav{
        bottom:max(1.4rem, env(safe-area-inset-bottom, 1.4rem));
        gap:1.2rem;
    }
    .hero__badge{display:none}
    .hero__scroll{display:none}
    .services__grid{grid-template-columns:1fr}
    .svc-card--feat{grid-column:span 1}
    .testi-card{flex:0 0 calc(100% - 0px)}
    .gallery__grid{grid-template-columns:repeat(var(--ig-cols-m, 3), 1fr)}
    .footer__grid{grid-template-columns:1fr;gap:2rem}
    .footer__brand{grid-column:span 1}
    .about__stats{
        grid-template-columns:repeat(3,1fr);
        gap:.5rem .8rem;
        margin-top:1.6rem;
        padding-top:1.2rem;
    }
    .stat__num{font-size:1.4rem;line-height:1}
    .stat__label{font-size:.55rem;letter-spacing:.16em;line-height:1.3;margin-top:.35rem}
    .field-row{grid-template-columns:1fr}
    .values__grid, .process__steps, .courses-grid, .shop-grid{grid-template-columns:1fr}

    /* Mobile menu */
    .mobile-menu{
        display:flex;flex-direction:column;gap:.2rem;
        position:fixed;inset:0;
        background:var(--bg);
        z-index:50;
        padding:6rem 2rem 2rem;
        transform:translateY(-100%);
        transition:transform var(--t);
        overflow-y:auto;
    }
    .is-menu-open .mobile-menu{transform:translateY(0)}
    /* Reset <li> generated by WP nav menu */
    .mobile-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
    .mobile-menu li{list-style:none;margin:0;padding:0}
    .mobile-menu a{
        display:block;
        font-family:var(--sans);
        font-size:1rem;
        font-weight:500;
        letter-spacing:.04em;
        padding:.85rem 0;
        border-bottom:1px solid var(--line);
        color:var(--ink);
        text-decoration:none;
    }
    .mobile-menu .sub-menu, .mobile-menu .subnav{
        padding-left:1rem;
    }
    .mobile-menu .sub-menu a, .mobile-menu .subnav a{
        font-size:.92rem;font-weight:400;color:var(--ink-2);
    }
    .mobile-menu a small{
        display:inline-block;
        font-family:var(--sans);
        font-size:.62rem;
        letter-spacing:.28em;
        text-transform:uppercase;
        color:var(--muted);
        margin-right:.8rem;
        font-weight:400;
        vertical-align:middle;
    }

    /* CTA group — login / register, sticky pod listą linków */
    .mobile-menu__cta-group{
        margin-top:auto; /* dociska do dolnej części menu (flex container) */
        padding-top:2rem;
        display:flex;
        flex-direction:column;
        gap:.8rem;
    }
    .mobile-menu .mobile-menu__cta{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:.7rem;
        padding:1.1rem 1.4rem;
        border-bottom:0; /* override generic .mobile-menu a */
        font-family:var(--sans);
        font-size:.74rem;
        letter-spacing:.3em;
        text-transform:uppercase;
        font-weight:600;
        text-decoration:none;
        transition:background .25s ease, color .25s ease, transform .25s ease;
    }
    .mobile-menu .mobile-menu__cta svg{
        flex:0 0 auto;
    }
    .mobile-menu .mobile-menu__cta .arrow{
        transition:transform .25s ease;
        display:inline-block;
    }
    .mobile-menu .mobile-menu__cta--primary{
        background:var(--ink);
        color:var(--white);
    }
    .mobile-menu .mobile-menu__cta--primary:hover,
    .mobile-menu .mobile-menu__cta--primary:active{
        background:var(--gold);
        color:var(--white);
    }
    .mobile-menu .mobile-menu__cta--primary:hover .arrow{
        transform:translateX(4px);
    }
    .mobile-menu .mobile-menu__cta--ghost{
        background:transparent;
        color:var(--ink);
        border:1px solid var(--line-2);
        font-size:.68rem;
        padding:.85rem 1.2rem;
    }
    .mobile-menu .mobile-menu__cta--ghost:hover{
        border-color:var(--gold);
        color:var(--gold-2);
    }
    .mobile-menu .mobile-menu__cta--ghost:hover .arrow{
        transform:translateX(4px);
    }
}

/* ---------- MOBILE MENU — hide on desktop (min-width żeby NIE nadpisać @media max-width:760px) ---------- */
@media (min-width: 761px){
    .mobile-menu{display:none !important}
}

/* ---------- UTILITIES ---------- */
.text-center{text-align:center}
.mt-2{margin-top:2rem}
.mt-4{margin-top:4rem}
.no-scroll{overflow:hidden}

/* ============================================
   GLOBAL OVERRIDES — simpler, no italic
   ============================================ */

/* No italic anywhere except <em> in body copy */
.brand__name,
.brand__tag,
.about__signature,
.testi-card p,
.testi-card cite,
.testi-card cite small,
.contact-info__list a,
.contact-info__list strong,
.footer__contact strong,
.tagline h2, .tagline h2 span,
.product__price, .product__price small,
.event__price,
.event__date .day,
.course__price,
.course__title,
.product__title,
.svc-content__side h4,
.value h3,
.svc-hero__title em,
.hero__caption,
.hero__title em,
.hero__title .accent,
.svc-card__num{
    font-style:normal !important;
    font-weight:500;
}

/* Drop cap removed — first letter behaves normally */
.svc-content__body p:first-letter{
    font-family:inherit;
    font-size:inherit;
    font-style:normal;
    color:inherit;
    float:none;
    line-height:inherit;
    padding:0;
}

/* Signature on About — plain, no italic, no gold */
.about__signature{
    color:var(--ink);
    font-family:var(--sans);
    font-size:.9rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    margin-top:1.6rem;
}

/* Tagline color — neutral instead of gold accent */
.tagline h2 span{color:var(--ink)}

/* Hero subtitle area — section already has white bg, drop white-tone text adjustments */
.tagline{background:var(--bg-2)}

/* Prices — keep accent only as a subtle weight, color neutral */
.product__price, .event__price, .course__price{color:var(--ink)}
.product__price small{color:var(--muted)}

/* Stat numbers — neutral, no italic em */
.stat__num em{color:var(--ink);font-style:normal}

/* Hero scroll indicator — simpler */
.hero__scroll{
    writing-mode:initial;
    transform:none;
    bottom:1.4rem;right:1.6rem;
    color:rgba(255,253,249,.7);
}
.hero__scroll::after{display:none}

/* Testimonial — text MUST be readable na białej karcie (poprawka po regresji) */
.testi-card p{color:var(--ink-2) !important}
.testi-card cite{display:none}

/* Footer brand inline italic — neutralize */
.footer__brand .brand__name,
.footer__contact strong{font-style:normal !important}

/* Eyebrow label stays in caps + tracking, no italic */
.eyebrow{font-style:normal}

/* === ABSOLUTE NUKE: zero italic anywhere on the site === */
body, body *,
body *::before, body *::after{
    font-style:normal !important;
}
/* Keep italic ONLY for <em> in body copy */
p em, li em, blockquote em, td em, dd em, figcaption em{
    font-style:italic !important;
}
/* Drop gold accent from headings — keep one uniform color */
.cta-band h2 em, .cta-band h2 span,
.tagline h2 em, .tagline h2 span,
.about__title em,
.svc-hero__title em,
.hero__title em, .hero__title .accent,
.h-italic em, .page-hero h1 em{
    color:inherit !important;
}
/* Selection */
::selection{background:var(--gold);color:var(--white)}

/* Scrollbar (subtle) */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg-2)}
::-webkit-scrollbar-thumb{background:var(--line-2);border:2px solid var(--bg-2)}
::-webkit-scrollbar-thumb:hover{background:var(--gold-2)}

/* ============================================================
   COOKIE BANNER + PREFERENCES MODAL (Consent Mode v2)
   ============================================================ */
.nsk-consent{
    position:fixed;
    z-index:9998;
    left:clamp(1rem, 2vw, 1.6rem);
    right:clamp(1rem, 2vw, 1.6rem);
    bottom:clamp(1rem, 2vw, 1.6rem);
    max-width:520px;
    background:var(--white);
    box-shadow:
        0 1px 0 0 rgba(16,13,11,.06),
        0 30px 80px -30px rgba(16,13,11,.35),
        0 12px 30px -16px rgba(16,13,11,.22);
    border-top:3px solid var(--gold);
    transform:translateY(140%);
    opacity:0;
    transition:transform .55s cubic-bezier(.2,.7,.2,1), opacity .35s ease;
    overflow:hidden;
    isolation:isolate;
}
.nsk-consent::before{
    /* Subtle gradient mesh w tle bannera */
    content:"";
    position:absolute;inset:0;
    background:
        radial-gradient(ellipse 80% 80% at 0% 0%, rgba(181,150,94,.1), transparent 60%),
        radial-gradient(ellipse 60% 60% at 100% 100%, rgba(231,219,198,.4), transparent 65%);
    pointer-events:none;
    z-index:0;
}
.nsk-consent.is-visible{
    transform:translateY(0);
    opacity:1;
}
.nsk-consent__inner{
    position:relative;
    z-index:1;
    padding:clamp(1.4rem,2.5vw,1.8rem) clamp(1.4rem,2.5vw,1.9rem);
}
.nsk-consent__head{
    margin-bottom:.8rem;
}
.nsk-consent__eyebrow{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    font-family:var(--sans);
    font-size:.62rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold-2);
    font-weight:600;
    margin-bottom:.5rem;
}
.nsk-consent__eyebrow svg{flex:0 0 auto}
.nsk-consent__title{
    font-family:var(--serif);
    font-size:clamp(1.3rem,2vw,1.55rem);
    line-height:1.2;
    margin:0;
    color:var(--ink);
    font-weight:500;
}
.nsk-consent__lead{
    margin:0 0 1.2rem;
    font-size:.88rem;
    line-height:1.6;
    color:var(--ink-2);
}
.nsk-consent__lead a{
    color:var(--ink);
    text-decoration:none;
    border-bottom:1px solid var(--gold);
}
.nsk-consent__lead a:hover{color:var(--gold-2)}
.nsk-consent__actions{
    display:flex;
    flex-wrap:wrap;
    gap:.5rem .7rem;
    align-items:center;
}
.nsk-consent__btn{
    flex:0 1 auto;
    font-size:.68rem;
    padding:.85rem 1.2rem;
    letter-spacing:.24em;
}
.nsk-consent__link{
    background:transparent;
    border:0;
    color:var(--muted);
    font-family:var(--sans);
    font-size:.74rem;
    cursor:pointer;
    padding:.5rem .2rem;
    margin-left:auto;
    text-decoration:none;
    border-bottom:1px solid transparent;
    transition:color .2s ease, border-color .2s ease;
}
.nsk-consent__link:hover{
    color:var(--ink);
    border-bottom-color:var(--gold);
}

@media (max-width:640px){
    .nsk-consent{
        left:0;right:0;bottom:0;
        max-width:none;
        border-top:3px solid var(--gold);
        border-radius:0;
    }
    .nsk-consent__actions{flex-direction:column;align-items:stretch}
    .nsk-consent__btn{width:100%;justify-content:center}
    .nsk-consent__link{margin-left:0;text-align:center;width:100%}
}

/* ============================================================
   MODAL — preferences manager
   ============================================================ */
.nsk-consent-modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:clamp(1rem,2vw,1.6rem);
    opacity:0;
    visibility:hidden;
    transition:opacity .3s ease, visibility .3s ease;
}
.nsk-consent-modal.is-open{
    opacity:1;
    visibility:visible;
}
.nsk-consent-modal__backdrop{
    position:absolute;inset:0;
    background:rgba(16,13,11,.6);
    backdrop-filter:blur(6px);
    cursor:pointer;
}
.nsk-consent-modal__panel{
    position:relative;
    background:var(--white);
    max-width:580px;
    width:100%;
    max-height:90vh;
    overflow-y:auto;
    border-top:3px solid var(--gold);
    box-shadow:0 40px 100px -30px rgba(16,13,11,.5);
    transform:translateY(20px) scale(.98);
    transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
.nsk-consent-modal.is-open .nsk-consent-modal__panel{
    transform:translateY(0) scale(1);
}
.nsk-consent-modal__head{
    position:relative;
    padding:1.8rem clamp(1.6rem,3vw,2.2rem) 1.2rem;
    border-bottom:1px solid var(--line);
}
.nsk-consent-modal__head .eyebrow{
    display:inline-block;
    font-size:.62rem;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--gold-2);
    font-weight:600;
    margin-bottom:.4rem;
}
.nsk-consent-modal__head h2{
    font-family:var(--serif);
    font-size:clamp(1.5rem,2.4vw,1.9rem);
    margin:0;
    color:var(--ink);
    font-weight:500;
    line-height:1.2;
}
.nsk-consent-modal__close{
    position:absolute;
    top:1.2rem;
    right:1.2rem;
    width:36px;height:36px;
    background:transparent;
    border:1px solid var(--line);
    color:var(--ink);
    font-size:1.4rem;
    line-height:1;
    cursor:pointer;
    display:grid;
    place-items:center;
    transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.nsk-consent-modal__close:hover{
    background:var(--ink);
    border-color:var(--ink);
    color:var(--white);
}
.nsk-consent-modal__lead{
    padding:1.2rem clamp(1.6rem,3vw,2.2rem) 0;
    margin:0;
    font-size:.88rem;
    color:var(--ink-2);
    line-height:1.65;
}
.nsk-consent-modal__list{
    padding:1.2rem clamp(1.6rem,3vw,2.2rem);
    display:flex;
    flex-direction:column;
    gap:.6rem;
}
.nsk-consent-modal__foot{
    display:flex;
    flex-wrap:wrap;
    gap:.6rem;
    justify-content:flex-end;
    padding:1.2rem clamp(1.6rem,3vw,2.2rem) 1.8rem;
    border-top:1px solid var(--line);
}
.nsk-consent-modal__foot .btn{
    font-size:.68rem;
    padding:.95rem 1.3rem;
    letter-spacing:.26em;
}

/* ----- Single category card ----- */
.nsk-consent-cat{
    display:block;
    padding:1.1rem 1.2rem;
    background:var(--bg-2);
    border-left:3px solid var(--line-2);
    cursor:pointer;
    transition:border-color .2s ease, background .2s ease;
}
.nsk-consent-cat:hover:not(.is-locked){
    border-left-color:var(--gold);
}
.nsk-consent-cat.is-locked{
    cursor:default;
    border-left-color:var(--gold);
    opacity:.92;
}
.nsk-consent-cat__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:.4rem;
}
.nsk-consent-cat__title{
    font-family:var(--sans);
    font-size:.84rem;
    font-weight:600;
    color:var(--ink);
    letter-spacing:.06em;
    text-transform:uppercase;
}
.nsk-consent-cat__desc{
    display:block;
    font-size:.82rem;
    color:var(--ink-2);
    line-height:1.55;
}
.nsk-consent-cat__input{
    position:absolute;
    opacity:0;
    width:0;height:0;
    pointer-events:none;
}

/* iOS-like switch */
.nsk-consent-cat__switch{
    flex:0 0 auto;
    position:relative;
    width:44px;
    height:24px;
    background:var(--line-2);
    border-radius:999px;
    transition:background .25s ease;
    display:inline-block;
}
.nsk-consent-cat__switch::after{
    content:"";
    position:absolute;
    top:2px;left:2px;
    width:20px;height:20px;
    background:var(--white);
    border-radius:50%;
    transition:transform .25s cubic-bezier(.4,.2,.2,1.1), background .2s ease;
    box-shadow:0 2px 4px rgba(0,0,0,.18);
}
.nsk-consent-cat__input:checked ~ .nsk-consent-cat__switch{
    background:var(--gold);
}
.nsk-consent-cat__input:checked ~ .nsk-consent-cat__switch::after{
    transform:translateX(20px);
}
.nsk-consent-cat.is-locked .nsk-consent-cat__switch{
    background:var(--gold);
    cursor:not-allowed;
}
.nsk-consent-cat.is-locked .nsk-consent-cat__switch::after{
    transform:translateX(20px);
    background:var(--white);
}
.nsk-consent-cat__lock{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:var(--ink);
    opacity:.7;
}

@media (max-width:640px){
    .nsk-consent-modal__foot{flex-direction:column;align-items:stretch}
    .nsk-consent-modal__foot .btn{width:100%;justify-content:center}
}

/* ============================================================
   CART / CHECKOUT — usuwanie produktu (WC Blocks)
   ============================================================ */
.wc-block-components-order-summary-item,
.wc-block-cart-items__row,
.wc-block-cart-item{
    position:relative;
}
.nsk-remove-btn{
    position:absolute;
    top:.6rem;
    right:.4rem;
    width:30px;
    height:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:transparent;
    border:1px solid transparent;
    border-radius:50%;
    color:var(--muted);
    cursor:pointer;
    padding:0;
    transition:color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
    z-index:2;
}
.nsk-remove-btn:hover,
.nsk-remove-btn:focus-visible{
    color:#c03a2b;
    background:rgba(192,58,43,.08);
    border-color:rgba(192,58,43,.2);
    outline:none;
    transform:scale(1.08);
}
.nsk-remove-btn:active{
    transform:scale(.94);
}
.nsk-remove-btn.is-loading{
    opacity:.5;
    pointer-events:none;
    animation:nsk-spin .9s linear infinite;
}
.nsk-remove-btn svg{display:block}
@keyframes nsk-spin{
    from{transform:rotate(0deg)}
    to{transform:rotate(360deg)}
}

/* Daj prawą przestrzeń pozycji, żeby cena nie wpadała pod przycisk */
.wc-block-components-order-summary-item.nsk-has-remove .wc-block-components-order-summary-item__total-price{
    padding-right:2.2rem;
}

/* ============================================================
   CHECKOUT / CART page — wider container override
   ============================================================ */
body.woocommerce-checkout .section,
body.woocommerce-cart .section{
    background:var(--bg);
}
.section--checkout .container,
.section--cart .container{
    max-width:1280px !important;
    width:100%;
}

/* ============================================================
   LEGAL PAGES — regulamin / polityka prywatności (long-form text)
   ============================================================ */
.legal-page__updated{
    margin-top:1rem;
    font-size:.72rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--muted);
}
.legal-page__updated strong{
    font-family:var(--sans);
    color:var(--gold-2);
    font-weight:600;
    letter-spacing:.02em;
}
.legal-page{
    padding:clamp(2.4rem,5vw,4rem) 0 var(--section-y);
    background:var(--bg);
}
.legal-page__grid{
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    gap:clamp(2rem,4vw,4rem);
    align-items:start;
}
.legal-page__side{
    position:sticky;
    top:6rem;
    display:flex;
    flex-direction:column;
    gap:1.6rem;
}
.legal-page__toc{
    background:var(--white);
    padding:1.4rem 1.3rem 1.5rem;
    border-left:3px solid var(--gold);
}
.legal-page__toc .eyebrow{
    color:var(--gold-2);
    font-size:.62rem;
    letter-spacing:.3em;
    margin-bottom:1rem;
    display:inline-block;
}
.legal-page__toc-list{
    list-style:none;
    margin:0;
    padding:0;
    counter-reset:legal-toc;
    max-height:60vh;
    overflow-y:auto;
}
.legal-page__toc-list li{
    counter-increment:legal-toc;
    margin:0;
    border-bottom:1px solid var(--line);
}
.legal-page__toc-list li:last-child{border-bottom:0}
.legal-page__toc-list a{
    display:flex;
    align-items:baseline;
    gap:.6rem;
    padding:.55rem 0;
    font-size:.82rem;
    line-height:1.4;
    color:var(--ink-2);
    text-decoration:none;
    transition:color var(--t-fast);
}
.legal-page__toc-list a::before{
    content:counter(legal-toc, decimal-leading-zero);
    font-size:.62rem;
    color:var(--muted);
    letter-spacing:.06em;
    font-weight:600;
    flex:0 0 auto;
}
.legal-page__toc-list a:hover,
.legal-page__toc-list a.is-active{
    color:var(--gold-2);
}
.legal-page__toc-list a.is-active::before{color:var(--gold-2)}

.legal-page__company,
.legal-page__quick{
    background:var(--bg-2);
    padding:1.4rem 1.3rem;
    border-left:3px solid var(--line-2);
}
.legal-page__company .eyebrow,
.legal-page__quick .eyebrow{
    color:var(--gold-2);
    font-size:.62rem;
    letter-spacing:.3em;
    margin-bottom:.8rem;
    display:inline-block;
}
.legal-page__company-name{
    font-family:var(--serif);
    font-size:1.1rem;
    color:var(--ink);
    margin:0 0 .4rem;
    line-height:1.3;
    font-weight:500;
}
.legal-page__company-meta{
    font-size:.85rem;
    line-height:1.7;
    color:var(--ink-2);
    margin:.6rem 0 0;
}
.legal-page__company-meta a{
    color:var(--ink);
    text-decoration:none;
    border-bottom:1px solid var(--gold);
    transition:color var(--t-fast);
}
.legal-page__company-meta a:hover{color:var(--gold-2)}
.legal-page__quick-list{
    list-style:none;
    margin:0;
    padding:0;
}
.legal-page__quick-list li{
    margin:0 0 .5rem;
}
.legal-page__quick-list a{
    font-size:.82rem;
    color:var(--ink-2);
    text-decoration:none;
    letter-spacing:.02em;
}
.legal-page__quick-list a:hover{color:var(--gold-2)}

/* TREŚĆ */
.legal-page__content{
    background:var(--white);
    padding:clamp(2rem,4vw,3.6rem) clamp(2rem,4vw,4rem);
    font-size:1rem;
    line-height:1.8;
    color:var(--ink-2);
    border-top:3px solid var(--gold);
}
.legal-page__content > *{max-width:72ch}
.legal-page__content h2{
    font-family:var(--serif);
    font-size:clamp(1.4rem,2.2vw,1.7rem);
    color:var(--ink);
    margin:2.6em 0 1em;
    font-weight:500;
    line-height:1.25;
    letter-spacing:-.005em;
    scroll-margin-top:6rem;
    padding-bottom:.6rem;
    border-bottom:1px solid var(--line);
}
.legal-page__content h2:first-child{margin-top:0}
.legal-page__content h3{
    font-family:var(--serif);
    font-size:1.15rem;
    color:var(--ink);
    margin:1.8em 0 .6em;
    font-weight:500;
    scroll-margin-top:6rem;
}
.legal-page__content p{margin:0 0 1.1em}
.legal-page__content ul,
.legal-page__content ol{
    margin:0 0 1.3em;
    padding-left:1.4em;
}
.legal-page__content li{margin-bottom:.5em;line-height:1.7}
.legal-page__content strong{color:var(--ink);font-weight:600}
.legal-page__content a{
    color:var(--ink);
    border-bottom:1px solid var(--gold);
    text-decoration:none;
    transition:color var(--t-fast);
}
.legal-page__content a:hover{color:var(--gold-2)}
.legal-page__content blockquote{
    border-left:3px solid var(--gold);
    padding:.6rem 0 .6rem 1.4rem;
    margin:1.8em 0;
    font-family:var(--serif);
    font-style:italic;
    font-size:1.08rem;
    color:var(--ink);
    line-height:1.55;
}
.legal-page__content code{
    background:var(--bg-2);
    padding:.1em .4em;
    border-radius:2px;
    font-size:.9em;
    color:var(--ink);
}
.legal-page__content table{
    width:100%;
    border-collapse:collapse;
    margin:1.6em 0;
    font-size:.92rem;
}
.legal-page__content th,
.legal-page__content td{
    text-align:left;
    padding:.7rem 1rem;
    border-bottom:1px solid var(--line);
    vertical-align:top;
}
.legal-page__content th{
    font-family:var(--sans);
    font-weight:600;
    color:var(--ink);
    background:var(--bg-2);
    font-size:.78rem;
    letter-spacing:.06em;
    text-transform:uppercase;
}

@media (max-width:980px){
    .legal-page__grid{grid-template-columns:1fr}
    .legal-page__side{
        position:static;
        max-width:100%;
        order:2;
    }
    .legal-page__content{order:1}
}

/* ============================================================
   COURSE → REQUIRE ACCOUNT — checkout/cart notice
   ============================================================ */
.nsk-course-account-notice{
    display:flex;
    align-items:center;
    gap:1rem;
    margin:0 0 1.6rem;
    padding:1.1rem 1.3rem;
    background:linear-gradient(95deg, rgba(181,150,94,.08) 0%, rgba(181,150,94,.02) 100%);
    border:1px solid rgba(181,150,94,.35);
    border-left:3px solid var(--gold);
    border-radius:2px;
    color:var(--ink);
    flex-wrap:wrap;
}
.nsk-course-account-notice--cart{margin-top:.6rem}
.nsk-course-account-notice__icon{
    flex:0 0 auto;
    width:44px;height:44px;
    display:grid;place-items:center;
    background:var(--ink);
    color:var(--gold);
    border-radius:50%;
}
.nsk-course-account-notice__icon svg{width:20px;height:20px}
.nsk-course-account-notice__body{
    flex:1 1 280px;
    line-height:1.5;
}
.nsk-course-account-notice__body strong{
    display:block;
    font-family:var(--serif);
    font-size:1.05rem;
    font-weight:600;
    color:var(--ink);
    margin-bottom:.25rem;
    letter-spacing:.01em;
}
.nsk-course-account-notice__body p{
    margin:0;
    font-size:.92rem;
    color:var(--ink-2);
}
.nsk-course-account-notice .btn{
    flex:0 0 auto;
    align-self:center;
}
.nsk-course-account-notice .btn--sm{
    padding:.65rem 1.1rem;
    font-size:.72rem;
}
@media (max-width:640px){
    .nsk-course-account-notice{padding:1rem;gap:.8rem}
    .nsk-course-account-notice .btn{width:100%;justify-content:center}
}
