/* ============================================================
   RANCZO KUFLANDIA — Shared Stylesheet
   Edit: colours in :root, fonts in @import
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;600;700;800&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --deep:#1e2e1a;
  --forest:#2d4a28;
  --moss:#4a7a42;
  --sage:#7aaa6e;
  --mint:#b2d4ac;
  --honey:#b8781a;
  --honey-l:#d4952a;
  --cream:#faf6ee;
  --warm:#f2ead8;
  --linen:#e6dcc8;
  --stone:#9a9280;
  --ink:#1e221a;
  --body:#4a4a3c;
  --muted:#7a7868;
  --white:#ffffff;
  --nav-h:66px;
  --r:6px;
}

html{scroll-behavior:smooth}
body{font-family:'Nunito',sans-serif;background:var(--cream);color:var(--body);font-size:16px;line-height:1.75;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
strong{font-weight:700}

/* ── TYPOGRAPHY ── */
h1,h2,h3,h4{font-weight:800;line-height:1.1;color:var(--forest)}
.kicker{font-size:0.7rem;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--moss);display:flex;align-items:center;gap:0.75rem;margin-bottom:0.6rem}
.kicker::before{content:'';width:18px;height:1px;background:var(--moss)}
.rule{width:36px;height:2px;background:var(--honey);margin-bottom:2rem;border-radius:2px}
.lead{font-size:1.05rem;color:var(--muted);line-height:1.9;margin-bottom:1.1rem;font-weight:400}

/* ── LAYOUT ── */
.wrap{max-width:1100px;margin:0 auto;padding:0 1.5rem}
section{padding:6rem 1.5rem}
.page-hero{padding:9rem 1.5rem 5rem;background:var(--forest);text-align:center;color:var(--white);position:relative;overflow:hidden}
.page-hero h1{font-size:clamp(2rem,5vw,3.5rem);color:var(--white);margin-bottom:0.75rem}
.page-hero p{font-size:1rem;color:rgba(255,255,255,0.6);max-width:520px;margin:0 auto;font-weight:300}
.page-hero::after{content:none}

/* ── BUTTONS ── */
.btn{display:inline-block;font-family:'Nunito',sans-serif;font-size:0.76rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;padding:0.9rem 2.2rem;border-radius:var(--r);cursor:pointer;border:none;transition:all 0.25s;text-align:center}
.btn-honey{background:var(--honey);color:var(--white)}
.btn-honey:hover{background:var(--honey-l)}
.btn-forest{background:var(--forest);color:var(--white)}
.btn-forest:hover{background:var(--moss)}
.btn-outline{background:transparent;color:var(--forest);border:1.5px solid var(--forest)}
.btn-outline:hover{background:var(--forest);color:var(--white)}
.btn-outline-w{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,0.3)}
.btn-outline-w:hover{border-color:var(--white);background:rgba(255,255,255,0.08)}

/* ── NAV ── */
#main-nav{position:fixed;top:0;left:0;right:0;z-index:500;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 1.75rem;background:rgba(30,46,26,0.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 20px rgba(0,0,0,0.2)}

.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo-words{display:flex;flex-direction:column}
.logo-top{font-size:0.62rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--mint);line-height:1}
.logo-bottom{font-size:1rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--white);line-height:1.25}

.nav-links{display:flex;list-style:none;gap:1.5rem;align-items:center;flex-wrap:nowrap;white-space:nowrap;overflow:visible;position:absolute;left:50%;transform:translateX(-50%)}
.nav-links a{font-size:0.72rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.55);transition:color 0.2s}
.nav-links a:hover,.nav-links li.current-menu-item a,.nav-links li.current_page_item a{color:var(--honey-l)}
.nav-links .cta-nav{color:var(--white)!important;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);padding:0.45rem 1.2rem;border-radius:var(--r);transition:background 0.2s,border-color 0.2s!important}
.nav-links .cta-nav:hover{background:rgba(255,255,255,0.18)!important;border-color:rgba(255,255,255,0.4)}

/* Lang switch */
.lang-sw{display:flex;align-items:center;gap:2px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.16);border-radius:100px;padding:3px}
.lang-btn{font-size:0.62rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.28rem 0.65rem;border-radius:100px;cursor:pointer;border:none;background:transparent;color:rgba(255,255,255,0.45);transition:all 0.2s}
.lang-btn.active{background:rgba(255,255,255,0.18);color:var(--white)}

