/* Pivnice U devatero řemesel – shared styles of the Elementor pages, loaded by the mu-plugin pv-site.php.
   Only what Elementor has no control for lives here; colors and fonts of single elements stay in Elementor.
   Brand: navy #284863, gold #d19437, cream #f9f0e0, dark gold #a8731f, Bebas Neue + Inter.
   Breakpoints follow Elementor: mobile ≤ 767 px, tablet ≤ 1024 px. */

html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:#f9f0e0;-webkit-font-smoothing:antialiased}
html.pv-noscroll{overflow:hidden}

/* ---------- shared ---------- */
.pv-ill img{filter:drop-shadow(0 14px 24px rgba(0,0,0,.33))}
.elementor-widget-image.pv-g img,.pv-ill img{display:block}
.pv-soc .elementor-icon{border-color:rgba(249,240,224,.45)!important;transition:background-color .2s,border-color .2s,color .2s}
.pv-soc--dim .elementor-icon{border-color:rgba(249,240,224,.3)!important}
.pv-soc--menu .elementor-icon{border-color:rgba(249,240,224,.5)!important}
.pv-soc .elementor-icon:hover{border-color:#d19437!important}
.elementor-button{transition:background-color .2s,color .2s,border-color .2s}
a.e-con .elementor-heading-title,a.e-con{transition:color .2s}
.pv-link-gold a:hover,.pv-foot a.e-con:hover .elementor-heading-title,.pv-foot .elementor-heading-title a:hover{color:#f9f0e0}
.pv-link-gold a{color:inherit}
@media (max-width:767px){.pv-inline-m br{display:none}}
@media (max-width:1024px){.pv-br-d br{display:none}}
.pv-only-m{display:none}
@media (max-width:767px){.pv-only-m{display:inline}}

/* ---------- 1. hero ---------- */
/* výška: celé okno, ale aspoň 720 px (obsah) a nejvýš 1000 px; návrh má 1440 x 860 a 390 x 844 */
.elementor .e-con.pv-hero{--min-height:clamp(720px,100svh,1000px);min-height:clamp(720px,100svh,1000px)}
@media (max-width:1024px){.elementor .e-con.pv-hero{--min-height:max(780px,100svh);min-height:max(780px,100svh)}}
@media (max-width:767px){.elementor .e-con.pv-hero{--min-height:max(720px,100svh);min-height:max(720px,100svh)}}
/* aktivní stránka v menu: třída pv-nav--a<pořadí položky> z generátoru */
.pv-nav--a1 .elementor-icon-list-item:nth-child(1) .elementor-icon-list-text,.pv-nav--a2 .elementor-icon-list-item:nth-child(2) .elementor-icon-list-text,.pv-nav--a3 .elementor-icon-list-item:nth-child(3) .elementor-icon-list-text,.pv-nav--a4 .elementor-icon-list-item:nth-child(4) .elementor-icon-list-text,.pv-nav--a5 .elementor-icon-list-item:nth-child(5) .elementor-icon-list-text,.pv-nav--a6 .elementor-icon-list-item:nth-child(6) .elementor-icon-list-text,.pv-nav--a7 .elementor-icon-list-item:nth-child(7) .elementor-icon-list-text{color:#d19437}
/* 1025–1240 px: menu se musí vejít vlevo od provázků cedule */
@media (min-width:1025px) and (max-width:1240px){
  .pv-nav .elementor-icon-list-items{--pv-gap:18px}
  .pv-nav .elementor-icon-list-item{margin-right:9px!important;margin-left:9px!important;padding:0!important}
  .pv-nav .elementor-icon-list-text{font-size:13px!important}
  .elementor .e-con.pv-hero-socials,.elementor .e-con.pv-subhead-socials{display:none}
  .pv-hero-head>.elementor-widget-icon-list{margin-right:300px}
}
/* tablet a mobil: menu je schované, sítě a hamburger se odsunou doprava */
@media (max-width:1024px){.elementor .e-con.pv-hero-socials{margin-left:auto!important;--margin-left:auto}}
/* cedule: na desktopu visí vpravo nahoře (absolutně), na tabletu a mobilu je pod hlavičkou v toku stránky */
@media (max-width:1024px){
  .elementor .e-con.pv-sign{position:relative!important;--position:relative;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important}
}
.pv-sign-string{pointer-events:none}
/* mobil: „Celá nabídka“ je podtržený odkaz vedle hodnocení, ne obrys */
@media (max-width:767px){
  .pv-btn-link .elementor-button{background:none!important;border-width:0 0 2px!important;border-color:#d19437!important;border-radius:0!important;padding:3px 0 0!important}
  .pv-btn-link .elementor-button:hover{color:#d19437!important}
}
.pv-hero-cta a.e-con:hover .elementor-heading-title{color:#f9f0e0}

/* ---------- hlavička podstránek ---------- */
@media (max-width:1024px){.pv-subhead .pv-head-cta{margin-left:auto}}
.pv-crumbs a{color:#d19437}
.pv-crumbs a:hover{color:#f9f0e0}
.pv-btn-arrow .elementor-button-icon{font-size:.7em}
.pv-btn-arrow .elementor-button-icon svg{width:1em;height:1em}
.pv-btn-arrow .elementor-button-content-wrapper{align-items:center}

/* ---------- ubytování ---------- */
.pv-dest{transition:transform .2s,box-shadow .2s}
.pv-dest:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,0,0,.25)}
/* fotky: na mobilu se dva sloupce koláže rozpustí (display:contents) a fotky jedou v jedné řadě do strany */
@media (max-width:767px){
  .elementor .e-con.pv-collage{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0 20px;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .pv-collage::-webkit-scrollbar{display:none}
  .elementor .e-con.pv-collage-col{display:contents}
  .pv-collage-col>.e-con{scroll-snap-align:start}
  .pv-collage::after{content:"";flex:0 0 10px}
}

/* ---------- kontakty ---------- */
.pv-gold{color:#d19437}
.pv-navigate a{display:inline-flex;align-items:center;gap:8px;min-height:32px}
.pv-navigate a:hover,.pv-contact-big a:hover{color:#a8731f}
.pv-contact-big .elementor-heading-title{overflow-wrap:anywhere}
.pv-soc-navy .elementor-icon{transition:background-color .2s,color .2s}
.pv-map iframe{display:block;width:100%;border:0}
/* kontaktní formulář (Elementor Pro): pole jako v návrhu, fajfka u správně vyplněného pole a chyby doplňuje pv.js */
.pv-contact-form .elementor-field-group{position:relative}
.pv-contact-form .elementor-form-fields-wrapper{align-items:flex-start}
.pv-contact-form .elementor-field-textual{min-height:56px;padding:0 48px 0 20px;box-shadow:none;outline:none;transition:border-color .2s}
.pv-contact-form textarea.elementor-field-textual{border-radius:18px!important;padding:16px 48px 16px 18px;resize:vertical;min-height:0}
.pv-contact-form .elementor-field-textual::placeholder{color:rgba(40,72,99,.5);opacity:1}
.pv-contact-form .elementor-field-textual:focus{border-color:#d19437!important}
.pv-contact-form .is-valid .elementor-field-textual{border-color:#284863!important}
.pv-contact-form .is-invalid .elementor-field-textual{border-color:#c0392b!important}
.pv-cf-badge{position:absolute;right:14px;top:15px;width:26px;height:26px;border-radius:50%;background:#284863;display:none;align-items:center;justify-content:center;pointer-events:none}
.pv-cf-badge svg{width:14px;height:14px}
.is-valid>.pv-cf-badge{display:flex;animation:pvCkPop .3s ease-out both}
.pv-cf-err{display:none;width:100%;margin-top:8px;font:600 13px/1.4 Inter,sans-serif;color:#c0392b}
.is-invalid>.pv-cf-err{display:block}
.pv-cf-optional{font-weight:500;opacity:.7}
.pv-contact-form .elementor-field-type-acceptance>.elementor-field-label{display:none}
.pv-contact-form .elementor-field-type-acceptance .elementor-field-option{display:flex;gap:12px;align-items:flex-start;min-height:44px}
/* zaškrtávátko má třídu elementor-field, takže by převzalo kulatý rámeček polí formuláře */
.pv-contact-form .elementor-field-group .elementor-acceptance-field{-webkit-appearance:none;appearance:none;flex-shrink:0;width:26px;height:26px;min-height:0;margin:0;padding:0;border:2px solid #284863!important;border-radius:8px!important;background:transparent center/14px no-repeat!important;cursor:pointer;transition:background-color .2s}
.pv-contact-form .elementor-field-group .elementor-acceptance-field:checked{background-color:#284863!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23f9f0e0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
.pv-contact-form .elementor-acceptance-field:focus-visible{outline:2px solid #d19437;outline-offset:2px}
.pv-contact-form .elementor-field-group.is-invalid .elementor-acceptance-field{border-color:#c0392b!important}
.pv-contact-form .elementor-field-type-acceptance label{cursor:pointer;font:400 14px/1.5 Inter,sans-serif;color:#284863;padding-top:2px}
.pv-contact-form .elementor-button{opacity:.55;transition:opacity .2s,background-color .2s,color .2s}
.pv-contact-form form.is-ready .elementor-button{opacity:1}
/* Pro 3.5.2 vykreslí ikonu před textem v obyčejném <span>, Elementor 4 už třídu elementor-align-icon-right neřadí */
.pv-contact-form button[type=submit]>span{display:inline-flex;flex-direction:row-reverse;align-items:center;gap:12px}
.pv-contact-form .elementor-button-icon{margin:0!important;color:#d19437;font-size:16px;line-height:1}
.pv-contact-form .elementor-button-icon svg{width:16px;height:16px;fill:currentColor}
.pv-contact-form .elementor-button:hover .elementor-button-icon{color:#284863}
.pv-contact-form .elementor-message-success{display:none}
.pv-contact-form .elementor-message{font:600 14px/1.45 Inter,sans-serif;margin-top:12px}
.pv-contact-form .elementor-form-waiting .elementor-button-text{position:relative;color:transparent}
.pv-contact-form .elementor-form-waiting .elementor-button-text::after{content:"Odesílám…";position:absolute;left:0;top:0;color:#f9f0e0;white-space:nowrap}
/* reset.css šablony Hello: tlačítka při najetí #c36 */
.pv-contact-card .pv-cf-again:hover,.pv-contact-card .pv-cf-again:focus{background:#284863;color:#f9f0e0}
.pv-cf-ok{display:none;flex-direction:column;align-items:flex-start;gap:18px;padding:40px 0;color:#284863;animation:pvFadeUp .4s ease-out both}
.pv-contact-card.is-sent .pv-cf-ok{display:flex}
.pv-contact-card.is-sent>.e-con,.pv-contact-card.is-sent>.elementor-widget-form{display:none}
.pv-cf-ok-ic{width:96px;height:96px;border-radius:50%;background:#d19437;display:flex;align-items:center;justify-content:center;animation:pvCkPop .5s ease-out both}
.pv-cf-ok-ic svg{width:50%;height:50%}
.pv-cf-ok-title{margin:0;font:400 72px/1 'Bebas Neue',sans-serif;color:#284863}
.pv-cf-ok-text{margin:0;font:400 17px/1.6 Inter,sans-serif;max-width:480px}
.pv-cf-again{all:unset;box-sizing:border-box;cursor:pointer;height:48px;padding:0 22px;border-radius:999px;border:2px solid #284863;display:flex;align-items:center;font:700 15px/1 Inter,sans-serif;color:#284863;transition:background-color .2s,color .2s}
@media (max-width:767px){
  .pv-cf-ok{padding:20px 0}
  .pv-cf-ok-ic{width:72px;height:72px}
  .pv-cf-ok-title{font-size:48px}
  .pv-cf-ok-text{font-size:15px}
  .pv-contact-form .elementor-button{width:100%;justify-content:center}
}

/* ---------- nápojový lístek (stránka Menu) ---------- */
/* navigace: na PC lepivý tmavý panel vlevo, na tabletu a mobilu lepivý pruh s čipy nad seznamem */
.elementor .e-con.pv-mnav-box{position:sticky;top:24px;z-index:5}
body.admin-bar .elementor .e-con.pv-mnav-box{top:56px}
@media (max-width:1024px){.elementor .e-con.pv-mnav-box{top:0}body.admin-bar .elementor .e-con.pv-mnav-box{top:46px}}
@media (max-width:600px){body.admin-bar .elementor .e-con.pv-mnav-box{top:0}}
.pv-mnav button{all:unset;box-sizing:border-box;cursor:pointer;font-family:Inter,sans-serif}
.pv-mnav button:focus-visible{outline:2px solid #d19437;outline-offset:2px}
.pv-mnav-list{display:flex;flex-direction:column;gap:4px}
.pv-mnav .pv-mnav-cat{display:flex;align-items:center;gap:14px;width:100%;height:52px;padding:0 14px;border-radius:14px;color:#f9f0e0;font-weight:700;font-size:16px;transition:background-color .2s}
.pv-mnav .pv-mnav-cat i{width:22px;text-align:center;font-size:17px;color:#d19437}
.pv-mnav .pv-mnav-cat .chev{width:auto;margin-left:auto;font-size:12px;color:inherit;transition:transform .2s}
.pv-mnav .pv-mnav-cat:hover,.pv-mnav .pv-mnav-cat:focus{background:rgba(249,240,224,.08);color:#f9f0e0}
.pv-mnav .pv-mnav-cat.is-on,.pv-mnav .pv-mnav-cat.is-on:hover,.pv-mnav .pv-mnav-cat.is-on:focus{background:#d19437;color:#284863}
.pv-mnav .pv-mnav-cat.is-on i{color:#284863}
.pv-mnav .pv-mnav-cat.is-open .chev{transform:rotate(180deg)}
.pv-mnav-subs{display:flex;flex-direction:column;gap:2px;padding:4px 0 8px 50px}
.pv-mnav .pv-mnav-sub{display:flex;align-items:center;gap:10px;height:38px;padding:0 12px;border-radius:10px;color:#f9f0e0;font-weight:500;font-size:15px}
.pv-mnav .pv-mnav-sub::before{content:"";width:6px;height:6px;border-radius:50%;background:rgba(249,240,224,.35);flex-shrink:0}
.pv-mnav .pv-mnav-sub:hover,.pv-mnav .pv-mnav-sub:focus{background:none;color:#d19437}
.pv-mnav .pv-mnav-sub.is-on{color:#d19437;font-weight:700}
.pv-mnav .pv-mnav-sub.is-on::before{background:#d19437}
.pv-mchips{display:none}
@media (max-width:1024px){
  .pv-mnav-list{display:none}
  .pv-mchips{display:flex;flex-direction:column;gap:10px}
  .pv-mchips-row{display:flex;gap:8px;overflow-x:auto;padding:0 32px;scrollbar-width:none;-ms-overflow-style:none}
  .pv-mchips-row::-webkit-scrollbar{display:none}
  .pv-mchips-subs{gap:6px}
  .pv-mnav .pv-mchip{flex:0 0 auto;height:44px;padding:0 16px;border-radius:999px;border:1.5px solid rgba(249,240,224,.35);color:#f9f0e0;display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}
  .pv-mnav .pv-mchip i{font-size:14px}
  .pv-mnav .pv-mchip:hover,.pv-mnav .pv-mchip:focus{background:none;color:#f9f0e0}
  .pv-mnav .pv-mchip.is-on,.pv-mnav .pv-mchip.is-on:hover,.pv-mnav .pv-mchip.is-on:focus{background:#d19437;border-color:#d19437;color:#284863}
  .pv-mnav .pv-msub-chip{flex:0 0 auto;height:36px;padding:0 14px;border-radius:999px;background:rgba(249,240,224,.1);color:#f9f0e0;display:flex;align-items:center;font-weight:700;font-size:13px}
  .pv-mnav .pv-msub-chip:hover,.pv-mnav .pv-msub-chip:focus{background:rgba(249,240,224,.1);color:#f9f0e0}
  .pv-mnav .pv-msub-chip.is-on,.pv-mnav .pv-msub-chip.is-on:hover,.pv-mnav .pv-msub-chip.is-on:focus{background:#f9f0e0;color:#284863}
}
@media (max-width:767px){.pv-mchips-row{padding:0 20px}}
/* bez JS se ukáže celý lístek pod sebou, s JS jen vybraná kategorie */
.pv-menu-js .pv-mcat:not(.is-on),.pv-menu-js .pv-mgroup.is-off{display:none}
.pv-menu-js .pv-mcat.is-on{animation:pvFadeUp .35s ease-out both}
.pv-mcat{scroll-margin-top:24px}
@media (max-width:1024px){.pv-mcat{scroll-margin-top:140px}}
.pv-mnote{opacity:.85}
.pv-mgroup-title>.elementor-element:last-child:not(:first-child){flex-shrink:0;white-space:nowrap}
/* položky (widget Ceník): dva sloupce, objem a cena vpravo */
.pv-pl .elementor-price-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;margin:0;padding:0;list-style:none}
.pv-pl .elementor-price-list li{margin:0!important;padding:20px 0;border-bottom:1px solid rgba(40,72,99,.14)}
.pv-pl .elementor-price-list-image,.pv-pl .elementor-price-list-separator{display:none}
.pv-pl .elementor-price-list-item{display:block;padding:0}
.pv-pl .elementor-price-list-text{display:block;padding:0}
.pv-pl .elementor-price-list-header{display:flex;align-items:baseline;gap:18px;margin:0;padding:0}
.pv-pl .elementor-price-list .elementor-price-list-title{flex:1 1 auto;min-width:0;max-width:none;font:700 18px/1.3 Inter,sans-serif;color:#284863}
.pv-pl .elementor-price-list .elementor-price-list-price{display:flex;align-items:baseline;gap:18px;flex-shrink:0;white-space:nowrap;font:400 32px/1 'Bebas Neue',sans-serif;color:#284863}
.pv-pl .pv-vol{font:700 14px/1 Inter,sans-serif;color:#a8731f}
.pv-pl .elementor-price-list .elementor-price-list-description{margin:5px 0 0;padding:0;font:400 14px/1.5 Inter,sans-serif;color:#284863}
.pv-pl .pv-tag{display:inline-block;margin:0 0 0 10px;vertical-align:2px;background:#d19437;color:#284863;font:700 11px/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;white-space:nowrap}
@media (max-width:1024px){.pv-pl .elementor-price-list{column-gap:32px}}
@media (max-width:767px){
  .pv-pl .elementor-price-list{grid-template-columns:minmax(0,1fr)}
  .pv-pl .elementor-price-list li{padding:16px 0}
  .pv-pl .elementor-price-list-header{gap:14px}
  .pv-pl .elementor-price-list .elementor-price-list-title{font-size:16px}
  .pv-pl .elementor-price-list .elementor-price-list-price{font-size:28px;gap:10px}
  .pv-pl .pv-vol{font-size:12px}
  .pv-pl .elementor-price-list .elementor-price-list-description{font-size:13px;margin-top:4px}
  .pv-pl .pv-tag{font-size:10px;padding:3px 8px;margin-left:8px}
}
/* karty PDF */
.pv-pdf{transition:transform .2s}
.pv-pdf:hover{transform:translateY(-3px)}

/* ---------- 3. menu – karty ---------- */
.pv-card .pv-card-ill img{filter:drop-shadow(0 14px 20px rgba(0,0,0,.3));pointer-events:none}
@media (max-width:767px){
  .elementor .pv-card .pv-card-ill{position:relative!important;left:auto!important;top:auto!important;width:92px!important;max-width:92px;height:92px;border-radius:50%;background:#d19437;display:flex;align-items:center;justify-content:center}
  .elementor .pv-card--dark .pv-card-ill{background:rgba(249,240,224,.12)}
  .pv-card .pv-card-ill img{width:76px!important;height:76px!important;filter:none}
}

/* ---------- 4. galerie – dvě nekonečné řady fotek na šňůře ---------- */
/* pv.js zdvojí fotky v řadě, posun o -50 % pak navazuje bez skoku (mezera je margin, ne gap) */
.elementor .e-con.pv-gal-track{--width:max-content;width:max-content;max-width:none;animation:pvGalR 70s linear infinite;will-change:transform}
.elementor .e-con.pv-gal-track--l{animation-name:pvGalL}
.pv-gal-track:hover,.pv-gal-track:focus-within{animation-play-state:paused}
.elementor .pv-gal-track>.e-con{margin-right:28px}
@media (max-width:767px){.elementor .e-con.pv-gal-track{animation-duration:45s}.elementor .pv-gal-track>.e-con{margin-right:18px}}
@keyframes pvGalR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes pvGalL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.pv-gal-item a.e-con{display:block}
body.elementor-editor-active .elementor .e-con.pv-gal-track{animation:none}
@media (prefers-reduced-motion:reduce){
  .elementor .e-con.pv-gal-track{animation:none}
  .elementor .e-con.pv-gal-row{overflow-x:auto;scrollbar-width:thin}
}

/* ---------- 5. rozcestník – směrovky ---------- */
.pv-flag--l{clip-path:polygon(0 50%,40px 0,100% 0,100% 100%,40px 100%)}
.pv-flag--r{clip-path:polygon(0 0,calc(100% - 40px) 0,100% 50%,calc(100% - 40px) 100%,0 100%)}
@media (max-width:767px){.pv-flag--l,.pv-flag--r{clip-path:polygon(0 0,calc(100% - 28px) 0,100% 50%,calc(100% - 28px) 100%,0 100%)}}
.pv-sign-card .pv-flag{transition:transform .25s}
.pv-sign-card:hover .pv-flag--l{transform:translateX(-6px)}
.pv-sign-card:hover .pv-flag--r{transform:translateX(6px)}
@media (max-width:767px){.pv-sign-card:hover .pv-flag--l{transform:translateX(6px)}}

/* ---------- 6. akce ---------- */
.elementor .e-con.pv-poster{aspect-ratio:9/16;display:block}
.pv-badge{pointer-events:none}
.pv-event a.e-con:hover .elementor-heading-title{color:#a8731f}
@media (max-width:767px){
  .elementor .e-con.pv-events{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0 50px;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .pv-events::-webkit-scrollbar{display:none}
  .pv-events>.e-con{scroll-snap-align:center}
  .pv-events::after{content:"";flex:0 0 34px}
}
.pv-events-thumb{transition:left .1s linear}
.pv-events-next .elementor-icon{cursor:pointer}

/* ---------- 8. kontakty ---------- */
.pv-ci .elementor-icon{box-shadow:0 10px 20px rgba(80,50,0,.2)}
@media (max-width:767px){.pv-ci .elementor-icon{box-shadow:none}}
.pv-gpill:hover{filter:brightness(1.12)}

/* ---------- 10. mobilní menu ---------- */
.pv-menu{display:none!important}
.pv-menu.is-open{display:flex!important;height:100vh;height:100dvh;overflow-y:auto;animation:pvFade .25s ease-out both}
.pv-menu.is-open .pv-menu-item{animation:pvNavIn .35s ease-out both}
.pv-menu.is-open .pv-menu-item:nth-child(2){animation-delay:.04s}
.pv-menu.is-open .pv-menu-item:nth-child(3){animation-delay:.08s}
.pv-menu.is-open .pv-menu-item:nth-child(4){animation-delay:.12s}
.pv-menu.is-open .pv-menu-item:nth-child(5){animation-delay:.16s}
.pv-menu.is-open .pv-menu-item:nth-child(6){animation-delay:.2s}
.pv-menu.is-open .pv-menu-item:nth-child(7){animation-delay:.24s}
.pv-menu.is-open .pv-menu-bottom{animation:pvNavIn .35s ease-out .3s both}
.pv-menu-item:hover .elementor-heading-title{color:#d19437}
.pv-menu-open .elementor-icon,.pv-menu-close .elementor-icon{cursor:pointer}
.pv-menu-open .elementor-icon:focus,.pv-menu-close .elementor-icon:focus{outline:none}
.pv-menu-open .elementor-icon:focus-visible,.pv-menu-close .elementor-icon:focus-visible{outline:2px solid #f9f0e0;outline-offset:3px}
body.elementor-editor-active .pv-menu{display:flex!important;position:relative!important;min-height:0!important}
@media (min-width:1025px){.pv-menu.is-open{display:none!important}}
@keyframes pvFade{from{opacity:0}to{opacity:1}}
@keyframes pvNavIn{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}

/* =====================================================================================
   7. rezervace – průvodce (vykresluje pv.js do HTML widgetů, odesílá formulář Elementor Pro)
   ===================================================================================== */
/* reset.css šablony Hello barví každé tlačítko při najetí/fokusu na #c36, tady se vrací barvy průvodce */
.pv-rez .pv-rs-step:hover,.pv-rez .pv-rs-step:focus,.pv-rez .pv-rw-again:hover,.pv-rez .pv-rw-again:focus{background:none;color:inherit}
.pv-rez .pv-rw-opt:hover,.pv-rez .pv-rw-opt:focus{background:#fffaf1;color:#284863}
.pv-rez .pv-rw-date.is-on:hover,.pv-rez .pv-rw-date.is-on:focus{background:#d19437}
.pv-rez .pv-rw-time.is-on:hover,.pv-rez .pv-rw-time.is-on:focus,.pv-rez .pv-rw-person.is-on:hover,.pv-rez .pv-rw-person.is-on:focus{background:#284863;color:#f9f0e0}
.pv-rez .pv-rw-opt:disabled:hover{color:rgba(40,72,99,.4)}
.pv-rez .pv-rw-area:hover,.pv-rez .pv-rw-area:focus{background:transparent;color:#284863}
.pv-rez .pv-rw-area.is-on:hover,.pv-rez .pv-rw-area.is-on:focus{background:#284863;color:#f9f0e0}
.pv-rez .pv-rw-back:focus{background:none;color:#284863}
.pv-rez .pv-rw-back:hover{background:#284863;color:#f9f0e0}
.pv-rez .pv-plan-t:hover,.pv-rez .pv-plan-t:focus{background:#fffaf1;color:#284863}
.pv-rez .pv-plan-t.is-sel:hover,.pv-rez .pv-plan-t.is-sel:focus{background:#d19437}
.pv-rez .pv-plan-t.is-small:hover{background:#ece0c8;color:rgba(40,72,99,.5)}
/* kroky nad kartou */
.pv-rs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.pv-rs-step{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:10px;min-width:0}
.pv-rs-step.is-locked{cursor:not-allowed;opacity:.4}
.pv-rs-step:focus-visible{outline:2px solid #d19437;outline-offset:4px;border-radius:4px}
.pv-rs-bar{height:5px;border-radius:3px;background:rgba(249,240,224,.2);transition:background .4s}
.pv-rs-step.is-done .pv-rs-bar{background:#f9f0e0}
.pv-rs-step.is-cur .pv-rs-bar{background:#d19437}
.pv-rs-row{display:flex;align-items:center;gap:10px}
.pv-rs-num{width:30px;height:30px;flex-shrink:0;border-radius:50%;background:rgba(249,240,224,.15);color:#284863;display:flex;align-items:center;justify-content:center;font:700 13px/1 Inter,sans-serif;transition:background .3s}
.pv-rs-step.is-done .pv-rs-num{background:#f9f0e0}
.pv-rs-step.is-cur .pv-rs-num{background:#d19437}
.pv-rs-num .pv-pop{display:inline-block;animation:pvCkPop .45s cubic-bezier(.2,.9,.3,1.3) both}
.pv-rs-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.pv-rs-title{font:400 24px/1 'Bebas Neue',sans-serif;padding-top:3px;color:#f9f0e0}
.pv-rs-val{font:600 12px/1.3 Inter,sans-serif;color:#d19437;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:15px}
@media (max-width:767px){
  .pv-rs{gap:6px;padding-top:6px}
  .pv-rs-step{height:44px;justify-content:center}
  .pv-rs-row{display:none}
}

/* karta */
.elementor .e-con.pv-rez-card{position:relative;min-width:0}
.pv-rez-card>.elementor-element{position:static}
.pv-rw{display:flex;flex-direction:column;gap:24px;color:#284863}
.pv-rw-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.pv-rw-head-t{display:flex;flex-direction:column;gap:4px}
.pv-rw-kicker{font:700 13px/1.2 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#a8731f}
.pv-rw-title{font:400 52px/.9 'Bebas Neue',sans-serif}
.pv-rw-back{all:unset;box-sizing:border-box;cursor:pointer;height:46px;padding:0 20px;border-radius:999px;border:2px solid #284863;display:flex;align-items:center;font:700 14px/1 Inter,sans-serif;color:#284863;flex-shrink:0;transition:background .2s,color .2s}
.pv-rw-back:hover{background:#284863;color:#f9f0e0}
.pv-rw-sum{display:none;font:700 13px/1.45 Inter,sans-serif;color:#a8731f}
.pv-rw button:focus-visible{outline:2px solid #d19437;outline-offset:2px}

.pv-rw-dates,.pv-rw-times{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.pv-rw-people{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.pv-rw-opt{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:center;border:2px solid rgba(40,72,99,.2);background:#fffaf1;color:#284863;transition:border-color .2s,background .2s,color .2s}
.pv-rw-opt:hover{border-color:#d19437}
.pv-rw-date{height:84px;border-radius:16px;flex-direction:column;gap:2px}
.pv-rw-date .wd{font:700 12px/1.2 Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em}
.pv-rw-date .num{font:400 36px/.9 'Bebas Neue',sans-serif}
.pv-rw-date.is-on{background:#d19437;border-color:#284863}
.pv-rw-time{height:56px;border-radius:999px;font:700 15px/1 Inter,sans-serif}
.pv-rw-time.is-on,.pv-rw-person.is-on{background:#284863;border-color:#284863;color:#f9f0e0}
.pv-rw-opt:disabled,.pv-rw-opt.is-off{cursor:not-allowed;color:rgba(40,72,99,.4);text-decoration:line-through;border-color:rgba(40,72,99,.2)!important;background:#fffaf1}
.pv-rw-person{height:64px;border-radius:14px;font:400 30px/1 'Bebas Neue',sans-serif;padding-top:3px}
.pv-rw-note{font:600 14px/1.4 Inter,sans-serif;margin-top:10px}
.pv-rw-note a{color:#a8731f}

.pv-rw-table{display:flex;flex-direction:column;gap:14px}
.pv-rw-tabletop{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pv-rw-areas{display:flex;background:#efe1c7;border-radius:999px;padding:4px;align-self:flex-start}
.pv-rw-area{all:unset;box-sizing:border-box;cursor:pointer;height:40px;padding:0 22px;border-radius:999px;display:flex;align-items:center;justify-content:center;font:700 14px/1 Inter,sans-serif;color:#284863;transition:background .2s,color .2s}
.pv-rw-area.is-on{background:#284863;color:#f9f0e0}
.pv-rw-legend{display:flex;flex-wrap:wrap;gap:14px 20px;font:600 13px/1.2 Inter,sans-serif}
.pv-rw-legend span{display:flex;align-items:center;gap:8px}
.pv-rw-legend i{width:18px;height:18px;border-radius:6px;box-sizing:border-box}
.pv-rw-legend .l-free{background:#fffaf1;border:2px solid #284863}
.pv-rw-legend .l-sel{background:#d19437;border:2px solid #284863}
.pv-rw-legend .l-small{background:#ece0c8;border:2px solid rgba(40,72,99,.25)}
/* půdorys 600 x 480 v procentech, písmo v jednotkách šířky půdorysu (cqw) */
.pv-plan{position:relative;width:100%;aspect-ratio:600/480;border-radius:18px;overflow:hidden;background:#f2e5cc;border:2px solid rgba(40,72,99,.15);container-type:inline-size;box-sizing:border-box}
.pv-plan-decor{position:absolute;display:flex;align-items:center;justify-content:center;font:700 2.17cqw/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.pv-plan-t{all:unset;box-sizing:border-box;position:absolute;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3cqw;border:3px solid #284863;background:#fffaf1;color:#284863;border-radius:3cqw;box-shadow:0 6px 14px rgba(40,72,99,.12);transition:background .2s,box-shadow .2s,transform .2s}
.pv-plan-t.is-round{border-radius:50%}
.pv-plan-t:hover{transform:translateY(-2px)}
.pv-plan-t .n{font:400 5cqw/.9 'Bebas Neue',sans-serif;padding-top:.5cqw}
.pv-plan-t .s{font:700 2cqw/1 Inter,sans-serif}
.pv-plan-t.is-sel{background:#d19437;box-shadow:0 10px 22px rgba(209,148,55,.45)}
.pv-plan-t.is-small{cursor:not-allowed;background:#ece0c8;border-color:rgba(40,72,99,.25);color:rgba(40,72,99,.5);box-shadow:none;transform:none}

/* potvrzení kroku a odeslání */
.pv-rw-flash{position:absolute;inset:0;z-index:5;border-radius:26px;background:rgba(249,240,224,.95);display:flex;align-items:center;justify-content:center}
.pv-rw-flash-in,.pv-rw-success{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:20px}
.pv-rw-success{gap:18px;padding:48px 8px}
.pv-ck{position:relative;width:104px;height:104px;flex-shrink:0}
.pv-ck-ring,.pv-ck-dot{position:absolute;inset:0;border-radius:50%;background:#d19437}
.pv-ck-ring{animation:pvCkRing .9s ease-out .15s both}
.pv-ck-dot{display:flex;align-items:center;justify-content:center;animation:pvCkPop .45s cubic-bezier(.2,.9,.3,1.3) both}
.pv-ck svg{width:56%;height:56%}
.pv-ck path{stroke-dasharray:48;animation:pvCkDraw .4s ease-out .2s both}
.pv-rw-success .pv-ck{width:132px;height:132px}
.pv-burst{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;animation:pvBurst .9s ease-out .35s both}
.pv-rw-ok-title{font:400 48px/.9 'Bebas Neue',sans-serif;color:#284863;animation:pvFadeUp .35s ease-out .25s both}
.pv-rw-success .pv-rw-ok-title{font-size:72px;animation-delay:.45s}
.pv-rw-ok-text{font:700 16px/1.45 Inter,sans-serif;color:#a8731f;animation:pvFadeUp .35s ease-out .35s both;max-width:560px}
.pv-rw-ok-thanks{font:600 19px/1.45 Inter,sans-serif;color:#284863;animation:pvFadeUp .4s ease-out .6s both}
.pv-rw-success .pv-rw-ok-text{font-size:18px;animation-delay:.75s}
.pv-rw-again{all:unset;cursor:pointer;font:700 16px/1.4 Inter,sans-serif;text-decoration:underline;color:#284863;margin-top:6px}
.pv-rw-again:hover{color:#a8731f}

/* formulář Elementor Pro je vidět jen v kroku Kontakt */
.pv-rez-form{display:none}
.pv-rez-card.is-contact .pv-rez-form{display:block}
.pv-rez-card.is-sent .pv-rez-form{display:none}
.pv-rez-form .elementor-field-textual{min-height:50px;padding:0 14px;box-shadow:none;outline:none;transition:border-color .2s}
.pv-rez-form textarea.elementor-field-textual{padding:12px 14px;resize:vertical;min-height:0}
.pv-rez-form .elementor-field-textual:focus{border-color:#d19437!important}
.pv-rez-form .elementor-message-success{display:none}
.pv-rez-form .elementor-message{font:600 14px/1.45 Inter,sans-serif;margin-top:12px}
.pv-rez-form .elementor-form-waiting .elementor-button{opacity:.8}
.pv-rez-form .elementor-form-waiting .elementor-button-text::before{content:"";display:inline-block;width:18px;height:18px;margin:0 10px -3px 0;border-radius:50%;border:3px solid rgba(40,72,99,.3);border-top-color:#284863;box-sizing:border-box;animation:pvSpin .7s linear infinite}

/* souhrn vpravo */
.pv-rsum{display:flex;flex-direction:column;gap:18px}
.pv-rsum-row{display:flex;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(249,240,224,.15)}
.pv-rsum-l{font:600 14px/1.3 Inter,sans-serif;color:#f9f0e0}
.pv-rsum-v{display:flex;align-items:center;gap:8px;font:700 15px/1.3 Inter,sans-serif;text-align:right;color:rgba(249,240,224,.5)}
.pv-rsum-v.is-set{color:#d19437;animation:pvValIn .5s ease-out both}
.pv-rsum-v i{font-style:normal;width:18px;height:18px;border-radius:50%;background:#d19437;color:#284863;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}

/* tablet a mobil: bez bočního souhrnu, krátký souhrn v kartě */
@media (max-width:1024px){.pv-rw-sum.has-sum{display:block}}
@media (max-width:767px){
  .pv-rw{gap:18px}
  .pv-rw-head{align-items:flex-end;gap:12px}
  .pv-rw-head-t{gap:2px}
  .pv-rw-kicker{font-size:12px;letter-spacing:.1em}
  .pv-rw-title{font-size:38px}
  .pv-rw-back{height:44px;padding:0 14px;font-size:13px}
  .pv-rw-dates,.pv-rw-times,.pv-rw-people{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pv-rw-date{height:66px}
  .pv-rw-date .num{font-size:26px}
  .pv-rw-time{height:46px}
  .pv-rw-person{height:52px}
  .pv-rw-table{gap:12px}
  .pv-rw-tabletop{display:contents}
  .pv-rw-areas{display:grid;grid-template-columns:1fr 1fr;align-self:stretch}
  .pv-rw-legend{order:3}
  .pv-plan-decor{font-size:3.33cqw}
  .pv-plan-t{border-width:2px;border-radius:3cqw}
  .pv-plan-t .n{font-size:7.7cqw}
  .pv-plan-t .s{font-size:3cqw}
  .pv-ck{width:76px;height:76px}
  .pv-rw-flash{border-radius:20px}
  .pv-rw-ok-title{font-size:34px}
  .pv-rw-success{padding:28px 4px}
  .pv-rw-success .pv-ck{width:96px;height:96px}
  .pv-rw-success .pv-rw-ok-title{font-size:46px}
  .pv-rw-ok-thanks{font-size:16px}
  .pv-rw-success .pv-rw-ok-text{font-size:15px}
  .pv-rez-form .elementor-button{width:100%;justify-content:center}
}
@keyframes pvCkPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes pvCkDraw{from{stroke-dashoffset:48}to{stroke-dashoffset:0}}
@keyframes pvCkRing{0%{transform:scale(.8);opacity:.6}100%{transform:scale(1.9);opacity:0}}
@keyframes pvFadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pvValIn{0%{opacity:0;transform:translateX(8px)}100%{opacity:1;transform:none}}
@keyframes pvBurst{0%{transform:translate(0,0) scale(.4);opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(1);opacity:0}}
@keyframes pvSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.pv-rez *,.pv-menu *{animation-duration:.01ms!important;animation-delay:0s!important}}
