/* Foglalási oldal – a style.css-re épül */
.booking-page{background:#101815}
.bk-hero{position:relative;padding:190px 4.5vw 80px;background:radial-gradient(ellipse at 75% 30%,#2c4035 0,#17231d 45%,#101815 78%)}
.bk-hero .eyebrow{position:static;margin-bottom:26px}
.bk-hero h1{position:static;font-size:clamp(60px,8vw,128px)}
.bk-hero p{max-width:520px;color:#bdc9be;line-height:1.8;margin:34px 0 0;font-size:17px}

.bk{background:#eef0e8;color:#18281f;padding:70px 4.5vw 110px}
.bk-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:60px;align-items:start}
.bk-step{border:0;margin:0 0 56px;padding:0;min-width:0}
.bk-step[disabled]{opacity:.42}
.bk-step legend{display:flex;align-items:baseline;gap:18px;font-size:clamp(28px,3vw,44px);letter-spacing:-.05em;padding:0 0 26px;width:100%;border-bottom:1px solid #56745d40;margin-bottom:30px}
.bk-step legend span{font-size:12px;letter-spacing:1.3px;color:#56745d}
.bk-hint,.bk-muted{color:#4e6153;font-size:15px;margin:0 0 22px}

/* egységkártyák */
.unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.unit-card{display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid #c9d2c4;background:#f8f9f4;color:#18281f;transition:border-color .2s,box-shadow .2s,transform .2s}
.unit-card:hover{border-color:#56745d;transform:translateY(-2px)}
.unit-card[aria-checked="true"]{border-color:#18281f;box-shadow:0 0 0 2px #18281f}
.unit-card.is-house{grid-column:1/-1;flex-direction:row}
.unit-img{display:block;aspect-ratio:16/10;overflow:hidden;background:#d5dccf}
.unit-card.is-house .unit-img{flex:0 0 46%;aspect-ratio:auto;min-height:220px}
.unit-img img{width:100%;height:100%;object-fit:cover;display:block}
.unit-body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;flex:1}
.unit-body strong{font-size:22px;font-weight:400;letter-spacing:-.04em}
.unit-card.is-house .unit-body strong{font-size:34px}
.unit-body small{color:#4e6153;line-height:1.55;font-size:13px}
.unit-meta{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:#2f4636}
.unit-meta span:last-child{font-weight:700}

/* naptár */
.cal-wrap{position:relative}
.cal-nav{position:absolute;top:-4px;left:0;right:0;display:flex;justify-content:space-between;pointer-events:none}
.cal-nav button{pointer-events:auto;width:40px;height:40px;border-radius:50%;border:1px solid #9fb0a3;background:#f8f9f4;font-size:16px}
.cal-nav button:disabled{opacity:.3;cursor:default}
.cal-months{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.cal-month h3{text-align:center;font-weight:400;font-size:18px;margin:6px 0 20px;letter-spacing:-.02em}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-dow{text-align:center;font-size:11px;color:#6b7c70;padding-bottom:8px}
.cal-day{aspect-ratio:1;border:0;background:#f8f9f4;font-size:14px;color:#18281f;position:relative}
.cal-day:not(:disabled):hover{background:#d1edb8}
.cal-day:disabled{cursor:default;color:#a9b3aa;background:transparent}
.cal-day.is-booked{background:repeating-linear-gradient(135deg,#e2e4dc 0 4px,#d7dad0 4px 8px);color:#9aa49c;text-decoration:line-through}
.cal-day.is-checkout-only{background:linear-gradient(135deg,#f8f9f4 50%,#dcdfd5 50%)}
.cal-day.is-range{background:#cfe6bd}
.cal-day.is-in,.cal-day.is-out,.cal-day.is-start{background:#18281f!important;color:#eff3ed!important;text-decoration:none}
.cal-day.is-short{color:#a9b3aa}
.cal-day.is-fee{position:relative}
.cal-day.is-fee::after{content:'';position:absolute;left:50%;bottom:4px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#c58b2c}
.sum-short-note{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#ffffff0f;font-size:12.5px;line-height:1.55;color:#c4d0c6}
.bs-fee{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:#8a6420}
.bs-card.is-house .bs-fee{color:#e2b866}
.cal-legend{display:flex;flex-wrap:wrap;gap:22px;align-items:center;font-size:12px;color:#4e6153;margin-top:22px}
.cal-legend i{display:inline-block;width:14px;height:14px;vertical-align:-2px;margin-right:8px}
.lg-free{background:#f8f9f4;border:1px solid #c9d2c4}
.lg-booked{background:repeating-linear-gradient(135deg,#e2e4dc 0 3px,#cfd3c8 3px 6px)}
.lg-sel{background:#18281f}
.link-btn{background:none;border:0;padding:0;margin-left:auto;text-decoration:underline;font-size:12px;color:#2f4636}

/* létszám */
.guest-rows{display:grid;gap:0}
.guest-row{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid #56745d25}
.guest-row strong{display:block;font-weight:400;font-size:20px;letter-spacing:-.03em}
.guest-row small{color:#4e6153;font-size:12px}
.stepper{display:flex;align-items:center;gap:16px}
.stepper button{width:42px;height:42px;border-radius:50%;border:1px solid #9fb0a3;background:#f8f9f4;font-size:20px;line-height:1}
.stepper button:disabled{opacity:.3;cursor:default}
.stepper output{min-width:24px;text-align:center;font-size:20px}
#guest-hint{margin-top:16px}

/* űrlap */
.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
.field{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#2f4636}
.field.full,.check.full{grid-column:1/-1}
.field input,.field textarea{font:inherit;font-size:16px;padding:14px 16px;border:1px solid #b9c4b5;background:#fbfcf8;color:#18281f;border-radius:0}
.field input:focus,.field textarea:focus{outline:2px solid #18281f;outline-offset:0;border-color:#18281f}
.field em,.check em{font-style:normal;color:#a2361f;font-size:12px;min-height:0}
.has-error input,.has-error textarea{border-color:#a2361f}
.check{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;align-items:start;font-size:14px;line-height:1.5}
.check input{width:20px;height:20px;margin:1px 0 0;accent-color:#18281f}
.check em{grid-column:2}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* összegzés */
.bk-summary{position:sticky;top:30px}
.sum-card{background:#101815;color:#eff3ed;padding:32px}
.sum-eyebrow{font-size:11px;letter-spacing:2px;color:#c4ed99}
.sum-card h2{font-size:34px;margin:14px 0 22px}
.sum-card dl{margin:0;display:grid}
.sum-card dl>div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #ffffff1c;font-size:14px}
.sum-card dt{color:#aebdb2}
.sum-card dd{margin:0;text-align:right}
.sum-price{margin-top:18px!important}
.sum-total{border-bottom:0!important;padding-top:18px!important;font-size:20px!important}
.sum-total dt{color:#eff3ed}
.sum-error{background:#3a1d17;color:#ffd9cf;padding:12px 14px;font-size:14px;line-height:1.5;margin:18px 0 0}
.bk-submit{width:100%;margin-top:24px;padding:18px;border:0;border-radius:40px;background:#c9eeaa;color:#101815;font-size:16px}
.bk-submit:hover:not(:disabled){background:#e2f8cf}
.bk-submit:disabled{opacity:.35;cursor:not-allowed}
.sum-note{font-size:12px;color:#93a497;line-height:1.6;margin:16px 0 0}

/* visszaigazolás */
.bk-confirm{max-width:760px}
.bk-confirm .sum-card{margin-top:40px}
.bk-confirm h2{font-size:clamp(34px,4vw,56px)}
.bk-confirm .next{line-height:1.8;color:#2f4636}

@media(max-width:1000px){.bk-grid{grid-template-columns:1fr}.bk-summary{position:static}}
@media(max-width:750px){
  .bk-hero{padding:150px 6vw 50px}.bk{padding:45px 6vw 65px}
  .unit-card.is-house{flex-direction:column}.unit-card.is-house .unit-img{min-height:0;aspect-ratio:16/10}
  .unit-card.is-house .unit-body strong{font-size:26px}
  .unit-grid{grid-template-columns:1fr;gap:12px}
  .unit-card:not(.is-house){flex-direction:row}
  .unit-card:not(.is-house) .unit-img{flex:0 0 36%;aspect-ratio:auto}
  .unit-card:not(.is-house) .unit-body{padding:14px 14px 14px 16px}
  .unit-card:not(.is-house) .unit-body small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .unit-meta{flex-direction:column;gap:2px}
  .cal-months{grid-template-columns:1fr}
  .fields{grid-template-columns:1fr}
  .sum-card{padding:26px 22px}
}
[hidden]{display:none!important}
.pay-card{margin-top:24px;background:#fffbe8;border:2px solid #ecd58f;padding:26px 28px}
.pay-card .sum-eyebrow{color:#8a6a00}
.pay-card h3{font-size:24px;font-weight:400;letter-spacing:-.03em;margin:10px 0 16px}
.pay-card dl{margin:0;display:grid}
.pay-card dl>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #efe2b5;font-size:15px}
.pay-card dt{color:#6b5a26}.pay-card dd{margin:0;text-align:right;word-break:break-word}
.pay-card p{margin:14px 0 0;line-height:1.6}

/* okmányfeltöltés */
.doc-hero{padding-bottom:50px}
.doc-wrap{max-width:720px;margin:0 auto}
.doc-card{background:#fff;padding:26px 28px;margin-bottom:18px;border:1px solid #dfe3d8}
.doc-card h2{font-size:24px;margin:0 0 12px;display:flex;align-items:center;gap:10px}
.doc-card p{line-height:1.7;margin:0 0 10px}
.doc-rules{margin:10px 0 0;padding-left:20px;line-height:1.8}
.doc-drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border:2px dashed #9fb0a3;padding:34px 16px;cursor:pointer;background:#f7f9f3}
.doc-drop:hover{border-color:#18281f;background:#eef5e6}
.doc-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.doc-drop-ico{width:54px;height:54px;border-radius:50%;background:#18281f;color:#c9eeaa;font-size:30px;display:flex;align-items:center;justify-content:center}
.doc-drop strong{font-size:19px;font-weight:400}
.doc-drop small{color:#4e6153}
.doc-picked{list-style:none;padding:0;margin:14px 0 0}
.doc-picked li{padding:7px 0;border-bottom:1px solid #eef0ea;font-size:14px;display:flex;justify-content:space-between;gap:10px}
.doc-picked small{color:#6b7c70}
.doc-progress{margin:14px 0 0;font-size:14px}
.doc-ok{background:#2f9e44;color:#fff;padding:16px 20px;margin-bottom:18px;font-size:17px}
.doc-err{background:#fbe9e5;color:#a2361f;padding:12px 16px;margin:0 0 12px}
.doc-count{font-size:14px;background:#18281f;color:#c9eeaa;border-radius:20px;padding:2px 10px}
.doc-list{list-style:none;padding:0;margin:0 0 10px}
.doc-list li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #eef0ea;font-size:14px;word-break:break-all}
.doc-list small{color:#6b7c70;white-space:nowrap}
.muted-dark{color:#4e6153;font-size:14px}
.doc-legal{font-size:13px;color:#4e6153;line-height:1.7}
@media(max-width:750px){.doc-card{padding:20px 18px}}

/* számlázási adatok alcím */
.bk-sub{margin:10px 0 -2px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#5d6d62;border-top:1px solid #18281f1a;padding-top:16px}
.field small{font-weight:400;opacity:.7}

/* ---------- Kereső: dátum + létszám → szabad szállások ---------- */
.bk-find{padding-top:0;position:relative;z-index:5;min-height:560px}
.bk-find[hidden],#foglalas[hidden]{display:none}
.bs{position:relative;top:-52px;margin-bottom:-20px;display:grid;grid-template-columns:1fr 1fr 1.1fr 1.1fr auto;align-items:stretch;gap:0;padding:8px;border-radius:999px;background:#f8f9f4;border:1px solid #ffffff;box-shadow:0 34px 70px -34px #06120cb3,0 2px 0 #ffffffb0 inset}
.bs-cell{position:relative;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px 26px;border:0;background:transparent;border-radius:999px;min-width:0;text-align:left;color:#18281f;transition:background .25s}
.bs-cell+.bs-cell:before{content:'';position:absolute;left:0;top:24%;bottom:24%;width:1px;background:#dbe1d6;transition:opacity .2s}
.bs-cell:hover:before,.bs-cell:hover+.bs-cell:before,.bs-cell.is-active:before,.bs-cell.is-active+.bs-cell:before{opacity:0}
.bs-cell>span{font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:#56745d}
.bs-cell>span small{text-transform:none;letter-spacing:0;color:#7d8c80;margin-left:4px}
.bs-date{cursor:pointer}
.bs-date:hover{background:#eef2e8}
.bs-date.is-active{background:#18281f;color:#eff3ed;box-shadow:0 12px 26px -14px #0b1a13}
.bs-date.is-active>span{color:#c9eeaa}
.bs-date strong{font-weight:400;font-size:22px;letter-spacing:-.035em;line-height:1.15;white-space:nowrap}
.bs-date.is-empty strong{color:#7d8c80;font-size:18px}
.bs-date small{font-size:12px;color:#6b7c70;min-height:14px}
.bs-date.is-active small{color:#aebdb2}
.bs-count{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
.bs-count>span{display:flex;flex-direction:column;gap:2px}
.bs-count>span small{margin:0}
.bs-count .stepper{gap:10px}
.bs-count .stepper button{width:36px;height:36px;background:#fff;border-color:#c9d2c4;transition:background .2s,border-color .2s}
.bs-count .stepper button:hover:not(:disabled){background:#18281f;border-color:#18281f;color:#eff3ed}
.bs-count .stepper output{font-size:20px;min-width:20px}
.bs-go{position:relative;border:0;background:#18281f;color:#eff3ed;font-size:15px;letter-spacing:.01em;padding:0 26px 0 30px;margin-left:8px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:12px;min-height:64px;transition:background .3s,color .3s}
.bs-go i{position:relative;display:grid;place-items:center;width:18px;height:18px;flex:none}
.bs-go svg{width:18px;height:18px;stroke:#c9eeaa;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .2s,stroke .3s}
@media(hover:hover){.bs-go:hover:not(:disabled){background:#c9eeaa;color:#101815}.bs-go:hover:not(:disabled) svg{stroke:#101815;transform:translateX(4px)}}
.bs-go:active:not(:disabled){background:#b8e491;color:#101815}
.bs-go:active:not(:disabled) svg{stroke:#101815}
.bs-go:focus-visible{outline:2px solid #c9eeaa;outline-offset:3px}
.bs-go:disabled{cursor:wait}
.bs-go:disabled svg{opacity:0}
.bs-go:disabled i:after{content:"";position:absolute;inset:1px;border-radius:50%;border:1.5px solid #c9eeaa40;border-top-color:#c9eeaa;animation:bs-spin .7s linear infinite}
@keyframes bs-spin{to{transform:rotate(360deg)}}
.bs-info{min-height:22px;margin:0 0 26px;color:#4e6153;font-size:15px;text-align:center}
.bs-info.is-error{color:#a3341f}

/* dátumválasztó */
.dp{position:absolute;top:calc(100% + 14px);left:0;z-index:30;width:min(760px,100%);background:#101815;color:#eff3ed;border-radius:28px;padding:24px 26px 20px;box-shadow:0 40px 80px -30px #000c,0 0 0 1px #ffffff14 inset;opacity:0;transform:translateY(-10px) scale(.98);transform-origin:20% 0;transition:opacity .22s,transform .3s cubic-bezier(.2,.8,.2,1)}
.dp.is-open{opacity:1;transform:none}
.dp-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.dp-top strong{font-weight:400;font-size:26px;letter-spacing:-.04em}
.dp-x{width:36px;height:36px;border-radius:50%;border:1px solid #ffffff30;background:none;color:#eff3ed;font-size:20px;line-height:1;display:none}
.dp-body{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start}
.dp-nav{width:38px;height:38px;border-radius:50%;border:1px solid #ffffff30;background:none;color:#eff3ed;font-size:20px;margin-top:-4px;transition:background .2s}
.dp-nav:hover:not(:disabled){background:#ffffff18}
.dp-nav:disabled{opacity:.2;cursor:default}
.dp-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column;gap:34px}
.dp-month h4{margin:4px 0 14px;text-align:center;font-weight:400;font-size:16px;letter-spacing:-.01em}
.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:4px}
.dp-dow{text-align:center;font-size:10.5px;color:#8fa195;padding-bottom:6px}
.dp-d{position:relative;height:42px;border:0;background:none;padding:0;color:#eff3ed;font-size:14px}
.dp-d span{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;margin:auto;border-radius:50%;transition:background .15s,color .15s}
.dp-d:not(:disabled):hover span{background:#ffffff1f}
.dp-d:disabled{color:#4c5c52;cursor:default}
.dp-d.is-today span{box-shadow:0 0 0 1px #c9eeaa66 inset}
.dp-d.is-full span{color:#7d8d82;text-decoration:line-through;text-decoration-color:#c9eeaa80;text-decoration-thickness:1px;background:repeating-linear-gradient(135deg,#ffffff0d 0 2px,transparent 2px 6px)}
.dp-d.is-far{color:#7d8d82}
.dp-foot .dp-legend{margin-right:4px;display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#8fa195}
.dp-legend[hidden]{display:none}
.dp-legend i{width:22px;height:22px;border-radius:50%;background:repeating-linear-gradient(135deg,#ffffff1f 0 2px,transparent 2px 6px);box-shadow:0 0 0 1px #ffffff1c inset}
.dp-d.is-range:before,.dp-d.has-range:before{content:'';position:absolute;top:1px;bottom:1px;left:0;right:0;background:#c9eeaa26}
.dp-d.is-in.has-range:before{left:50%}
.dp-d.is-out.has-range:before{right:50%}
.dp-d.is-in span,.dp-d.is-out span{background:#c9eeaa!important;color:#101815;font-weight:600}
.dp-foot{display:flex;align-items:center;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid #ffffff1c}
.dp-foot span{margin-right:auto;font-size:14px;color:#c4d0c6}
.dp-clear{background:none;border:0;color:#aebdb2;text-decoration:underline;text-underline-offset:3px;font-size:14px}
.dp-done{border:0;border-radius:999px;background:#c9eeaa;color:#101815;padding:11px 24px;font-size:14px}
.dp-done:disabled{opacity:.35;cursor:default}
.dp-shade{position:fixed;inset:0;z-index:29;background:#050d09a6;backdrop-filter:blur(3px)}
html.dp-lock,html.dp-lock body{overflow:hidden}

/* találatok */
.bs-results{scroll-margin-top:30px}
.bs-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;padding-bottom:22px;border-bottom:1px solid #56745d40;margin-bottom:30px}
.bs-head strong{font-size:clamp(28px,3vw,44px);font-weight:400;letter-spacing:-.05em}
.bs-head span{font-size:14px;color:#4e6153}
.bs-note{background:#e3ecd8;border-radius:16px;padding:14px 18px;font-size:14px;line-height:1.6;margin:0 0 24px}
.bs-empty{background:#f8f9f4;border-radius:22px;padding:26px 28px;font-size:17px;line-height:1.6;margin:0;box-shadow:0 20px 40px -30px #0b1a1366}
.bs-front{display:grid;grid-template-columns:310px minmax(0,1fr) 240px;align-items:stretch;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.bs-card{background:#f8f9f4;border-radius:26px;margin-bottom:22px;padding:10px;box-shadow:0 26px 50px -34px #0b1a1380,0 1px 0 #fff inset;transition:box-shadow .35s,transform .35s}
.bs-card:hover{box-shadow:0 34px 60px -32px #0b1a1399,0 1px 0 #fff inset}
.bs-card.is-picked{box-shadow:0 0 0 2px #18281f,0 34px 60px -32px #0b1a1399}
.bs-img{position:relative;border-radius:18px;overflow:hidden;background:#d5dccf;min-height:200px;box-shadow:-14px 18px 30px -22px #0b1a13a6,14px 18px 30px -22px #0b1a13a6;isolation:isolate}
.bs-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.16,.84,.24,1)}
.bs-card:hover .bs-img img{transform:scale(1.04)}
.bs-body{padding:18px 26px;display:flex;flex-direction:column;gap:8px;min-width:0}
.bs-tag{font-size:10.5px;letter-spacing:1.5px;color:#56745d}
.bs-body h3{margin:0;font-size:30px;font-weight:400;letter-spacing:-.045em}
.bs-body p{margin:0;color:#4e6153;font-size:14px;line-height:1.6}
.bs-facts{list-style:none;margin:auto 0 0;padding:10px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.bs-facts li{background:#eef2e8;border-radius:20px;padding:5px 12px;font-size:12px;color:#2f4636}
.bs-price{background:#eef2e8;border-radius:18px;padding:22px 22px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.bs-price small{font-size:12px;color:#6b7c70}
.bs-price strong{font-size:30px;font-weight:400;letter-spacing:-.04em}
.bs-pick{margin-top:14px;border:0;background:#18281f;color:#eff3ed;padding:14px 18px;border-radius:999px;display:flex;justify-content:center;align-items:center;gap:12px;font-size:14px;transition:background .25s,color .25s,transform .25s}
.bs-pick span{transition:transform .3s}
.bs-pick:hover{background:#c9eeaa;color:#18281f}
.bs-pick:hover span{transform:translateX(4px)}
.bs-card.is-house{background:#18281f;color:#eff3ed}
.bs-card.is-house .bs-tag{color:#c9eeaa}.bs-card.is-house .bs-body p{color:#b9c7bd}
.bs-card.is-house .bs-facts li{background:#ffffff14;color:#d4efbc}
.bs-card.is-house .bs-price{background:#ffffff0f}.bs-card.is-house .bs-price small{color:#a9b9ad}
.bs-card.is-house .bs-pick{background:#c9eeaa;color:#101815}.bs-card.is-house .bs-pick:hover{background:#e2f8cf}

/* belépő animáció: felváltva balról és jobbról, enyhén megdöntve */
.bs-card.rv{opacity:0;transform:perspective(1400px) translate3d(var(--dx,-90px),46px,0) rotateY(var(--ry,12deg)) rotateZ(var(--rz,-1.6deg)) scale(.9);transition:opacity .8s ease,transform 1.1s cubic-bezier(.16,.84,.24,1),box-shadow .35s}
.bs-card.rv.from-r{--dx:90px;--ry:-12deg;--rz:1.6deg}
.bs-card.rv .bs-img img{transform:scale(1.22)}
.bs-card.rv.in{opacity:1;transform:none}
.bs-card.rv.in .bs-img img{transform:none}
.bs-card.rv.in:hover .bs-img img{transform:scale(1.04)}
.pick-ghost{position:fixed;z-index:80;object-fit:cover;border-radius:18px;pointer-events:none;box-shadow:0 30px 60px -24px #0b1a13b3;margin:0}

@media(max-width:1100px){
  .bs{grid-template-columns:1fr 1fr;border-radius:30px;row-gap:6px}
  .bs-cell{border-radius:22px}
  .bs-cell+.bs-cell:before{display:none}
  .bs-count{background:#eef2e8}
  .bs-go{grid-column:1/-1;min-height:58px;padding:0 24px;margin:4px 0 0}
  .bs-front{grid-template-columns:260px minmax(0,1fr) 220px}
}
@media(max-width:750px){
  .bs{top:-34px;margin-bottom:-12px;padding:8px;border-radius:26px}
  .bs-cell{padding:12px 16px}
  .bs-date strong{font-size:19px}
  .dp{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;border-radius:28px 28px 0 0;padding:20px 18px calc(18px + env(safe-area-inset-bottom));transform:translateY(40px);transition:opacity .2s,transform .35s cubic-bezier(.2,.8,.2,1)}
  .dp.is-open{transform:none}
  .dp-x{display:block}
  .dp-body{grid-template-columns:1fr}
  .dp-body .dp-nav{position:absolute;top:66px}
  .dp-body .dp-nav[data-dp="-1"]{left:18px}.dp-body .dp-nav[data-dp="1"]{right:18px}
  .dp-d{height:44px}.dp-d span{width:40px;height:40px}
  .bs-card{padding:8px;border-radius:24px}
  .bs-front{grid-template-columns:1fr}
  .bs-img{min-height:0;aspect-ratio:16/10}
  .bs-body{padding:16px 12px 8px}.bs-body h3{font-size:25px}
  .bs-price{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:14px;padding:14px 16px}
  .bs-price strong{font-size:25px;grid-row:2}.bs-price small:first-child{grid-row:1}.bs-price small:nth-of-type(2){grid-row:3}
  .bs-pick{grid-column:2;grid-row:1/4;margin:0;align-self:center}
  .bs-card.rv{--dx:-28px;--ry:9deg}
  .bs-card.rv.from-r{--dx:28px;--ry:-9deg}
}
@media(prefers-reduced-motion:reduce){.bs-card.rv{opacity:1;transform:none}.bs-card.rv .bs-img img{transform:none}.dp{transition:none}}

/* „Csak teljes házként” éjszakák az apartmanok naptárában */
.cal-day.is-houseonly{background:repeating-linear-gradient(135deg,#e3eedb 0 4px,#d3e4c6 4px 8px);color:#7f9483}
.lg-houseonly{background:repeating-linear-gradient(135deg,#e3eedb 0 3px,#c7dcb7 3px 6px)}
.ho-hint{margin:16px 0 0;font-size:14px}
.ho-hint .link-btn{margin-left:6px;font-size:14px}
.ho-hint[hidden],#lg-ho[hidden]{display:none}

/* ---------- Görgethető számkerék (mobilon a +/− gombok helyett) ---------- */
.wheel{display:none}
@media(max-width:750px){
  .stepper.has-wheel{display:none}
  .wheel{--row:40px;display:flex;flex-direction:column;align-items:center;position:relative;width:84px;flex:none;outline:none;border-radius:12px;-webkit-tap-highlight-color:transparent}
  .wheel:focus-visible{box-shadow:0 0 0 2px #56745d}
  .wheel-arr{display:flex;align-items:center;justify-content:center;width:100%;height:26px;padding:0;border:0;background:none;color:#8a998e;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .2s,color .2s}
  .wheel-arr svg{width:16px;height:16px}
  .wheel-arr:active:not(:disabled){color:#18281f}
  .wheel-arr:disabled{opacity:.22;cursor:default}
  .wheel-win{position:relative;width:100%;height:calc(var(--row) * 3)}
  .wheel-band{position:absolute;left:16px;right:16px;top:var(--row);height:var(--row);border-top:1px solid #c5cfc1;border-bottom:1px solid #c5cfc1;pointer-events:none}
  .wheel-scroll{position:relative;height:100%;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;touch-action:pan-y;
    -webkit-mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent)}
  .wheel-scroll::-webkit-scrollbar{display:none}
  .wheel-list{padding:var(--row) 0}
  .wheel-i{height:var(--row);display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:24px;line-height:1;color:#18281f;font-variant-numeric:tabular-nums;letter-spacing:-.01em;user-select:none;-webkit-user-select:none;cursor:pointer;will-change:transform,opacity}
  /* kereső: a két kerék egymás mellett */
  .bs-count{grid-column:auto;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;border-right:1px solid #dfe4da}
  .bs-count:nth-child(4){border-right:0}
  .bs-count>span{align-self:flex-start}
  /* foglalás 03. lépés */
  .guest-row{padding:10px 0}
}
@media(max-width:750px) and (prefers-reduced-motion:reduce){.wheel-arr{transition:none}}

.dog-ico{font-size:17px;margin-left:3px;vertical-align:1px}
.bk-terms{margin-top:-24px}

/* keresésből választott szállás – tömör kártya */
.pick-card{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:22px;align-items:center;border:1px solid #c9d2c4;background:#f8f9f4;padding:14px}
.pick-img{aspect-ratio:4/3;overflow:hidden;background:#dfe5da}
.pick-img img{width:100%;height:100%;object-fit:cover;display:block}
.pick-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.pick-eyebrow{font-size:10px;letter-spacing:1.4px;color:#56745d}
.pick-body strong{font-weight:400;font-size:26px;letter-spacing:-.04em;line-height:1.1}
.pick-dates{font-size:14px;color:#2f4636}
.pick-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.pick-btn{font:inherit;font-size:13px;padding:9px 16px;border:1px solid #9fb09a;background:transparent;color:#18281f;cursor:pointer;white-space:nowrap;border-radius:999px}
.pick-btn:hover{border-color:#18281f;background:#18281f;color:#f3f4ee}
.pick-btn[hidden]{display:none}
@media (max-width:750px){
  .pick-card{grid-template-columns:96px minmax(0,1fr);gap:14px}
  .pick-body strong{font-size:21px}
  .pick-actions{grid-column:1/-1;flex-direction:row}
  .pick-btn{flex:1}
}
.pick-img[hidden]{display:none}
.pick-card:has(.pick-img[hidden]){grid-template-columns:minmax(0,1fr) auto}
@media (max-width:750px){.pick-card:has(.pick-img[hidden]){grid-template-columns:1fr}}

/* ---------- Foglalási lépések: a főoldal lekerekített, lágy stílusa ---------- */
.unit-card{border:0;border-radius:24px;padding:8px;background:#f8f9f4;box-shadow:0 22px 44px -32px #0b1a1380,0 1px 0 #fff inset;transition:box-shadow .3s,transform .3s}
.unit-card:hover{transform:translateY(-3px);box-shadow:0 30px 54px -30px #0b1a1399,0 1px 0 #fff inset}
.unit-card[aria-checked="true"]{box-shadow:0 0 0 2px #18281f,0 30px 54px -30px #0b1a1399}
.unit-img{border-radius:18px;box-shadow:-10px 14px 24px -20px #0b1a13a6,10px 14px 24px -20px #0b1a13a6}
.unit-img img{transition:transform 1.2s cubic-bezier(.16,.84,.24,1)}
.unit-card:hover .unit-img img{transform:scale(1.04)}
.unit-body{padding:16px 14px 12px}
.cal-day{border-radius:12px;background:#f8f9f4;transition:background .15s}
.cal-day.is-in,.cal-day.is-out,.cal-day.is-start{border-radius:50%}
.cal-nav button{transition:background .2s}
.cal-nav button:hover:not(:disabled){background:#18281f;color:#eff3ed}
.stepper button{background:#fff;transition:background .2s,border-color .2s,color .2s}
.stepper button:hover:not(:disabled){background:#18281f;border-color:#18281f;color:#eff3ed}
.field input,.field textarea{border-radius:14px;border-color:#cdd5c8;background:#fbfcf8;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field textarea:focus{outline:0;border-color:#18281f;box-shadow:0 0 0 3px #c9eeaa}
.check input{border-radius:6px}
.sum-card{border-radius:28px;box-shadow:0 40px 80px -40px #0b1a13cc}
.sum-error{border-radius:14px}
.pick-card{border:0;border-radius:26px;padding:10px;box-shadow:0 26px 50px -34px #0b1a1380,0 1px 0 #fff inset}
.pick-img{border-radius:14px;box-shadow:-10px 14px 24px -20px #0b1a13a6,10px 14px 24px -20px #0b1a13a6}
.pick-actions{padding-right:6px}
.pay-card{border-radius:22px}
@media(max-width:750px){.unit-card{padding:6px}.unit-card:not(.is-house) .unit-img{border-radius:14px}.pick-actions{padding:0 4px 4px}}
@media(max-width:750px){
  .bs-date{background:#eef2e8;border-radius:20px}
  .bs-date.is-active{background:#18281f}
  .bs .bs-count{border-right:0;border-radius:20px}
  .bs-count>span{min-height:36px}
}

/* ---------- találati kártya: elő- és hátoldal (mobilon megfordítható, a hátoldalon a képek lapozhatók) ---------- */
.bs-flipper{position:relative;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.3,.7,.15,1)}
.bs-back,.bs-flip-btn{display:none}
@media(max-width:750px){
  .bs-card{perspective:1700px}
  .bs-card.is-flipped .bs-flipper{transform:rotateY(180deg)}
  /* Safari a hátrafordított (rejtett) oldalt is „megérinthetőnek” veszi – mindig csak a látható oldal fogadjon érintést */
  .bs-back{pointer-events:none}
  .bs-card.is-flipped .bs-back{pointer-events:auto}
  .bs-card.is-flipped .bs-front{pointer-events:none}
  /* A fordulás felénél (90°) cserélünk: addig csak az előlap, utána csak a hátlap látszik. Így az előlap képe
     akkor sem „ragad be” tükrözve, ha a böngésző (pl. iOS Safari) a külön rétegre tett képre nem alkalmazza a backface-visibility-t. */
  .bs-front,.bs-front *{-webkit-backface-visibility:hidden;backface-visibility:hidden}
  .bs-back{visibility:hidden}
  .bs-card.is-half .bs-back{visibility:visible}
  .bs-card.is-half .bs-front{visibility:hidden}
  .bs-card.is-flat .bs-flipper{transform:none;transition:none}
  .bs-card.is-flat .bs-front{visibility:hidden}
  .bs-card.is-flat .bs-back{transform:none;-webkit-backface-visibility:visible;backface-visibility:visible}
  .bs-card.is-flat .bs-flipper{transform-style:flat}
  .bs-flip-btn{display:inline-flex;align-items:center;gap:6px;position:absolute;top:10px;right:10px;z-index:3;height:36px;min-width:36px;padding:0 11px;border:0;border-radius:999px;background:#101815b8;color:#eff3ed;font-size:13px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 16px -8px #000a;transition:background .2s,transform .2s}
  .bs-flip-btn:active{transform:scale(.94)}
  .bs-flip-btn.is-back{justify-content:center;padding:0;width:38px;transform:translateZ(1px)}
  .bs-back{display:flex;flex-direction:column;gap:10px;position:absolute;inset:0;transform:rotateY(180deg);-webkit-backface-visibility:hidden;backface-visibility:hidden}
  .bs-gal-wrap{position:relative;flex:1;min-height:0;border-radius:18px;overflow:hidden;background:#d5dccf;box-shadow:-12px 16px 28px -22px #0b1a13a6,12px 16px 28px -22px #0b1a13a6}
  .bs-gal{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .bs-gal::-webkit-scrollbar{display:none}
  .bs-gal img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:center;scroll-snap-stop:always;display:block;background:#d5dccf}
  .bs-gal-count{position:absolute;top:12px;left:12px;padding:5px 11px;border-radius:999px;background:#101815b8;color:#eff3ed;font-size:12px;letter-spacing:.3px;pointer-events:none}
  .bs-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px;pointer-events:none}
  .bs-dots i{width:6px;height:6px;border-radius:50%;background:#ffffff80;transition:width .25s,background .25s}
  .bs-dots i.on{width:18px;border-radius:4px;background:#fff}
  .bs-back-info{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 6px 4px 10px}
  .bs-back-info>div{display:flex;flex-direction:column;gap:2px;min-width:0}
  .bs-back-info strong{font-weight:400;font-size:21px;letter-spacing:-.04em;line-height:1.15}
  .bs-back-info small{font-size:13px;color:#4e6153}
  .bs-back-info .bs-pick{margin:0;flex:none}
  .bs-card.is-house .bs-back-info small{color:#b9c7bd}
}
@media(max-width:750px) and (prefers-reduced-motion:reduce){.bs-flipper{transition:none}}

/* a beúszó (oldalra eltolt) kártyák ne szélesítsék ki az oldalt mobilon (Safariban a .bk-ra tett clip a kereső tetejét is levágta, ezért csak a html/body kapja) */
@supports (overflow:clip){html,body{overflow-x:clip}}

/* iPhone (WebKit): a csak aspect-ratio-val méretezett, abszolút képet tartalmazó doboz rácsban 0 magasra esett –
   ezért a kép helyét „padding” tartja fenn, ez minden böngészőben biztosan működik */
@media(max-width:750px){
  .bs-img{aspect-ratio:auto;min-height:0;height:auto;align-self:start}
  .bs-img::before{content:'';display:block;padding-top:62.5%}
}
.pick-img{position:relative;aspect-ratio:auto}
.pick-img::before{content:'';display:block;padding-top:75%}
.pick-img img{position:absolute;inset:0}

/* ---------- gépen: a találati kép mögött „kártyapakli” a többi képpel; kattintásra középen nyíló galéria ---------- */
.bs-media{position:relative;display:grid;min-width:0}
.bs-media>.bs-img{position:relative;z-index:2}
.bs-sheet{display:none}
.bs-lb-hint{display:none}
@media(min-width:751px){
  /* nyugalmi állapot: pakli – elöl az első kép, mögötte jobbra 12 px-enként kilóg a többi (legfeljebb 5 lap)
     egér felett: a lapok legyezőszerűen szétterülnek, és mindig csak az egér alatti lap emelkedik ki (mint a Mac Dockja) */
  .bs-front{grid-template-columns:336px minmax(0,1fr) 240px}
  .bs-media{container-type:inline-size;min-height:200px;margin-right:22px;outline:none}
  .bs-media.has-lb{cursor:zoom-in}
  .bs-media>.bs-img,.bs-sheet{--k:0;position:absolute;top:0;bottom:0;left:0;min-height:0;width:calc(100cqw - (var(--n,1) - 1) * 12px);border-radius:18px;transform-origin:100% 50%;
    transform:translateX(calc(var(--k) * 12px)) scale(calc(1 - var(--k) * .055));
    transition:width .55s cubic-bezier(.2,.8,.2,1),transform .45s cubic-bezier(.2,.8,.2,1),filter .35s,box-shadow .35s}
  .bs-sheet{display:block;overflow:hidden;background:#d5dccf;box-shadow:0 14px 26px -18px #0b1a13cc;filter:brightness(calc(1 - var(--k) * .09)) saturate(calc(1 - var(--k) * .06))}
  .bs-sheet img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
  .bs-media.is-spread>.bs-img,.bs-media.is-spread .bs-sheet{width:58cqw;transform-origin:50% 100%;transform:translateX(calc(var(--k) * 42cqw / (var(--n) - 1)));filter:brightness(.8) saturate(.9);box-shadow:0 14px 26px -18px #0b1a13cc}
  .bs-media.is-spread>.is-near{filter:brightness(.9) saturate(.95)}
  .bs-media.is-spread>.is-hot{transform:translateX(calc(var(--k) * 42cqw / (var(--n) - 1))) translateY(-5px) scale(1.05);filter:none;box-shadow:0 26px 40px -20px #0b1a13d9}
  .bs-media.is-spread>.bs-img img{transform:none}
  .bs-media:focus-visible{outline:2px solid #18281f;outline-offset:4px;border-radius:20px}
  .bs-lb-hint{position:absolute;left:12px;bottom:12px;z-index:3;display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:999px;background:#101815a6;color:#eff3ed;font-size:12.5px;letter-spacing:.01em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .3s,transform .3s}
  .bs-media.is-spread .bs-lb-hint{opacity:0;transform:translateY(6px)}
  .bs-card.is-house .bs-sheet{background:#2a3d31}
  .bs-card.is-house .bs-media:focus-visible{outline-color:#c9eeaa}
}
@media(min-width:751px) and (max-width:1100px){.bs-front{grid-template-columns:286px minmax(0,1fr) 220px}}
/* galéria (lightbox) */
html.lb-lock{overflow:hidden}
.lb{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#eff3ed;overflow:hidden}
.lb::backdrop{background:#0a130ee6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.lb[open]::backdrop{animation:lb-fade .4s ease}
.lb-in{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:22px 4.5vw 22px}
.lb-top{display:flex;align-items:center;gap:20px}
.lb-name{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.lb-name span{font-size:10.5px;letter-spacing:1.5px;color:#c9eeaa}
.lb-name strong{font-weight:400;font-size:24px;letter-spacing:-.04em}
.lb-count{font-size:13px;color:#aebdb2;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.lb-x{width:46px;height:46px;border-radius:50%;border:1px solid #ffffff30;background:#ffffff0d;color:#eff3ed;display:grid;place-items:center;transition:background .25s,color .25s,border-color .25s}
.lb-x:hover{background:#eff3ed;color:#101815;border-color:#eff3ed}
.lb-stage{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;min-height:0;padding:18px 0}
.lb-stage img{justify-self:center;display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:20px;box-shadow:0 40px 90px -40px #000;user-select:none;-webkit-user-select:none;touch-action:pan-y;min-height:0}
.lb-nav{width:56px;height:56px;border-radius:50%;border:1px solid #ffffff30;background:#ffffff0d;color:#eff3ed;display:grid;place-items:center;transition:background .25s,color .25s,border-color .25s,transform .25s}
.lb-nav:hover{background:#c9eeaa;color:#101815;border-color:#c9eeaa}
.lb-nav[data-lb="-1"]:hover{transform:translateX(-3px)}.lb-nav[data-lb="1"]:hover{transform:translateX(3px)}
.lb-thumbs{display:flex;gap:8px;justify-content:safe center;overflow-x:auto;padding:6px 2px 2px;scrollbar-width:none}
.lb-thumbs::-webkit-scrollbar{display:none}
.lb-thumbs button{flex:none;width:76px;height:52px;padding:0;border:0;border-radius:10px;overflow:hidden;background:#ffffff14;opacity:.45;outline:1px solid transparent;outline-offset:2px;transition:opacity .25s,outline-color .25s,transform .25s}
.lb-thumbs button:hover{opacity:.8}
.lb-thumbs button.on{opacity:1;outline-color:#c9eeaa}
.lb-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.lb.is-single .lb-nav,.lb.is-single .lb-count{visibility:hidden}
.lb-ghost{position:fixed;z-index:5;margin:0;object-fit:cover;pointer-events:none;box-shadow:0 40px 90px -40px #000}
.lb[open] .lb-top,.lb[open] .lb-thumbs{animation:lb-up .5s .18s cubic-bezier(.2,.8,.2,1) both}
.lb[open] .lb-nav{animation:lb-fade .5s .3s both}
@keyframes lb-fade{from{opacity:0}}
@keyframes lb-up{from{opacity:0;transform:translateY(14px)}}
@media(max-width:750px){.lb-in{padding:16px 14px}.lb-stage{grid-template-columns:minmax(0,1fr);gap:0}.lb-nav{display:none}.lb-name strong{font-size:20px}.lb-thumbs button{width:60px;height:42px}}
@media(prefers-reduced-motion:reduce){.lb[open] .lb-top,.lb[open] .lb-thumbs,.lb[open] .lb-nav,.lb[open]::backdrop{animation:none}.bs-sheet,.bs-media>.bs-img{transition:none!important}}

/* alaprajz gomb az infók között és az alaprajz ablak (a főoldali megjelenés mintájára) */
.bs-facts li.bs-li-btn{background:none;padding:0}
.bs-plan{display:inline-flex;align-items:center;gap:7px;height:100%;padding:5px 13px 5px 11px;border-radius:20px;border:1px solid #18281f38;background:transparent;color:#18281f;font-size:12px;transition:background .25s,color .25s,border-color .25s}
.bs-plan:hover{background:#18281f;color:#eff3ed;border-color:#18281f}
.bs-card.is-house .bs-plan{border-color:#ffffff38;color:#d4efbc}
.bs-card.is-house .bs-plan:hover{background:#c9eeaa;color:#101815;border-color:#c9eeaa}
.plan-dlg{width:min(980px,94vw);max-height:92vh;padding:22px 26px 26px;border:0;border-radius:28px;background:#f3f1ea;color:#18281f;box-shadow:0 50px 100px -40px #000}
.plan-dlg::backdrop{background:#0a130ee0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.plan-dlg .dialog-top{color:#18281f;border-bottom:1px solid #18281f20;margin-bottom:18px}
.plan-dlg .dialog-top strong{font-size:20px;letter-spacing:-.03em}
.plan-dlg .dialog-top button{flex:none;white-space:nowrap;color:#18281f;border:1px solid #18281f30;border-radius:999px;padding:9px 16px;transition:background .25s,color .25s}
.plan-dlg .dialog-top button:hover{background:#18281f;color:#eff3ed}
.plan-body svg{display:block;width:100%;height:auto;max-height:74vh}
.plan-body .wall{fill:none;stroke:#18281f;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter}
.plan-body .room{fill:none}
.plan-body .zone{fill:#e3e8d8}
.plan-body .outdoor{fill:#dfe9e3}
.plan-body .door{fill:none;stroke:#18281f;stroke-width:1}
.plan-body .win{fill:#f3f1ea;stroke:#18281f;stroke-width:1}
.plan-body .glass{fill:none;stroke:#18281f;stroke-width:1.5;stroke-dasharray:1 3}
.plan-body .furn{fill:none;stroke:#18281f80;stroke-width:1.2}
.plan-body .label{font:500 12px/1 Steg,Arial,sans-serif;fill:#18281f;text-anchor:middle;letter-spacing:.02em}
.plan-body .sub{font:400 9px/1 Steg,Arial,sans-serif;fill:#18281f99;text-anchor:middle}
.plan-body :is(.label,.sub){paint-order:stroke;stroke:#f3f1ea;stroke-width:4px;stroke-linejoin:round}
.plan-body .note{font:400 11px/1 Steg,Arial,sans-serif;fill:#18281f99}
.plan-dlg[open]{animation:plan-open .45s cubic-bezier(.2,.8,.2,1)}
.plan-dlg[open]::backdrop{animation:lb-fade .4s ease}
@keyframes plan-open{from{opacity:0;transform:translateY(18px) scale(.975)}}
@media(max-width:750px){.plan-dlg{padding:16px 16px 18px;border-radius:22px}.plan-dlg .dialog-top{padding-bottom:14px;margin-bottom:12px}.plan-dlg .dialog-top strong{font-size:17px}.plan-dlg .dialog-top button{padding:8px 13px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.plan-dlg[open],.plan-dlg[open]::backdrop{animation:none}}

/* ---------- több apartman egyben: összevont (dupla / tripla) kártya ---------- */
.bs-sub{display:flex;flex-direction:column;gap:6px;margin:44px 0 22px;padding-top:30px;border-top:1px solid #56745d40}
.bs-sub strong{font-size:clamp(26px,2.6vw,36px);font-weight:400;letter-spacing:-.045em;line-height:1.1}
.bs-sub p{margin:0;color:#4e6153;font-size:14px;line-height:1.6;max-width:560px}
.bs-sub+.bs-card{margin-top:0}
.bc-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:10px;align-items:stretch}
.bc-list{min-width:0;padding:8px 16px 6px 6px}
.bc-head{display:flex;flex-direction:column;gap:6px;margin:6px 0 16px 12px}
.bc-head h3{margin:0;font-size:30px;font-weight:400;letter-spacing:-.045em;line-height:1.1}
.bc-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.bc-row{position:relative;display:grid;grid-template-columns:168px minmax(0,1fr) auto;gap:20px;align-items:center;padding:8px 18px 8px 8px;border-radius:20px;background:#fff;box-shadow:0 1px 0 #e3e8dd,0 12px 26px -22px #0b1a1366}
/* „+” jel két apartman között */
.bc-row+.bc-row::before{content:'+';position:absolute;left:76px;top:-19px;z-index:2;width:26px;height:26px;border-radius:50%;background:#18281f;color:#c9eeaa;display:grid;place-items:center;font-size:17px;line-height:1;box-shadow:0 0 0 4px #f8f9f4}
.bc-thumb{position:relative;height:108px;border-radius:14px;overflow:hidden;background:#d5dccf;box-shadow:-8px 12px 22px -18px #0b1a13a6,8px 12px 22px -18px #0b1a13a6}
.bc-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.16,.84,.24,1)}
.bc-count{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border-radius:999px;background:#101815a6;color:#eff3ed;font-size:11px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.bc-info{display:flex;flex-direction:column;gap:6px;min-width:0}
.bc-info strong{font-weight:400;font-size:22px;letter-spacing:-.04em;line-height:1.15}
.bc-info small{color:#4e6153;font-size:13px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.bc-info .bs-facts{margin:2px 0 0;padding:4px 0 0}
.bc-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap}
.bc-price strong{font-weight:400;font-size:21px;letter-spacing:-.035em}
.bc-price small{font-size:11.5px;color:#6b7c70}
.bc-sum{position:relative}
.bc-sum::before{content:'EGYÜTT';font-size:10.5px;letter-spacing:1.5px;color:#56745d;margin-bottom:8px}
@media(min-width:751px){
  .bc-thumb[data-lb-open]{cursor:zoom-in}
  .bc-thumb[data-lb-open]:hover img{transform:scale(1.06)}
  .bc-thumb[data-lb-open]:focus-visible{outline:2px solid #18281f;outline-offset:3px}
}
@media(max-width:1100px) and (min-width:751px){
  .bc-grid{grid-template-columns:minmax(0,1fr) 220px}
  .bc-row{grid-template-columns:130px minmax(0,1fr) auto;gap:14px}
  .bc-row+.bc-row::before{left:57px}
  .bc-info small{display:none}
}
@media(max-width:750px){
  .bs-sub{margin:34px 4px 18px;padding-top:24px}
  .bc-grid{grid-template-columns:1fr}
  .bc-list{padding:6px 2px 2px}
  .bc-head{margin:8px 0 14px 10px}
  .bc-head h3{font-size:25px}
  .bc-rows{gap:10px}
  .bc-row{grid-template-columns:92px minmax(0,1fr);column-gap:14px;row-gap:2px;padding:6px 14px 6px 6px;border-radius:18px}
  .bc-row+.bc-row::before{left:36px;top:-17px;width:24px;height:24px;font-size:16px}
  .bc-thumb{height:auto;align-self:stretch;min-height:78px;grid-row:1/3;border-radius:13px}
  .bc-count{right:5px;bottom:5px;padding:3px 7px 3px 6px;font-size:10.5px;gap:4px}
  .bc-count svg{width:11px;height:11px}
  .bc-info{gap:4px}
  .bc-info strong{font-size:19px}
  .bc-info small{display:none}
  .bc-info .bs-facts{gap:6px}
  .bc-info .bs-facts li{padding:4px 10px;font-size:11.5px}
  .bc-price{grid-column:2;flex-direction:row;align-items:baseline;gap:8px;padding-bottom:4px}
  .bc-price strong{font-size:18px}
  .bc-sum::before{grid-column:1/-1;margin-bottom:2px}
}

/* választás után: az apartmanok listája a „Választásod” kártyán és az összesítőben */
.pick-units{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.pick-units[hidden]{display:none}
.pick-units li{display:inline-flex;gap:8px;align-items:baseline;background:#eef2e8;border-radius:999px;padding:5px 12px;font-size:12.5px;color:#2f4636}
.pick-units strong{font-size:12.5px!important;font-weight:600!important;letter-spacing:0!important}
.sum-units{list-style:none;margin:-8px 0 18px;padding:0;display:flex;flex-direction:column;gap:2px}
.sum-units[hidden]{display:none}
.sum-units li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;padding:9px 0;border-bottom:1px solid #ffffff1c}
.sum-units strong{font-weight:400;font-size:15px}
.sum-units span{grid-row:2;font-size:12.5px;color:#aebdb2}
.sum-units em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;font-size:15px;color:#d4efbc}
.bs-facts{align-items:center}
.pick-units li{white-space:nowrap}
@media(max-width:750px){
  .bc-sum::before{display:none}
  .pick-units{flex-direction:column;align-items:flex-start}
  .bc-info .bs-plan{padding:4px 11px 4px 9px;font-size:11.5px}
}
.bc-info .bs-facts li.bs-li-btn{padding:0;background:none}

/* telefonon is megnyitható a galéria: a kép koppintható */
@media(max-width:750px){
  .bs-media.has-lb .bs-img img,.bc-thumb[data-lb-open]{cursor:pointer;-webkit-tap-highlight-color:transparent}
  .bc-thumb[data-lb-open]:active img,.bs-media.has-lb:active .bs-img img{transform:scale(.98);transition:transform .15s}
}

/* Elérhetőség link: a fejlécben csak gépen (mobilon a láblécben) */
footer .foot-ct:hover{color:#c9eeaa}
@media(max-width:750px){nav .nav-ct{display:none}}

/* „házirend” link a feltételek elfogadásánál */
.check a.terms-link{text-decoration:underline;text-underline-offset:3px}
.check a.terms-link:hover{color:#c9eeaa}

/* ---------- Foglalás fejléce v5: világos balatoni kép – stég horgásszal (kapással), halványan a Badacsony, vitorlások ---------- */
.light-head header{color:#18281f}
.light-head header .dot{color:#6f9a4f}
.light-head header .pill{border-color:#18281f40}
.light-head header .pill:hover{background:#18281f;color:#eff3ed;border-color:#18281f}
.light-head header .mm-btn{color:#18281f;border-color:#18281f40;background:#f8f9f4b3}
.bk-land{min-height:0;padding:150px 4.5vw 140px;overflow:hidden;background:#f3f4ee;color:#18281f}
.bk-land h1{position:relative;left:auto;top:auto;z-index:1;margin:0;font-size:clamp(46px,5vw,80px);line-height:1;letter-spacing:-.065em;white-space:nowrap;color:#18281f;animation:bk-in 1s cubic-bezier(.2,.8,.2,1) both}
.bk-land h1 em{color:#56745d}
.bk-land .bk-note{max-width:none;position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;margin:16px 0 0;font-size:14px;line-height:1.4;color:#56745d;animation:bk-in 1s .15s cubic-bezier(.2,.8,.2,1) both}
.bk-land .bk-note svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}
.bk-land~.bk-find .bs{border-color:#18281f12;box-shadow:0 30px 60px -36px #0b1a1366,0 1px 0 #fff inset}
.bk-scene{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.bk-sun{fill:#f8f3e3;stroke:#ddd4ba;stroke-opacity:.6;stroke-width:1;animation:bk-sunin 2s .2s cubic-bezier(.2,.8,.2,1) both}
.bk-glint path{stroke:#fbfaf3;stroke-width:1.6;stroke-linecap:round;animation:bk-glint 4.5s ease-in-out infinite}
.bk-glint path:nth-child(2){animation-delay:-1.2s}.bk-glint path:nth-child(3){animation-delay:-2.4s}.bk-glint path:nth-child(4){animation-delay:-3.3s}
.bk-hills use{fill:#dae2d4}
.bk-hills .g{fill:#e0e7da}
.bk-horizon{stroke:#56745d;stroke-opacity:.26;stroke-width:1}
.bk-waves path{fill:none;stroke:#56745d;stroke-opacity:var(--o);stroke-width:1;stroke-linecap:round;stroke-dasharray:90 40 30 60 140 50;animation:bk-wave 40s linear infinite;animation-delay:var(--d)}
.bk-waves path:nth-child(odd){stroke-dasharray:50 70 120 30 20 60;animation-direction:reverse}
#bk-boat .bm{stroke:#3a5242;stroke-opacity:.6;stroke-width:.9;stroke-linecap:round}
#bk-boat .bs1{fill:#fdfdf9;stroke:#3a5242;stroke-opacity:.32;stroke-width:.7;stroke-linejoin:round}
#bk-boat .bs2{fill:#eef2ea;stroke:#3a5242;stroke-opacity:.28;stroke-width:.7;stroke-linejoin:round}
#bk-boat .bf{fill:#c98b6b;fill-opacity:.8}
#bk-boat .bh{fill:#3a5242;fill-opacity:.62}
.bk-sails .rf{opacity:.12}
.bk-sails .b1{animation:bk-s1 150s ease-in-out infinite alternate;animation-delay:-60s}
.bk-sails .b2{animation:bk-s2 210s ease-in-out infinite alternate;animation-delay:-90s}
.bk-sails .b3{animation:bk-s3 180s ease-in-out infinite alternate;animation-delay:-30s}
.bk-birds path{fill:none;stroke:#3a5242;stroke-opacity:.4;stroke-width:1.1;stroke-linecap:round}
.bk-birds{animation:bk-birds 70s linear infinite;animation-delay:-20s}
/* stég */
.bk-jetty .posts rect{fill:url(#bk-postg)}
.bk-jetty .brace{stroke:#8e8169;stroke-opacity:.35;stroke-width:1.6}
.bk-jetty .top{fill:url(#bk-deckg)}
.bk-jetty .planks{stroke:#c3b697;stroke-width:.8}
.bk-jetty .fascia{fill:#c2b495}
.bk-jetty .fline{stroke:#b0a283;stroke-width:.6}
.bk-jetty .ladder{fill:none;stroke:#7d8a80;stroke-width:1.6;stroke-linecap:round}
.bk-jetty .bucket{fill:#9db1a1}.bk-jetty .bucket-h{fill:none;stroke:#6f8173;stroke-width:.8}
/* horgász */
.bk-jetty .stool{stroke:#8e8169;stroke-width:1.6;stroke-linecap:round}
.bk-jetty .stool-top{fill:#a8987a}
.bk-jetty .leg{fill:none;stroke:#3d5a4a;stroke-width:4.6;stroke-linecap:round;stroke-linejoin:round}
.bk-jetty .leg.back{stroke:#2f4a3c}
.bk-jetty .boot{stroke:#2b3530;stroke-width:3.2;stroke-linecap:round}
.bk-jetty .boot.back{stroke:#222b26}
.bk-jetty .torso{fill:#f3efe4;stroke:#d8cfba;stroke-width:.7}
.bk-jetty .arm{fill:none;stroke:#ebe5d6;stroke-width:3.4;stroke-linecap:round}
.bk-jetty .arm.back{stroke:#ddd5c2}
.bk-jetty .hand{fill:#d8b48f}
.bk-jetty .neck{stroke:#d8b48f;stroke-width:3;stroke-linecap:round}
.bk-jetty .head{fill:#dfbd98}
.bk-jetty .hat{fill:#d2c39f;stroke:#c4b48d;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.fm-rod{fill:none;stroke:#2f4636;stroke-width:1.4;stroke-linecap:round}
.fm-line{fill:none;stroke:#2f4636;stroke-opacity:.38;stroke-width:.55}
#fm-float .fl-a{stroke:#2f4636;stroke-width:.8}
#fm-float .fl-t{fill:#d4694d}
#fm-float .fl-b{fill:#fbfbf6;stroke:#9aa596;stroke-width:.5}
.fm-water ellipse{fill:none;stroke:#56745d;stroke-width:.9}
.fm-splash{opacity:0}.fm-splash path{stroke:#7f9a88;stroke-width:1;stroke-linecap:round}
.bk-jetty-refl{fill:#b9ad8f;stroke:#8e8169;stroke-width:5;stroke-linecap:round;opacity:.12}
.bk-jetty,.bk-bucket,.bk-intro{animation:bk-up 1.2s .25s cubic-bezier(.2,.8,.2,1) both}
.bk-bucket .bucket{fill:#9db1a1}.bk-bucket .bucket-h{fill:none;stroke:#6f8173;stroke-width:.8}
.bk-intro .leg{fill:none;stroke:#3d5a4a;stroke-width:4.6;stroke-linecap:round;stroke-linejoin:round}
.bk-intro .leg.back{stroke:#2f4a3c}
.bk-intro .boot{stroke:#2b3530;stroke-width:3.2;stroke-linecap:round}
.bk-intro .boot.back{stroke:#222b26}
.bk-intro .torso{fill:#f3efe4;stroke:#d8cfba;stroke-width:.7}
.bk-intro .arm{fill:none;stroke:#ebe5d6;stroke-width:3.4;stroke-linecap:round}
.bk-intro .arm.back{stroke:#ddd5c2}
.bk-intro .hand{fill:#d8b48f}
.bk-intro .neck{stroke:#d8b48f;stroke-width:3;stroke-linecap:round}
.bk-intro .head{fill:#dfbd98}
.bk-intro .hat{fill:#d2c39f;stroke:#c4b48d;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.fm-fish path{fill:#a9bcb0;stroke:#6f8a7a;stroke-width:.5}.fm-fish .eye{fill:#2f4636}
.fm-bub circle{fill:none;stroke:#7f9a88;stroke-width:.6}
.fm-splash circle{fill:#9fb6a8}
.fm-towarm{fill:none;stroke:#ebe5d6;stroke-width:3.4;stroke-linecap:round}
.fm-wake path{fill:none;stroke:#f7f8f2;stroke-width:1.4;stroke-linecap:round}.fm-wake .w2{stroke:#7f9a88;stroke-opacity:.35;stroke-width:.8}.fm-wake circle{fill:#f7f8f2}
@keyframes bk-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes bk-up{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes bk-sunin{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes bk-glint{0%,100%{opacity:.2}50%{opacity:1}}
@keyframes bk-wave{to{stroke-dashoffset:-780}}
@keyframes bk-s1{from{transform:translate(1150px,263px) scale(.78)}to{transform:translate(760px,263px) scale(.78)}}
@keyframes bk-s2{from{transform:translate(860px,262px) scale(.52)}to{transform:translate(1210px,262px) scale(.52)}}
@keyframes bk-s3{from{transform:translate(1030px,262.5px) scale(.62)}to{transform:translate(640px,262.5px) scale(.62)}}
@keyframes bk-birds{0%{transform:translate(1650px,150px)}100%{transform:translate(620px,118px)}}
@media(max-width:1100px){.bk-land{padding-bottom:132px}}
@media(max-width:750px){
  .bk-land{padding:118px 6vw 134px}
  .bk-land .bk-note{font-size:13px;margin-top:12px}
  .bk-land h1{font-size:clamp(40px,11.5vw,56px);white-space:normal;line-height:1.02}
  .bk-land .bk-scene{top:auto;left:auto;height:150px;width:210%;-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%);mask-image:linear-gradient(180deg,transparent,#000 22%)}
  .bk-land .bk-dt{display:none}
  .bk-land .bk-fgm{transform:translateX(150px)}
  .bk-land .bk-sun{translate:-150px 74px}
  .bk-land .bk-glint{translate:-150px 4px}
  .bk-land .bk-birds{translate:0 72px}
}
@media(prefers-reduced-motion:reduce){
  .bk-land h1,.bk-sun,.bk-glint path,.bk-waves path,.bk-sails g,.bk-birds,.bk-jetty{animation:none}
  .bk-sails .b1{transform:translate(1000px,263px) scale(.78)}.bk-sails .b2{transform:translate(900px,262px) scale(.52)}.bk-birds,.bk-sails .b3{display:none}
}

/* bankkártyás fizetés (SimplePay) */
.pay-online{background:#edf7e4;border-color:#b9dca0}
.pay-online .sum-eyebrow{color:#2f6b45}
.pay-online h3 strong{font-weight:600}
.pay-online .check{margin-top:14px;font-size:13px;color:#2f4636}
.pay-online .check span{line-height:1.55}
.pay-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px}
.pay-actions .bk-submit{width:auto;margin:0;padding:16px 28px;background:#101815;color:#fff}
.pay-actions .bk-submit:hover{background:#2f4636}
.sp-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#2f4636;text-decoration:none;opacity:.85}
.sp-badge img{height:34px;width:auto;display:block}
.sp-badge span{font-weight:700;letter-spacing:.02em}
.pay-online .small{font-size:12px;color:#5d6d62}
.pay-result{margin-top:24px;padding:16px 20px;border:2px solid;font-size:15px;line-height:1.55}
.pay-result.is-ok{background:#edf7e4;border-color:#8fcf6f;color:#1f3f2a}
.pay-result.is-bad{background:#fff1ec;border-color:#f0b8a6;color:#5a2416}
.pay-result code{font-size:13px}
.btn-main{display:inline-block;margin-top:10px;padding:14px 26px;border-radius:40px;background:#c9eeaa;color:#101815;text-decoration:none;font-size:15px}

/* kaució, legény-/lánybúcsú kapcsoló, paywall */
.sum-deposit{border-bottom:0!important;padding-top:14px!important;font-size:13px!important;color:#93a497}
.sum-deposit dt{color:#93a497;max-width:70%}.sum-deposit dd{color:#eff3ed}
.bk-confirm .sum-deposit dt,.bk-confirm .sum-deposit dd{font-size:13px}
.switch{position:relative;display:inline-block;width:52px;height:30px;margin:0;flex:none}
.switch input{position:absolute;opacity:0;width:0;height:0}
.switch span{position:absolute;inset:0;background:#c8d3c6;border-radius:30px;transition:background .2s}
.switch span::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}
.switch input:checked+span{background:#18281f}
.switch input:checked+span::after{transform:translateX(22px)}
.switch input:focus-visible+span{outline:2px solid #2f6b45;outline-offset:2px}
#deposit-hint{margin-top:10px}
.pay-deposit{background:#f1f3ef;border-color:#c9d3c5}
.pay-deposit .sum-eyebrow{color:#2f4636}
.pay-deposit-info{background:#f7f9f3;border-color:#dfe3d8}
.pay-deposit-info p{margin:8px 0 0}
#sum-note .sp-badge{margin-left:6px;vertical-align:middle;color:#c4ed99}
#sp-accept-row span{font-size:12px;color:#4e6153;line-height:1.5}
/* üres keresés + közeli, foglalható időpontok */
.bs-empty strong{display:block;font-weight:400;font-size:21px;letter-spacing:-.02em;line-height:1.35}
.bs-empty>small{display:block;margin-top:4px;font-size:13.5px;color:#4e6153}
.bs-empty .sg-why{margin:14px 0 0;font-size:15px;line-height:1.6;color:#33473a;max-width:720px}
.bs-empty .sg-why a{color:#18281f;text-decoration:underline;text-underline-offset:3px}
.bs-empty .sg-none{margin:16px 0 0;font-size:15px;color:#33473a}
.bs-suggest{margin:34px 0 10px}
.bs-empty .bs-suggest{margin:22px 0 0;padding-top:20px;border-top:1px solid #56745d26}
.sg-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 18px;margin-bottom:12px}
.sg-head p{margin:0;font-size:15px;color:#33473a}
.sg-key{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#6a7d6f}
.sg-key i{width:12px;height:8px;border-radius:2px;margin-left:6px}
.sg-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:12px}
.bs-sug{display:flex;flex-direction:column;align-items:stretch;gap:7px;border:1px solid #56745d26;background:#fff;border-radius:18px;padding:14px 16px 13px;cursor:pointer;font:inherit;color:#101815;text-align:left;transition:border-color .25s,box-shadow .25s,transform .25s}
.bs-sug strong{font-size:16px;font-weight:600;letter-spacing:-.01em}
.bs-sug small{font-size:12.5px;color:#4e6153;line-height:1.45}
.bs-sug .sg-rel{font-size:12px;color:#56745d}
.bs-sug .sg-rel::first-letter{text-transform:uppercase}
.sg-bar{display:flex;gap:2px;height:8px;margin:1px 0 2px}
.sg-bar i,.sg-key i{flex:1;background:#e9eee5;border-radius:2px}
.sg-bar i.we{background:#dfe6da}
.sg-bar i.rq,.sg-key i.rq{background:transparent;box-shadow:0 0 0 1px #56745d8c inset}
.sg-bar i.al,.sg-key i.al{background:#7aa383;box-shadow:none}
.sg-bar i.rq.al{background:#7aa383;box-shadow:0 0 0 1px #3e5e46 inset}
.sg-foot{display:flex;justify-content:space-between;align-items:center;margin-top:2px;font-size:14px;font-weight:600}
.sg-go{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eef2ea;color:#18281f;font-weight:400;transition:background .25s,color .25s,transform .25s}
.bs-sug:hover,.bs-sug:focus-visible{border-color:#56745d80;box-shadow:0 14px 28px -22px #0b1a1399;transform:translateY(-1px)}
.bs-sug:hover .sg-go,.bs-sug:focus-visible .sg-go{background:#18281f;color:#c9eeaa;transform:translateX(2px)}
@media (max-width:750px){
  .sg-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:20px;margin:0 -20px;padding:2px 20px 10px;scrollbar-width:none}
  .dp-foot{flex-wrap:wrap;row-gap:10px}
  .dp-foot .dp-legend{order:-1;width:100%}
  .dp-foot #dp-info{flex-basis:100%;margin:0}
  .dp-foot .dp-clear{margin-left:auto}
  .sg-list::-webkit-scrollbar{display:none}
  .bs-sug{flex:0 0 72%;scroll-snap-align:start}
  .bs-empty{padding:22px 20px}
}

/* Keresés előtti ajánló (legközelebbi szabad apartmanok) + találati kártyák: díjmentes lemondás */
.up-wrap{border-top:0;padding-top:0;margin-top:30px}
.up-note{font-size:12.5px;color:#6b7c70}
.bs-sug.up-card{padding:0 0 13px;overflow:hidden}
.bs-sug.up-card>*:not(.up-img){margin:0 16px}
.up-img{display:block;height:128px;margin:0 0 6px;overflow:hidden;background:#dfe6da}
.up-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.up-card:hover .up-img img{transform:scale(1.04)}
.bs-free{display:inline-flex;align-items:center;gap:6px;width:fit-content;margin-top:8px;padding:4px 10px;border-radius:999px;background:#dff0d2;color:#2c5a33!important;font-size:12px;font-weight:600}
.bs-card.is-house .bs-free{background:#c9eeaa26;color:#c9eeaa!important}
@media(max-width:750px){.bs-price .bs-free{grid-column:1/-1;grid-row:auto;margin-top:6px}.up-img{height:120px}}
.bs-pn{white-space:nowrap}
.bs-free:before{content:'✓';font-weight:700}

/* Fizetés: most fizetendő, feltételek a gomb fölött, bizalmi sor, „mi történik ezután”, cégadatok, mobil sáv */
.sum-pay{margin-top:6px;padding-top:12px;border-top:1px solid #ffffff1c}
.sum-pay[hidden]{display:none}
.sum-now{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 0}
.sum-now>span{font-size:15px;color:#eff3ed}.sum-now small{display:block;font-size:12px;color:#aebdb2;margin-top:2px}
.sum-now b{font-size:20px;font-weight:600;color:#c9eeaa;white-space:nowrap}
.sum-rest{display:flex;justify-content:space-between;gap:12px;padding:4px 0 2px;font-size:13px;color:#aebdb2}
.sum-rest[hidden]{display:none}
.sum-free{margin-top:10px;background:#c9eeaa26!important;color:#c9eeaa!important}
.sum-free[hidden]{display:none}
.sum-terms{margin:18px 0 4px;display:grid;gap:12px}
.sum-terms .check{font-size:13px;line-height:1.5;color:#c4d0c6}
.sum-terms .check input{accent-color:#c9eeaa;margin-top:2px}
.sum-terms .check a.terms-link:hover{color:#fff}
.sum-terms #sp-accept-text{font-size:11.5px;line-height:1.5;color:#9fb0a4;max-height:7.5em;overflow:auto;display:block;padding-right:4px}
.sum-terms .check em{color:#ffb4a1}
.sum-card .bk-submit{margin-top:14px}
.sum-note{text-align:center}
.sum-trust{display:inline-flex;align-items:center;gap:6px;color:#c4d0c6;margin-right:4px}
.card-chip{font-style:normal;display:inline-block;padding:2px 8px;border-radius:6px;background:#ffffff14;color:#dfe8dc;font-size:11px;margin:2px 2px 0}
.sum-hold{display:block;margin-top:8px;font-size:11.5px;color:#93a497}
.sum-next{margin-top:14px;background:#f5f6f1;border-radius:22px;padding:18px 20px;color:#18281f}
.sum-next strong{display:block;font-size:12px;letter-spacing:.12em;color:#56745d;margin-bottom:10px;font-weight:400}
.sum-next ol{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.sum-next li{display:grid;grid-template-columns:26px 1fr;gap:10px;font-size:13.5px;line-height:1.45}
.sum-next li b{width:26px;height:26px;border-radius:50%;background:#18281f;color:#c9eeaa;display:grid;place-items:center;font-size:12px;font-weight:600}
.sum-next li small{display:block;color:#6b7c70;font-size:12px}
.co-toggle{position:relative;grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;border:1px solid #d5ddd1;border-radius:14px;background:#fff;cursor:pointer}
.co-toggle strong{display:block;font-weight:400;font-size:14.5px}.co-toggle small{display:block;color:#6b7c70;font-size:12px;margin-top:2px}
.co-switch{position:absolute;opacity:0;width:1px;height:1px}
.co-toggle i{flex:none;width:44px;height:26px;border-radius:13px;background:#cfd8cb;position:relative;transition:background .2s}
.co-toggle i:after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}
.co-switch:checked+i{background:#18281f}.co-switch:checked+i:after{transform:translateX(18px)}
.co-switch:focus-visible+i{outline:2px solid #3d7a48;outline-offset:2px}
.co-field[hidden]{display:none}
.zip-auto{display:block;margin-top:5px;font-size:11.5px;color:#3d7a48}
.zip-auto[hidden]{display:none}
.pay-bar{display:none}
@media(max-width:750px){
  .pay-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:150;align-items:center;gap:12px;padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px));background:rgba(16,24,21,.95);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#eff3ed;box-shadow:0 -10px 30px rgba(0,0,0,.25);transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
  .pay-bar.is-on{transform:none}
  .pay-bar div{flex:1}.pay-bar small{display:block;font-size:11.5px;color:#a9b9ad}.pay-bar b{font-size:19px;font-weight:400}
  .pay-bar button{border:0;background:#c9eeaa;color:#101815;border-radius:18px;padding:14px 18px;font:inherit;font-size:14.5px;white-space:nowrap;cursor:pointer}
  .mm-lock .pay-bar{transform:translateY(110%)}
}
@media(prefers-reduced-motion:reduce){.pay-bar,.co-toggle i,.co-toggle i:after{transition:none}}

/* Mobil: a fő gomb mindig látható legyen görgetés nélkül (Donát, 2026-10-10).
   Tömörebb fejrész a foglalás oldalon, a „Keresés” gomb pedig – ha mégsem férne ki (kis kijelző) – a képernyő aljához tapad,
   amíg a kereső látszik. */
@media(max-width:750px){
  .bk-land{padding:96px 6vw 186px}
  .bk-land .crumbs{display:none}
  .bk-land h1{font-size:clamp(36px,9.8vw,46px)}
  .bk-land .bk-note{margin-top:10px}
  .bk-land .bk-scene{height:176px}   /* a horgász, a stég, a nap és a vitorlás egészében látszik, a figyelmeztetés alatt szabad hellyel */
  .bs .bs-count>span{min-height:22px}
  .bs-cell{padding:10px 14px}
  .bs .wheel-arr{height:17px}   /* a kereső kerekeinek nyilai alacsonyabbak – ennyi hely jut a rajznak */
  #s-go{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:6;box-shadow:0 14px 30px -12px #0b1a13a6}
}

/* Ragadós teendő-sáv mobilon (actbar.js): fizetés, okmányfeltöltés – amíg a valódi gomb nem látszik */
.act-bar{display:none}
@media(max-width:750px){
  .act-bar{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:150;padding:8px;border-radius:26px;background:rgba(16,24,21,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 14px 40px rgba(0,0,0,.35);transform:translateY(calc(100% + 30px));opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s}
  .act-bar.is-on{transform:none;opacity:1;pointer-events:auto}
  .act-go{flex:1;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px;border:0;background:#c9eeaa;color:#101815;border-radius:19px;padding:12px 18px;text-align:left;font:inherit;cursor:pointer}
  .act-l{font-size:16px;font-weight:600;letter-spacing:-.01em}
  .act-s{grid-row:2;font-size:12px;opacity:.72}
  .act-s:empty{display:none}
  .act-go i{grid-row:1/3;grid-column:2;font-style:normal;font-size:20px}
  .act-go:focus-visible{outline:2px solid #d2f990;outline-offset:3px}
}
.act-flash{animation:act-flash 1.4s ease}
@keyframes act-flash{0%,100%{box-shadow:0 0 0 0 rgba(86,116,93,0)}25%{box-shadow:0 0 0 6px rgba(86,116,93,.35)}}
@media(prefers-reduced-motion:reduce){.act-bar{transition:none}.act-flash{animation:none}}
