/* Mackólak Mátra – égbolt, hegyek, erdő, nap. A színek a hero tájképéből és a logóból jönnek. */

@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dm-serif-display-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/dm-serif-display-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:200 1000;font-display:swap;src:url(../fonts/nunito-sans-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:200 1000;font-display:swap;src:url(../fonts/nunito-sans-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --sky-top:#8fb9e0; --sky-bottom:#eaf2f9;
  --sage:#5d665d; --forest:#454e45; --slate:#496572;
  --sun:#efd382; --sun-deep:#d1b768;
  --paper:#fbfaf6; --surface:#ffffff; --ink:#2c322c; --muted:#556055; --line:#dfe3dc;
  --hero-ink:#24302a;
  --r:22px;
  --wrap:min(1180px, 100% - 2.5rem);
  --serif:"DM Serif Display",Georgia,"Times New Roman",serif;
  --sans:"Nunito Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --sky-top:#1f3550; --sky-bottom:#4b6a86;
    --paper:#1e2320; --surface:#272d29; --ink:#ecefe9; --muted:#b9c2b8; --line:#3a423c; --hero-ink:#f3f1e6;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --sky-top:#1f3550; --sky-bottom:#4b6a86;
  --paper:#1e2320; --surface:#272d29; --ink:#ecefe9; --muted:#b9c2b8; --line:#3a423c; --hero-ink:#f3f1e6;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.75 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--slate);text-underline-offset:.2em;text-decoration-thickness:1px}
h1,h2,h3,.h3{font-family:var(--serif);font-weight:400;line-height:1.12;color:var(--ink);margin:0 0 .55em;text-wrap:balance;letter-spacing:-.005em}
h2{font-size:clamp(1.9rem,1.2rem + 2.4vw,3.1rem)}
h3,.h3{font-size:clamp(1.3rem,1.05rem + .8vw,1.7rem)}
p{margin:0 0 1em;max-width:66ch}
ul,dl{margin:0}
:focus-visible{outline:3px solid var(--sun-deep);outline-offset:3px;border-radius:4px}
.wrap{width:var(--wrap);margin-inline:auto}
.narrow{max-width:820px;margin-left:max((100% - 1180px)/2, 1.25rem)}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--surface);padding:.6rem 1rem}
.lead{font-size:clamp(1.12rem,1rem + .35vw,1.28rem);line-height:1.6;color:var(--muted)}
.text-link{font-weight:800;color:var(--forest);display:inline-flex;gap:.5rem;align-items:center}
.text-link::after{content:"";width:1.6em;height:2px;background:var(--sun-deep);transition:width .25s ease}
.text-link:hover::after{width:2.4em}
:root[data-theme="dark"] .text-link{color:var(--sun)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .text-link{color:var(--sun)}:root:not([data-theme="light"]) a:not(.btn){color:#a9c7dc}}
ul.plain{list-style:none;padding:0}
ul.link-list{list-style:none;padding:0;margin:0 0 1rem}
ul.link-list li{padding:.55rem 0;border-bottom:1px solid var(--line)}
ul.link-list a{font-weight:700}
ul.plain li{padding:.55rem 0;border-bottom:1px solid var(--line)}

/* gombok */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.85rem 1.4rem;border-radius:999px;font:800 1rem/1.2 var(--sans);text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap}
.btn-sun{background:var(--sun);color:#2c322c!important;border-color:var(--sun)}
.btn-sun:hover{background:var(--sun-deep);border-color:var(--sun-deep)}
.btn-line{background:transparent;color:var(--ink)!important;border-color:currentColor}
.btn-line:hover{background:var(--ink);color:var(--paper)!important;border-color:var(--ink)}

/* felső sáv és fejléc */
.topbar{background:var(--sage);color:#fff;font-size:.9rem}
.topbar .wrap{display:flex;gap:1.4rem;justify-content:flex-end;align-items:center;min-height:38px;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none;display:inline-flex;gap:.4rem;align-items:center}
.topbar a:hover{text-decoration:underline}
.topbar svg{width:15px;height:15px}
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:1rem;position:relative}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink)!important}
.brand svg{width:50px;height:50px}
.brand span{font-family:var(--serif);font-size:1.2rem}
.nav{display:flex;align-items:center;gap:1.7rem}
.nav a:not(.btn){color:var(--ink);text-decoration:none;font-weight:700;font-size:.98rem;padding:.3rem 0;border-bottom:2px solid transparent}
.nav a:not(.btn):hover{border-bottom-color:var(--sage)}
.nav a[aria-current="page"]{border-bottom-color:var(--sun-deep)!important}
.menu-btn{display:none;background:none;border:0;padding:.5rem;color:var(--ink);cursor:pointer}
.menu-btn svg{width:28px;height:28px}
@media (max-width:980px){
  .menu-btn{display:block}
  .nav{position:absolute;top:100%;left:-1.25rem;right:-1.25rem;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem 1.25rem 1.25rem;display:none}
  .nav.open{display:flex}
  .nav a:not(.btn){padding:.85rem 0;border-bottom:1px solid var(--line)}
  .nav .btn{margin-top:1rem}
}