.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.hamburger span{display:block;width:22px;height:1.5px;background:rgba(255,255,255,0.65);transition:all 0.3s}
.mob-menu{display:none;position:fixed;inset:0;top:var(--nav-h);z-index:490;background:var(--deep);flex-direction:column;align-items:center;justify-content:center;gap:2rem}
.mob-menu.open{display:flex}
.mob-menu a{font-size:1.2rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:rgba(255,255,255,0.85);transition:color 0.2s}
.mob-menu a:hover{color:var(--honey-l)}
.mob-menu .lang-sw{margin-top:1rem}

/* ── FOOTER ── */
footer{background:var(--deep);padding:4rem 1.5rem;text-align:center}
.ft-logo-name{font-size:1.5rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--white)}
.ft-logo-sub{font-size:0.62rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--honey-l);margin-top:3px}
.ft-divider{width:36px;height:1px;background:rgba(255,255,255,0.12);margin:1.5rem auto}
.ft-links{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}
.ft-links a{font-size:0.72rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.4);transition:color 0.2s}
.ft-links a:hover{color:var(--honey-l)}
.ft-copy{font-size:0.72rem;color:rgba(255,255,255,0.22);margin-top:0.5rem}
.ft-booking{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}
.ft-booking a{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.5rem 1.2rem;border-radius:var(--r);color:var(--white);transition:opacity 0.2s}
.ft-booking a:hover{opacity:0.8}
.ft-bk{background:#003580}
.ft-ac{background:var(--moss)}

/* ── STATS BAR ── */
.stats-bar{background:var(--forest);display:flex;flex-wrap:wrap}
.stat{flex:1;min-width:120px;padding:1.6rem 1rem;text-align:center;border-right:1px solid rgba(255,255,255,0.08)}
.stat:last-child{border-right:none}
.stat-n{font-size:1.8rem;font-weight:800;color:var(--honey-l);display:block;line-height:1;margin-bottom:4px}
.stat-l{font-size:0.65rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.4)}

/* ── WAVE ── */
.wave{display:block;width:100%;overflow:hidden;line-height:0;margin-top:-1px}

/* ── CARDS ── */
.card{background:var(--white);border:1px solid var(--linen);border-radius:10px;overflow:hidden;transition:transform 0.25s,box-shadow 0.25s}
.card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(30,46,26,0.1)}

/* ── PRICING ── */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.pc{background:var(--white);border:1px solid var(--linen);border-radius:10px;padding:2.2rem 1.8rem;position:relative;transition:transform 0.25s,box-shadow 0.25s}
.pc:hover{transform:translateY(-5px);box-shadow:0 14px 40px rgba(30,46,26,0.1)}
.pc.featured{background:var(--forest);border-color:var(--forest)}
.pc-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--honey);color:var(--white);font-size:0.6rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;padding:0.28rem 0.9rem;border-radius:100px;white-space:nowrap}
.pc-season{font-size:0.65rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--sage);margin-bottom:0.3rem}
.pc.featured .pc-season{color:var(--mint)}
.pc-name{font-size:1.4rem;font-weight:800;color:var(--forest);margin-bottom:0.2rem}
.pc.featured .pc-name{color:var(--white)}
.pc-dates{font-size:0.8rem;color:var(--stone);margin-bottom:1.5rem}
.pc.featured .pc-dates{color:rgba(255,255,255,0.4)}
.pc-price{font-size:3rem;font-weight:800;color:var(--forest);line-height:1;letter-spacing:-0.02em}
.pc.featured .pc-price{color:var(--honey-l)}
.pc-price sub{font-size:1rem;font-weight:400;letter-spacing:0;opacity:0.65}
.pc-per{font-size:0.75rem;color:var(--stone);display:block;margin:0.3rem 0 1.5rem}
.pc.featured .pc-per{color:rgba(255,255,255,0.35)}
.pc-list{list-style:none;border-top:1px solid var(--linen);padding-top:1.25rem}
.pc.featured .pc-list{border-color:rgba(255,255,255,0.12)}
.pc-list li{font-size:0.84rem;color:var(--muted);padding:0.3rem 0;display:flex;align-items:center;gap:0.65rem}
.pc.featured .pc-list li{color:rgba(255,255,255,0.6)}
.pc-list li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--sage);flex-shrink:0}
.pc.featured .pc-list li::before{background:var(--mint)}
.price-note{margin-top:2rem;display:flex;gap:1rem;align-items:flex-start;padding:1.4rem 1.5rem;background:rgba(74,122,66,0.07);border-left:3px solid var(--sage);border-radius:0 var(--r) var(--r) 0;font-size:0.84rem;color:var(--muted)}

