/* ------------------------------------------------------------------
   /kempy/mallorca-3/ – samostatný moderní design prodejních stránek kempů.
   Záměrně nenavazuje na main.css: ze starého webu zůstává jen hlavička a patička,
   všechno uvnitř .m3 má vlastní typografii, barvy i komponenty.
   Písmo Kumbh Sans (stejné jako mallorcacyclingcenter.com – pořadatel kempů).
   ------------------------------------------------------------------ */

.m3{
	--ink:#14171a;
	--ink2:#49525a;
	--ink3:#8a949c;
	--line:#e7eaec;
	--soft:#f5f6f7;
	--cream:#fff6ec;
	--dark:#0e1215;
	--dark2:#171d22;
	--brand:#ff8a1e;
	--brand2:#ef6a00;
	--brand-soft:#fff2e2;
	--go:#2fab3e;
	--r:20px;
	--r-s:12px;
	--r-p:999px;
	--sh:0 1px 2px rgba(16,19,22,.05),0 10px 30px rgba(16,19,22,.08);
	--sh-l:0 2px 8px rgba(16,19,22,.07),0 28px 70px rgba(16,19,22,.16);

	font-family:'Kumbh Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
	font-size:17px;
	line-height:1.6;
	color:var(--ink);
	background:#fff;
	-webkit-font-smoothing:antialiased;
	/* POZOR: tady nesmi byt overflow-x:hidden - udelalo by z .m3 scroll kontejner
	   a rozbilo position:sticky u podnavigace. Pretekani resi jednotlive prvky. */
	overflow-x:clip;
}
.m3,.m3 *,.m3 *:before,.m3 *:after{box-sizing:border-box}
.m3 h1,.m3 h2,.m3 h3,.m3 h4,.m3 p,.m3 ul,.m3 ol,.m3 figure{margin:0;padding:0}
.m3 ul{list-style:none}
.m3 img{max-width:100%;display:block}
.m3 a{color:inherit;text-decoration:none}
.m3 button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
.m3 table{border-collapse:collapse;width:100%}

/* Reset proti main.css starého webu: h1–h3 tam mají vlastní písmo a kapitálky,
   a přímá deklarace vždy přebije dědičnost – proto to musíme přepsat výslovně. */
.m3 h1,.m3 h2,.m3 h3,.m3 h4,.m3 h5,.m3 h6,.m3 p,.m3 a,.m3 li,.m3 span,.m3 em,.m3 b,.m3 strong,.m3 small,.m3 i,.m3 s,.m3 label,.m3 button,.m3 input,.m3 select,.m3 textarea,.m3 th,.m3 td,.m3 div,.m3 nav,.m3 section,.m3 article,.m3 form{font-family:inherit;text-transform:none;letter-spacing:normal;font-style:normal;text-shadow:none}
.m3 h1,.m3 h2,.m3 h3,.m3 h4,.m3 h5,.m3 h6{font-weight:800;line-height:1.1;color:inherit;border:0}
.m3 p,.m3 li,.m3 span,.m3 div{line-height:inherit}
.m3 a,.m3 a:hover,.m3 a:focus{color:inherit;text-decoration:none;border:0;outline:0}
.m3 input,.m3 select,.m3 textarea,.m3 button{font-size:inherit;box-shadow:none;border-radius:0}
.m3 table,.m3 th,.m3 td{background:none;border:0}
.m3 section,.m3 nav,.m3 article,.m3 form{float:none}

/* ---------- mřížka ---------- */
.m3 .wr{max-width:1220px;margin:0 auto;padding:0 28px;width:100%}
.m3 .wr-n{max-width:820px}
.m3 .wr-m{max-width:1000px}
.m3 .wr-w{max-width:1380px}