/* HERO: kék ég, mátrai hegyek, felkelő nap */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sky-top) 0%,var(--sky-bottom) 78%);display:flex;flex-direction:column;--overlap:clamp(90px,13vw,190px)}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:2rem;padding-top:clamp(2.5rem,6vw,5.5rem)}
.hero-copy{position:relative;z-index:4;padding-bottom:calc(var(--overlap) + 1.5rem)}
.hero h1{font-size:clamp(2.4rem,1.2rem + 4.2vw,4.8rem);color:var(--hero-ink);margin-bottom:.35em;line-height:1.04}
.hero .place{font-size:clamp(1.05rem,.95rem + .4vw,1.3rem);color:var(--hero-ink);opacity:.86;max-width:38ch;margin-bottom:1.4rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.hero .btn-line{color:var(--hero-ink)!important}
.hero .btn-line:hover{background:var(--hero-ink);color:var(--sky-bottom)!important;border-color:var(--hero-ink)}
.hero-note{font-weight:700;color:var(--hero-ink)!important;text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:1px}
.hero-sub{font-weight:700;color:var(--hero-ink);margin:-.4rem 0 1.4rem}
.hero-logo{justify-self:center;width:min(100%,400px);margin-bottom:calc(var(--overlap) * .05)}
.hero-logo svg{width:100%;height:auto;display:block}
.hero-land{position:relative;z-index:3;margin-top:calc(var(--overlap) * -1);aspect-ratio:1120/345;min-height:150px;pointer-events:none}
.hero-land svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-land::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:6%;background:var(--forest)}
@media (prefers-reduced-motion:no-preference){
  .hero-logo,.sun{animation:rise 1.8s cubic-bezier(.2,.7,.2,1) both .2s}
  @keyframes rise{from{transform:translateY(45%)}to{transform:none}}
}
/* aloldal: alacsonyabb ég, a logó helyett csak a nap */
.hero--page{--overlap:clamp(70px,9vw,140px)}
.hero--page .hero-inner{grid-template-columns:1fr auto;padding-top:clamp(1.5rem,4vw,3rem)}
.hero--page h1{font-size:clamp(2.1rem,1.2rem + 3.3vw,4rem);max-width:22ch}
/* ugyanaz az arány, mint a főoldalon: így a tájkép-SVG nem vágja le a csúcsokat */
.hero--page .hero-land{aspect-ratio:1120/345;min-height:130px}
/* aloldalon a szöveg és a hegycsúcsok között mindig maradjon levegő (a tájkép felső széle = csúcsok) */
.hero--page .hero-copy{padding-bottom:calc(var(--overlap) + clamp(2.5rem,5vw,5rem))}
.sun{width:clamp(130px,17vw,250px);aspect-ratio:1;border-radius:50%;background:var(--sun);margin-right:clamp(1rem,8vw,9rem);margin-bottom:calc(var(--overlap) * -.45)}
.crumbs{font-size:.92rem;color:var(--hero-ink);display:flex;flex-wrap:wrap;gap:.25rem .5rem;margin-bottom:1rem;opacity:.85}
.hero-meta{font-size:.95rem;color:var(--hero-ink);opacity:.8;margin:-.4rem 0 1rem}
.crumbs a{color:inherit}
@media (max-width:820px){
  .hero{--overlap:60px}
  .hero-inner{grid-template-columns:1fr}
  .hero-logo{order:-1;width:140px;margin:0;justify-self:start;animation:none}
  .sun{position:absolute;right:1rem;bottom:0;width:110px;margin:0;opacity:.95;z-index:-1}
}

