/* ============================================================
   DOM GÓRALSKI CZERWIENNE — styles.css v4.0 | 2026
   Hotel Design System — clean, modern, luxury boutique
   ============================================================ */

/* ── 1. TOKENS ─────────────────────────────────────────────── */
:root {
  --c-brand:      #C0272D;  --c-brand-dk:  #8E1A1F;  --c-brand-lt:  #E03545;
  --c-brand-pale: #FFF0F1;  --c-brand-10:  rgba(192,39,45,.10);
  --c-brand-20:   rgba(192,39,45,.20);
  --c-gold:       #B8820A;  --c-gold-lt:   #F0B832;  --c-gold-pale: #FEF4D6;
  --c-gold-dk:    #8A6005;
  --c-green:      #2D6A4F;  --c-green-dk:  #1A4220;  --c-green-lt:  #40916C;
  --c-forest:     #1C4532;  --c-forest-dk: #0C2216;
  --c-dark:       #0D0906;  --c-dark-2:    #1A1209;
  --c-mid:        #5C4A2A;  --c-muted:     #8C7B62;
  --c-bg:         #F7F4EE;  --c-surface:   #FFFFFF;
  --c-surface-w:  #FAF7F0;  --c-surface-t: #EDE8DD;
  --c-surface-gold: #F8F2E2; --c-surface-sage: #E8EDEA;
  --c-text:       #1A1209;  --c-text-2:    #5C4A2A;  --c-text-3: #8C7B62;
  --c-text-inv:   #FFFDF8;
  --f-display: 'Cormorant Garamond', Georgia, serif; /* folk baroque — h1, pullquotes, numbers */
  --f-serif:   'Playfair Display', Georgia, serif;    /* elegant serif — h2, h3, blockquotes */
  --f-body:    'Inter', system-ui, sans-serif;         /* modern body text */
  --f-ui:      'DM Sans', system-ui, sans-serif;       /* nav, buttons, labels */
  --w-max:  1200px;  --w-narrow: 800px;  --h-nav: 72px;
  --r-xs:4px; --r-sm:10px; --r-md:16px; --r-lg:24px;
  --r-xl:32px; --r-2xl:48px; --r-full:9999px;
  --s-xs:  0 2px 8px rgba(0,0,0,.06);
  --s-sm:  0 4px 20px rgba(0,0,0,.09), 0 1px 4px rgba(0,0,0,.04);
  --s-md:  0 14px 48px rgba(0,0,0,.13), 0 4px 12px rgba(0,0,0,.05);
  --s-lg:  0 28px 90px rgba(0,0,0,.20), 0 8px 24px rgba(0,0,0,.07);
  --s-brand: 0 10px 40px rgba(192,39,45,.30);
  --s-gold:  0 8px 28px rgba(184,130,10,.32);
  --s-forest:0 10px 36px rgba(28,69,50,.30);
  --ease:    cubic-bezier(.4,0,.2,1);
  --ease-out:cubic-bezier(0,0,.2,1);
  --t: .26s cubic-bezier(.4,0,.2,1);
  --t-sl: .5s cubic-bezier(0,0,.2,1);
  --g-brand:  linear-gradient(135deg,#C42727 0%,#8E1A1F 100%);
  --g-dark:   linear-gradient(160deg,#1A1209 0%,#0D0906 100%);
  --g-gold:   linear-gradient(135deg,#F0B832 0%,#B8820A 100%);
  --g-forest: linear-gradient(160deg,#1C4532 0%,#0C2216 100%);
  --g-nature: linear-gradient(135deg,#40916C 0%,#1A4220 100%);
  --g-brand-forest: linear-gradient(135deg,#8E1A1F 0%,#1C4532 100%);
  --g-amber:  linear-gradient(135deg,#F0B832 0%,#C42727 100%);
  --g-folk:   repeating-linear-gradient(90deg,
    #C0272D 0,#C0272D 4px,transparent 4px,transparent 14px,
    #B8820A 14px,#B8820A 18px,transparent 18px,transparent 28px);
}

/* ── 2. RESET ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--f-body);color:var(--c-text);background:var(--c-bg);line-height:1.8;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{display:block;max-width:100%;height:auto}
ul{list-style:none}
a{color:var(--c-brand);text-decoration:none;transition:var(--t)}
a:hover{color:var(--c-brand-dk)}

/* ── 3. TYPOGRAPHY ─────────────────────────────────────────── */
h1,h2,h3,h4{font-family:var(--f-display);color:var(--c-text);line-height:1.12;letter-spacing:-.025em}
h1{font-size:clamp(2.8rem,7vw,5.5rem);font-weight:900}
h2{font-size:clamp(2rem,4.5vw,3.4rem);font-weight:700}
h3{font-size:clamp(1.15rem,2vw,1.6rem);font-weight:700}
h4{font-size:1rem;font-weight:700}
p{margin-bottom:1rem}
p:last-child{margin-bottom:0}
strong{color:var(--c-brand);font-weight:700}
.overline{display:inline-block;font-family:var(--f-ui);font-size:.7rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--c-brand);margin-bottom:.7rem}
.overline--gold{color:var(--c-gold-lt)}
.overline--light{color:rgba(255,255,255,.5)}

/* ── 4. LAYOUT ─────────────────────────────────────────────── */
.container{max-width:var(--w-max);margin:0 auto;padding:0 2rem}
.container--narrow{max-width:var(--w-narrow);margin:0 auto;padding:0 2rem}

/* ── 5. BUTTONS ────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.82rem 2rem;border-radius:var(--r-full);
  font-family:var(--f-ui);font-weight:700;font-size:.84rem;letter-spacing:.06em;text-transform:uppercase;
  border:2px solid transparent;cursor:pointer;transition:all var(--t);white-space:nowrap;
  position:relative;overflow:hidden;touch-action:manipulation}
.btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.14);opacity:0;transition:opacity .15s}
.btn:hover::after{opacity:1}
.btn-primary{background:var(--g-brand);color:#fff;box-shadow:var(--s-brand)}
.btn-primary:hover{color:#fff;transform:translateY(-3px);box-shadow:0 16px 48px rgba(178,34,34,.30)}
.btn-outline{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.35);backdrop-filter:blur(8px)}
.btn-outline:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.7);color:#fff;transform:translateY(-3px)}
.btn-ghost{background:transparent;color:var(--c-brand);border-color:var(--c-brand)}
.btn-ghost:hover{background:var(--g-brand);color:#fff;transform:translateY(-3px);box-shadow:var(--s-brand)}
.btn-gold{background:var(--g-gold);color:var(--c-dark);box-shadow:var(--s-gold)}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(201,145,13,.35);color:var(--c-dark)}
.btn-sm{padding:.48rem 1.2rem;font-size:.78rem}
.btn-lg{padding:1rem 2.5rem;font-size:.9rem}
.btn-full{width:100%;justify-content:center}
.btn-nav{background:var(--g-brand);color:#fff !important;padding:.45rem 1.3rem;border-radius:var(--r-full);
  font-family:var(--f-ui);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;transition:var(--t)}
.btn-nav:hover{transform:translateY(-2px);box-shadow:var(--s-brand);color:#fff !important}
.btn-map{background:var(--g-nature);color:#fff;border:none}
.btn-map:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(45,106,79,.3);color:#fff}

/* ── 6a. EMBROIDERY BAND ──────────────────────────────────── */
.embroidery-band{
  position:relative;width:100%;height:32px;overflow:hidden;
  background-image:url('assets/images/folk/folk-banner-tile.webp');
  background-repeat:repeat-x;
  background-size:auto 32px;
  background-position:center top;
  contain:layout paint}
/* Img wewnątrz diva traktujemy jako wyciszony fallback dekoracji */
.embroidery-band img{display:none}
/* Ale konkretny ornament środkowy jest widoczny — ma wyższą specyficzność z !important */
.embroidery-band__ornament{
  display:block !important;
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  height:120%;width:auto;
  z-index:3;pointer-events:none}
.embroidery-band::before,.embroidery-band::after{display:none}
.embroidery-band--hero-to-about{--eb-top:#060200;height:32px;background-size:auto 32px}
.embroidery-band--warm-to-dark{--eb-top:var(--c-surface-w);height:32px;background-size:auto 32px}
.embroidery-band--bg-to-forest{
  --eb-top:var(--c-bg);--eb-bot:#1C4532;height:32px;background-size:auto 32px;
  background-image:url('assets/images/folk/folk-banner-tile.webp');
  background-repeat:repeat-x;background-position:center top}
.embroidery-band--bg-to-forest::before{
  content:'';position:absolute;top:0;left:0;right:0;height:14px;z-index:2;
  background:linear-gradient(to bottom,var(--c-bg) 0%,transparent 100%)}
.embroidery-band--bg-to-forest::after{display:block !important;background:none}
.embroidery-band--forest-to-bg{
  --eb-top:#1C4532;--eb-bot:var(--c-bg);height:32px;background-size:auto 32px;
  background-image:url('assets/images/folk/folk-banner-tile.webp');
  background-repeat:repeat-x;background-position:center top}
.embroidery-band--forest-to-bg::before{
  content:'';position:absolute;top:0;left:0;right:0;height:14px;z-index:2;
  background:linear-gradient(to bottom,#1C4532 0%,transparent 100%)}
.embroidery-band--forest-to-bg::after{display:block !important;background:none}

/* Ornament na separatorach — zob. .folk-sep::after */

/* ── 6. FOLK SEPARATOR ────────────────────────────────────── */
.folk-sep{
  position:relative;width:100%;height:72px;
  pointer-events:none;flex-shrink:0;overflow:visible;
  --fs-top:var(--c-bg);--fs-bot:var(--c-bg);
  background:linear-gradient(to bottom,var(--fs-top) 50%,var(--fs-bot) 50%)}

/* Cienka ornamentalna linia — zanika przy krawędziach */
.folk-sep::before{
  content:'';position:absolute;
  top:calc(50% - .5px);left:0;right:0;height:1px;
  background:linear-gradient(to right,
    transparent 0%,
    rgba(184,130,10,.22) 8%,
    rgba(184,130,10,.42) 35%,
    rgba(192,39,45,.18) 50%,
    rgba(184,130,10,.42) 65%,
    rgba(184,130,10,.22) 92%,
    transparent 100%)}

/* Centralny ornament — PNG z przezroczystym tłem nałożony na linię */
.folk-sep::after{
  content:'';
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:72px;height:72px;
  background:url('assets/images/folk/folk-motif-trans.png') center/contain no-repeat;
  image-rendering:auto;
  z-index:2}

/* Warianty przejść między sekcjami */
.folk-sep--bg-to-tinted  {--fs-top:var(--c-bg);        --fs-bot:var(--c-surface-t)}
.folk-sep--tinted-to-warm{--fs-top:var(--c-surface-t); --fs-bot:var(--c-surface-w)}
.folk-sep--warm-to-dark  {--fs-top:var(--c-surface-w); --fs-bot:#181410}
.folk-sep--bg-to-forest  {--fs-top:var(--c-bg);        --fs-bot:#1C4532}
.folk-sep--forest-to-bg  {--fs-top:var(--c-forest-dk); --fs-bot:var(--c-bg)}
.folk-sep--tinted-to-night{--fs-top:var(--c-surface-t);--fs-bot:var(--c-dark)}

/* ── 7. SECTIONS ───────────────────────────────────────────── */
.section{padding:7rem 0}
.section--tight{padding:4.5rem 0}
.section--dark{background:var(--g-forest);color:var(--c-text-inv)}
.section--dark h2,.section--dark h3,.section--dark h4{color:var(--c-text-inv)}
.section--dark p,.section--dark li{color:rgba(255,255,255,.72)}
.section--tinted{background:var(--c-surface-t)}
.section--warm{background:var(--c-surface-w)}
.section-label{display:block;font-family:var(--f-ui);font-size:.68rem;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;color:var(--c-brand);margin-bottom:.7rem}
.section-label--light{color:rgba(255,255,255,.45)}
.section-header{margin-bottom:3.5rem;text-align:center}
.section-header h2{position:relative;display:inline-block;margin-bottom:.6rem}
.section-header h2::after{content:'';display:block;width:36px;height:3px;
  background:var(--g-brand);border-radius:var(--r-full);margin:.7rem auto 0}
.section-header--left{text-align:left}
.section-header--left h2::after{margin-left:0}
.section-lead{font-family:var(--f-serif);font-size:clamp(.95rem,1.4vw,1.1rem);color:var(--c-text-3);
  font-style:italic;max-width:560px;margin:0 auto;line-height:1.7}
.section-header--left .section-lead{margin-left:0}
.folk-divider,.section-divider-folk{height:3px;background:var(--g-folk);opacity:.5}
.section-divider-folk img,.section-divider-folk-inner{display:none}
.folk-ornament,.folk-ornament-img{display:none}
.folk-corner::before,.folk-corner::after{display:none}
.bg-folk,.bg-light,.bg-linen,.bg-folk-wood,.bg-wood{background:var(--c-surface-t)}

/* ── 7. HEADER ─────────────────────────────────────────────── */
.site-header{position:fixed;top:0;left:0;right:0;height:var(--h-nav);z-index:1000;
  background:transparent;transition:background .4s,backdrop-filter .4s,box-shadow .4s,height .3s}
.site-header.scrolled{background:rgba(10,5,0,.9);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  box-shadow:0 1px 0 rgba(255,255,255,.06),0 4px 24px rgba(0,0,0,.3);height:62px}
.site-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:var(--g-folk);opacity:0;transition:opacity .4s}
.site-header.scrolled::after{opacity:.4}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%}
.logo{display:flex;align-items:center;gap:.75rem;color:#fff !important;flex-shrink:0}
.logo-icon{font-size:1.75rem;line-height:1}
.logo-text{font-family:var(--f-display);font-size:1.05rem;font-weight:700;color:#fff;line-height:1.2}
.logo-text small{display:block;font-family:var(--f-ui);font-size:.62rem;font-weight:600;
  color:var(--c-gold-lt);text-transform:uppercase;letter-spacing:.22em}
.main-nav ul{display:flex;align-items:center;gap:.1rem}
.main-nav ul li a{color:rgba(255,255,255,.8);padding:.45rem .9rem;font-family:var(--f-ui);
  font-size:.77rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  border-radius:var(--r-xs);transition:var(--t)}
.main-nav ul li a:hover,.main-nav ul li a.active{color:#fff;background:rgba(255,255,255,.1)}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem;touch-action:manipulation}
.hamburger span{display:block;width:26px;height:2px;background:#fff;border-radius:2px;transition:var(--t)}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ── 8. HERO ───────────────────────────────────────────────── */
.hero{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden}
.hero-slides{position:absolute;inset:0;z-index:0}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:heroFade 18s linear infinite;animation-fill-mode:backwards}
.hero-slide--1{background-image:url('assets/images/dom-goralski/hero-slide-1.webp');animation-delay:0s}
.hero-slide--2{background-image:url('assets/images/dom-goralski/hero-slide-2.webp');animation-delay:6s}
.hero-slide--3{background-image:url('assets/images/dom-goralski/hero-slide-3.webp');animation-delay:12s}
@keyframes heroFade{0%{opacity:0}11%{opacity:1}33%{opacity:1}44%{opacity:0}100%{opacity:0}}
.hero-overlay{position:absolute;inset:0;
  background:linear-gradient(175deg,rgba(8,2,0,.93) 0%,rgba(130,20,25,.32) 38%,rgba(8,28,16,.78) 100%),
    linear-gradient(0deg,rgba(28,69,50,.55) 0%,transparent 40%)}
.hero-content{position:relative;z-index:2;text-align:center;color:#fff;
  padding:2rem 1.5rem;max-width:940px;width:100%}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.75rem;
  font-family:var(--f-ui);font-size:.74rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--c-gold-lt);margin-bottom:1.5rem;animation:fadeDown .8s var(--ease) both}
.hero-eyebrow::before,.hero-eyebrow::after{content:'';display:inline-block;
  width:30px;height:1px;background:currentColor;opacity:.6}
.hero-content h1{color:#fff;text-shadow:0 4px 40px rgba(0,0,0,.6);margin-bottom:1.2rem;
  animation:fadeDown .8s var(--ease) .15s both;line-height:1.02}
.hero-content h1 em{display:block;font-style:italic;color:rgba(255,255,255,.85);
  font-size:.72em;font-weight:700;margin-top:.15rem}
.hero-sub{font-size:clamp(.95rem,1.8vw,1.2rem);color:rgba(255,255,255,.78);margin-bottom:2.5rem;
  animation:fadeDown .8s var(--ease) .3s both;line-height:1.65;max-width:620px;margin-left:auto;margin-right:auto}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;
  animation:fadeUp .8s var(--ease) .45s both}
.hero-trust{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap;
  animation:fadeUp .8s var(--ease) .6s both;
  border-top:1px solid rgba(255,255,255,.14);padding-top:2rem;margin-top:2.5rem;
  background:rgba(0,0,0,.15);margin-left:-1.5rem;margin-right:-1.5rem;padding-left:1.5rem;padding-right:1.5rem;border-radius:0 0 var(--r-xl) var(--r-xl)}
.hero-trust-item{text-align:center;color:rgba(255,255,255,.8)}
.hero-trust-item strong{display:block;font-family:var(--f-display);font-size:1.9rem;font-weight:900;
  color:var(--c-gold-lt);line-height:1;margin-bottom:.2rem}
.hero-trust-item span{font-family:var(--f-ui);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;opacity:.65}
.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);
  z-index:2;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.hero-scroll-txt{font-family:var(--f-ui);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.hero-scroll-line{width:1px;height:44px;
  background:linear-gradient(to bottom,rgba(255,255,255,.4),transparent);animation:scrollPulse 2s var(--ease) infinite;will-change:transform}

/* ── 9. ABOUT EDITORIAL SPLIT ──────────────────────────────── */
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:0;
  border-radius:var(--r-2xl);overflow:hidden;box-shadow:var(--s-lg)}
.about-visual{position:relative;overflow:hidden;min-height:600px}
.about-visual img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.about-split:hover .about-visual img{transform:scale(1.04)}
.about-badge{position:absolute;bottom:2.5rem;right:-1rem;background:var(--g-gold);color:var(--c-dark);
  padding:1.5rem 2rem 1.5rem 1.75rem;border-radius:var(--r-lg) 0 0 var(--r-lg);
  box-shadow:var(--s-gold);text-align:center;min-width:130px}
.about-badge strong{display:block;font-family:var(--f-display);font-size:2.4rem;font-weight:900;color:var(--c-dark);line-height:1}
.about-badge span{font-family:var(--f-ui);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(10,6,0,.6)}
.about-content{padding:3.5rem 4rem;display:flex;flex-direction:column;justify-content:center;gap:1rem;background:var(--c-surface-gold)}
.about-content > p{color:var(--c-text-2);font-size:.975rem;line-height:1.85;margin-bottom:0}
.about-cta{margin-top:.75rem;align-self:flex-start;background:var(--c-dark);color:#fff;border-color:var(--c-dark);backdrop-filter:none}
.about-cta:hover{background:var(--c-brand);border-color:var(--c-brand);color:#fff;transform:translateY(-3px)}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--g-forest);border-radius:var(--r-xl);overflow:hidden;margin-top:2rem}
.about-stat{padding:2.2rem 1.5rem;text-align:center;position:relative}
.about-stat+.about-stat::before{content:'';position:absolute;left:0;top:25%;bottom:25%;
  width:1px;background:rgba(255,255,255,.1)}
.about-stat strong{display:block;font-family:var(--f-display);font-size:2.6rem;font-weight:900;
  color:var(--c-gold-lt);line-height:1;margin-bottom:.35rem}
.about-stat span{font-family:var(--f-ui);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.about-features{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.25rem}
.feat-box{display:inline-flex;align-items:center;justify-content:center;
  width:2.8rem;height:2.8rem;min-width:2.8rem;flex-shrink:0;
  background:linear-gradient(145deg,var(--c-gold-pale),#fff);
  border-radius:var(--r-sm);border:1px solid rgba(184,130,10,.18)}

/* ── 10. OFFER BENTO ───────────────────────────────────────── */
.rooms-bento{display:grid;grid-template-columns:3fr 2fr;grid-template-rows:auto auto;gap:1.25rem}
.room-card{background:var(--c-surface);border-radius:var(--r-xl);overflow:hidden;
  box-shadow:var(--s-sm);border:1px solid rgba(0,0,0,.04);transition:all var(--t);display:flex;flex-direction:column}
.room-card:hover{transform:translateY(-7px);box-shadow:var(--s-lg)}
.room-card--featured{grid-row:1/3;flex-direction:row;
  border:1.5px solid rgba(184,130,10,.18);box-shadow:0 12px 48px rgba(0,0,0,.10),0 0 0 1px rgba(184,130,10,.1)}
.room-card--featured .room-img{flex:0 0 55%;height:auto}
.room-card--featured .room-info{padding:2.5rem 2rem;display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(160deg,#fff 0%,var(--c-surface-gold) 100%)}
.room-card-top{height:3px;background:var(--g-brand);flex-shrink:0}
.room-card--featured .room-card-top{display:none}
.room-img{overflow:hidden;height:210px;position:relative}
.room-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}
.room-card:hover .room-img img{transform:scale(1.06)}
.room-info{padding:1.5rem;flex:1}
.room-info h3{font-size:1.3rem;margin-bottom:.45rem}
.room-info > p{font-size:.875rem;color:var(--c-text-3);margin-bottom:.85rem;line-height:1.6}
.room-info ul li{font-size:.84rem;color:var(--c-text-2);padding:.3rem 0;
  border-bottom:1px solid rgba(0,0,0,.05);display:flex;align-items:flex-start;gap:.5rem;font-family:var(--f-ui)}
.room-info ul li:last-child{border-bottom:none}
.room-info ul li::before{content:'—';color:var(--c-brand);font-weight:700;flex-shrink:0}
.amenities{margin-top:5rem}
.amenities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.amenity-item{background:var(--c-surface);padding:1.75rem 1.25rem 1.5rem;border-radius:var(--r-lg);
  text-align:center;box-shadow:var(--s-xs);border:1px solid rgba(0,0,0,.04);
  transition:all var(--t);position:relative;overflow:hidden}
.amenity-item::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:var(--g-gold);transform:scaleX(0);transition:transform var(--t)}
.amenity-item:hover{transform:translateY(-6px);box-shadow:var(--s-md)}
.amenity-item:hover::after{transform:scaleX(1)}
.amenity-icon{width:6rem;height:6rem;margin:0 auto 1.1rem;display:flex;align-items:center;justify-content:center}
.amenity-item h4{font-size:.875rem;color:var(--c-text);margin-bottom:.35rem;font-family:var(--f-ui);font-weight:700}
.amenity-item p{font-size:.78rem;color:var(--c-text-3);margin:0;line-height:1.5}

/* ── 11. AREA TABS ─────────────────────────────────────────── */
.tab-nav{display:flex;gap:.4rem;border-bottom:1px solid rgba(0,0,0,.08);margin-bottom:0;flex-wrap:wrap}
.tab-btn{padding:.85rem 1.75rem;background:transparent;border:none;border-bottom:3px solid transparent;
  margin-bottom:-1px;font-family:var(--f-ui);font-weight:700;font-size:.82rem;color:var(--c-text-3);
  cursor:pointer;text-transform:uppercase;letter-spacing:.07em;transition:color .2s,border-color .2s;touch-action:manipulation}
.tab-btn:hover{color:var(--c-brand)}
.tab-btn.active{color:var(--c-brand);border-bottom-color:var(--c-brand);text-shadow:0 0 1px rgba(192,39,45,.15)}
.tab-panel{display:none;padding-top:2.5rem}
.tab-panel.active{display:block}
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.area-grid--2col{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.area-card{background:var(--c-surface);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--s-sm);border:1px solid rgba(0,0,0,.04);transition:all var(--t)}
.area-card:hover{transform:translateY(-6px);box-shadow:var(--s-lg)}
.area-img{height:195px;overflow:hidden}
.area-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}
.area-card:hover .area-img img{transform:scale(1.06)}
.area-card h3{padding:1.25rem 1.25rem .4rem;font-size:1.05rem}
.area-card p{padding:0 1.25rem;font-size:.875rem;color:var(--c-text-3)}
.area-card p:last-child{padding-bottom:1.25rem;font-style:italic;color:var(--c-forest)}
.area-zima-wrap{display:flex;flex-direction:column;gap:2rem}
.zima-intro{display:flex;background:var(--c-surface);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--s-sm)}
.zima-intro .area-img{flex:0 0 320px;height:auto;min-height:240px}
.zima-intro .area-img img{min-height:240px}
.zima-text{padding:2rem 2.5rem}
.zima-text h3{margin-bottom:1rem}
.ski-stations{background:var(--c-surface);border-radius:var(--r-xl);padding:2rem;box-shadow:var(--s-sm)}
.ski-stations h3{margin-bottom:1.5rem;font-size:1.2rem}
.ski-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}
.ski-item{display:flex;align-items:center;justify-content:space-between;padding:.55rem .85rem;
  background:var(--c-surface-t);border-radius:var(--r-sm);border:1px solid rgba(0,0,0,.04);gap:.4rem;transition:var(--t)}
.ski-item:hover{background:var(--c-surface-sage);border-color:rgba(28,69,50,.2);transform:translateX(3px)}
.ski-item--nearest{background:rgba(28,69,50,.1);border-color:rgba(28,69,50,.25);font-weight:700}
.ski-item--premium{background:var(--c-gold-pale);border-color:rgba(184,130,10,.25)}
.ski-name{font-family:var(--f-ui);font-weight:600;font-size:.85rem;color:var(--c-text);flex:1}
.ski-dist{font-family:var(--f-ui);font-size:.85rem;color:var(--c-brand);font-weight:700;white-space:nowrap}
.ski-link{font-size:.73rem;color:var(--c-text-3);border-bottom:1px dotted;white-space:nowrap}
.ski-link:hover{color:var(--c-brand)}

/* ── 12. GALLERY ───────────────────────────────────────────── */
.gallery-filter{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-bottom:2.5rem}
.gallery-filter-btn{padding:.5rem 1.4rem;border-radius:var(--r-full);border:1.5px solid rgba(0,0,0,.1);
  background:var(--c-surface);font-family:var(--f-ui);font-size:.8rem;font-weight:700;
  letter-spacing:.04em;cursor:pointer;transition:all var(--t);color:var(--c-text-3);touch-action:manipulation}
.gallery-filter-btn:hover{border-color:var(--c-brand);color:var(--c-brand)}
.gallery-filter-btn.active{background:var(--g-brand);border-color:transparent;color:#fff;box-shadow:var(--s-brand)}
.gallery-item.hidden{display:none}
/* Gallery section dark wrapper */
.section-gallery{background:#181410}
.section-gallery .section-header h2{color:#fff}
.section-gallery .section-label{color:var(--c-gold-lt)}
.section-gallery .section-header h2::after{background:var(--g-gold)}
.section-gallery .section-lead{color:rgba(255,255,255,.45)}
.section-gallery .gallery-filter-btn{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15);color:rgba(255,255,255,.6)}
.section-gallery .gallery-filter-btn:hover{border-color:var(--c-gold-lt);color:var(--c-gold-lt)}
.section-gallery .gallery-filter-btn.active{background:var(--g-gold);border-color:transparent;color:var(--c-dark);box-shadow:var(--s-gold)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:.75rem}
.gallery-item:nth-child(7n+1){grid-column:span 2;grid-row:span 2}
.gallery-item{position:relative;border-radius:var(--r-lg);overflow:hidden;
  cursor:pointer;box-shadow:var(--s-xs);transition:all var(--t)}
.gallery-item:hover{transform:scale(1.02);box-shadow:var(--s-md);z-index:2}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-overlay{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.65) 0%,transparent 55%);
  opacity:0;transition:opacity var(--t);display:flex;align-items:flex-end;padding:1rem}
.gallery-item:hover .gallery-overlay{opacity:1}
.gallery-overlay span{font-size:1.3rem;color:#fff}
.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.96);
  display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:var(--t)}
.lightbox.active{opacity:1;visibility:visible}
.lightbox-content{max-width:90vw;max-height:90vh;text-align:center}
.lightbox-content img{max-width:100%;max-height:82vh;border-radius:var(--r-md);box-shadow:var(--s-lg)}
#lightbox-caption{color:rgba(255,255,255,.65);margin-top:.75rem;font-style:italic;font-size:.9rem}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:rgba(255,255,255,.1);color:#fff;
  border:1px solid rgba(255,255,255,.2);border-radius:var(--r-full);width:50px;height:50px;
  font-size:1.4rem;cursor:pointer;transition:background var(--t);display:flex;align-items:center;
  justify-content:center;backdrop-filter:blur(8px)}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:rgba(255,255,255,.22)}
.lightbox-close{top:1.5rem;right:1.5rem;font-size:1rem}
.lightbox-prev{top:50%;left:1.5rem;transform:translateY(-50%)}
.lightbox-next{top:50%;right:1.5rem;transform:translateY(-50%)}

/* ── 13. PRICES ────────────────────────────────────────────── */
.prices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}
.prices-grid--single{display:flex;justify-content:center;margin-bottom:2rem}
.prices-grid--single .price-card--popular{max-width:520px;width:100%}

/* Split layout: karta + kalendarz obok siebie */
.prices-split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.prices-split__card{display:flex;flex-direction:column;gap:1.5rem}
.prices-split__calendar .calendar-section{margin-top:0}
.prices-split__calendar .calendar-section h3{text-align:left}
.prices-split__calendar .calendar-legend{justify-content:flex-start}

.price-card{background:var(--c-surface);border-radius:var(--r-xl);padding:2.5rem 2rem;
  text-align:center;box-shadow:var(--s-sm);border:1px solid rgba(0,0,0,.04);
  transition:all var(--t);position:relative;overflow:hidden}
.price-card::before{content:'';display:block;height:4px;background:var(--g-brand);
  position:absolute;top:0;left:0;right:0}
.price-card:hover{transform:translateY(-4px);box-shadow:var(--s-md)}
.price-card--popular{background:linear-gradient(160deg,var(--c-gold-pale) 0%,var(--c-surface) 55%);
  border-color:rgba(184,130,10,.2);box-shadow:var(--s-gold)}
.price-badge{position:absolute;top:16px;right:16px;background:var(--g-gold);color:var(--c-dark);
  padding:.2rem .85rem;border-radius:var(--r-full);
  font-family:var(--f-ui);font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.price-icon{font-size:2.4rem;margin-bottom:.75rem;line-height:1}
.price-card h3{margin-bottom:.5rem}
.price-capacity{font-family:var(--f-ui);font-size:.82rem;color:var(--c-text-3);margin-bottom:1.25rem}
.price-amount{font-family:var(--f-ui);font-size:.875rem;color:var(--c-text-3);margin-bottom:1.5rem}
.price-amount span{display:block;font-family:var(--f-display);font-size:2.6rem;font-weight:900;color:var(--c-forest);line-height:1.1}
.price-features{text-align:left;margin-bottom:2rem;display:flex;flex-direction:column;gap:.1rem}
.price-features li{display:flex;align-items:baseline;gap:.6rem;padding:.45rem 0;
  border-bottom:1px solid rgba(0,0,0,.05);font-size:.875rem;color:var(--c-text-2);font-family:var(--f-ui)}
.price-features li:last-child{border-bottom:none}
.pf-icon{color:var(--c-green);font-weight:700;flex-shrink:0}
.price-notes{background:var(--c-surface-t);border-radius:var(--r-md);padding:1.25rem 1.5rem;
  border-left:3px solid var(--c-brand)}
.price-notes p{font-size:.82rem;color:var(--c-text-3);font-family:var(--f-ui);margin-bottom:.5rem}
.price-notes p:last-child{margin-bottom:0}
.calendar-section{margin-top:3rem}
.calendar-section h3{text-align:center;margin-bottom:1rem}
.calendar-legend{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}
.calendar-legend span{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--c-text-3);font-family:var(--f-ui)}
.calendar-legend span::before{content:'';display:inline-block;width:14px;height:14px;border-radius:4px}
.legend-free::before{background:var(--c-green)}
.legend-occupied::before{background:#E07070}
.legend-today::before{background:var(--c-brand)}
.calendar-wrapper{max-width:680px;margin:0 auto;background:var(--c-surface);
  border-radius:var(--r-xl);box-shadow:var(--s-md);overflow:hidden;border:1px solid rgba(0,0,0,.04)}
.calendar-nav{display:flex;align-items:center;justify-content:space-between;
  padding:1.25rem 1.5rem;background:var(--g-forest);color:#fff}
.cal-month-name{font-family:var(--f-display);font-size:1.1rem;font-weight:700}
.cal-btn{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.25);
  padding:.35rem .9rem;border-radius:var(--r-full);cursor:pointer;font-size:.82rem;font-family:var(--f-ui);transition:var(--t)}
.cal-btn:hover{background:rgba(255,255,255,.28)}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:1rem;gap:4px}
.cal-day-name{text-align:center;font-size:.68rem;font-weight:700;color:var(--c-text-3);
  padding:.4rem 0;text-transform:uppercase;letter-spacing:.07em;font-family:var(--f-ui)}
.cal-day{text-align:center;padding:.5rem .25rem;border-radius:var(--r-sm);font-size:.875rem;
  font-family:var(--f-ui);cursor:default;transition:var(--t);min-height:34px;
  display:flex;align-items:center;justify-content:center}
.cal-day--empty{background:transparent}
.cal-day--free{background:rgba(45,106,79,.1);color:var(--c-green-dk);cursor:pointer}
.cal-day--free:hover{background:var(--c-green);color:#fff}
.cal-day--occupied{background:rgba(220,53,69,.1);color:#C0392B;text-decoration:line-through}
.cal-day--today{background:var(--c-brand);color:#fff;font-weight:700}
.cal-day--past{color:#C5B89E;font-size:.8rem}

/* ── 14. BOOKING CTA STRIP ─────────────────────────────────── */
.booking-strip{background:var(--g-brand-forest);padding:4rem 0;position:relative;overflow:hidden}
.booking-strip::before{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 70% 50%,rgba(192,39,45,.25) 0%,transparent 65%);pointer-events:none}
.booking-strip::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:var(--g-folk);opacity:.5}
.booking-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.booking-strip-text h3{color:#fff;font-size:clamp(1.4rem,2.5vw,2rem);margin-bottom:.35rem;
  text-shadow:0 2px 20px rgba(0,0,0,.3)}
.booking-strip-text p{color:rgba(255,255,255,.6);font-size:.95rem;margin:0}
.booking-strip-actions{display:flex;gap:.75rem;flex-shrink:0;flex-wrap:wrap}

/* ── 15. REVIEWS ───────────────────────────────────────────── */
.review-hero{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(2px);border-radius:var(--r-2xl);
  padding:5rem 4rem;text-align:center;margin-bottom:3rem;position:relative;overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.review-hero::before{content:'"';position:absolute;top:-2rem;left:50%;transform:translateX(-50%);
  font-family:Georgia,serif;font-size:20rem;color:var(--c-brand);opacity:.05;line-height:1;pointer-events:none}
.review-hero .review-stars{color:var(--c-gold-lt);font-size:1.45rem;letter-spacing:.2em;margin-bottom:1.25rem;
  text-shadow:0 0 20px rgba(240,184,50,.4)}
.review-hero blockquote{font-family:var(--f-display);font-size:clamp(1.15rem,2.2vw,1.65rem);
  font-style:italic;color:rgba(255,255,255,.92);line-height:1.55;max-width:720px;margin:0 auto 1.75rem}
.review-hero .review-author{color:rgba(255,255,255,.55);font-family:var(--f-ui);font-size:.875rem;
  display:flex;align-items:center;justify-content:center;gap:.75rem}
.review-hero .review-author strong{color:rgba(255,255,255,.85)}
.review-hero .review-author::before,.review-hero .review-author::after{
  content:'';display:inline-block;width:24px;height:1px;background:rgba(255,255,255,.2)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:2.5rem}
.review-card{background:var(--c-surface);border-radius:var(--r-lg);padding:1.75rem;
  box-shadow:var(--s-sm);border:1px solid rgba(0,0,0,.04);transition:all var(--t);position:relative;
  border-bottom:3px solid transparent}
.review-card:hover{transform:translateY(-5px);box-shadow:var(--s-md);border-bottom-color:var(--c-gold)}
.review-card::before{content:'"';position:absolute;top:.75rem;right:1.25rem;
  font-family:Georgia,serif;font-size:4rem;color:var(--c-brand);opacity:.1;line-height:1}
.review-stars{color:var(--c-gold-lt);font-size:1rem;letter-spacing:.1em;margin-bottom:.75rem}
.review-card blockquote{font-family:var(--f-serif);font-style:italic;font-size:.975rem;color:var(--c-text-2);margin-bottom:1.25rem;line-height:1.7}
.review-author{display:flex;align-items:center;gap:.85rem;border-top:1px solid rgba(0,0,0,.06);padding-top:1rem}
.review-avatar{width:42px;height:42px;border-radius:50%;background:var(--g-brand);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:var(--f-ui);font-weight:700;font-size:.8rem;flex-shrink:0}
.review-author strong{font-size:.875rem;color:var(--c-text);display:block;font-family:var(--f-ui)}
.review-author span{font-size:.78rem;color:var(--c-text-3);font-family:var(--f-ui)}
.reviews-cta{text-align:center;background:var(--c-surface-t);border-radius:var(--r-xl);
  padding:2.5rem 2rem;border:1px solid rgba(0,0,0,.04)}
.reviews-cta p{font-size:1.1rem;margin-bottom:1.25rem}
.review-platforms{display:flex;justify-content:center;gap:1.25rem;flex-wrap:wrap}

/* ── 16. FAQ ────────────────────────────────────────────────── */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{border:1px solid rgba(0,0,0,.06);border-radius:var(--r-lg);
  margin-bottom:.5rem;overflow:hidden;background:var(--c-surface);transition:all var(--t)}
.faq-item.open{border-color:var(--c-brand-10);box-shadow:var(--s-brand)}
.faq-item.open .faq-question{color:var(--c-brand)}
.faq-question{width:100%;text-align:left;background:none;border:none;padding:1.15rem 1.5rem;
  font-family:var(--f-ui);font-size:.95rem;font-weight:600;color:var(--c-text);
  cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:var(--t)}
.faq-question:hover{background:var(--c-surface-t)}
.faq-icon{width:26px;height:26px;border-radius:50%;background:var(--c-surface-t);
  border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;color:var(--c-brand);flex-shrink:0;transition:transform .3s,background .2s}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--c-brand);color:#fff;border-color:var(--c-brand)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease-out),padding .3s;padding:0 1.5rem}
.faq-item.open .faq-answer{max-height:500px;padding:.25rem 1.5rem 1.25rem}
.faq-answer p{font-size:.9rem;color:var(--c-text-3);line-height:1.7}

/* ── 17. CONTACT ───────────────────────────────────────────── */
.contact-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2.5rem}
.contact-pill{display:flex;align-items:center;gap:.9rem;background:var(--c-surface);
  border:1px solid rgba(0,0,0,.07);border-radius:var(--r-lg);padding:1rem 1.25rem;
  text-decoration:none;color:var(--c-text);transition:var(--t);box-shadow:var(--s-sm)}
.contact-pill:hover{border-color:var(--c-forest);box-shadow:var(--s-md);transform:translateY(-2px)}
.contact-pill--static{cursor:default}
.contact-pill--static:hover{transform:none;box-shadow:var(--s-sm);border-color:rgba(0,0,0,.07)}
.contact-pill__icon{font-size:1.6rem;flex-shrink:0}
.contact-pill__body{display:flex;flex-direction:column;min-width:0}
.contact-pill__body strong{font-family:var(--f-ui);font-size:.7rem;text-transform:uppercase;
  letter-spacing:.1em;color:var(--c-text-3);font-weight:700;margin-bottom:.15rem}
.contact-pill__body{font-size:.9rem;color:var(--c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contact-main{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}
.contact-form-wrap h3{margin-bottom:1.25rem;font-size:1.3rem}
.contact-form{background:var(--c-surface);border-radius:var(--r-xl);padding:2rem;
  box-shadow:var(--s-sm);border:1px solid rgba(0,0,0,.05)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{margin-bottom:.9rem}
.form-group label{display:block;font-family:var(--f-ui);font-size:.72rem;font-weight:700;
  color:var(--c-text-2);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.07em}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.7rem 1rem;
  border:1.5px solid rgba(0,0,0,.1);border-radius:var(--r-md);font-family:var(--f-body);
  font-size:.9rem;color:var(--c-text);background:var(--c-surface-w);transition:var(--t);outline:none;appearance:auto}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--c-forest);
  background:var(--c-surface);box-shadow:0 0 0 3px rgba(28,69,50,.12)}
.form-group input.error{border-color:#E07070}
.form-group--checkbox .checkbox-label{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;
  font-size:.8rem;color:var(--c-text-3);font-family:var(--f-ui)}
.form-group--checkbox input[type=checkbox]{width:16px;height:16px;flex-shrink:0;margin-top:2px;accent-color:var(--c-brand)}
.form-success{margin-top:.75rem;padding:.85rem 1rem;background:rgba(45,106,79,.08);border:1px solid var(--c-green);
  border-radius:var(--r-md);color:var(--c-green-dk);font-weight:600;font-family:var(--f-ui);font-size:.88rem}
.form-error{margin-top:.75rem;padding:.85rem 1rem;background:rgba(220,53,69,.08);border:1px solid #E07070;
  border-radius:var(--r-md);color:#B31B1B;font-weight:600;font-family:var(--f-ui);font-size:.88rem}
/* ── 18. MAP ────────────────────────────────────────────────── */
.contact-map-col{display:flex;flex-direction:column;gap:1.25rem}
.map-embed{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--s-md);border:1px solid rgba(0,0,0,.06)}
.map-embed iframe{display:block}
.dojazd-section{background:var(--c-surface);border-radius:var(--r-xl);padding:1.5rem 1.75rem;
  box-shadow:var(--s-sm);border:1px solid rgba(0,0,0,.04)}
.dojazd-section h4{margin-bottom:1rem;font-size:1rem;font-family:var(--f-ui);text-transform:uppercase;
  letter-spacing:.1em;color:var(--c-text-2);font-weight:700}
.dojazd-steps{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1rem}
.dojazd-step{display:flex;gap:.75rem;align-items:flex-start}
.step-num{display:inline-flex;align-items:center;justify-content:center;
  width:1.75rem;height:1.75rem;min-width:1.75rem;background:var(--g-brand);color:#fff;
  font-family:var(--f-ui);font-weight:700;font-size:.8rem;border-radius:50%}
.dojazd-step p{margin:0;padding-top:.25rem;font-size:.875rem;line-height:1.55;color:var(--c-text-2)}
.dojazd-note{font-size:.82rem;color:var(--c-text-3);border-top:1px solid rgba(0,0,0,.06);
  padding-top:.85rem;font-family:var(--f-ui);margin:0}
.dojazd-note a{color:var(--c-brand);font-weight:600}
.dojazd-note a:hover{color:var(--c-brand-dk)}
.contact-social{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.contact-social__label{font-family:var(--f-ui);font-size:.72rem;text-transform:uppercase;
  letter-spacing:.1em;color:var(--c-text-3);font-weight:700;white-space:nowrap}
.social-links{display:flex;gap:.5rem;flex-wrap:wrap}
.social-links a{background:var(--c-surface-t);color:var(--c-text-2);border:1px solid rgba(0,0,0,.07);
  padding:.35rem .85rem;border-radius:var(--r-full);font-family:var(--f-ui);font-size:.8rem;font-weight:600;transition:var(--t)}
.social-links a:hover{background:var(--c-brand);color:#fff;border-color:var(--c-brand)}

/* ── 19. FOOTER ────────────────────────────────────────────── */
.site-footer{background:var(--c-dark);color:rgba(255,255,255,.65);padding:0;position:relative;overflow:hidden}
/* Subtelna dekoracyjna linia nad stopką */
.site-footer::before{
  content:'';display:block;height:1px;flex-shrink:0;
  background:linear-gradient(to right,
    transparent 0%,
    rgba(240,184,50,.18) 12%,
    rgba(192,39,45,.22) 50%,
    rgba(240,184,50,.18) 88%,
    transparent 100%)}

/* Main content */
.footer-main{position:relative;z-index:1;padding:3.5rem 0 0}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1.4fr 1.2fr;gap:3rem;
  padding-bottom:3.5rem;border-bottom:1px solid rgba(255,255,255,.07)}
/* Brand column */
.footer-col--brand .footer-logo{display:flex;align-items:center;gap:.85rem;margin-bottom:1.1rem}
.footer-col--brand .logo-icon{font-size:2.2rem;line-height:1}
.footer-brand-name{font-family:var(--f-display);font-size:1.5rem;font-weight:700;
  color:#fff;line-height:1.1;letter-spacing:-.02em}
.footer-brand-name small{display:block;font-family:var(--f-ui);font-size:.62rem;font-weight:600;
  color:var(--c-gold-lt);text-transform:uppercase;letter-spacing:.22em;margin-top:.2rem}
.footer-col--brand > p{font-family:var(--f-body);font-size:.88rem;line-height:1.75;
  color:rgba(255,255,255,.45);max-width:280px;margin-bottom:1.5rem}
.footer-tagline{display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--f-display);font-size:1.05rem;font-style:italic;color:var(--c-gold-lt);opacity:.85}
.footer-tagline::before,.footer-tagline::after{content:'';display:inline-block;
  width:20px;height:1px;background:var(--c-gold-lt);opacity:.5}
/* Column headers */
.footer-col h4{font-family:var(--f-ui);font-size:.65rem;font-weight:700;color:var(--c-gold-lt);
  text-transform:uppercase;letter-spacing:.22em;margin-bottom:1.4rem;
  padding-bottom:.6rem;border-bottom:1px solid rgba(240,184,50,.15)}
/* Nav links */
.footer-col ul li{margin-bottom:.55rem}
.footer-col ul li a{color:rgba(255,255,255,.45);font-size:.85rem;font-family:var(--f-ui);
  transition:var(--t);display:inline-flex;align-items:center;gap:.5rem}
.footer-col ul li a::before{content:'—';font-size:.65rem;color:var(--c-brand);opacity:.6;transition:var(--t)}
.footer-col ul li a:hover{color:#fff;padding-left:4px}
.footer-col ul li a:hover::before{opacity:1}
/* Contact items */
.footer-contact-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.9rem}
.footer-contact-icon{font-size:1rem;line-height:1.4;flex-shrink:0;width:1.2rem;text-align:center;opacity:.7}
.footer-contact-item a,.footer-contact-item span{color:rgba(255,255,255,.5);font-size:.85rem;
  font-family:var(--f-ui);line-height:1.5;transition:var(--t)}
.footer-contact-item a:hover{color:var(--c-gold-lt)}
/* External link cards */
.footer-external-link{display:flex;align-items:center;gap:.7rem;padding:.6rem .85rem;
  border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.06);
  color:rgba(255,255,255,.45);font-family:var(--f-ui);font-size:.82rem;
  margin-bottom:.5rem;transition:var(--t);background:rgba(255,255,255,.02)}
.footer-external-link:hover{background:rgba(240,184,50,.07);
  border-color:rgba(240,184,50,.2);color:var(--c-gold-lt)}
.footer-ext-icon{font-size:1rem;opacity:.7;flex-shrink:0}
/* Bottom bar */
.footer-bottom{position:relative;z-index:1;display:flex;align-items:center;
  justify-content:space-between;gap:1.5rem;flex-wrap:wrap;
  padding:1.5rem 0;font-size:.72rem;color:rgba(255,255,255,.2);font-family:var(--f-ui)}
.footer-bottom p{margin:0}
.footer-bottom-right{color:rgba(255,255,255,.15);font-size:.7rem}

/* ── 20. SCROLL TOP ────────────────────────────────────────── */
.scroll-top{position:fixed;bottom:2rem;right:2rem;width:46px;height:46px;
  background:var(--g-forest);color:#fff;border:none;border-radius:50%;
  font-size:1rem;cursor:pointer;box-shadow:var(--s-forest);z-index:900;
  opacity:0;visibility:hidden;transform:translateY(10px);transition:all var(--t)}
.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-top:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(28,69,50,.45)}

/* ── 21. ANIMATIONS ────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s var(--ease-out),transform .65s var(--ease-out);will-change:transform,opacity}
.reveal.visible{opacity:1;transform:translateY(0);will-change:auto}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}

/* ── 21b. FOCUS VISIBLE (klawiatura / dostępność) ─────────── */
:focus{outline:none}
:focus-visible{
  outline:2.5px solid var(--c-gold-lt);
  outline-offset:3px;
  border-radius:var(--r-xs);
  box-shadow:0 0 0 4px rgba(240,184,50,.18)}
.site-header :focus-visible{
  outline-color:rgba(255,255,255,.7);
  box-shadow:0 0 0 4px rgba(255,255,255,.15)}
.section--dark :focus-visible,.section-gallery :focus-visible{
  outline-color:var(--c-gold-lt);
  box-shadow:0 0 0 4px rgba(240,184,50,.2)}
.gallery-item:focus-visible{
  outline:2.5px solid var(--c-gold-lt);
  outline-offset:4px;
  z-index:3}
.faq-question:focus-visible{background:var(--c-surface-t)}
@keyframes fadeDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes scrollPulse{
  0%{transform:scaleY(0);transform-origin:top;opacity:1}
  50%{transform:scaleY(1);transform-origin:top}
  51%{transform:scaleY(1);transform-origin:bottom}
  100%{transform:scaleY(0);transform-origin:bottom;opacity:0}
}

/* ── 22. FOLK ICONS SPRITE ─────────────────────────────────── */
/* sprite 4×4 — góralski styl wycinanki, wygenerowany AI, v2 2026 */
/* Układ (col,row): 0%=col1, 33.33%=col2, 66.67%=col3, 100%=col4 */
/* Row1: góry | sosna | kominek | chata-folk                       */
/* Row2: dom  | liść  | narciarz| ogród+kwiaty                     */
/* Row3: huśtawka | ognisko | wifi | kołyska                       */
/* Row4: łapa | śnieżynka-złota | śnieżynka | koperta              */
.folk-icon{display:inline-block;width:var(--fi-size,1.3rem);height:var(--fi-size,1.3rem);
  background-image:url('assets/images/folk/icons-sprite.webp');
  background-size:400% 400%;background-repeat:no-repeat;flex-shrink:0;vertical-align:-0.1em}
.folk-icon--sm{--fi-size:1.8rem}
.folk-icon--lg{--fi-size:4rem}
.fi-mountain  {background-position:0%      0%     } /* góry Tatry        */
.fi-pine      {background-position:33.33%  0%     } /* jodła             */
.fi-fireplace {background-position:66.67%  0%     } /* kominek / ogień   */
.fi-flower    {background-position:100%    0%     } /* chata góralska    */
.fi-house     {background-position:0%      33.33% } /* dom               */
.fi-leaf      {background-position:33.33%  33.33% } /* liść              */
.fi-ski       {background-position:66.67%  33.33% } /* narciarz          */
.fi-garden    {background-position:100%    33.33% } /* huśtawka+kwiaty   */
.fi-swing     {background-position:0%      66.67% } /* huśtawka          */
.fi-grill     {background-position:33.33%  66.67% } /* ognisko/grill     */
.fi-wifi      {background-position:66.67%  66.67% } /* wifi              */
.fi-baby      {background-position:100%    66.67% } /* kołyska           */
.fi-paw       {background-position:0%      100%   } /* łapa psa          */
.fi-parking   {background-position:33.33%  100%   } /* śnieżynka         */
.fi-envelope  {background-position:100%    100%   } /* koperta           */

/* ── 23. RESPONSIVE ────────────────────────────────────────── */
@media(max-width:1100px){
  .about-content{padding:3.5rem 2.5rem}
  .about-features{grid-template-columns:repeat(4,1fr)}
  .rooms-bento{grid-template-columns:1fr 1fr}
  .room-card--featured{grid-column:1/-1;flex-direction:row}
  .amenities-grid{grid-template-columns:repeat(4,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .footer-col--brand{grid-column:1/-1}
  .footer-bottom{flex-direction:column;text-align:center;gap:.5rem}
  .gallery-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:190px}
}
@media(max-width:900px){
  :root{--h-nav:64px}
  .section{padding:5rem 0}
  .about-split{grid-template-columns:1fr;border-radius:var(--r-xl)}
  .about-visual{min-height:380px}
  .about-content{padding:3rem 2rem}
  .about-badge{right:1.5rem}
  .about-features{grid-template-columns:repeat(2,1fr)}
  .about-stats{grid-template-columns:repeat(2,1fr)}
  .rooms-bento{grid-template-columns:1fr}
  .room-card--featured{grid-column:auto;flex-direction:column}
  .room-card--featured .room-img{flex:none;height:280px}
  .area-grid,.area-grid--2col{grid-template-columns:1fr 1fr}
  .reviews-grid{grid-template-columns:1fr 1fr}
  .contact-bar{grid-template-columns:1fr 1fr}
  .contact-main{grid-template-columns:1fr;gap:2rem}
  .contact-grid{grid-template-columns:1fr;gap:2rem}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px}
  .gallery-item:nth-child(7n+1){grid-column:span 2}
  .booking-strip-inner{flex-direction:column;text-align:center}
  .review-hero{padding:3rem 2rem}
  .hamburger{display:flex}
  .main-nav{position:fixed;top:var(--h-nav);left:0;right:0;background:rgba(10,5,0,.97);
    backdrop-filter:blur(24px);padding:1rem 0 2.5rem;transform:translateY(-110%);
    opacity:0;visibility:hidden;transition:transform .35s var(--ease),opacity .3s;z-index:999}
  .main-nav.open{transform:translateY(0);opacity:1;visibility:visible}
  .main-nav ul{flex-direction:column;gap:0;align-items:stretch;padding:0 1.5rem}
  .main-nav ul li a{display:block;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.07);border-radius:0}
  .prices-grid{grid-template-columns:1fr}
  .prices-split{grid-template-columns:1fr;gap:2rem}
  .ski-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
  .hero-trust{gap:1.5rem}
  .hero-content h1{font-size:2.6rem}
  .about-features{grid-template-columns:repeat(2,1fr)}
  .about-stats{grid-template-columns:repeat(2,1fr)}
  .about-stat strong{font-size:2rem}
  .area-grid,.area-grid--2col,.reviews-grid{grid-template-columns:1fr}
  .amenities-grid{grid-template-columns:1fr 1fr}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:160px}
  .features-list{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand-name{font-size:1.3rem}
  .ski-grid{grid-template-columns:1fr 1fr}
  .zima-intro{flex-direction:column}
  .zima-intro .area-img{flex:none;min-height:200px}
  .lightbox-prev{left:.5rem}
  .lightbox-next{right:.5rem}
  .scroll-top{bottom:1.25rem;right:1.25rem;width:40px;height:40px}
  .contact-bar{grid-template-columns:1fr 1fr}
  .contact-social{flex-direction:column;align-items:flex-start}
}
@media(max-width:420px){
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:240px}
  .gallery-item:nth-child(7n+1){grid-column:auto;grid-row:auto}
  .amenities-grid{grid-template-columns:1fr}
  .about-features{grid-template-columns:1fr 1fr}
  .about-stats{grid-template-columns:1fr 1fr}
  .about-stat+.about-stat::before{display:none}
  .hero-trust{flex-direction:column;gap:1rem}
}