/* ── CONTACT FORM ── */
.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:4.5rem;align-items:start}
.ci{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.75rem}
.ci-icon{width:40px;height:40px;border-radius:8px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.ci strong{display:block;font-size:0.68rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--mint);margin-bottom:0.25rem}
.ci span,.ci a{font-size:0.88rem;color:rgba(255,255,255,0.45);font-weight:300}
.ci a:hover{color:var(--honey-l)}
.host-card{display:flex;align-items:center;gap:1rem;margin-top:2rem;padding:1.25rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);border-radius:8px}
.host-av{width:48px;height:48px;border-radius:50%;background:var(--moss);font-size:1rem;font-weight:800;color:white;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.host-name{font-weight:700;color:rgba(255,255,255,0.8);font-size:0.9rem}
.host-q{font-size:0.78rem;color:rgba(255,255,255,0.35);margin-top:0.2rem}
.form-card{background:var(--cream);border-radius:10px;padding:2.5rem}
.form-card h3{font-size:1.4rem;font-weight:800;color:var(--forest);margin-bottom:1.75rem}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fg{margin-bottom:1.1rem}
.fg label{display:block;font-size:0.68rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--moss);margin-bottom:0.4rem}
.fg input,.fg select,.fg textarea{width:100%;padding:0.78rem 1rem;border:1.5px solid var(--linen);border-radius:5px;font-family:'Nunito',sans-serif;font-size:0.9rem;color:var(--ink);background:var(--warm);outline:none;transition:border-color 0.2s,background 0.2s;-webkit-appearance:none;appearance:none}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--sage);background:var(--white)}
.fg textarea{resize:vertical;min-height:110px}
.fg select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239a9280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}
.form-submit{width:100%;padding:0.95rem;background:var(--forest);color:white;border:none;border-radius:5px;font-family:'Nunito',sans-serif;font-size:0.76rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;transition:background 0.2s;margin-top:0.5rem}
.form-submit:hover{background:var(--moss)}
.form-ok{display:none;text-align:center;padding:3rem 0}
.form-ok-ic{width:54px;height:54px;border-radius:50%;background:rgba(74,122,66,0.12);color:var(--moss);font-size:1.4rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.form-ok h4{font-size:1.3rem;font-weight:800;color:var(--forest);margin-bottom:0.4rem}

/* ── GALLERY ── */
.gal-filter{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:2rem}
.gal-filter button{font-family:'Nunito',sans-serif;font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.45rem 1.1rem;border-radius:100px;cursor:pointer;border:1.5px solid var(--linen);background:transparent;color:var(--muted);transition:all 0.2s}
.gal-filter button.active,.gal-filter button:hover{background:var(--forest);color:var(--white);border-color:var(--forest)}
.gal-grid-full{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gal-item{overflow:hidden;border-radius:8px;cursor:pointer;aspect-ratio:4/3;position:relative;background:var(--linen)}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease}
.gal-item:hover img{transform:scale(1.06)}
.gal-item::after{content:'';position:absolute;inset:0;background:rgba(30,46,26,0);transition:background 0.3s}
.gal-item:hover::after{background:rgba(30,46,26,0.25)}
.gal-item.hidden{display:none}

/* Lightbox */
.lb{display:none;position:fixed;inset:0;z-index:900;background:rgba(10,16,8,0.96);align-items:center;justify-content:center;padding:2rem}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:6px}
.lb-x{position:absolute;top:1.5rem;right:2rem;color:rgba(255,255,255,0.5);font-size:2rem;cursor:pointer;background:none;border:none;transition:color 0.2s;line-height:1}
.lb-x:hover{color:white}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:white;font-size:1.5rem;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s}
.lb-prev{left:1.5rem}
.lb-next{right:1.5rem}
.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,0.2)}