/* erdősáv: tények */
.facts{background:var(--forest);color:#eef0ea;padding:1.4rem 0 2.6rem}
.facts dl{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.facts div{border-left:3px solid var(--sun);padding-left:.9rem}
.facts dt{font-family:var(--serif);font-size:1.7rem;line-height:1.2;color:var(--sun)}
.facts dd{margin:.25rem 0 0;font-size:.98rem;line-height:1.45}
@media (max-width:820px){.facts dl{grid-template-columns:repeat(2,1fr)}}

/* szakaszok */
.section{padding-block:clamp(4rem,9vw,7rem)}
.section + .section{padding-top:0}
.section.band{background:var(--surface);border-block:1px solid var(--line);padding-block:clamp(3.5rem,8vw,6rem)}
.section.band + .section{padding-top:clamp(4rem,9vw,7rem)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (max-width:860px){.split,.two-col{grid-template-columns:1fr}}
.photo{border-radius:var(--r);overflow:hidden;background:var(--line)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo.tall{aspect-ratio:4/5}
.stack{display:grid;grid-template-columns:1.25fr 1fr;gap:1rem}
.stack .photo:first-child{grid-row:span 2}
.stack .photo:not(:first-child){aspect-ratio:1}
.stack .photo:nth-child(2){border-radius:50% 50% var(--r) var(--r)}

/* utak (főoldal) */
.path{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.path + .path{margin-top:clamp(3.5rem,8vw,6rem)}
.path--flip .path-photos{order:2}
.path-photos{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:end}
.path-photos .photo{aspect-ratio:3/4}
.path-photos .photo:last-child{aspect-ratio:4/5;margin-bottom:-2rem}
@media (max-width:860px){.path{grid-template-columns:1fr}.path--flip .path-photos{order:0}.path-photos .photo:last-child{margin-bottom:0}}

/* felszereltség */
.equip{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2.2rem 2.5rem;margin-top:1.5rem}
.equip h3{display:flex;align-items:center;gap:.6rem;font-size:1.35rem}
.equip h3 svg{width:28px;height:28px;color:var(--sage);flex:none}
.equip ul{list-style:none;padding:0}
.equip li{padding:.42rem 0;border-bottom:1px solid var(--line)}
.room-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem}
.room-strip figure{margin:0}
.room-strip .photo{aspect-ratio:3/4}
.room-strip figcaption{font-size:.92rem;color:var(--muted);margin-top:.5rem}
@media (max-width:760px){.room-strip{grid-template-columns:repeat(2,1fr)}}
.beds{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.beds li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.5rem;display:grid;gap:.2rem}
.beds strong{font-family:var(--serif);font-weight:400;font-size:2.2rem;line-height:1.1;color:var(--sage)}
@media (max-width:700px){.beds{grid-template-columns:1fr}}
.beds--photo li{padding:0;overflow:hidden;align-content:start}
.beds--photo .photo{aspect-ratio:4/3;border-radius:0;margin-bottom:1rem}
.beds--photo strong,.beds--photo span{padding:0 1.5rem}
.beds--photo span{padding-bottom:1.4rem}
.capacity-note{margin-top:1.4rem;padding:1rem 1.2rem;border-left:3px solid var(--sun-deep);background:var(--surface);border-radius:0 12px 12px 0;max-width:72ch}
form.booking .guests-note{color:var(--ink);background:color-mix(in srgb,var(--sun) 25%,var(--surface));padding:.6rem .8rem;border-radius:10px}

/* köztes ajánlatkérő sáv */
.inline-cta{background:var(--forest);color:#eef0ea;padding:1.6rem 0}
.inline-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap}
.inline-cta p{margin:0;font-size:1.1rem}
.inline-cta strong{font-family:var(--serif);font-weight:400;font-size:1.4rem;color:var(--sun);margin-right:.4rem}

/* kinek ideális */
.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 2rem;margin-top:1.5rem}
.audience-grid > div{border-top:3px solid var(--sun);padding-top:1rem}
.audience-grid h3{font-size:1.35rem;margin-bottom:.4rem}
.audience-grid p{margin:0;color:var(--muted)}
@media (max-width:980px){.audience-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.audience-grid{grid-template-columns:1fr}}

/* gyakorlati tudnivalók */
.practical-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 3rem;margin-top:1rem}
.practical-list > div{display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.practical-list dt{font-weight:800}
.practical-list dd{margin:0;color:var(--muted)}
@media (max-width:860px){.practical-list{grid-template-columns:1fr}}
@media (max-width:480px){.practical-list > div{grid-template-columns:1fr;gap:.15rem}}

/* vendégvélemények (csak valódiak, kitöltésig rejtve) */
.review-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:1.5rem}
.review{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem}
.review blockquote{margin:0;font-family:var(--serif);font-size:1.2rem;line-height:1.5}
.review blockquote p{margin:0}
.review figcaption{margin-top:.8rem;font-weight:700;color:var(--muted)}
.review-src{display:block;font-weight:400;font-size:.88rem;margin-top:.15rem}
.review-src a{color:inherit}

/* tél */
.winter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-bottom:2.5rem}
.winter-grid .photo{aspect-ratio:3/4}
.winter-grid .photo:nth-child(2){transform:translateY(2.5rem)}

/* évszakok, látnivalók */
.seasons{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem;margin-top:1.5rem}
.season .photo{aspect-ratio:4/3;margin-bottom:1.2rem}
@media (max-width:760px){.seasons{grid-template-columns:1fr}}
.seasons--compact{margin-top:0;gap:1rem}
.seasons--compact .photo{aspect-ratio:3/4}
@media (max-width:760px){.seasons--compact{grid-template-columns:1fr 1fr}}
.sights{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 3rem;margin-top:1rem}
.sights div{padding:1.2rem 0;border-bottom:1px solid var(--line)}
.sights dt{font-family:var(--serif);font-size:1.35rem;margin-bottom:.3rem}
.sights dd{margin:0;color:var(--muted)}
.route{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.4rem,3vw,2.2rem)}
.route h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.route details{border-bottom:1px solid var(--line)}
.route summary{cursor:pointer;font-weight:800;padding:.9rem 0;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.route summary::-webkit-details-marker{display:none}
.route summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--sage)}
.route details[open] summary::after{content:"–"}
.route-addr{margin:1.2rem 0 1rem;font-weight:700}

