*,*::before,*::after{box-sizing:border-box}:root{--black:#080808;--panel:#141416;--panel2:#1E1F21;--gold:#C8A14A;--gold-lt:#E5C97A;--gold-hi:#F5E8B5;--gold-dk:#8C6A1E;--silver:#B7B7B7;--white:#FFFFFF;--brd:rgba(200,161,74,.28);--brd-soft:rgba(255,255,255,.08);--head:'Playfair Display',Georgia,'Times New Roman',serif;--ui:'Montserrat',-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--txt:'Inter',-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--max:1240px}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--silver);font-family:var(--txt);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}h1,h2,h3{font-family:var(--head);font-weight:500;margin:0;color:var(--white)}.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}.logo{display:flex;flex-direction:column;align-items:flex-start;gap:0;flex:none;white-space:nowrap}.logo img{height:calc(30px*var(--s,1));width:auto;display:block}.logo .sub{display:flex;align-items:center;gap:8px;width:100%;margin-top:6px}.logo .sub i{height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold-dk))}.logo .sub i:last-child{background:linear-gradient(270deg,transparent,var(--gold-dk))}.logo .sub span{font-family:var(--head);font-style:italic;font-size:calc(11.5px*var(--s,1));color:var(--gold);letter-spacing:.1em}.hdr{position:absolute;top:0;left:0;right:0;z-index:40}.hdr .in{display:flex;align-items:flex-start;gap:40px;padding:22px 0 0}.hdr .rt{flex:1;display:flex;flex-direction:column;align-items:flex-end;gap:16px}.util{display:flex;align-items:center;gap:22px;font-family:var(--ui);font-size:12.5px;color:var(--silver)}.util a{display:inline-flex;align-items:center;gap:7px;transition:.25s}.util a:hover{color:var(--gold-lt)}.util svg{width:13px;height:13px;color:var(--gold)}.pick{display:inline-flex;align-items:center;gap:7px;cursor:pointer;padding:5px 9px;border:1px solid transparent;border-radius:4px;transition:.25s;font-weight:500;letter-spacing:.03em}.pick:hover{border-color:var(--brd);color:var(--gold-lt)}.pick .cv{width:9px;height:9px;color:var(--gold)}.flag{width:16px;height:11px;border-radius:2px;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.15)}.nav{display:flex;align-items:center;gap:32px;font-family:var(--ui);font-size:13px;font-weight:500;letter-spacing:.11em;text-transform:uppercase}.nav a{position:relative;padding:6px 0;color:var(--white);transition:.25s}.nav a::after{content:'';position:absolute;left:50%;right:50%;bottom:0;height:1.5px;background:var(--gold);transition:.3s}.nav a:hover{color:var(--gold-lt)}.nav a:hover::after{left:0;right:0}.icb{width:34px;height:34px;border:1px solid var(--brd);border-radius:50%;display:grid;place-items:center;color:var(--gold);cursor:pointer;background:transparent;transition:.25s;flex:none}.icb:hover{background:rgba(200,161,74,.12);border-color:var(--gold)}.icb svg{width:15px;height:15px}.burger{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;cursor:pointer;font-family:var(--ui);font-size:13px;font-weight:600;letter-spacing:.03em;padding:13px 26px;border-radius:5px;border:1px solid transparent;transition:.25s;white-space:nowrap}.btn svg{width:15px;height:15px}.btn-pri{background:linear-gradient(180deg,#F2E4B6,#D4AF37 62%,#c19c2c);color:#141210;box-shadow:0 8px 24px -12px rgba(200,161,74,.75)}.btn-pri:hover{filter:brightness(1.07);transform:translateY(-1px)}.btn-sec{background:transparent;border-color:var(--gold);color:var(--gold-lt)}.btn-sec:hover{background:rgba(200,161,74,.12)}.btn-inv{background:#141416;border-color:rgba(0,0,0,.35);color:var(--gold-lt)}.btn-inv:hover{background:#000}.hero{position:relative;height:clamp(560px,72vh,700px);overflow:hidden;background:#000}.slides{position:absolute;inset:0}.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}.slide.on{opacity:1}.slide img{width:100%;height:100%;object-fit:cover}.slide.on img{animation:kb 14s ease-out forwards}@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.1)}}.hero::after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(8,8,8,.94) 0%,rgba(8,8,8,.72) 30%,rgba(8,8,8,.15) 62%,rgba(8,8,8,.5) 100%),linear-gradient(180deg,rgba(8,8,8,.7) 0%,transparent 34%,transparent 62%,rgba(8,8,8,.85) 100%)}.hero .in{position:relative;z-index:4;height:100%;display:flex;align-items:center;padding-bottom:40px}.hero h1{font-size:clamp(40px,5.2vw,68px);line-height:1.08;max-width:11ch;background:linear-gradient(120deg,#FBF1D4,#F2E4B6 34%,#D4AF37);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-family:var(--txt);color:var(--white);font-size:16.5px;max-width:34ch;margin:22px 0 30px;opacity:.92}.arw{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:40px;height:40px;border:1px solid var(--brd);border-radius:50%;background:rgba(8,8,8,.45);backdrop-filter:blur(6px);display:grid;place-items:center;color:var(--gold-lt);cursor:pointer;transition:.25s}.arw:hover{background:rgba(200,161,74,.18);border-color:var(--gold)}.arw svg{width:15px;height:15px}.arw.l{left:20px}.arw.r{right:20px}.sbox{border:1px solid var(--brd);border-radius:10px;background:var(--panel);box-shadow:0 30px 70px -34px rgba(0,0,0,.95);padding:22px 24px 6px}.sbox h3{font-family:var(--ui);font-size:16px;font-weight:600;color:var(--white);margin-bottom:16px}.frow{display:flex;align-items:flex-end;gap:14px}.f{flex:1;min-width:0}.f label{display:block;font-family:var(--ui);font-size:11.5px;color:var(--silver);margin-bottom:6px;letter-spacing:.02em}.inp{display:flex;align-items:center;gap:10px;border:1px solid var(--brd);border-radius:5px;background:rgba(0,0,0,.3);padding:11px 13px;color:var(--white);font-size:14px;transition:.25s;cursor:pointer}.inp:hover{border-color:var(--gold)}.inp .v{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inp svg{width:15px;height:15px;color:var(--gold);flex:none}.dash{color:var(--gold-dk);padding-bottom:12px;flex:none;font-size:15px}.sbox .btn{padding:12px 26px}.chips{display:flex;align-items:center;justify-content:center;gap:0;margin-top:20px;border-top:1px solid var(--brd-soft);padding:14px 0}.chip{display:inline-flex;align-items:center;gap:9px;padding:0 24px;font-family:var(--ui);font-size:12.5px;color:var(--silver);position:relative}.chip+.chip::before{content:'';position:absolute;left:0;top:2px;bottom:2px;width:1px;background:var(--brd-soft)}.chip svg{width:17px;height:17px;color:var(--gold)}.sbox.gold{background:linear-gradient(180deg,#E3C669,#D4AF37 55%,#c9a33a);border-color:#e8d08a}.sbox.gold h3{color:#171307}.sbox.gold .f label{color:#4a3c14}.sbox.gold .inp{background:rgba(255,255,255,.9);border-color:rgba(0,0,0,.18);color:#171307}.sbox.gold .inp:hover{border-color:#171307}.sbox.gold .inp svg{color:#8a6f1c}.sbox.gold .dash{color:#6b571c}.sbox.gold .chips{border-top-color:rgba(0,0,0,.16)}.sbox.gold .chip{color:#332a0e}.sbox.gold .chip+.chip::before{background:rgba(0,0,0,.16)}.sbox.gold .chip svg{color:#6b571c}.sbox.glass{background:rgba(20,20,22,.5);backdrop-filter:blur(24px) saturate(1.15);border-color:rgba(242,228,182,.45);position:relative;z-index:2}.glassdemo{position:relative;border-radius:10px;overflow:hidden;padding:56px 34px}.glassdemo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.glassdemo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,8,.55),rgba(8,8,8,.2))}.vlabel{font-family:var(--ui);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dk);margin:0 0 10px 2px}section{padding:64px 0}.shead{display:flex;align-items:baseline;justify-content:space-between;gap:30px;margin-bottom:26px}.shead h2{font-size:clamp(26px,2.9vw,34px);color:var(--gold-lt)}.all{font-family:var(--ui);font-size:12.5px;color:var(--silver);display:inline-flex;align-items:center;gap:9px;transition:.25s}.all:hover{color:var(--gold-lt)}.all svg{width:14px;height:14px;color:var(--gold)}.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.nc{background:var(--panel);border:1px solid var(--brd-soft);border-radius:8px;overflow:hidden;transition:.3s;display:flex;flex-direction:column}.nc:hover{border-color:var(--brd);transform:translateY(-4px);box-shadow:0 24px 50px -30px #000}.nc .ph{height:150px;overflow:hidden}.nc .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}.nc:hover .ph img{transform:scale(1.07)}.nc .bd{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1}.nc .dt{font-family:var(--ui);font-size:11.5px;color:var(--silver);opacity:.75;margin-bottom:7px}.nc h3{font-family:var(--ui);font-size:14.5px;font-weight:600;line-height:1.45;color:var(--gold-lt);margin-bottom:9px}.nc p{margin:0;font-size:13px;color:var(--silver);line-height:1.65}.nc .rd{margin-top:auto;padding-top:14px;font-family:var(--ui);font-size:12px;color:var(--gold);display:inline-flex;align-items:center;gap:8px}.nc .rd svg{width:13px;height:13px;transition:.25s}.nc:hover .rd svg{transform:translateX(4px)}.dc{position:relative;height:236px;border-radius:8px;overflow:hidden;border:1px solid var(--brd-soft);display:flex;align-items:flex-end;transition:.3s}.dc:hover{border-color:var(--brd);transform:translateY(-4px)}.dc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9;transition:transform 1s cubic-bezier(.2,.6,.2,1),opacity .5s}.dc:hover img{opacity:1;transform:scale(1.07)}.dc::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,8,.1) 26%,rgba(8,8,8,.55) 62%,rgba(8,8,8,.96))}.dc .bd{position:relative;z-index:3;padding:16px 18px;width:100%;display:flex;align-items:flex-end;justify-content:space-between}.dc .bd b{display:block;font-family:var(--ui);font-size:16px;font-weight:600;color:var(--white)}.dc .bd span{font-family:var(--ui);font-size:12px;color:var(--silver)}.dc .go{width:32px;height:32px;border:1px solid var(--brd);border-radius:50%;display:grid;place-items:center;color:var(--gold);flex:none;transition:.3s;background:rgba(8,8,8,.4)}.dc .go svg{width:14px;height:14px}.dc:hover .go{background:var(--gold);color:#141210;border-color:var(--gold)}.usp{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--brd-soft);border-radius:8px;background:var(--panel);overflow:hidden}.usp .u{padding:26px 18px;text-align:center;position:relative}.usp .u+.u::before{content:'';position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--brd-soft)}.usp .ic{width:44px;height:44px;margin:0 auto 12px;border:1px solid var(--brd);border-radius:50%;display:grid;place-items:center;color:var(--gold)}.usp .ic svg{width:20px;height:20px}.usp b{display:block;font-family:var(--ui);font-size:13.5px;font-weight:600;color:var(--white)}.usp span{font-family:var(--ui);font-size:11.5px;color:var(--silver);opacity:.8}.prem{position:relative;border-top:1px solid var(--brd-soft);border-bottom:1px solid var(--brd-soft);display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:220px;overflow:hidden}.prem .tx{padding:44px 28px}.prem h2{font-size:clamp(24px,3vw,34px);color:var(--white)}.prem h2 em{font-style:normal;color:var(--gold-lt)}.prem .btn{margin-top:22px}.prem .ph{position:relative;height:100%;min-height:220px}.prem .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.prem .ph::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--black),transparent 42%)}.foot{background:#080809;border-top:1px solid var(--brd-soft);padding-top:52px}.foot .cols{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1.25fr;gap:34px;padding-bottom:40px}.foot h4{font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 16px}.foot a,.foot p{font-family:var(--ui);font-size:13px;color:var(--silver);line-height:2.05;margin:0}.foot a{transition:.2s;display:block}.foot a:hover{color:var(--gold-lt)}.foot .desc{max-width:30ch;margin-top:16px;line-height:1.85;opacity:.85}.foot .kn{display:flex;align-items:center;gap:9px;margin-bottom:4px}.foot .kn svg{width:14px;height:14px;color:var(--gold);flex:none}.soc{display:flex;gap:9px;margin-top:16px}.soc a{width:34px;height:34px;border:1px solid var(--brd);border-radius:50%;display:grid;place-items:center;color:var(--gold);transition:.25s}.soc a:hover{background:var(--gold);color:#141210}.soc svg{width:15px;height:15px}.fbot{border-top:1px solid var(--brd-soft);padding:16px 0;display:flex;gap:24px;align-items:center;font-family:var(--ui);font-size:12px;color:#6a6a6a}.fbot .sp{flex:1}.fbot a{display:inline;font-size:12px}.ds{background:#0d0d0e;border-top:1px solid var(--brd);padding:34px 0 46px}.ds .t{font-family:var(--ui);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--silver);margin-bottom:26px}.ds .cols{display:grid;grid-template-columns:.85fr 1.25fr 1fr 1.15fr;gap:0}.ds .c{padding:0 28px;border-left:1px solid var(--brd-soft)}.ds .c:first-child{padding-left:0;border-left:0}.ds h5{font-family:var(--ui);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 16px}.sw{display:flex;align-items:center;gap:11px;margin-bottom:9px}.sw i{width:26px;height:26px;border-radius:4px;display:block;border:1px solid rgba(255,255,255,.14)}.sw span{font-family:var(--ui);font-size:11.5px;color:var(--silver);letter-spacing:.04em}.ty1{font-family:var(--head);font-size:22px;color:var(--white);margin-bottom:8px}.ty2{font-family:var(--ui);font-size:15px;font-weight:500;color:var(--white);margin-bottom:6px}.ty3{font-family:var(--txt);font-size:14px;color:var(--silver);margin-bottom:14px}.wts{display:flex;gap:16px;font-family:var(--ui);font-size:12px;color:var(--silver)}.wts b:nth-child(1){font-weight:400}.wts b:nth-child(2){font-weight:500}.wts b:nth-child(3){font-weight:600;color:var(--white)}.wts b:nth-child(4){font-weight:700;color:var(--gold)}.brow{display:grid;grid-template-columns:88px 1fr;align-items:center;gap:12px;margin-bottom:11px}.brow span{font-family:var(--ui);font-size:11.5px;color:var(--silver)}.brow .btn{padding:8px 16px;font-size:12px}.frow2{display:grid;grid-template-columns:82px 1fr;align-items:center;gap:12px;margin-bottom:10px}.frow2 span{font-family:var(--ui);font-size:11.5px;color:var(--silver)}.frow2 .inp{padding:8px 11px;font-size:13px}.inp.focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,161,74,.16)}.note{background:#101014;border-top:1px solid var(--brd);border-bottom:1px solid var(--brd);padding:12px 0;font-family:var(--ui);font-size:12px;color:#8d8d8d}.note b{color:var(--gold)}@media(max-width:1080px){.g4{grid-template-columns:repeat(2,1fr)}.usp{grid-template-columns:repeat(3,1fr)}.usp .u:nth-child(4)::before,.usp .u:nth-child(1)::before{display:none}.ds .cols{grid-template-columns:1fr 1fr;gap:28px 0}.ds .c:nth-child(3){padding-left:0;border-left:0}.foot .cols{grid-template-columns:1fr 1fr 1fr;gap:26px}}@media(max-width:860px){.hdr .in{align-items:center;gap:14px;padding:16px 0 0}.nav,.util .u-hide{display:none}.burger{display:grid}.hdr .rt{flex-direction:row;align-items:center;gap:10px;justify-content:flex-end}.util{gap:8px}.util .btn-sec{padding:7px 14px!important;font-size:12px}.logo{--s:.8!important}.hero{height:auto;min-height:560px}.hero .in{padding:140px 0 96px}.arw{top:auto;bottom:18px;transform:none;width:36px;height:36px}.arw.l{left:auto;right:66px}.arw.r{right:20px}.frow{flex-wrap:wrap}.f{flex:1 1 44%}.dash{display:none}.sbox .btn{width:100%;margin-top:4px}.chips{flex-wrap:wrap;justify-content:flex-start;gap:10px 0}.chip{padding:0 14px}.chip:nth-child(3)::before{display:none}.prem{grid-template-columns:1fr}.prem .ph::after{background:linear-gradient(180deg,var(--black),transparent 45%)}.usp{grid-template-columns:1fr 1fr}.usp .u::before{display:none}.foot .cols{grid-template-columns:1fr 1fr}.ds .cols{grid-template-columns:1fr}.ds .c{padding-left:0;border-left:0}.fbot{flex-wrap:wrap;gap:10px}section{padding:44px 0}}@media(max-width:560px){.g4{grid-template-columns:1fr}.f{flex:1 1 100%}.util .pick{display:none}.hero h1{font-size:36px}.prem .tx .wrap{padding-right:28px!important}}
/* ===== KOVOVÁ ZLATÁ — 8C6A1E / C8A14A / E5C97A / F5E8B5 ===== */
.btn-pri{background:linear-gradient(115deg,#F5E8B5 0%,#E5C97A 17%,#C8A14A 44%,#A9832E 58%,#C8A14A 74%,#E5C97A 90%,#F5E8B5 100%);background-size:190% 100%;background-position:20% 0;color:#100D06;border:1px solid #E5C97A;box-shadow:0 10px 26px -14px rgba(200,161,74,.85),inset 0 1px 0 rgba(255,255,255,.45);transition:background-position .6s cubic-bezier(.2,.7,.2,1),box-shadow .3s,transform .25s}
.btn-pri:hover{background-position:88% 0;filter:none;transform:translateY(-1px);box-shadow:0 14px 30px -14px rgba(200,161,74,.95),inset 0 1px 0 rgba(255,255,255,.6)}
.btn-sec{border-color:rgba(200,161,74,.55);color:#E5C97A;background:linear-gradient(140deg,rgba(200,161,74,.10),rgba(200,161,74,0) 58%)}
.btn-sec:hover{border-color:#E5C97A;color:#F5E8B5;background:linear-gradient(140deg,rgba(229,201,122,.22),rgba(200,161,74,.05) 64%)}
.btn-inv{background:linear-gradient(150deg,#1b1b20,#0c0c0f);border-color:rgba(8,8,8,.5);color:#F5E8B5}
.btn-inv:hover{background:linear-gradient(150deg,#141416,#050506)}
.hero h1{background:linear-gradient(101deg,#F5E8B5 0%,#E5C97A 21%,#C8A14A 49%,#E5C97A 73%,#F5E8B5 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.shead h2{background:linear-gradient(98deg,#F5E8B5,#E5C97A 34%,#C8A14A 82%);-webkit-background-clip:text;background-clip:text;color:transparent}
.prem h2 em{background:linear-gradient(98deg,#F5E8B5,#E5C97A 42%,#C8A14A);-webkit-background-clip:text;background-clip:text;color:transparent}
body{background:radial-gradient(122% 78% at 50% -12%,#101014 0%,#080808 58%) no-repeat,#080808}
.sbox{background:linear-gradient(154deg,#191920 0%,#131317 46%,#0d0d11 100%);border-color:rgba(200,161,74,.34);box-shadow:0 34px 76px -36px #000,inset 0 1px 0 rgba(245,232,181,.10)}
.sbox.gold{background:radial-gradient(132% 165% at 8% -22%,rgba(245,232,181,.92),rgba(245,232,181,0) 52%),linear-gradient(128deg,#E5C97A 0%,#C8A14A 36%,#B08C34 56%,#C8A14A 74%,#E0C273 100%);border-color:#F5E8B5}
.sbox.gold .inp{background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,255,255,.87));border-color:rgba(16,13,6,.22);color:#171307}
.sbox.gold .f label{color:#4A3910}
.sbox.gold .chip{color:#241C08}
.sbox.gold .chip svg,.sbox.gold .inp svg,.sbox.gold .dash{color:#6B5115}
.sbox.glass{background:linear-gradient(150deg,rgba(24,24,28,.62),rgba(10,10,13,.5));border-color:rgba(229,201,122,.42)}
.nc{background:linear-gradient(158deg,#17171c 0%,#121216 52%,#0e0e11 100%)}
.usp{background:linear-gradient(150deg,#17171c,#101013)}
.foot{background:linear-gradient(180deg,#0a0a0c,#050506)}
.prem{background:radial-gradient(58% 130% at 10% 50%,rgba(200,161,74,.11),transparent 62%)}
.icb,.arw,.dc .go,.soc a,.usp .ic{background:radial-gradient(120% 120% at 30% 18%,rgba(229,201,122,.18),rgba(200,161,74,.03) 62%,transparent 78%);border-color:rgba(200,161,74,.38)}
.icb:hover,.arw:hover,.soc a:hover{border-color:#E5C97A}
.soc a:hover{background:linear-gradient(140deg,#F5E8B5,#C8A14A);color:#100D06}
.dc:hover .go{background:linear-gradient(140deg,#F5E8B5,#C8A14A 65%,#A9832E);color:#100D06;border-color:#E5C97A}
.usp .ic{color:#E5C97A}
.chips,.fbot,.foot,.ds,.note,.prem{border-image:linear-gradient(90deg,transparent,rgba(200,161,74,.42) 22%,rgba(245,232,181,.55) 50%,rgba(200,161,74,.42) 78%,transparent) 1}
.nav a::after{background:linear-gradient(90deg,#8C6A1E,#F5E8B5 50%,#8C6A1E)}
.logo .sub i{background:linear-gradient(90deg,transparent,#8C6A1E 60%,#C8A14A)}
.logo .sub i:last-child{background:linear-gradient(270deg,transparent,#8C6A1E 60%,#C8A14A)}
.vlabel{color:#8C6A1E}
.inp:hover,.inp.focus{border-color:#C8A14A}
.inp.focus{box-shadow:0 0 0 3px rgba(200,161,74,.18)}
.nc:hover{border-color:rgba(200,161,74,.40)}
.nc h3,.dt+h3{color:#E5C97A}
.all svg,.chip svg,.util svg,.foot .kn svg,.pick .cv{color:#C8A14A}

.gr{display:flex;align-items:center;gap:11px;margin-bottom:8px}
.gr i{width:74px;height:22px;border-radius:4px;display:block;border:1px solid rgba(255,255,255,.14);flex:none}
.gr span{font-family:var(--ui);font-size:11.5px;color:var(--silver)}
.ds h5{margin-top:0}

/* premium banner — text zarovnaný do stejného sloupce jako zbytek stránky */
.prem{display:block;position:relative;padding:0;min-height:0}
.prem .ph{position:absolute;right:0;top:0;bottom:0;width:52%;height:auto;min-height:0}
.prem .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.prem .ph::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080808,rgba(8,8,8,.25) 46%,transparent 78%)}
.prem .tx{padding:62px 0;position:relative;z-index:2}
.prem .tx .wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.prem h2{max-width:44%}
@media(max-width:860px){
  .prem .ph{position:relative;width:100%;height:230px}
  .prem .tx{padding:40px 0 34px}
  .prem h2{max-width:100%}
  .prem .ph::after{background:linear-gradient(180deg,#080808,rgba(8,8,8,.2) 45%,transparent)}
}

/* ===== ZVOLENÁ VARIANTA — světlý zlatý box, tmavší kov, třetinou přes hero ===== */
.boxwrap{position:relative;z-index:20;margin-top:-64px}
.variants[hidden]{display:none}
.sbox.gold{
  background:
    radial-gradient(128% 155% at 8% -22%,rgba(245,232,181,.34),rgba(245,232,181,0) 52%),
    linear-gradient(128deg,#AC8830 0%,#8E7027 26%,#725819 52%,#8B6D26 74%,#A5802D 100%);
  border-color:rgba(245,232,181,.5);
  box-shadow:0 36px 80px -30px rgba(0,0,0,.98),inset 0 1px 0 rgba(245,232,181,.32)}
.sbox.gold h3{color:#FFFFFF}
.sbox.gold .f label{color:rgba(245,232,181,.9)}
.sbox.gold .inp{background:linear-gradient(180deg,#FFFFFF,#F6F1E2);border-color:rgba(20,16,6,.34);color:#141006}
.sbox.gold .inp:hover{border-color:#141006}
.sbox.gold .inp svg{color:#8C6A1E}
.sbox.gold .dash{color:rgba(245,232,181,.85)}
.sbox.gold .chips{border-image:none;border-top:1px solid rgba(245,232,181,.26)}
.sbox.gold .chip{color:#F5E8B5}
.sbox.gold .chip svg{color:#F5E8B5}
.sbox.gold .chip+.chip::before{background:rgba(245,232,181,.26)}
.sbox.gold .btn-inv{background:linear-gradient(150deg,#16130C,#070604);border-color:rgba(245,232,181,.38);color:#F5E8B5}
.sbox.gold .btn-inv:hover{background:linear-gradient(150deg,#1E1A11,#0B0906);border-color:#E5C97A;color:#FFFFFF}
@media(max-width:860px){ .boxwrap{margin-top:-40px} }

/* zlatá v boxu ještě o stupeň hlouběji — bohatší kov, méně žluté */
.sbox.gold{
  background:
    radial-gradient(120% 150% at 8% -20%,rgba(245,232,181,.20),rgba(245,232,181,0) 50%),
    linear-gradient(128deg,#9C7B2B 0%,#82661F 26%,#6A5217 52%,#7E6220 74%,#96762A 100%);
  border-color:rgba(245,232,181,.42);
  box-shadow:0 38px 84px -30px rgba(0,0,0,1),inset 0 1px 0 rgba(245,232,181,.26)}
.sbox.gold .f label{color:rgba(245,232,181,.86)}
.sbox.gold .chips{border-top-color:rgba(245,232,181,.22)}
.sbox.gold .chip+.chip::before{background:rgba(245,232,181,.22)}

/* nižší hero, box zapuštěný do poloviny */
.hero{height:clamp(440px,56vh,560px)}
.boxwrap{margin-top:-96px}
@media(max-width:860px){ .hero{height:auto;min-height:480px} .hero .in{padding:130px 0 120px} .boxwrap{margin-top:-70px} }

/* hero kratší než původně, ale s prostorem pro text nad zapuštěným boxem */
.hero{height:clamp(560px,64vh,640px)}
.hero .in{align-items:center;padding:126px 0 176px}
.hero h1{font-size:clamp(38px,4.8vw,60px)}
.hero p{margin:20px 0 26px}
.arw{top:46%}
@media(max-width:860px){
  .hero{height:auto;min-height:0}
  .hero .in{padding:136px 0 150px}
  .hero h1{font-size:clamp(34px,9vw,44px)}
  .arw{top:auto;bottom:auto;margin-top:0}
}

@media(max-width:860px){
  .boxwrap{margin-top:-64px}
  .hero .in{padding:120px 0 108px}
  .hero p{margin:16px 0 22px}
}

/* menší nadpis, nižší hero, třetinový překryv */
.hero{height:clamp(470px,52vh,530px)}
.hero .in{padding:112px 0 128px}
.hero h1{font-size:clamp(30px,3.4vw,44px);line-height:1.12;max-width:13ch}
.hero p{font-size:15.5px;margin:16px 0 24px}
.boxwrap{margin-top:-72px}
.logo .sub{display:none}
.arw{top:44%}
@media(max-width:860px){
  .hero{height:auto;min-height:0}
  .hero .in{padding:104px 0 96px}
  .hero h1{font-size:clamp(28px,7.6vw,36px)}
  .boxwrap{margin-top:-52px}
}

.hero .in{padding:136px 0 124px}
@media(max-width:860px){ .hero .in{padding:112px 0 92px} }

/* ===== ČERNÝ BOX SE ZLATÝM TAHEM (varianta k porovnání) ===== */
#varianty{margin-top:44px}
#varianty .glassdemo{display:none}
#varianty .vlabel[style]{display:none}
.sbox.edge{
  border:3px solid transparent;
  border-radius:10px;
  background:
    linear-gradient(154deg,#15151b 0%,#0F0F13 46%,#08080B 100%) padding-box,
    linear-gradient(122deg,#F5E8B5 0%,#E5C97A 14%,#C8A14A 34%,#8C6A1E 50%,#C8A14A 68%,#E5C97A 86%,#F5E8B5 100%) border-box;
  box-shadow:0 30px 70px -34px #000, 0 0 26px -14px rgba(229,201,122,.5)}
.sbox.edge h3{color:#FFFFFF}
.sbox.edge .f label{color:rgba(245,232,181,.72)}
.sbox.edge .inp{background:rgba(0,0,0,.42);border-color:rgba(200,161,74,.34);color:#FFFFFF}
.sbox.edge .inp:hover{border-color:#C8A14A}
.sbox.edge .inp svg{color:#C8A14A}
.sbox.edge .chips{border-top-color:rgba(200,161,74,.24)}
.sbox.edge .chip{color:#C9C4B4}
.sbox.edge .chip svg{color:#C8A14A}

/* tah kolem černého boxu — tmavší kov, bez svícení */
.sbox.edge{
  border:3px solid transparent;
  background:
    linear-gradient(154deg,#141419 0%,#0E0E12 46%,#08080B 100%) padding-box,
    linear-gradient(122deg,#A5822F 0%,#8C6A1E 18%,#6E5518 38%,#4E3B10 52%,#6E5518 68%,#93732A 86%,#A5822F 100%) border-box;
  box-shadow:0 30px 70px -34px #000}
.sbox.edge .f label{color:rgba(200,161,74,.78)}
.sbox.edge .chips{border-top-color:rgba(200,161,74,.2)}

/* kov jen v rozsahu hlavní zlatá #C8A14A ↔ tmavá zlatá #8C6A1E */
.sbox.edge{
  background:
    linear-gradient(154deg,#141419 0%,#0E0E12 46%,#08080B 100%) padding-box,
    linear-gradient(122deg,#8C6A1E 0%,#C8A14A 20%,#A07C2C 38%,#8C6A1E 52%,#A07C2C 66%,#C8A14A 84%,#8C6A1E 100%) border-box}
.btn-pri{
  background:linear-gradient(115deg,#8C6A1E 0%,#C8A14A 18%,#A67F2C 38%,#8C6A1E 52%,#A67F2C 66%,#C8A14A 84%,#8C6A1E 100%);
  background-size:190% 100%;background-position:20% 0;
  color:#100D06;border:1px solid #C8A14A;
  box-shadow:0 10px 26px -16px rgba(140,106,30,.9),inset 0 1px 0 rgba(245,232,181,.22)}
.btn-pri:hover{background-position:88% 0;box-shadow:0 14px 30px -16px rgba(140,106,30,1),inset 0 1px 0 rgba(245,232,181,.3)}

/* spodní zlatý box — celý ve stejném rozsahu C8A14A ↔ 8C6A1E, bez champagne */
.sbox.gold{
  background:linear-gradient(128deg,#C8A14A 0%,#B08C34 18%,#8C6A1E 46%,#A07C2C 70%,#C8A14A 100%);
  border:1px solid rgba(200,161,74,.9);
  box-shadow:0 34px 78px -32px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.12)}
.sbox.gold h3{color:#FFFFFF}
.sbox.gold .f label{color:rgba(255,255,255,.82)}
.sbox.gold .inp{background:linear-gradient(180deg,#FFFFFF,#F7F3E7);border-color:rgba(20,16,6,.3);color:#141006}
.sbox.gold .inp:hover{border-color:#141006}
.sbox.gold .inp svg{color:#8C6A1E}
.sbox.gold .dash{color:rgba(255,255,255,.72)}
.sbox.gold .chips{border-image:none;border-top:1px solid rgba(255,255,255,.24)}
.sbox.gold .chip{color:rgba(255,255,255,.86)}
.sbox.gold .chip svg{color:rgba(255,255,255,.86)}
.sbox.gold .chip+.chip::before{background:rgba(255,255,255,.24)}
.sbox.gold .btn-inv{background:linear-gradient(150deg,#15120B,#080704);border:1px solid rgba(200,161,74,.75);color:#C8A14A}
.sbox.gold .btn-inv:hover{background:linear-gradient(150deg,#1C1810,#0B0906);border-color:#C8A14A;color:#D8B463}

/* ===== VYHLEDÁVACÍ BOX v2 — větší písmo, prohození, jednosměrná/zpáteční ===== */
.sb-head{display:flex;align-items:center;gap:20px;margin-bottom:20px;flex-wrap:wrap}
.sbox h3{font-size:19px;margin:0;letter-spacing:.01em}
.trip{display:inline-flex;border:1px solid rgba(200,161,74,.42);border-radius:999px;padding:3px;gap:3px}
.trip-b{background:transparent;border:0;cursor:pointer;font-family:var(--ui);font-size:12.5px;font-weight:600;
  padding:7px 17px;border-radius:999px;color:var(--silver);transition:.25s;white-space:nowrap}
.trip-b:hover:not(.on){color:#C8A14A}
.trip-b.on{background:linear-gradient(115deg,#8C6A1E,#C8A14A 50%,#8C6A1E);color:#100D06}

.frow{align-items:flex-end;gap:12px}
.f label{font-size:12.5px;margin-bottom:7px;font-weight:500;letter-spacing:.01em}
.inp{padding:12px 14px;font-size:15.5px}
.inp svg{width:16px;height:16px}
.chip{font-size:13px}
.chip svg{width:18px;height:18px}

.swap{width:38px;height:38px;border-radius:50%;flex:none;cursor:pointer;display:grid;place-items:center;
  border:1px solid rgba(200,161,74,.5);color:#C8A14A;margin-bottom:4px;transition:.35s;
  background:radial-gradient(120% 120% at 30% 18%,rgba(200,161,74,.18),transparent 72%)}
.swap:hover{transform:rotate(180deg);border-color:#C8A14A;background:rgba(200,161,74,.14)}
.swap svg{width:17px;height:17px}

.f.dates{display:flex;gap:10px}
.f.dates>div{flex:1;min-width:0}
.f.dates .d2{display:none}
.sbox.ret .f.dates .d2{display:block}
.lbl-ret{display:none}
.sbox.ret .lbl-one{display:none}
.sbox.ret .lbl-ret{display:inline}
.f.pax{max-width:190px}

/* spodní zlatý box — tmavé popisky, plocha o něco světlejší, ať je text čitelný */
.sbox.gold{background:linear-gradient(128deg,#C8A14A 0%,#BC9538 26%,#A5822F 54%,#B78F33 78%,#8C6A1E 100%)}
.sbox.gold h3{color:#14100A}
.sbox.gold .f label{color:rgba(20,16,10,.86)}
.sbox.gold .chip{color:rgba(20,16,10,.88)}
.sbox.gold .chip svg{color:rgba(20,16,10,.82)}
.sbox.gold .chips{border-top-color:rgba(20,16,10,.26)}
.sbox.gold .chip+.chip::before{background:rgba(20,16,10,.26)}
.sbox.gold .swap{color:#14100A;border-color:rgba(20,16,10,.38);
  background:radial-gradient(120% 120% at 30% 18%,rgba(255,255,255,.22),transparent 72%)}
.sbox.gold .swap:hover{border-color:#14100A;background:rgba(255,255,255,.2)}
.sbox.gold .trip{border-color:rgba(20,16,10,.38)}
.sbox.gold .trip-b{color:rgba(20,16,10,.72)}
.sbox.gold .trip-b:hover:not(.on){color:#14100A}
.sbox.gold .trip-b.on{background:linear-gradient(150deg,#15120B,#080704);color:#C8A14A}

@media(max-width:860px){
  .sb-head{gap:12px;margin-bottom:16px}
  .f.dates{flex-direction:column;gap:0}
  .sbox.ret .f.dates .d2{margin-top:12px}
  .f.pax{max-width:none}
  .swap{align-self:center;margin:2px 0 10px}
}

/* šířky polí, ať se datum neořezává */
.frow .f{flex:1 1 0}
.f.dates{flex:0 0 auto;min-width:158px}
.sbox.ret .f.dates{min-width:300px}
.f.dates .d1,.f.dates .d2{min-width:142px}
.f.pax{flex:0 0 178px;max-width:178px}
.inp .v{overflow:visible;text-overflow:clip}
@media(max-width:1180px){
  .frow{flex-wrap:wrap}
  .frow .f{flex:1 1 44%}
  .f.dates,.sbox.ret .f.dates{flex:1 1 100%;min-width:0}
  .f.pax{flex:1 1 44%;max-width:none}
  .sbox .btn{flex:1 1 100%;margin-top:4px}
}
@media(max-width:860px){
  .frow .f,.f.pax{flex:1 1 100%}
  .f.dates .d1,.f.dates .d2{min-width:0}
}

/* užší Odkud/Kam a Počet cestujících, aby se vešly oba termíny */
.frow>.f:not(.dates):not(.pax){flex:1 1 0;max-width:238px}
.f.dates{flex:0 0 auto;min-width:160px}
.sbox.ret .f.dates{min-width:312px}
.f.dates .d1,.f.dates .d2{min-width:148px}
.f.pax{flex:0 0 152px;max-width:152px}
.sbox .btn{flex:1 1 auto;min-width:148px}
@media(max-width:1180px){
  .frow>.f:not(.dates):not(.pax){flex:1 1 44%;max-width:none}
  .f.dates,.sbox.ret .f.dates{flex:1 1 100%;min-width:0}
  .f.pax{flex:1 1 44%;max-width:none}
  .sbox .btn{flex:1 1 100%}
}

/* vyvážení řádku — tlačítko pevné, zbytek doberou Odkud/Kam */
.frow>.f:not(.dates):not(.pax){flex:1 1 0;max-width:none;min-width:0}
.sbox .btn{flex:0 0 auto;min-width:172px}
@media(max-width:1180px){
  .frow>.f:not(.dates):not(.pax){flex:1 1 44%}
  .sbox .btn{flex:1 1 100%}
}

/* nadpis hera — stejný rozsah jako tah a tlačítko */
.hero h1{
  background:linear-gradient(104deg,#C8A14A 0%,#B78F34 20%,#A07C28 42%,#8C6A1E 56%,#A9832E 74%,#C8A14A 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 14px rgba(0,0,0,.75))}

.hero h1{max-width:16ch}
.hero p{max-width:38ch}

/* větší ikony u atributů v boxu i v pásu služeb */
.chip{gap:11px;padding:0 22px;font-size:13.5px}
.chip svg{width:23px;height:23px}
.usp .ic{width:56px;height:56px;margin-bottom:14px}
.usp .ic svg{width:27px;height:27px}
.usp b{font-size:14px}
.usp span{font-size:12px}
@media(max-width:860px){ .chip{padding:0 12px;gap:9px} .chip svg{width:20px;height:20px} }

.prem h2{max-width:none}
.prem h2 em{white-space:nowrap}
@media(max-width:560px){ .prem h2 em{white-space:normal} }

/* ===== PODKLAD DO ŠEDÉ, SEKCE VYSTUPUJÍ ===== */
body{background:radial-gradient(120% 68% at 50% -10%,#1B1B21 0%,#131317 44%,#0F0F13 100%) no-repeat fixed,#131317}
.hero::after{background:
  linear-gradient(90deg,rgba(10,10,13,.94) 0%,rgba(10,10,13,.72) 30%,rgba(10,10,13,.15) 62%,rgba(10,10,13,.5) 100%),
  linear-gradient(180deg,rgba(10,10,13,.7) 0%,transparent 34%,transparent 62%,rgba(19,19,23,.92) 100%)}

/* karty a panely o stupeň výš než podklad */
.nc{background:linear-gradient(158deg,#20202A 0%,#1A1A22 52%,#16161C 100%);border-color:rgba(255,255,255,.11)}
.nc:hover{border-color:rgba(200,161,74,.42);box-shadow:0 26px 54px -28px rgba(0,0,0,.9)}
.usp{background:linear-gradient(150deg,#20202A,#17171D);border-color:rgba(255,255,255,.11)}
.usp .u+.u::before{background:rgba(255,255,255,.11)}
.dc{border-color:rgba(255,255,255,.11)}
.sbox.edge{background:
  linear-gradient(154deg,#1D1D25 0%,#17171D 46%,#121216 100%) padding-box,
  linear-gradient(122deg,#8C6A1E 0%,#C8A14A 20%,#A07C2C 38%,#8C6A1E 52%,#A07C2C 66%,#C8A14A 84%,#8C6A1E 100%) border-box}
.sbox.edge .inp{background:rgba(0,0,0,.34)}

/* patička a spodní pásy zase tmavší, ať stránka dole „dosedne" */
.foot{background:linear-gradient(180deg,#0E0E12,#090A0C)}
.ds{background:#0C0C10}
.note{background:#16161B}
.prem{background:radial-gradient(58% 130% at 10% 50%,rgba(200,161,74,.12),transparent 62%),#111115}

/* výraznější odstup podkladu a sekcí */
body{background:radial-gradient(120% 66% at 50% -10%,#202026 0%,#17171C 42%,#121216 100%) no-repeat fixed,#17171C}
.hero::after{background:
  linear-gradient(90deg,rgba(10,10,13,.94) 0%,rgba(10,10,13,.7) 30%,rgba(10,10,13,.14) 62%,rgba(10,10,13,.5) 100%),
  linear-gradient(180deg,rgba(10,10,13,.7) 0%,transparent 34%,transparent 60%,rgba(23,23,28,.94) 100%)}
.nc,.usp{border-color:rgba(255,255,255,.14);box-shadow:0 20px 44px -28px rgba(0,0,0,.95)}
.nc{background:linear-gradient(158deg,#26262F 0%,#1F1F27 52%,#1A1A21 100%)}
.usp{background:linear-gradient(150deg,#26262F,#1C1C23)}
.usp .u+.u::before{background:rgba(255,255,255,.14)}
.dc{border-color:rgba(255,255,255,.14);box-shadow:0 20px 44px -28px rgba(0,0,0,.95)}
.sbox.edge{background:
  linear-gradient(154deg,#23232C 0%,#1C1C23 46%,#16161B 100%) padding-box,
  linear-gradient(122deg,#8C6A1E 0%,#C8A14A 20%,#A07C2C 38%,#8C6A1E 52%,#A07C2C 66%,#C8A14A 84%,#8C6A1E 100%) border-box}
.sbox.edge .inp{background:rgba(0,0,0,.4);border-color:rgba(200,161,74,.32)}
.prem{background:radial-gradient(58% 130% at 10% 50%,rgba(200,161,74,.13),transparent 62%),#131317}
.foot{background:linear-gradient(180deg,#101014,#0A0A0D)}
.ds{background:#0E0E12}
.note{background:#1A1A20}

/* ===== OBRÁCENĚ: světlejší podklad, tmavší boxy ===== */
body{background:radial-gradient(120% 66% at 50% -8%,#282830 0%,#212128 44%,#1B1B21 100%) no-repeat fixed,#212128}
.hero::after{background:
  linear-gradient(90deg,rgba(10,10,13,.94) 0%,rgba(10,10,13,.7) 30%,rgba(10,10,13,.14) 62%,rgba(10,10,13,.5) 100%),
  linear-gradient(180deg,rgba(10,10,13,.7) 0%,transparent 34%,transparent 60%,rgba(33,33,40,.94) 100%)}

.nc{background:linear-gradient(158deg,#16161C 0%,#121217 52%,#0D0D12 100%);
  border-color:rgba(255,255,255,.09);box-shadow:0 22px 48px -26px rgba(0,0,0,.95)}
.nc:hover{border-color:rgba(200,161,74,.45)}
.usp{background:linear-gradient(150deg,#16161C,#0F0F14);
  border-color:rgba(255,255,255,.09);box-shadow:0 22px 48px -26px rgba(0,0,0,.95)}
.usp .u+.u::before{background:rgba(255,255,255,.10)}
.dc{border-color:rgba(255,255,255,.09);box-shadow:0 22px 48px -26px rgba(0,0,0,.95)}

.sbox.edge{background:
  linear-gradient(154deg,#141419 0%,#0E0E13 46%,#0A0A0D 100%) padding-box,
  linear-gradient(122deg,#8C6A1E 0%,#C8A14A 20%,#A07C2C 38%,#8C6A1E 52%,#A07C2C 66%,#C8A14A 84%,#8C6A1E 100%) border-box;
  box-shadow:0 34px 76px -30px rgba(0,0,0,1)}
.sbox.edge .inp{background:rgba(0,0,0,.5);border-color:rgba(200,161,74,.34)}

.prem{background:radial-gradient(58% 130% at 10% 50%,rgba(200,161,74,.13),transparent 62%),#1B1B21}
.foot{background:linear-gradient(180deg,#141419,#0C0C10)}
.ds{background:#101014}
.note{background:#14141A}

/* ===== tmavší boxy, o stupeň tmavší podklad ===== */
body{background:radial-gradient(120% 66% at 50% -8%,#232329 0%,#1C1C22 44%,#17171C 100%) no-repeat fixed,#1C1C22}
.hero::after{background:
  linear-gradient(90deg,rgba(8,8,10,.94) 0%,rgba(8,8,10,.7) 30%,rgba(8,8,10,.14) 62%,rgba(8,8,10,.5) 100%),
  linear-gradient(180deg,rgba(8,8,10,.72) 0%,transparent 34%,transparent 60%,rgba(28,28,34,.94) 100%)}
.usp{background:linear-gradient(150deg,#101015,#0A0A0E)}
.sbox.edge{background:
  linear-gradient(154deg,#0F0F14 0%,#0A0A0E 46%,#050507 100%) padding-box,
  linear-gradient(122deg,#8C6A1E 0%,#C8A14A 20%,#A07C2C 38%,#8C6A1E 52%,#A07C2C 66%,#C8A14A 84%,#8C6A1E 100%) border-box}
.sbox.edge .inp{background:rgba(0,0,0,.55)}
.prem{background:radial-gradient(58% 130% at 10% 50%,rgba(200,161,74,.13),transparent 62%),#17171C}
.foot{background:linear-gradient(180deg,#101015,#08080B)}
.ds{background:#0C0C10}
.note{background:#111116}

/* ===== zlatý tah kolem karet aktualit a destinací — 1,5 px, nepravidelný ===== */
.nc,.dc{border:1.5px solid transparent;background-origin:border-box;background-clip:padding-box,border-box}
.nc{background:linear-gradient(158deg,#101015 0%,#0C0C11 52%,#08080B 100%) padding-box,var(--edge) border-box;
  box-shadow:0 22px 48px -26px rgba(0,0,0,.98)}
.dc{background:#08080B padding-box,var(--edge) border-box;box-shadow:0 22px 48px -26px rgba(0,0,0,.98)}
.nc:hover,.dc:hover{filter:brightness(1.06)}

.gr1{--edge:repeating-linear-gradient(72deg,#8C6A1E 0px,#C8A14A 11px,#9A7726 19px,#8C6A1E 30px,#C8A14A 44px,#7E6120 57px)}
.gr2{--edge:repeating-linear-gradient(118deg,#C8A14A 0px,#8C6A1E 13px,#B08C34 24px,#8C6A1E 33px,#C8A14A 49px,#96762A 62px)}
.gr3{--edge:repeating-linear-gradient(41deg,#9A7726 0px,#C8A14A 8px,#8C6A1E 21px,#A9832E 34px,#8C6A1E 46px,#C8A14A 59px)}
.gr4{--edge:repeating-linear-gradient(150deg,#8C6A1E 0px,#A9832E 10px,#C8A14A 23px,#8C6A1E 31px,#B08C34 47px,#8C6A1E 64px)}
.gr5{--edge:repeating-linear-gradient(96deg,#C8A14A 0px,#96762A 12px,#8C6A1E 22px,#C8A14A 37px,#8C6A1E 51px,#A07C2C 66px)}
.gr6{--edge:repeating-linear-gradient(26deg,#8C6A1E 0px,#C8A14A 14px,#7E6120 25px,#B08C34 39px,#8C6A1E 52px,#C8A14A 61px)}
.gr7{--edge:repeating-linear-gradient(133deg,#A07C2C 0px,#8C6A1E 9px,#C8A14A 24px,#9A7726 35px,#8C6A1E 48px,#C8A14A 63px)}
.gr8{--edge:repeating-linear-gradient(58deg,#8C6A1E 0px,#B08C34 15px,#C8A14A 27px,#8C6A1E 36px,#A9832E 53px,#8C6A1E 68px)}

/* tah kolem karet — 1 px, tlumený, dlouhá nepravidelná perioda */
.nc,.dc{border-width:1px}
.gr1{--edge:repeating-linear-gradient(74deg,rgba(140,106,30,.5) 0px,rgba(110,85,24,.34) 38px,rgba(169,131,46,.6) 61px,rgba(140,106,30,.42) 88px,rgba(200,161,74,.55) 121px,rgba(126,97,32,.32) 152px,rgba(140,106,30,.48) 191px)}
.gr2{--edge:repeating-linear-gradient(119deg,rgba(140,106,30,.46) 0px,rgba(200,161,74,.5) 27px,rgba(126,97,32,.3) 63px,rgba(140,106,30,.5) 104px,rgba(169,131,46,.58) 133px,rgba(110,85,24,.34) 174px,rgba(140,106,30,.46) 223px)}
.gr3{--edge:repeating-linear-gradient(38deg,rgba(126,97,32,.34) 0px,rgba(140,106,30,.5) 44px,rgba(200,161,74,.52) 72px,rgba(140,106,30,.4) 97px,rgba(110,85,24,.3) 146px,rgba(169,131,46,.56) 168px,rgba(140,106,30,.46) 209px)}
.gr4{--edge:repeating-linear-gradient(152deg,rgba(140,106,30,.5) 0px,rgba(110,85,24,.32) 31px,rgba(169,131,46,.55) 79px,rgba(140,106,30,.44) 112px,rgba(200,161,74,.5) 141px,rgba(126,97,32,.34) 183px,rgba(140,106,30,.48) 238px)}
.gr5{--edge:repeating-linear-gradient(97deg,rgba(200,161,74,.48) 0px,rgba(140,106,30,.44) 34px,rgba(110,85,24,.3) 76px,rgba(169,131,46,.56) 103px,rgba(140,106,30,.42) 138px,rgba(126,97,32,.32) 179px,rgba(200,161,74,.46) 216px)}
.gr6{--edge:repeating-linear-gradient(23deg,rgba(140,106,30,.48) 0px,rgba(169,131,46,.54) 41px,rgba(110,85,24,.3) 84px,rgba(200,161,74,.5) 117px,rgba(140,106,30,.42) 149px,rgba(126,97,32,.32) 194px,rgba(140,106,30,.48) 247px)}
.gr7{--edge:repeating-linear-gradient(134deg,rgba(126,97,32,.34) 0px,rgba(140,106,30,.5) 29px,rgba(200,161,74,.52) 68px,rgba(110,85,24,.3) 96px,rgba(169,131,46,.56) 131px,rgba(140,106,30,.42) 176px,rgba(126,97,32,.36) 228px)}
.gr8{--edge:repeating-linear-gradient(56deg,rgba(140,106,30,.46) 0px,rgba(110,85,24,.32) 47px,rgba(200,161,74,.5) 81px,rgba(140,106,30,.44) 118px,rgba(169,131,46,.54) 157px,rgba(126,97,32,.3) 199px,rgba(140,106,30,.46) 259px)}

/* ===== neutrální tmavě šedá bez modrého nádechu, box černý ===== */
body{background:radial-gradient(120% 66% at 50% -8%,#1C1C1C 0%,#161615 44%,#111110 100%) no-repeat fixed,#161615}
.hero::after{background:
  linear-gradient(90deg,rgba(6,6,6,.94) 0%,rgba(6,6,6,.7) 30%,rgba(6,6,6,.14) 62%,rgba(6,6,6,.5) 100%),
  linear-gradient(180deg,rgba(6,6,6,.72) 0%,transparent 34%,transparent 60%,rgba(22,22,21,.95) 100%)}

/* vyhledávací box — černý */
.sbox.edge{background:
  linear-gradient(156deg,#0A0A0A 0%,#050505 52%,#000000 100%) padding-box,
  linear-gradient(122deg,#8C6A1E 0%,#C8A14A 20%,#A07C2C 38%,#8C6A1E 52%,#A07C2C 66%,#C8A14A 84%,#8C6A1E 100%) border-box;
  box-shadow:0 36px 80px -30px rgba(0,0,0,1)}
.sbox.edge .inp{background:rgba(255,255,255,.045);border-color:rgba(200,161,74,.34)}

/* ostatní plochy do neutrální černi */
.nc{background:linear-gradient(158deg,#0E0E0E 0%,#0A0A0A 52%,#060606 100%) padding-box,var(--edge) border-box}
.dc{background:#070707 padding-box,var(--edge) border-box}
.usp{background:linear-gradient(150deg,#0E0E0E,#080808)}
.prem{background:radial-gradient(58% 130% at 10% 50%,rgba(200,161,74,.13),transparent 62%),#121211}
.foot{background:linear-gradient(180deg,#0D0D0D,#060606)}
.ds{background:#0A0A0A}
.note{background:#101010}

/* oprava problikávající spodní řady pixelů v heru:
   fotka je vždy o kousek větší než rám, aby při animaci a subpixelovém
   zaokrouhlení nikdy nevznikla mezera; vrstva se vykresluje na GPU */
.hero{overflow:hidden;isolation:isolate;transform:translateZ(0)}
.slides{overflow:hidden}
.slide img{transform:scale(1.04);will-change:transform;backface-visibility:hidden;
  -webkit-backface-visibility:hidden;image-rendering:auto}
.slide.on img{animation:kb 14s ease-out forwards}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.13)}}

/* hero o kus vyšší a bez najíždění, aby se z fotky vidělo víc */
.hero{height:clamp(520px,60vh,620px)}
.hero .in{padding:132px 0 132px}
.slide img{transform:none;width:calc(100% + 2px);height:calc(100% + 2px);margin:-1px}
.slide.on img{animation:kb 22s ease-out forwards}
@keyframes kb{from{transform:none}to{transform:scale(1.035)}}
@media(max-width:860px){ .hero{height:auto;min-height:0} .hero .in{padding:112px 0 92px} }

/* ===== lehčí překryv nad fotkami, čitelnost řeší stín textu ===== */
.hero::after{background:
  linear-gradient(90deg,rgba(8,8,10,.80) 0%,rgba(8,8,10,.46) 26%,rgba(8,8,10,.05) 54%,rgba(8,8,10,.26) 100%),
  linear-gradient(180deg,rgba(8,8,10,.50) 0%,transparent 26%,transparent 66%,rgba(28,28,28,.80) 100%)}
.hero h1{filter:drop-shadow(0 3px 16px rgba(0,0,0,.9)) drop-shadow(0 1px 3px rgba(0,0,0,.8))}
.hero p{text-shadow:0 2px 10px rgba(0,0,0,.85),0 1px 3px rgba(0,0,0,.7)}
.hero .btn-sec{backdrop-filter:blur(3px);background:linear-gradient(140deg,rgba(200,161,74,.16),rgba(8,8,10,.35) 60%)}

/* karty destinací — přechod jen tam, kde je text */
.dc::after{background:linear-gradient(180deg,rgba(8,8,10,0) 34%,rgba(8,8,10,.42) 62%,rgba(8,8,10,.92) 100%)}
.dc img{opacity:1}
.dc .bd b{text-shadow:0 2px 8px rgba(0,0,0,.9)}
.dc .bd span{text-shadow:0 1px 6px rgba(0,0,0,.9)}

/* náhledy článků bez ztmavení */
.nc .ph img{filter:none}

/* ztmavení soustředit jen pod text vlevo, pravá část fotky zůstane světlá */
.hero::after{background:
  linear-gradient(93deg,rgba(8,8,10,.86) 0%,rgba(8,8,10,.62) 20%,rgba(8,8,10,.32) 38%,rgba(8,8,10,.04) 58%,rgba(8,8,10,.22) 100%),
  linear-gradient(180deg,rgba(8,8,10,.48) 0%,transparent 26%,transparent 68%,rgba(28,28,28,.78) 100%)}

/* překryv hera zpět na původní, zesvětlený jen uprostřed o 15 % —
   krajní body (0 % a 100 %) i svislý přechod zůstávají beze změny */
.hero::after{background:
  linear-gradient(90deg,rgba(8,8,10,.94) 0%,rgba(8,8,10,.60) 30%,rgba(8,8,10,.12) 62%,rgba(8,8,10,.50) 100%),
  linear-gradient(180deg,rgba(8,8,10,.72) 0%,transparent 34%,transparent 60%,rgba(28,28,28,.94) 100%)}

/* karty destinací zpět na původní přechod */
.dc::after{background:linear-gradient(180deg,rgba(11,11,11,.1) 26%,rgba(11,11,11,.55) 62%,rgba(11,11,11,.96) 100%)}

/* střed překryvu o dalších 15 % světlejší (0,60 → 0,51 a 0,12 → 0,102), kraje beze změny */
.hero::after{background:
  linear-gradient(90deg,rgba(8,8,10,.94) 0%,rgba(8,8,10,.51) 30%,rgba(8,8,10,.102) 62%,rgba(8,8,10,.50) 100%),
  linear-gradient(180deg,rgba(8,8,10,.72) 0%,transparent 34%,transparent 60%,rgba(28,28,28,.94) 100%)}


/* ===== site-extra.css ===== */
/* =====================================================================
   Doplňky pro živý web (nad rámec statické předlohy):
   hlavička na podstránkách, upozorňovací pás, přepínače jazyka a měny,
   formulářové prvky ve vyhledávacím boxu, podstránky, tabulky a výpisy.
   ===================================================================== */

/* --- hlavička ------------------------------------------------------- */
.hdr.solid { position: relative; background: linear-gradient(180deg, #121211, #0d0d0c); border-bottom: 1px solid rgba(200, 161, 74, .22); }
.hdr.solid .in { padding-bottom: 18px; }

.nbar { border-bottom: 1px solid rgba(200, 161, 74, .22); background: rgba(10, 10, 9, .82); backdrop-filter: blur(6px); }
.nb { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; padding: 8px 0; font-family: var(--ui); font-size: 12.5px; color: #E5C97A; text-align: center; }
.nb + .nb { border-top: 1px solid rgba(200, 161, 74, .16); }
.nb a { text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.nb a:hover { color: #F5E8B5; }
.nb-warning { color: #F0B357; }
.nb-success { color: #9FD3A0; }

/* přepínače jazyka a měny */
.pick { position: relative; }
.pick > .pick-h { display: inline-flex; align-items: center; gap: 7px; }
.pick > .pick-l { display: none; position: absolute; top: calc(100% + 6px); right: 0; z-index: 60; min-width: 8.5rem; padding: 5px; border: 1px solid rgba(200, 161, 74, .34); border-radius: 6px; background: linear-gradient(160deg, #17171a, #0c0c0e); box-shadow: 0 22px 44px -24px #000; }
.pick.open > .pick-l { display: block; }
.pick > .pick-l a { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 4px; font-size: 12.5px; color: var(--silver); }
.pick > .pick-l a:hover { background: rgba(200, 161, 74, .14); color: #F5E8B5; }

/* mobilní menu */
@media (max-width: 860px) {
    .nav.open { display: flex; position: absolute; top: 100%; right: 28px; left: 28px; flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px 16px; border: 1px solid rgba(200, 161, 74, .3); border-radius: 8px; background: linear-gradient(160deg, #17171a, #0b0b0d); box-shadow: 0 26px 50px -28px #000; z-index: 60; }
    .nav.open a { width: 100%; padding: 9px 0; }
    .nav.open .icb { display: none; }
}

/* --- vyhledávací box ------------------------------------------------ */
.boxwrap { margin-bottom: 0; }
.boxwrap:not(.over) { margin-top: 0; }
.boxwrap:not(.over) .wrap { padding: 0; }
.sbox select, .sbox input[type="date"] { flex: 1; min-width: 0; width: 100%; appearance: none; -webkit-appearance: none; background: transparent; border: 0; padding: 0; margin: 0; font-family: var(--txt); font-size: 15.5px; line-height: 1.3; color: inherit; outline: none; cursor: pointer; }
.sbox select option { color: #14100A; background: #fff; }
.sbox input[type="date"]::-webkit-calendar-picker-indicator { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.sbox .inp { position: relative; }
.sbox .inp .cv { width: 11px; height: 11px; }
.sbox .f.pax { max-width: 200px; }
.sbox .swap { margin-bottom: 4px; }
@media (max-width: 860px) { .sbox .swap { display: none; } }

/* --- podstránky ----------------------------------------------------- */
.phead { position: relative; padding: 44px 0 30px; border-bottom: 1px solid rgba(200, 161, 74, .18); background: radial-gradient(120% 140% at 12% -30%, #1d1d1b, #131312 52%, #0e0e0d); overflow: hidden; }
.phead.has-img { padding: 92px 0 74px; }
.phead.has-img > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .38; }
.phead.has-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 8, 8, .92), rgba(8, 8, 8, .55) 58%, rgba(8, 8, 8, .8)); }
.phead .wrap { position: relative; z-index: 3; }
.phead h1 { font-size: clamp(28px, 3.4vw, 42px); line-height: 1.14; background: linear-gradient(104deg, #C8A14A, #B78F34 20%, #A07C28 42%, #8C6A1E 56%, #A9832E 74%, #C8A14A); -webkit-background-clip: text; background-clip: text; color: transparent; }
.phead p { max-width: 62ch; margin: 12px 0 0; color: var(--silver); font-size: 15.5px; }
.crumbs { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-family: var(--ui); font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: #7d7a72; }
.crumbs a:hover { color: #C8A14A; }
.crumbs b { color: #C8A14A; font-weight: 600; }

.wrap.narrow { max-width: 880px; }
.empty { font-family: var(--ui); font-size: 14px; color: #8b8880; padding: 22px 0; }

/* formátovaný text stránek a článků */
.rte { color: var(--silver); font-size: 15.5px; line-height: 1.85; }
.rte > *:first-child { margin-top: 0; }
.rte h2 { font-size: clamp(22px, 2.4vw, 28px); color: #E5C97A; margin: 34px 0 12px; }
.rte h3 { font-family: var(--ui); font-size: 17px; font-weight: 600; color: #E5C97A; margin: 26px 0 10px; }
.rte p { margin: 0 0 16px; }
.rte a { color: #C8A14A; text-decoration: underline; text-underline-offset: 3px; }
.rte a:hover { color: #F5E8B5; }
.rte ul, .rte ol { margin: 0 0 18px; padding-left: 22px; }
.rte li { margin-bottom: 7px; }
.rte img { border-radius: 8px; margin: 20px 0; }
.rte blockquote { margin: 22px 0; padding: 4px 0 4px 20px; border-left: 2px solid rgba(200, 161, 74, .5); color: #C9C4B4; font-style: italic; }
.rte table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px; }
.rte th, .rte td { padding: 9px 12px; border-bottom: 1px solid rgba(255, 255, 255, .08); text-align: left; }
.dt { font-family: var(--ui); font-size: 12px; color: #8b8880; margin-bottom: 14px; }
.btn.back { margin-top: 30px; }

/* --- tabulky (odjezdy, jízdní řády) --------------------------------- */
.tbl { border: 1px solid rgba(255, 255, 255, .08); border-radius: 8px; overflow-x: auto; background: linear-gradient(158deg, #131316, #0d0d0f); }
.tbl table { width: 100%; border-collapse: collapse; font-family: var(--ui); font-size: 13.5px; }
.tbl th { padding: 12px 16px; text-align: left; font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #C8A14A; border-bottom: 1px solid rgba(200, 161, 74, .24); white-space: nowrap; }
.tbl td { padding: 12px 16px; border-bottom: 1px solid rgba(255, 255, 255, .06); color: var(--silver); vertical-align: top; }
.tbl tr:last-child td { border-bottom: 0; }
.tbl td b { display: block; color: #fff; font-weight: 600; }
.tbl td .sub { display: block; font-size: 12px; color: #8b8880; }
.tbl td.sub { font-size: 12px; color: #8b8880; }

/* --- výsledky vyhledávání ------------------------------------------- */
.res + .res { margin-top: 34px; }
.res .shead { align-items: center; margin-bottom: 18px; }
.res .shead h2 { font-size: clamp(20px, 2.2vw, 26px); }
.trips { display: grid; gap: 12px; }
.trip-card { display: grid; grid-template-columns: 1.1fr 2fr 1fr 1fr; align-items: center; gap: 18px; padding: 16px 20px; border: 1px solid transparent; border-radius: 8px; background: linear-gradient(158deg, #17171c, #0e0e11) padding-box, linear-gradient(122deg, rgba(140, 106, 30, .5), rgba(200, 161, 74, .28) 46%, rgba(140, 106, 30, .5)) border-box; }
.tc-time { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-family: var(--ui); }
.tc-time b { font-size: 19px; font-weight: 600; color: #fff; }
.tc-time .line { flex: 1; min-width: 24px; height: 1px; background: linear-gradient(90deg, rgba(200, 161, 74, .15), #C8A14A, rgba(200, 161, 74, .15)); }
.tc-time em { flex: 1 0 100%; font-style: normal; font-size: 11.5px; color: #8b8880; }
.tc-route b { display: block; font-family: var(--ui); font-size: 14.5px; font-weight: 600; color: #E5C97A; }
.tc-route span { display: block; font-family: var(--ui); font-size: 12.5px; color: #8b8880; }
.tc-route .cls { color: #C8A14A; }
.tc-free { font-family: var(--ui); font-size: 12.5px; }
.tc-free .ok { color: #9FD3A0; }
.tc-free .few { color: #F0B357; }
.tc-free .no { color: #C97A7A; }
.tc-price { text-align: right; font-family: var(--ui); }
.tc-price span { display: block; font-size: 11.5px; color: #8b8880; }
.tc-price b { font-size: 19px; font-weight: 600; color: #E5C97A; }
@media (max-width: 860px) {
    .trip-card { grid-template-columns: 1fr 1fr; }
    .tc-price { text-align: left; }
}

/* --- jízdní řády ---------------------------------------------------- */
.sched + .sched { margin-top: 42px; }
.days { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 14px; font-family: var(--ui); font-size: 12.5px; }
.days .dl { color: #8b8880; margin-right: 4px; }
.day { padding: 5px 11px; border: 1px solid rgba(200, 161, 74, .34); border-radius: 999px; color: #C8A14A; transition: .25s; }
.day:hover { background: rgba(200, 161, 74, .14); border-color: #C8A14A; color: #F5E8B5; }

/* --- oznámení „připravujeme" ---------------------------------------- */
.soon { margin-top: 30px; padding: 26px 28px; border: 1px solid rgba(200, 161, 74, .3); border-radius: 10px; background: radial-gradient(120% 160% at 10% -30%, rgba(200, 161, 74, .12), transparent 62%), linear-gradient(158deg, #17171c, #0e0e11); }
.soon b { display: block; font-family: var(--ui); font-size: 15px; font-weight: 600; color: #E5C97A; margin-bottom: 6px; }
.soon p { margin: 0 0 16px; font-size: 14.5px; color: var(--silver); }

/* --- stránkování ---------------------------------------------------- */
.pager { display: flex; justify-content: center; margin-top: 32px; }
.pg { display: inline-flex; gap: 6px; }
.pg-i { min-width: 34px; height: 34px; display: grid; place-items: center; padding: 0 9px; border: 1px solid rgba(200, 161, 74, .28); border-radius: 5px; font-family: var(--ui); font-size: 13px; color: var(--silver); }
.pg-i:hover { border-color: #C8A14A; color: #F5E8B5; }
.pg-i.on { background: linear-gradient(115deg, #8C6A1E, #C8A14A 50%, #8C6A1E); border-color: #C8A14A; color: #100D06; font-weight: 600; }
.pg-i.off { opacity: .35; }

/* patička — odkazy v kontaktním sloupci */
.foot .kn a { display: inline; }

/* --- zastávky -------------------------------------------------------- */
.jump { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; font-family: var(--ui); font-size: 12.5px; }
.jump .dl { color: #8b8880; margin-right: 4px; }
.jump a { padding: 5px 12px; border: 1px solid rgba(200, 161, 74, .34); border-radius: 999px; color: #C8A14A; transition: .25s; }
.jump a:hover { background: rgba(200, 161, 74, .14); border-color: #C8A14A; color: #F5E8B5; }

.stopgrp + .stopgrp { margin-top: 40px; }
.stops { display: grid; gap: 16px; }
.stop { display: grid; grid-template-columns: 340px 1fr; gap: 0; overflow: hidden; border: 1px solid transparent; border-radius: 10px; background: linear-gradient(158deg, #17171c, #0e0e11) padding-box, linear-gradient(122deg, rgba(140, 106, 30, .5), rgba(200, 161, 74, .28) 46%, rgba(140, 106, 30, .5)) border-box; }
.stop-map { position: relative; min-height: 220px; background: #0b0b0b; }
.stop-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: none; }
/* Mapy Google si odkaz „Zobrazit větší mapu" kreslí samy, vlastní nepotřebujeme.
   Mapa se nefiltruje — červený praporek musí zůstat vidět. */
.stop-map-full { display: none; }

.stop-in { padding: 20px 22px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.stop-in b { font-family: var(--ui); font-size: 16.5px; font-weight: 600; color: #E5C97A; line-height: 1.3; }
.stop-in .adr, .stop-in .min { display: flex; align-items: flex-start; gap: 9px; font-family: var(--ui); font-size: 13.5px; color: var(--silver); }
.stop-in .adr svg, .stop-in .min svg { width: 16px; height: 16px; flex: none; margin-top: 2px; color: #C8A14A; }
.stop-in .min { color: #8b8880; font-size: 12.5px; }
.stop-in .note { font-family: var(--ui); font-size: 13px; line-height: 1.6; color: #C9C4B4; padding-left: 25px; }

.gps { display: inline-flex; align-items: center; gap: 9px; margin-top: 2px; padding: 6px 12px; border: 1px dashed rgba(200, 161, 74, .42); border-radius: 6px; background: transparent; font-family: var(--ui); font-size: 12.5px; color: var(--silver); cursor: pointer; transition: .25s; }
.gps .lb { font-size: 10.5px; font-weight: 700; letter-spacing: .14em; color: #C8A14A; }
.gps:hover { border-color: #C8A14A; color: #F5E8B5; }
.gps.done { border-style: solid; border-color: #9FD3A0; color: #9FD3A0; }
.gps.done .lb { color: #9FD3A0; }
.gps.done::after { content: '✓'; }

.stop-btn { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 8px; }
.stop-btn .btn { padding: 10px 18px; font-size: 12.5px; }
.stop-btn .btn svg { width: 14px; height: 14px; }

@media (max-width: 860px) {
    .stop { grid-template-columns: 1fr; }
    .stop-map { min-height: 200px; }
    .stop-btn .btn { flex: 1 1 auto; justify-content: center; }
}

/* --- fotogalerie ----------------------------------------------------- */
.gal { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 34px; }
.gal-i { position: relative; display: block; overflow: hidden; border: 1px solid rgba(255, 255, 255, .08); border-radius: 8px; aspect-ratio: 4 / 3; transition: .3s; }
.gal-i:hover { border-color: rgba(200, 161, 74, .4); }
.gal-i img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2, .6, .2, 1); }
.gal-i:hover img { transform: scale(1.06); }
.gal-i span { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 12px 9px; font-family: var(--ui); font-size: 12px; color: #fff; background: linear-gradient(180deg, transparent, rgba(8, 8, 8, .85)); }
@media (max-width: 1080px) { .gal { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 860px) { .gal { grid-template-columns: repeat(2, 1fr); } }

/* --- hlavní menu s více položkami ------------------------------------ */
/* Osm položek se do řádku vejde jen s užšími mezerami a bez zalomení. */
.nav { gap: 22px; flex-wrap: wrap; justify-content: flex-end; }
.nav a { white-space: nowrap; letter-spacing: .07em; }
@media (max-width: 1180px) { .nav { gap: 16px; } .nav a { font-size: 12.5px; } }

/* --- stránka Služby --------------------------------------------------- */
.tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tile { padding: 22px 22px 24px; border: 1px solid transparent; border-radius: 10px; background: linear-gradient(158deg, #17171c, #0e0e11) padding-box, linear-gradient(122deg, rgba(140, 106, 30, .5), rgba(200, 161, 74, .28) 46%, rgba(140, 106, 30, .5)) border-box; }
.tile .ic { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 14px; border: 1px solid rgba(200, 161, 74, .38); border-radius: 50%; color: #C8A14A; background: radial-gradient(120% 120% at 30% 18%, rgba(229, 201, 122, .18), rgba(200, 161, 74, .03) 62%, transparent 78%); }
.tile .ic svg { width: 21px; height: 21px; }
.tile b { display: block; font-family: var(--ui); font-size: 15px; font-weight: 600; color: #E5C97A; margin-bottom: 7px; }
.tile p { margin: 0; font-size: 14px; line-height: 1.7; color: var(--silver); }
@media (max-width: 1080px) { .tiles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .tiles { grid-template-columns: 1fr; } }

.bcl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.bcl-c { display: grid; grid-template-columns: 150px 1fr; gap: 20px; align-items: center; padding: 20px 22px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 10px; background: linear-gradient(158deg, #17171c, #0e0e11); }
.bcl-plan { display: grid; place-items: center; padding: 10px; border-radius: 8px; background: #f3f2ef; }
.bcl-plan svg { display: block; }
.bcl-plan img { max-height: 250px; width: auto; }
.bcl-in b { display: block; font-family: var(--head); font-size: 21px; color: #E5C97A; }
.bcl-in .cnt { display: inline-block; margin: 6px 0 10px; padding: 3px 10px; border: 1px solid rgba(200, 161, 74, .34); border-radius: 999px; font-family: var(--ui); font-size: 12px; color: #C8A14A; }
.bcl-in p { margin: 0; font-size: 14px; line-height: 1.7; color: var(--silver); }
@media (max-width: 900px) { .bcl { grid-template-columns: 1fr; } }

.srv { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.srv-i { display: flex; gap: 14px; padding: 16px 18px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 8px; background: linear-gradient(158deg, #141418, #0d0d0f); }
.srv-i .ic { width: 34px; height: 34px; flex: none; display: grid; place-items: center; border: 1px solid rgba(200, 161, 74, .34); border-radius: 50%; color: #C8A14A; }
.srv-i b { display: block; font-family: var(--ui); font-size: 14.5px; font-weight: 600; color: #E5C97A; margin-bottom: 4px; }
.srv-i p { margin: 0; font-size: 13px; line-height: 1.65; color: #8b8880; }
@media (max-width: 860px) { .srv { grid-template-columns: 1fr; } }

/* Fotogalerie — alba a prohlížeč fotek */
.gal-p { max-width: 760px; margin: -14px 0 20px; font-size: 14.5px; line-height: 1.75; color: var(--silver); }
.gal-i { cursor: zoom-in; }
.lb { position: fixed; inset: 0; z-index: 900; display: grid; place-items: center; padding: 26px; background: rgba(6, 6, 7, .94); backdrop-filter: blur(3px); }
.lb[hidden] { display: none; }
.lb-f { display: grid; gap: 14px; justify-items: center; margin: 0; max-width: 100%; }
.lb-f img { max-width: min(1180px, 92vw); max-height: 78vh; width: auto; height: auto; border-radius: 6px; box-shadow: 0 24px 70px rgba(0, 0, 0, .6); }
.lb-f figcaption { max-width: 720px; text-align: center; }
.lb-f figcaption b { display: block; font-family: var(--ui); font-size: 11.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #C8A14A; }
.lb-f figcaption span { display: block; margin-top: 6px; font-size: 14px; line-height: 1.7; color: #cfcbc2; }
.lb button { position: absolute; display: grid; place-items: center; border: 1px solid rgba(200, 161, 74, .34); border-radius: 50%; background: rgba(20, 20, 22, .72); color: #E5C97A; cursor: pointer; transition: .2s; }
.lb button:hover { border-color: #C8A14A; background: rgba(200, 161, 74, .16); }
.lb-x { top: 20px; right: 22px; width: 42px; height: 42px; font-size: 26px; line-height: 1; }
.lb-p, .lb-n { top: 50%; width: 48px; height: 48px; margin-top: -24px; font-size: 30px; line-height: 1; }
.lb-p { left: 22px; }
.lb-n { right: 22px; }
@media (max-width: 700px) {
    .lb { padding: 14px; }
    .lb-f img { max-height: 66vh; }
    .lb-p, .lb-n { width: 40px; height: 40px; margin-top: -20px; }
    .lb-p { left: 8px; }
    .lb-n { right: 8px; }
}

/* --- nákupní proces: výběr cestujících ve vyhledávacím boxu ---------- */
.paxdrop { position: relative; }
.paxdrop-h { width: 100%; text-align: left; }
.paxdrop-label { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px; }
.paxdrop-l { display: none; position: absolute; top: calc(100% + 8px); left: 0; z-index: 70; width: 21rem; max-width: 78vw; padding: 2px 14px; border: 1px solid rgba(200, 161, 74, .4); border-radius: 8px; background: linear-gradient(160deg, #1a1a1e, #0c0c0e); box-shadow: 0 26px 52px -22px #000; }
.paxdrop.open > .paxdrop-l { display: block; }
.paxrow { display: grid; grid-template-columns: 1fr 6.6rem; align-items: center; gap: 12px; padding: 7px 0; }
.paxrow + .paxrow { border-top: 1px solid var(--brd-soft); }
.paxrow-t b { display: block; font-family: var(--ui); font-size: 12.5px; font-weight: 600; color: var(--white); line-height: 1.35; }
.paxrow-t span { font-family: var(--ui); font-size: 11px; color: #8b8880; line-height: 1.3; white-space: nowrap; }
.paxrow-c { display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.paxrow-c input { width: 2.1rem; text-align: center; background: rgba(0, 0, 0, .35); border: 1px solid var(--brd-soft); border-radius: 5px; padding: 4px 0; color: var(--white); font-family: var(--ui); font-size: 13.5px; pointer-events: none; }
.pax-b { width: 26px; height: 26px; border: 1px solid var(--brd); border-radius: 50%; background: transparent; color: var(--gold-lt); cursor: pointer; display: grid; place-items: center; font-size: 15px; line-height: 1; transition: .2s; }
.pax-b:hover { background: rgba(200, 161, 74, .16); border-color: var(--gold); }
.sbox.gold .paxdrop-l { background: #fdf7e4; border-color: rgba(0, 0, 0, .22); }
.sbox.gold .paxrow-t b { color: #171307; }
.sbox.gold .paxrow-t span { color: #6b571c; }
.sbox.gold .paxrow + .paxrow { border-top-color: rgba(0, 0, 0, .12); }
.sbox.gold .paxrow-c input { background: rgba(255, 255, 255, .9); border-color: rgba(0, 0, 0, .2); color: #171307; }
.sbox.gold .pax-b { border-color: rgba(0, 0, 0, .3); color: #6b571c; }
.sbox.gold .pax-b:hover { background: rgba(0, 0, 0, .08); border-color: #171307; }

/* --- nákupní proces: karty spojů ve výpisu --------------------------- */
.conn { display: grid; grid-template-columns: 1.7fr .95fr .8fr 1.05fr; gap: 0; padding: 18px 0; border: 1px solid transparent; border-radius: 10px; margin-bottom: 14px; background: linear-gradient(158deg, #1b1b20, #121216) padding-box, linear-gradient(122deg, rgba(140, 106, 30, .45), rgba(200, 161, 74, .24) 46%, rgba(140, 106, 30, .45)) border-box; }
.conn.night { background: linear-gradient(158deg, #101019, #08080d) padding-box, linear-gradient(122deg, rgba(200, 161, 74, .75), rgba(140, 106, 30, .35) 46%, rgba(200, 161, 74, .75)) border-box; box-shadow: 0 22px 48px -30px #000; }
.conn > * { padding: 0 22px; min-width: 0; }
.conn > * + * { border-left: 1px solid var(--brd-soft); }

/* dominantní je termín a čas odjezdu, noční/denní jen malý odznak */
.cn-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.cn-head > b { font-family: var(--ui); font-size: 18px; font-weight: 700; color: var(--white); }
.cn-head > .cn-time { color: var(--gold-lt); }
.cn-badge { display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; border: 1px solid var(--brd-soft); border-radius: 999px; font-family: var(--ui); font-size: 10px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--silver); width: fit-content; }
.cn-badge svg { width: 11px; height: 11px; color: var(--gold); }
.cn-when { display: flex; flex-direction: column; min-width: 0; }

/* trasa: čára spojující tmavou a světlou tečku (dle původního webu) */
.cn-route { display: flex; flex-direction: column; }
.cn-stop { display: flex; align-items: flex-start; gap: 12px; }
.cn-stop + .cn-stop { margin-top: 14px; }
.cn-stop > b { font-family: var(--ui); font-size: 15.5px; font-weight: 700; color: var(--gold-lt); min-width: 3rem; line-height: 1.35; }
.cn-dotcol { position: relative; width: 13px; flex: none; align-self: stretch; }
.cn-dot { position: absolute; left: 50%; top: 5px; transform: translateX(-50%); width: 11px; height: 11px; border-radius: 50%; box-sizing: border-box; z-index: 2; }
.cn-dot.dark { background: #8C6A1E; border: 2px solid #C8A14A; }
.cn-dot.light { background: #F5E8B5; border: 2px solid #C8A14A; }
.cn-stop.from .cn-dotcol::after { content: ''; position: absolute; left: 50%; transform: translateX(-50%); top: 15px; bottom: -16px; width: 2px; background: linear-gradient(180deg, #8C6A1E, rgba(200, 161, 74, .55)); }
.cn-place { min-width: 0; }
.cn-place > b { display: block; font-family: var(--ui); font-size: 13.5px; font-weight: 600; color: var(--white); line-height: 1.35; }
.cn-place > em { display: block; font-style: normal; font-family: var(--ui); font-size: 11.5px; color: #8b8880; margin-top: 1px; }
.cn-meta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 12px; font-family: var(--ui); font-size: 11.5px; color: #8b8880; }
.cn-nextday { color: #F0B357; }

/* sloupec služeb */
.cn-mid { display: flex; flex-direction: column; gap: 10px; justify-content: center; min-width: 0; }
.cn-class { font-family: var(--ui); font-size: 12.5px; font-weight: 600; color: var(--gold); letter-spacing: .04em; }
.cn-serv { display: flex; flex-wrap: wrap; gap: 7px; }
.cn-si { position: relative; width: 44px; height: 44px; border: 1px solid var(--brd-soft); border-radius: 9px; display: grid; place-items: center; color: var(--gold-lt); }
.cn-si svg { width: 24px; height: 24px; }
.cn-si i { display: none; position: absolute; bottom: calc(100% + 7px); left: 50%; transform: translateX(-50%); z-index: 30; padding: 6px 11px; border-radius: 5px; background: #F5E8B5; color: #171307; font-family: var(--ui); font-style: normal; font-size: 11.5px; white-space: nowrap; box-shadow: 0 12px 26px -14px #000; }
.cn-si:hover i, .cn-si:focus i { display: block; }

/* sloupec ceny */
.cn-buy { display: flex; flex-direction: column; justify-content: center; align-items: flex-end; text-align: right; }
.cn-price span { display: block; font-family: var(--ui); font-size: 11.5px; color: #8b8880; }
.cn-price b { font-family: var(--ui); font-size: 21px; font-weight: 700; color: var(--gold-lt); }

/* sloupec akce: volná místa, plánek, Vybrat spoj */
.cn-act { display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 8px; text-align: right; }
.cn-free { display: inline-flex; align-items: center; font-family: var(--ui); font-size: 13px; font-weight: 700; padding: 5px 13px; border: 1px solid currentColor; border-radius: 999px; letter-spacing: .02em; }
.cn-free.ok { color: #9FD3A0; }
.cn-free.few { color: #F0B357; }
.cn-free.no { color: #C97A7A; }
.cn-act .btn { min-width: 11rem; margin-top: 4px; }
.btn-off { background: rgba(255, 255, 255, .05); border-color: var(--brd-soft); color: #7d7a72; cursor: not-allowed; }

/* hlídání volných míst u vyprodaného spoje */
.watchbox { display: flex; flex-direction: column; gap: 7px; align-items: flex-end; text-align: right; max-width: 15rem; }
.watchbox .watch-t { font-family: var(--ui); font-size: 12px; color: var(--silver); }
.watchbox .watch-err { font-family: var(--ui); font-size: 11.5px; color: #C97A7A; }
.watchbox .watch-done { font-family: var(--ui); font-size: 12.5px; color: #9FD3A0; }
.watchbox form { display: flex; flex-direction: column; gap: 7px; width: 100%; }
.watchbox input[type="email"] { width: 100%; background: rgba(0, 0, 0, .35); border: 1px solid var(--brd-soft); border-radius: 6px; padding: 8px 11px; color: var(--white); font-family: var(--txt); font-size: 13px; outline: none; }
.watchbox input[type="email"]:focus { border-color: var(--gold); }
.watchbox .btn { padding: 9px 16px; font-size: 12px; }

/* zastaralé výsledky po změně vyhledávání */
#vypis-spojeni.stale .conn, #vypis-spojeni.stale .legpick { opacity: .35; pointer-events: none; filter: saturate(.5); }
.stale-note { max-width: var(--max); margin: 0 auto 18px; }

/* náhled plánu autobusu */
.planbox summary { list-style: none; cursor: pointer; font-family: var(--ui); font-size: 12.5px; color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }
.planbox summary::-webkit-details-marker { display: none; }
.planbox summary:hover { color: var(--gold-hi); }
.planbox[open] .planpop { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; background: rgba(5, 5, 6, .72); backdrop-filter: blur(3px); padding: 20px; }
.planpop-in { position: relative; max-height: 92vh; overflow: auto; border: 2px solid transparent; border-radius: 10px; padding: 18px 22px; text-align: center; color: var(--silver); background: linear-gradient(158deg, #15151a, #0b0b0e) padding-box, linear-gradient(122deg, rgba(200, 161, 74, .8), rgba(140, 106, 30, .4) 46%, rgba(200, 161, 74, .8)) border-box; box-shadow: 0 40px 90px -30px #000; }
.planpop-in > b { display: block; font-family: var(--ui); font-size: 13.5px; color: var(--gold-lt); margin-bottom: 10px; }
.planpop-x { position: absolute; top: 8px; right: 10px; border: 0; background: transparent; font-size: 22px; line-height: 1; cursor: pointer; color: var(--gold-lt); }
.plan-legend { display: flex; justify-content: center; gap: 14px; margin-top: 10px; font-family: var(--ui); font-size: 11.5px; color: var(--silver); flex-wrap: wrap; }
.plan-legend i { display: inline-block; width: 11px; height: 11px; border-radius: 3px; vertical-align: -1px; margin-right: 5px; }
.plan-legend .plan-free { background: #fff; border: 1px solid #b9b9b9; }

/* zvolená cesta tam (zpáteční jízdenka) */
.legpick { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 22px; padding: 14px 20px; border: 1px solid var(--brd); border-radius: 10px; background: linear-gradient(140deg, rgba(200, 161, 74, .14), rgba(200, 161, 74, .04)); }
.legpick span { display: block; font-family: var(--ui); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #9FD3A0; }
.legpick b { display: block; font-family: var(--ui); font-size: 15px; color: var(--white); }
.legpick em { display: block; font-style: normal; font-family: var(--ui); font-size: 12.5px; color: var(--silver); }

.cabotage { text-align: center; font-family: var(--ui); font-size: 12px; color: #7d7a72; margin: 26px 0; }
.cartnote { margin-bottom: 18px; padding: 12px 18px; border: 1px solid var(--brd); border-radius: 8px; background: rgba(200, 161, 74, .1); font-family: var(--ui); font-size: 13px; color: var(--gold-lt); }
.cartnote.warn { border-color: rgba(240, 179, 87, .5); background: rgba(240, 179, 87, .1); color: #F0B357; }
.cartnote.cartnote-bad { border-color: rgba(201, 122, 122, .5); background: rgba(201, 122, 122, .1); color: #C97A7A; }

/* Moje rezervace - pruh objednavky, ktera ceka na uhradu kartou */
.payorder { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap;
    border: 1px solid rgba(240, 179, 87, .45); border-radius: 10px; background: rgba(240, 179, 87, .08);
    padding: 14px 18px; margin-bottom: 14px; }
.payorder-t { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.payorder-t b { font-family: var(--ui); font-size: 14px; font-weight: 600; color: #F0B357; }
.payorder-t span { font-family: var(--ui); font-size: 12.5px; color: var(--silver); }
.payorder-t .payorder-d { color: #C9A227; }
.payorder .btn { padding: 11px 22px; font-size: 13px; white-space: nowrap; }
@media (max-width: 560px) { .payorder { flex-direction: column; align-items: stretch; }
    .payorder form, .payorder .btn { width: 100%; } }

/* --- nákupní proces: košík ------------------------------------------- */
.cartbar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 80; border-top: 1px solid var(--brd); background: linear-gradient(180deg, #16161a, #0a0a0c); box-shadow: 0 -20px 44px -26px #000; }
.cartbar-in { max-width: var(--max); margin: 0 auto; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; padding: 11px 28px; }
.cartbar-note { margin-right: auto; }
.cartbar-total { display: inline-flex; align-items: baseline; gap: 9px; font-family: var(--ui); }
.cartbar-total > span { font-size: 11.5px; color: #8b8880; text-transform: uppercase; letter-spacing: .05em; }
.cartbar-total > b { font-size: 21px; font-weight: 700; color: var(--gold-lt); }
.cartbar .btn { padding: 10px 22px; }
.cartpage { padding-bottom: 88px; }
.cartbar-t { display: inline-flex; align-items: center; gap: 9px; font-family: var(--ui); font-size: 13.5px; color: var(--white); }
.cartbar-t svg { width: 16px; height: 16px; color: var(--gold); }
.cartbar-t b { color: var(--gold-lt); font-variant-numeric: tabular-nums; }
.cartbar-note { font-family: var(--ui); font-size: 11.5px; color: #8b8880; }
.cartbar.urgent { border-color: rgba(240, 179, 87, .6); }
.cartbar.urgent .cartbar-t b { color: #F0B357; }
.cartgrid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 22px; align-items: start; }
.cartsec { border: 1px solid var(--brd-soft); border-radius: 10px; background: var(--panel); padding: 20px 22px; margin-bottom: 22px; }
.cartsec > h2 { font-family: var(--ui); font-size: 16px; font-weight: 600; color: var(--gold-lt); margin-bottom: 8px; }
.cartsec-hint { font-family: var(--ui); font-size: 12.5px; color: #8b8880; margin: 0 0 14px; }
.cartsec-hint b { color: var(--gold-lt); }
.cartitem { border: 1px solid var(--brd-soft); border-radius: 8px; margin-bottom: 16px; overflow: hidden; }
.cartitem.night { border-color: var(--brd); }
.cartitem-h { display: flex; flex-direction: column; gap: 4px; padding: 12px 16px; background: rgba(200, 161, 74, .07); border-bottom: 1px solid var(--brd-soft); }
.cartitem-h > b { font-family: var(--ui); font-size: 15px; color: var(--white); }
.cartitem-h > em { font-style: normal; font-family: var(--ui); font-size: 12.5px; color: var(--silver); }
.cartitem-b { display: flex; gap: 18px; padding: 14px 16px; align-items: flex-start; }
.cartplan { flex: none; border: 2px solid transparent; border-radius: 8px; padding: 10px; background: linear-gradient(158deg, #17171c, #0d0d10) padding-box, linear-gradient(122deg, rgba(140, 106, 30, .7), rgba(200, 161, 74, .32) 46%, rgba(140, 106, 30, .7)) border-box; }
.cartplan .wplan { width: 170px; max-width: 100%; display: block; }
.cartplan .plan-legend { margin-top: 8px; }
.cartseats { flex: 1; min-width: 0; }
.seatrow { display: flex; align-items: center; gap: 9px; padding: 7px 0; border-bottom: 1px dashed var(--brd-soft); font-family: var(--ui); font-size: 13px; flex-wrap: wrap; }
.seatrow > b { color: var(--white); font-size: 12.5px; min-width: 5.6rem; }
.seatrow select { max-width: 12rem; background: rgba(0, 0, 0, .35); border: 1px solid var(--brd-soft); border-radius: 5px; padding: 4px 8px; color: var(--white); font-size: 12.5px; }
.seatrow select option { color: #14100A; background: #fff; }
.seatrow-tarif { font-size: 11.5px; color: #8b8880; }
.seatrow-price { margin-left: auto; font-weight: 600; color: var(--gold-lt); }
.seatrow-x { width: 24px; height: 24px; border: 1px solid var(--brd-soft); border-radius: 50%; background: transparent; color: #C97A7A; cursor: pointer; font-size: 15px; line-height: 1; display: grid; place-items: center; transition: .2s; }
.seatrow-x:hover { border-color: #C97A7A; background: rgba(201, 122, 122, .12); }
.paxcard { border: 1px solid var(--brd-soft); border-radius: 8px; padding: 14px 16px; margin-bottom: 14px; }
.paxcard > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.paxcard > header b { font-family: var(--ui); font-size: 13.5px; color: var(--gold-lt); }
.paxfields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; margin-bottom: 12px; }
.paxfields label > span { display: block; font-family: var(--ui); font-size: 11px; letter-spacing: .04em; color: #8b8880; margin-bottom: 4px; text-transform: uppercase; }
.paxfields input, .paxfields select, .cartnote-l textarea { width: 100%; background: rgba(0, 0, 0, .35); border: 1px solid var(--brd-soft); border-radius: 6px; padding: 8px 10px; color: var(--white); font-family: var(--txt); font-size: 13.5px; outline: none; transition: .2s; }
.paxfields input:focus, .paxfields select:focus, .cartnote-l textarea:focus { border-color: var(--gold); }
.paxfields select option { color: #14100A; background: #fff; }
.paxfields input[type="date"] { color-scheme: dark; }
.paxphone-in { display: flex; gap: 7px; }
.paxphone-in select { flex: 0 0 7.2rem; min-width: 0; }
.paxserv { border-top: 1px dashed var(--brd-soft); padding-top: 10px; }
.paxserv > b { display: block; font-family: var(--ui); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #8b8880; margin-bottom: 7px; }
.servrow { display: flex; align-items: center; gap: 9px; padding: 4px 0; font-family: var(--ui); font-size: 12.5px; color: var(--silver); cursor: pointer; }
.servrow input[type="checkbox"] { accent-color: #C8A14A; width: 15px; height: 15px; flex: none; }
.servrow-n { flex: 1; min-width: 0; }
.servrow-p { color: var(--gold-lt); white-space: nowrap; }
.servrow-c { background: rgba(0, 0, 0, .35); border: 1px solid var(--brd-soft); border-radius: 5px; color: var(--white); font-size: 12px; padding: 2px 5px; }
.servrow-c option { color: #14100A; background: #fff; }
.cartnote-l { display: block; margin-top: 12px; }
.cartnote-l > span { display: block; font-family: var(--ui); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: #8b8880; margin-bottom: 4px; }
.sumbox { border: 1px solid var(--brd-soft); border-radius: 8px; padding: 12px 16px; margin-bottom: 14px; }
.sumrow { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 6px 0; font-family: var(--ui); font-size: 13px; color: var(--silver); }
.sumrow + .sumrow { border-top: 1px dashed var(--brd-soft); }
.sumrow b { color: var(--gold-lt); white-space: nowrap; }
.sumrow.small { font-size: 11.5px; color: #8b8880; }
.sumrow.total { border-top: 1px solid var(--brd); font-size: 15px; color: var(--white); }
.sumrow.total b { font-size: 19px; }
.cartactions { display: flex; gap: 12px; flex-wrap: wrap; }
.cartactions .btn { flex: 1; min-width: 12rem; }
.cartactions .cancel { color: #C97A7A; border: 1px solid rgba(201, 122, 122, .4); background: transparent; cursor: pointer; }
.cartactions .cancel:hover { background: rgba(201, 122, 122, .1); }

/* poděkování */
.donelist { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 26px; }
.donecard { border: 1px solid var(--brd); border-radius: 10px; background: var(--panel); padding: 16px 20px; display: flex; flex-direction: column; gap: 4px; font-family: var(--ui); font-size: 13px; color: var(--silver); }
.donecard > b { font-size: 15px; color: var(--gold-lt); }
.donecard .doneprice { margin-top: 6px; font-size: 16px; color: var(--white); }

@media (max-width: 1080px) {
    .conn { grid-template-columns: 1.4fr 1fr; row-gap: 14px; }
    .conn > * + * { border-left: 0; }
    .conn > .cn-mid { border-left: 1px solid var(--brd-soft); }
    .conn > .cn-buy, .conn > .cn-act { border-top: 1px solid var(--brd-soft); padding-top: 14px; }
    .cn-buy, .cn-act { align-items: flex-start; text-align: left; }
    .watchbox { align-items: flex-start; text-align: left; }
    .cartgrid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
    .conn { grid-template-columns: 1fr; row-gap: 14px; }
    .conn > .cn-mid { border-left: 0; }
    .conn > * + * { border-top: 1px solid var(--brd-soft); padding-top: 14px; }
    .cn-buy, .cn-act { align-items: stretch; }
    .cn-act .btn { width: 100%; }
    .watchbox { max-width: none; }
    .cartitem-b { flex-direction: column; }
    .cartplan { align-self: center; }
    .paxfields { grid-template-columns: 1fr; }
    .donelist { grid-template-columns: 1fr; }
    .cartactions .btn { min-width: 100%; }
}

/* Kontakt — karty, rychlé zprávy a sídlo */
.kont { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.kont-c { padding: 24px 24px 26px; border: 1px solid transparent; border-radius: 10px; background: linear-gradient(158deg, #17171c, #0e0e11) padding-box, linear-gradient(122deg, rgba(140, 106, 30, .5), rgba(200, 161, 74, .28) 46%, rgba(140, 106, 30, .5)) border-box; }
.kont-c .ic { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 14px; border: 1px solid rgba(200, 161, 74, .38); border-radius: 50%; color: #C8A14A; background: radial-gradient(120% 120% at 30% 18%, rgba(229, 201, 122, .18), rgba(200, 161, 74, .03) 62%, transparent 78%); }
.kont-c .ic svg { width: 21px; height: 21px; }
.kont-c b { display: block; font-family: var(--ui); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #C8A14A; margin-bottom: 10px; }
.kont-c .big { display: block; font-family: var(--head); font-size: 25px; color: #E5C97A; text-decoration: none; transition: .2s; }
.kont-c .big:hover { color: #fff; }
.kont-c .mail { display: block; margin-top: 6px; font-size: 14px; color: var(--silver); text-decoration: none; border-bottom: 1px solid rgba(200, 161, 74, .35); width: fit-content; transition: .2s; }
.kont-c .mail:hover { color: #E5C97A; }
.kont-c p { margin: 12px 0 0; font-size: 13.5px; line-height: 1.7; color: #8b8880; }
@media (max-width: 980px) { .kont { grid-template-columns: 1fr; } }

.apps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.app { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 8px; background: linear-gradient(158deg, #141418, #0d0d0f); text-decoration: none; transition: .25s; }
.app:hover { border-color: rgba(200, 161, 74, .45); transform: translateY(-2px); }
.app .ic { width: 34px; height: 34px; flex: none; display: grid; place-items: center; border: 1px solid rgba(200, 161, 74, .34); border-radius: 50%; color: #C8A14A; }
.app .ic svg { width: 17px; height: 17px; }
.app b { font-family: var(--ui); font-size: 14px; font-weight: 600; color: #E5C97A; }
@media (max-width: 860px) { .apps { grid-template-columns: repeat(2, 1fr); } }

.sidlo { display: grid; grid-template-columns: 1fr 1.35fr; gap: 18px; align-items: stretch; }
.sidlo-i { padding: 24px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 10px; background: linear-gradient(158deg, #17171c, #0e0e11); }
.sidlo-i address { font-style: normal; font-size: 15px; line-height: 1.9; color: var(--silver); }
.sidlo-i address strong { color: #E5C97A; }
.sidlo-i dl { display: grid; gap: 6px; margin: 18px 0 20px; }
.sidlo-i dl div { display: flex; gap: 10px; font-size: 13.5px; }
.sidlo-i dt { min-width: 46px; font-family: var(--ui); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: #8b8880; padding-top: 2px; }
.sidlo-i dd { margin: 0; color: var(--silver); }
.sidlo-m { position: relative; min-height: 300px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .08); border-radius: 10px; background: #0b0b0b; }
.sidlo-m iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 900px) { .sidlo { grid-template-columns: 1fr; } .sidlo-m { min-height: 240px; } }

.sidlo-n { margin: 14px 0 0; padding: 11px 14px; border-left: 2px solid rgba(200, 161, 74, .42); border-radius: 0 6px 6px 0; background: rgba(200, 161, 74, .05); font-size: 13px; line-height: 1.7; color: #9a968c; }

/* ===== zákaznický účet: přihlášení, registrace, profil ===== */
.wrap.narrow { max-width: 760px; }
.authcard { max-width: 470px; margin: 0 auto; border: 1px solid var(--brd-soft); border-radius: 10px; padding: 28px 30px; background: rgba(255, 255, 255, .02); }
.authcard.wide { max-width: 660px; }
.authcard .cartnote { margin-bottom: 16px; }
.frm { display: grid; gap: 14px; }
.frm .two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.frm label > span { display: block; font-family: var(--ui); font-size: 11px; letter-spacing: .04em; color: #8b8880; margin-bottom: 4px; text-transform: uppercase; }
.frm input, .frm select { width: 100%; background: rgba(0, 0, 0, .35); border: 1px solid var(--brd-soft); border-radius: 6px; padding: 9px 11px; color: var(--white); font-family: var(--txt); font-size: 14px; outline: none; transition: .2s; }
.frm input:focus, .frm select:focus { border-color: var(--gold); }
.frm input:disabled { opacity: .55; cursor: not-allowed; }
.frm select option { color: #14100A; background: #fff; }
.frm input[type="date"] { color-scheme: dark; }
.frm .btn { justify-self: start; margin-top: 4px; }
.frm .chk { display: flex; align-items: flex-start; gap: 9px; font-family: var(--ui); font-size: 12.5px; color: var(--silver); cursor: pointer; line-height: 1.5; }
.frm .chk input { width: 15px; height: 15px; flex: none; margin-top: 2px; accent-color: #C8A14A; }
.frm .chk a { color: var(--gold-lt); text-decoration: underline; }
.frm-note { font-family: var(--ui); font-size: 11.5px; color: #8b8880; margin: -6px 0 0; }
.okmark { font-style: normal; color: #9FD3A0; text-transform: none; letter-spacing: 0; }
.authlinks { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 18px; padding-top: 14px; border-top: 1px dashed var(--brd-soft); }
.authlinks a { font-family: var(--ui); font-size: 12.5px; color: var(--gold-lt); text-decoration: none; }
.authlinks a:hover { text-decoration: underline; }

/* panel ověření kontaktů na přehledu účtu */
.vpanel { border: 1px solid var(--brd-soft); border-radius: 10px; padding: 22px 24px; margin-bottom: 26px; background: rgba(200, 161, 74, .04); }
.vpanel h2 { font-size: 19px; margin: 0 0 4px; }
.vpanel-p { font-family: var(--ui); font-size: 12.5px; color: #8b8880; margin: 0 0 14px; }
.vrow { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; padding: 11px 0; border-top: 1px dashed var(--brd-soft); }
.vrow-l { flex: 1; min-width: 180px; }
.vrow-l b { display: block; font-family: var(--ui); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #8b8880; }
.vrow-l span { font-size: 14.5px; color: var(--white); }
.vrow .btn { padding: 7px 16px; font-size: 12px; }
.vbadge { display: inline-flex; align-items: center; padding: 3px 11px; border-radius: 999px; font-family: var(--ui); font-size: 10.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; border: 1px solid var(--brd-soft); color: var(--silver); }
.vbadge.ok { border-color: rgba(120, 190, 120, .5); color: #9FD3A0; }
.vbadge.no, .vbadge.warn { border-color: rgba(220, 170, 90, .5); color: #E4C169; }
.vbadge.bad { border-color: rgba(220, 110, 110, .5); color: #C97A7A; }
.vbadge.mut { color: #8b8880; }
.vcode { display: flex; align-items: flex-end; gap: 12px; margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--brd-soft); }
.vcode label > span { display: block; font-family: var(--ui); font-size: 11px; letter-spacing: .04em; color: #8b8880; margin-bottom: 4px; text-transform: uppercase; }
.vcode input { width: 9rem; background: rgba(0, 0, 0, .35); border: 1px solid var(--brd-soft); border-radius: 6px; padding: 9px 11px; color: var(--white); font-size: 16px; letter-spacing: .2em; outline: none; }
.vcode input:focus { border-color: var(--gold); }

/* dlaždice účtu */
.acct-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tile { display: flex; flex-direction: column; gap: 8px; border: 1px solid var(--brd-soft); border-radius: 10px; padding: 24px 24px 20px; text-decoration: none; transition: .25s; background: rgba(255, 255, 255, .02); }
.tile:hover { border-color: rgba(200, 161, 74, .5); transform: translateY(-2px); }
.tile b { font-family: var(--head); font-size: 17.5px; font-weight: 500; color: var(--white); }
.tile span { font-family: var(--ui); font-size: 12px; color: #8b8880; line-height: 1.5; }

/* výpis rezervací v účtu */
.res-h { font-size: 20px; margin: 26px 0 12px; }
.res-h:first-of-type { margin-top: 0; }
.resrow { display: grid; grid-template-columns: 8.5rem 1fr auto auto; gap: 8px 18px; align-items: center; border: 1px solid var(--brd-soft); border-radius: 8px; padding: 13px 18px; margin-bottom: 10px; }
.resrow-d b { display: block; font-family: var(--head); font-size: 16.5px; color: var(--gold-lt); }
.resrow-d span, .resrow-r span { font-family: var(--ui); font-size: 12px; color: #8b8880; }
.resrow-r b { display: block; font-size: 14.5px; color: var(--white); }
.resrow-p { font-family: var(--head); font-size: 16px; color: var(--white); white-space: nowrap; }
.res-empty { font-family: var(--ui); font-size: 13.5px; color: var(--silver); display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }

@media (max-width: 860px) {
    .acct-tiles { grid-template-columns: 1fr; }
    .frm .two { grid-template-columns: 1fr; }
    .resrow { grid-template-columns: 1fr auto; }
    .resrow-p { grid-column: 1; }
    .authcard { padding: 22px 18px; }
}

/* ikony dlazdic uctu — bez rozmeru by SVG zabralo celou dlazdici */
.tile > svg { width: 44px; height: 44px; color: var(--gold); margin-bottom: 4px; }

/* zamčené vstupy v košíku (objednávající se bere z účtu) */
.paxfields input:disabled { opacity: .55; cursor: not-allowed; }

/* ===== košík: pro koho rezervuji, řádek z účtu, bublina chyb, ořez plánku ===== */
.cartplan .wplan, .planpop-in svg { border-radius: 12px; overflow: hidden; }
.seclink { border: 0; background: transparent; color: var(--gold-lt); font-family: var(--ui); font-size: 11.5px; letter-spacing: .03em; cursor: pointer; text-decoration: underline; margin-left: 12px; vertical-align: middle; }
.forwho { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.forwho .btn { flex: 1 1 200px; justify-content: center; }
.paxlbl { display: block; font-family: var(--ui); font-size: 11px; letter-spacing: .04em; color: #8b8880; margin-bottom: 4px; text-transform: uppercase; }
.paxphone-tag { font-style: normal; font-size: 10.5px; color: #8b8880; text-transform: uppercase; letter-spacing: .05em; margin-left: 6px; }
.servrow input[type="radio"] { accent-color: #C8A14A; width: 15px; height: 15px; flex: none; }
.cartbar-toast { position: absolute; right: 18px; bottom: calc(100% + 10px); max-width: 460px; background: #221c10; border: 1px solid rgba(220, 170, 90, .55); border-radius: 8px; padding: 12px 38px 12px 16px; font-family: var(--ui); font-size: 12.5px; line-height: 1.5; color: #E4C169; box-shadow: 0 18px 40px -18px #000; }
.cartbar-toast > div + div { margin-top: 6px; }

/* ===== košík: platby, zavazadla, info služeb, měny v liště ===== */
/* pozadí plánku = pozadí boxů košíku (var(--panel)), ať nesvítí jinam */
.cartplan { background: var(--panel) padding-box, linear-gradient(122deg, rgba(140, 106, 30, .7), rgba(200, 161, 74, .32) 46%, rgba(140, 106, 30, .7)) border-box; }
.bagg { border: 1px dashed var(--brd-soft); border-radius: 8px; margin-bottom: 14px; font-family: var(--ui); }
.bagg summary { display: flex; align-items: center; gap: 8px; padding: 10px 14px; font-size: 12.5px; color: var(--gold-lt); cursor: pointer; list-style: none; }
.bagg summary::-webkit-details-marker { display: none; }
.bagg summary::after { content: '+'; margin-left: auto; font-size: 15px; color: #8b8880; }
.bagg[open] summary::after { content: '−'; }
.bagg summary svg { width: 17px; height: 17px; color: var(--gold); flex: none; }
.bagg p { margin: 0; padding: 0 14px 12px; font-size: 12.5px; line-height: 1.65; color: var(--silver); }
.svc-i { position: relative; display: inline-grid; place-items: center; width: 15px; height: 15px; margin-left: 5px; border: 1px solid var(--brd-soft); border-radius: 50%; font-size: 10px; font-style: italic; color: var(--gold-lt); cursor: help; vertical-align: 1px; }
.svc-i > i { display: none; position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%); z-index: 40; width: 260px; padding: 9px 12px; border-radius: 6px; background: #F5E8B5; color: #171307; font-style: normal; font-size: 11.5px; line-height: 1.55; text-transform: none; letter-spacing: 0; box-shadow: 0 14px 30px -14px #000; }
.svc-i:hover > i, .svc-i:focus > i, .svc-i.open > i { display: block; }
.payopts { border-top: 1px dashed var(--brd-soft); padding-top: 14px; margin-bottom: 14px; }
.payopts > b { display: block; font-family: var(--ui); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #8b8880; margin-bottom: 9px; }
.payopt { display: flex; align-items: center; gap: 11px; border: 1px solid var(--brd-soft); border-radius: 8px; padding: 11px 14px; margin-bottom: 8px; cursor: pointer; transition: .2s; font-family: var(--ui); }
.payopt:hover { border-color: rgba(200, 161, 74, .45); }
.payopt.on { border-color: var(--gold); background: rgba(200, 161, 74, .06); }
.payopt input { accent-color: #C8A14A; width: 15px; height: 15px; flex: none; }
.payopt-i { display: grid; place-items: center; width: 34px; height: 26px; flex: none; color: var(--gold-lt); }
.payopt-i svg { width: 24px; height: 24px; }
.payopt-n { font-size: 13.5px; color: var(--white); }
.payopts .frm-note { margin-top: 2px; }
.cartbar-cur { display: inline-flex; gap: 4px; }
.cartbar-cur a { padding: 5px 9px; border: 1px solid var(--brd-soft); border-radius: 6px; font-family: var(--ui); font-size: 11px; font-weight: 600; letter-spacing: .05em; color: var(--silver); text-decoration: none; transition: .2s; }
.cartbar-cur a:hover { border-color: rgba(200, 161, 74, .5); }
.cartbar-cur a.on { border-color: var(--gold); color: var(--gold-lt); }
@media (max-width: 900px) { .cartbar-cur { display: none; } }

/* výzva „Nejprve vyberte sedadla" + neaktivní Dokončit */
.cartsec-wait { font-family: var(--ui); font-size: 15.5px; color: var(--silver); margin: 4px 0 2px; display: flex; align-items: center; gap: 9px; }
.cartsec-wait::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: var(--gold); flex: none; animation: waitpulse 1.6s ease-in-out infinite; }
@keyframes waitpulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
.btn:disabled { opacity: .4; cursor: not-allowed; filter: saturate(.5); }

/* ===== košík: modal chyb, čitelnější ⓘ, storno podmínky u platby ===== */
.svc-i { width: 19px; height: 19px; font-size: 12.5px; font-weight: 700; font-style: normal; color: #171307; background: var(--gold); border: 0; }
.btn.is-off { opacity: .45; filter: saturate(.4); }
.payrow { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; }
.payrow .payopt { flex: 1; margin-bottom: 0; }
.stornopop > summary { font-family: var(--ui); font-size: 11.5px; color: var(--gold-lt); text-decoration: underline; cursor: pointer; list-style: none; white-space: nowrap; }
.stornopop > summary::-webkit-details-marker { display: none; }
.storno-in { max-width: 560px; text-align: left; }
.storno-in > b { text-align: center; }
.storno-t { font-family: var(--ui); font-size: 13px; line-height: 1.65; color: var(--silver); }
.storno-t p { margin: 0 0 10px; }
.storno-t b { color: var(--gold-lt); }
.cartmodal { position: fixed; inset: 0; z-index: 95; display: grid; place-items: center; background: rgba(5, 5, 6, .72); backdrop-filter: blur(3px); padding: 20px; }
.cartmodal-in { position: relative; max-width: 480px; width: 100%; border: 2px solid transparent; border-radius: 10px; padding: 22px 26px; background: linear-gradient(158deg, #15151a, #0b0b0e) padding-box, linear-gradient(122deg, rgba(200, 161, 74, .8), rgba(140, 106, 30, .4) 46%, rgba(200, 161, 74, .8)) border-box; box-shadow: 0 40px 90px -30px #000; }
.cartmodal-in > b { display: block; font-family: var(--head); font-size: 18px; font-weight: 500; color: var(--gold-lt); margin-bottom: 10px; padding-right: 24px; }
.cartmodal-in ul { margin: 0 0 16px; padding-left: 20px; font-family: var(--ui); font-size: 13px; line-height: 1.7; color: var(--silver); }
.cartmodal-in li + li { margin-top: 4px; }
@media (max-width: 700px) { .payrow { flex-direction: column; align-items: stretch; gap: 6px; } .stornopop > summary { text-align: right; } }

/* předvolba + telefon jako jedna spojená skupina (košík, registrace, profil) */
.paxphone-in { gap: 0; background: rgba(0, 0, 0, .35); border: 1px solid var(--brd-soft); border-radius: 6px; overflow: hidden; transition: border-color .2s; }
.paxphone-in:focus-within { border-color: var(--gold); }
.paxphone-in > select { flex: 0 0 6.9rem; border: 0 !important; border-right: 1px solid var(--brd-soft) !important; border-radius: 0 !important; background: rgba(255, 255, 255, .04) !important; }
.paxphone-in > input { border: 0 !important; border-radius: 0 !important; background: transparent !important; flex: 1; min-width: 0; }

/* pojistka: skupina předvolba+číslo musí být vedle sebe */
.paxphone-in { display: flex; align-items: stretch; }

/* vyšší specificita než .paxfields label > span (to nutí display:block) */
.paxfields label > span.paxphone-in, .frm label > span.paxphone-in { display: flex; align-items: stretch; text-transform: none; letter-spacing: 0; font-size: 13.5px; color: var(--white); margin-bottom: 0; }

/* ===== košík: jednotné výšky polí, souhlasy, stránka potvrzení ===== */
.paxfields input, .paxfields select { height: 38px; box-sizing: border-box; }
.paxfields label > span.paxphone-in { height: 38px; }
.paxphone-in > select, .paxphone-in > input { height: 36px; background: transparent !important; }
.optins { border-top: 1px dashed var(--brd-soft); padding-top: 14px; margin-bottom: 14px; display: grid; gap: 10px; }
.optins .chk { display: flex; align-items: flex-start; gap: 10px; font-family: var(--ui); font-size: 12.5px; color: var(--silver); cursor: pointer; line-height: 1.55; }
.optins .chk input { width: 16px; height: 16px; flex: none; margin-top: 1px; accent-color: #C8A14A; }
.optins .chk a { color: var(--gold-lt); text-decoration: underline; }
.doneinfo { max-width: 720px; margin: 0 0 26px; font-family: var(--ui); font-size: 14.5px; line-height: 1.75; color: var(--silver); }
.doneinfo p { margin: 0 0 12px; }
.doneinfo a { color: var(--gold-lt); text-decoration: underline; white-space: nowrap; }
.doneactions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }

/* pole hesla pro rezervace nezletilých */
.minorpass { border: 1px dashed rgba(220, 170, 90, .5); border-radius: 8px; padding: 12px 14px; }
.minorpass input { width: 14rem; max-width: 100%; height: 38px; background: rgba(0, 0, 0, .35); border: 1px solid var(--brd-soft); border-radius: 6px; padding: 8px 11px; color: var(--white); font-family: var(--txt); font-size: 14px; outline: none; }
.minorpass input:focus { border-color: var(--gold); }
.minorpass .frm-note { margin-top: 8px; }

/* Plná moc (PDF) — odkaz u rezervace nezletilého v Moje rezervace */
.resrow-p .res-poa { display: block; font-size: 12px; color: #C8A14A; text-decoration: underline; text-underline-offset: 3px; margin-top: 3px; white-space: nowrap; }
.resrow-p .res-poa:hover { color: #F5E8B5; }

/* nadpis podsekce formuláře (Nákup na firmu v profilu) */
.frm-sec { font-family: var(--ui); font-size: 15px; font-weight: 600; color: #E5C97A; margin: 26px 0 4px; }
.frm-sec em { font-style: normal; font-weight: 400; font-size: 12.5px; color: #8b8880; }

/* Moje rezervace — řádek rozdělený na bloky (datum | trasa | cena+stav | doklady a akce) */
.rescard { border: 1px solid var(--brd-soft); border-radius: 10px; background: rgba(255, 255, 255, .015); padding: 8px; margin-bottom: 12px; }
.rescard-alt { background: rgba(255, 255, 255, .055); }
.resrow2 { display: grid; grid-template-columns: 128px 1fr 180px 190px; gap: 10px; }
.resrow2 .rb { border: 0; background: transparent; padding: 8px 12px; display: flex; flex-direction: column; justify-content: center; gap: 4px; min-width: 0; }
.resrow2 .rb b { font-family: var(--ui); font-size: 14px; font-weight: 600; color: var(--white); }
.resrow2 .rb span { font-family: var(--ui); font-size: 12px; color: var(--silver); }
.resrow2 .rb-p { align-items: flex-start; }
.resrow2 .rb-p b { font-size: 15px; color: var(--gold-lt); }
.resrow2 .rb-p .vbadge { margin-top: 2px; white-space: nowrap; }
.resrow2 .rb-p .rb-pay { font-family: var(--ui); font-size: 12px; color: var(--silver); margin-top: 3px; white-space: nowrap; }
.resrow2 .rb-a { gap: 5px; align-items: flex-start; }
.res-doc { font-family: var(--ui); font-size: 12px; color: #C8A14A; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.res-doc:hover { color: #F5E8B5; }
.res-none { color: #55534d; }
.res-storno-btn { margin-top: 3px; background: transparent; border: 1px solid rgba(201, 122, 122, .5); color: #C97A7A; border-radius: 5px; padding: 6px 12px; font-family: var(--ui); font-size: 12px; font-weight: 600; cursor: pointer; transition: .25s; }
.res-storno-btn:hover { background: rgba(201, 122, 122, .12); border-color: #C97A7A; }
.res-storno-sent { font-family: var(--ui); font-size: 12px; color: #C97A7A; }
.cartmodal[hidden] { display: none; }
.cartmodal-in .storno-p { font-family: var(--ui); font-size: 13.5px; line-height: 1.7; color: var(--silver); margin: 0 0 18px; }
.cartmodal-btns { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
.cartmodal-btns .btn { padding: 10px 18px; font-size: 12.5px; }
@media (max-width: 860px) { .resrow2 { grid-template-columns: 1fr 1fr; } .resrow2 .rb-r { grid-column: 1 / -1; order: -1; } }

/* výrazný box „žádný spoj" ve výpisu spojení */
.conn-none { display: flex; align-items: center; gap: 22px; border: 1px solid var(--brd); border-radius: 10px; background: var(--panel); padding: 30px 30px; margin-bottom: 18px; }
.conn-none > svg { width: 46px; height: 46px; color: var(--gold); flex: none; }
.conn-none b { display: block; font-family: var(--ui); font-size: 18px; font-weight: 600; color: var(--white); margin-bottom: 5px; }
.conn-none span { font-family: var(--ui); font-size: 14px; color: var(--silver); }

/* výběr uloženého spolucestujícího v kartě cestujícího + správa v profilu */
.paxfill { display: block; margin: 0 0 12px; max-width: calc(50% - 6px); }
.paxfill > span { display: block; white-space: nowrap; font-family: var(--ui); font-size: 11px; letter-spacing: .04em; color: #C8A14A; margin-bottom: 4px; text-transform: uppercase; }
.paxfill select { width: 100%; height: 38px; box-sizing: border-box; background: rgba(0, 0, 0, .35); border: 1px solid rgba(200, 161, 74, .35); border-radius: 6px; padding: 8px 10px; color: var(--white); font-family: var(--txt); font-size: 13.5px; outline: none; }
.paxfill select:focus { border-color: var(--gold); }
.paxfill select option { color: #14100A; background: #fff; }
.comp-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid var(--brd-soft); border-radius: 8px; background: rgba(255, 255, 255, .02); padding: 12px 16px; margin-bottom: 10px; }
.comp-row.is-edit { border-color: var(--gold); }
.comp-who b { display: block; font-family: var(--ui); font-size: 14px; font-weight: 600; color: var(--white); }
.comp-who span { font-family: var(--ui); font-size: 12px; color: var(--silver); }
.comp-act { display: flex; align-items: center; gap: 14px; }
.comp-del { background: transparent; border: 0; padding: 0; cursor: pointer; font-family: var(--ui); font-size: 12px; color: #C97A7A; text-decoration: underline; text-underline-offset: 3px; }
.comp-del:hover { color: #e09b9b; }
@media (max-width: 860px) { .paxfill { max-width: 100%; } }

/* zamčený profil blokovaného / duplicitního účtu — fieldset bez vlastního boxu */
.frm-lock { display: contents; border: 0; margin: 0; padding: 0; min-width: 0; }
.frm-lock:disabled input, .frm-lock:disabled select { opacity: .55; cursor: not-allowed; }

/* upozornění pod řádkem sedadla — dítě do 12 let na sedadle se zákazem dětí */
.seatrow-warn { margin: -4px 0 10px; font-family: var(--ui); font-size: 12.5px; color: #E3A63C; }

/* dárkový voucher — prodejní stránka, kontrola kódu a výsledek platby */
.vchvals { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 2px 0 14px; }
.vchval { display: block; text-align: center; cursor: pointer; border: 1px solid var(--brd-soft); border-radius: 8px; background: rgba(255, 255, 255, .02); padding: 14px 8px; transition: border-color .15s, background .15s; }
.vchval:hover { border-color: rgba(200, 161, 74, .55); }
.vchval.is-on { border-color: var(--gold); background: rgba(200, 161, 74, .12); }
.vchval b { display: block; font-family: var(--ui); font-size: 19px; font-weight: 600; color: var(--white); margin-bottom: 3px; }
.vchval span { font-family: var(--ui); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: #8b8880; }
.vchval.is-on span { color: var(--gold-lt); }
.vchchk { margin: 12px 0 4px; }
.vchpay { width: 100%; justify-content: center; margin-top: 14px; }
.vchinfo { border: 1px solid var(--brd-soft); border-radius: 10px; background: rgba(255, 255, 255, .02); padding: 18px 20px; }
.vchinfo b { display: block; font-family: var(--ui); font-size: 13.5px; font-weight: 600; color: var(--gold-lt); margin-bottom: 8px; }
.vchinfo ul { margin: 0; padding-left: 18px; }
.vchinfo li { font-family: var(--ui); font-size: 12.5px; color: var(--silver); line-height: 1.55; margin-bottom: 4px; }
.vchdone .vchcode { font-family: var(--ui); font-size: 25px; letter-spacing: .16em; color: var(--gold-lt); margin: 4px 0 6px; }
.fld-err { display: block; font-style: normal; font-family: var(--ui); font-size: 11.5px; color: #E39B9B; margin-top: 4px; }
@media (max-width: 860px) { .vchvals { grid-template-columns: 1fr 1fr; } }

/* uplatnění dárkového voucheru v košíku */
.vchbox { border: 1px solid var(--brd-soft); border-radius: 8px; background: rgba(255, 255, 255, .02); padding: 12px 16px; margin: 16px 0 4px; }
.vchbox > summary { cursor: pointer; font-family: var(--ui); font-size: 13.5px; font-weight: 600; color: var(--gold-lt); list-style: none; }
.vchbox > summary::-webkit-details-marker { display: none; }
.vchbox > summary::before { content: '+'; display: inline-block; width: 15px; color: var(--gold); }
.vchbox[open] > summary::before { content: '–'; }
.vchbox-b { padding-top: 12px; }
.vchbox-in { display: flex; gap: 8px; }
.vchbox-in input { flex: 1; min-width: 0; height: 38px; box-sizing: border-box; background: rgba(0, 0, 0, .35); border: 1px solid rgba(200, 161, 74, .35); border-radius: 6px; padding: 8px 10px; color: var(--white); font-family: var(--ui); font-size: 14px; letter-spacing: .08em; text-transform: uppercase; outline: none; }
.vchbox-in input:focus { border-color: var(--gold); }
.vchbox-in .btn { white-space: nowrap; }
.vchbox-on { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; border: 1px solid rgba(200, 161, 74, .45); border-radius: 6px; background: rgba(200, 161, 74, .1); padding: 10px 14px; }
.vchbox-on b { font-family: var(--ui); font-size: 15px; letter-spacing: .1em; color: var(--white); }
.vchbox-on span { font-family: var(--ui); font-size: 12px; color: var(--silver); }
.vchbox-x { margin-left: auto; background: transparent; border: 0; padding: 0; cursor: pointer; font-family: var(--ui); font-size: 12px; color: #C97A7A; text-decoration: underline; text-underline-offset: 3px; }
.vchbox-x:hover { color: #e09b9b; }
.vchbox .paxfill { max-width: 100%; margin-top: 12px; }

/* počet kusů u dárkového voucheru */
.vchqty { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 2px 0 14px; }
.vchqty > span:first-child { font-family: var(--ui); font-size: 12.5px; color: var(--silver); }
.vchqty-c { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--brd-soft); border-radius: 8px; padding: 4px; }
.vchqty-c button { width: 30px; height: 30px; border: 0; border-radius: 6px; background: rgba(255, 255, 255, .05); color: var(--gold-lt); font-family: var(--ui); font-size: 17px; line-height: 1; cursor: pointer; }
.vchqty-c button:hover:not(:disabled) { background: rgba(200, 161, 74, .18); }
.vchqty-c button:disabled { opacity: .35; cursor: default; }
.vchqty-c b { min-width: 30px; text-align: center; font-family: var(--ui); font-size: 15px; font-weight: 600; color: var(--white); }
.vchqty em { font-style: normal; font-family: var(--ui); font-size: 11.5px; color: #8b8880; }

/* tlačítko Zaplatit voucher: .frm-note má záporný horní okraj a stín tlačítka
   sahá dolů, takže se text lepil pod tlačítko — tady dostane vlastní mezeru */
.vchpage .vchpay { display: flex; width: 100%; justify-content: center; margin: 20px 0 0; }
.vchpage .vchpay + .frm-note { margin-top: 16px; }

/* kolonky obdarovaného u každého kusu voucheru */
.vchgift + .vchgift { border-top: 1px solid var(--brd-soft); margin-top: 16px; padding-top: 16px; }
.vchgift > b { display: block; font-family: var(--ui); font-size: 12.5px; font-weight: 600; color: var(--gold-lt); margin-bottom: 9px; }

/* uvnitř boxu s uplatněným voucherem má .frm-note záporný horní okraj
   (dědí se z formulářů), takže se text lepil pod rámeček — tady vlastní mezery */
.vchbox-b .frm-note { margin-top: 12px; }
.vchbox-b .cartnote { margin-top: 12px; }
.vchbox-b .chk { margin-top: 10px; }
.vchbox-b .paxfill { margin-bottom: 4px; }

/* ===== MOBILNÍ LADĚNÍ WEBU (11. 8. 2026) ============================== */

/* Zastávky: štítek „GPS" nesmí dědit vzhled celoplošného lightboxu (.lb) */
.gps .lb { position: static; inset: auto; z-index: auto; display: inline; padding: 0; background: transparent; backdrop-filter: none; }

/* Fotogalerie: popisek přes miniaturu nejvýš na 2 řádky */
.gal-i span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Úvodní carousel: na mobilu bez šipek, posouvá se prstem */
@media (max-width: 860px) { .hero .arw { display: none; } }

/* Vyhledávací box: Cestující i ostatní pole na plnou šířku jako datum */
@media (max-width: 1180px) { .frow > .f.pax { flex: 1 1 100%; max-width: none; } }
@media (max-width: 860px) { .frow > .f:not(.dates):not(.pax) { flex: 1 1 100%; max-width: none; } }

/* Tabulky (jízdní řády, odjezdy destinací): posuv prstem, první sloupec drží */
.tbl { -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: rgba(200, 161, 74, .45) transparent; }
.tbl::-webkit-scrollbar { height: 7px; }
.tbl::-webkit-scrollbar-thumb { background: rgba(200, 161, 74, .45); border-radius: 4px; }
@media (max-width: 860px) {
    .tbl table { min-width: 560px; }
    .tbl th, .tbl td { padding: 10px 12px; }
    .tbl td { white-space: nowrap; }
    .tbl th:first-child, .tbl td:first-child { position: sticky; left: 0; z-index: 2; background: #131316; max-width: 9.5rem; white-space: normal; box-shadow: 6px 0 12px -8px rgba(0, 0, 0, .9); }
}

/* Výpis spojení: služby autobusu na mobilu sbalené za řádkem s třídou */
.cn-cltg { display: inline-flex; align-items: center; gap: 8px; padding: 0; border: 0; background: transparent; cursor: default; text-align: left; }
.cn-cltg .cv { display: none; width: 11px; height: 11px; color: var(--gold); transition: transform .25s; }
@media (max-width: 700px) {
    .cn-cltg { cursor: pointer; }
    .cn-cltg .cv { display: inline-block; }
    .cn-mid .cn-serv { display: none; }
    .cn-mid.open .cn-serv { display: flex; }
    .cn-mid.open .cn-cltg .cv { transform: rotate(180deg); }
}

/* Hlavička: telefon, účet, jazyk a měna v mobilním menu (desktop je má v liště) */
.nav .mnav { display: none; }
@media (max-width: 860px) {
    .nav.open .mnav { display: block; width: 100%; margin-top: 10px; padding-top: 12px; border-top: 1px solid var(--brd-soft); }
    .mnav a { display: flex; align-items: center; gap: 9px; width: 100%; padding: 8px 0; font-size: 13px; letter-spacing: .05em; }
    .mnav a svg:not(.flag) { width: 14px; height: 14px; color: var(--gold); flex: none; }
    .mnav-row { display: flex; align-items: center; gap: 8px; padding: 8px 0 2px; flex-wrap: wrap; }
    .mnav-row .mn-t { font-family: var(--ui); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: #8b8880; margin-right: 4px; }
    .mnav-row a { display: inline-flex; width: auto; padding: 6px 12px; border: 1px solid var(--brd-soft); border-radius: 999px; font-size: 12px; }
    .mnav-row a.on { border-color: var(--gold); color: var(--gold-lt); }
}

/* Košík: nižší plovoucí lišta na mobilu (dva řádky místo čtyř) */
@media (max-width: 700px) {
    .cartbar-in { gap: 4px 10px; padding: 8px 14px 9px; }
    .cartbar-note { display: none; }
    .cartbar-t { font-size: 12px; order: 1; margin-right: auto; }
    .cartbar-t svg { width: 13px; height: 13px; }
    .cartbar-total { order: 2; }
    .cartbar-total > b { font-size: 17px; }
    .cartbar .btn { order: 3; flex: 1 1 100%; padding: 10px 16px; font-size: 12.5px; }
}

/* Kolečkový kalendář data narození: vždy nad plovoucí lištou košíku */
.date-popup-picker__popup { z-index: 160 !important; }

/* Košík: ⓘ u služby neskáče na samostatný řádek a bublina nepřetéká */
@media (max-width: 700px) {
    .servrow-n .svc-i { float: right; margin-top: 2px; }
    .servrow-n .svc-i > i { left: auto; right: -8px; transform: none; }
}

/* Moje rezervace: na telefonu jedna souvislá karta místo dlaždic */
@media (max-width: 560px) {
    .resrow2 { grid-template-columns: 1fr; gap: 0; }
    .resrow2 .rb { border: 0; border-radius: 0; background: transparent; padding: 10px 14px; }
    .resrow2 .rb + .rb { border-top: 1px dashed var(--brd-soft); }
    .resrow2 .rb-r { background: rgba(200, 161, 74, .06); }
    .resrow2 .rb-d { flex-direction: row; align-items: baseline; gap: 8px; }
    .resrow2 .rb-p { flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 10px; }
    .resrow2 .rb-p b { white-space: nowrap; }
    .resrow2 .rb-p .rb-pay { margin-top: 0; }
}

/* Služby: srovnání tříd (plánek + text) na mobilu pod sebou */
@media (max-width: 640px) {
    .bcl-c { grid-template-columns: 1fr; }
    .bcl-plan { justify-self: center; width: min(240px, 100%); }
}

/* ===== MOBILNÍ LADĚNÍ — dorovnání (11. 8. 2026 b) ===== */
/* chipy jazyka a měny v mobilním menu: vedle sebe, ne přes celou šířku */
@media (max-width: 860px) {
    .nav.open .mnav-row a { width: auto; display: inline-flex; padding: 6px 12px; }
}

/* ===== MOBILNÍ LADĚNÍ — dorovnání c (11. 8. 2026) ===== */
/* Moje rezervace: datum v kartě doleva jako ostatní řádky */
@media (max-width: 560px) {
    .resrow2 .rb-d { justify-content: flex-start; }
}

/* ---------- Proti bilemu bliknuti poli kalendare (12. 8. 2026) ----------
   Vzhled input.pikafield vozi az datepicker-gold.css nacitany v tele stranky;
   nez dorazi, prohlizec vykresli nativni bily input. Tady je totez pravidlo
   ve style.css (hlavicka, blokuje prvni vykresleni) — flash zmizi. */
input.pikafield { flex: 1; min-width: 0; width: 100%; appearance: none; -webkit-appearance: none; background: transparent; border: 0; padding: 0; margin: 0; font-family: var(--txt); font-size: 15.5px; line-height: 1.3; color: inherit; outline: none; cursor: pointer; caret-color: transparent; }

.foot .pick > .pick-l { top: auto; bottom: calc(100% + 6px); }

.authswitch { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 22px; padding: 16px 18px; border: 1px solid var(--brd-soft); border-radius: 8px; background: rgba(200, 161, 74, .06); }
.authswitch span { font-family: var(--txt); font-size: 13.5px; color: var(--silver); }
.authswitch .btn { flex: none; }

/* ---------- 14. 8. 2026: přihlášení ve dvou boxech ---------- */
.authgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: stretch; max-width: 1020px; margin: 0 auto; }
.authgrid .authcard { max-width: none; margin: 0; display: flex; flex-direction: column; }
.authh { font-family: var(--head); font-size: 23px; font-weight: 500; color: var(--white); margin: 0 0 16px; }
.authnew { border-color: var(--brd); background: rgba(200, 161, 74, .05); }
.authp { font-family: var(--txt); font-size: 14px; line-height: 1.7; color: var(--silver); margin: 0; }
.authben { list-style: none; margin: 18px 0 24px; padding: 0; display: grid; gap: 10px; }
.authben li { position: relative; padding-left: 24px; font-family: var(--ui); font-size: 13px; color: var(--silver); }
.authben li::before { content: ''; position: absolute; left: 0; top: .5em; width: 9px; height: 9px; border-radius: 50%; border: 2px solid var(--gold); box-sizing: border-box; }
.authnew-b { margin-top: auto; align-self: flex-start; }

/* karta spoje: bublina volných míst vedle ceny, nad nimi náhled plánu autobusu */
/* Desktop zůstává jako dřív: vlevo cena, vpravo bublina, pod ní odkaz na plánek
   a tlačítko. Pořadí ve sloupci drží order, protože v HTML je plánek až za bublinou
   kvůli mobilu. Kopie ceny pro mobil je na desktopu schovaná. */
.cn-act > .cn-free { order: 1; }
.cn-act > .planbox { order: 2; }
.cn-act > form, .cn-act > .watchbox, .cn-act > .btn, .cn-act > .watch-done { order: 3; }
.cn-plabel-m, .cn-pval-m { display: none; }

/* Mobil: popisek + odkaz na plánek v jednom řádku, pod nimi cena + bublina
   (středy sedí na sobě) a přes celou šířku tlačítko. Sloupec s cenou se skryje. */
@media (max-width: 700px) {
    .conn > .cn-buy { display: none; }
    .cn-act { display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 14px; row-gap: 6px; }
    .cn-plabel-m { display: block; grid-area: 1 / 1; font-family: var(--ui); font-size: 11.5px; color: #8b8880; }
    .cn-act > .planbox { grid-area: 1 / 2; justify-self: end; }
    .cn-pval-m { display: block; grid-area: 2 / 1; font-family: var(--ui); font-size: 21px; font-weight: 700; color: var(--gold-lt); white-space: nowrap; }
    .cn-act > .cn-free { grid-area: 2 / 2; justify-self: end; }
    .cn-act > form, .cn-act > .watchbox, .cn-act > .btn, .cn-act > .watch-done { grid-column: 1 / -1; }
    .cn-act .btn { width: 100%; }
}

/* JEDNOTNE pravidlo proti priblizovani na mobilu — pole s písmem pod 16 px Safari/Chrome při kliknutí přiblíží.
   Dřív tři překrývající se bloky (767px, 860px a výjimky), teď jediné pravidlo;
   výjimka pro nativní datum/čas je níže. */
@media (max-width: 860px) {
    input, select, textarea,
    .frm input, .frm select, .frm textarea,
    .paxfields input, .paxfields select, .paxrow-c input, .paxfill select,
    .cartnote-l textarea, .minorpass input, .watchbox input[type="email"],
    .seatrow select, .vchbox-in input,
    .sbox select, .sbox input[type="date"], input.pikafield, .pikafield,
    .date-popup-picker__trigger { font-size: 16px !important; }
}

@media (max-width: 860px) {
    .authgrid { grid-template-columns: 1fr; max-width: 560px; }
    .authnew-b { align-self: stretch; text-align: center; }
}

/* Náhled plánu autobusu — panel se vejde i na displej telefonu */
.planpop-in { --pp-pad: 16px; padding: var(--pp-pad) 18px; }
.planpop-in > b { margin-bottom: 8px; }
.planpop-x { top: var(--pp-pad); right: 8px; display: flex; align-items: center; height: 23px; padding: 0 6px; font-size: 24px; line-height: 1; }
.plan-legend { margin-top: 8px; }
@media (max-width: 860px) {
    .planbox[open] .planpop { padding: 10px; }
    .planpop-in { --pp-pad: 12px; padding: var(--pp-pad) 12px; max-height: 96vh; }
}

/* Na telefonu se plánek řídí SKUTEČNĚ viditelnou výškou (dvh), ne layoutovou (vh) — */
/* jinak ho na iOS spodní lišta prohlížeče ořízne. Fallback je vh v atributu width. */
@supports (height: 100dvh) {
    .res .planpop-in > svg { width: min(190px, calc((100dvh - 150px) * 0.337)) !important; }
}

/* Hlavička náhledu plánku: nadpis uprostřed, křížek vpravo a výškově na jeho středu */
.res .planpop-h { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.res .planpop-h > .planpop-sp, .res .planpop-h > .planpop-x { flex: none; width: 26px; }
.res .planpop-h > b { flex: 1 1 auto; min-width: 0; margin: 0; }
.res .planpop-h > .planpop-x { position: static; height: auto; padding: 0; justify-content: flex-end; }

/* Doplňkové služby v košíku: „i" stojí mimo popisek, na mobilu jde cena a počet pod název */
.servrow { display: grid; grid-template-columns: auto auto 1fr; align-items: center; column-gap: 12px; row-gap: 5px; cursor: default; }
.servrow-l { display: flex; align-items: flex-start; gap: 9px; min-width: 0; cursor: pointer; }
.servrow-l input[type="checkbox"] { margin: 2px 0 0 0; }
.servrow-n { display: block; min-width: 0; }
.servrow-t { display: block; }
.servrow-note { display: block; margin-top: 2px; font-size: 11.5px; color: #8b8880; }
.servrow > .svc-i { margin-left: 0; }
.servrow-b { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
@media (max-width: 860px) {
    .servrow { grid-template-columns: 1fr auto; column-gap: 14px; row-gap: 6px; padding: 7px 0; }
    .servrow-b { grid-column: 1 / -1; justify-content: flex-start; padding-left: 24px; }
    .servrow > .svc-i > i { left: auto; right: 0; transform: none; width: min(260px, 78vw); }
}

/* Výjimka z pravidla proti přiblížení: nativní datum/čas klávesnici
   neotevírají (klik spouští kolečko/kalendář), takže přiblížení nehrozí —
   a při vynucených 16 px by narostly mimo rámeček. Vracíme původní velikost. */
@media (max-width: 860px) {
    input[type="date"], input[type="time"], input[type="month"], input[type="week"] { font-size: 13.5px !important; }
    .frm input[type="date"], .frm input[type="time"] { font-size: 14px !important; }
    .sbox input[type="date"] { font-size: 15.5px !important; }
    .paxfields input[type="date"], .paxfields input[type="time"] { font-size: 13.5px !important; }
}

/* Nativní <input type="date"> se na iOS Safari neroztáhne na šířku rodiče
   a bere si vlastní výšku podle obsahu — ve formuláři cestujícího proto
   trčelo jinak vysoké i jinak široké než sousední pole. appearance:none
   z něj udělá běžné pole, pevná výška srovná všechna čtyři pole všude. */
.paxfields input, .paxfields select { height: 38px; }
.paxfields input[type="date"] { -webkit-appearance: none; appearance: none; width: 100%; min-width: 0; text-align: left; }

/* Upozornění nad hlavičkou — zvýraznění a odkaz uvnitř věty */
.nb strong, .nb b { font-weight: 700; color: #F7EBC2; }
.nb em, .nb i { font-style: italic; }
.nb a { color: inherit; font-weight: 600; }
.nb-warning a { color: inherit; }
.nb-success a { color: inherit; }

/* ---- Upozornění nad hlavičkou: barevný pás přes celou šířku ----
   Barva je na .nb, aby šla přes celou obrazovku i když je upozornění víc
   pod sebou; .wrap je proto až uvnitř. Velikost písma odpovídá textu
   v článcích (15.5px), aby se to dalo v klidu přečíst. */
.nbar { background: none; backdrop-filter: none; border-bottom: 0; }
.nb { display: block; padding: 0; font-size: inherit; color: inherit; text-align: left; }
.nb + .nb { border-top: 0; }
.nb > .wrap { display: flex; align-items: center; justify-content: center; gap: 10px;
    flex-wrap: wrap; padding-top: 11px; padding-bottom: 11px;
    font-family: var(--ui); font-size: 15.5px; line-height: 1.5; text-align: center; }
.nb strong, .nb b { color: inherit; font-weight: 800; }
.nb em, .nb i { font-style: italic; }
.nb a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.nb a:hover { text-decoration-thickness: 2px; }

.nb-gold { background: #C8A14A; color: #14120A; }
.nb-red { background: #9E1B1B; color: #FFF4F4; }
.nb-green { background: #1B6B3A; color: #F1FFF5; }
.nb-blue { background: #11457E; color: #F1F6FF; }
.nb-black { background: #0A0A09; color: #E8D8A8; border-bottom: 1px solid rgba(200, 161, 74, .3); }

@media (max-width: 700px) {
    .nb > .wrap { font-size: 14.5px; padding-top: 9px; padding-bottom: 9px; }
}

/* Obálka hlavičky: sama nemá výšku (uvnitř je jen absolutně polohovaná
   hlavička), ale dává jí počátek. Pás upozornění je nad ní v běžném toku,
   takže o svou výšku odsune celou stránku dolů — hlavička se pak překrývá
   s hero až od jeho horní hrany a logo nenaráží do carouselu. */
.hdrzone { position: relative; }

/* Textový sloupec článků a stránek: začíná na stejné svislici jako nadpis
   a perex (proto plná šířka .wrap), vpravo končí tam, kde končíval původní
   úzký sloupec. 944 = šířka obsahu .wrap (1184) minus polovina rozdílu
   oproti úzkému sloupci (704), takže pravá hrana sedí na původní. */
.wrap.textcol { max-width: var(--max); }
.wrap.textcol > .dt,
.wrap.textcol > .rte { max-width: 944px; }

/* Fotka v pruhu za nadpisem byla skoro neznatelná — víc ji prosvětlíme
   a zeslabíme překryv. Vlevo zůstává tmavší, aby byl nadpis čitelný. */
.phead.has-img > img { opacity: .62; }
.phead.has-img::after { background: linear-gradient(90deg, rgba(8, 8, 8, .86), rgba(8, 8, 8, .38) 58%, rgba(8, 8, 8, .68)); }
/* --- Okno ověření kontaktů po registraci (20. 8. 2026) --- */
.cartnote.ok { border-color: rgba(120, 190, 120, .5); background: rgba(120, 190, 120, .1); color: #9FD3A0; }
.vmodal { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(8, 6, 4, .72); backdrop-filter: blur(3px); }
.vmodal-box { position: relative; width: 100%; max-width: 460px; max-height: 92vh; overflow: auto; padding: 26px 28px 24px; border: 1px solid var(--brd); border-radius: 12px; background: #14100A; box-shadow: 0 24px 60px rgba(0, 0, 0, .55); }
.vmodal-box h2 { font-size: 20px; margin: 0 0 6px; }
.vmodal-p { font-family: var(--ui); font-size: 13px; line-height: 1.55; color: var(--silver); margin: 0 0 16px; }
.vmodal-x { position: absolute; top: 10px; right: 14px; font-size: 26px; line-height: 1; color: #8b8880; text-decoration: none; }
.vmodal-x:hover { color: var(--gold-lt); }
.vmodal-steps { display: flex; gap: 10px; margin: 0 0 14px; font-family: var(--ui); font-size: 10.5px; letter-spacing: .07em; text-transform: uppercase; }
.vmodal-steps span { padding: 3px 11px; border: 1px solid var(--brd-soft); border-radius: 999px; color: #8b8880; }
.vmodal-steps span.on { border-color: var(--gold); color: var(--gold-lt); }
.vmodal-steps span.done { border-color: rgba(120, 190, 120, .5); color: #9FD3A0; }
.vmodal-err { margin: 0 0 14px; padding: 10px 14px; border: 1px solid rgba(240, 179, 87, .5); border-radius: 8px; background: rgba(240, 179, 87, .1); font-family: var(--ui); font-size: 12.5px; color: #F0B357; }
.vmodal-code { display: flex; gap: 10px; }
.vmodal-code input { flex: 1; min-width: 0; background: rgba(0, 0, 0, .35); border: 1px solid var(--brd-soft); border-radius: 6px; padding: 10px 12px; color: var(--white); font-size: 17px; letter-spacing: .22em; outline: none; }
.vmodal-code input:focus { border-color: var(--gold); }
.vmodal-alt { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin-top: 12px; }
.vmodal-alt .lnk { background: none; border: 0; padding: 0; font-family: var(--ui); font-size: 12.5px; color: var(--gold-lt); text-decoration: underline; cursor: pointer; }
.vmodal-n { font-family: var(--ui); font-size: 12px; line-height: 1.5; color: #8b8880; }
.vmodal-fix { margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--brd-soft); }
.vmodal-fix > summary { font-family: var(--ui); font-size: 12.5px; color: #8b8880; cursor: pointer; }
.vmodal-fix > summary:hover { color: var(--gold-lt); }
.vmodal-fix form { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 12px; }
.vmodal-fix .paxphone-in { flex: 1 1 100%; }
.vmodal-fix input[type="email"] { flex: 1 1 100%; background: rgba(0, 0, 0, .35); border: 1px solid var(--brd-soft); border-radius: 6px; padding: 9px 11px; color: var(--white); font-size: 14px; outline: none; }
.vmodal-fix input[type="email"]:focus { border-color: var(--gold); }
.vmodal-fix .btn { flex: 0 0 auto; }

@media (max-width: 560px) {
    .vmodal { padding: 12px; align-items: flex-start; padding-top: 28px; }
    .vmodal-box { padding: 22px 18px 20px; }
    .vmodal-code { flex-wrap: wrap; }
    .vmodal-code input, .vmodal-code .btn { flex: 1 1 100%; }
}

/* Předvolba telefonu: „CZE +420" se musí vejít celé i na mobilu, kde je
   nativní šipka výběru širší než na desktopu (Michael 20. 8. 2026). */
@media (max-width: 700px) {
    .paxphone-in > select { flex: 0 0 8.6rem; padding-left: 9px; padding-right: 4px; }
}


/* auth-zalozky-mobil: na počítači zůstávají obě karty (přihlášení + nový zákazník)
   vedle sebe a záložky se skryjí; na telefonu se přepínají záložkami, ať
   nový návštěvník hned vidí možnost registrace a nescrolluje pod celý box. */
.authtabs { display: none; }
@media (max-width: 860px) {
    .authtabs {
        display: flex; gap: 6px; max-width: 560px; margin: 0 auto 14px;
        background: rgba(0, 0, 0, .28); border: 1px solid var(--brd-soft);
        border-radius: 10px; padding: 5px;
    }
    .authtab {
        flex: 1 1 0; padding: 11px 8px; border: 0; border-radius: 7px;
        background: transparent; color: var(--white); font-family: var(--ui);
        font-size: 15px; font-weight: 600; cursor: pointer; transition: background .15s, color .15s;
    }
    .authtab.on { background: var(--gold); color: #1a1408; }
    .authgrid[data-authtab="login"] .authcard-new { display: none; }
    .authgrid[data-authtab="new"] .authcard-login { display: none; }
}

/* paticka-jednotne-pozadi: pri pinch-zoomu na iPhonu se vedle paticky ukazoval
   podklad stranky v jinem odstinu cerne (svisly sev na okraji). Paticka
   i koren stranky proto sdileji stejnou barvu — sev nema kde vzniknout. */
html { background: var(--black); }
.foot { background: var(--black); }


/* zamcena-spodni-hrana: stranka se nesmi dat pretahnout pod paticku — vypnute
   gumove odskoceni (overscroll/bounce) na mobilu i scroll-chaining na
   pocitaci. Kdyby prohlizec pravidlo neznal (starsi iOS), zbytek kryje
   sjednocene pozadi paticky a korene stranky. */
html, body { overscroll-behavior-y: none; }


/* tolerance-vetsiho-pisma: uzivatele s vetsim systemovym pismem (Android/Chrome
   text scaling ~130 %) — sloupce paticky se smi zuzit pod sirku obsahu
   a dlouhe udaje (e-mail) se zalomi. Mrizka jinak pretekala pres pravy
   okraj a na iPhonu vyrabela vodorovny posuv. */
.foot .cols > * { min-width: 0; }
.foot a, .foot p { overflow-wrap: anywhere; }


/* paticka-mobil-plne-radky: na mobilu dostane blok s logem a blok KONTAKT celou
   sirku radku — e-mail a telefon se nemusi lamat ani pri vetsim pismu
   a dvousloupcova mrizka zustava jen pro kratke odkazy. */
@media (max-width: 860px) {
    .foot .cols > :first-child, .foot .cols > :last-child { grid-column: 1 / -1; }
}


/* kosik-plan-sirka: legenda plánku (mj. „nevhodné pro děti do 12 let") nesmí
   roztáhnout sloupec s plánkem — má pevnou šířku plánku a legenda se
   zalamuje. Jinak se přiřazení sedadel tlačilo na okraj boxu. */
.cartplan { width: 194px; }


/* sedadlo-druhy-radek: tarif, cena a křížek u přiřazení sedadla drží vždy spolu
   na druhém řádku zarovnané vpravo — u delšího jména se nerozpadají
   (cena nahoře, křížek dole). */
.seatrow-meta { flex-basis: 100%; display: flex; align-items: center; justify-content: flex-end; gap: 9px; min-width: 0; }
.seatrow-meta .seatrow-price { margin-left: 0; }


/* kurzor-v-textu: ve Windows po kliknutí do běžného textu bliká textový
   kurzor — skryjeme ho všude mimo skutečná pole formulářů. Výběr textu
   myší zůstává beze změny. */
body { caret-color: transparent; }
input, textarea, select, [contenteditable="true"] { caret-color: auto; }


/* deti-pro-sebe-neaktivni: u ciste detske rezervace je tlacitko Rezervuji pro sebe
   vysedle a nejde pouzit; pod tlacitky je vysvetleni. */
.forwho .btn[disabled] { opacity: .45; cursor: not-allowed; pointer-events: none; }
.forwho-note { margin: 8px 0 0; font-family: var(--ui); font-size: 12.5px; line-height: 1.6; color: var(--silver); opacity: .85; }


/* overeni-hesla-nezletilych: tlacitko Overit heslo u detske rezervace - zeleny ramecek
   + Heslo je spravne. / cerveny + Nespravne heslo. */
.minorpass-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.minorpass-check { padding: 9px 14px; font-size: 12.5px; white-space: nowrap; }
.minorpass input.is-ok { border-color: #3fae6d !important; box-shadow: 0 0 0 3px rgba(63, 174, 109, .18); }
.minorpass input.is-bad { border-color: #cf5f4e !important; box-shadow: 0 0 0 3px rgba(207, 95, 78, .18); }
.minorpass-ok, .minorpass-bad { margin: 8px 0 0; font-family: var(--ui); font-size: 12.5px; line-height: 1.5; }
.minorpass-ok { color: #58c084; }
.minorpass-bad { color: #e08172; }


/* sipky-a-kurzor-vyhledavani: sipky u poli Odkud/Kam a Cestujici jsou jen ozdoba - klik
   propada na pole pod nimi (se skriptem v searchboxu je klikaci cela plocha).
   Rozbalovaci pole a needitovatelne vstupy neukazuji blikajici kurzor
   (Chrome na Windows ho u stylovanych selectu zobrazoval). */
.sbox .inp > .cv, .paxdrop-h .cv { pointer-events: none; }
select, input[readonly] { caret-color: transparent; }


/* stejna-sirka-poli-vyhledavani: pole Odkud, Kam, Termin (tam i zpet) a Cestujici maji VZDY
   stejnou sirku i vysku - 4 sloupce u jednosmerne, 5 u zpatecni. Driv mely
   terminy a cestujici pevnou sirku a u zpatecni se Odkud/Kam nepomerove
   zmensily. */
.frow > .f:not(.dates):not(.pax) { flex: 1 1 0; max-width: none; min-width: 0; }
.f.dates { display: flex; flex: 1 1 0; min-width: 0; gap: 14px; }
.sbox.ret .f.dates { flex: 2 2 14px; min-width: 0; }
.f.dates .d1, .f.dates .d2 { flex: 1 1 0; min-width: 0; }
.f.pax { flex: 1 1 0; max-width: none; min-width: 0; }
.frow .inp { height: 46px; padding-top: 0; padding-bottom: 0; align-items: center; box-sizing: border-box; }
@media (max-width: 1180px) {
    .frow > .f:not(.dates):not(.pax) { flex: 1 1 44%; }
    .f.dates, .sbox.ret .f.dates { flex: 1 1 100%; min-width: 0; }
    .f.pax { flex: 1 1 44%; max-width: none; }
}


/* stejna-sirka-poli-vyhledavani-b: starsi pravidlo .sbox .f.pax omezovalo Cestujici na 200 px
   (vyssi specificita) - sloupec byl uzsi nez ostatni. */
.sbox .f.pax { max-width: none; }
@media (max-width: 1180px) { .sbox .f.pax { max-width: none; } }


/* safari-klikaci-cele-pole: Safari neumi otevrit nabidku selectu skriptem (showPicker),
   takze klikaci plocha nesmi stat na skriptu. Select se roztahne pres CELY
   ramecek Odkud/Kam - klik na okraj i sipku je nativne klikem na select ve
   vsech prohlizecich. Sipka zustava jen ozdoba (pointer-events: none). */
.sbox .inp:has(> select) { position: relative; }
.sbox .inp > select { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0 32px 0 14px; margin: 0; }
.sbox .inp:has(> select) > .cv { margin-left: auto; }

/* FAQ — rozbalovací otázky (Nadpis 2 = okruh, Nadpis 3 = otázka; App\Support\Web\FaqAccordion) */
.faqwrap .faq-intro { margin-bottom: 26px; }
.faqwrap .faq-g { font-size: clamp(20px, 2.2vw, 25px); color: #E5C97A; margin: 38px 0 12px; padding-bottom: 8px; border-bottom: 1px solid rgba(200, 161, 74, .22); }
.faqwrap .faq-g:first-child { margin-top: 6px; }
.faq-list { display: flex; flex-direction: column; gap: 8px; }
.faq { border: 1px solid var(--brd-soft); border-radius: 8px; background: rgba(255, 255, 255, .02); transition: border-color .25s, background .25s; }
.faq[open] { border-color: rgba(200, 161, 74, .45); background: rgba(200, 161, 74, .04); }
.faq > summary { list-style: none; cursor: pointer; display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; font-family: var(--ui); font-size: 15.5px; font-weight: 600; line-height: 1.4; color: var(--gold-lt); }
.faq > summary::-webkit-details-marker { display: none; }
.faq > summary::before { content: '+'; flex: 0 0 18px; width: 18px; text-align: center; font-weight: 400; font-size: 20px; line-height: 1.05; color: var(--gold); transition: transform .25s; }
.faq[open] > summary::before { content: '–'; }
.faq > summary:hover { color: var(--gold-hi); }
.faq-a { padding: 0 16px 14px 46px; }
.faq-a > :last-child { margin-bottom: 0; }
@media (max-width: 640px) {
    .faq > summary { padding: 12px 12px; font-size: 14.5px; }
    .faq-a { padding: 0 12px 12px 12px; }
}