/* ── ANIMALS ── */
.animal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.animal-card{background:var(--white);border:1px solid var(--linen);border-radius:10px;overflow:hidden;cursor:pointer;transition:transform 0.25s,box-shadow 0.25s}
.animal-card:hover{transform:translateY(-5px);box-shadow:0 14px 40px rgba(30,46,26,0.1)}
.animal-card img{width:100%;height:220px;object-fit:cover}
.animal-card-body{padding:1.25rem 1.5rem}
.animal-card-body h3{font-size:1.1rem;font-weight:800;color:var(--forest);margin-bottom:0.2rem}
.animal-card-body .animal-type{font-size:0.68rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--sage);margin-bottom:0.5rem}
.animal-card-body p{font-size:0.85rem;color:var(--muted);line-height:1.7}

/* Animal modal */
.animal-modal-wrap{display:none;position:fixed;inset:0;z-index:900;background:rgba(10,16,8,0.92);align-items:center;justify-content:center;padding:1.5rem}
.animal-modal-wrap.open{display:flex}
.animal-modal{background:var(--cream);border-radius:12px;max-width:640px;width:100%;overflow:hidden;position:relative;max-height:90vh;overflow-y:auto}
.animal-modal img{width:100%;height:280px;object-fit:cover}
.animal-modal-body{padding:2rem}
.animal-modal-body h2{font-size:1.6rem;color:var(--forest);margin-bottom:0.25rem}
.animal-modal-body .animal-type{font-size:0.68rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--sage);margin-bottom:1rem}
.animal-modal-body p{font-size:0.95rem;color:var(--muted);line-height:1.85}
.modal-close{position:absolute;top:1rem;right:1rem;background:rgba(0,0,0,0.4);color:white;border:none;border-radius:50%;width:36px;height:36px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s}
.modal-close:hover{background:rgba(0,0,0,0.6)}

/* ── HOME HERO ── */
.home-hero{min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;background:var(--deep)}
.h-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;z-index:0;transform:scale(1.04);transition:transform 8s ease}
.home-hero.loaded .h-photo{transform:scale(1)}
.h-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(20,30,16,0.45) 0%,rgba(20,30,16,0.1) 40%,rgba(20,30,16,0.55) 75%,rgba(20,30,16,0.9) 100%)}
.h-trees{position:absolute;bottom:0;left:0;width:100%;pointer-events:none;z-index:2}
.h-content{position:relative;z-index:3;text-align:center;padding:80px 1.5rem 130px;max-width:800px}
.h-tag{display:inline-flex;align-items:center;gap:1rem;font-size:0.68rem;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--mint);opacity:1;margin-bottom:2rem}
.h-tag::before,.h-tag::after{content:'';width:28px;height:1px;background:var(--sage);opacity:0.5}
.h-title{line-height:1;margin-bottom:1.8rem}
.h-label{display:block;font-weight:300;font-size:clamp(0.95rem,2.5vw,1.6rem);letter-spacing:0.38em;text-transform:uppercase;color:rgba(255,255,255,0.85);margin-bottom:0.15em;padding-left:0.38em}
.h-main{display:block;font-weight:800;font-size:clamp(3.8rem,10vw,8.5rem);color:var(--white);line-height:0.9;text-transform:uppercase}
.h-loc{font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.65);margin-bottom:2rem;display:flex;align-items:center;justify-content:center;gap:0.8rem}
.h-loc::before,.h-loc::after{content:'';width:18px;height:1px;background:rgba(255,255,255,0.18)}
.h-desc{font-size:1rem;font-weight:300;color:rgba(255,255,255,0.8);max-width:480px;margin:0 auto 2.5rem;line-height:1.9}
.h-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.h-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;color:rgba(255,255,255,0.2);font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;animation:bob 2.8s ease-in-out infinite}
.h-scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,0.2))}
@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}

/* ── HOME SECTIONS ── */
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.5rem}
.feature{background:var(--white);border:1px solid var(--linen);border-radius:10px;padding:1.75rem 1.5rem;text-align:center}
.feature-icon{font-size:2rem;margin-bottom:0.75rem;display:block}
.feature h3{font-size:1rem;font-weight:800;color:var(--forest);margin-bottom:0.4rem}
.feature p{font-size:0.84rem;color:var(--muted);line-height:1.7}