/* ---------- typografie ---------- */
.m3 .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--brand2)}
.m3 .eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand);flex:0 0 auto}
.m3 .eyebrow-l{color:#ffb563}

.m3 .h1{font-size:clamp(36px,4.6vw,60px);line-height:1.03;font-weight:800;letter-spacing:-.025em}
.m3 .h2{font-size:clamp(28px,3.4vw,46px);line-height:1.08;font-weight:800;letter-spacing:-.022em}
.m3 .h3{font-size:clamp(21px,2vw,27px);line-height:1.18;font-weight:800;letter-spacing:-.014em}
.m3 .lead{font-size:clamp(17px,1.35vw,20.5px);line-height:1.6;color:var(--ink2)}
.m3 .sub{font-size:16.5px;line-height:1.65;color:var(--ink2)}
.m3 .tiny{font-size:13.5px;line-height:1.5;color:var(--ink3)}

/* ---------- tlačítka ---------- */
.m3 .btn3{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:54px;padding:0 28px;border-radius:var(--r-p);font-size:16.5px;font-weight:800;letter-spacing:-.005em;white-space:nowrap;transition:transform .15s,box-shadow .2s,background .2s,color .2s,border-color .2s}
.m3 .btn3:hover{transform:translateY(-1px)}
.m3 .btn3-pri{background:linear-gradient(180deg,#ff9733 0,#f07400 100%);color:#fff;box-shadow:0 6px 18px rgba(240,116,0,.32)}
.m3 .btn3-pri:hover{box-shadow:0 10px 26px rgba(240,116,0,.4);color:#fff}
.m3 .btn3-dark{background:var(--ink);color:#fff}
.m3 .btn3-dark:hover{background:#000;color:#fff}
.m3 .btn3-gh{border:1.5px solid var(--line);color:var(--ink);background:#fff}
.m3 .btn3-gh:hover{border-color:var(--ink);color:var(--ink)}
.m3 .btn3-glass{border:1.5px solid rgba(255,255,255,.5);color:#fff;background:rgba(255,255,255,.1)}
.m3 .btn3-glass:hover{background:rgba(255,255,255,.2);color:#fff}
.m3 .btn3-sm{height:44px;padding:0 20px;font-size:15px}
.m3 .card3-btns .btn3{height:41px;font-size:14.5px;padding:0 16px}
.m3 .btn3 svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.m3 .btn3-off{background:var(--soft);color:var(--ink3);box-shadow:none;cursor:default}
.m3 .btn3-off:hover{transform:none}
.m3 .btn3-w{width:100%}

/* ---------- sekce ---------- */
.m3 .sec{padding:84px 0}
.m3 .sec-s{padding:60px 0}
.m3 .sec-soft{background:var(--soft)}
.m3 .sec-cream{background:var(--cream)}
.m3 .sec-dark{background:var(--dark);color:#fff}
.m3 .sec-dark .sub,.m3 .sec-dark .lead{color:#aeb7bf}
.m3 .sec-dark .tiny{color:#78828a}
.m3 .sechead{max-width:760px;margin-bottom:40px}
.m3 .sechead .h2{margin-top:14px}
.m3 .sechead .sub{margin-top:14px}
.m3 .sechead-c{margin-left:auto;margin-right:auto;text-align:center}

/* ---------- HERO ---------- */
.m3 .hero{position:relative;background:var(--dark);color:#fff;overflow:hidden;min-height:440px;display:flex;align-items:center}
.m3 .hero-media{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}
.m3 .hero-media video,.m3 .hero-media img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.m3 .hero-media:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(10,13,16,.74) 0,rgba(10,13,16,.28) 32%,rgba(10,13,16,.56) 68%,rgba(10,13,16,.94) 100%)}
.m3 .hero-in{position:relative;z-index:2;width:100%;padding:60px 0}
.m3 .hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.85fr);gap:48px;align-items:end}
.m3 .hero h1{margin:14px 0 0;color:#fff}
.m3 .hero h1 em{font-style:normal;color:var(--brand)}
.m3 .hero .lead{color:#dfe4e8;margin-top:15px;max-width:600px}
.m3 .hero-when{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:22px;font-size:20px;font-weight:800;color:#fff}
.m3 .hero-when span{font-weight:500;color:#b9c2c9;font-size:16px}
.m3 .hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.m3 .hero-stats{display:flex;flex-wrap:wrap;gap:18px 34px;margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18)}
.m3 .hero-stats div strong{display:block;font-size:20px;font-weight:800;color:#fff;line-height:1.1}
.m3 .hero-stats div span{display:block;font-size:13.5px;color:#a9b2ba;margin-top:3px}

/* cenová karta v heru */
.m3 .pcard{background:rgba(18,22,26,.74);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:22px 24px;box-shadow:var(--sh-l)}
.m3 .pcard-top{font-size:12.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#ffb563}
.m3 .pcard-main{display:flex;align-items:baseline;gap:10px;margin-top:10px;flex-wrap:wrap}
.m3 .pcard-main b{font-size:38px;font-weight:800;letter-spacing:-.03em;line-height:1;color:#fff}
.m3 .pcard-main s{font-size:17px;color:#8d969e}
.m3 .pcard-note{font-size:14px;color:#aeb7bf;margin-top:8px;line-height:1.5}
.m3 .pcard-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.m3 .pcard-split div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-s);padding:13px 14px}
.m3 .pcard-split span{display:block;font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#9aa4ac}
.m3 .pcard-split b{display:block;font-size:22px;font-weight:800;color:#fff;margin-top:4px;line-height:1.1;letter-spacing:-.02em}
.m3 .pcard-split em{display:block;font-style:normal;font-size:12.5px;color:#8d969e;margin-top:2px}
.m3 .pcard .btn3{margin-top:14px}
.m3 .pcard-fine{font-size:12.5px;color:#8d969e;margin-top:12px;text-align:center;line-height:1.5}

/* ---------- lepivá podnavigace ---------- */
.m3 .nav3{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line)}
.m3 .nav3-in{display:flex;align-items:center;gap:10px;height:64px}
.m3 .nav3-links{display:flex;gap:4px;overflow-x:auto;flex:1;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.m3 .nav3-links::-webkit-scrollbar{display:none}
.m3 .nav3-links a{padding:9px 14px;border-radius:var(--r-p);font-size:15.5px;font-weight:700;color:var(--ink2);white-space:nowrap;transition:background .15s,color .15s}
.m3 .nav3-links a:hover{background:var(--soft);color:var(--ink)}
.m3 .nav3-links a.on{background:var(--ink);color:#fff}
.m3 .nav3 .btn3{flex:0 0 auto}

@media (min-width:992px){.m3 .nav3-in{padding-right:48px}}

/* ---------- karty turnusů ---------- */
.m3 .cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.m3 .card3{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}
.m3 .card3:hover{transform:translateY(-4px);box-shadow:var(--sh-l);border-color:transparent}
.m3 .card3-img{position:relative;display:block;height:205px;overflow:hidden;background:var(--dark)}
.m3 .card3-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.m3 .card3:hover .card3-img img{transform:scale(1.05)}
.m3 .card3-img:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(10,13,16,.12) 0,rgba(10,13,16,0) 35%,rgba(10,13,16,.88) 100%)}
.m3 .card3-tags{position:absolute;top:16px;left:16px;right:16px;z-index:2;display:flex;justify-content:flex-end;gap:8px}
.m3 .tag3{display:inline-flex;align-items:center;height:27px;padding:0 11px;border-radius:var(--r-p);font-size:11.5px;font-weight:800;background:rgba(255,255,255,.92);color:var(--ink)}
.m3 .tag3-fm{background:linear-gradient(180deg,#ff9733 0,#f07400 100%);color:#fff}
.m3 .tag3-sold{background:rgba(20,23,26,.82);color:#fff}
.m3 .card3-over{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fff}
.m3 .card3-over strong{display:block;font-size:clamp(20px,1.5vw,24px);font-weight:800;letter-spacing:-.022em;line-height:1.05;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.m3 .card3-over span{display:block;font-size:13px;font-weight:700;color:#ffc488;margin-top:5px}
.m3 .card3-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.m3 .card3-claim{font-size:14.5px;color:var(--ink2);line-height:1.45;flex:1}
.m3 .card3-facts{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}
.m3 .chip{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 11px;border-radius:var(--r-p);background:var(--soft);font-size:12.5px;color:var(--ink2);font-weight:600}
.m3 .chip b{font-weight:800;color:var(--ink)}
.m3 .card3-price{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}
.m3 .card3-price i{font-style:normal;font-size:13px;color:var(--ink3);font-weight:600}
.m3 .card3-price b{font-size:24px;font-weight:800;letter-spacing:-.028em;color:var(--ink)}
.m3 .card3-price s{font-size:13.5px;color:var(--ink3)}
.m3 .card3-price em{flex:0 0 100%;font-style:normal;font-size:12.5px;line-height:1.4;color:var(--ink3);margin-top:4px}
.m3 .card3-btns{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.m3 .card3-btns .btn3{width:100%}
.m3 .card3-sold .card3-img img{filter:grayscale(.85)}

/* ---------- dlaždice výhod ---------- */
.m3 .feats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);overflow:hidden}
.m3 .feat{background:var(--dark);padding:34px 30px}
.m3 .feat svg{width:30px;height:30px;stroke:var(--brand);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.m3 .feat h3{margin-top:18px;font-size:19px;font-weight:800;letter-spacing:-.01em;color:#fff}
.m3 .feat p{margin-top:10px;font-size:15.5px;line-height:1.6;color:#9aa4ac}

/* ---------- čísla ---------- */
.m3 .nums{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.m3 .num{padding:22px 0 0;border-top:3px solid var(--brand)}
.m3 .num strong{display:block;font-size:clamp(23px,2.5vw,32px);font-weight:800;letter-spacing:-.028em;line-height:1.05}
.m3 .num span{display:block;font-size:14.5px;color:var(--ink3);margin-top:7px;line-height:1.4}

/* ---------- dva sloupce text + box ---------- */
.m3 .split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:48px;align-items:start}
.m3 .split p+p{margin-top:16px}
.m3 .panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 28px;box-shadow:var(--sh)}
.m3 .sec-soft .panel,.m3 .sec-cream .panel{box-shadow:none}
.m3 .panel h3{font-size:17px;font-weight:800;margin-bottom:6px}
.m3 .panel .row3{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--ink2)}
.m3 .panel .row3:last-child{border-bottom:0;padding-bottom:0}
.m3 .panel .row3 b{color:var(--ink);font-weight:800;white-space:nowrap}

/* ---------- výkonnostní skupiny ---------- */
.m3 .grps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.m3 .grp{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;overflow:hidden}
.m3 .grp-l{position:absolute;top:-16px;right:14px;font-size:92px;font-weight:800;color:var(--soft);line-height:1;letter-spacing:-.05em}
.m3 .grp-in{position:relative}
.m3 .grp h3{font-size:21px;font-weight:800;letter-spacing:-.015em}
.m3 .grp .km{display:inline-block;margin-top:12px;padding:5px 12px;border-radius:var(--r-p);background:var(--brand-soft);color:var(--brand2);font-size:14px;font-weight:800}
.m3 .grp ul{margin-top:16px}
.m3 .grp li{font-size:15.5px;color:var(--ink2);padding:8px 0;border-top:1px solid var(--line)}
.m3 .grp li:first-child{border-top:0}

/* ---------- program den po dni ---------- */
.m3 .days{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.m3 .day{background:var(--dark2);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-s);padding:18px 18px 20px;transition:border-color .2s,transform .2s}
.m3 .day:hover{border-color:rgba(255,138,30,.6);transform:translateY(-3px)}
.m3 .day-h{display:flex;justify-content:space-between;align-items:center;gap:8px}
.m3 .day-h span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#78828a}
.m3 .day-h b{font-size:13px;font-weight:800;color:var(--brand)}
.m3 .day p{margin-top:12px;font-size:15.5px;font-weight:700;line-height:1.35;color:#fff}
.m3 .day-free{background:rgba(255,138,30,.1);border-color:rgba(255,138,30,.35)}
.m3 .day-free .day-h b{color:#ffc488}

/* ---------- den na kempu (časová osa) ---------- */
.m3 .tl{position:relative;padding-left:30px}
/* Čára se kreslí po položkách, ne jednou pres cely .tl – v dvousloupcovem
   layoutu (.tl2 = columns:2) by absolutne pozicovany :before zustal jen
   v prvnim sloupci a u druheho by linka chybela. */
.m3 .tl-i{position:relative;padding:0 0 26px}
.m3 .tl-i:after{content:"";position:absolute;left:-23px;top:24px;bottom:-2px;width:2px;background:var(--line)}
.m3 .tl-i:last-child{padding-bottom:0}
.m3 .tl-i:last-child:after{display:none}
.m3 .tl-i:before{content:"";position:absolute;left:-30px;top:6px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--brand);z-index:2}
.m3 .tl-t{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand2)}
.m3 .tl-i h3{font-size:18px;font-weight:800;margin-top:4px}
.m3 .tl-i p{font-size:15.5px;color:var(--ink2);margin-top:5px;line-height:1.55}
.m3 .tl2{columns:2;column-gap:48px}
.m3 .tl2 .tl-i{break-inside:avoid}

/* ---------- fotky + text ---------- */
.m3 .media{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.m3 .media+.media{margin-top:56px}
.m3 .media-rev .media-txt{order:2}
.m3 .media-img{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-l);height:380px}
.m3 .media-img img{width:100%;height:100%;object-fit:cover}
.m3 .media-txt .h2{margin-top:14px}
.m3 .media-txt p{margin-top:16px;font-size:16.5px;line-height:1.65;color:var(--ink2)}
.m3 .media-txt .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}

/* ---------- seznamy ---------- */
.m3 .lists{display:grid;grid-template-columns:1.2fr 1fr;gap:48px}
.m3 .li3{display:flex;gap:13px;padding:11px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.5;color:var(--ink2)}
.m3 .li3:first-of-type{border-top:0}
.m3 .li3 svg{width:21px;height:21px;flex:0 0 auto;margin-top:2px;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.m3 .li3-y svg{stroke:var(--go)}
.m3 .li3-n svg{stroke:#c7ced4}
.m3 .li3 b{display:block;color:var(--ink);font-weight:800}

/* ---------- ceník ---------- */
.m3 .rooms2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.m3 .room2{border:1.5px solid var(--line);border-radius:var(--r);padding:26px 28px;background:#fff}
.m3 .room2-hl{border-color:var(--brand);background:var(--brand-soft)}
.m3 .room2 span{font-size:12.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3)}
.m3 .room2-hl span{color:var(--brand2)}
.m3 .room2 b{display:block;font-size:36px;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-top:8px}
.m3 .room2 em{font-style:normal;font-size:15px;color:var(--ink3);font-weight:600}
.m3 .room2 p{margin-top:10px;font-size:15px;color:var(--ink2);line-height:1.5}
.m3 .ttab{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:22px;background:#fff}
.m3 .ttab-sc{overflow-x:auto}
.m3 .ttab table{font-size:15.5px}
.m3 .ttab th{background:var(--soft);text-align:left;padding:14px 18px;font-size:12.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3);white-space:nowrap}
.m3 .ttab td{padding:16px 18px;border-top:1px solid var(--line);vertical-align:middle}
.m3 .ttab .r{text-align:right}
.m3 .ttab b{font-weight:800}

/* ---------- FAQ ---------- */
.m3 .faq{border-top:1px solid var(--line)}
.m3 .faq-i{border-bottom:1px solid var(--line)}
.m3 .faq-q{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;text-align:left;padding:22px 0;font-size:18px;font-weight:800;letter-spacing:-.01em}
.m3 .faq-q i{position:relative;flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--soft);transition:background .2s,transform .25s}
.m3 .faq-q i:before,.m3 .faq-q i:after{content:"";position:absolute;left:50%;top:50%;width:11px;height:2px;background:var(--ink);transform:translate(-50%,-50%);border-radius:2px;transition:opacity .2s}
.m3 .faq-q i:after{transform:translate(-50%,-50%) rotate(90deg)}
.m3 .faq-i.on .faq-q i{background:var(--brand);transform:rotate(180deg)}
.m3 .faq-i.on .faq-q i:before,.m3 .faq-i.on .faq-q i:after{background:#fff}
.m3 .faq-i.on .faq-q i:after{opacity:0}
.m3 .faq-a{display:none;padding:0 60px 24px 0;font-size:16.5px;line-height:1.65;color:var(--ink2)}
.m3 .faq-i.on .faq-a{display:block}

/* ---------- závěrečné CTA ---------- */
.m3 .cta3{position:relative;border-radius:var(--r);overflow:hidden;background:var(--dark);color:#fff;padding:64px 56px;text-align:center}
.m3 .cta3-bg{position:absolute;top:0;left:0;right:0;bottom:0;opacity:.32}
.m3 .cta3-bg img{width:100%;height:100%;object-fit:cover}
.m3 .cta3-in{position:relative;z-index:2;max-width:700px;margin:0 auto}
.m3 .cta3 .sub{color:#aeb7bf;margin-top:14px}
.m3 .cta3-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}

/* ---------- drobečky ---------- */
.m3 .crumbs3{display:flex;gap:9px;align-items:center;font-size:14px;color:rgba(255,255,255,.65);flex-wrap:wrap;margin-bottom:4px}
.m3 .crumbs3 a:hover{color:#fff}
.m3 .crumbs3 i{font-style:normal;opacity:.5}

/* ---------- spodní lišta na mobilu ---------- */
.m3 .bar3{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;transform:translateY(110%);align-items:center;gap:14px;padding:11px 16px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(16,19,22,.1)}
.m3 .bar3 div{flex:1;min-width:0}
.m3 .bar3 strong{display:block;font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.m3 .bar3 span{display:block;font-size:12.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ==================================================================
   REZERVAČNÍ STRÁNKA
   ================================================================== */
.m3-res{background:var(--soft);min-height:70vh;padding:40px 0 70px}
.m3-res .res-head{max-width:760px;margin-bottom:28px}
.m3-res .res-head .h2{margin-top:12px}
.m3-res .res-head .sub{margin-top:12px}
.m3-res .resgrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);gap:26px;align-items:stretch}
.m3-res .box3{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 30px 30px;margin-bottom:20px;box-shadow:var(--sh)}
.m3-res .step3{display:flex;align-items:center;gap:13px;margin-bottom:20px}
.m3-res .step3 i{font-style:normal;flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-size:14.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
.m3-res .step3 h2{font-size:21px;font-weight:800;letter-spacing:-.015em}

.m3-res .opts{display:grid;gap:12px}
.m3-res .opt{position:relative;display:block;border:1.5px solid var(--line);border-radius:var(--r-s);padding:18px 20px;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}
.m3-res .opt:hover{border-color:#c9d0d6}
.m3-res .opt.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 3px rgba(255,138,30,.14)}
.m3-res .opt input{position:absolute;opacity:0;pointer-events:none}
.m3-res .opt-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.m3-res .opt-t{flex:1;min-width:0}
.m3-res .opt-t b{display:block;font-size:17.5px;font-weight:800;letter-spacing:-.012em;padding-left:30px;position:relative}
.m3-res .opt-t b:before{content:"";position:absolute;left:0;top:3px;width:19px;height:19px;border-radius:50%;border:2px solid #c9d0d6;background:#fff;transition:border-color .15s}
.m3-res .opt-t b:after{content:"";position:absolute;left:5px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--brand);opacity:0;transition:opacity .15s}
.m3-res .opt.on .opt-t b:before{border-color:var(--brand)}
.m3-res .opt.on .opt-t b:after{opacity:1}
.m3-res .opt-t span{display:block;font-size:14.5px;color:var(--ink2);line-height:1.5;margin-top:6px;padding-left:30px}
.m3-res .opt-t em{display:inline-block;font-style:normal;font-size:13.5px;font-weight:800;color:var(--go);margin-top:7px;margin-left:30px}
.m3-res .opt-p{flex:0 0 auto;text-align:right}
.m3-res .opt-p b{display:block;font-size:22px;font-weight:800;letter-spacing:-.025em;white-space:nowrap}
.m3-res .opt-p span{display:block;font-size:12.5px;color:var(--ink3);margin-top:2px}
.m3-res .opt-sold{opacity:.5;cursor:default}
.m3-res .opt-sold:hover{border-color:var(--line)}

.m3-res .flds{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.m3-res .fld{display:block}
.m3-res .fld-w{grid-column:span 2}
.m3-res .fld label{display:block;font-size:14px;font-weight:800;margin-bottom:7px}
.m3-res .fld label i{font-style:normal;color:#d93a3a}
.m3-res .fld input,.m3-res .fld select,.m3-res .fld textarea{width:100%;height:50px;border:1.5px solid var(--line);border-radius:10px;padding:0 15px;font-family:inherit;font-size:16px;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.m3-res .fld select{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2378828a' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:40px}
.m3-res .fld textarea{height:110px;padding:13px 15px;resize:vertical;line-height:1.55}
.m3-res .fld input:focus,.m3-res .fld select:focus,.m3-res .fld textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,138,30,.16)}
.m3-res .fld .hint{display:block;font-size:13px;color:var(--ink3);margin-top:6px;line-height:1.45}
.m3-res .fld.err input,.m3-res .fld.err select{border-color:#d93a3a;background:#fffafa}
.m3-res .rider{border-top:1px dashed var(--line);margin-top:24px;padding-top:22px}
.m3-res .rider-t{font-size:15px;font-weight:800;color:var(--brand2);margin-bottom:16px}
.m3-res .hid{display:none}
.m3-res .agree{display:flex;gap:12px;align-items:flex-start;margin-top:22px;font-size:15px;color:var(--ink2);line-height:1.55;cursor:pointer}
.m3-res .agree input{margin-top:4px;width:18px;height:18px;flex:0 0 auto;accent-color:#ff8a1e}
.m3-res .formerr{background:#fff4f4;border:1.5px solid #f3c2c2;color:#a52222;border-radius:var(--r-s);padding:15px 18px;margin-bottom:22px;font-size:15.5px;line-height:1.55}
.m3-res .formerr b{font-weight:800}
.m3-res .note3{font-size:13.5px;color:var(--ink3);margin-top:14px;line-height:1.5}

.m3-res .sum{position:sticky;top:20px}
.m3-res .sum .box3{padding:24px 26px 26px}
.m3-res .sum-term{padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:6px}
.m3-res .sum-term b{display:block;font-size:19px;font-weight:800;letter-spacing:-.015em}
.m3-res .sum-term span{display:block;font-size:14.5px;color:var(--ink3);margin-top:3px}
.m3-res .sum-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--ink2);line-height:1.4}
.m3-res .sum-row b{color:var(--ink);font-weight:800;white-space:nowrap}
.m3-res .sum-row.sale,.m3-res .sum-row.sale b{color:var(--go)}
.m3-res .sum-row.hint3{color:var(--ink3);font-size:14px;border-bottom:0}
.m3-res .sum-tot{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:18px 0 4px}
.m3-res .sum-tot span{font-size:15px;font-weight:800;color:var(--ink3)}
.m3-res .sum-tot b{font-size:30px;font-weight:800;letter-spacing:-.03em}
.m3-res .sum-dep{font-size:13.5px;color:var(--ink3);line-height:1.5;margin-top:6px}
.m3-res .help3{background:var(--ink);color:#fff;border-radius:var(--r);padding:24px 26px}
.m3-res .help3 strong{display:block;font-size:17px;font-weight:800}
.m3-res .help3 a{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:17px;font-weight:800;color:#fff}
.m3-res .help3 a svg{width:19px;height:19px;stroke:var(--brand);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.m3-res .help3 p{margin-top:14px;font-size:14.5px;color:#9aa4ac;line-height:1.55}
.m3-res .ok3{width:62px;height:62px;border-radius:50%;background:var(--go);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.m3-res .ok3 svg{width:32px;height:32px;stroke:#fff;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.m3-res .code3{display:inline-block;background:var(--soft);border-radius:10px;padding:12px 18px;font-size:19px;font-weight:800;margin:14px 0 20px}
.m3-res .nxt{counter-reset:n;margin-top:10px}
.m3-res .nxt li{counter-increment:n;position:relative;padding:12px 0 12px 42px;border-top:1px solid var(--line);font-size:15.5px;color:var(--ink2);line-height:1.5}
.m3-res .nxt li:before{content:counter(n);position:absolute;left:0;top:12px;width:26px;height:26px;border-radius:50%;background:var(--brand-soft);color:var(--brand2);font-size:13.5px;font-weight:800;display:flex;align-items:center;justify-content:center}

/* ==================================================================
   RESPONZIVITA
   ================================================================== */
@media (max-width:1320px){
	.m3 .cards{grid-template-columns:repeat(2,1fr);gap:26px}
	.m3 .card3-img{height:250px}
	.m3 .card3-over strong{font-size:clamp(24px,2.6vw,31px)}
	.m3 .card3-body{padding:24px 26px 26px}
	.m3 .card3-claim{font-size:16.5px}
	.m3 .card3-price b{font-size:30px}
	.m3 .card3-btns{flex-direction:row;gap:10px}
	.m3 .card3-btns .btn3{flex:1;width:auto}
}
@media (max-width:1100px){
	.m3 .feats-4{grid-template-columns:repeat(2,1fr)}
	.m3 .hero-grid{grid-template-columns:1fr;gap:34px}
	.m3 .pcard{max-width:520px}
	.m3 .days{grid-template-columns:repeat(3,1fr)}
	.m3 .feats{grid-template-columns:repeat(2,1fr)}
	.m3 .media-img{height:320px}
	.m3-res .resgrid{grid-template-columns:1fr}
	.m3-res .sum{position:static}
}
@media (max-width:860px){
	.m3{font-size:16.5px}
	.m3 .wr{padding:0 20px}
	.m3 .sec{padding:58px 0}
	.m3 .sec-s{padding:42px 0}
	.m3 .hero{min-height:0}
	.m3 .hero-in{padding:52px 0}
	.m3 .hero-stats{gap:20px 28px;margin-top:28px;padding-top:20px}
	.m3 .cards{grid-template-columns:repeat(2,1fr);gap:18px}
	.m3 .card3-img{height:190px}
	.m3 .card3-over strong{font-size:21px}
	.m3 .card3-body{padding:17px 17px 19px}
	.m3 .card3-claim{font-size:14.5px}
	.m3 .card3-price b{font-size:23px}
	.m3 .card3-btns{flex-direction:column;gap:9px}
	.m3 .card3-btns .btn3{width:100%;flex:none}
	.m3 .nums{grid-template-columns:repeat(2,1fr);gap:18px}
	.m3 .split,.m3 .media,.m3 .lists{grid-template-columns:1fr;gap:28px}
	.m3 .media+.media{margin-top:36px}
	.m3 .media-rev .media-txt{order:0}
	.m3 .media-img{height:250px}
	.m3 .grps{grid-template-columns:1fr}
	.m3 .days{grid-template-columns:repeat(2,1fr)}
	.m3 .feats,.m3 .feats-4{grid-template-columns:1fr}
	.m3 .rooms2{grid-template-columns:1fr}
	.m3 .tl2{columns:1}
	.m3 .cta3{padding:44px 24px}
	.m3 .faq-a{padding-right:0}
	.m3 .nav3 .btn3{display:none}
	.m3 .bar3{display:flex}
	.m3-res{padding:26px 0 92px}
	.m3-res .box3{padding:20px 20px 24px}
	.m3-res .flds{grid-template-columns:1fr}
	.m3-res .fld-w{grid-column:span 1}
	.m3-res .opt-row{flex-direction:column;gap:10px}
	.m3-res .opt-p{text-align:left}
	.m3-res .opt-p b{font-size:20px}
}
@media (max-width:600px){
	.m3 .cards{grid-template-columns:1fr;gap:20px}
	.m3 .card3-img{height:215px}
	.m3 .card3-over strong{font-size:25px}
	.m3 .card3-price b{font-size:28px}
}
@media (max-width:520px){
	.m3 .btn3{height:50px;padding:0 20px;font-size:15.5px}
	.m3 .hero-btns .btn3{width:100%}
	.m3 .days{grid-template-columns:1fr}
	.m3 .pcard-split{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
	.m3 .card3,.m3 .card3-img img,.m3 .day,.m3 .btn3{transition:none}
	.m3 .card3:hover,.m3 .day:hover,.m3 .btn3:hover{transform:none}
	.m3 .card3:hover .card3-img img{transform:none}
}
@media print{.m3 .nav3,.m3 .bar3,.m3 .hero-media video{display:none}}

/* světlá varianta dlaždic (trénink) */
.m3 .feats-4{grid-template-columns:repeat(4,1fr)}
.m3 .feats-l{background:var(--line);border-color:var(--line)}
.m3 .feats-l .feat{background:#fff}
.m3 .feats-l .feat h3{color:var(--ink)}
.m3 .feats-l .feat p{color:var(--ink2)}
.m3 .sec-soft .feats-l .feat{background:#fff}

/* ---------- výběr kola s fotkou ---------- */
.m3-res .bikepick{margin-top:24px;border-top:1px dashed var(--line);padding-top:20px}
.m3-res .bikepick-h{font-size:14px;font-weight:800;margin-bottom:12px}
.m3-res .bikepick-h i{font-style:normal;color:#d93a3a}
.m3-res .bikepick-h span{display:block;font-weight:500;font-size:13px;color:var(--ink3);margin-top:3px}
.m3-res .opt-bike .opt-row{align-items:center;gap:16px}
.m3-res .opt-img{flex:0 0 auto;width:124px;height:70px;object-fit:contain;background:var(--soft);border-radius:9px;padding:4px;display:flex;align-items:center;justify-content:center}
.m3-res .opt.on .opt-img{background:#fff}
.m3-res .opt-img-own svg{width:30px;height:30px;stroke:var(--ink3);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.m3-res .opt-bike .opt-t b{font-size:16.5px}
.m3-res .opt-bike .opt-t span{font-size:13.5px;margin-top:4px}
.m3-res .opt-t em.opt-specs{display:block;font-style:normal;font-weight:500;font-size:12.5px;color:var(--ink3);margin-top:6px;margin-left:0;padding-left:30px;line-height:1.45}

/* ---------- doplňkové služby ---------- */
.m3-res .addgrp+.addgrp{margin-top:26px}
.m3-res .addgrp-h{margin-bottom:12px}
.m3-res .addgrp-h b{display:block;font-size:12.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--brand2)}
.m3-res .addgrp-h span{display:block;font-size:13.5px;color:var(--ink3);margin-top:4px}
.m3-res .adds{display:grid;gap:10px}
.m3-res .add{position:relative;display:flex;align-items:flex-start;gap:13px;border:1.5px solid var(--line);border-radius:var(--r-s);padding:15px 17px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.m3-res .add:hover{border-color:#c9d0d6}
.m3-res .add.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 3px rgba(255,138,30,.12)}
.m3-res .add input{position:absolute;opacity:0;pointer-events:none}
.m3-res .add-box{flex:0 0 auto;width:20px;height:20px;margin-top:2px;border:2px solid #c9d0d6;border-radius:5px;background:#fff;position:relative;transition:border-color .15s,background .15s}
.m3-res .add-box:after{content:"";position:absolute;left:5px;top:1px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);opacity:0;transition:opacity .15s}
.m3-res .add.on .add-box{border-color:var(--brand);background:var(--brand)}
.m3-res .add.on .add-box:after{opacity:1}
.m3-res .add-t{flex:1;min-width:0}
.m3-res .add-t b{display:block;font-size:16px;font-weight:800;letter-spacing:-.01em}
.m3-res .add-t span{display:block;font-size:13.5px;color:var(--ink2);line-height:1.5;margin-top:4px}
.m3-res .add-p{flex:0 0 auto;text-align:right}
.m3-res .add-p b{display:block;font-size:17.5px;font-weight:800;white-space:nowrap}
.m3-res .add-p s{display:block;font-size:12.5px;color:var(--ink3);margin-top:2px}
.m3-res .add-sub{margin:-2px 0 2px 33px;max-width:260px}
@media (max-width:600px){
	.m3-res .opt-bike .opt-row{flex-wrap:wrap}
	.m3-res .opt-img{width:96px;height:58px}
	.m3-res .opt-specs{padding-left:0}
	.m3-res .add{flex-wrap:wrap}
	.m3-res .add-p{text-align:left;padding-left:33px}
}

/* ---------- doplňkové služby na stránce kempu ---------- */
.m3 .xtra{margin-top:56px;padding-top:44px;border-top:1px solid var(--line)}
.m3 .xtra-h{max-width:640px;margin-bottom:28px}
.m3 .xtras{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.m3 .xtra-i{background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:22px 22px 20px}
.m3 .sec-soft .xtra-i{background:#fff}
.m3 .xtra-i svg{width:26px;height:26px;stroke:var(--brand);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.m3 .xtra-i h4{margin-top:14px;font-size:17px;font-weight:800;letter-spacing:-.01em}
.m3 .xtra-p{margin-top:5px;font-size:18px;font-weight:800;color:var(--brand2);letter-spacing:-.015em}
.m3 .xtra-i p{margin-top:9px;font-size:14.5px;line-height:1.55;color:var(--ink2)}
.m3 .xtra-k{display:inline-block;margin-top:13px;padding:4px 11px;border-radius:var(--r-p);background:var(--soft);font-size:12.5px;font-weight:700;color:var(--ink3)}
@media (max-width:1100px){.m3 .xtras{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.m3 .xtras{grid-template-columns:1fr}}

/* ---------- fotky v sekci Pro koho ---------- */
.m3 .shots{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.m3 .shot{position:relative;margin:0;border-radius:var(--r-s);overflow:hidden;background:var(--soft);box-shadow:var(--sh)}
.m3 .shot img{width:100%;height:230px;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.m3 .shot:hover img{transform:scale(1.04)}
.m3 .shot figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 16px 12px;font-size:13px;font-weight:700;line-height:1.4;color:#fff;background:linear-gradient(180deg,rgba(10,13,16,0) 0,rgba(10,13,16,.82) 100%)}
@media (max-width:860px){
	.m3 .shots{grid-template-columns:1fr;gap:12px;margin-top:28px}
	.m3 .shot img{height:200px}
}
@media (prefers-reduced-motion:reduce){.m3 .shot img,.m3 .shot:hover img{transition:none;transform:none}}

/* ---------- koláž fotek hotelu ---------- */
.m3 .hotelgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.m3 .hotelshot{position:relative;margin:0;border-radius:var(--r-s);overflow:hidden;background:var(--soft);box-shadow:var(--sh)}
.m3 .hotelshot img{width:100%;height:185px;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.m3 .hotelshot:hover img{transform:scale(1.05)}
.m3 .hotelshot figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 14px 10px;font-size:12.5px;font-weight:700;color:#fff;background:linear-gradient(180deg,rgba(10,13,16,0) 0,rgba(10,13,16,.8) 100%)}
@media (max-width:860px){
	.m3 .hotelshot img{height:135px}
}
@media (prefers-reduced-motion:reduce){.m3 .hotelshot img,.m3 .hotelshot:hover img{transition:none;transform:none}}

/* ---------- střídání fotek u bloku o kole ---------- */
.m3 .media-img.slides{position:relative}
.m3 .media-img.slides img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.m3 .media-img.slides img.on{opacity:1}
.m3 .slides-dots{position:absolute;left:0;right:0;bottom:14px;z-index:2;display:flex;justify-content:center;gap:7px}
.m3 .slides-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45);transition:background .3s,transform .3s}
.m3 .slides-dots i.on{background:#fff;transform:scale(1.25)}
@media (prefers-reduced-motion:reduce){
	.m3 .media-img.slides img{transition:none}
}

/* ---------- sekce s fotkou na pozadí ---------- */
.m3 .sec-photo{position:relative;background:var(--dark);color:#fff;overflow:hidden}
.m3 .sec-photo .sec-bg{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}
.m3 .sec-photo .sec-bg img{width:100%;height:100%;object-fit:cover}
.m3 .sec-photo .sec-bg:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(10,13,16,.9) 0,rgba(10,13,16,.72) 45%,rgba(10,13,16,.92) 100%)}
.m3 .sec-photo .wr{position:relative;z-index:2}
.m3 .sec-photo .sub,.m3 .sec-photo .lead{color:#c3cbd2}
.m3 .sec-photo .grp{background:rgba(22,27,31,.72);border-color:rgba(255,255,255,.14);color:#fff}
.m3 .sec-photo .grp-l{color:rgba(255,255,255,.07)}
.m3 .sec-photo .grp li{color:#c3cbd2;border-top-color:rgba(255,255,255,.12)}
.m3 .sec-photo .grp .km{background:rgba(255,138,30,.18);color:#ffb563}

/* ---------- ikony v boxu s počasím ---------- */
.m3 .panel .row3 span{display:flex;align-items:center;gap:11px}
.m3 .wico{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:var(--brand);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
/* box s počasím začíná až u textu, ne u nadpisu */
@media (min-width:861px){.m3 #prokoho .split .panel{margin-top:86px}}

/* ---------- světlá varianta programu (aby nenavazovaly dvě tmavé sekce) ---------- */
.m3 .days-l .day{background:#fff;border-color:var(--line);box-shadow:var(--sh)}
.m3 .days-l .day:hover{border-color:var(--brand)}
.m3 .days-l .day-h span{color:var(--ink3)}
.m3 .days-l .day-h b{color:var(--brand2)}
.m3 .days-l .day p{color:var(--ink)}
.m3 .days-l .day-free{background:var(--brand-soft);border-color:rgba(255,138,30,.4)}
.m3 .days-l .day-free .day-h b{color:var(--brand2)}

/* dlaždice na fotce lehce průsvitné */
.m3 .sec-photo .feats{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.14)}
.m3 .sec-photo .feat{background:rgba(16,20,24,.82)}

/* ---------- rekapitulace před odesláním ---------- */
.m3-res .rec{margin-top:4px}
.m3-res .rec-r{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--ink3);line-height:1.45}
.m3-res .rec-r:last-child{border-bottom:0;padding-bottom:0}
.m3-res .rec-r b{color:var(--ink);font-weight:800;text-align:right}
.m3-res .rec-who{font-size:18px;font-weight:800;letter-spacing:-.012em;color:var(--brand2)}

/* ---------- rozbalovací doplňkové služby ---------- */
.m3-res .addwrap{border:1.5px solid var(--line);border-radius:var(--r-s);overflow:hidden}
.m3-res .addtoggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left;padding:15px 18px;background:var(--soft);transition:background .15s}
.m3-res .addtoggle:hover{background:#eef0f2}
.m3-res .addtoggle span{font-size:14.5px;color:var(--ink2);line-height:1.45}
.m3-res .addtoggle b{display:inline-block;margin-left:10px;font-size:13px;font-weight:800;color:var(--brand2);white-space:nowrap}
.m3-res .addtoggle i{position:relative;flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid var(--line);transition:transform .25s}
.m3-res .addtoggle i:before,.m3-res .addtoggle i:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:2px;background:var(--ink);transform:translate(-50%,-50%);border-radius:2px;transition:opacity .2s}
.m3-res .addtoggle i:after{transform:translate(-50%,-50%) rotate(90deg)}
.m3-res .addwrap.on .addtoggle i{transform:rotate(180deg)}
.m3-res .addwrap.on .addtoggle i:after{opacity:0}
.m3-res .addbody{display:none;padding:18px}
.m3-res .addwrap.on .addbody{display:block}
/* kompaktnější řádky */
.m3-res .add{padding:12px 14px;gap:11px}
.m3-res .add-t b{font-size:15.5px}
.m3-res .add-t span{font-size:13px;margin-top:3px;color:var(--ink3)}
.m3-res .add-p b{font-size:16px}
.m3-res .addgrp+.addgrp{margin-top:20px}

/* drobečky na světlém pozadí (rezervace) – bílý hover patří jen do hera */
.m3-res .crumbs3{color:var(--ink3)}
.m3-res .crumbs3 a{color:var(--ink2)}
.m3-res .crumbs3 a:hover{color:var(--brand2)}
.m3-res .crumbs3 i{opacity:.45}

/* ---------- výškový profil a odkaz na trasu v programu ---------- */
.m3 .day-rt{display:block;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);transition:opacity .15s}
.m3 .day-rt:hover{opacity:.78}
.m3 .day-prof{display:block;width:100%;height:38px;margin-bottom:7px}
.m3 .day-prof path{fill:rgba(255,138,30,.16);stroke:var(--brand);stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.m3 .day-rt span{display:block;font-size:12.5px;color:var(--ink3);line-height:1.35}
.m3 .day-rt b{display:block;font-size:13.5px;font-weight:800;color:var(--brand2);margin-bottom:2px}
.m3 .day-rt b:after{content:" ↗";font-weight:500;opacity:.6}
.m3 .days-l .day-rt{border-top-color:var(--line)}
.m3 .day-free .day-rt{border-top-color:rgba(255,138,30,.3)}

/* Kotvy: nechavame nativni skok prohlizece, jen s odsazenim pod lepivou
   podnavigaci. Plynule scrollovani tu nepouzivame zamerne - scroll-behavior:smooth
   i vlastni window.scrollTo({behavior:'smooth'}) se na tehle strance nedokoncily
   (stary web ma vlastni obsluhu kliku) a odkaz pak nedelal vubec nic. */
.m3 [id]{scroll-margin-top:78px}

/* termín jako štítek uvnitř tlačítka (jako v půjčovně) */
.m3 .btn3-chip{display:inline-flex;align-items:center;font-style:normal;font-size:13px;font-weight:800;letter-spacing:0;line-height:1;padding:5px 10px;margin-left:2px;border-radius:var(--r-p);background:rgba(255,255,255,.24);color:#fff;white-space:nowrap}
.m3 .btn3-gh .btn3-chip,.m3 .btn3-off .btn3-chip{background:var(--soft);color:var(--ink2)}

/* spodní lišta na mobilu: text vlevo nesmí tlačit tlačítko se štítkem */
.m3 .bar3 .btn3{flex:0 0 auto;padding:0 14px}
.m3 .bar3 .btn3-chip{font-size:12px;padding:4px 8px}
@media (max-width:400px){
	.m3 .bar3{gap:10px;padding:10px 12px}
	.m3 .bar3 strong{font-size:17px}
	.m3 .bar3 .btn3{height:46px;font-size:14.5px;padding:0 12px}
	.m3 .bar3 .btn3-chip{font-size:11.5px;padding:3px 7px}
}

/* ================= mobil: opravy použitelnosti ================= */

/* Čtyři dlaždice vedle sebe platí jen na širokém displeji. Základní pravidlo
   .feats-4 je v souboru až za breakpointy, takže je tu musíme přebít znovu –
   jinak zůstanou čtyři sloupce i na telefonu a půlka se ořízne. */
@media (max-width:1100px){.m3 .feats-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){.m3 .feats-4{grid-template-columns:1fr}}

/* Starý web má vlastní lištu „Potřebujete poradit?" fixovanou u spodního okraje
   (z-index 2010) a na mobilu překryla tlačítko v naší liště. Na stránkách kempu
   ji skrýváme – telefon i rezervace jsou v liště, v kontaktech i v patičce. */
@media (max-width:860px){
	.send-task-box,.send-task-open{display:none !important}
}

/* Tabulka termínů se na úzkém displeji posouvá do strany – ať je to znát. */
.m3 .ttab-hint{display:none}
@media (max-width:860px){
	.m3 .ttab-sc{position:relative}
	.m3 .ttab-hint{display:block;margin-top:10px;font-size:13px;color:var(--ink3)}
}

/* Rezervace na mobilu: souhrn ceny spadne až pod formulář, takže cenu během
   vyplňování nikdo nevidí. Lepivá lišta drží celkovou cenu i tlačítko na očích. */
.m3-res .resbar{display:none}
@media (max-width:1100px){
	.m3-res .resbar{position:fixed;left:0;right:0;bottom:0;z-index:2020;display:flex;align-items:center;gap:12px;padding:10px 16px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(16,19,22,.1)}
	.m3-res .resbar>div{flex:1;min-width:0}
	.m3-res .resbar span{display:block;font-size:12.5px;color:var(--ink3);line-height:1.2}
	.m3-res .resbar b{display:block;font-size:20px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
	.m3-res .resbar .btn3{flex:0 0 auto;height:48px;padding:0 18px}
	.m3-res-f{padding-bottom:104px}
}
@media (max-width:400px){
	.m3-res .resbar{gap:10px;padding:9px 12px}
	.m3-res .resbar b{font-size:18px}
	.m3-res .resbar .btn3{height:46px;padding:0 14px;font-size:14.5px}
}

/* ---------- co je v ceně: jeden box se záložkami a ikonami ---------- */
.m3 .inc{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:22px 26px 12px;margin-top:32px}
.m3 .inc-tabs{display:inline-flex;gap:4px;flex-wrap:wrap;padding:5px;background:var(--soft);border-radius:var(--r-p);margin-bottom:10px}
.m3 .inc-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:0;background:transparent;border-radius:var(--r-p);font-family:inherit;font-size:15.5px;font-weight:800;letter-spacing:-.01em;color:var(--ink3);cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}
.m3 .inc-tab svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.m3 .inc-tab:hover{color:var(--ink2)}
.m3 .inc-tab.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(16,19,22,.06),0 4px 12px rgba(16,19,22,.09)}
.m3 .inc-pane{display:none}
.m3 .inc-pane.on{display:block}
.m3 .inc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
.m3 .inc-i{display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--line)}
.m3 .inc-grid .inc-i:nth-child(1),.m3 .inc-grid .inc-i:nth-child(2){border-top:0}
/* Pozor na poradi: .m3 .inc-i span nize ma vyssi specificitu, takze by
   ramecku prebilo display i margin. Proto je selektor stejne silny. */
.m3 .inc-i span.inc-ico{flex:0 0 auto;width:38px;height:38px;margin-top:0;border-radius:11px;display:flex;align-items:center;justify-content:center;background:rgba(47,171,62,.1)}
.m3 .inc-i span.inc-ico svg{width:20px;height:20px;fill:none;stroke:var(--go);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.m3 .inc-i b{display:block;font-size:16px;font-weight:800;letter-spacing:-.01em;line-height:1.35;color:var(--ink)}
.m3 .inc-i span{display:block;margin-top:3px;font-size:14.5px;line-height:1.5;color:var(--ink2)}
.m3 .inc-no .inc-i span.inc-ico{background:var(--soft)}
.m3 .inc-no .inc-i span.inc-ico svg{stroke:var(--ink3)}
.m3 .inc-pay .inc-i span.inc-ico{background:var(--brand-soft)}
.m3 .inc-pay .inc-i span.inc-ico svg{stroke:var(--brand2)}
.m3 .inc-i span.inc-p{display:block;margin-top:5px;font-size:15.5px;font-weight:800;color:var(--brand2);letter-spacing:-.015em}
.m3 .inc-i span.inc-k{display:inline-block;margin-top:8px;padding:3px 10px;border-radius:var(--r-p);background:var(--soft);font-size:12px;font-weight:700;color:var(--ink3)}
.m3 .inc-note{margin:6px 0 14px;font-size:14.5px;line-height:1.55;color:var(--ink3)}
@media (max-width:860px){
	.m3 .inc{padding:16px 16px 6px;margin-top:24px}
	.m3 .inc-grid{grid-template-columns:1fr;gap:0}
	.m3 .inc-grid .inc-i:nth-child(2){border-top:1px solid var(--line)}
	.m3 .inc-tabs{display:flex;width:100%;gap:2px;padding:4px}
	.m3 .inc-tab{flex:1;justify-content:center;padding:10px 6px;font-size:13.5px;white-space:nowrap}
	.m3 .inc-tab svg{display:none}
}

/* ---------- terén u dne v programu ---------- */
.m3 .day-ter{display:inline-block;margin-top:9px;padding:3px 10px;border-radius:var(--r-p);background:rgba(255,255,255,.1);font-size:12px;font-weight:700;color:#9aa4ac}
.m3 .days-l .day-ter{background:var(--soft);color:var(--ink3)}
.m3 .days-l .day-free .day-ter{background:rgba(255,255,255,.75);color:var(--ink2)}

/* ---------- mobil: podnavigace se zalomí místo vodorovného posouvání ----------
   Na telefonu zabiraly odkazy 663 px z 336 viditelnych, takze pulka menu byla
   mimo obrazovku a nic nenaznacovalo, ze se da posouvat. Radeji se zalomi. */
@media (max-width:860px){
	.m3 .nav3-in{height:auto;min-height:0;padding:7px 0;align-items:center}
	.m3 .nav3-links{flex-wrap:wrap;overflow-x:visible;gap:5px;justify-content:center}
	.m3 .nav3-links a{padding:7px 11px;font-size:13.5px}
	.m3 [id]{scroll-margin-top:112px}
}