/* galéria */
.gallery{columns:4 200px;column-gap:1rem;margin-top:1.5rem}
.g-item{display:block;margin:0 0 1rem;break-inside:avoid;cursor:zoom-in;border-radius:14px;overflow:hidden;background:var(--line)}
.g-item img{width:100%;transition:transform .4s ease}
.g-item:hover img{transform:scale(1.03)}
.gallery.js:not(.all) .g-item:nth-child(n+13){display:none}
.more{margin-top:.5rem}
.no-js .more{display:none}
dialog.lightbox{border:0;padding:0;background:transparent;max-width:min(96vw,1100px);max-height:92vh;overflow:visible}
dialog.lightbox::backdrop{background:rgba(20,26,22,.9)}
dialog.lightbox img{max-height:84vh;width:auto;margin:auto;border-radius:12px}
dialog.lightbox p{color:#eef0ea;text-align:center;margin:.7rem auto 0}
.lb-btn{position:fixed;top:calc(env(safe-area-inset-top,0px) + 1rem);background:rgba(255,255,255,.14);color:#fff;border:0;border-radius:999px;width:48px;height:48px;font-size:1.5rem;cursor:pointer}
.lb-close{right:1rem}.lb-prev{left:1rem;top:50%}.lb-next{right:1rem;top:50%}

/* árak, foglalás */
.pricing{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (max-width:900px){.pricing{grid-template-columns:1fr}}
.price-sun{aspect-ratio:1;width:min(100%,300px);border-radius:50%;background:var(--sun);display:grid;place-content:center;text-align:center;color:#2c322c;margin-bottom:2.2rem}
.price-sun strong{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,2rem + 2vw,3.4rem);line-height:1}
.price-sun span{font-weight:700;margin-top:.3rem}
.price-sun--sm{width:clamp(150px,18vw,200px);margin:0;flex:none}
.price-sun--sm strong{font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem)}
.terms{list-style:none;padding:0}
.terms li{padding:.8rem 0;border-bottom:1px solid var(--line)}
.terms b{display:block}
form.booking{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.4rem,3vw,2.4rem);display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem}
form.booking h2{grid-column:1/-1;margin:0}
form.booking .full{grid-column:1/-1}
form.booking label{display:grid;gap:.35rem;font-weight:700;font-size:.95rem}
form.booking input,form.booking textarea,form.booking select{font:inherit;font-weight:400;padding:.75rem .9rem;border:1.5px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);width:100%}
form.booking input:focus,form.booking textarea:focus,form.booking select:focus{outline:none;border-color:var(--slate);box-shadow:0 0 0 3px color-mix(in srgb,var(--slate) 25%,transparent)}
form.booking .check{display:flex;gap:.7rem;align-items:flex-start;font-weight:400}
form.booking .check input{width:1.2rem;height:1.2rem;margin-top:.3rem;flex:none;accent-color:var(--sage)}
form.booking .note{font-size:.93rem;color:var(--muted);margin:0}
form.booking .err{color:#b3261e;font-weight:700;margin:0}
form.booking [aria-invalid="true"]{border-color:#b3261e;box-shadow:0 0 0 3px rgba(179,38,30,.15)}
form.booking button[disabled]{opacity:.7;cursor:progress}
.msg{margin:0;padding:.9rem 1.1rem;border-radius:12px;font-weight:700}
.msg--ok{background:color-mix(in srgb,var(--sage) 16%,var(--surface));color:var(--ink)}
.msg--err{background:#fbe9e7;color:#8c1d18}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media (max-width:560px){form.booking{grid-template-columns:1fr}}

/* GYIK */
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:1.1rem 0;font-family:var(--serif);font-size:1.25rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);color:var(--sage);font-size:1.5rem;line-height:1}
.faq details[open] summary::after{content:"–"}

/* záró sáv */
.cta-band{padding-block:clamp(3.5rem,8vw,6rem);background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--sky-bottom) 80%,var(--paper)))}
.cta-inner{display:flex;gap:clamp(1.5rem,5vw,4rem);align-items:center}
.cta-inner h2{margin-bottom:.3em}
@media (max-width:700px){.cta-inner{flex-direction:column;align-items:flex-start}}

