/* Koci Dworek — style strony */
  :root{
    --gold:#b6893f;
    --gold-light:#d9b876;
    --gold-dark:#8f6a2c;
    --cream:#f6ecd9;
    --beige-deep:#efe1c3;
    --ivory:#ffffff;
    --ink:#2b2620;
    --wood:#6b4a30;
    --wood-deep:#4a3220;
    --line: rgba(182,137,63,0.35);
    --shadow: 0 18px 50px rgba(107,74,48,0.14);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; overflow-x:hidden;}
  body{overflow-x:hidden;}
  body{
    margin:0;
    background:var(--ivory);
    color:var(--ink);
    font-family:"EB Garamond", serif;
    font-size:18px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:"Cormorant Garamond", serif;
    font-weight:600;
    margin:0 0 .4em;
    color:var(--wood-deep);
    letter-spacing:.01em;
  }
  h1{font-size:clamp(2.6rem,6vw,4.6rem); font-weight:700;}
  h2{font-size:clamp(1.9rem,4vw,2.6rem);}
  h3{font-size:1.4rem;}
  p{margin:0 0 1em;}
  a{color:inherit;}
  img{max-width:100%; height:auto; display:block;}
  .container{max-width:1180px; margin:0 auto; padding:0 28px;}
  .eyebrow{
    font-family:"EB Garamond", serif;
    font-style:italic;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-size:.82rem;
    color:var(--gold);
    margin-bottom:.6em;
    display:inline-block;
  }
  .btn{
    display:inline-flex;
    align-items:center;
    gap:.5em;
    padding:.85em 1.9em;
    border-radius:2px;
    font-family:"Cormorant Garamond", serif;
    font-weight:600;
    font-size:1.08rem;
    letter-spacing:.03em;
    text-decoration:none;
    border:1px solid var(--gold);
    cursor:pointer;
    transition:all .25s ease;
  }
  .btn-gold{background:var(--gold); color:var(--ivory); border-color:var(--gold);}
  .btn-gold:hover{background:var(--gold-light); border-color:var(--gold-light);}
  .btn-ghost{background:transparent; color:var(--ivory); border-color:rgba(244,238,224,.55);}
  .btn-ghost:hover{border-color:var(--gold-light); color:var(--gold-light);}
  .btn-outline{background:transparent; color:var(--wood-deep); border-color:var(--wood-deep);}
  .btn-outline:hover{background:var(--wood-deep); color:var(--ivory);}

  /* divider */
  .divider{
    display:flex; align-items:center; justify-content:center; gap:14px;
    margin:2.6em auto; width:100%;
  }
  .divider svg{width:34px; height:34px; flex:none;}
  .divider .rule{height:1px; width:64px; background:linear-gradient(90deg, transparent, var(--gold), transparent);}

  /* header */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(255,255,255,0.0);
    transition:background .3s ease, box-shadow .3s ease, padding .3s ease;
    padding:20px 0;
  }
  header.scrolled{
    background:rgba(255,255,255,0.96);
    box-shadow:0 6px 24px rgba(107,74,48,.14);
    padding:10px 0;
  }
  header.scrolled .brand-text, header.scrolled nav.main-nav a, header.scrolled .phone-link, header.scrolled .menu-toggle{
    color:var(--wood-deep);
  }
  .nav-wrap{display:flex; align-items:center; justify-content:space-between; gap:20px;}
  .brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ivory);}
  .brand img{height:46px; width:auto; transition:height .3s ease;}
  header.scrolled .brand img{height:38px;}
  .brand-text{font-family:"Cormorant Garamond",serif; font-weight:700; font-size:1.3rem; letter-spacing:.04em; color:var(--ivory);}
  nav.main-nav{display:flex; align-items:center; gap:28px;}
  nav.main-nav a{
    color:var(--ivory); text-decoration:none; font-size:1rem;
    letter-spacing:.03em; position:relative; padding:4px 0;
  }
  nav.main-nav a::after{
    content:""; position:absolute; left:0; bottom:-2px; height:1px; width:0%;
    background:var(--gold-light); transition:width .25s ease;
  }
  nav.main-nav a:hover::after{width:100%;}
  .nav-cta{display:flex; align-items:center; gap:14px;}
  .phone-link{color:var(--gold-light); text-decoration:none; font-family:"Cormorant Garamond",serif; font-weight:600; letter-spacing:.02em; display:none;}
  .menu-toggle{display:none; background:none; border:none; color:var(--ivory); font-size:1.6rem; cursor:pointer;}

  @media(max-width:920px){
    nav.main-nav{
      position:fixed; inset:0 0 0 auto; height:100vh; width:min(80vw,340px);
      background:var(--ivory); flex-direction:column; justify-content:center;
      align-items:flex-start; padding:40px; gap:26px; transform:translateX(100%);
      transition:transform .35s ease; box-shadow:-10px 0 30px rgba(107,74,48,.12);
    }
    nav.main-nav a{ color:var(--wood-deep) !important; }
    nav.main-nav.open{transform:translateX(0);}
    .menu-toggle{display:block;}
    .phone-link{display:none !important;}
  }
  @media(min-width:921px){ .phone-link{display:inline-block;} }

  /* hero */
  .hero{
    position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center;
    text-align:center; color:var(--ivory); overflow:hidden;
  }
  .hero-slides{position:absolute; inset:0; z-index:0;}
  .hero-slide{
    position:absolute; inset:0; background-size:cover; background-position:center 35%;
    opacity:0; transition:opacity 1.4s ease;
  }
  .hero-slide.active{opacity:1;}
  .hero-slide::after{ content:none; }
  /* delikatna poświata tylko pod samym tekstem, zdjęcia pozostają w pełnej jasności */
  .hero-inner::before{
    content:""; position:absolute; inset:-40px -50px; z-index:-1; border-radius:50%;
    background:radial-gradient(ellipse at center, rgba(30,26,22,.5) 0%, rgba(30,26,22,.28) 55%, transparent 78%);
    filter:blur(6px);
  }
  .hero-inner{position:relative; isolation:isolate; z-index:2; padding:0 24px; max-width:820px;}
  .hero-tm{
    font-family:"Cormorant Garamond",serif; letter-spacing:.32em; font-size:.8rem;
    color:var(--gold-light); text-transform:uppercase; margin-bottom:10px;
    text-shadow:0 2px 8px rgba(20,16,12,.9);
  }
  .hero-crest{width:min(230px,42vw); margin:0 auto 12px; filter:drop-shadow(0 4px 16px rgba(20,16,12,.55));}
  .hero h1{color:var(--ivory); text-shadow:0 2px 6px rgba(20,16,12,.85), 0 6px 34px rgba(20,16,12,.6);}
  .hero .tagline{
    font-family:"Cormorant Garamond",serif; font-style:italic; font-size:clamp(1.1rem,2.4vw,1.5rem);
    color:var(--gold-light); margin:0 0 1.6em; letter-spacing:.02em;
    text-shadow:0 2px 8px rgba(20,16,12,.9);
  }
  .hero-buttons{display:flex; gap:18px; justify-content:center; flex-wrap:wrap;}
  .hero-dots{
    position:absolute; right:32px; top:50%; transform:translateY(-50%); z-index:3;
    display:flex; flex-direction:column; gap:12px;
  }
  .hero-dot{
    width:10px; height:10px; border-radius:50%; background:rgba(244,238,224,.35);
    border:1px solid rgba(255,255,255,.85); cursor:pointer; padding:0;
    box-shadow:0 1px 6px rgba(20,16,12,.5); transition:background .25s ease, transform .25s ease;
  }
  .hero-dot.active{background:var(--gold-light); border-color:var(--gold-light); transform:scale(1.25);}
  .scroll-cue{
    position:absolute; bottom:28px; left:50%; transform:translateX(-50%); z-index:2;
    color:rgba(244,238,224,.7); font-size:.8rem; letter-spacing:.2em; text-transform:uppercase;
    display:flex; flex-direction:column; align-items:center; gap:8px;
  }
  .scroll-cue span.line{width:1px; height:34px; background:rgba(244,238,224,.5); animation:scrollcue 2s infinite;}
  @keyframes scrollcue{0%{opacity:.15;} 50%{opacity:.8;} 100%{opacity:.15;}}
  @media (prefers-reduced-motion: reduce){ .hero-slide{transition:none;} }

  section{padding:100px 0;}
  section.tight{padding:70px 0;}
  .section-head{text-align:center; max-width:680px; margin:0 auto 56px;}
  .section-head p{color:#332f21;}

  /* about split */
  .about-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center;}
  .about-grid img{border-radius:3px; box-shadow:var(--shadow);}
  .about-frame{position:relative; padding:14px;}
  .about-frame::before{
    content:""; position:absolute; inset:0; border:1px solid var(--gold); border-radius:3px;
    transform:translate(14px,14px); z-index:0;
  }
  .about-frame img{position:relative; z-index:1;}
  @media(max-width:860px){ .about-grid{grid-template-columns:1fr; gap:44px;} }

  /* values strip */
  .values{background:var(--cream); color:var(--ink); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .values-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:26px; text-align:center;}
  .value-item{display:flex; flex-direction:column; align-items:center; gap:12px;}
  .value-item svg{width:34px; height:34px; color:var(--gold-dark);}
  .value-item span{font-family:"Cormorant Garamond",serif; font-size:1.02rem; letter-spacing:.02em;}
  @media(max-width:900px){ .values-grid{grid-template-columns:repeat(3,1fr); row-gap:34px;} }
  @media(max-width:520px){ .values-grid{grid-template-columns:repeat(2,1fr);} }

  /* standard 3 col */
  .standard-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:44px;}
  .standard-card{
    background:var(--ivory); border:1px solid var(--line); border-radius:3px; padding:38px 32px;
    text-align:left; position:relative;
  }
  .standard-card .num{
    font-family:"Cormorant Garamond",serif; font-size:.85rem; letter-spacing:.18em; color:var(--gold);
    text-transform:uppercase; margin-bottom:14px; display:block;
  }
  .standard-card svg{width:38px; height:38px; color:var(--wood);}
  @media(max-width:860px){ .standard-grid{grid-template-columns:1fr; gap:28px;} }

  /* gallery / rooms */
  .rooms{background:var(--cream);}
  .gallery{
    display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:220px; gap:14px;
  }
  .gallery figure{margin:0; position:relative; overflow:hidden; border-radius:3px; cursor:default;}
  .gallery figure img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
  .gallery figure:hover img{transform:scale(1.06);}
  .gallery figcaption{
    position:absolute; left:0; right:0; bottom:0; padding:14px 16px 12px;
    background:linear-gradient(0deg, rgba(15,30,24,.85), transparent);
    color:var(--ivory); font-family:"Cormorant Garamond",serif; font-size:1rem; letter-spacing:.02em;
  }
  .gallery .tall{grid-row:span 2;}
  .gallery .wide{grid-column:span 2;}
  @media(max-width:900px){
    .gallery{grid-template-columns:repeat(2,1fr); grid-auto-rows:200px;}
    .gallery .wide{grid-column:span 2;}
  }
  @media(max-width:560px){
    .gallery{grid-template-columns:1fr; grid-auto-rows:230px;}
    .gallery .wide, .gallery .tall{grid-column:span 1; grid-row:span 1;}
  }

  /* pricing */
  .pricing-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:26px;}
  @media(min-width:1100px){ .pricing-grid{grid-template-columns:repeat(4,1fr);} }
  .price-card{
    background:var(--ivory); border:1px solid var(--line); border-radius:3px; padding:42px 34px;
    display:flex; flex-direction:column; text-align:left;
  }
  .price-card.featured{border-color:var(--gold); box-shadow:var(--shadow); position:relative;}
  .price-card.featured::before{
    content:"Najczęściej wybierany"; position:absolute; top:-14px; left:50%; transform:translateX(-50%);
    background:var(--gold); color:var(--ivory); font-family:"Cormorant Garamond",serif; font-size:.82rem;
    letter-spacing:.08em; padding:6px 16px; border-radius:2px; white-space:nowrap;
  }
  .price-card h3{margin-bottom:6px;}
  .price-tag{font-family:"Cormorant Garamond",serif; font-size:2rem; color:var(--wood-deep); font-weight:600; margin:10px 0 18px;}
  .price-tag small{font-size:.95rem; font-family:"EB Garamond",serif; color:#4a4437; font-weight:400;}
  .price-card ul{list-style:none; margin:0 0 26px; padding:0; flex:1;}
  .price-card li{padding:8px 0; border-top:1px solid var(--line); font-size:.98rem;}
  .price-card li:first-child{border-top:none;}
  .price-note{
    text-align:center; max-width:640px; margin:40px auto 0; color:#423d2f; font-style:italic; font-size:.98rem;
  }
  @media(max-width:900px){ .pricing-grid{grid-template-columns:1fr; max-width:460px; margin:0 auto;} }

  /* reservation */
  .reserve{
    background:var(--beige-deep); color:var(--ink); position:relative; overflow:hidden; border-top:1px solid var(--line);
  }
  .reserve-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:flex-start;}
  .reserve-info-item{display:flex; gap:16px; margin-bottom:26px; align-items:flex-start;}
  .reserve-info-item svg{width:24px; height:24px; color:var(--gold-dark); flex:none; margin-top:3px;}
  .reserve-info-item a{color:var(--wood-deep); text-decoration:none; font-weight:600;}
  form{background:var(--ivory); color:var(--ink); padding:40px; border-radius:3px; box-shadow:var(--shadow);}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  .field{margin-bottom:20px;}
  .field label{display:block; font-family:"Cormorant Garamond",serif; font-size:.95rem; letter-spacing:.04em; margin-bottom:6px; color:var(--wood-deep);}
  .field input, .field textarea, .field select{
    width:100%; padding:12px 14px; border:1px solid #cfc6ae; border-radius:2px; font-family:"EB Garamond",serif;
    font-size:1rem; background:#fff; color:var(--ink);
  }
  .field input:focus, .field textarea:focus, .field select:focus{outline:2px solid var(--gold); outline-offset:1px;}
  .field textarea{resize:vertical; min-height:100px;}
  form .btn-gold{width:100%; justify-content:center; margin-top:6px;}
  .form-note{font-size:.85rem; color:#4a4437; margin-top:12px; text-align:center;}
  @media(max-width:900px){ .reserve-grid{grid-template-columns:1fr; gap:44px;} .form-row{grid-template-columns:1fr;} }

  /* FAQ */
  .faq-list{max-width:800px; margin:0 auto;}
  details{
    border-bottom:1px solid var(--line); padding:22px 0;
  }
  details summary{
    cursor:pointer; font-family:"Cormorant Garamond",serif; font-size:1.25rem; font-weight:600;
    color:var(--wood-deep); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:20px;
  }
  details summary::-webkit-details-marker{display:none;}
  details summary::after{
    content:"+"; font-size:1.6rem; color:var(--gold); transition:transform .25s ease; flex:none;
  }
  details[open] summary::after{transform:rotate(45deg);}
  details p{margin-top:14px; color:#332f21; max-width:680px;}

  /* regulamin */
  .rules{background:var(--cream);}
  .rules-list{max-width:760px; margin:0 auto; display:grid; gap:18px;}
  .rules-list li{
    list-style:none; display:flex; gap:16px; align-items:flex-start; background:var(--ivory);
    border:1px solid var(--line); padding:18px 22px; border-radius:3px;
  }
  .rules-list svg{width:22px; height:22px; color:var(--gold); flex:none; margin-top:3px;}
  .rules ul{padding:0;}

  /* blog */
  .blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:30px;}
  .blog-card{border:1px solid var(--line); border-radius:3px; overflow:hidden; background:var(--ivory);}
  .blog-card .blog-img{height:200px; background:linear-gradient(135deg, var(--wood), var(--wood-deep)); display:flex; align-items:center; justify-content:center; overflow:hidden;}
  .blog-card .blog-img img{width:100%; height:100%; object-fit:cover;}
  .blog-card .blog-body{padding:24px 26px;}
  .blog-tag{font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); font-style:italic;}
  .blog-soon{font-size:.85rem; color:#5f5847; margin-top:14px;}
  @media(max-width:860px){ .blog-grid{grid-template-columns:1fr; max-width:460px; margin:0 auto;} }

  /* testimonials */
  .testimonials{background:var(--cream); color:var(--ink); border-top:1px solid var(--line);}
  .testi-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:30px; max-width:900px; margin:0 auto;}
  .testi-card{
    background:var(--ivory); border:1px solid rgba(182,137,63,.4); border-radius:3px; padding:32px;
  }
  .testi-card svg{width:26px; height:26px; color:var(--gold-dark); margin-bottom:14px;}
  .testi-card p{font-style:italic; color:#4a4437;}
  .testi-name{font-family:"Cormorant Garamond",serif; color:var(--wood-deep); margin-top:16px; font-size:1.02rem;}
  @media(max-width:760px){ .testi-grid{grid-template-columns:1fr;} }

  /* footer / contact */
  footer{background:var(--beige-deep); color:rgba(43,38,32,.85); padding-top:0; border-top:1px solid var(--line);}
  .footer-top{padding:90px 0 60px;}
  .footer-grid{display:grid; grid-template-columns:1.2fr 1fr 1fr 1.3fr; gap:50px;}
  .footer-col h4{color:var(--wood-deep); font-size:1.1rem; margin-bottom:16px;}
  .footer-brand{display:flex; align-items:center; gap:12px; margin-bottom:16px;}
  .footer-brand img{height:44px;}
  .footer-brand span{font-family:"Cormorant Garamond",serif; font-size:1.3rem; color:var(--wood-deep); font-weight:700;}
  .footer-col p, .footer-col a{color:rgba(43,38,32,.8); text-decoration:none; font-size:.98rem;}
  .footer-col ul{list-style:none; padding:0; margin:0; display:grid; gap:10px;}
  .footer-col a:hover{color:var(--gold-dark);}
  .map-frame{border:1px solid rgba(182,137,63,.4); border-radius:3px; overflow:hidden; height:190px;}
  .map-frame iframe{width:100%; height:100%; border:0; filter:grayscale(.1) sepia(.1);}
  .footer-bottom{
    border-top:1px solid rgba(182,137,63,.35); padding:26px 0; text-align:center;
    font-size:.85rem; color:rgba(43,38,32,.65);
  }
  .footer-bottom .fb-copy{margin:0 0 10px;}
  .fb-links{
    list-style:none; margin:0 0 12px; padding:0;
    display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px 18px;
  }
  .fb-links li{position:relative;}
  .fb-links li + li::before{
    content:"·"; position:absolute; left:-11px; color:rgba(43,38,32,.4);
  }
  .fb-links a{color:inherit; text-decoration:underline;}
  .fb-links a:hover{color:var(--gold-dark);}
  .fb-tm{
    margin:0; font-size:.8rem; opacity:.85; max-width:620px;
    margin-left:auto; margin-right:auto; text-wrap:balance;
  }
  @media(max-width:900px){ .footer-grid{grid-template-columns:1fr 1fr; row-gap:40px;} }
  @media(max-width:560px){ .footer-grid{grid-template-columns:1fr;} }

  /* reveal animation */
  .reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1; transform:none; transition:none;}
    html{scroll-behavior:auto;}
  }

  .story-quote{
    margin:22px 0; padding:14px 0 14px 20px; border-left:3px solid var(--gold);
    font-family:"Cormorant Garamond",serif; font-size:1.25rem; font-style:italic; color:var(--wood-deep);
  }
  .story-close{
    font-family:"Cormorant Garamond",serif; font-size:1.2rem; color:var(--wood-deep);
    font-weight:600; margin-top:26px;
  }
  ::selection{background:var(--gold-light); color:var(--wood-deep);}

  /* mobile refinements */
  @media(max-width:600px){
    body{font-size:16.5px;}
    .container{padding:0 22px;}
    .footer-top{padding:56px 0 34px;}
    .footer-grid{gap:34px;}
    .footer-bottom{padding:22px 0;}
    .fb-links{gap:8px 16px;}
    .fb-tm{font-size:.76rem; line-height:1.5;}
    .map-frame{height:170px;}
    h1{word-break:break-word;}
    .price-tag{font-size:1.7rem;}
    table, .gallery, .pricing-grid{max-width:100%;}
    section{padding:64px 0;}
    section.tight{padding:44px 0;}
    .price-card{padding:30px 22px;}
    .standard-card{padding:28px 22px;}
    form{padding:26px 22px;}
    .testi-card{padding:24px 20px;}
    .hero-buttons{flex-direction:column; align-items:stretch; width:100%;}
    .hero-buttons .btn{width:100%; justify-content:center;}
    .footer-top{padding:60px 0 40px;}
    .rules-list li{padding:14px 16px;}
    .blog-card .blog-body{padding:20px 20px;}
    .hero-dots{right:auto; left:50%; top:auto; bottom:96px; transform:translateX(-50%); flex-direction:row;}
    .cookie-inner{flex-direction:column; align-items:stretch;}
    .cookie-actions{justify-content:stretch;}
    .cookie-actions .cookie-btn{flex:1;}
    #cookieModal{padding:26px 22px;}
  }
  /* cookie consent banner */
  #cookieBanner{
    position:fixed; left:0; right:0; bottom:0; z-index:300;
    background:var(--wood-deep); color:var(--ivory);
    padding:22px 24px; box-shadow:0 -8px 30px rgba(0,0,0,.18);
    display:none;
  }
  #cookieBanner.show{display:block;}
  .cookie-inner{max-width:1100px; margin:0 auto; display:flex; align-items:center; gap:26px; flex-wrap:wrap;}
  .cookie-text{flex:1; min-width:260px; font-size:.96rem; line-height:1.55; color:rgba(244,238,224,.92);}
  .cookie-text strong{color:var(--gold-light);}
  .cookie-actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
  .cookie-btn{
    font-family:"Cormorant Garamond",serif; font-weight:600; font-size:.98rem;
    padding:.6em 1.3em; border-radius:2px; cursor:pointer; border:1px solid var(--gold); white-space:nowrap;
  }
  .cookie-btn.accept{background:var(--gold); color:var(--wood-deep); border-color:var(--gold);}
  .cookie-btn.accept:hover{background:var(--gold-light);}
  .cookie-btn.reject{background:transparent; color:var(--ivory); border-color:rgba(244,238,224,.5);}
  .cookie-btn.reject:hover{border-color:var(--gold-light); color:var(--gold-light);}
  .cookie-btn.settings{background:transparent; color:var(--gold-light); border-color:transparent; text-decoration:underline; padding:.6em .4em;}

  #cookieModalOverlay{
    position:fixed; inset:0; background:rgba(30,26,22,.55); z-index:400;
    display:none; align-items:center; justify-content:center; padding:20px;
  }
  #cookieModalOverlay.show{display:flex;}
  #cookieModal{
    background:var(--ivory); color:var(--ink); border-radius:4px; max-width:520px; width:100%;
    padding:34px 30px; box-shadow:0 30px 70px rgba(0,0,0,.3);
  }
  #cookieModal h3{margin-top:0;}
  .cookie-row{
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:14px 0; border-top:1px solid var(--line);
  }
  .cookie-row:first-of-type{border-top:none;}
  .cookie-row-label{font-family:"Cormorant Garamond",serif; font-weight:600; font-size:1.05rem; color:var(--wood-deep);}
  .cookie-row-desc{font-size:.85rem; color:#6a6355; margin-top:2px;}
  .cookie-toggle{position:relative; width:44px; height:24px; flex:none;}
  .cookie-toggle input{opacity:0; width:0; height:0;}
  .cookie-toggle .slider{
    position:absolute; inset:0; background:#d8cdb2; border-radius:24px; cursor:pointer; transition:.2s;
  }
  .cookie-toggle .slider::before{
    content:""; position:absolute; width:18px; height:18px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.2s;
  }
  .cookie-toggle input:checked + .slider{background:var(--gold);}
  .cookie-toggle input:checked + .slider::before{transform:translateX(20px);}
  .cookie-toggle input:disabled + .slider{opacity:.6; cursor:not-allowed;}
  #cookieModal .btn{margin-top:22px; width:100%; justify-content:center;}

  /* ===== 2026: wspólne elementy podstron ===== */
  .skip-link{position:absolute; left:-9999px; top:0; background:var(--gold); color:#fff; padding:10px 16px; z-index:500;}
  .skip-link:focus{left:12px; top:12px;}
  nav.main-nav{gap:22px;}
  nav.main-nav a[aria-current="page"]::after{width:100%;}
  @media(max-width:1180px){
    nav.main-nav{
      position:fixed; inset:0 0 0 auto; height:100vh; width:min(80vw,340px);
      background:var(--ivory); flex-direction:column; justify-content:center;
      align-items:flex-start; padding:40px; gap:22px; transform:translateX(100%);
      transition:transform .35s ease; box-shadow:-10px 0 30px rgba(107,74,48,.12);
    }
    nav.main-nav a{ color:var(--wood-deep) !important; font-size:1.1rem; }
    nav.main-nav.open{transform:translateX(0);}
    .menu-toggle{display:block;}
    .phone-link{display:none !important;}
  }

  /* hero: zdjęcia jako <img> (srcset, lazy) */
  .hero-slide img{width:100%; height:100%; object-fit:cover; object-position:center 45%;}

  /* nagłówek podstrony */
  .page-hero{
    position:relative; min-height:58vh; display:flex; align-items:flex-end; color:var(--ivory);
    padding:150px 0 64px; overflow:hidden;
  }
  .page-hero > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
  .page-hero::after{
    content:""; position:absolute; inset:0; z-index:1;
    background:linear-gradient(180deg, rgba(30,26,22,.55) 0%, rgba(30,26,22,.15) 40%, rgba(30,26,22,.7) 100%);
  }
  .page-hero .container{position:relative; z-index:2; width:100%;}
  .page-hero h1{color:var(--ivory); font-size:clamp(2.3rem,5vw,3.8rem); text-shadow:0 2px 14px rgba(20,16,12,.6); max-width:900px;}
  .page-hero .lead{font-size:clamp(1.05rem,2vw,1.3rem); max-width:700px; color:rgba(255,255,255,.92); text-shadow:0 1px 8px rgba(20,16,12,.7); margin:0;}
  .breadcrumbs{font-size:.88rem; letter-spacing:.04em; margin-bottom:14px; color:var(--gold-light);}
  .breadcrumbs a{color:var(--gold-light); text-decoration:none;}
  .breadcrumbs a:hover{text-decoration:underline;}
  .breadcrumbs span[aria-hidden]{margin:0 8px; opacity:.7;}

  /* standard: 6 kart */
  .standard-grid{gap:34px;}
  @media(min-width:861px) and (max-width:1060px){ .standard-grid{grid-template-columns:repeat(2,1fr);} }

  /* cennik: 3 karty (Kocia Rezydencja ukryta) */
  @media(min-width:1100px){ .pricing-grid{grid-template-columns:repeat(3,1fr);} }

  /* skrót oferty na stronie głównej */
  .teaser-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .teaser-card{position:relative; display:block; border-radius:3px; overflow:hidden; aspect-ratio:4/5; text-decoration:none; color:var(--ivory); box-shadow:var(--shadow);}
  .teaser-card img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
  .teaser-card:hover img{transform:scale(1.05);}
  .teaser-card .tc-body{position:absolute; left:0; right:0; bottom:0; padding:26px 24px 22px; background:linear-gradient(0deg, rgba(30,26,22,.88), transparent);}
  .teaser-card h3{color:var(--ivory); margin:0 0 4px;}
  .teaser-card p{margin:0; font-size:.98rem; color:rgba(255,255,255,.88);}
  .teaser-card .tc-more{display:inline-block; margin-top:10px; color:var(--gold-light); font-family:"Cormorant Garamond",serif; font-weight:600;}
  @media(max-width:860px){ .teaser-grid{grid-template-columns:1fr; max-width:460px; margin:0 auto;} .teaser-card{aspect-ratio:4/3;} }

  /* pokoje */
  .room-type{display:grid; grid-template-columns:1fr 1.15fr; gap:60px; align-items:center;}
  .room-type + .room-type{margin-top:110px;}
  .room-type.flip .room-text{order:2;}
  .room-price{font-family:"Cormorant Garamond",serif; font-size:1.7rem; color:var(--wood-deep); font-weight:600; margin:4px 0 16px;}
  .room-price small{font-family:"EB Garamond",serif; font-size:.95rem; font-weight:400; color:#4a4437;}
  .room-features{list-style:none; padding:0; margin:0 0 26px;}
  .room-features li{padding:8px 0 8px 28px; border-top:1px solid var(--line); position:relative;}
  .room-features li:first-child{border-top:none;}
  .room-features li::before{content:"✓"; position:absolute; left:2px; color:var(--gold);}
  .room-photos{display:grid; grid-template-columns:repeat(2,1fr); gap:12px;}
  .room-photos figure{margin:0; border-radius:3px; overflow:hidden; aspect-ratio:3/4; background:var(--cream);}
  .room-photos figure.wide{grid-column:span 2; aspect-ratio:16/9;}
  .room-photos img{width:100%; height:100%; object-fit:cover;}
  @media(max-width:900px){ .room-type{grid-template-columns:1fr; gap:30px;} .room-type.flip .room-text{order:0;} .room-type + .room-type{margin-top:70px;} }

  .video-block{display:grid; grid-template-columns:1.2fr .8fr; gap:60px; align-items:center;}
  .video-frame{max-width:380px; margin:0 auto; border-radius:6px; overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line); background:#1e1a16;}
  .video-frame video{display:block; width:100%; height:auto; aspect-ratio:9/16; object-fit:cover;}
  @media(max-width:860px){ .video-block{grid-template-columns:1fr; gap:34px;} }

  .vip-box{background:var(--cream); border:1px solid var(--line); border-radius:3px; padding:46px; display:grid; grid-template-columns:auto 1fr; gap:34px; align-items:center;}
  .vip-box svg{width:56px; height:56px; color:var(--gold-dark);}
  @media(max-width:700px){ .vip-box{grid-template-columns:1fr; padding:30px 24px;} }
  .cta-row{display:flex; gap:16px; flex-wrap:wrap; justify-content:center; margin-top:40px;}

  /* galeria: przewijana, duże zdjęcia */
  .gal{position:relative; background:var(--wood-deep); border-radius:4px; overflow:hidden; box-shadow:var(--shadow);}
  .gal-track{
    display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
    scrollbar-width:none; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain;
  }
  .gal-track::-webkit-scrollbar{display:none;}
  .gal-slide{flex:0 0 100%; scroll-snap-align:center; margin:0; position:relative; height:min(78vh,860px); display:flex; align-items:center; justify-content:center;}
  .gal-slide img{width:100%; height:100%; object-fit:contain;}
  .gal-slide figcaption{
    position:absolute; left:0; right:0; bottom:0; padding:40px 24px 18px; text-align:center;
    background:linear-gradient(0deg, rgba(20,16,12,.75), transparent);
    color:var(--ivory); font-family:"Cormorant Garamond",serif; font-size:1.2rem; letter-spacing:.02em;
  }
  .gal-btn{
    position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:52px; height:52px; border-radius:50%;
    border:1px solid rgba(255,255,255,.6); background:rgba(30,26,22,.45); color:#fff; font-size:1.7rem; line-height:1;
    cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s ease;
  }
  .gal-btn:hover, .gal-btn:focus-visible{background:var(--gold);}
  .gal-prev{left:16px;} .gal-next{right:16px;}
  .gal-count{position:absolute; top:14px; right:18px; z-index:3; color:#fff; font-size:.95rem; letter-spacing:.08em; background:rgba(30,26,22,.45); padding:4px 12px; border-radius:20px;}
  .gal-thumbs{display:flex; gap:10px; overflow-x:auto; padding:14px 2px 6px; scroll-behavior:smooth; scrollbar-width:thin;}
  .gal-thumbs button{flex:0 0 auto; width:96px; height:72px; padding:0; border:2px solid transparent; border-radius:3px; overflow:hidden; cursor:pointer; background:var(--cream); opacity:.7; transition:opacity .2s ease, border-color .2s ease;}
  .gal-thumbs button img{width:100%; height:100%; object-fit:cover;}
  .gal-thumbs button[aria-current="true"], .gal-thumbs button:hover{opacity:1; border-color:var(--gold);}
  @media(max-width:600px){ .gal-slide{height:72vh;} .gal-btn{width:42px; height:42px; font-size:1.4rem;} .gal-prev{left:8px;} .gal-next{right:8px;} .gal-thumbs button{width:72px; height:56px;} }

  /* blog */
  .blog-grid{row-gap:34px;}
  .blog-card{display:flex; flex-direction:column;}
  .blog-card .blog-body{flex:1; display:flex; flex-direction:column;}
  .blog-card h3 a{text-decoration:none; color:inherit;}
  .blog-card h3 a:hover{color:var(--gold-dark);}
  .blog-more{margin-top:auto; color:var(--gold-dark); font-family:"Cormorant Garamond",serif; font-weight:600; text-decoration:none; font-size:1.05rem;}
  .blog-more:hover{text-decoration:underline;}
  .blog-sub{text-align:center; margin:80px auto 34px;}

  .article{max-width:780px; margin:0 auto;}
  .article p, .article li{font-size:1.08rem;}
  .article h2{margin-top:1.6em; font-size:clamp(1.6rem,3.2vw,2.1rem);}
  .article h3{margin-top:1.3em;}
  .article ul, .article ol{padding-left:1.3em; margin:0 0 1.2em;}
  .article li{margin-bottom:.4em;}
  .article figure{margin:2em 0; border-radius:3px; overflow:hidden;}
  .article figure img{width:100%;}
  .article figcaption{font-size:.9rem; color:#5f5847; padding-top:8px; font-style:italic;}
  .article a{color:var(--gold-dark); font-weight:500;}
  .article .meta{color:#6b6353; font-size:.95rem; margin-bottom:2em;}
  .article table{width:100%; border-collapse:collapse; margin:1.2em 0 1.6em; font-size:1rem;}
  .article th, .article td{border-bottom:1px solid var(--line); padding:10px 8px; text-align:left; vertical-align:top;}
  .article th{font-family:"Cormorant Garamond",serif; color:var(--wood-deep); font-size:1.05rem;}
  .table-wrap{overflow-x:auto;}
  .cta-box{background:var(--cream); border:1px solid var(--line); border-left:4px solid var(--gold); padding:30px 32px; margin:2.4em 0; border-radius:3px;}
  .cta-box h3{margin-top:0;}
  .cta-box .btn{margin-top:8px;}
  .related{border-top:1px solid var(--line); margin-top:3em; padding-top:2em;}
  .related ul{list-style:none; padding:0;}
  .related li{margin-bottom:.6em;}

  .about-page{padding-top:90px;}

  /* nagłówek: szerszy kontener i brak łamania pozycji menu */
  header .container.nav-wrap{max-width:1380px;}
  nav.main-nav a, .brand-text, .phone-link, .nav-cta .btn{white-space:nowrap;}
  @media(min-width:1181px){ nav.main-nav{gap:20px;} nav.main-nav a{font-size:.98rem;} }
  .hero-inner::before{background:radial-gradient(ellipse at center, rgba(30,26,22,.6) 0%, rgba(30,26,22,.34) 55%, transparent 78%);}
  .hero-tm{text-shadow:0 1px 3px rgba(20,16,12,.95), 0 2px 12px rgba(20,16,12,.9);}
  @media(max-width:480px){
    .brand img{height:36px;} .brand{gap:8px;}
    .brand-text{font-size:1.02rem;}
    .nav-cta{gap:8px;}
    .nav-cta .btn{padding:.5em .85em !important; font-size:.88rem !important;}
  }
  /* logo w stopce: zachowanie proporcji (atrybut width nie może rozciągać obrazu) */
  .footer-brand img{width:auto; height:44px;}
  .brand img, .hero-crest{height:auto;}
  .brand img{height:46px; width:auto;}
  header.scrolled .brand img{height:38px;}
  @media(max-width:480px){ .brand img{height:36px;} }

  /* ===== poprawki 2026-10 ===== */
  /* czytelność menu i tekstu na zdjęciu w hero */
  header:not(.scrolled){background:linear-gradient(180deg, rgba(20,16,12,.55) 0%, rgba(20,16,12,0) 100%);}
  .hero::before{
    content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(180deg, rgba(20,16,12,.35) 0%, rgba(20,16,12,.15) 35%, rgba(20,16,12,.45) 100%);
  }
  .hero-inner::before{background:radial-gradient(ellipse at center, rgba(30,26,22,.62) 0%, rgba(30,26,22,.36) 55%, transparent 80%);}
  .hero h1 .h1-sub{
    display:block; margin-top:.35em; font-family:"Cormorant Garamond",serif; font-weight:600;
    font-size:clamp(.78rem,1.6vw,.95rem); letter-spacing:.28em; text-transform:uppercase; color:var(--gold-light);
    text-shadow:0 2px 8px rgba(20,16,12,.9);
  }
  .hero-facts{
    list-style:none; padding:0; margin:-.6em 0 1.8em; display:flex; flex-wrap:wrap; justify-content:center; gap:8px 10px;
  }
  .hero-facts li{
    font-family:"Cormorant Garamond",serif; font-weight:600; font-size:1rem; color:var(--ivory);
    padding:.3em .9em; border:1px solid rgba(217,184,118,.6); border-radius:999px; background:rgba(20,16,12,.38);
  }

  /* opinie — link do Google */
  .testi-more{text-align:center; margin-top:32px;}

  /* formularz — pole-pułapka na spam */
  .hp-field{position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0;}

  /* mapa ładowana po kliknięciu */
  .map-lazy{position:relative; background:#efe7d6;}
  .map-load{
    width:100%; height:100%; border:0; cursor:pointer; background:transparent; color:var(--wood-deep);
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
    font-family:"Cormorant Garamond",serif; font-size:1.1rem; font-weight:600; padding:12px;
  }
  .map-load small{font-family:"EB Garamond",serif; font-weight:400; font-size:.8rem; color:#6b5f4c; text-align:center;}
  .map-load:hover span:last-of-type{text-decoration:underline;}
  .map-pin{font-size:1.5rem;}

  /* przyklejony pasek kontaktu na telefonie */
  .mobile-cta{display:none;}
  @media(max-width:760px){
    .mobile-cta{
      display:grid; grid-template-columns:1fr 1fr; position:fixed; left:0; right:0; bottom:0; z-index:200;
      box-shadow:0 -6px 20px rgba(20,16,12,.18); padding-bottom:env(safe-area-inset-bottom); background:var(--wood-deep);
    }
    .mobile-cta a{
      display:flex; align-items:center; justify-content:center; min-height:54px; text-decoration:none;
      font-family:"Cormorant Garamond",serif; font-weight:700; font-size:1.1rem; letter-spacing:.04em;
    }
    .mc-call{color:var(--ivory);}
    .mc-book{background:var(--gold); color:var(--ivory);}
    body{padding-bottom:54px;}
    .scroll-cue{display:none;}
  }
  /* stopka na telefonie — odstęp od krawędzi ekranu */
  @media(max-width:600px){ .footer-top{padding-left:22px; padding-right:22px;} }

  /* ===== nowa wersja strony — październik 2026 ===== */
  .hero-slide picture{display:block; width:100%; height:100%;}

  /* pasek liczb pod hero */
  .stats{background:var(--cream); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .stats-grid{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
  .stat{display:flex; flex-direction:column; align-items:center; gap:6px; padding:6px 8px;}
  .stat + .stat{border-left:1px solid var(--line);}
  .stat strong{font-family:"Cormorant Garamond",serif; font-weight:700; font-size:clamp(2.2rem,4.2vw,3.2rem); line-height:1; color:var(--gold-dark); letter-spacing:.01em;}
  .stat span{font-family:"Cormorant Garamond",serif; font-size:1.05rem; color:var(--ink); line-height:1.3; max-width:16ch;}
  .stat-main strong{color:var(--wood-deep);}
  @media(max-width:760px){
    .stats-grid{grid-template-columns:repeat(2,1fr); row-gap:26px;}
    .stat + .stat{border-left:none;}
    .stat:nth-child(even){border-left:1px solid var(--line);}
  }

  /* Nasz standard — 8 kafelków: 4 + 4 */
  .standard-grid.standard-grid-8{grid-template-columns:repeat(4,1fr); gap:26px;}
  .standard-grid-8 .standard-card{padding:32px 24px; display:flex; flex-direction:column;}
  .standard-grid-8 .standard-card h3{font-size:1.3rem;}
  .standard-grid-8 .standard-card p{font-size:.98rem; margin-bottom:0;}
  @media(max-width:1100px){ .standard-grid.standard-grid-8{grid-template-columns:repeat(2,1fr);} }
  @media(max-width:640px){ .standard-grid.standard-grid-8{grid-template-columns:1fr;} }

  /* opinie — ocena Google */
  .g-rating{margin:10px 0 0;}
  .g-rating a{display:inline-flex; align-items:center; gap:8px; text-decoration:none; color:var(--wood-deep); font-family:"Cormorant Garamond",serif; font-size:1.2rem;}
  .g-stars{color:#e3a72f; letter-spacing:2px; font-size:1.1rem;}
  .g-rating a:hover strong{text-decoration:underline;}
  .testi-src{color:#7a6f5b; font-style:italic; font-weight:400;}

  /* social media */
  .social-links{list-style:none; padding:0; margin:14px 0 0; display:flex; gap:10px; flex-wrap:wrap;}
  .footer-col ul.social-links{display:flex; gap:10px;}
  .social-links a{display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; border:1px solid rgba(143,106,44,.45); color:var(--wood-deep); transition:background .2s ease, color .2s ease;}
  .social-links a:hover, .social-links a:focus-visible{background:var(--gold); border-color:var(--gold); color:var(--ivory);}
  .social-links svg{width:20px; height:20px;}
  .reserve-social{margin-top:26px;}
  .reserve-social p{margin:0;}

  /* apartament Grand — zdjęcia: duże + 3 w rzędzie */
  .room-photos.room-photos-grand{grid-template-columns:repeat(3,1fr);}
  .room-photos-grand figure.wide{grid-column:span 3;}

  /* WhatsApp */
  .wa-float{
    position:fixed; right:20px; bottom:20px; z-index:250; width:58px; height:58px; border-radius:50%;
    background:#25d366; color:#fff; display:flex; align-items:center; justify-content:center;
    box-shadow:0 6px 20px rgba(0,0,0,.25); transition:transform .2s ease, box-shadow .2s ease;
  }
  .wa-float:hover, .wa-float:focus-visible{transform:scale(1.07); box-shadow:0 8px 26px rgba(0,0,0,.3);}
  .wa-float svg{width:32px; height:32px;}
  @media(max-width:760px){ .wa-float{bottom:calc(66px + env(safe-area-inset-bottom)); right:14px; width:54px; height:54px;} }
  @media print{ .wa-float, .mobile-cta{display:none !important;} }
  .stat span{max-width:22ch;}
  @media(min-width:901px){ .pricing-grid .price-card h3{min-height:2.7em;} }
  .footer-col ul.social-links{margin-top:16px;}