.about-teaser{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-teaser img{border-radius:10px;width:100%;height:380px;object-fit:cover}

.gallery-teaser{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:2rem}
.gallery-teaser-item{aspect-ratio:1;border-radius:8px;overflow:hidden}
.gallery-teaser-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}
.gallery-teaser-item:hover img{transform:scale(1.07)}

.animals-teaser{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2rem}
.animal-teaser-card{background:var(--white);border:1px solid var(--linen);border-radius:10px;overflow:hidden;text-align:center;padding-bottom:1rem}
.animal-teaser-card img{width:100%;height:160px;object-fit:cover}
.animal-teaser-card h4{font-size:0.9rem;font-weight:800;color:var(--forest);margin:0.75rem 0 0.2rem;padding:0 1rem}
.animal-teaser-card span{font-size:0.72rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--sage)}

.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.review{background:var(--white);border:1px solid var(--linen);border-radius:10px;padding:1.75rem}
.review-stars{color:var(--honey);font-size:0.9rem;margin-bottom:0.75rem}
.review p{font-size:0.9rem;color:var(--muted);line-height:1.8;margin-bottom:1rem}
.review-author{font-size:0.78rem;font-weight:700;color:var(--forest)}

.cta-strip{background:var(--forest);padding:5rem 1.5rem;text-align:center}
.cta-strip h2{font-size:clamp(1.8rem,4vw,2.8rem);color:var(--white);margin-bottom:0.75rem}
.cta-strip p{color:rgba(255,255,255,0.55);margin-bottom:2rem;font-weight:300}
.cta-strip .btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ── MAP ── */
.map-wrap{border-radius:10px;overflow:hidden;height:480px;background:var(--linen)}
.map-wrap iframe{width:100%;height:100%;border:none}
.map-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:3rem}
.map-info-item h4{font-size:0.8rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--moss);margin-bottom:0.4rem}
.map-info-item p{font-size:0.9rem;color:var(--muted);line-height:1.8}

/* ── ATTRACTIONS ── */
.attract-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.attract{background:var(--white);border:1px solid var(--linen);border-radius:8px;padding:1.25rem 1.5rem;display:flex;gap:1rem;align-items:flex-start}
.attract-icon{font-size:1.4rem;flex-shrink:0;margin-top:2px}
.attract h4{font-size:0.9rem;font-weight:800;color:var(--forest);margin-bottom:0.2rem}
.attract p{font-size:0.8rem;color:var(--muted);line-height:1.65}