/* lábléc: a hegyek még egyszer */
.footer{position:relative;background:var(--forest);color:#e7ebe4}
.footer-land{position:relative;height:clamp(120px,18vw,240px);background:color-mix(in srgb,var(--sky-bottom) 80%,var(--paper))}
.footer-land svg{width:100%;height:100%;display:block}
.footer-land::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:8%;background:var(--forest)}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.5rem;padding-block:2.5rem 2.5rem}
.footer-name{font-family:var(--serif);font-size:1.7rem;color:#fff;margin-bottom:.5rem}
.footer-h{font-weight:800;color:var(--sun);margin-bottom:.5rem}
.footer a{color:#fff}
.footer-nav{list-style:none;padding:0;line-height:2}
.footer address{font-style:normal;line-height:2}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.15);padding-block:1.2rem;color:#c6cec4;font-size:.92rem}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr}}
.footer-land + .footer-grid{}

/* Szerkesztőből jövő tartalom (cikkek, általános oldalak) – a téma tipográfiájával */
.prose{font-size:1.0625rem}
.prose > *{max-width:68ch}
.prose > * + *{margin-top:1.1em}
.prose p{margin:0}
.prose > p + p,.prose > p + ul,.prose > ul + p{margin-top:1em}
.prose h1{font-size:clamp(2rem,1.4rem + 2vw,3rem)}
.prose h2{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);margin:2.2em 0 .5em}
.prose h3{font-size:clamp(1.25rem,1.05rem + .7vw,1.6rem);margin:1.8em 0 .4em}
.prose h2 + *,.prose h3 + *{margin-top:0}
.prose ul,.prose ol{padding-left:1.3em;margin-bottom:0}
.prose li + li{margin-top:.35em}
.prose li::marker{color:var(--sage)}
.prose a{color:var(--slate);text-decoration-thickness:1px}
.prose strong{font-weight:800}
.prose blockquote{margin:1.6em 0;padding:.2em 0 .2em 1.2em;border-left:3px solid var(--sun-deep);font-family:var(--serif);font-size:1.3rem;line-height:1.45;color:var(--ink)}
.prose blockquote p{margin:0}
.prose blockquote cite{display:block;margin-top:.5em;font:600 .95rem/1.4 var(--sans);color:var(--muted);font-style:normal}
.prose figure{margin:1.8em 0;max-width:none}
.prose img{border-radius:var(--r)}
.prose figcaption,.prose .wp-element-caption{font-size:.92rem;color:var(--muted);margin-top:.5rem;text-align:left}
.prose .wp-block-gallery{gap:.8rem}
.prose .wp-block-gallery img{border-radius:14px}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}
.prose table{width:100%;border-collapse:collapse;font-size:.98rem}
.prose th,.prose td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font-weight:800}
.prose .wp-block-buttons .wp-block-button__link{background:var(--sun);color:#2c322c;border-radius:999px;font-weight:800;padding:.85rem 1.4rem;text-decoration:none}
.prose .wp-block-group.has-background,.prose .tipp{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.4rem}
/* cikkek: rövid tényblokk (távolság, nyitvatartás, útvonal) a szakaszok végén */
.prose ul.tenyek{list-style:none;padding:.9rem 1.1rem;margin-top:.9em;border-left:3px solid var(--sun-deep);background:var(--surface);border-radius:0 12px 12px 0;font-size:.97rem;display:grid;gap:.25rem}
.prose ul.tenyek li{margin:0}
.prose ul.tenyek li + li{margin-top:0}
.prose ul.tenyek strong{font-weight:700;color:var(--ink);margin-right:.25rem}
.prose ul.tenyek a{font-weight:700}
.prose .alignwide{max-width:min(1180px,100vw - 2.5rem)}
.article{padding-top:clamp(2.5rem,6vw,4rem)}

/* programajánló hivatkozások (hub és cikkek alja): szöveges blokkok, opcionális kis képpel */
.program-list{list-style:none;padding:0;margin:1.5rem 0 1.5rem;display:grid;gap:0}
.program-list li{display:flex;gap:1.2rem;align-items:flex-start;padding:1.2rem 0;border-bottom:1px solid var(--line)}
.program-list li:first-child{border-top:1px solid var(--line)}
.program-thumb{flex:none;width:120px;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--line)}
.program-thumb img{width:100%;height:100%;object-fit:cover}
.program-list h3{font-size:1.35rem;margin:0 0 .25rem}
.program-list h3 a{color:var(--ink);text-decoration:none}
.program-list h3 a:hover{text-decoration:underline;text-decoration-color:var(--sun-deep)}
.program-list p{margin:0;color:var(--muted)}
@media (max-width:560px){.program-thumb{width:88px}}
.big-links li{font-family:var(--serif);font-size:1.5rem}

.mobile-cta{display:none}
@media (max-width:700px){
  .topbar{display:none}
  .mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:.6rem;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  .mobile-cta .btn{flex:1;padding:.8rem .6rem}
  body{padding-bottom:76px}
}
