/* ZalaVital – weboldal stílusok */
:root{--zv-bg:#FBF7F1;--zv-card:#FFFDF9;--zv-sand:#F3ECE2;--zv-line:#EDE4DB;--zv-ink:#1F1A16;--zv-txt:#5C4635;--zv-mute:#7A6A5C;--zv-car:#9C6B42;--zv-car-d:#86592F;--zv-car-l:#A97A4F;--zv-sage:#7E8F6B;--zv-sage-d:#5F6E4C;--zv-sage-l:#EEF0E7}
body.zv-body{margin:0;background:var(--zv-bg)}
.zv-root,.zvb,.zvg,.zvgp,.zw,.zv-manage{font-family:'Montserrat',system-ui,sans-serif;color:var(--zv-txt)}
.zv-root{background:var(--zv-bg);min-height:100vh;overflow-x:hidden}
.zv-root *,.zvb *,.zvg *,.zw *{box-sizing:border-box}
.zv-root a{color:var(--zv-txt)}.zv-root a:hover{color:var(--zv-car)}
.zv-root img{max-width:100%}
.zv-serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:-.005em}
.zv-script{font-family:'Great Vibes',cursive;font-weight:400}
.zv-wrap{max-width:1280px;margin:0 auto;padding-left:28px;padding-right:28px}
.zv-note{font-size:13px;line-height:1.55;color:var(--zv-mute)}
.zv-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0}
.zv-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;border:0;cursor:pointer;font-family:'Montserrat',sans-serif;font-weight:600;font-size:14px;letter-spacing:.02em;text-decoration:none;transition:transform .3s ease,background .3s ease,box-shadow .3s ease}
.zv-btn:hover{transform:translateY(-2px)}
.zv-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.zv-btn--main{background:var(--zv-car);color:#FFFDF9 !important;box-shadow:0 14px 30px -16px rgba(92,70,53,.8)}
.zv-btn--main:hover{background:var(--zv-car-d)}
.zv-btn--line{min-height:44px;padding:0 22px;color:#8E5F38 !important;box-shadow:inset 0 0 0 1.5px #C9A886;background:transparent}
.zv-btn--line:hover{background:var(--zv-car);color:#FFFDF9 !important;box-shadow:none}
.zv-btn--sm{min-height:42px;padding:0 24px;font-size:13px}
.zv-btns{display:flex;flex-wrap:wrap;gap:12px}
.zv-kick{display:block;font-size:42px;line-height:1;color:var(--zv-car-l)}
.zv-h2{margin:0;font-size:clamp(34px,3.6vw,52px);line-height:1.04;color:var(--zv-ink)}
.zv-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;margin-bottom:44px}
.zv-head p{margin:6px 0 0;font-size:15px;line-height:1.7;max-width:560px}
.zv-in{width:100%;min-height:46px;padding:11px 14px;border:1px solid #E2D6C8;border-radius:14px;background:var(--zv-card);font:inherit;font-size:14px;color:#2F2620}
.zv-in:focus{outline:none;border-color:var(--zv-car-l);box-shadow:0 0 0 3px rgba(169,122,79,.15)}
.zv-travel{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:14px;background:var(--zv-sage-l);color:var(--zv-sage-d);font-size:12.5px;line-height:1.5;box-shadow:inset 0 0 0 1px #C9CFBB;margin:0}
.zv-travel svg{flex:none;margin-top:1px}
@keyframes zv-up{from{opacity:0;transform:translateY(26px)}}
@keyframes zv-sway{0%,100%{rotate:0deg}50%{rotate:3deg}}
@keyframes zvc-kb{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@keyframes zv-kb{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.zv-sway{transform-origin:50% 100%;animation:zv-sway 7s ease-in-out infinite}
.zv-a1{animation:zv-up .9s .15s cubic-bezier(.2,.8,.2,1) both}.zv-a2{animation:zv-up .9s .28s cubic-bezier(.2,.8,.2,1) both}.zv-a3{animation:zv-up .9s .42s cubic-bezier(.2,.8,.2,1) both}.zv-a4{animation:zv-up .9s .58s cubic-bezier(.2,.8,.2,1) both}.zv-a5{animation:zv-up .9s .72s cubic-bezier(.2,.8,.2,1) both}

/* Fejléc */
.zv-header{position:sticky;top:0;z-index:50;background:rgba(251,247,241,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.admin-bar .zv-header{top:32px}
.zv-header-in{max-width:1440px;margin:0 auto;padding:6px clamp(16px,2.6vw,40px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 24px}
.zv-logo{grid-column:1;grid-row:1}.zv-header-cta{grid-column:3;grid-row:1;white-space:nowrap}
.zv-logo{display:block;line-height:0}.zv-logo img{height:66px;width:auto}
.zv-nav{grid-column:2;grid-row:1;display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:6px clamp(14px,1.8vw,28px)}
.zv-root .zv-nav a{white-space:nowrap}
.zv-root .zv-nav a{color:#3B2F27;text-decoration:none;font-size:13.5px;font-weight:500;padding:6px 0;border-bottom:1.5px solid transparent;transition:color .25s,border-color .25s}
.zv-root .zv-nav a:hover{color:var(--zv-car);border-bottom-color:#B88C65}
.zv-root .zv-nav a.is-on{color:var(--zv-car);border-bottom-color:var(--zv-car)}
.zv-header-cta{min-height:44px;padding:0 28px}
@media (max-width:1440px) and (min-width:861px){.zv-nav{gap:6px 18px}.zv-root .zv-nav a{font-size:13px}.zv-header-cta{padding:0 22px}.zv-logo img{height:60px}}
@media (max-width:1300px) and (min-width:861px){.zv-nav{grid-column:1 / -1;grid-row:2;border-top:1px solid rgba(165,174,150,.25);padding-top:4px}}

/* Hero */
.zv-hero{position:relative;background:var(--zv-bg);overflow:hidden}
.zv-hero-in{position:relative;max-width:1440px;margin:0 auto;aspect-ratio:1440 / 432}
@media (max-width:1300px) and (min-width:901px){.zv-hero-in{min-height:390px}.zv-hero-text{width:33%}}
.zv-hero-leaf{position:absolute;left:0;top:2%;height:98%;width:auto;animation:zv-up 1.2s .1s cubic-bezier(.2,.8,.2,1) both}
.zvc-wrap{position:absolute;right:0;top:0;width:72.3%;height:100%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%);mask-image:linear-gradient(90deg,transparent 0,#000 7%);overflow:hidden;animation:zv-up 1.2s .25s cubic-bezier(.2,.8,.2,1) both}
.zvc-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;mix-blend-mode:multiply;transform-origin:60% 50%;animation:zvc-kb 22s ease-in-out infinite}
.zvc-svg{position:absolute;inset:0;width:100%;height:100%}
.zvc-p{fill:#FBF7F1;fill-opacity:0;transition:fill-opacity .6s ease;cursor:pointer}
.zvc-svg:hover .zvc-p{fill-opacity:.55}
.zvc-svg .zvc-a:hover .zvc-p,.zvc-svg .zvc-a:focus-visible .zvc-p{fill-opacity:0}
.zvc-a{outline:none}
#zvc:has(.zvc-a:hover) .zvc-photo{animation-play-state:paused}
.zvc-lbl{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:12px;padding:10px 10px 10px 18px;border-radius:999px;background:rgba(251,247,241,.95);backdrop-filter:blur(8px);color:#2F2620;box-shadow:0 18px 40px -18px rgba(59,47,39,.55);pointer-events:none;opacity:0;translate:-50% 12px;transition:opacity .4s ease,translate .6s cubic-bezier(.2,.8,.2,1);white-space:nowrap}
.zvc-lbl-tx{display:flex;flex-direction:column;gap:2px}
.zvc-lbl b{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;font-weight:600;line-height:1}
.zvc-lbl small{font-size:11.5px;color:var(--zv-mute)}
.zvc-lbl i{width:32px;height:32px;border-radius:50%;background:var(--zv-car);color:#FFFDF9;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:18px}
#zvc:has(.zvc-a--mass:hover) .zvc-lbl--mass,#zvc:has(.zvc-a--land:hover) .zvc-lbl--land,#zvc:has(.zvc-a--yoga:hover) .zvc-lbl--yoga,#zvc:has(.zvc-a--hike:hover) .zvc-lbl--hike,
#zvc:has(.zvc-a--mass:focus-visible) .zvc-lbl--mass,#zvc:has(.zvc-a--land:focus-visible) .zvc-lbl--land,#zvc:has(.zvc-a--yoga:focus-visible) .zvc-lbl--yoga,#zvc:has(.zvc-a--hike:focus-visible) .zvc-lbl--hike{opacity:1;translate:-50% 0}
.zv-hero-text{position:absolute;left:6.3%;top:0;bottom:0;z-index:3;width:31%;display:flex;flex-direction:column;justify-content:center;gap:1.4vw}
.zv-hero-text h1{margin:0;display:flex;flex-direction:column;font-weight:500}
.zv-h1{font-size:clamp(34px,4.15vw,64px);line-height:1.02;color:var(--zv-ink)}
.zv-h1s{font-size:clamp(44px,5.4vw,84px);line-height:1.08;color:#8E5F38;margin-left:-.1em}
.zv-hero-p{margin:0;font-size:clamp(13px,1.12vw,17px);line-height:1.5;color:#3B2F27;max-width:23em}
.zv-hero-text .zv-btn{align-self:flex-start;margin-top:.6vw;min-height:46px;padding:0 28px}

/* Programok sor */
.zv-progs{background:var(--zv-bg);padding:6px 0 40px}
.zv-progs-grid{max-width:1440px;margin:0 auto;padding:0 clamp(16px,3vw,48px);display:flex;flex-wrap:wrap;justify-content:center;gap:28px 22px}
.zv-progs-grid>.zv-svc{flex:0 0 calc((100% - 6*22px)/7);min-width:150px}
.zv-progs-grid.n-8>.zv-svc,.zv-progs-grid.n-4>.zv-svc{flex-basis:calc((100% - 3*22px)/4)}.zv-progs-grid.n-9>.zv-svc,.zv-progs-grid.n-10>.zv-svc,.zv-progs-grid.n-5>.zv-svc{flex-basis:calc((100% - 4*22px)/5)}.zv-progs-grid.n-6>.zv-svc,.zv-progs-grid.n-11>.zv-svc,.zv-progs-grid.n-12>.zv-svc{flex-basis:calc((100% - 5*22px)/6)}
.zv-svc{text-decoration:none;color:#2F2620;display:flex;flex-direction:column;gap:12px}
.zv-svc-img{display:block;overflow:hidden;border-radius:12px;aspect-ratio:200 / 115;box-shadow:0 14px 26px -20px rgba(59,47,39,.6)}
.zv-svc img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.zv-svc:hover img{transform:scale(1.07)}
.zv-svc-tx{display:flex;flex-direction:column;gap:3px;padding:0 4px}
.zv-svc-t{font-size:clamp(18px,1.45vw,22px);line-height:1.05;color:#2F2620;transition:color .3s}
.zv-svc-d{font-size:12px;line-height:1.4;color:var(--zv-txt)}
.zv-svc:hover .zv-svc-t{color:var(--zv-car)}

/* Egyensúlyban */
.zv-balance{position:relative;background:var(--zv-bg);overflow:hidden}
.zv-balance-in{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,43fr) minmax(0,57fr);align-items:center}
.zv-balance-img{width:100%;aspect-ratio:668 / 296;object-fit:cover;display:block;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.zv-balance-body{position:relative;padding:28px clamp(16px,3vw,48px) 28px 8px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.5fr);gap:20px;align-items:center}
.zv-balance-text{display:flex;flex-direction:column;gap:14px}
.zv-balance-text h2{margin:0;font-size:clamp(24px,2.1vw,32px);line-height:1.1;color:var(--zv-ink)}
.zv-balance-text p{margin:0;font-size:12.5px;line-height:1.65;color:#3B2F27}
.zv-balance-text .zv-btn{align-self:center}
.zv-feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.zv-feat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:6px 12px}
.zv-feat+.zv-feat{border-left:1px solid #E4D8CA}
.zv-feat-ic{width:52px;height:52px;border-radius:50%;border:1.4px solid var(--zv-car-l);display:flex;align-items:center;justify-content:center}
.zv-feat-t{font-size:clamp(16px,1.3vw,19px);line-height:1.1;color:var(--zv-ink)}
.zv-feat-d{font-size:11.5px;line-height:1.45;color:var(--zv-txt)}
.zv-balance-sprig{position:absolute;right:-14px;top:-40px;rotate:200deg;opacity:.8}

/* Szolgáltatásaink */
.zv-services{position:relative;overflow:hidden;background:var(--zv-bg);padding:88px 0 96px}
.zv-services-leaf{position:absolute;width:360px;mix-blend-mode:multiply;opacity:.8}
.zv-services-leaf--l{left:-40px;top:40px}.zv-services-leaf--r{right:-40px;top:60px;transform:scaleX(-1)}
.zv-services .zv-wrap{position:relative}
.zs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.zs-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:26px 24px 22px;border-radius:24px;background:var(--zv-card);text-decoration:none;color:#2F2620;box-shadow:0 22px 46px -34px rgba(59,47,39,.5);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.zs-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -32px rgba(59,47,39,.55)}
.zs-ic{width:76px;height:68px;object-fit:contain;mix-blend-mode:multiply;transition:transform .6s cubic-bezier(.2,.8,.2,1.4)}
.zs-card:hover .zs-ic{transform:translateY(-4px) rotate(-5deg)}
.zs-t{font-size:28px;line-height:1.05;color:var(--zv-ink);transition:color .3s}
.zs-card:hover .zs-t{color:var(--zv-car)}
.zs-d{font-size:13.5px;line-height:1.6;color:var(--zv-txt);flex:1}
.zs-more{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#8E5F38}
.zs-more i{width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1.4px #C9A886;display:inline-flex;align-items:center;justify-content:center;font-style:normal;transition:background .3s,color .3s}
.zs-card:hover .zs-more i{background:var(--zv-car);color:#FFFDF9;box-shadow:none}
.zs-leaf{position:absolute;right:-60px;bottom:-14px;width:190px;mix-blend-mode:multiply;opacity:.35;transform:scaleX(-1) rotate(-14deg);pointer-events:none;transition:opacity .4s}
.zs-card:hover .zs-leaf{opacity:.6}
.zs-cta{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:28px 26px;border-radius:24px;background:var(--zv-sage-l);box-shadow:inset 0 0 0 1.5px #C9CFBB;font-size:14px;line-height:1.6;color:#4F5D40}
.zs-cta .zv-script{font-size:36px;line-height:1;color:#66764F}
.zs-cta .zv-btn{align-self:flex-start}

/* Közelgő időpontok */
.zv-tours{position:relative;background:var(--zv-sand);overflow:hidden}
.zv-tours-leaf{position:absolute;right:-40px;top:10px;width:420px;mix-blend-mode:multiply;opacity:.8;transform:scaleX(-1)}
.zv-tours-in{position:relative;padding-top:88px;padding-bottom:88px;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:56px}
.zv-tours-head{display:flex;flex-direction:column;gap:16px}
.zv-tours-head p{margin:0;font-size:15px;line-height:1.75}
.zv-tours-head .zv-btn{align-self:flex-start}
.zv-tours-list{display:flex;flex-direction:column;gap:12px}
.zv-card{transition:transform .4s ease,box-shadow .4s ease}
.zv-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(59,47,39,.5)}
.zv-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;padding:16px 22px 16px 14px;border-radius:22px;background:var(--zv-card)}
.zv-row--pkg{box-shadow:inset 0 0 0 1.5px #A5AE96}
.zv-row-ic{width:64px;height:58px;object-fit:contain;mix-blend-mode:multiply;flex:none}
.zv-row-main{flex:1 1 240px;display:flex;flex-direction:column;gap:4px}
.zv-row-k{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--zv-car)}
.zv-row-k--sage{color:#66764F}
.zv-row-t{font-size:26px;line-height:1.1;color:var(--zv-ink)}
.zv-row-s{font-size:13px;color:var(--zv-mute)}
.zv-row-act{display:flex;align-items:center;gap:14px}
.zv-row-p{font-weight:600;color:#2F2620;font-size:14px}

/* Masszázs kártyák */
.zv-relax{padding-top:100px;padding-bottom:96px}
.zv-scards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.zv-scard{position:relative;overflow:hidden;border-radius:20px;background:var(--zv-card);box-shadow:0 24px 50px -34px rgba(59,47,39,.5);display:flex;flex-direction:column;transition:transform .45s ease,box-shadow .45s ease}
.zv-scard:hover{transform:translateY(-5px);box-shadow:0 30px 60px -32px rgba(59,47,39,.55)}
.zv-scard-img{display:block;height:240px;clip-path:url(#zc-wave);overflow:hidden}
.zv-scard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.zv-scard:hover .zv-scard-img img{transform:scale(1.06)}
.zv-scard-b{position:relative;z-index:1;padding:4px 22px 20px;display:flex;flex-direction:column;gap:4px;flex:1}
.zv-scard-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.zv-scard-h img{width:44px;height:40px;object-fit:contain;mix-blend-mode:multiply;flex:none}
.zv-scard-t{margin:0;font-size:38px;line-height:1.1;color:#8E5F38;font-weight:400}
.zv-scard-d{margin:0 0 10px;font-size:13.5px;line-height:1.5;color:var(--zv-txt);flex:1}
.zv-scard-f{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--zv-line);font-size:13px;color:var(--zv-txt)}
.zv-scard-f strong{color:#2F2620}
.zv-root .zv-scard-f a{font-weight:600;color:#8E5F38;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap}
.zv-scard-leaf{position:absolute;right:-70px;bottom:40px;width:200px;mix-blend-mode:multiply;opacity:.55;transform:scaleX(-1) rotate(-20deg);pointer-events:none}

/* Ajándék sáv */
.zv-giftband{background:var(--zv-sand);padding:72px 0}
.zv-giftband--soft{background:var(--zv-bg)}
.zv-giftband-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.zv-giftband-card{position:relative;aspect-ratio:1.6;border-radius:22px;background:var(--zv-card);box-shadow:0 30px 60px -30px rgba(59,47,39,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden;rotate:-4deg;transition:rotate .6s cubic-bezier(.2,.8,.2,1.3)}
.zv-giftband-card:hover{rotate:0deg}
.zv-giftband-card::before{content:"";position:absolute;inset:12px;border:1px solid #E2D2BF;border-radius:14px}
.zv-giftband-card img{width:46%;height:auto}
.zv-giftband-card span{font-size:12px;font-weight:600;letter-spacing:.42em;color:#8E5F38;text-align:center;padding:0 20px}
.zv-giftband-tx{display:flex;flex-direction:column;gap:14px}
.zv-giftband-tx p{margin:0;font-size:15px;line-height:1.7}
.zv-giftband-tx .zv-btn{align-self:flex-start}

/* Záró */
.zv-closing{position:relative;background:var(--zv-sand);overflow:hidden}
.zv-closing-in{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center}
.zv-closing-tx{position:relative;z-index:2;padding:64px 28px 64px clamp(28px,6vw,96px);display:flex;flex-direction:column;gap:20px}
.zv-closing-tx h2{margin:0;font-size:clamp(30px,3.2vw,46px);line-height:1.12;color:var(--zv-ink)}
.zv-closing-tx .zv-btn{align-self:flex-start}
.zv-closing-logo{height:52px;width:auto;align-self:flex-start}
.zv-closing-img{position:relative;aspect-ratio:16 / 8}
.zv-closing-img svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.zv-closing-leaf{position:absolute;left:-60px;bottom:-10px;width:300px;mix-blend-mode:multiply}

/* Lábléc */
.zv-footer{position:relative;background:var(--zv-bg);color:#3B2F27;border-top:1px solid var(--zv-line);overflow:hidden;font-family:'Montserrat',system-ui,sans-serif}
.zv-footer-leaf{position:absolute;right:-30px;bottom:40px;width:360px;mix-blend-mode:multiply;opacity:.9;transform:scaleX(-1) rotate(-8deg)}
.zv-footer-in{position:relative;max-width:1280px;margin:0 auto;padding:72px 28px 32px;display:flex;flex-direction:column;gap:48px}
.zv-footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:40px}
.zv-bizcard{display:flex;flex-direction:column;gap:18px;padding:26px;border-radius:20px;background:var(--zv-card);box-shadow:0 24px 50px -34px rgba(59,47,39,.45)}
.zv-bizcard-logo{height:74px;width:auto;align-self:flex-start}
.zv-bizcard-rows{display:flex;flex-direction:column;gap:12px;font-size:14px}
.zv-root .zv-ct{display:flex;align-items:center;gap:12px;color:#3B2F27;text-decoration:none}
.zv-ct-ic{width:32px;height:32px;border-radius:50%;background:var(--zv-car-l);display:inline-flex;align-items:center;justify-content:center;flex:none}
.zv-footer-col{display:flex;flex-direction:column;gap:12px;font-size:14px;padding-top:8px}
.zv-footer-k{font-size:32px;line-height:1;color:var(--zv-car-l)}
.zv-footer-p{margin:0;line-height:1.6}
.zv-root .zv-fl{color:#3B2F27;text-decoration:none}.zv-root .zv-fl:hover{color:var(--zv-car)}
.zv-socs{display:flex;gap:10px;padding-top:6px}
.zv-root .zv-soc{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#8E5F38;box-shadow:inset 0 0 0 1.4px #D6C6B2;transition:background .3s,color .3s}
.zv-root .zv-soc:hover{background:var(--zv-car);color:#FFFDF9}
.zv-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:22px;border-top:1px solid var(--zv-line);font-size:12.5px;color:var(--zv-mute)}
.zv-footer-links{display:flex;gap:20px}.zv-root .zv-footer-links a{color:var(--zv-mute)}

/* Szolgáltatás oldal */
.zv-phero{position:relative;overflow:hidden}
.zv-phero-leaf{position:absolute;left:-70px;bottom:10px;width:360px;mix-blend-mode:multiply;opacity:.85;rotate:12deg}
.zv-phero-in{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center}
.zv-phero-tx{position:relative;z-index:2;padding:40px 24px 56px clamp(28px,6.3vw,96px);display:flex;flex-direction:column;gap:16px}
.zv-phero-tx h1{margin:0;font-size:clamp(40px,4.6vw,68px);line-height:1.02;color:var(--zv-ink)}
.zv-phero-lead{margin:0;font-size:16px;line-height:1.7;max-width:460px}
.zv-crumbs{font-size:12px;color:var(--zv-mute)}.zv-root .zv-crumbs a{color:var(--zv-mute)}
.zv-phero-img{position:relative;aspect-ratio:16 / 10}
.zv-phero-img svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.zv-kb{transform-box:fill-box;transform-origin:center;animation:zv-kb 18s ease-in-out infinite}
.zv-fband{background:var(--zv-sand);padding:52px 28px}
.zv-fband-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.zv-fitem{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:8px 18px;font-size:12.5px;line-height:1.5}
.zv-fitem+.zv-fitem{border-left:1px solid #E2D6C8}
.zv-fitem-ic{width:62px;height:62px;border-radius:50%;border:1.4px solid var(--zv-car-l);display:flex;align-items:center;justify-content:center}
.zv-fitem-ic img{width:46px;height:42px;object-fit:contain;mix-blend-mode:multiply}
.zv-fitem-t{font-size:22px;color:var(--zv-ink)}
.zv-detail{padding-top:72px;padding-bottom:72px}
.zv-detail-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:48px;align-items:start}
.zv-content{font-size:16px;line-height:1.8;color:#3B2F27}
.zv-content h2,.zv-content h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;color:var(--zv-ink);line-height:1.1}
.zv-content h2{font-size:36px}.zv-content h3{font-size:28px}
.zv-content img{border-radius:18px;height:auto}
.zv-infobox{position:sticky;top:110px;display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:24px;background:var(--zv-card);box-shadow:0 24px 50px -34px rgba(59,47,39,.5)}
.zv-infobox .zv-kick{font-size:36px}
.zv-infobox dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:14px}
.zv-infobox dt{color:var(--zv-mute)}.zv-infobox dd{margin:0;font-weight:600;color:#2F2620}
.zv-infobox-k{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--zv-sage-d)}
.zv-slots{display:flex;flex-wrap:wrap;gap:8px}
.zv-root .zv-slot{padding:8px 12px;border-radius:12px;background:var(--zv-sand);font-size:13px;text-decoration:none;color:#2F2620;transition:background .25s,color .25s}
.zv-root .zv-slot:hover{background:var(--zv-car);color:#FFFDF9}
.zv-packs{padding-bottom:88px}
.zv-packs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.zv-pack{position:relative;overflow:hidden;display:flex;flex-direction:column;border-radius:24px;background:var(--zv-card);box-shadow:0 24px 50px -34px rgba(59,47,39,.5);transition:transform .45s,box-shadow .45s}
.zv-pack:hover{transform:translateY(-5px)}
.zv-pack-img{height:200px;clip-path:url(#zc-wave);overflow:hidden}
.zv-pack-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.zv-pack:hover .zv-pack-img img{transform:scale(1.06)}
.zv-pack-b{padding:6px 26px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.zv-pack-b h3{margin:0;font-size:40px;line-height:1.1;color:#8E5F38;font-weight:400}
.zv-pack-li{display:flex;flex-direction:column;gap:6px;flex:1}
.zv-pack-li span{display:flex;gap:10px;font-size:13.5px;line-height:1.5}
.zv-pack-li span::before{content:"";flex:none;width:7px;height:7px;margin-top:7px;border-radius:50%;background:#A5AE96}
.zv-pack-f{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--zv-line);font-size:13px}
.zv-root .zv-pack-f a{font-weight:600;color:#8E5F38;min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
.zv-steps3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:40px}
.zv-steps3>div{display:flex;gap:16px;align-items:flex-start;padding:22px;border-radius:20px;background:var(--zv-sand);font-size:13px;line-height:1.5}
.zv-steps3 b{font-size:48px;line-height:.9;color:var(--zv-car-l);font-weight:500}
.zv-steps3 span{display:flex;flex-direction:column;gap:4px}
.zv-steps3 .zv-serif{font-size:22px;color:var(--zv-ink)}

/* Foglalás + ajándékkártya közös */
.zvb,.zvg,.zvgp{max-width:1280px;margin:0 auto;padding:36px 28px 96px}
.zvb-head{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}
.zvb-head h1{margin:0;font-size:clamp(36px,4vw,58px);line-height:1.02;color:var(--zv-ink)}
.zvb-head p{margin:0;font-size:15.5px;line-height:1.7;max-width:640px}
.zvb-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}
.zvb-main{background:var(--zv-card);border-radius:24px;box-shadow:0 24px 50px -36px rgba(59,47,39,.5);padding:28px}
.zvb-form{display:flex;flex-direction:column;gap:34px}
.zvb-form[hidden],.zvb-done[hidden],.zvb-sum[hidden],[hidden].zvb-persons{display:none !important}
.zvb-step{display:flex;flex-direction:column;gap:16px}
.zvb-h{margin:0;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--zv-sage-d)}
.zvb-h b{width:30px;height:30px;border-radius:50%;background:var(--zv-sand);color:var(--zv-car);display:inline-flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:0}
.zvb-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:12px}
.zvb-tile{display:flex;flex-direction:column;padding:7px;border-radius:18px;border:0;background:var(--zv-card);box-shadow:inset 0 0 0 1px var(--zv-line);text-align:left;cursor:pointer;font:inherit;color:#2F2620;transition:transform .25s,box-shadow .25s}
.zvb-tile:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1.4px #C9A886,0 16px 30px -24px rgba(59,47,39,.55)}
.zvb-tile.is-on{box-shadow:inset 0 0 0 2px var(--zv-car),0 18px 36px -24px rgba(59,47,39,.6)}
.zvb-tile img{width:100%;height:96px;object-fit:cover;border-radius:13px;display:block}
.zvb-tile-tx{display:flex;flex-direction:column;gap:3px;padding:10px 6px 4px}
.zvb-tile-tx .zv-serif{font-size:21px;line-height:1.05;font-weight:600}
.zvb-tile-tx small{font-size:12px;color:var(--zv-mute)}
.zvb-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:34px}
.zvb-calhead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.zvb-monthnav{display:flex;align-items:center;gap:6px}
.zvb-monthnav .zv-serif{font-size:22px;min-width:140px;text-align:center;font-weight:600;color:#2F2620}
.zvb-ib{width:40px;height:40px;border-radius:50%;border:1px solid #E2D6C8;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#2F2620}
.zvb-ib:disabled{opacity:.3;cursor:default}
.zvb-dow,.zvb-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.zvb-dow span{text-align:center;font-size:11.5px;font-weight:700;letter-spacing:.06em;color:var(--zv-mute)}
.zvb-cal.is-loading{opacity:.45}
.zvb-day{height:44px;border-radius:12px;border:0;background:transparent;font:inherit;font-size:15px;font-weight:600;color:#C2B4A5;cursor:default}
.zvb-day.ok{background:var(--zv-card);color:#2F2620;box-shadow:inset 0 0 0 1px var(--zv-line),inset 0 -3px 0 var(--zv-sage);cursor:pointer;transition:background .2s}
.zvb-day.ok:hover{background:var(--zv-sand)}
.zvb-day.full{background:#F1E9DE;color:#A8998A;text-decoration:line-through}
.zvb-day.is-on{background:var(--zv-car) !important;color:#FFFDF9 !important;box-shadow:none}
.zvb-legend{display:flex;gap:18px;font-size:12.5px;color:var(--zv-mute)}
.zvb-legend span{display:inline-flex;align-items:center;gap:6px}
.zvb-legend i{width:8px;height:8px;border-radius:50%;background:var(--zv-sage)}.zvb-legend i.full{background:#B8A898}
.zvb-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.zvb-slot{min-height:52px;border-radius:12px;border:0;background:var(--zv-card);box-shadow:inset 0 0 0 1px #E2D6C8;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#2F2620;transition:transform .2s,background .2s}
.zvb-slot:hover{transform:translateY(-2px)}
.zvb-slot b{font-size:15px}.zvb-slot small{font-size:11px;color:var(--zv-mute)}
.zvb-slot.is-on{background:var(--zv-car);color:#FFFDF9;box-shadow:none}.zvb-slot.is-on small{color:#F3E6D6}
.zvb-slot:disabled{opacity:.45;cursor:default;transform:none;text-decoration:line-through}
.zvb-persons{display:flex;align-items:center;gap:12px;margin-top:6px;font-size:13px;font-weight:600}
.zvb-persons select{min-height:44px;padding:0 12px;border-radius:12px;border:1px solid #E2D6C8;background:var(--zv-card);font:inherit}
.zvb-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 16px}
.zvb-fields label{display:flex;flex-direction:column;gap:6px}
.zvb-fields label>span,.zvb-lbl{font-size:12.5px;font-weight:600;color:var(--zv-txt)}
.zvb-wide{grid-column:1 / -1}
.zvb-gc-row{display:flex;gap:10px;flex-wrap:wrap}.zvb-gc-row .zv-in{flex:1 1 200px;text-transform:uppercase;letter-spacing:.06em}
.zvb-gc-msg{margin:6px 0 0;font-size:13px;font-weight:600}.zvb-gc-msg.ok{color:var(--zv-sage-d)}.zvb-gc-msg.bad{color:#8C3F22}
.zvb-check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;cursor:pointer}
.zvb-check input{width:20px;height:20px;margin:0;accent-color:var(--zv-car);flex:none}
.zvb-err{margin:0;color:#8C3F22;font-weight:600;font-size:14px}
.zvb-sum{position:sticky;top:100px;display:flex;flex-direction:column;gap:16px;padding:24px;border-radius:24px;background:var(--zv-sand)}
.admin-bar .zvb-sum{top:132px}
.zvb-sum .zv-kick{font-size:36px}
.zvb-sumsteps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.zvb-sumsteps li{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid #E2D6C8;font-weight:600;font-size:15px;color:#2F2620}
.zvb-sumsteps b{width:34px;height:34px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--zv-mute);box-shadow:inset 0 0 0 1.5px #C9B8A6}
.zvb-sumsteps li.is-done b{background:var(--zv-car);color:#FFFDF9;box-shadow:none}
.zvb-sumsteps span{display:flex;flex-direction:column;gap:2px}
.zvb-sumsteps small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--zv-mute);font-weight:600}
.zvb-price{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:16px;background:var(--zv-card)}
.zvb-price span{font-size:12.5px;color:var(--zv-mute)}
.zvb-price b{font-family:'Cormorant Garamond',Georgia,serif;font-size:34px;font-weight:600;color:#2F2620;line-height:1}
.zvb-submit{width:100%;min-height:54px;font-size:15px}
.zvb-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:40px 10px}
.zvb-done h2{margin:0;font-size:44px;line-height:1.05;color:var(--zv-ink)}
.zvb-done p{margin:0;font-size:16px;line-height:1.6}
.zvb-done-ic{width:84px;height:84px;border-radius:50%;background:var(--zv-car);display:flex;align-items:center;justify-content:center}
.zvb-chip{min-height:42px;padding:0 16px;border-radius:999px;border:0;background:var(--zv-card);box-shadow:inset 0 0 0 1.2px var(--zv-line);font:inherit;font-size:14px;font-weight:500;cursor:pointer}
.zvb-chip.is-on{background:var(--zv-car);color:#FFFDF9;box-shadow:none}
.zvg-persons{display:flex;flex-wrap:wrap;gap:8px}
.zvg-pay{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.zvg-payopt{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:var(--zv-card);box-shadow:inset 0 0 0 1px var(--zv-line);cursor:pointer}
.zvg-payopt.is-on{box-shadow:inset 0 0 0 2px var(--zv-car)}
.zvg-payopt input{accent-color:var(--zv-car);margin-top:3px}
.zvg-payopt span{display:flex;flex-direction:column;gap:2px;font-size:14px}.zvg-payopt small{color:var(--zv-mute);font-size:12.5px}
.zvg-code{font-size:18px;letter-spacing:.08em;color:var(--zv-car)}
.zvg-bank{display:flex;flex-direction:column;gap:3px;padding:16px 20px;border-radius:16px;background:var(--zv-sand);text-align:left;font-size:14.5px;margin:6px auto;max-width:420px}
.zvg-card{position:relative;overflow:hidden;aspect-ratio:1.55;border-radius:22px;background:#FFFDF9;box-shadow:0 30px 60px -30px rgba(59,47,39,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:22px}
.zvg-card::before{content:"";position:absolute;inset:11px;border:1px solid #E2D2BF;border-radius:14px;pointer-events:none}
.zvg-card-leaf{position:absolute;right:-50px;top:-16px;width:180px;opacity:.6;transform:scaleX(-1) rotate(160deg)}
.zvg-card-leaf--b{right:auto;left:-50px;top:auto;bottom:-14px;transform:none}
.zvg-card-logo{width:38%;height:auto;margin-bottom:2px}
.zvg-card-k{font-size:10.5px;font-weight:600;letter-spacing:.42em;color:#8E5F38}
.zvg-card-svc{font-size:38px;line-height:1;color:#8E5F38}
.zvg-card-p{font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--zv-mute)}
.zvg-card-to{font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;color:#2F2620}
.zvg-card-msg{font-size:12px;line-height:1.45;max-width:85%;color:var(--zv-txt)}
.zvgp{display:flex;flex-direction:column;align-items:center;gap:24px}
.zvgp-tools{display:flex;flex-direction:column;align-items:center;gap:10px}
.zvgp-warn{margin:0;padding:8px 14px;border-radius:12px;background:#F4DED3;color:#8C3F22}
.zvg-card--print{width:min(720px,100%);gap:8px;padding:34px}
.zvg-card--print .zvg-card-svc{font-size:60px}
.zvg-card--print .zvg-card-to{font-size:24px}.zvg-card--print .zvg-card-msg{font-size:14px}
.zvg-card-code{margin-top:6px;font-size:17px;font-weight:700;letter-spacing:.14em;color:#2F2620;padding:6px 16px;border-radius:999px;background:var(--zv-sand)}
.zvg-card-valid{font-size:11.5px;color:var(--zv-mute)}
.zvgp-how{text-align:center;max-width:560px;font-size:15px;line-height:1.6}
.zv-noprint-hide{display:none}
.zv-manage{max-width:640px;margin:40px auto 80px;padding:30px;border-radius:24px;background:var(--zv-card);box-shadow:0 24px 50px -36px rgba(59,47,39,.5)}
.zv-manage h2{margin:0 0 14px;font-size:38px;line-height:1.05;color:var(--zv-ink)}
.zv-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:14.5px;margin:0 0 20px}.zv-dl dt{color:var(--zv-mute)}.zv-dl dd{margin:0;font-weight:600;color:#2F2620}
.zv-cancel-form{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.zv-cancel-form label{display:flex;flex-direction:column;gap:6px;width:100%;font-size:13px;font-weight:600}
.zv-cancel-form textarea{width:100%;border:1px solid #E2D6C8;border-radius:14px;padding:10px;font:inherit}
.zv-ok{padding:12px 16px;border-radius:14px;background:var(--zv-sage-l);color:var(--zv-sage-d);font-weight:600}
.zv-page--foglalas-kezelese{padding:20px 16px}

/* Levélágak széle finoman elhalványul */
.zv-services-leaf,.zs-leaf,.zv-tours-leaf,.zv-footer-leaf,.zv-scard-leaf,.zv-closing-leaf,.zv-phero-leaf,.zvg-card-leaf{-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 45%,transparent 72%);mask-image:radial-gradient(ellipse at 50% 50%,#000 45%,transparent 72%)}

/* Mobil */
@media (max-width:1020px){.zvb-layout{grid-template-columns:minmax(0,1fr)}.zvb-sum{position:static}.zvb-cols{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){
	.zv-stack{grid-template-columns:minmax(0,1fr) !important}.zv-hide-sm{display:none !important}
	.zv-hero-in{aspect-ratio:auto;display:flex;flex-direction:column-reverse}
	.zvc-wrap{position:relative;width:100%;aspect-ratio:1111 / 460}
	.zv-hero-text{position:relative;left:auto;width:auto;padding:28px 16px;gap:14px}
	.zvc-lbl{display:none}
	.zv-feats{grid-template-columns:repeat(3,minmax(0,1fr))}
	.zv-balance-body{padding:24px 16px}
	.zv-infobox{position:static}
	.zv-giftband-in{grid-template-columns:minmax(0,1fr)}.zv-giftband-card{max-width:380px;width:100%;margin:0 auto}
	.zv-closing-tx{padding:48px 20px 24px}
	.zv-phero-tx{padding:28px 20px}
	.zv-fitem+.zv-fitem{border-left:0}
}
@media (max-width:860px){.zv-nav{grid-column:1 / -1;grid-row:2;justify-content:flex-start;overflow-x:auto;gap:18px;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.zv-nav::-webkit-scrollbar{display:none}.zv-logo img{height:52px}.zv-header-cta{min-height:40px;padding:0 18px;font-size:13px}}
@media (max-width:1100px){.zv-progs-grid>.zv-svc{flex-basis:calc((100% - 3*22px)/4) !important}}
@media (max-width:700px){.zv-progs-grid{gap:20px 14px}.zv-progs-grid>.zv-svc{flex-basis:calc((100% - 14px)/2) !important;min-width:0}}
@media (max-width:640px){.zv-wrap,.zvb,.zvg,.zvgp{padding-left:16px;padding-right:16px}.zvb-main{padding:18px}.zv-h2{font-size:34px}.zv-kick{font-size:36px}.zv-row-act{width:100%;justify-content:space-between}.zv-feat{padding:6px 4px}.zvg-card-svc{font-size:30px}}
@media (prefers-reduced-motion:reduce){.zvc-photo,.zv-sway,.zv-kb{animation:none}}
@media print{.zv-header,.zv-footer,.zv-noprint{display:none !important}.zv-noprint-hide{display:block}.zv-root,body.zv-body{background:#fff}.zvg-card--print{box-shadow:none;border:1px solid #ddd}}

/* Csoportos program oldal (Csapatépítés) */
.zv-gpacks{padding-top:96px}
.zv-pack.is-pop{box-shadow:inset 0 0 0 1.5px #A5AE96,0 24px 50px -34px rgba(59,47,39,.5)}
.zv-pack-badge{position:absolute;top:16px;right:16px;z-index:2;padding:6px 14px;border-radius:999px;background:#FBF7F1;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#66764F}
.zv-gsteps{padding-bottom:88px}.zv-gsteps .zv-steps3{margin-top:40px}
.zv-root .zv-steps3 b{font-size:48px;line-height:.9;color:var(--zv-car-l);font-weight:500}
.zv-steps3>div>span{display:flex;flex-direction:column;gap:4px}
.zv-steps3>div>span>.zv-serif{font-size:22px;color:var(--zv-ink)}
.zv-gq{position:relative;background:var(--zv-sand);overflow:hidden;padding:88px 28px}
.zv-gq-leaf{position:absolute;right:-40px;top:30px;width:380px;mix-blend-mode:multiply;opacity:.8;transform:scaleX(-1)}
.zv-gq-in{position:relative;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:56px;align-items:start}
.zv-gq-tx{display:flex;flex-direction:column;gap:14px}
.zv-gq-tx p{margin:0;font-size:15px;line-height:1.7}
.zv-root .zv-gq-tx a{color:#8E5F38}
.zv-gq-form,.zv-gq-done{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:30px;border-radius:24px;background:#FFFDF9;box-shadow:0 24px 50px -34px rgba(59,47,39,.45)}
.zv-gq-form[hidden],.zv-gq-done[hidden]{display:none !important}
.zv-gq-form label{display:flex;flex-direction:column;gap:6px}
.zv-gq-form label>span{font-size:12.5px;font-weight:600;color:#5C4635}
.zv-gq-full{grid-column:1 / -1}
.zv-gq-form input:not(.zv-hp),.zv-gq-form select,.zv-gq-form textarea{width:100%;box-sizing:border-box;min-height:48px;padding:12px 16px;border:1px solid #E2D6C8;border-radius:14px;background:#FFFDF9;font:inherit;font-size:14px;color:#2F2620}
.zv-gq-form textarea{resize:vertical}
.zv-gq-form input:focus,.zv-gq-form select:focus,.zv-gq-form textarea:focus{outline:none;border-color:#A97A4F;box-shadow:0 0 0 3px rgba(169,122,79,.15)}
.zv-gq-act{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.zv-gq-act .zv-btn{border:0;cursor:pointer;font-family:inherit}
.zv-gq-done{grid-template-columns:minmax(0,1fr);gap:8px}
.zv-gq-done h3{margin:0;font-size:30px;font-weight:500;color:var(--zv-ink)}.zv-gq-done p{margin:0;line-height:1.7}
@media (max-width:900px){.zv-gq{padding:56px 16px}.zv-gq-in{gap:28px}.zv-gq-form{grid-template-columns:minmax(0,1fr);padding:22px}}
.zv-err{color:#A4473A;font-size:13px;font-weight:500}

/* ===== Foglaló app (Szaunagarden menet) ===== */
.zw{max-width:1100px;margin:0 auto;padding:36px 24px 96px}
.zw [hidden]{display:none !important}
.zw-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;margin-bottom:22px}
.zw-head .zv-kick{font-size:40px}
.zw-head h1{margin:0;font-size:clamp(34px,3.6vw,50px);line-height:1.05;color:var(--zv-ink)}
.zw-steps{display:flex;justify-content:center;border-bottom:1.5px solid var(--zv-line);margin-bottom:14px}
.zw-step{position:relative;padding:0 18px 8px;font-size:15px;font-weight:500;color:#BCB0A3;letter-spacing:.02em;transition:color .2s}
.zw-step::after{content:"";position:absolute;left:0;right:0;bottom:-1.5px;height:2.5px;border-radius:2px;background:transparent;transition:background .2s}
.zw-step.is-on{color:var(--zv-car);font-weight:600}.zw-step.is-on::after{background:var(--zv-car)}
.zw-step.is-done{color:var(--zv-mute)}.zw-step.is-done::after{background:rgba(156,107,66,.35)}
.zw-panel{background:var(--zv-card);border:1px solid var(--zv-line);border-radius:22px;padding:26px;box-shadow:0 24px 50px -40px rgba(59,47,39,.5)}
.zw-titlerow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.zw-titlerow .zw-title{margin:0}
.zw-title{margin:0 0 20px;font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(26px,2.6vw,32px);line-height:1.1;color:var(--zv-ink)}
.zw-title em{font-style:italic;color:var(--zv-car-l)}
.zw-giftbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 22px;border:0;border-radius:999px;background:linear-gradient(135deg,#B88C65,#8E5F38);color:#FFFDF9;font:600 14px/1 'Montserrat',sans-serif;cursor:pointer;box-shadow:0 12px 26px -16px rgba(92,70,53,.8);transition:transform .25s}
.zw-giftbtn:hover{transform:translateY(-2px)}
.zw-svcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.zw-svcs--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.zw-svc{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--zv-line);border-radius:14px;background:#FBF8F3;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .18s,background .18s,transform .25s;-webkit-tap-highlight-color:rgba(169,122,79,.2)}
.zw-svc:hover{border-color:#C9A886;transform:translateY(-1px)}
.zw-svc.is-on{border:2px solid var(--zv-car);padding:11px 13px;background:#FBF3EA}
.zw-svc-ic{flex:none;width:50px;height:50px;border-radius:50%;background:#F3ECE2;display:flex;align-items:center;justify-content:center;transition:background .3s}
.zw-svc-ic img{width:38px;height:34px;object-fit:contain;mix-blend-mode:multiply;opacity:.75;transition:opacity .3s,transform .5s}
.zw-svc:hover .zw-svc-ic img,.zw-svc.is-on .zw-svc-ic img{opacity:1;transform:scale(1.08)}
.zw-svc-tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.zw-svc-tx b{font-size:15.5px;font-weight:700;color:var(--zv-ink)}
.zw-svc-tx small{font-size:13px;color:#7A5A3E}
.zw-svc-tx i{font-style:normal;font-size:11.5px;font-weight:600;color:var(--zv-sage-d)}
.zw-fine{margin:8px 0 0;font-size:12px;line-height:1.5;color:#A39588}
.zw-persons{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;font-size:15px}
.zw-persons small{color:#A39588;font-size:13px}
.zw-ctrl{display:flex;align-items:center;gap:10px}
.zw-ctrl b{min-width:22px;text-align:center;font-size:17px;color:var(--zv-ink)}
.zw-pm{width:34px;height:34px;border-radius:50%;border:1px solid #DCCFC0;background:#fff;font-size:18px;line-height:1;color:var(--zv-txt);cursor:pointer}
.zw-pm:hover{background:#F3ECE2}
.zw-total{margin-top:12px;padding:10px 14px;border-radius:12px;background:#FBF3EA;border:1px solid #EAD6BF;font-size:15px;color:#7A5A3E}
.zw-total b{color:var(--zv-car);font-size:17px}
.zw-btnrow{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px}
.zw-btnrow--c{justify-content:center}
.zw-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 26px;border-radius:999px;font:600 14.5px/1 'Montserrat',sans-serif;cursor:pointer;text-decoration:none;transition:background .2s,opacity .2s,transform .2s}
.zw-btn--main{border:0;background:var(--zv-car);color:#FFFDF9 !important;box-shadow:0 12px 26px -16px rgba(92,70,53,.8)}
.zw-btn--main:hover{background:var(--zv-car-d)}
.zw-btn--main:disabled{opacity:.38;pointer-events:none;box-shadow:none}
.zw-btn--ghost{border:1px solid #DCCFC0;background:transparent;color:var(--zv-txt) !important}
.zw-btn--ghost:hover{background:#F6F0E8}
.zw-label{display:block;margin-bottom:6px;font-size:13.5px;font-weight:600;color:var(--zv-txt)}
.zw-label small,.zw-label i{font-weight:400;font-style:normal;color:#A39588}
.zw-calhead{display:flex;align-items:center;justify-content:space-between;max-width:460px;margin-bottom:10px}
.zw-caltitle{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;font-weight:600;color:var(--zv-ink)}
.zw-calnav{width:36px;height:36px;border-radius:10px;border:1px solid var(--zv-line);background:#fff;font-size:20px;line-height:1;color:var(--zv-txt);cursor:pointer}
.zw-calnav:disabled{opacity:.3;pointer-events:none}
.zw-calgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-width:460px}
.zw-dow span{text-align:center;font-size:12px;font-weight:600;color:#A39588;padding:4px 0}
.zw-day{height:42px;border-radius:10px;border:1px solid transparent;background:transparent;font:500 15px/1 'Montserrat',sans-serif;color:#C9BEB3;cursor:default}
.zw-day.is-free{color:var(--zv-ink);background:#F4F6EF;border-color:#DCE2D1;cursor:pointer}
.zw-day.is-free:hover{border-color:var(--zv-sage)}
.zw-day.is-full{color:#C08D7E;text-decoration:line-through;opacity:.6}
.zw-day.is-today{box-shadow:inset 0 0 0 1.5px var(--zv-car-l)}
.zw-day.is-on{background:var(--zv-car);border-color:var(--zv-car);color:#FFFDF9}
.zw-calgrid.is-loading{opacity:.45}
#zwTimesWrap{margin-top:18px}
.zw-times{display:flex;flex-wrap:wrap;gap:8px}
.zw-time{display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:9px 18px;border-radius:999px;border:1px solid var(--zv-line);background:#FBF8F3;font:500 15px/1.2 'Montserrat',sans-serif;color:var(--zv-txt);cursor:pointer;transition:all .15s}
.zw-time:hover{border-color:#C9A886;color:var(--zv-ink)}
.zw-time small{font-size:11.5px;font-weight:500;color:var(--zv-sage-d)}
.zw-time--d{border-radius:16px;align-items:flex-start;padding:10px 16px}
.zw-time.is-on{background:var(--zv-car);border-color:var(--zv-car);color:#FFFDF9}
.zw-time.is-on small{color:#F3E4D3}
.zw-time.is-full,.zw-time:disabled{opacity:.4;text-decoration:line-through;pointer-events:none}
.zw-time.is-full small{color:#B0504A}
.zw-count{margin-top:16px;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.5}
.zw-count--low{background:#FBF3EA;border:1px solid #EAD6BF;color:#7A5A3E}
.zw-count--ok{background:#F1F4EC;border:1px solid #CCD5BF;color:var(--zv-sage-d)}
.zw-count--full{background:#FBEDEA;border:1px solid #EFC3B9;color:#9A4136}
.zw-bar{display:block;height:6px;margin-top:8px;border-radius:3px;background:rgba(0,0,0,.07);overflow:hidden}
.zw-bar i{display:block;height:100%;border-radius:3px;background:var(--zv-car-l);transition:width .4s}
.zw .zw-travel{display:flex;gap:10px;align-items:flex-start;margin:20px 0 0;padding:10px 14px;border-radius:12px;background:var(--zv-sage-l);color:var(--zv-sage-d);font-size:12.5px;line-height:1.5}
.zw-travel svg{flex:none;margin-top:1px}
.zw-summary{margin-bottom:18px;padding:14px 18px;border-radius:14px;background:#FBF8F3;border:1px solid var(--zv-line)}
.zw-sumrow{display:flex;justify-content:space-between;gap:16px;padding:5px 0;font-size:15px}
.zw-sumrow span{color:#A39588}.zw-sumrow b{font-weight:600;color:var(--zv-ink);text-align:right}
.zw-welcome{margin-bottom:12px;padding:9px 14px;border-radius:10px;background:#FBF3EA;border:1px solid #EAD6BF;font-size:13.5px;color:#7A5A3E}
.zw-welcome button{border:0;background:none;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.zw-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin-bottom:12px;align-items:start}
.zw-in{width:100%;min-height:46px;padding:10px 14px;border:1px solid #E2D6C8;border-radius:12px;background:#fff;font:400 15px/1.3 'Montserrat',sans-serif;color:var(--zv-ink);outline:none;transition:border-color .15s,box-shadow .15s}
.zw-in:focus{border-color:var(--zv-car-l);box-shadow:0 0 0 3px rgba(169,122,79,.15)}
.zw-coupon{display:flex;gap:8px}
.zw-coupon .zw-in{text-transform:uppercase;letter-spacing:.06em}
.zw-coupon .zw-btn{min-height:46px;padding:0 16px;flex:none}
.zw-codemsg{margin:6px 0 0;font-size:13px}.zw-codemsg.ok{color:var(--zv-sage-d)}.zw-codemsg.bad{color:#A4473A}
.zw-remember,.zw-check{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;line-height:1.45;color:var(--zv-mute);cursor:pointer}
.zw-remember{padding-top:30px}
.zw-remember input,.zw-check input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--zv-car);flex:none}
.zw-check{margin-top:12px}.zw-check a{color:var(--zv-car)}
.zw-error{margin:12px 0 0;padding:9px 14px;border-radius:10px;background:#FBEDEA;border:1px solid #EFC3B9;color:#9A4136;font-size:14px}
.zw-sub{display:block;margin:6px 0 10px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#A39588}
.zw-pay{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.zw-payopt{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--zv-line);border-radius:12px;background:#FBF8F3;cursor:pointer}
.zw-payopt.is-on{border:2px solid var(--zv-car);padding:11px 13px;background:#FBF3EA}
.zw-payopt input{accent-color:var(--zv-car);margin-top:3px}
.zw-payopt b{display:block;font-size:14.5px;color:var(--zv-ink)}.zw-payopt small{display:block;font-size:12.5px;color:var(--zv-mute)}
.zw-gsum{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:28px;align-items:start}
.zw-bank{display:flex;flex-direction:column;gap:4px;margin:12px auto;max-width:420px;padding:14px 18px;border-radius:14px;background:#FBF8F3;border:1px solid var(--zv-line);text-align:left}
.zw-success{text-align:center;padding:40px 24px}
.zw-success p{margin:8px 0;line-height:1.7}
.zw-okic{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:var(--zv-sage-l);color:var(--zv-sage-d);display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:inset 0 0 0 1px #CCD5BF}
.zw-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:12px 16px 18px;background:linear-gradient(to top,var(--zv-bg) 60%,rgba(251,247,241,0))}
.zw-sticky .zw-btn{width:100%;min-height:52px;font-size:16px}
@media (max-width:860px){.zw-svcs{grid-template-columns:repeat(2,minmax(0,1fr))}.zw-gsum{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.zw{padding:22px 14px 110px}.zw-panel{padding:18px 16px;border-radius:18px}.zw-svcs,.zw-svcs--2,.zw-row,.zw-pay{grid-template-columns:minmax(0,1fr)}.zw-step{padding:0 10px 8px;font-size:14px}.zw-remember{padding-top:0}.zw-calhead,.zw-calgrid{max-width:none}.zw-btnrow{justify-content:space-between}}
@media (min-width:861px){#zwCalWrap{display:grid;grid-template-columns:460px minmax(0,1fr);column-gap:40px;align-items:start}#zwCalWrap>.zw-calhead,#zwCalWrap>.zw-calgrid{grid-column:1}#zwTimesWrap{grid-column:2;grid-row:1 / span 3;margin-top:4px;padding:18px;border-radius:16px;background:#FBF8F3;border:1px solid var(--zv-line);min-height:200px}}
@media (max-width:759px){#zwNext1,#zwNext2{display:none}#zwList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.zw-time--d{font-size:13.5px;padding:9px 12px}}
.zw-time--d{text-align:left;gap:3px}.zw-time--d b{font-weight:600;font-size:14.5px}.zw-time--d span{font-size:13.5px}.zw-time--d small{font-size:12px}

/* Szolgáltatások lenyíló menü */
.zv-header-in{position:relative}
.zv-dd{position:static;display:flex;align-items:center}
.zv-root .zv-dd-t{display:inline-flex;align-items:center;gap:5px;color:#3B2F27;text-decoration:none;font-size:13.5px;font-weight:500;padding:6px 0;border-bottom:1.5px solid transparent;white-space:nowrap;transition:color .25s,border-color .25s}
.zv-root .zv-dd-t svg{transition:transform .3s}
.zv-root .zv-dd-t:hover,.zv-dd.is-open .zv-dd-t{color:var(--zv-car)}
.zv-root .zv-dd-t.is-on{color:var(--zv-car);border-bottom-color:var(--zv-car)}
.zv-dd.is-open .zv-dd-t svg{transform:rotate(180deg)}
.zv-dd-panel{position:absolute;z-index:60;top:calc(100% - 2px);left:50%;width:min(980px,calc(100vw - 24px));translate:-50% 8px;opacity:0;visibility:hidden;pointer-events:none;padding:18px;border-radius:22px;background:#FFFDF9;box-shadow:0 30px 60px -28px rgba(59,47,39,.45),inset 0 0 0 1px var(--zv-line);transition:opacity .25s,translate .3s cubic-bezier(.2,.8,.2,1),visibility .25s}
.zv-dd.is-open .zv-dd-panel{opacity:1;visibility:visible;pointer-events:auto;translate:-50% 0}
.zv-dd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.zv-root a.zv-dd-i{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;text-decoration:none;color:var(--zv-txt);transition:background .2s}
.zv-root a.zv-dd-i:hover,.zv-root a.zv-dd-i:focus-visible{background:#F6EFE6}
.zv-dd-ic{flex:none;width:44px;height:44px;border-radius:50%;background:#F3ECE2;display:flex;align-items:center;justify-content:center}
.zv-dd-ic img{width:34px;height:30px;object-fit:contain;mix-blend-mode:multiply}
.zv-dd-tx{display:flex;flex-direction:column;gap:1px;min-width:0}
.zv-dd-tx b{font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;font-weight:600;line-height:1.1;color:var(--zv-ink)}
.zv-dd-tx small{font-size:12px;color:var(--zv-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zv-dd-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--zv-line)}
.zv-root .zv-dd-foot a{font-size:13px;font-weight:600;color:#8E5F38;text-decoration:none;padding:6px 4px}
.zv-root .zv-dd-foot a:hover{text-decoration:underline}
@media (max-width:860px){
	.zv-dd-panel{top:100%;left:10px;right:10px;width:auto;translate:0 8px;max-height:72vh;overflow:auto;padding:12px}
	.zv-dd.is-open .zv-dd-panel{translate:0 0}
	.zv-dd-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){.zv-nav{flex-wrap:wrap;justify-content:center;overflow:visible;gap:2px 16px;padding-bottom:4px}.zv-root .zv-nav a,.zv-root .zv-dd-t{font-size:13px}}

/* Szolgáltatás oldal – egy képernyő */
.zv-one{position:relative;overflow:hidden}
.zv-one-leaf{position:absolute;left:-80px;bottom:-30px;width:330px;mix-blend-mode:multiply;opacity:.7;rotate:14deg;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 45%,transparent 72%);mask-image:radial-gradient(ellipse at 50% 50%,#000 45%,transparent 72%)}
.zv-one-in{position:relative;max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);height:clamp(560px,calc(100svh - 76px),860px)}
.admin-bar .zv-one-in{height:clamp(560px,calc(100svh - 108px),860px)}
.zv-one-tx{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:24px 28px 28px clamp(24px,5.6vw,88px);min-height:0}
.zv-one-head{display:flex;align-items:center;gap:16px}
.zv-one-ic{flex:none;width:66px;height:66px;border-radius:50%;background:#F3ECE2;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1.4px #DCC7AF}
.zv-one-ic img{width:48px;height:44px;object-fit:contain;mix-blend-mode:multiply}
.zv-one-kick{display:block;font-size:34px;line-height:.9;color:var(--zv-car-l)}
.zv-one-head h1{margin:0;font-size:clamp(38px,4vw,60px);line-height:1;color:var(--zv-ink)}
.zv-one-lead{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(19px,1.6vw,23px);font-style:italic;color:#7A5A3E}
.zv-one-desc{margin:0;font-size:15px;line-height:1.65;max-width:520px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.zv-one-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;max-width:560px}
.zv-fact{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;padding:10px 12px;border-radius:14px;background:#FFFDF9;box-shadow:inset 0 0 0 1px var(--zv-line)}
.zv-fact svg{grid-row:1 / span 2;color:var(--zv-car-l)}
.zv-fact small{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#A39588}
.zv-fact b{font-size:13.5px;font-weight:600;color:var(--zv-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zv-one-k{display:block;margin-bottom:7px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#A39588}
.zv-one-slots .zv-slot small{color:inherit;opacity:.75}
.zv-one-packs{display:flex;flex-direction:column;gap:6px;max-width:560px;font-size:13px;line-height:1.5}
.zv-one-packs span{padding:8px 12px;border-radius:12px;background:#FFFDF9;box-shadow:inset 0 0 0 1px var(--zv-line)}
.zv-one-packs b{color:#8E5F38;margin-right:4px}
.zv-one .zv-btns .zv-btn svg{margin-right:-2px}
.zv-one-note{display:flex;gap:8px;align-items:center;margin:0;font-size:12px;color:var(--zv-sage-d)}
.zv-one-img{position:relative;min-height:0}
.zv-one-img svg{position:absolute;inset:0;width:100%;height:100%;display:block}
@media (max-height:720px) and (min-width:901px){.zv-one-desc{-webkit-line-clamp:3}.zv-one-tx{gap:10px}.zv-one-head h1{font-size:44px}}
@media (max-width:900px){
	.zv-one-in{grid-template-columns:minmax(0,1fr);height:auto}
	.admin-bar .zv-one-in{height:auto}
	.zv-one-img{order:-1;height:42vw;min-height:200px;max-height:320px}
	.zv-one-img svg{position:absolute}
	.zv-one-tx{padding:6px 18px 32px;gap:12px}
	.zv-one-ic{width:54px;height:54px}.zv-one-ic img{width:40px;height:36px}
	.zv-one-desc{-webkit-line-clamp:unset;display:block}
	.zv-one-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.zv-one-facts{max-width:620px;grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}
.zv-fact b{white-space:normal;line-height:1.25}
@media (max-width:900px){.zv-one-slots .zv-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.zv-one-slots .zv-slot{font-size:12.5px;padding:8px 10px}}
.zv-one-facts{grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px}
/* hover-híd a menüfelirat és a panel között */
.zv-dd-panel::before{content:"";position:absolute;left:0;right:0;top:-44px;height:46px}

/* Rólam oldal */
.zv-about{position:relative;overflow:hidden;padding:48px 28px 72px}
.zv-about-leaf{position:absolute;right:-60px;top:20px;width:340px;opacity:.75;mix-blend-mode:multiply;transform:scaleX(-1);-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 45%,transparent 72%);mask-image:radial-gradient(ellipse at 50% 50%,#000 45%,transparent 72%)}
.zv-about-in{position:relative;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,72px);align-items:center}
.zv-about-photo{position:relative;margin:0}
.zv-about-frame{position:relative;aspect-ratio:4 / 5;border-radius:48% 48% 28px 28px / 36% 36% 28px 28px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(59,47,39,.55)}
.zv-about-frame::after{content:"";position:absolute;inset:12px;border-radius:inherit;border:1.5px solid rgba(255,253,249,.7);pointer-events:none}
.zv-about-frame img{width:100%;height:100%;object-fit:cover;display:block}
.zv-about-sprig{position:absolute;left:-46px;bottom:-30px;width:150px;mix-blend-mode:multiply;rotate:-8deg;pointer-events:none}
.zv-about-tx{display:flex;flex-direction:column;gap:14px}
.zv-about-tx h1{margin:0;font-size:clamp(40px,4.4vw,64px);line-height:1.02;color:var(--zv-ink)}
.zv-about-role{margin:0;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--zv-sage-d)}
.zv-about-lead{margin:6px 0 0;padding:4px 0 4px 18px;border-left:2px solid #D6C6B2;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:clamp(21px,1.9vw,26px);line-height:1.35;color:#7A5A3E}
.zv-about-body p{margin:0 0 12px;font-size:15.5px;line-height:1.75}
.zv-about-quals{display:flex;flex-wrap:wrap;gap:8px}
.zv-about-quals span{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;background:var(--zv-sage-l);color:var(--zv-sage-d);font-size:13px;font-weight:600;box-shadow:inset 0 0 0 1px #CCD5BF}
.zv-about-sign{font-size:52px;line-height:1;color:var(--zv-car-l);margin:-4px 0 4px}
@media (max-width:900px){.zv-about{padding:24px 18px 48px}.zv-about-in{grid-template-columns:minmax(0,1fr)}.zv-about-photo{max-width:340px;margin:0 auto}.zv-about-sprig{width:110px;left:-24px}}
.zv-about-frame{aspect-ratio:1 / 1.08;max-width:440px;margin-left:auto}
.zv-about-frame img{object-position:50% 30%}
.zv-bizcard-name{display:block;margin-bottom:2px;font-size:24px;font-weight:600;color:var(--zv-ink)}
.zv-bizcard-name{display:block;margin-bottom:2px;font-size:24px;font-weight:600;color:var(--zv-ink)}

/* Szolgáltatás oldal – kisebb, animált kép */
.zv-one-in{grid-template-columns:minmax(0,6fr) minmax(0,5fr);max-width:1240px}
.zv-one-img{display:none}
.zv-one-vis{position:relative;align-self:center;justify-self:center;width:min(100%,420px);aspect-ratio:1 / 1.12;margin-right:clamp(0px,3vw,40px)}
.zv-one-blob{position:absolute;inset:6% -6% -4% 8%;background:linear-gradient(140deg,#EDE4DB,#E3EADB);border-radius:58% 42% 50% 50% / 46% 54% 46% 54%;animation:zv-blob 14s ease-in-out infinite}
.zv-one-ring{position:absolute;inset:-4% 4% 8% -6%;border:1.5px dashed rgba(169,122,79,.45);border-radius:50%;animation:zv-spin 60s linear infinite}
.zv-one-arch{position:absolute;inset:4% 8% 6% 6%;overflow:hidden;border-radius:999px 999px 34px 34px;box-shadow:0 34px 60px -30px rgba(59,47,39,.55);animation:zv-float 7s ease-in-out infinite}
.zv-one-arch::after{content:"";position:absolute;inset:10px;border-radius:inherit;border:1.5px solid rgba(255,253,249,.75);pointer-events:none}
.zv-one-arch img{width:100%;height:100%;object-fit:cover;display:block;animation:zv-kb 16s ease-in-out infinite;transform-origin:50% 40%}
.zv-one-sprig{position:absolute;left:-14%;bottom:-6%;width:42%;mix-blend-mode:multiply;transform-origin:20% 90%;animation:zv-one-sway 6s ease-in-out infinite;pointer-events:none}
.zv-one-badge{position:absolute;right:2%;bottom:12%;width:78px;height:78px;border-radius:50%;background:#FFFDF9;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 30px -14px rgba(59,47,39,.5),inset 0 0 0 1.5px #DCC7AF;animation:zv-float 7s 1.2s ease-in-out infinite}
.zv-one-badge img{width:54px;height:50px;object-fit:contain;mix-blend-mode:multiply}
.zv-one-head .zv-one-ic{display:none}
@keyframes zv-blob{0%,100%{border-radius:58% 42% 50% 50% / 46% 54% 46% 54%;transform:rotate(0)}50%{border-radius:44% 56% 42% 58% / 56% 44% 56% 44%;transform:rotate(6deg)}}
@keyframes zv-float{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes zv-spin{to{rotate:360deg}}
@keyframes zv-one-sway{0%,100%{rotate:-4deg}50%{rotate:3deg}}
@media (prefers-reduced-motion:reduce){.zv-one-blob,.zv-one-ring,.zv-one-arch,.zv-one-arch img,.zv-one-sprig,.zv-one-badge{animation:none}}
@media (max-width:900px){.zv-one-in{grid-template-columns:minmax(0,1fr)}.zv-one-vis{order:-1;width:min(72vw,300px);margin:8px auto 0}.zv-one-badge{width:62px;height:62px}.zv-one-badge img{width:42px;height:38px}}
.zv-one-vis{width:min(100%,370px)}
.zv-one-arch{border-radius:999px 999px 999px 999px / 50% 50% 22% 22%}
.zv-one-arch{border-radius:50% 50% 30px 30px / 43% 43% 30px 30px}
@media (max-width:900px){.zv-one-vis{width:min(64vw,260px);margin:14px auto 4px}}
.zv-one--stretching .zv-one-arch img{object-position:68% 40%}
.zv-one--joga .zv-one-arch img{object-position:30% 50%}
.zv-one--yumeiho .zv-one-arch img{object-position:62% 50%}
.zv-one--yumeiho .zv-one-arch img{object-position:38% 55%}
/* Helyszínválasztó (foglalás) */
.zw-locs{margin-top:18px}
.zw-locgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.zw-loc{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--zv-line);border-radius:14px;background:#FBF8F3;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .18s,background .18s}
.zw-loc svg{flex:none;margin-top:2px;color:var(--zv-car-l)}
.zw-loc span{display:flex;flex-direction:column;gap:2px}
.zw-loc b{font-size:15px;color:var(--zv-ink)}
.zw-loc small{font-size:12.5px;color:var(--zv-mute)}
.zw-loc .zw-loc-tag{color:var(--zv-sage-d);font-weight:600}
.zw-loc:hover{border-color:#C9A886}
.zw-loc.is-on{border:2px solid var(--zv-car);padding:11px 13px;background:#FBF3EA}
.zv-fact--wide{grid-column:1 / -1}
@media (max-width:600px){.zw-locgrid{grid-template-columns:minmax(0,1fr)}}
.zv-one--senior-torna .zv-one-arch img{object-position:50% 40%}
.zv-fact--loc{grid-column:auto}

/* Szolgáltatás oldal – helyszínválasztó */
.zv-one-locs{margin:14px 0 4px}
.zv-locs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:8px}
.zv-loc{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:1.5px solid #e4d8c7;background:#fffdf9;color:inherit;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.zv-loc:hover,.zv-loc:focus-visible{border-color:#9a6a3f;box-shadow:0 8px 22px rgba(120,80,40,.12);transform:translateY(-1px)}
.zv-loc-ic{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eef3e9;color:#5d7a4f}
.zv-loc-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.zv-loc-tx b{font-size:15px;line-height:1.25}
.zv-loc-tx small{font-size:12.5px;color:#7a6a58}
.zv-loc-go{flex:none;font-size:12.5px;font-weight:600;color:#9a6a3f;white-space:nowrap}
@media (max-width:480px){.zv-loc-go{display:none}}

/* Foglalás 2. lépés – helyszín gombok */
.zw-loctabs{margin:-4px 0 16px}
.zw-loctabs-in{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.zw-loctab{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:999px;border:1.5px solid var(--zv-line,#e4d8c7);background:#FBF8F3;font:inherit;font-size:14px;font-weight:600;color:inherit;cursor:pointer;transition:all .18s}
.zw-loctab svg{color:#9a6a3f}
.zw-loctab:hover{border-color:#9a6a3f}
.zw-loctab.is-on{background:#9a6a3f;border-color:#9a6a3f;color:#fff}
.zw-loctab.is-on svg{color:#fff}

/* Szolgáltatás oldal – helyszín gombok */
.zv-loctabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.zv-loctab{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 14px;border-radius:16px;border:1.5px solid #e4d8c7;background:#fffdf9;font:inherit;color:inherit;cursor:pointer;text-align:left;transition:all .18s}
.zv-loctab svg{flex:none;color:#9a6a3f}
.zv-loctab span{display:flex;flex-direction:column;gap:1px}
.zv-loctab b{font-size:14.5px;line-height:1.2}
.zv-loctab small{font-size:12px;opacity:.75}
.zv-loctab:hover{border-color:#9a6a3f}
.zv-loctab.is-on{background:#9a6a3f;border-color:#9a6a3f;color:#fff;box-shadow:0 8px 20px rgba(154,106,63,.25)}
.zv-loctab.is-on svg{color:#fff}
.zv-slot[hidden]{display:none!important}
.zv-noslot{font-size:13.5px;color:#7a6a58;margin:6px 0 0}

/* Szolgáltatás kártyák – fotóval (ikon helyett) */
.zs-card{padding:0 0 22px}
.zs-card > :not(.zs-img):not(.zs-leaf){margin-left:24px;margin-right:24px}
.zs-img{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:24px 24px 0 0;margin-bottom:4px;background:#EFE6DA}
.zs-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.zs-img::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(to top,rgba(255,253,249,.55),transparent);pointer-events:none}
.zs-card:hover .zs-img img{transform:scale(1.06)}
/* Menü – kis fotó ikon helyett */
.zv-dd-ic{overflow:hidden;background:#EFE6DA;box-shadow:0 0 0 2px #fff,0 4px 10px -4px rgba(59,47,39,.35)}
.zv-dd-ic img{width:100%;height:100%;object-fit:cover;mix-blend-mode:normal}
/* Szolgáltatás kártyák – kompakt, 2 sorban (5 oszlop) */
.zs-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.zs-card{gap:6px;padding-bottom:16px;border-radius:20px}
.zs-card > :not(.zs-img):not(.zs-leaf){margin-left:16px;margin-right:16px}
.zs-img{aspect-ratio:4/3;border-radius:20px 20px 0 0;margin-bottom:2px}
.zs-t{font-size:22px}
.zs-d{font-size:12.5px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.zs-more{margin-top:auto;font-size:12.5px}
.zs-leaf{width:130px;right:-44px}
.zs-cta{padding:20px 18px;gap:10px;border-radius:20px}
.zs-cta .zv-script{font-size:30px;line-height:1}
.zs-cta > span:not(.zv-script){font-size:12.5px;line-height:1.45}
.zs-cta .zv-btn{padding:10px 16px;font-size:13px}
@media (max-width:1100px){.zs-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:860px){.zs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.zs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.zs-t{font-size:19px}.zs-card > :not(.zs-img):not(.zs-leaf){margin-left:12px;margin-right:12px}.zs-d{-webkit-line-clamp:2}.zs-cta{padding:14px 12px}.zs-cta .zv-script{font-size:24px}}
/* A menügomb mindig kattintható maradjon (a lenyíló panel „híd” része ne takarja) */
.zv-root .zv-dd-t{position:relative;z-index:62}
.zv-root .zv-nav > a{position:relative;z-index:62}
/* Lábléc – kompakt (programlista nélkül) */
.zv-footer-in{padding:36px 28px 22px;gap:24px}
.zv-footer-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:center}
.zv-bizcard{flex-direction:row;align-items:center;gap:26px;padding:20px 24px}
.zv-bizcard-logo{height:64px;align-self:center}
.zv-bizcard-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;font-size:13.5px;flex:1}
.zv-bizcard-name{grid-column:1/-1;font-size:22px;margin:0}
.zv-ct-ic{width:28px;height:28px}
.zv-footer-gift{padding-top:0;gap:8px}
.zv-footer-k{font-size:28px}
.zv-footer-gift .zv-footer-p{font-size:13px;line-height:1.5}
.zv-footer-gift .zv-btn{padding:10px 18px;font-size:13px}
.zv-footer-leaf{width:240px;bottom:10px}
.zv-footer-bottom{padding-top:16px}
@media (max-width:900px){.zv-footer-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.zv-bizcard{flex-direction:column;align-items:flex-start;gap:14px;padding:18px}.zv-bizcard-rows{grid-template-columns:minmax(0,1fr)}.zv-footer-in{padding:28px 18px 18px}}
.zv-root .zv-footer a.zv-ct,.zv-root .zv-footer a.zv-ct:visited{color:#3B2F27 !important;text-decoration:none !important}
.zv-root .zv-footer a.zv-ct:hover{color:var(--zv-car) !important}
.zv-root .zv-footer-gift .zv-btn{padding:11px 20px;min-height:0;font-size:13px}
@media (max-width:600px){.zv-bizcard-logo{align-self:flex-start;height:56px}}
/* Egy képernyős szekciók (főoldal) */
.zv-screen{min-height:calc(100svh - 72px);display:flex;flex-direction:column;justify-content:center}
.zv-services.zv-screen{padding:36px 0 40px}
.zv-services.zv-screen .zv-head{margin-bottom:22px}
.zv-services.zv-screen .zv-head p{margin-top:2px}
.zv-services.zv-screen .zs-img{aspect-ratio:16/10}
/* Egyensúlyban + közelgő időpontok */
.zv-balance.zv-screen{justify-content:space-evenly;gap:8px;padding:12px 0 20px}
.zv-tours--in{background:none;overflow:visible}
.zv-tours--in .zv-tours-leaf{display:none}
.zv-tours--in .zv-tours-in{padding:18px clamp(16px,3vw,40px) 6px;margin:0 auto;max-width:1280px;width:100%;grid-template-columns:minmax(0,1fr) minmax(0,2.6fr);gap:28px;align-items:center;background:var(--zv-sand);border-radius:28px}
.zv-tours--in .zv-tours-head{gap:10px}
.zv-tours--in .zv-tours-head .zv-h2{font-size:clamp(26px,2.4vw,36px);margin:0}
.zv-tours--in .zv-tours-head p{font-size:13.5px;line-height:1.6}
.zv-tours--in .zv-tours-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-bottom:12px}
.zv-tours--in .zv-row{flex-wrap:nowrap;gap:12px;padding:10px 14px 10px 10px;border-radius:18px}
.zv-tours--in .zv-row-main{flex:1 1 auto;min-width:0;gap:2px}
.zv-tours--in .zv-row-t{font-size:20px}
.zv-tours--in .zv-row-k{font-size:10.5px;letter-spacing:.1em}
.zv-tours--in .zv-row-s{font-size:12px}
.zv-tours--in .zv-row-act{flex-direction:column;align-items:flex-end;gap:6px}
.zv-tours--in .zv-row-p{font-size:12.5px;white-space:nowrap}
.zv-tours--in .zv-row-act .zv-btn{min-height:34px;padding:0 14px;font-size:12.5px}
.zv-row-ph{flex:none;width:56px;height:56px;border-radius:50%;overflow:hidden;background:#EFE6DA;box-shadow:0 0 0 2px #fff,0 6px 14px -8px rgba(59,47,39,.45)}
.zv-row-ph img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:1000px){.zv-tours--in .zv-tours-in{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.zv-screen{min-height:0}.zv-tours--in .zv-tours-list{grid-template-columns:minmax(0,1fr)}.zv-tours--in .zv-tours-in{border-radius:20px;margin:0 12px;width:auto}}
.zv-services.zv-screen{padding:24px 0 28px}
.zv-services.zv-screen .zv-head{margin-bottom:18px;gap:2px}
.zv-services.zv-screen .zv-head .zv-h2{margin:0}
.zv-services.zv-screen .zs-img{aspect-ratio:16/9}
.zv-services.zv-screen .zs-d{-webkit-line-clamp:2}
.zv-services.zv-screen .zs-card{gap:5px;padding-bottom:14px}
@media (max-height:860px) and (min-width:701px){
	.zv-services.zv-screen .zs-img{aspect-ratio:2/1}
	.zv-services.zv-screen .zv-head p{display:none}
	.zv-services.zv-screen .zs-t{font-size:20px}
	.zv-balance.zv-screen .zv-balance-img{max-height:34vh}
	.zv-tours--in .zv-tours-head p{display:none}
}
@media (max-width:700px){
	.zv-tours--in .zv-row{flex-wrap:wrap}
	.zv-tours--in .zv-row-main{flex:1 1 calc(100% - 80px)}
	.zv-tours--in .zv-row-act{flex:1 1 100%;flex-direction:row;justify-content:space-between;align-items:center;padding-left:68px}
	.zv-tours--in .zv-row-k{letter-spacing:.06em}
}