/* ── RESPONSIVE ── */
@media(min-width:1101px){
  .nav-links{display:flex!important}
  .hamburger{display:none!important}
}
@media(max-width:1024px){
  .features-grid{grid-template-columns:repeat(2,1fr)}
  .animals-teaser{grid-template-columns:repeat(2,1fr)}
  .reviews-grid{grid-template-columns:1fr 1fr}
  .attract-grid{grid-template-columns:1fr 1fr}
  #main-nav{padding:0 1.25rem}
}
@media(max-width:1100px){
  .nav-links{display:none!important}
  .hamburger{display:flex!important}
  .about-teaser{grid-template-columns:1fr;gap:2rem}
  .about-teaser img{height:260px}
  .price-grid{grid-template-columns:1fr;max-width:380px;margin-inline:auto}
  .contact-grid{grid-template-columns:1fr;gap:2.5rem}
  .frow{grid-template-columns:1fr}
  .animal-grid{grid-template-columns:repeat(2,1fr)}
  .gal-grid-full{grid-template-columns:repeat(2,1fr)}
  .gallery-teaser{grid-template-columns:repeat(2,1fr)}
  .stats-bar{flex-direction:column}
  .stat{border-right:none;border-bottom:1px solid rgba(255,255,255,0.08)}
  .stat:last-child{border-bottom:none}
  section{padding:4.5rem 1.25rem}
  .map-info-grid{grid-template-columns:1fr}
  .reviews-grid{grid-template-columns:1fr}
  .attract-grid{grid-template-columns:1fr}
  .animals-teaser{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:540px){
  .h-main{font-size:3.5rem}
  .animal-grid{grid-template-columns:1fr}
  .gal-grid-full{grid-template-columns:1fr}
  .features-grid{grid-template-columns:1fr}
  .animals-teaser{grid-template-columns:1fr 1fr}
  .gallery-teaser{grid-template-columns:repeat(2,1fr)}
}

/* ── WĘDZARNIA & DRUGI OBIEKT ── */
.rk-page-hero{padding:9rem 1.5rem 5rem;text-align:center;color:var(--white);position:relative;overflow:hidden}
.rk-hero--smoke{background:linear-gradient(160deg,#1e2e1a 0%,#2d4228 60%,#3a4a2e 100%)}
.rk-hero--light{background:linear-gradient(160deg,#2d4a28 0%,#3d5a34 60%,#4a6a40 100%)}
.rk-page-hero h1{font-size:clamp(2rem,5vw,3.5rem);color:var(--white);margin-bottom:0.75rem;font-weight:800;line-height:1.15}
.rk-eyebrow{font-size:0.68rem;font-weight:600;letter-spacing:0.24em;text-transform:uppercase;color:var(--mint);margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:0.75rem}
.rk-eyebrow::before,.rk-eyebrow::after{content:'';width:24px;height:1px;background:var(--mint);opacity:0.5}
.rk-hero-lead{font-size:1rem;color:rgba(255,255,255,0.65);max-width:560px;margin:0 auto;font-weight:300;line-height:1.85}
.rk-prose-section{max-width:740px}
.rk-features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.rk-feature-card{background:var(--white);border:1px solid var(--linen);border-radius:10px;padding:1.75rem 1.5rem;border-top:3px solid var(--moss)}
.rk-feature-icon{font-size:1.8rem;margin-bottom:0.75rem;display:block}
.rk-feature-card h3{font-size:1rem;font-weight:800;color:var(--forest);margin-bottom:0.5rem}
.rk-feature-card p{font-size:0.85rem;color:var(--muted);line-height:1.75}
.rk-gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}
.rk-gallery-item{border-radius:8px;overflow:hidden;min-height:220px}
.rk-gallery-item--wide{grid-row:span 2;min-height:460px}
.rk-img-placeholder{width:100%;height:100%;min-height:inherit;background:var(--linen);display:flex;align-items:center;justify-content:center;font-size:0.85rem;color:var(--stone);font-weight:600;letter-spacing:0.05em;border-radius:8px}
.rk-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s ease}
.rk-gallery-item:hover img{transform:scale(1.04)}
.rk-info-box{display:flex;gap:1.5rem;align-items:flex-start;background:var(--white);border:1px solid var(--linen);border-left:4px solid var(--honey);border-radius:0 10px 10px 0;padding:2rem;max-width:720px}
.rk-info-box__icon{font-size:2rem;flex-shrink:0;margin-top:2px}
.rk-info-box h3{font-size:1.1rem;font-weight:800;color:var(--forest);margin-bottom:0.5rem}
.rk-info-box p{font-size:0.9rem;color:var(--muted);line-height:1.8}
.rk-compare-box{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;max-width:860px;margin:0 auto}
.rk-compare-item{background:var(--white);border:1px solid var(--linen);border-radius:10px;padding:2rem}
.rk-compare-item--highlight{border-color:var(--moss);border-width:2px}
.rk-compare-item h3{font-size:1.1rem;font-weight:800;color:var(--forest);margin-bottom:0.75rem}
.rk-compare-item p{font-size:0.88rem;color:var(--muted);line-height:1.8;margin-bottom:1rem}
.rk-compare-link{font-size:0.78rem;font-weight:700;letter-spacing:0.08em;color:var(--moss);text-decoration:none;text-transform:uppercase;transition:color 0.2s}
.rk-compare-link:hover{color:var(--forest)}
.rk-compare-divider{font-size:0.85rem;font-weight:600;color:var(--stone);text-transform:uppercase;letter-spacing:0.1em;text-align:center}

/* Menu separator */
.menu-item-separator > a{margin-left:1.5rem;padding-left:1.5rem;border-left:1px solid rgba(255,255,255,0.15)}

@media(max-width:1024px){.rk-features-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
  .rk-gallery-grid{grid-template-columns:1fr 1fr}
  .rk-gallery-item--wide{grid-row:auto;min-height:220px}
  .rk-compare-box{grid-template-columns:1fr;gap:1rem}
  .rk-compare-divider{padding:0.5rem 0}
  .rk-info-box{flex-direction:column;gap:1rem}
}
@media(max-width:540px){.rk-features-grid{grid-template-columns:1fr}.rk-gallery-grid{grid-template-columns:1fr}}

#lb-img { transition: opacity 0.2s ease; }