:root{--turquoise:#00a7b5;--turquoise-dark:#007681;--turquoise-light:#d9f7fa;--turquoise-bright:#22c7d6;--sand:#d9b77e;--ink:#173b40;--muted:#526f74;--paper:#f7fcfd;--soft:#ddeff2;--radius:24px;--shadow:0 18px 50px rgba(0,101,113,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}img{max-width:100%;display:block}a{color:inherit}.container{width:min(1160px,calc(100% - 36px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(8,127,131,.12)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font-weight:850;letter-spacing:-.035em;font-size:1.3rem;color:var(--turquoise-dark)}.brand span{color:var(--sand)}.nav-links{display:flex;align-items:center;gap:22px}.nav-links a{text-decoration:none;font-weight:650;font-size:.95rem}.nav-links a:hover{color:var(--turquoise)}.language{display:flex;background:var(--soft);border-radius:99px;padding:4px}.lang-btn{border:0;background:transparent;padding:8px 10px;border-radius:99px;font-weight:750;color:var(--muted);cursor:pointer}.lang-btn.active{background:var(--turquoise);color:#fff}.menu-toggle{display:none;border:0;background:var(--soft);border-radius:12px;padding:10px;font-size:1.25rem}.home-hero{padding:70px 0 34px;text-align:center;background:radial-gradient(circle at 50% 0,var(--turquoise-light),transparent 62%)}.eyebrow{margin:0 0 12px;color:var(--turquoise);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}.home-hero h1,.detail-intro h1{margin:0;font-size:clamp(2.5rem,7vw,5.7rem);line-height:.98;letter-spacing:-.065em}.home-hero p{max-width:720px;margin:24px auto 0;font-size:1.12rem;color:var(--muted)}.apartment-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:38px 0 84px}.apartment-card{background:#fff;border:1px solid rgba(8,127,131,.14);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}.apartment-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(6,74,78,.19)}.card-image{aspect-ratio:4/3;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.apartment-card:hover img{transform:scale(1.025)}.card-body{padding:28px}.card-body h2{font-size:2rem;letter-spacing:-.04em;margin:0 0 10px}.card-body p{color:var(--muted);margin:0 0 22px}.facts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}.fact{background:var(--soft);color:var(--turquoise-dark);font-weight:750;font-size:.82rem;padding:7px 11px;border-radius:99px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 19px;border-radius:13px;background:var(--turquoise);color:#fff;text-decoration:none;font-weight:800;border:0;cursor:pointer}.button:hover{background:var(--turquoise-dark)}.button.secondary{background:transparent;color:var(--turquoise-dark);border:1px solid rgba(8,127,131,.28)}.detail-hero{min-height:67vh;display:grid;place-items:end start;position:relative;background:#123;overflow:hidden}.detail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,34,37,.78),rgba(4,34,37,.06) 70%)}.detail-intro{position:relative;z-index:1;color:#fff;padding:70px 0 58px;width:100%}.detail-intro p{max-width:760px;font-size:1.14rem;margin:18px 0 0}.quick-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-28px;position:relative;z-index:3}.quick-fact{background:#fff;border-radius:18px;padding:22px;box-shadow:var(--shadow)}.quick-fact strong{display:block;color:var(--turquoise);font-size:1.35rem}.section{padding:82px 0}.section.soft{background:var(--soft)}.section-head{max-width:780px;margin-bottom:34px}.section h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.05;letter-spacing:-.045em;margin:0 0 16px}.section-head p{color:var(--muted);font-size:1.05rem}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:start}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;margin:0;list-style:none}.amenities li{background:#fff;border:1px solid rgba(8,127,131,.12);border-radius:14px;padding:15px 16px;font-weight:650}.amenities li:before{content:"✓";color:var(--turquoise);font-weight:900;margin-right:9px}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.gallery button{border:0;padding:0;background:none;overflow:hidden;border-radius:16px;cursor:zoom-in;grid-column:span 4;aspect-ratio:4/3}.gallery button:first-child{grid-column:span 8;grid-row:span 2;aspect-ratio:auto}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.gallery button:hover img{transform:scale(1.035)}.lightbox{border:0;border-radius:18px;padding:0;background:#071b1d;max-width:min(1100px,94vw);max-height:92vh}.lightbox::backdrop{background:rgba(1,12,13,.86)}.lightbox img{max-width:100%;max-height:88vh}.lightbox-close{position:absolute;top:10px;right:10px;border:0;border-radius:99px;background:#fff;width:42px;height:42px;font-size:1.35rem;cursor:pointer}.calendar-card{background:#fff;border-radius:var(--radius);padding:25px;box-shadow:var(--shadow)}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.calendar-head button{border:0;width:44px;height:44px;border-radius:50%;background:var(--turquoise-light);color:var(--turquoise-dark);font-size:1.4rem;cursor:pointer}.calendar-title{font-size:1.3rem;font-weight:850}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;text-align:center}.weekday{font-size:.75rem;font-weight:850;color:var(--muted);padding:7px 0}.calendar-day{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;font-weight:750}.calendar-day.free{background:var(--turquoise-light);color:var(--turquoise-dark)}.calendar-day.booked{background:#df746f;color:#fff}.calendar-legend{display:flex;gap:18px;margin-top:18px;font-size:.9rem}.calendar-legend span:before{content:"";display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:7px}.legend-free:before{background:var(--turquoise-light)}.legend-booked:before{background:#df746f}.contact-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;background:var(--turquoise-dark);color:#fff;border-radius:var(--radius);padding:clamp(28px,6vw,60px)}.contact-panel h2{margin:0 0 12px}.contact-panel p{color:#d9f3f1}.contact-actions{display:flex;flex-direction:column;justify-content:center;gap:12px}.contact-actions .button{background:#fff;color:var(--turquoise-dark)}.contact-actions .button.secondary{color:#fff;border-color:rgba(255,255,255,.4);background:transparent}.site-footer{padding:30px 0;color:var(--muted);font-size:.9rem;border-top:1px solid rgba(8,127,131,.12)}.footer-inner{display:flex;justify-content:space-between;gap:20px}.privacy-note{font-size:.9rem;color:var(--muted);margin-top:22px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:99;background:#fff;padding:12px}
@media(max-width:800px){.menu-toggle{display:block}.nav-links{position:absolute;left:18px;right:18px;top:68px;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:18px;display:none;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.apartment-grid,.two-col,.contact-panel{grid-template-columns:1fr}.quick-facts{grid-template-columns:1fr 1fr}.gallery button,.gallery button:first-child{grid-column:span 6;grid-row:auto;aspect-ratio:4/3}.amenities{grid-template-columns:1fr}.home-hero{padding-top:52px}.detail-hero{min-height:58vh}.footer-inner{flex-direction:column}.section{padding:62px 0}}
@media(max-width:480px){.quick-facts{grid-template-columns:1fr}.gallery button,.gallery button:first-child{grid-column:span 12}.apartment-grid{grid-template-columns:1fr}.home-hero h1,.detail-intro h1{font-size:2.7rem}.container{width:min(100% - 24px,1160px)}}

/* 2026 türkizkék arculat és átutazói ajánlat */
body{background:radial-gradient(circle at 10% 5%,rgba(34,199,214,.16),transparent 32%),radial-gradient(circle at 90% 38%,rgba(0,167,181,.11),transparent 30%),linear-gradient(145deg,#edf9fb 0%,#dceff2 52%,#eaf7f8 100%);background-attachment:fixed}
.site-header{background:rgba(239,250,252,.94);border-bottom-color:rgba(0,167,181,.18)}
.apartment-card,.quick-fact,.amenities li,.calendar-card{background:rgba(247,252,253,.9);backdrop-filter:blur(12px)}
.section.soft{background:rgba(212,237,241,.72);border-block:1px solid rgba(0,167,181,.12)}
.transit-section[hidden]{display:none}.transit-section{padding:84px 0;background:linear-gradient(135deg,#053f4a 0%,#007681 55%,#00a7b5 100%);color:#fff}.transit-layout{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}.transit-copy p{color:#dff8fb}.transit-copy h2{font-size:clamp(2.25rem,4vw,4rem);line-height:1.02;letter-spacing:-.05em;margin:0 0 20px}.transit-image{border-radius:var(--radius);overflow:hidden;box-shadow:0 25px 70px rgba(0,28,33,.35)}.transit-image img{width:100%;aspect-ratio:16/9;object-fit:cover}.route-chips{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.route-chip{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);font-weight:750;font-size:.86rem}.map-wrap{margin-top:38px;border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 25px 70px rgba(0,28,33,.28)}.map-wrap iframe{display:block;width:100%;height:390px;border:0}.transit-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.transit-actions .button{background:#fff;color:var(--turquoise-dark)}.transit-actions .button.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
@media(max-width:800px){.transit-layout{grid-template-columns:1fr}.transit-section{padding:62px 0}.language{flex-wrap:wrap}.map-wrap iframe{height:320px}}
.lang-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:40px;line-height:1.05}.lang-btn .flag{font-size:1rem;line-height:1.1;filter:saturate(1.08)}

/* Online foglalás */
.calendar-day.pending{background:#b8deef;color:#16536c;border:1px solid #82c4df}.legend-pending:before{background:#b8deef}.booking-section{background:linear-gradient(135deg,rgba(0,118,129,.96),rgba(0,167,181,.9));color:#fff}.booking-section .section-head p{color:#e2fafd}.booking-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:38px;align-items:start}.price-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius);padding:28px;position:sticky;top:100px}.price-card .price{font-size:2.2rem;font-weight:900;line-height:1;margin:10px 0}.price-list{list-style:none;padding:0;margin:24px 0}.price-list li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.18)}.booking-form{background:#f7fcfd;color:var(--ink);border-radius:var(--radius);padding:clamp(22px,4vw,38px);box-shadow:0 25px 70px rgba(0,28,33,.25)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field.full{grid-column:1/-1}.booking-form label{display:block;font-weight:750;margin-bottom:6px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;min-height:49px;border:1px solid #9cbec2;border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);font:inherit}.booking-form textarea{min-height:100px;resize:vertical}.check-row{display:flex;flex-wrap:wrap;gap:16px}.check-label{display:flex!important;align-items:center;gap:8px;font-weight:650!important}.check-label input{width:19px!important;min-height:19px!important}.booking-total{display:flex;justify-content:space-between;gap:18px;align-items:center;background:var(--turquoise-light);border-radius:15px;padding:17px;margin:20px 0}.booking-total strong{font-size:1.5rem;color:var(--turquoise-dark)}.booking-total span{display:block;color:var(--muted);font-size:.9rem}.booking-status{margin-top:14px;padding:0}.booking-status.success,.booking-status.error{padding:13px 15px;border-radius:12px;font-weight:700}.booking-status.success{background:#dcf7ec;color:#17643f}.booking-status.error{background:#fff0f0;color:#922}.booking-form button:disabled{opacity:.6;cursor:wait}.honeypot{position:absolute!important;left:-9999px!important}.small-note{font-size:.88rem;opacity:.88}
@media(max-width:800px){.booking-layout{grid-template-columns:1fr}.price-card{position:static}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}}
