:root{--serif:"DM Serif Display",Georgia,serif;--mono:Manrope,system-ui,sans-serif;--sans:Manrope,system-ui,-apple-system,sans-serif;--more:#0a7f95;--more2:#19a7c2;--tyrkys:#5fd0de;--noc:#0b3157;--piesok:#f5f8f9;--ink:#1b2b38;--siva:#5a6b78;--ciara:#dfe7eb;--biela:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--piesok)}
img{max-width:100%;display:block}
a{color:inherit}
/* hlavicka */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;gap:26px;padding:12px 36px;color:var(--noc);background:#fff;box-shadow:0 1px 0 rgba(11,49,87,.08)}
.nav.plna{box-shadow:0 6px 24px rgba(11,49,87,.10)}
.nav .zn img{height:50px;width:auto;display:block}
.nav nav{display:flex;gap:26px;margin-left:auto;font-size:14.5px;font-weight:600}
.nav nav a{text-decoration:none;color:var(--noc);opacity:.8}.nav nav a:hover{opacity:1}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:11px 20px;font:600 14px var(--sans);cursor:pointer;text-decoration:none}
.btn-slnko{background:var(--noc);color:#fff}
.btn-obrys{background:#fff;color:var(--noc);border:1.5px solid rgba(11,49,87,.25)}
.btn-more{background:var(--more);color:#fff}
.btn-sivy{background:#eef1f2;color:var(--ink)}
.jaz{display:flex;gap:4px}.jaz button{background:rgba(11,49,87,.08);color:var(--noc);border:0;border-radius:999px;padding:5px 9px;font:600 11px var(--sans);cursor:pointer}.jaz button.on{background:var(--noc);color:#fff}
@keyframes zoom{from{transform:scale(1)}to{transform:scale(1.06)}}
.hero .clona{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,25,45,.38) 0%,rgba(3,25,45,0) 42%),linear-gradient(180deg,rgba(3,25,45,0) 70%,rgba(3,25,45,.35) 100%)}
.hero .stitok{position:absolute;z-index:2;right:36px;bottom:40px;color:#fff;font-size:13px;font-weight:600;background:rgba(3,25,45,.35);backdrop-filter:blur(8px);padding:8px 14px;border-radius:999px}
.hero{align-items:stretch}.hero .in{position:relative;z-index:2;width:100%;max-width:1240px;margin:0 auto;padding:70px 36px 56px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.hero .kicker{font-size:12.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#bff3f7;margin:0 0 16px}
.hero h1{text-shadow:0 2px 24px rgba(0,30,50,.35);font-family:var(--serif);font-weight:400;font-size:clamp(46px,6.4vw,88px);line-height:1;margin:0 0 18px;letter-spacing:-.01em}
.hero h1 em{color:#9ee9f0}
.hero p.lead{text-shadow:0 1px 12px rgba(0,25,45,.6);font-weight:500;font-size:clamp(17px,1.6vw,20px);max-width:560px;margin:0 0 26px;line-height:1.55;color:#e9f5f8}
.koko{background:rgba(3,25,45,.45);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:18px 20px;display:inline-block;max-width:520px}
.koko b{display:block;margin-bottom:12px;font-size:16px;font-weight:600}
.koko small{display:block;margin-top:12px;font-size:13px;color:#cfe3ea}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);background:transparent;color:#fff;font:600 14px var(--sans);cursor:pointer;transition:.15s}
.chip:hover{background:#fff;color:var(--noc);border-color:#fff}
/* pas Kolko vas pride pod fotkou */
.pas{background:#fff;border-bottom:1px solid var(--ciara)}
.pas .in{max-width:1240px;margin:0 auto;padding:22px 36px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.pas b{font-family:var(--serif);font-weight:400;font-size:24px;color:var(--noc)}
.pas small{color:var(--siva);font-size:13px}
.pas .chip{border-color:rgba(11,49,87,.3);color:var(--noc)}.pas .chip:hover{background:var(--noc);color:#fff;border-color:var(--noc)}
/* fakty */
.fakty{background:linear-gradient(90deg,#0b3157,#0a6f8a);color:#fff}
.fakty .in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);gap:0}
.fakt{padding:26px 16px;text-align:center;border-right:1px solid rgba(255,255,255,.1)}
.fakt:last-child{border:0}.fakt b{display:block;font-family:var(--serif);font-size:30px;color:var(--tyrkys)}.fakt span{font-size:13.5px;opacity:.85}
/* sekcie */
.sek{max-width:1180px;margin:0 auto;padding:90px 28px}
.nad{font-size:12.5px;letter-spacing:.2em;color:var(--more);font-weight:700;text-transform:uppercase}
h2{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;font-size:clamp(32px,4vw,50px);margin:8px 0 18px;line-height:1.05;color:var(--noc)}
.sek p{line-height:1.65;color:#36444e;font-size:16.5px}
.dva{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.galeria{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:220px 220px;gap:10px}
.galeria div{background:center/cover;border-radius:14px;position:relative}
.galeria div:first-child{grid-row:span 2}
.galeria small{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.55);color:#fff;font-size:11.5px;padding:4px 8px;border-radius:6px}
.zoz{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.zoz li{padding-left:22px;position:relative;font-size:15.5px}.zoz li:before{content:"";position:absolute;left:0;top:7px;width:10px;height:10px;border-radius:50%;background:var(--more2)}
.plaz{position:relative;color:#fff;background:url(img/plaz_palmy.jpg) center 50%/cover}
.plaz:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,60,90,.82),rgba(10,127,149,.15))}
.plaz .sek{position:relative}.plaz h2{color:#fff}.plaz p{color:#e8f1f5;max-width:560px}
.vzd{display:flex;gap:28px;margin-top:26px;flex-wrap:wrap}.vzd div{border-left:3px solid var(--tyrkys);padding-left:12px}.vzd b{font-family:var(--serif);font-size:28px;display:block}
/* perla karibiku */
.perla{background:#fff}
.perla .uvod{max-width:760px}
.perla .uvod p{font-size:18px}
.pmrz{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
.pk{border-radius:20px;overflow:hidden;background:var(--piesok);display:flex;flex-direction:column}
.pk img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.pk .t{padding:20px 22px 24px}
.pk h3{font-family:var(--serif);font-weight:400;font-size:24px;color:var(--noc);margin:0 0 8px;line-height:1.15}
.pk p{margin:0;font-size:15px;line-height:1.6;color:#3d4f5c}
.pk.tmava{background:linear-gradient(160deg,#0b3157,#0a6f8a);color:#fff;justify-content:flex-end;min-height:100%}
.pk.tmava h3{color:#fff;font-size:28px}.pk.tmava p{color:#d6eef3}
.pk.tmava .velke{font-family:var(--serif);font-size:64px;line-height:1;color:var(--tyrkys);margin-bottom:10px}
.citat{margin-top:40px;text-align:center;font-family:var(--serif);font-style:italic;font-size:clamp(24px,3vw,36px);color:var(--noc)}
.citat small{display:block;font-family:var(--sans);font-style:normal;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--more);margin-top:10px}
/* sluzby */
.karty{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.karta{background:#fff;border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(11,42,69,.07);display:flex;flex-direction:column}
.ik{width:46px;height:46px;border-radius:12px;background:#e3f4f5;display:grid;place-items:center;margin-bottom:14px}
.ik svg{width:24px;height:24px;stroke:var(--more);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.karta h3{margin:0 0 6px;font-size:18px;color:var(--noc)}.karta p{font-size:14.5px;margin:0 0 14px;color:var(--siva);line-height:1.5;flex:1}
.karta a{font-weight:600;color:var(--more);font-size:14px;text-decoration:none}
/* rezervacia */
.rez{background:#fff}
.krok{font-size:12px;letter-spacing:.2em;color:var(--siva);font-weight:700}
.panel{background:var(--biela);border:1px solid var(--ciara);border-radius:20px;padding:28px;margin-top:20px}
.r1{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:14px;align-items:stretch}
.osoby label{font-weight:600;display:flex;justify-content:space-between}.osoby output{font-family:var(--serif);font-size:28px;color:var(--noc)}
input[type=range]{width:100%;accent-color:var(--more)}
.vol{border:1.5px solid var(--ciara);border-radius:14px;padding:16px;cursor:pointer;background:#fff;text-align:left;font:inherit}
.vol[aria-pressed=true]{border-color:var(--more);background:#f0fafa;box-shadow:inset 0 0 0 1px var(--more)}
.vol b{display:block;font-size:16px;color:var(--noc)}.vol span{font-size:13px;color:var(--siva)}
.kal-hl{display:flex;align-items:center;justify-content:space-between;margin:26px 0 10px}
.kal-hl h3{margin:0;font-family:var(--serif);color:var(--noc);font-size:24px}
.kal-nav{display:flex;gap:8px;align-items:center;font-weight:600}
.kal-nav button{width:34px;height:34px;border-radius:50%;border:1px solid var(--ciara);background:#fff;cursor:pointer;font-size:16px}
.mesiace{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.mes h4{text-align:center;margin:6px 0 10px;color:var(--noc)}
.dni{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.dni .h{font-size:11px;color:var(--siva);text-align:center;font-weight:700;padding:4px 0}
.den{aspect-ratio:1.25;border-radius:8px;border:0;background:#f2f4f4;font:500 14px var(--sans);cursor:pointer;color:var(--ink)}
.den:hover{background:#d8eef0}.den.x{background:transparent;cursor:default;color:#c4c9cc;text-decoration:line-through}
.den.obs{background:#f8e3e1;color:#b9706a;cursor:not-allowed;text-decoration:line-through}
.den.sel{background:var(--more);color:#fff}.den.medzi{background:#cdeced}
.den.prazdny{visibility:hidden}
.leg{display:flex;gap:18px;font-size:12.5px;color:var(--siva);margin-top:12px;flex-wrap:wrap}.leg i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.suhrn{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding:18px 20px;background:var(--piesok);border-radius:14px;flex-wrap:wrap}
.suhrn b{font-size:17px;color:var(--noc)}
.pozn{font-size:12.5px;color:var(--siva)}
.sluzby-v{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:14px 0 22px}
.sv{border:1.5px solid var(--ciara);border-radius:14px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.sv input{margin-top:3px;accent-color:var(--more);width:18px;height:18px}
.sv b{display:block;color:var(--noc)}.sv span{font-size:13px;color:var(--siva)}
.sv .det{display:none;margin-top:8px;gap:8px;flex-wrap:wrap}.sv.on{border-color:var(--more);background:#f0fafa}.sv.on .det{display:flex}
.det select,.det input{font:inherit;font-size:13.5px;padding:7px 9px;border-radius:8px;border:1px solid var(--ciara)}
.polia{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pole{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:600}.pole.cely{grid-column:1/-1}
.pole input,.pole select,.pole textarea{font:400 15px var(--sans);padding:11px 12px;border-radius:10px;border:1px solid #cfd6da}
.tl{display:flex;justify-content:space-between;margin-top:22px;gap:10px}
.hidden{display:none}
.dakujeme{text-align:center;padding:30px 10px}.dakujeme h3{font-family:var(--serif);font-size:32px;color:var(--noc);margin:0 0 10px}
.wa{background:#1fa855;color:#fff}
.wa-plav{position:fixed;right:20px;bottom:20px;z-index:60;width:58px;height:58px;border-radius:50%;background:#1fa855;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.wa-plav svg{width:30px;height:30px;fill:#fff}
/* paticka */
footer{background:var(--noc);color:#d6e2ea;padding:56px 28px 40px}
footer .in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
footer h4{color:#fff;margin:0 0 10px}footer p{margin:4px 0;font-size:14px;line-height:1.6}
.vlajky{display:flex;gap:8px;margin-top:12px}.vlajky span{width:34px;height:22px;border-radius:3px;display:block}
@media (max-width:900px){.hero .more{left:0}.pmrz{grid-template-columns:1fr}.pas .in{padding:18px 16px;gap:12px}.hero .clona{background:linear-gradient(180deg,rgba(3,25,45,.6) 0%,rgba(3,25,45,.25) 40%,rgba(3,25,45,0) 60%)}.hero .in{flex-direction:column;align-items:stretch;padding:30px 16px 32px}.hero .lavo,.hero .pravo{max-width:none}.hero .condo{width:100%;height:58%;bottom:auto;-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent 100%);mask-image:linear-gradient(180deg,#000 60%,transparent 100%)}.hero .stitok{display:none}.jaz button:not(.on){display:none}.nav{gap:10px}.nav .btn{padding:9px 14px}.hero .kicker{letter-spacing:.14em}.hero .in{grid-template-columns:1fr;padding:0 16px 40px;gap:24px}.hero{margin-top:60px}.karta-condo{max-width:340px}.hero h1 br{display:none}.nav .zn img{height:34px}.btn-obrys{display:none}.nav nav{display:none}.fakty .in{grid-template-columns:repeat(3,1fr)}.dva,.r1,.mesiace,.karty,.sluzby-v,.polia,footer .in{grid-template-columns:1fr}.galeria{grid-template-rows:180px 180px}.zoz{grid-template-columns:1fr}.sek{padding:64px 16px}.hero .in{padding:0 16px 50px}.nav{padding:10px 16px}.plaz{background-attachment:scroll}}
/* ===== HERO v3 (countryclub-web): more cez celu plochu, condo prelinane vlavo, text na oblohe ===== */
.hero{margin-top:74px;min-height:clamp(620px,calc(100vh - 74px),960px);display:block;color:#fff;overflow:hidden;position:relative;background:#2f7fd0}
.hero .more{position:absolute;inset:0;left:0;background:url(img/hero_more.jpg) 30% 20%/cover no-repeat;animation:zoom 40s ease-out infinite alternate;transform-origin:80% 60%}
.hero .condo{position:absolute;top:0;bottom:0;left:auto;right:0;width:50%;height:auto;background:url(img/hero_condo.jpg) 40% 62%/cover no-repeat;
  -webkit-mask-image:linear-gradient(270deg,#000 0%,#000 45%,rgba(0,0,0,.7) 65%,rgba(0,0,0,.2) 85%,transparent 97%);mask-image:linear-gradient(270deg,#000 0%,#000 45%,rgba(0,0,0,.7) 65%,rgba(0,0,0,.2) 85%,transparent 97%)}
.hero .clona{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,40,90,.22) 0%,rgba(4,40,90,0) 30%),linear-gradient(0deg,rgba(4,30,60,.28) 0%,rgba(4,30,60,0) 22%)}
.hero .in{position:relative;z-index:2;max-width:1320px;margin:0 auto;padding:clamp(28px,6vh,72px) 40px 0;display:flex;justify-content:flex-start}
.hero .pravo-text{max-width:700px;width:58%}
.hero .kicker{font-size:12.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#fff;opacity:.95;margin:0 0 14px;text-shadow:0 1px 8px rgba(0,40,90,.45)}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,min(4.5vw,8vh),70px);line-height:1;margin:0 0 16px;letter-spacing:-.01em;text-shadow:0 2px 18px rgba(0,40,90,.35)}
.hero h1 em{color:#d6fbff}
.hero p.lead{font-weight:500;font-size:clamp(16px,1.35vw,19px);line-height:1.55;margin:0 0 22px;color:#fff;max-width:600px;text-shadow:0 1px 10px rgba(0,40,90,.55)}
.hero .koko{background:rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.35);border-radius:18px;padding:14px 16px;max-width:none;display:block}
.hero .koko b{font-family:var(--serif);font-weight:400;font-size:22px;margin:0 0 10px}
.hero .koko small{display:none}
.hero .koko{display:flex!important;align-items:center;gap:14px;padding:12px 14px;width:max-content;max-width:100%}.hero .koko b{margin:0!important;white-space:nowrap}.hero .koko .chips{flex-wrap:nowrap;gap:6px}.hero .chip{width:34px;height:34px;font-size:13px}
@media (max-height:820px) and (min-width:901px){.hero h1{font-size:clamp(40px,7.2vh,64px)}.hero p.lead{margin-bottom:16px}.hero .koko{padding:10px 14px}.hero .koko b{font-size:19px;margin-bottom:8px}.hero .chip{width:34px;height:34px;font-size:13px}.hero .in{padding-top:28px}}
.hero .chip{width:38px;height:38px;border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.08)}
.hero .stitok{position:absolute;z-index:2;bottom:84px;right:40px;left:auto;top:auto;color:#fff;font-size:13px;font-weight:600;background:rgba(4,40,80,.38);backdrop-filter:blur(8px);padding:8px 14px;border-radius:999px}
.hero .stitok.p{right:auto;left:40px;bottom:26px}
.hero .stuzka2{display:inline-block;margin:0 0 16px;font-size:12px;font-weight:700;letter-spacing:.12em;color:#04304f;background:#fff;padding:7px 14px;border-radius:999px}
.pas{display:none}
@media (max-width:900px){
 .hero{margin-top:60px;min-height:0;height:auto}
 .hero .more{bottom:210px;background-position:82% 50%}
 .hero .condo{top:auto;bottom:0;width:100%;height:310px;background-position:50% 65%;-webkit-mask-image:linear-gradient(0deg,#000 62%,transparent 100%);mask-image:linear-gradient(0deg,#000 62%,transparent 100%)}
 .hero .in{padding:26px 16px 0;display:block}
 .hero .pravo-text{width:auto;max-width:none;padding-bottom:600px}
 .hero .kicker{font-size:11px;letter-spacing:.12em}
 .hero .koko{display:none}
 .hero h1{font-size:44px}
 .hero h1 br{display:inline}
 .hero h1 span,.hero h1 em{white-space:normal!important}
 .hero h1{font-size:clamp(34px,10vw,44px)}
 .hero .koko{display:none!important}
 .hero .stitok{left:16px;bottom:16px}.hero .stitok.p{display:none}
 .pas{display:block}
}
/* web: doplnky */
.jaz a{display:inline-block;background:rgba(11,49,87,.08);color:var(--noc);border-radius:999px;padding:5px 9px;font:600 11px var(--sans);text-decoration:none}.jaz a.on{background:var(--noc);color:#fff}
.preskoc{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:99}.preskoc:focus{left:8px}
:focus-visible{outline:3px solid var(--tyrkys);outline-offset:2px}
.okolie{margin-top:18px;padding:14px 16px;background:#fff;border-radius:14px;border:1px solid var(--ciara);font-size:15px;line-height:1.55;color:#36444e}
.okolie b{color:var(--noc)}
.pole input:invalid:not(:placeholder-shown){border-color:#d77}
.chyba{color:#b3261e;font-size:13.5px;margin-top:10px;min-height:1em}
.ochrana{grid-column:1/-1;font-size:12.5px;opacity:.75;line-height:1.6;margin:0}
footer a{color:#fff}
@media (max-width:900px){.jaz a:not(.on){display:inline-block}.jaz{gap:3px}.jaz a{padding:5px 7px}}
@media (prefers-reduced-motion:reduce){.hero .more{animation:none}html{scroll-behavior:auto}}

.hero .chip{width:34px;height:34px;font-size:13px}
.hero .koko{max-width:none}
@media (min-width:901px){.hero .pravo-text{width:min(760px,64%);max-width:none}}
.hero .sezona{display:inline-block;margin:0 0 18px;padding:9px 16px;border-radius:12px;background:rgba(4,40,90,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:clamp(15px,1.3vw,18px);color:#fff;text-shadow:none}
.hero .sezona b{color:#d6fbff}
.fakt b{white-space:nowrap}
@media (max-width:900px){.hero .sezona{font-size:14.5px;margin-bottom:12px;padding:7px 12px}}
/* mapka */
.mapa{background:linear-gradient(180deg,#eef9fa,#fff)}
.mapy{display:grid;grid-template-columns:1fr;gap:26px;margin-top:30px;max-width:1040px}
.mapa figure{margin:0;background:#fff;border-radius:22px;padding:10px;box-shadow:0 14px 40px rgba(11,42,69,.10)}
.mapa figcaption{font-size:13.5px;color:var(--siva);padding:10px 8px 4px}
.mapa-svg{width:100%;height:auto;border-radius:16px;display:block}
.mapa-svg .pevnina{fill:#f2ead2;stroke:#c9b689;stroke-width:1;stroke-linejoin:round}
.mapa-svg .ostrov{fill:#d6e7b4;stroke:#8fb06f;stroke-width:1.6}
.mapa-svg .pulz{fill:#0a7f95;opacity:.28;transform-box:fill-box;transform-origin:center;animation:pulz 2.4s ease-out infinite}
@keyframes pulz{from{transform:scale(.5);opacity:.5}to{transform:scale(1.6);opacity:0}}
.mapa-svg .bod-hl{fill:#0b3157;stroke:#fff;stroke-width:3}
.mapa-svg .let{fill:none;stroke:#0b3157;stroke-width:2.5;stroke-dasharray:9 8;opacity:.75}
.mapa-svg .sipka{fill:none;stroke:#0b3157;stroke-width:2.5;stroke-linecap:round}
.mapa-svg .vlnka{fill:none;stroke:#fff;stroke-width:2.5;opacity:.6;stroke-linecap:round}
.mapa-svg text{font-family:var(--sans);fill:#0b3157}
.mapa-svg .lbl-more{font-family:var(--serif);font-style:italic;font-size:26px;fill:#fff;opacity:.95}
.mapa-svg .lbl-kraj{font-size:15px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;fill:#7a6a45}
.mapa-svg .lbl-maly{font-size:14px;font-weight:600}
.mapa-svg .lbl-let{font-size:15px;font-weight:700}
.mapa-svg .lbl-perla{font-family:var(--serif);font-size:30px}
.mapa-svg .lbl-ostrov{font-size:16px;font-weight:700;fill:#0b3157}
.mapa-svg .lbl-bod{font-size:16px;font-weight:600;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.mapa-svg .lbl-bod.nas{font-size:18px;font-weight:800}
@media (max-width:900px){.mapy{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.mapa-svg .pulz{animation:none}}

/* spolocny web: posolstvo, ubytovanie, podstranky */
.hero .sezona .sez2{display:block;font-size:.86em;font-weight:500;opacity:.95;margin-top:3px}
.posolstvo .fakt b{font-size:28px}
.ubyt{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
.uk{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 14px 40px rgba(11,42,69,.10);display:flex;flex-direction:column}
.uk-foto{display:block;aspect-ratio:16/9;background:center/cover}
.uk-t{padding:22px 24px 26px}.uk-t h3{font-family:var(--serif);font-weight:400;font-size:28px;color:var(--noc);margin:8px 0}.uk-t p{margin:0 0 18px;color:#3d4f5c;line-height:1.6}
.tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--more);background:#e6f7f9;padding:5px 10px;border-radius:999px}
.uk-tl{display:flex;gap:10px;flex-wrap:wrap}
.hero-pod{min-height:clamp(440px,64vh,640px)}
.hero-pod .foto{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat}
.hero-pod .clona{background:linear-gradient(90deg,rgba(4,30,60,.55) 0%,rgba(4,30,60,.15) 55%,rgba(4,30,60,0) 80%)}
.hero-pod .in{padding-top:clamp(40px,10vh,110px)}
.hero-pod h1 em{white-space:normal}
.pod-cta{padding-top:56px}
.cta-box{background:linear-gradient(120deg,#0b3157,#0a6f8a);color:#fff;border-radius:24px;padding:34px 36px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta-box h2{color:#fff;margin:0 0 6px}.cta-box p{color:#d6eef3;margin:0}
.cta-box .btn-obrys{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.tm-foto{margin:0}.tm-foto img{border-radius:20px;width:100%;height:auto}.tm-foto figcaption{font-size:13px;color:var(--siva);margin-top:8px}
@media (max-width:900px){.ubyt{grid-template-columns:1fr}.r1{grid-template-columns:1fr}.hero-pod{min-height:0}.hero-pod .pravo-text{padding-bottom:120px}.cta-box{padding:26px 20px}.posolstvo .fakt b{font-size:22px}}
@media (max-width:700px){.mapa figure{padding:6px;border-radius:16px}.mapa-svg text{font-size:24px}.mapa-svg .lbl-bod{font-size:26px;stroke-width:6px}.mapa-svg .lbl-bod.nas{font-size:28px}.mapa-svg .lbl-perla{font-size:40px}.mapa-svg .lbl-more{font-size:34px}.mapa-svg .lbl-kraj{font-size:22px}.mapa-svg .lbl-maly{font-size:22px}}
/* nove sekcie: skryte plaze, jedlo, aktivna, albumy */
.vid{width:100%;height:100%;object-fit:cover;display:block;background:#cfe9ec}
.pk .vid{aspect-ratio:3/2;height:auto}
.pk.kor{position:relative;overflow:hidden}
.kor-ilu{position:absolute;right:-20px;top:-10px;width:230px;height:230px;opacity:.8;transform:rotate(-25deg)}
.uvod-p{max-width:760px}
.mozaika{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px;gap:12px;margin-top:28px}
.mozaika figure{margin:0;position:relative;border-radius:16px;overflow:hidden;background:#dfeef0}
.mozaika figure.m-vel{grid-row:span 2}
.mozaika img{width:100%;height:100%;object-fit:cover;display:block}
.mozaika figcaption{position:absolute;left:10px;bottom:10px;right:10px;color:#fff;font-size:13px;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.jedlo{background:#fff7ec}
.aktivna{grid-template-columns:minmax(0,380px) 1fr;align-items:start}
.beh{margin:0}.beh img{width:100%;height:auto;border-radius:22px;display:block}.beh figcaption{font-size:13px;color:var(--siva);margin-top:8px}
.zoz.jeden{grid-template-columns:1fr}
.aktivna .btn{margin-top:14px}
.albumy{background:#fff}
.al-dlazdice{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:26px}
.al-dl{position:relative;border:0;border-radius:14px;min-height:118px;background:center/cover #cfe9ec;cursor:pointer;padding:0;overflow:hidden;text-align:left;font:inherit;outline-offset:3px}
.al-dl span{position:absolute;inset:auto 0 0 0;padding:28px 10px 9px;background:linear-gradient(0deg,rgba(3,25,45,.85),rgba(3,25,45,0));color:#fff;font-size:12.5px;font-weight:600;line-height:1.3}
.al-dl b{display:block;font-family:var(--serif);font-weight:400;font-size:18px;color:var(--tyrkys)}
.al-dl[aria-pressed=true]{box-shadow:0 0 0 3px var(--more)}
.al-panely{margin-top:22px}
.al-panel h3{font-family:var(--serif);font-weight:400;font-size:28px;color:var(--noc);margin:0 0 14px}
.al-mriezka{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.al-mriezka figure{margin:0;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:#dfeef0}
.al-mriezka img{width:100%;height:100%;object-fit:cover;display:block}
.karty{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.mapa-svg .lbl-bod.tip{font-style:italic}
@media (max-width:900px){.mozaika{grid-template-columns:1fr 1fr;grid-template-rows:auto}.mozaika figure{aspect-ratio:1}.mozaika figure.m-vel{grid-column:1/-1;grid-row:auto;aspect-ratio:1}.aktivna{grid-template-columns:1fr}.beh{max-width:420px}.al-dlazdice{grid-template-columns:repeat(2,1fr)}}
.pk img{height:auto}
@media (max-width:900px){.kor-ilu{width:140px;height:140px;right:-24px;top:-24px;opacity:.45}.beh{max-width:300px;margin:0 auto}}
.podnadpis{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.2vw,26px);color:var(--more);margin:-8px 0 12px}

/* zimny slogan: video cele na vysku, nic neorezane */
.zima{background:linear-gradient(120deg,#0b3157,#0a6f8a);color:#fff}
.zima-in{max-width:1180px;margin:0 auto;padding:64px 28px;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}
.zima h2{color:#fff;font-size:clamp(40px,6vw,76px);margin:0 0 14px}
.zima p{max-width:560px;font-size:18px;line-height:1.6;color:#e6f6f8;margin:0 0 22px}
.zima-v{margin:0;width:min(360px,80vw);aspect-ratio:9/16;border-radius:24px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.zima-v .vid{width:100%;height:100%;object-fit:contain;background:#0b3157}
@media (max-width:900px){.zima-in{grid-template-columns:1fr;padding:48px 16px;justify-items:center}.zima-t{justify-self:stretch}}
.karta.s-foto img{width:calc(100% + 48px);margin:-24px -24px 14px;aspect-ratio:16/10;object-fit:cover;border-radius:18px 18px 0 0}

/* Country Club: karibská paleta a spoločný dizajn pre všetky jazyky */
:root {
  --noc: #062d41;
  --ink: #163847;
  --more: #006a76;
  --more2: #008897;
  --tyrkys: #8cf0e5;
  --piesok: #f3f9f8;
  --ciara: #d4e5e6;
  --siva: #486470;
  --okraj: clamp(18px, 5vw, 76px);
  --tien: 0 12px 40px rgba(6, 45, 65, .09);
}

[id] { scroll-margin-top: 92px; }
.nav {
  position: sticky;
  top: 0;
  min-height: 72px;
  padding: 10px var(--okraj);
  gap: clamp(12px, 2vw, 30px);
}
.nav .zn { margin-right: auto; }
.nav nav { gap: clamp(12px, 2vw, 26px); margin-left: 0; }
.nav nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.btn { min-height: 44px; justify-content: center; border-radius: 9px; }
.btn-slnko, .wa, .wa-plav { background: var(--more); color: white; }
.btn-slnko:hover, .wa:hover, .wa-plav:hover { background: var(--noc); }
.btn-obrys { background: transparent; }
.jaz a { padding: 8px; background: #edf6f6; }
:focus-visible { outline: 2px solid #008897; outline-offset: 3px; }

.hero {
  margin-top: 0;
  min-height: 0;
  height: auto;
  isolation: isolate;
  background: var(--noc);
}
.hero .more {
  inset: 0;
  width: auto;
  background-position: 57% 55%;
  animation: none;
}
.hero .condo, .hero .stitok { display: none; }
.hero .clona {
  background: linear-gradient(90deg, rgba(3, 29, 42, .95), rgba(3, 29, 42, .77) 39%, rgba(3, 29, 42, .14) 82%);
}
.hero .in {
  max-width: 1440px;
  padding: clamp(65px, 10vw, 150px) var(--okraj);
}
.hero .pravo-text { width: min(100%, 730px); padding: 0; }
.hero .stuzka2 {
  background: #b7f5ee;
  color: #092f42;
  border-radius: 5px;
  font-size: .68rem;
  letter-spacing: .1em;
}
.hero .kicker { color: #b7f5ee; }
.hero h1 {
  font-size: clamp(3.1rem, 6.5vw, 6.3rem);
  line-height: .96;
  letter-spacing: -.035em;
  margin-bottom: 22px;
}
.hero h1 br { display: block; }
.hero h1 span, .hero h1 em { white-space: normal !important; }
.hero .sezona {
  background: transparent;
  backdrop-filter: none;
  border-radius: 0;
  border-left: 2px solid var(--tyrkys);
  padding: 2px 0 2px 13px;
  font-size: clamp(.98rem, 1.6vw, 1.25rem);
}
.hero p.lead { margin: 0; max-width: 37rem; }
.hero .koko { display: none !important; }

.pas .in { justify-content: center; padding: 20px var(--okraj); gap: 12px 24px; }
.pas small { flex-basis: 100%; text-align: center; }
.pas .chip { background: var(--piesok); width: 44px; height: 44px; }
.pas .chip:hover { background: var(--noc); }
.fakty, .zima, .cta-box { background: linear-gradient(125deg, #062d41, #086473); }
.fakt { padding: 21px 10px; }
.fakt b { white-space: normal; }
.sek { max-width: 1320px; padding: clamp(52px, 8vw, 104px) var(--okraj); }
h2 { font-size: clamp(2.15rem, 4.7vw, 4.3rem); letter-spacing: -.025em; }
.nad { letter-spacing: .14em; }
.ubyt { gap: clamp(16px, 3vw, 34px); }
.uk, .panel, .mapa figure { border: 1px solid var(--ciara); box-shadow: var(--tien); }
.uk-foto { aspect-ratio: 16/9; }
.uk-t { padding: clamp(20px, 3vw, 35px); }
.uk-t h3 { font-size: clamp(1.7rem, 3vw, 2.65rem); line-height: 1.08; }
.uk-t .btn-obrys { display: inline-flex; }
.tag { border-radius: 5px; letter-spacing: .06em; }
.hero-pod h1 { font-size: clamp(2.7rem, 5.5vw, 5.2rem); }
.hero-pod .btn { margin-top: 16px; }
.hero-pod .btn-obrys { display: inline-flex; color: white; border-color: #b7f5ee; }
.jedlo, .rez { background: #e6f5f3; }
.panel { padding: clamp(16px, 4vw, 42px); }
.dni .den.sel { background: var(--more); }
.mapa-svg .pevnina { fill: #dcebef; stroke: #97bdc5; }
.mapa-svg .ostrov { fill: #bde8df; stroke: #63a69a; }
.mapa-svg .lbl-kraj { fill: #3a626d; }
.al-dl b { display: none; }
.wa-plav { width: 52px; height: 52px; right: 14px; bottom: 14px; }
footer { padding-bottom: 76px; }

@media (max-width: 900px) {
  .nav { min-height: 0; flex-wrap: wrap; gap: 4px 9px; padding: 8px var(--okraj) 5px; }
  .nav .zn img { height: clamp(26px, 8vw, 34px); }
  .nav .btn { padding: 7px 10px; min-height: 34px; font-size: .75rem; }
  .nav nav {
    display: flex;
    order: 4;
    width: 100%;
    overflow-x: auto;
    gap: 16px;
    white-space: nowrap;
    font-size: .78rem;
  }
  .nav nav a { padding: 7px 0; }
  .jaz a { padding: 6px 4px; }
  .hero .in { padding: clamp(64px, 14vw, 110px) var(--okraj) 48px; }
  .hero h1 { font-size: clamp(2.65rem, 10vw, 4.8rem); }
  .hero .clona { background: linear-gradient(0deg, rgba(3, 29, 42, .94), rgba(3, 29, 42, .56)); }
  .hero p.lead { font-size: 1rem; line-height: 1.6; }
  .pas .chips { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; }
  .posolstvo .fakt b { font-size: clamp(1rem, 4.7vw, 1.4rem); }
  .fakt span { font-size: .76rem; }
  .zima-v { width: min(300px, 78vw); }
}

/* Fotografia z behu zobrazuje osobu. Text a odkaz na beh ostávajú dostupné. */
.aktivna > .beh,
.al-dl[data-al="11"],
.al-panel[data-al="11"] {
  display: none;
}
.aktivna {
  grid-template-columns: minmax(0, 760px);
}
@media (max-width: 340px) {
  .pas .chip { width: 39px; height: 44px; }
}

/* Úvod s fotografiou cez celú šírku */
.hero:not(.hero-pod) .more { background-position: center 58%; }
.hero:not(.hero-pod) .clona {
  background: linear-gradient(90deg, rgba(6, 45, 65, .96), rgba(6, 45, 65, .72) 43%, transparent 93%);
}
.hero:not(.hero-pod) .in { padding-block: clamp(68px, 8vw, 115px); }
.hero:not(.hero-pod) .pravo-text { max-width: 660px; }
.hero:not(.hero-pod) h1 { font-size: clamp(3.1rem, 5.4vw, 5.6rem); }
.hero-ubyt { margin-top: 24px; background: var(--tyrkys); color: var(--noc); }
.hero-ubyt:hover { background: #c0faf3; }
#ubytovanie { padding-block: clamp(42px, 5vw, 65px); }
#ubytovanie h2 { font-size: clamp(2rem, 3.3vw, 3.6rem); }

@media (max-width: 750px) {
  .hero:not(.hero-pod) .more { background-position: 63% center; }
  .hero:not(.hero-pod) .clona {
    background: linear-gradient(0deg, rgba(6, 45, 65, .96), rgba(6, 45, 65, .69) 72%, rgba(6, 45, 65, .45));
  }
  .hero:not(.hero-pod) .in { padding-block: 58px 42px; }
  .hero:not(.hero-pod) h1 { font-size: clamp(2.65rem, 10vw, 4.8rem); }
}

/* Ostrovné príbehy */
#perla { background: #f0f8f7; }
#perla .uvod { max-width: 760px; margin-bottom: clamp(24px, 5vw, 52px); }
#perla .uvod h2 { font-size: clamp(2.4rem, 4.5vw, 4.35rem); }
.ostrov-pribehy { display: grid; gap: 20px; }
.ostrov-pribeh {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--ciara);
  border-radius: 18px;
  background: #fff;
}
.ostrov-pribeh img {
  width: 100%;
  height: 100%;
  max-height: 330px;
  min-height: 240px;
  object-fit: cover;
}
.ostrov-pribeh > div {
  align-self: center;
  padding: clamp(22px, 4vw, 49px);
}
.ostrov-pribeh h3, .ostrov-poznamka h3 {
  margin: 0 0 12px;
  font: 400 clamp(1.65rem, 3vw, 2.55rem)/1.04 var(--serif);
  color: var(--noc);
}
.ostrov-pribeh p, .ostrov-poznamka p { margin: 0; }
.ostrov-pribeh:nth-child(even) img { grid-column: 2; grid-row: 1; }
.ostrov-pribeh:nth-child(even) > div { grid-column: 1; grid-row: 1; }
.ostrov-poznamka { margin-top: 24px; padding: 24px 0; border-top: 1px solid var(--ciara); }
@media (max-width: 720px) {
  .ostrov-pribeh { grid-template-columns: 1fr; }
  .ostrov-pribeh img { min-height: 0; height: auto; aspect-ratio: 16/9; }
  .ostrov-pribeh:nth-child(even) img, .ostrov-pribeh:nth-child(even) > div {
    grid-column: auto;
    grid-row: auto;
  }
}

/* Rybár na pláži – video cez celú šírku pod mozaikou jedla */
.ryb { position: relative; margin: 12px 0 0; border-radius: 16px; overflow: hidden; background: #dfeef0; aspect-ratio: 16/9; }
.ryb video { width: 100%; height: 100%; object-fit: cover; display: block; }
.ryb figcaption { position: absolute; left: 14px; bottom: 12px; right: 14px; color: #fff; font-size: 14px; font-weight: 600; text-shadow: 0 1px 6px rgba(0,0,0,.6); }
.zvuk { position: absolute; top: 12px; right: 12px; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 14px; border: 0; border-radius: 999px; background: rgba(6, 45, 65, .78); color: #fff; font: 600 14px var(--sans); cursor: pointer; }
.zvuk:hover { background: var(--noc); }
.zvuk svg { width: 22px; height: 22px; fill: currentColor; }
.zvuk .vlna { display: none; }
.zvuk.on .vlna { display: inline; }
.zvuk.on .krizik { display: none; }

/* ===== Štýl Príbehy: nadpisy hrubé bezpätkové, tmavé petrolejové sekcie ===== */
:root {
  --serif: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --petrol: #0f2b30;
  --petrol2: #12343a;
  --petrol-karta: #1a434a;
  --tyrkys-t: #7fe0d0;
}
h1, h2, h3, h4, .velke, .al-dl b, .zima h2, .cta-box h2, .dakujeme h3, .kal-hl h3, .osoby output, .pas b {
  font-family: var(--serif);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.05;
}
h1 em, .hero h1 em { font-style: normal; color: var(--tyrkys-t); }
h3 { font-weight: 700; letter-spacing: -.015em; }

/* tmavé sekcie: Príbehy, Ochutnaj Margaritu, Albumy, galéria Tatramaru */
#perla, .jedlo, .albumy, .tmava-sek { background: var(--petrol); color: #fff; }
.jedlo { background: var(--petrol2); }
#perla h2, .jedlo h2, .albumy h2, .tmava-sek h2 { color: #fff; }
#perla .nad, .jedlo .nad, .albumy .nad, .tmava-sek .nad { color: var(--tyrkys-t); }
#perla p, #perla .uvod p, .jedlo .sek p, .albumy .sek p, .tmava-sek .sek p { color: rgba(255, 255, 255, .86); }
#perla .ostrov-pribeh { background: var(--petrol-karta); border-color: rgba(127, 224, 208, .16); }
#perla .ostrov-pribeh h3, #perla .ostrov-poznamka h3 { color: var(--tyrkys-t); font-family: var(--serif); font-weight: 800; }
#perla .ostrov-pribeh p, #perla .ostrov-poznamka p { color: #fff; }
#perla .ostrov-poznamka { border-top-color: rgba(127, 224, 208, .2); }
#perla .citat { color: var(--tyrkys-t); }
.jedlo .mozaika figure, .ryb, .albumy .al-mriezka figure, .tmava-sek figure { background: var(--petrol-karta); }
.albumy .al-panel h3 { color: var(--tyrkys-t); }
.albumy .al-dl[aria-pressed=true] { box-shadow: 0 0 0 3px var(--tyrkys-t); }

/* galéria Tatramaru */
.tm-galeria { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 12px; margin-top: 28px; }
.tm-galeria figure { position: relative; margin: 0; border-radius: 16px; overflow: hidden; }
.tm-galeria img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tm-galeria figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 12px 10px; color: #fff; font-size: 13px; font-weight: 600; background: linear-gradient(0deg, rgba(15, 43, 48, .85), rgba(15, 43, 48, 0)); }
.tm-galeria .tg-bazen { grid-column: span 2; grid-row: span 2; }
.tm-galeria .tg-vivero { grid-column: span 2; grid-row: span 2; }
.tm-galeria .tg-vivero figcaption { font-size: 15px; color: var(--tyrkys-t); }
@media (max-width: 900px) {
  .tm-galeria { grid-template-columns: 1fr 1fr; grid-auto-rows: 170px; }
}
.tm-galeria { grid-auto-flow: dense; }
.tm-galeria .tg-parguito { grid-column: span 2; }

/* Ochutnaj Margaritu: doňa pri empanadách na výšku celá, Fidel s kokosmi a rybár celé zábery 16:9 */
.mozaika { grid-template-columns: auto 1fr 1fr; }
.mozaika figure.m-vel { aspect-ratio: 9/16; height: 100%; }
.mozaika figure.m-sir { grid-column: span 2; }
.vid-rad { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.vid-rad .ryb { margin: 0; }
@media (max-width: 900px) {
  .mozaika { grid-template-columns: 1fr 1fr; }
  .mozaika figure.m-vel { aspect-ratio: 9/16; height: auto; grid-column: 1/-1; }
  .mozaika figure.m-sir { grid-column: 1/-1; aspect-ratio: 16/9; }
  .vid-rad { grid-template-columns: 1fr; }
}

/* karta bez fotky (Shopping) */
.ostrov-pribeh.bez-foto { grid-template-columns: 1fr; }
.ostrov-pribeh.bez-foto > div { grid-column: 1 !important; grid-row: auto !important; max-width: 820px; padding-block: clamp(28px, 4vw, 52px); }
.ostrov-pribeh.bez-foto .nad { margin-bottom: 10px; }
.ostrov-pribeh.bez-foto h3 { font-size: clamp(1.9rem, 3.4vw, 2.9rem); }

/* korytnačky: karta s fotkou hniezda */
.kor-karta { margin-top: 20px; }
.kor-karta figure { position: relative; margin: 0; min-height: 260px; }
.kor-karta figure img { width: 100%; height: 100%; max-height: none; min-height: 260px; object-fit: cover; display: block; }
.kor-karta figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 14px 12px; color: #fff; font-size: 13px; font-weight: 600; background: linear-gradient(0deg, rgba(15, 43, 48, .88), rgba(15, 43, 48, 0)); }
.tm-galeria .tg-hniezdo { grid-column: span 2; }
@media (max-width: 720px) { .kor-karta figure img { height: auto; aspect-ratio: 4/3; min-height: 0; } }
.zima-v, .al-mriezka figure { position: relative; }
.al-mriezka .zvuk { top: 8px; right: 8px; min-height: 36px; padding: 6px 11px; font-size: 12.5px; }
.mot-karta { margin-top: 28px; }
.mot-karta h3 { color: var(--noc); }
.shop-odkazy { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px !important; }
.shop-odkazy a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1.5px solid var(--tyrkys-t); border-radius: 999px; color: var(--tyrkys-t); font-weight: 600; text-decoration: none; }
.shop-odkazy a:hover { background: var(--tyrkys-t); color: var(--petrol); }

/* Plávanie s delfínmi: veľká karta na začiatku Aktívnej dovolenky */
.delf-karta { display: grid; grid-template-columns: 1.35fr 1fr; overflow: hidden; border-radius: 22px; background: var(--petrol); color: #fff; margin-bottom: clamp(36px, 5vw, 64px); box-shadow: var(--tien); }
.delf-karta img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; display: block; }
.delf-karta > div { align-self: center; padding: clamp(24px, 4vw, 52px); }
.delf-karta .nad { color: var(--tyrkys-t); }
.delf-karta h2 { color: #fff; font-size: clamp(2.2rem, 4.2vw, 3.8rem); margin: 8px 0 14px; }
.delf-karta p { color: rgba(255, 255, 255, .88) !important; font-size: 17px; margin: 0 0 22px; }
@media (max-width: 800px) {
  .delf-karta { grid-template-columns: 1fr; }
  .delf-karta img { min-height: 0; height: auto; aspect-ratio: 16/10; }
}

/* Korytnačky: vlastná výrazná sekcia na úvode */
.korytnacky { background: linear-gradient(180deg, #e3f6f1, #f4fbf9); }
.korytnacky h2 { font-size: clamp(2.3rem, 4.8vw, 4.4rem); max-width: 900px; }
.korytnacky .nad { color: #0a7d6c; }
.kor-foto { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 30px; }
.kor-foto figure { position: relative; margin: 0; border-radius: 20px; overflow: hidden; aspect-ratio: 4/3; box-shadow: var(--tien); }
.kor-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kor-foto figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 34px 16px 14px; color: #fff; font-size: 14px; font-weight: 600; background: linear-gradient(0deg, rgba(15, 43, 48, .88), rgba(15, 43, 48, 0)); }
@media (max-width: 760px) { .kor-foto { grid-template-columns: 1fr; } }

/* Momentka z ulice (Ochutnaj Margaritu) */
.momentka { display: grid; grid-template-columns: minmax(0, 380px) 1fr; gap: 0; margin-top: 12px; border-radius: 18px; overflow: hidden; background: var(--petrol-karta); }
.momentka img { width: 100%; height: 100%; object-fit: cover; display: block; }
.momentka > div { align-self: center; padding: clamp(22px, 4vw, 52px); }
.momentka h3 { color: var(--tyrkys-t); font-size: clamp(1.8rem, 3.4vw, 2.8rem); margin: 8px 0 12px; }
.jedlo .momentka p { color: #fff; font-size: 17px; margin: 0; }
@media (max-width: 720px) { .momentka { grid-template-columns: 1fr; } .momentka img { aspect-ratio: 4/5; height: auto; } }

/* karta Príbehov s videom (mangrovy) */
.ostrov-pribeh .op-vid { position: relative; margin: 0; min-height: 240px; }
.ostrov-pribeh .op-vid video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ostrov-pribeh:nth-child(even) .op-vid { grid-column: 2; grid-row: 1; }
@media (max-width: 720px) { .ostrov-pribeh .op-vid { aspect-ratio: 16/9; min-height: 0; } .ostrov-pribeh:nth-child(even) .op-vid { grid-column: auto; grid-row: auto; } }

/* Apartmán A2 (TATRAMAR) */
.a2-hl { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(20px, 4vw, 56px); align-items: start; }
.a2-kap { display: inline-block; margin: 0 0 12px !important; padding: 6px 14px; border-radius: 999px; background: #e3f6f1; color: #0a6b5d !important; font-weight: 700; font-size: 15px !important; }
.a2-hl .zoz { margin-top: 0; }
.a2-galeria { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 240px; gap: 12px; margin-top: 30px; }
.a2-galeria figure { position: relative; margin: 0; border-radius: 16px; overflow: hidden; }
.a2-galeria img { width: 100%; height: 100%; object-fit: cover; display: block; }
.a2-galeria figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 24px 12px 10px; color: #fff; font-size: 13px; font-weight: 600; background: linear-gradient(0deg, rgba(15, 43, 48, .85), rgba(15, 43, 48, 0)); }
@media (max-width: 800px) { .a2-hl { grid-template-columns: 1fr; } .a2-galeria { grid-template-columns: 1fr 1fr; grid-auto-rows: 170px; } }

/* fotka s popisom v karte Príbehov a momentka v albume */
.ostrov-pribeh .op-foto { position: relative; margin: 0; min-height: 260px; }
.ostrov-pribeh .op-foto img { position: absolute; inset: 0; width: 100%; height: 100%; max-height: none; min-height: 0; object-fit: cover; }
.ostrov-pribeh .op-foto figcaption, .al-pop { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 14px 12px; color: #fff; font-size: 14px; font-weight: 600; background: linear-gradient(0deg, rgba(15, 43, 48, .88), rgba(15, 43, 48, 0)); }
.ostrov-pribeh:nth-child(even) .op-foto { grid-column: 2; grid-row: 1; }
@media (max-width: 720px) { .ostrov-pribeh .op-foto { aspect-ratio: 4/5; min-height: 0; } .ostrov-pribeh:nth-child(even) .op-foto { grid-column: auto; grid-row: auto; } }

/* Mapa: číslované body s odkazom a tabuľka vzdialeností */
.mapa-svg .poi-ciara { stroke: #0b3157; stroke-width: 1.4; stroke-dasharray: 3 3; opacity: .7; fill: none; }
.mapa-svg .poi-c { stroke: #fff; stroke-width: 2.5; }
.mapa-svg .poi-n { fill: #fff; font: 800 14px var(--sans); }
.mapa-svg .poi:hover .poi-c { stroke: #0b3157; }
.mapa-svg .poi .lbl-bod { font-weight: 700; }
.mapa-svg .c-plaz { fill: #e2a800; } .mapa-svg .c-priroda { fill: #2f8f63; } .mapa-svg .c-jedlo { fill: #d6336c; }
.mapa-svg .c-shop { fill: #6f42c1; } .mapa-svg .c-aktiv { fill: #0a7f95; } .mapa-svg .c-letisko { fill: #0b3157; }
.mt { margin-top: 34px; }
.mt h3 { font-size: clamp(1.6rem, 3vw, 2.3rem); color: var(--noc); margin: 0 0 6px; }
.mt-tip, .mt-zdroj { font-size: 14px !important; color: var(--siva) !important; }
.mt-obal { overflow-x: auto; border: 1px solid var(--ciara); border-radius: 16px; background: #fff; }
.mt table { width: 100%; border-collapse: collapse; font-size: 15px; }
.mt th { text-align: left; font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--siva); padding: 12px 14px; border-bottom: 1px solid var(--ciara); }
.mt td { padding: 10px 14px; border-bottom: 1px solid #eef3f3; white-space: nowrap; }
.mt td:nth-child(2) { white-space: normal; }
.mt tr:last-child td { border-bottom: 0; }
.mt td a { color: var(--noc); font-weight: 600; }
.poi-n-t { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--noc); color: #fff; font-weight: 800; font-size: 13px; }
@media (max-width: 600px) { .mt td, .mt th { padding: 9px 8px; font-size: 13.5px; } }

/* pruh faktov: 7 položiek */
.fakty .in { grid-template-columns: repeat(7, 1fr); }
@media (max-width: 900px) { .fakty .in { grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); } }

/* svetlé sekcie v jednom odtieni, ktorý ladí s petrolejovými */
:root { --svetla: #dff1ee; }
body, .pas, .mapa, .korytnacky, .rez, #ubytovanie, #skryte, #aktivna, #sluzby { background: var(--svetla); }
.posolstvo .fakt b { font-size: clamp(19px, 2.1vw, 27px); white-space: nowrap; }
.posolstvo .fakt { padding: 22px 8px; }
#perla .ostrov-pribeh .nad { margin-bottom: 8px; }
/* karta Šport: fotka z behu na výšku – vidno východ slnka aj bežca */
#perla .ostrov-pribeh:has(img[src*="beh_karta"]) { min-height: 620px; }
@media (max-width: 720px) { #perla .ostrov-pribeh .op-foto:has(img[src*="beh_karta"]) { aspect-ratio: 3/4; } }

/* ===== Widget kategórií: dlaždica = vstup, vnútri štýl Gastronómie ===== */
.pw-dlazdice { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; margin-top: 28px; }
.pw-dl { position: relative; min-height: 130px; border: 0; border-radius: 16px; padding: 0; overflow: hidden; background: center/cover #1a434a; cursor: pointer; text-align: left; font: inherit; }
.pw-dl span { position: absolute; inset: auto 0 0 0; padding: 34px 12px 11px; color: #fff; font-weight: 800; font-size: 15px; line-height: 1.2; background: linear-gradient(0deg, rgba(15, 43, 48, .92), rgba(15, 43, 48, 0)); }
.pw-dl:hover span, .pw-dl.on span { color: var(--tyrkys-t); }
.pw-dl.on { box-shadow: 0 0 0 3px var(--tyrkys-t); }
.pw-panely { margin-top: clamp(28px, 4vw, 48px); }
.pw-panel .nad { color: var(--tyrkys-t); }
.pw-panel .pw-h { font-size: clamp(2.2rem, 5vw, 4.4rem); color: #fff; margin: 6px 0 16px; line-height: 1.02; }
.pw-panel .uvod-p { color: rgba(255, 255, 255, .88) !important; max-width: 820px; }
.pw-panel .mozaika { grid-template-columns: auto 1fr 1fr; }
.pw-panel .mozaika:has(.m-velky) { grid-template-columns: 2fr 1fr 1fr; }
.pw-panel .mozaika figure.m-velky { grid-row: span 2; }
.pw-panel .mozaika figure:not(.m-vel):not(.m-velky) { min-height: 240px; }
.pw-panel figure { position: relative; margin: 0; border-radius: 16px; overflow: hidden; background: var(--petrol-karta); }
.pw-panel figure img, .pw-panel figure video { width: 100%; height: 100%; object-fit: cover; display: block; }
.pw-panel figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 12px 10px; color: #fff; font-size: 13.5px; font-weight: 600; background: linear-gradient(0deg, rgba(15, 43, 48, .85), rgba(15, 43, 48, 0)); }
.pw-text { display: flex; align-items: flex-end; }
.pw-text > div { padding: 22px; }
.pw-text h4 { margin: 0 0 8px; color: var(--tyrkys-t); font: 800 1.35rem/1.15 var(--serif); }
.pw-text p { margin: 0; color: #fff; font-size: 15px; line-height: 1.55; }
.pw-odk a, .pw-text .pw-odk a { color: var(--tyrkys-t); font-weight: 700; margin-right: 12px; }
.pw-dvojica { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
.pw-dvojica figure { aspect-ratio: 4/3; }
.pw-jeden { margin-top: 28px; max-width: 980px; }
.pw-jeden figure { aspect-ratio: 16/9; }
.pw-jeden .pw-text, .pw-dvojica .pw-text { aspect-ratio: auto; min-height: 220px; }
.pw-panel .btn.wa { margin-top: 6px; }
@media (max-width: 900px) {
  .pw-dlazdice { grid-template-columns: repeat(2, 1fr); }
  .pw-panel .mozaika, .pw-panel .mozaika:has(.m-velky) { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .pw-panel .mozaika figure.m-velky, .pw-panel .mozaika figure.m-vel { grid-column: 1/-1; grid-row: auto; aspect-ratio: 4/3; }
  .pw-panel .mozaika figure.m-vel { aspect-ratio: 9/16; }
  .pw-panel .mozaika figure:not(.m-vel):not(.m-velky) { min-height: 0; aspect-ratio: 1; }
  .pw-panel .mozaika .pw-text { grid-column: 1/-1; aspect-ratio: auto !important; }
  .pw-dvojica { grid-template-columns: 1fr; }
}
/* mozaika vo widgete: tri rovnaké stĺpce, prvá fotka na dva riadky */
.pw-panel .mozaika, .pw-panel .mozaika:has(.m-velky) { grid-template-columns: repeat(3, 1fr); grid-template-rows: none; grid-auto-rows: minmax(240px, auto); }
.pw-panel .mozaika figure.m-vel, .pw-panel .mozaika figure.m-velky { grid-row: span 2; grid-column: auto; aspect-ratio: auto; height: auto; }
.pw-panel .mozaika figure.m-vel video { object-fit: contain; background: #0f2b30; }
.pw-panel .mozaika figure:not(.m-vel):not(.m-velky) { min-height: 240px; }
@media (max-width: 900px) {
  .pw-panel .mozaika, .pw-panel .mozaika:has(.m-velky) { grid-template-columns: 1fr 1fr; grid-auto-rows: auto; }
  .pw-panel .mozaika figure.m-velky { grid-column: 1/-1; grid-row: auto; aspect-ratio: 4/3; }
  .pw-panel .mozaika figure.m-vel { grid-column: 1/-1; grid-row: auto; aspect-ratio: 9/16; }
  .pw-panel .mozaika figure:not(.m-vel):not(.m-velky) { min-height: 0; aspect-ratio: 1; }
  .pw-panel .mozaika .pw-text { grid-column: 1/-1; aspect-ratio: auto; }
}
.pw-panel .mozaika:not(:has(.m-vel)):not(:has(.m-velky)) { grid-auto-rows: 280px; }
/* video na výšku (Nemáte sneh) celé, nie priblížené */
.pw-jeden figure:has(video[src*="sneh_zvuk"]) { aspect-ratio: 9/16; max-width: 400px; }
.pw-panel figure:has(video[src*="prales"]) video { object-fit: contain; background: #0f2b30; }

/* logo TATRAMAR (návrh C podľa mozaiky v bazéne) */
.tm-logo { display: block; width: min(320px, 70vw); height: auto; border-radius: 14px; margin: 0 0 18px; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.tm-logo-karta { display: block; width: min(300px, 80%); height: auto; margin: 14px 0 6px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* lišta: logo Country Club + logo TATRAMAR */
.zn-obal { display: flex; align-items: center; gap: 14px; margin-right: auto; }
.nav .zn-obal .zn { margin-right: 0; }
.nav .zn-tm img { height: 50px; width: auto; display: block; }
.zn-ciara { width: 1px; height: 40px; background: rgba(11, 49, 87, .25); }
@media (max-width: 900px) {
  .zn-obal { gap: 8px; }
  .nav .zn-tm img { height: clamp(24px, 7.5vw, 32px); }
  .zn-ciara { height: 26px; }
}
.pw-panel figcaption b { display: block; font-size: 15px; color: var(--tyrkys-t); }
.pw-panel figcaption .pw-cp { display: block; font-weight: 500; font-size: 13.5px; line-height: 1.45; margin-top: 3px; }
#pl-plaze .mozaika figure.m-velky figcaption b { font-size: 20px; }
/* logo Country Clubu na úvodnej karte – logo sa nemení, len zmenšuje */
.cc-logo-karta { display: block; width: min(230px, 70%); height: auto; margin: 12px 0 8px; }
/* Kde budete bývať – nadtitul, nadpis a podnadpis na stred */
#ubytovanie > .nad, #ubytovanie > h2, #ubytovanie > p { text-align: center; margin-left: auto; margin-right: auto; }
#ubytovanie > p { max-width: 760px; }
