/* =============================================================
   Claude Preview Styles - Wiesergut paleta (bĂ­lĂˇ primĂˇrnĂ­)
   Aktivace ?preview=1 / vypnutĂ­ ?preview=0. Scoped pod body.cp-preview.
   GenerovĂˇno z child style.css: pĹ™evzata pravidla s barvou, vymÄ›nÄ›na hodnota.
   ============================================================= */

body.cp-preview {
  --gold: #a7a697;
}
body.cp-preview .bg-sand {
  background-color: #a7a697;
}
body.cp-preview .bg-stone {
  background-color: #a7a697;
}
body.cp-preview {
  background: #ffffff !important;
}
body.cp-preview .elementor-kit-6 a {
  color: #ffffff;
}
body.cp-preview .elementor-kit-6 a:hover {
  color: #f5f5f4;
}
body.cp-preview .elementor-widget-button .elementor-button {
  color: #595850;
  background: #a7a697;
}
body.cp-preview h1, body.cp-preview h2, body.cp-preview h3, body.cp-preview h4, body.cp-preview h5, body.cp-preview h6 {
  color: #a7a697;
}
body.cp-preview .single-post.elementor-kit-6 h1 {
  color: #595850;
}
body.cp-preview .elementor-kit-6 h5 {
  color: #595850;
}
body.cp-preview .elementor-kit-6 h2 {
  color: #595850;
}
body.cp-preview .elementor-kit-6 h3 {
  color: #595850;
}
body.cp-preview .elementor-kit-6 {
  --e-global-color-primary: #595850;
  --e-global-color-secondary: #595850;
  --e-global-color-text: #595850;
  color: #595850;
}
body.cp-preview .opacity-color h2 {
  color: #c6c4b4;
}
body.cp-preview .elementor-widget-button .elementor-button {
  color: #333333;
  background: #ffffff;
}
body.cp-preview .elementor-widget-button .elementor-button:hover {
  color: #333333;
  background: #a7a697;
}
body.cp-preview .elementor-widget-button.link .elementor-button {
  color: #f5f5f4;
  border-bottom: 2px solid #f5f5f4;
}
body.cp-preview .elementor-widget-button.link.icon .elementor-button .elementor-button-text {
  border-bottom: 2px solid #f5f5f4;
}
body.cp-preview .fixed-header header.hlavicka {
  background: #595850;
}
body.cp-preview .page-id-613 header.hlavicka, body.cp-preview .page-id-338 header.hlavicka, body.cp-preview .elementor-page-168 header.hlavicka {
  background: #595850;
}
body.cp-preview .menu-button .mb {
  color: #333333;
}
body.cp-preview nav.elementor-nav-menu--main ul li a {
  color: #ffffff;
}
/* Klik/tap na polozku v otevrenem menu (popup 55) prebarvoval odkaz na tmavou
   olivovou #595850 - na tmavem pozadi popupu byl text prakticky neviditelny.
   Na pozadani uzivatele: stejna barva jako normalni odkaz (bila), jen podtrzeni. */
body.cp-preview nav.elementor-nav-menu--main ul li a:hover,
body.cp-preview nav.elementor-nav-menu--main ul li a:focus,
body.cp-preview nav.elementor-nav-menu--main ul li a:active {
  color: #ffffff !important;
  text-decoration: underline !important;
}
body.cp-preview #elementor-popup-modal-55 .dialog-widget-content {
  background-color: #a7a697 !important;
}
body.cp-preview header .cpel-switcher__lang a {
  color: #ffffff;
}
body.cp-preview header .cpel-switcher__lang.cpel-switcher__lang--active a {
  background: #a7a697;
  color: #333333;
}
body.cp-preview #main h1 {
  color: #ffffff;
}
body.cp-preview #main .hero-box .shadow-row .elementor-icon svg *, body.cp-preview #main .hero-box .shadow-row .elementor-icon svg path {
  stroke: #333333 !important;
}
body.cp-preview #main .hero-box  .button-row .elementor-widget.elementor-widget-heading {
  color: #f5f5f4;
}
body.cp-preview #main .hero-box .elementor-icon-box-title {
  color: #f5f5f4;
}
body.cp-preview #main .hero-box .elementor-icon-box-title strong {
  color: #ffffff;
}
body.cp-preview #main .desc {
  color: #f5f5f4;
}
body.cp-preview #roubenky .section-title:first-child h2 {
  color: #c6c4b4;
}
body.cp-preview #roubenky .elementor-flip-box .elementor-flip-box__back .elementor-flip-box__layer__overlay::after {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(255 255 255));
}
body.cp-preview #roubenky .elementor-flip-box__layer__description {
  color: #ffffff;
}
body.cp-preview #roubenky .elementor-flip-box__button.elementor-button {
  color: #ffffff;
  border-bottom: 2px solid #ffffff;
}
body.cp-preview #roubenky .elementor-flip-box:hover .elementor-flip-box__layer__description, body.cp-preview #roubenky .elementor-flip-box:hover .elementor-flip-box__layer__title, body.cp-preview #roubenky .elementor-flip-box:hover .elementor-flip-box__button.elementor-button {
  color: #444640 !important;
}
body.cp-preview #roubenky .elementor-flip-box:hover .elementor-flip-box__button.elementor-button {
  border-color: #444640;
}
body.cp-preview #roubenky .elementor-flip-box__layer__overlay {
  color: #ffffff;
}
/* Kazda dlazdice chalupy (flip-box front) mela Elementoruv vychozi
   tyrkysovy background-color (#1abc9c), ktery kratce problikl pred
   nactenim fotky na pozadi. Nahrazeno barvou pouzitou v hamburger menu,
   pro vsechna rozliseni. */
body.cp-preview #roubenky .elementor-flip-box__front {
  background-color: #a7a697 !important;
}
body.cp-preview #malebna-krajina .video-krajina:before {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(51 51 51)) !important;
}
body.cp-preview #krajina:before {
  background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.5) 30%, rgba(255, 255, 255, 0) 60%) !important;
}
body.cp-preview #krajina .section-title h2 {
  color: #595850;
}
body.cp-preview #krajina .section-title h2 .black {
  color: #c6c4b4 !important;
}
body.cp-preview #krajina .video-krajina:before {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(51 51 51)) !important;
}
body.cp-preview #krajina .elementor-widget-button.link .elementor-button {
  color: #595850;
  border-bottom: 2px solid #595850;
}
body.cp-preview #krajina .popis-krajina {
  color: #595850;
}
body.cp-preview #rezervace .elementor-widget-n-tabs .e-n-tab-title {
  color: #333333;
}
body.cp-preview #rezervace .elementor-widget-n-tabs .e-n-tab-title[aria-selected=true], body.cp-preview #rezervace .elementor-widget-n-tabs .e-n-tab-title[aria-selected=true] a {
  background: #a7a697;
}
body.cp-preview #bottom {
  color: #ffffff;
  background-color: #595850;
}
body.cp-preview #bottom a {
  color: #ffffff;
}
body.cp-preview #bottom a:hover {
  color: #f5f5f4;
}
body.cp-preview #recenze {
  background: #a7a697;
  color: #595850;
}
body.cp-preview #bottom h3.elementor-heading-title {
  color: #f5f5f4;
}
body.cp-preview #bottom #recenze h3.elementor-heading-title {
  color: #595850;
}
body.cp-preview #recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-next, body.cp-preview #recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-prev {
  background: #a7a697;
  color: #333333;
}
body.cp-preview #recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-next:hover, body.cp-preview #recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-prev:hover {
  background: #a7a697;
}
body.cp-preview #recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-next svg, body.cp-preview #recenze .elementor-widget-loop-carousel .elementor-swiper-button.elementor-swiper-button-prev svg {
  fill: ##595850;
}
body.cp-preview #recenze a {
  color: #595850;
}
body.cp-preview #recenze a:hover {
  color: #595850;
}
body.cp-preview .social-icon a.elementor-icon {
  background: #a7a697;
}
body.cp-preview .social-icon a.elementor-icon:hover {
  background: #a7a697;
}
body.cp-preview .social-icon a.elementor-icon svg {
  fill: #333333;
}
body.cp-preview #main-chalupa h3 {
  color: #f5f5f4;
}
body.cp-preview #main-chalupa .elementor-widget-text-editor {
  color: #f5f5f4;
}
body.cp-preview #o-roubence .elementor-widget-button .elementor-button {
  color: #ffffff;
  background: #595850;
}
body.cp-preview #o-roubence .elementor-widget-button .elementor-button:hover {
  color: #595850;
  background: #a7a697;
}
body.cp-preview #main-page .elementor-widget-text-editor {
  color: #f5f5f4;
}
body.cp-preview #main-page .white.elementor-widget-text-editor {
  color: #ffffff;
}
body.cp-preview #ceniky .elementor-widget-n-tabs .e-n-tab-title {
  color: #333333;
  background: #ffffff;
}
body.cp-preview #ceniky .elementor-widget-n-tabs .e-n-tab-title[aria-selected=true], body.cp-preview #ceniky .elementor-widget-n-tabs .e-n-tab-title[aria-selected=true] a {
  background: #595850;
  color: #f5f5f4;
}
body.cp-preview #podminky .elementor-widget-icon-box {
  background: #a7a697;
  color: #595850;
}
body.cp-preview #podminky .elementor-widget-icon-box:hover {
  background: #595850;
}
body.cp-preview #podminky .elementor-widget-icon-box svg {
  color: #f5f5f4;
}
body.cp-preview #podminky .elementor-widget-icon-box svg, body.cp-preview #podminky .elementor-widget-icon-box svg * {
  stroke: #595850 !important;
}
body.cp-preview #podminky .elementor-widget-icon-box h3 {
  color: #595850;
}
body.cp-preview #podminky .elementor-icon-box-description {
  color: #595850;
}
body.cp-preview #podminky .elementor-widget-icon-box:hover h3, body.cp-preview #podminky .elementor-widget-icon-box:hover .elementor-icon-box-description {
  color: #ffffff;
}
body.cp-preview #podminky .elementor-widget-icon-box:hover svg, body.cp-preview #podminky .elementor-widget-icon-box:hover svg * {
  stroke: #ffffff !important;
}
body.cp-preview #sluzby .e-con-full.box {
  background: #ffffff;
}
body.cp-preview #sluzby .e-con-full.box:hover {
  background: #595850;
}
body.cp-preview #sluzby svg {
  color: #595850;
}
body.cp-preview #sluzby .elementor-widget-icon-box h3 {
  color: #595850;
}
body.cp-preview #sluzby .kat-list li {
  color: #595850;
}
body.cp-preview #sluzby .kat-list li::before {
  background: #595850;
}
body.cp-preview #sluzby .box:hover h3, body.cp-preview #sluzby .box:hover .kat-list li {
  color: #ffffff;
}
body.cp-preview #sluzby .box:hover .kat-list li::before {
  background: #ffffff;
}
body.cp-preview #sluzby .box:hover svg, body.cp-preview #sluzby .box:hover svg * {
  stroke: #ffffff !important;
}
body.cp-preview #main-gallery h1 {
  color: #595850;
}
body.cp-preview #blog .elementor-widget-posts .elementor-post__text {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(51 51 51));
}
body.cp-preview .page-id-759 {
  background-color: #444640;
}
body.cp-preview .page-id-759 .fixed-header header.hlavicka {
  background: #444640;
}

body.cp-preview #vypnete .section-title.absolute.right.cp-split .elementor-heading-title::before {
  color: var(--cp-solid, #c6c4b4);
  -webkit-text-fill-color: var(--cp-solid, #c6c4b4);
}

/* Část nadpisu PŘES fotku (::after) -> plná bílá, bez průhlednosti a bez obrysu (přání klienta) */
body.cp-preview #vypnete .section-title.absolute.right.cp-split .elementor-heading-title::after {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  -webkit-text-stroke-width: 0 !important;
  -webkit-text-stroke-color: transparent !important;
}

/* --- HlavnĂ­ (tÄ›lovĂ˝) font slabĹˇĂ­m Ĺ™ezem; nadpisovĂ˝ font beze zmÄ›ny --- */
body.cp-preview,
body.cp-preview p,
body.cp-preview li,
body.cp-preview .elementor-widget-text-editor,
body.cp-preview .elementor-widget-text-editor p {
  font-weight: 300;
}

/* === Korekce kontrastu po inverzi na bĂ­lou primĂˇrnĂ­ === */
/* Link-style tlaÄŤĂ­tka jsou textovĂ© odkazy -> nikdy plnĂ© pozadĂ­ (jinak bĂ­lĂˇ krabiÄŤka). */
body.cp-preview .elementor-widget-button.link .elementor-button { background: transparent !important; }
/* Hero (#main): svÄ›tlĂ© prvky na tmavĂ© fotce. */
body.cp-preview #main .hero-box .elementor-widget-button.link .elementor-button,
body.cp-preview #main .hero-box .elementor-widget-button.link .elementor-button .elementor-button-text {
  color: #ffffff !important;
  border-color: #ffffff !important;
}

/* --- HlaviÄŤka (Elementor sticky): tmavĂ© pozadĂ­ olivovĂˇ -> taupe, chrome svÄ›tlĂ˝ --- */
body.cp-preview.fixed-header .hlavicka { background-color: #595850 !important; border-bottom: 1px solid rgba(255,255,255,0.35) !important; }
/* MENU je bĂ­lĂˇ pilulka (jako REZERVACE) -> tmavĂ˝ text + tmavĂ˝ hamburger, ÄŤitelnĂ© v obou stavech */
body.cp-preview .menu-button .mb { color: #333333 !important; text-shadow: none !important; }
body.cp-preview .mb-line { background-color: #333333 !important; }
/* Hero stat-box ikony (4,9/5 | recenze, chalupy) -> bĂ­lĂ©. */
/* MusĂ­ pĹ™ebĂ­t pĹŻvodnĂ­ .shadow-row ... svg *{stroke:#333!important} -> stejnĂˇ +1 specificita, pozdÄ›ji. */
body.cp-preview #main .hero-box .shadow-row .elementor-icon,
body.cp-preview #main .hero-box .shadow-row .elementor-icon i,
body.cp-preview #main .hero-box .shadow-row .elementor-icon svg,
body.cp-preview #main .hero-box .shadow-row .elementor-icon svg path,
body.cp-preview #main .hero-box .shadow-row .elementor-icon svg * {
  color: #ffffff !important;
  stroke: #ffffff !important;
}
/* Sekce "JedineÄŤnĂ© ROUBENKY" (#roubenky): tmavĂˇ taupe #595850 + bĂ­lĂ© texty hlaviÄŤky (dle pĹ™Ă­lohy Wiesergut MOUNTAIN ESCAPE) */
body.cp-preview #roubenky { background-color: #ffffff !important; }
/* BĂ­lĂ© jen nadpisy/podtitul hlaviÄŤky sekce - NE text karet (flip-boxy majĂ­ vlastnĂ­ hover) */
body.cp-preview #roubenky .elementor-heading-title,
body.cp-preview #roubenky .elementor-heading-title *,
body.cp-preview #roubenky .elementor-widget-text-editor,
body.cp-preview #roubenky .elementor-widget-text-editor * {
  color: #a7a697 !important;
  -webkit-text-stroke-color: #a7a697 !important;
}
/* DvoutĂłn jako pĹŻvodnÄ›: 1. slovo "JedineÄŤnĂ©" tmavĹˇĂ­ podbarvenĂ­ (sage), "ROUBENKY" zĹŻstĂˇvĂˇ bĂ­lĂ© */
body.cp-preview #roubenky .section-title:first-child h2,
body.cp-preview #roubenky .section-title:first-child .elementor-heading-title,
body.cp-preview #roubenky .section-title:first-child .elementor-heading-title * {
  color: #c6c4b4 !important;
  -webkit-text-stroke-color: #c6c4b4 !important;
}
/* Sekce "MalebnĂˇ KRAJINA": nĂˇpis bĂ­lĂ˝, "MalebnĂˇ" (.black) tmavĹˇĂ­ podbarvenĂ­ sage - dvoutĂłn jako pĹŻvodnÄ› */
body.cp-preview #krajina .section-title h2,
body.cp-preview #krajina .section-title h2 *,
body.cp-preview #krajina .section-title .elementor-heading-title { color: #595850 !important; }
body.cp-preview #krajina .section-title h2 .black,
body.cp-preview #krajina .section-title .black { color: #a7a697 !important; }
/* Parallax popředí (tráva+kleč, z-index 4) posunuto níž -> titulek se odkryje dříve. margin se sčítá s JS motion-fx transformem, animace zůstává. */
body.cp-preview #krajina .elementor-element-3e8c8cc { margin-top: 160px !important; }
/* Vrstva hory (Vrstva-2.png, z-index 2) posunuta o stejných 160px, aby dosedla na trávu (jinak levituje). Stejný offset = parallax vztah zachován. */
body.cp-preview #krajina .elementor-element-765885e { margin-top: 160px !important; }
/* Tablet+mobil (<=1025px): vrstvena "parallax" kompozice (Vrstva-1/2 +
   z-index hry) se nedala rozumne prizpusobit na uzsich sirkach - nadpis
   byl porad bud prekryty, nebo splyval barvou s fotem. Misto skladani
   vrstev nahrazeno jednim statickym fotem (na prani uzivatele), nadpis
   bily s outline stinem pro citelnost. Desktop (>1025px) beze zmeny -
   puvodni vrstvena kompozice + scroll efekt zustavaji. 2026-09-11 */
@media (max-width: 1025px) {
  body.cp-preview #krajina .elementor-element-765885e,
  body.cp-preview #krajina .elementor-element-3e8c8cc {
    display: none !important;
  }
  body.cp-preview #krajina {
    background-image: url('https://www.chalupyroubal.cz/wp-content/uploads/2026/03/shutterstock_1637335222-scaled-2.webp') !important;
    background-size: cover !important;
    background-position: center !important;
  }
  body.cp-preview #krajina .section-title h2,
  body.cp-preview #krajina .section-title h2 *,
  body.cp-preview #krajina .section-title .elementor-heading-title {
    color: #ffffff !important;
    text-shadow: 0 2px 10px rgba(0,0,0,.65) !important;
  }
  /* Nadpis pouzival specificke #krajina .section-title h2{font-size:110px}
     (style.css radek 610), ktere ma vyssi specificitu nez obecne
     responzivni .section-title h2 pravidla (80px/60px) - proto se text
     na tabletu/mobilu neusmensoval a prepadal mimo obrazovku (overflow). */
  body.cp-preview #krajina .section-title h2 {
    font-size: 110px !important;
    line-height: 92px !important;
  }
  /* Puvodni gradient #krajina:before byl bily (fade z bileho pozadi
     nahore) - na novem tmavsim fotu invertovano na tmavy fade, aby text
     a tlacitko nad nim zustaly citelne. Popis a tlacitko "Prohlednout
     lokalitu" prepnuty z tmave taupe na bilou. */
  body.cp-preview #krajina:before {
    background: linear-gradient(0deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.25) 30%, rgba(0,0,0,0) 60%) !important;
  }
  body.cp-preview #krajina .popis-krajina {
    color: #ffffff !important;
  }
  body.cp-preview #krajina .elementor-widget-button.link .elementor-button {
    color: #ffffff !important;
    border-bottom: 2px solid #ffffff !important;
  }
}
@media (max-width: 767px) {
  /* 78px bylo naladeno jen na cesky text "Malebna" (7 znaku) - v EN "Picturesque"
     (11 znaku, 456px) a v DE "Malerische" (10 znaku, 412px) uz pri 78px prepadaly
     mimo 378px sirokou sekci (#krajina .elementor-element-9b0d3d8 ma overflow:hidden,
     takze se slovo useklo, nezpusobovalo to scroll stranky, ale text byl vizualne
     orezany). Snizeno na 54px, pri kterem se vejdou vsechny 3 jazykove varianty.
     preview-styles.css, 2026-09-12. */
  body.cp-preview #krajina .section-title h2 {
    font-size: 54px !important;
    line-height: 46px !important;
  }
}
/* Paticka "Roubenky s laskou postavila firma Roubenky Roubal"
   (.roubal, elementor-element-c6a818d) - uzivatel opakovane hlasil, ze se
   na jeho mobilu nezalamuje/preteka, i kdyz v headless testu (Chromium,
   390px i 430px) se zalamovala spravne. Pravdepodobna pricina: iOS
   Safari / mobilni prohlizece maji automaticke zvetsovani textu (text
   size adjust) v uzkych sloupcich, ktere headless test neprojevuje.
   Preventivni fix: vypnuto text-size-adjust + explicitni zalamovani. */
body.cp-preview .roubal,
body.cp-preview .roubal p {
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  white-space: normal !important;
}
@media (max-width: 772px) {
  body.cp-preview .roubal p {
    text-align: center !important;
  }
  /* "Roubenky Roubal" je odkaz <a> uvnitr odstavce - na mobilu na vlastni radek. */
  body.cp-preview .roubal p a {
    display: block !important;
  }
}
/* .roubal (elementor-element-c6a818d) je flex-item v RODICI s
   flex-direction:column + align-items:flex-end (elementor-element-df578d3,
   viz fix nize) - jako flex-item bez vlastni sirky se automaticky zmensi na
   sirku sveho obsahu (text "Roubenky s laskou postavila firma", 2. radek
   "Roubenky Roubal" po zalomeni) a align-items:flex-end ho pak v ramci cele
   sirky radku posune k PRAVEMU okraji - i kdyz ma p uvnitr text-align:center,
   centruje se jen v ramci teto zuzene/posunute krabice, ne v ramci cele
   sirky patcicky - vizualne pusobi jako "uskoceny" text vpravo. Vynuceno
   width:100% (vyplni cely radek rodice), pak uz text-align:center centruje
   spravne v ramci cele sirky. preview-styles.css, 2026-09-13. */
body.cp-preview .elementor-element-c6a818d {
  width: 100% !important;
  align-self: stretch !important;
}
/* Uzivatel identifikoval .elementor-element-df578d3 (obal odstavce
   "Roubenky s laskou postavila...") jako pravdepodobnou pricinu -
   je to flex-item v radkovem (row) flex rodici (dbb8330) a jako flex-item
   ma podle CSS specifikace vychozi min-width:auto, ktere ho muze nutit
   drzet sirku odpovidajici NEZALOMENEMU textu (intrinsic content size)
   MISTO respektovani nastavene sirky 100% - klasicky flexbox bug, kdy
   text vypada "nezalomeny/preteka", i kdyz width vypada spravne.
   Explicitne vynuceno min-width:0 + flex-basis 100%, aby polozka
   nemohla byt drzena sirsi nez radek, na VSECH rozlisenich (uzivatel
   hlasi problem i mimo mobil). preview-styles.css, 2026-09-12. */
body.cp-preview .elementor-element-df578d3 {
  min-width: 0 !important;
  flex-basis: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.cp-preview .elementor-element-df578d3 p {
  min-width: 0 !important;
  max-width: 100% !important;
}
/* Sekce "Malebná krajina" (#krajina): text-box .elementor-element-f97c3fe ma z Elementoru
   natvrdo --width:900px pro VSECHNY sirky od 768px vzhuru (tablet i desktop pouzivaji
   stejne pravidlo), zatimco na mobilu (<768px) sirka neni vubec nastavena a box je
   responzivni. Na tabletu (768-1024px, presne uzivatelem hlaseny bod ~772px) je ale
   obal sekce uzsi nez 900px, box je vystredeny pomoci left:50% + transform:translateX(-50%),
   takze pri fixni sirce 900px prsteka text vpravo mimo viewport. Oprava: na tomto
   rozsahu vynutit sirku 100 % rodice - translateX(-50%) se pak automaticky prepocita
   podle nove sirky a box presne vyplni kontejner bez preteceni. preview-styles.css, 2026-09-12. */
@media (min-width: 768px) and (max-width: 1024px) {
  body.cp-preview #krajina .elementor-element-f97c3fe {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
/* Padding 15px vlevo/vpravo pro text v #krajina - na vsech rozlisenich */
body.cp-preview #krajina .elementor-element-f97c3fe {
  padding-left: 15px !important;
  padding-right: 15px !important;
}
/* Stranka Ceny (#ceniky): akordeon "Sezona/Mimosezona" (n-tabs, e-n-tabs-mobile) mel
   cely widget (hlavicky tabu i obsah panelu) uplne bez horizontalniho paddingu - jak
   nadpisy chalup (Roubalka, Mlyn...), tak tabulky s cenami sedely presne na hrane
   sirky sekce (vizualne "na kraji obrazovky"). Padding 20px pridan na spolecneho
   rodice .e-n-tabs (obsahuje .e-n-tabs-heading i .e-n-tabs-content), takze oboje
   ma stejne odsazeni. Zaroven mela kazda polozka akordeonu (.e-n-tab-title, nastaveno
   v theme style.css) margin-bottom:40px, coz mezi jednotlivymi chalupami delalo
   zbytecne velke mezery - snizeno na 12px. A sekce #ceniky mela (z obecne tridy
   .padding-text) padding-bottom 50-60px, takze mezera pred nasledujici sekci
   "Podminky pobytu" byla zbytecne velka - snizeno na 20px. preview-styles.css, 2026-09-12. */
body.cp-preview #ceniky .elementor-widget-n-tabs .e-n-tabs {
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}
body.cp-preview #ceniky .elementor-widget-n-tabs .e-n-tab-title {
  margin-bottom: 12px !important;
}
body.cp-preview #ceniky {
  padding-bottom: 20px !important;
}
/* Skryte CTA "Rezervace"/"Zeptat se" bloky (.cp-rez-cta, id cprezconA/B/C na strance
   /ceny/) - samotne tlacitko (.zemptat-se) se pod 700px skryva (theme style.css,
   @media max-width:700px { .zemptat-se { display:none } }), protoze na mobilu je
   misto nej sticky lista dole. Rodicovsky container ale ma vlastni pevny
   --padding-bottom:80px nezavisly na viditelnosti obsahu, takze po skryti tlacitka
   zustal prazdny 80px "duch" mezi sekcemi (#ceniky/#podminky/#sluzby/#krasa) - to byla
   skutecna prevazna prayzina hlasenych "moc velkych mezer". Reseni: cely container
   schovat spolu s tlacitkem. Explicitni ID pro tuto stranku + obecne pravidlo pres
   :has() pro pripad dalsich vyskytu (A/B/C.../na jinych strankach). preview-styles.css, 2026-09-12. */
@media (max-width: 700px) {
  body.cp-preview .elementor-element-cprezconA,
  body.cp-preview .elementor-element-cprezconB,
  body.cp-preview .elementor-element-cprezconC {
    display: none !important;
  }
  body.cp-preview .e-con:has(> .e-con-inner > .zemptat-se.cp-rez-cta:only-child) {
    display: none !important;
  }
}
/* Stranka Ceny (#sluzby): boxy sluzeb (Kuchyne, Loznice...) v gridu (.e-grid) mely
   0 horizontalni padding na containeru mrizky, takze i pres vlastni vnitrni padding
   boxu sedely cele boxy na hrane sirky sekce (zadne odsazeni od kraje obrazovky).
   preview-styles.css, 2026-09-12. */
body.cp-preview #sluzby .e-grid.e-con {
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}
/* OPRAVA REGRESE (2026-09-14): pozdejsi centralni pojistka (viz konec souboru,
   #sluzby > .e-con-inner padding 20px pod 767px) se s timto pravidlem na
   mobilu SCITALA (20+20=40px) - box "Kuchyne" byl vic odsazeny nez napr.
   "Bezpecnost" v #podminky (tam uz mela stara oprava padding na .e-con-inner,
   zadne zdvojeni). Na mobilu proto vynulovan padding primo na gridu, zustava
   jen jeden zdroj odsazeni (centralni, na .e-con-inner). */
@media (max-width: 767px) {
  body.cp-preview #sluzby .e-grid.e-con {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* Stejny grid (#sluzby): na desktopu je to 3 sloupce x 2 rady s --e-con-grid-template-rows:
   repeat(2, 1fr) - to je OK, "1fr" rady se roztahnou podle nejvyssiho boxu v danem
   radku, coz na sirokem gridu vypada spravne. Na mobilu (<=767px) Elementor prepne
   sloupce na 1 (--e-con-grid-template-columns: repeat(1,1fr)), ale ZAPOMNEL prepnout
   i --e-con-grid-template-rows - ta zustava repeat(2,1fr). Protoze kontejner nema
   pevnou vysku, "fr" rady se u neurcite vysky chovaji tak, ze VSECHNY explicitni fr
   rady (jsou jen 2) se roztahnou na vysku nejvetsiho obsahu mezi nimi - proto box
   "Loznice" (1 polozka) dostal stejnou vysku 418px jako "Kuchyne" (8 polozek), i kdyz
   uz jsou to na mobilu ruzne radky pod sebou, ne sousedni sloupce. Zbyvajici 4 boxy
   uz jsou v "implicitnich" (auto) radcich, proto maji spravnou vlastni vysku - bug se
   tyka jen prvnich dvou boxu v gridu. Reseni: pod 767px vynutit template-rows na
   "none" (jen auto rady). preview-styles.css, 2026-09-12. */
@media (max-width: 767px) {
  body.cp-preview #sluzby .e-grid.e-con {
    --e-con-grid-template-rows: none !important;
  }
}
/* Cela sekce #podminky ("Storno podminky" nadpis, tabulka, "Vse, co potrebujete
   vedet" karty) mela 0 horizontalni padding uplne u koreneho .e-con-inner - VSECHNY
   jeji obsahove widgety (nadpisy, tabulka, grid karet) tak sedely na hrane obrazovky,
   protoze zadny z nich nema vlastni odsazeni a spolehaji na rodice. Puvodne opraveno
   zvlast pro tabulku (.elementor-widget-shortcode) a zvlast pro grid (.e-grid.e-con),
   ale stejnym zpusobem chybel padding i nadpisu "Storno podminky" (proste text,
   text-align:start, zadny padding) - misto dalsi jednotlive zaplaty je padding
   presunuty na spolecneho rodice .e-con-inner, cimz je pokryto uplne vse v teto
   sekci najednou. preview-styles.css, 2026-09-12. */
body.cp-preview #podminky > .e-con-inner {
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}
@media (max-width: 767px) {
  body.cp-preview #podminky .e-grid.e-con {
    --e-con-grid-template-rows: none !important;
  }
}
/* Grid karet v #podminky (Platba, Delka pobytu, ... Nocni klid, Bezpecnost) mel
   row-gap: 0px (z Elementoru), takze na mobilu (1 sloupec) boxy sedely bez mezery
   hned pod sebou - na rozdil od #sluzby gridu (Kuchyne, Loznice...), ktery ma
   row-gap 20px. Sjednoceno na stejnych 20px. preview-styles.css, 2026-09-12. */
body.cp-preview #podminky .e-grid.e-con {
  row-gap: 20px !important;
}
/* Sekce "Krása. Kvalita. Komfort." (#krasa) -> taupe #a7a697 */
body.cp-preview #krasa .elementor-heading-title { color: #a7a697 !important; }
/* Detail chalupy (šablona): velký název (H1 v #main-chalupa) + sekční nadpisy (H3 v #uvod a #o-roubence) -> taupe #a7a697 */
body.cp-preview #main-chalupa h1 { color: #a7a697 !important; }
body.cp-preview #uvod h3,
body.cp-preview #o-roubence h3 { color: #a7a697 !important; }

/* === Stránka Ceny: sjednocení na bílé pozadí + čitelnost === */
/* Sekce s taupe pozadím -> bílé */
body.cp-preview #ceniky { background-color: #ffffff !important; }
body.cp-preview #sluzby { background-color: #ffffff !important; }
/* Karty viditelné na bílé: jemný okraj (text + hover beze změny) */
body.cp-preview #sluzby .e-con-full.box { border: 1px solid #e7e5de; }
body.cp-preview #podminky .elementor-widget-icon-box { background: #ffffff; border: 1px solid #e7e5de; }
/* Ceníky: neaktivní taby orámovat, ať jsou na bílé vidět */
body.cp-preview #ceniky .elementor-widget-n-tabs .e-n-tab-title { border: 1px solid #d8d6cb; }
/* Sekce "Recenze naĹˇich hostĹŻ" (#recenze): bĂ­lĂ© texty + ikony na tmavĹˇĂ­m kontrastnĂ­m boxu (odliĹˇĂ­ se od patiÄŤky). */
body.cp-preview #recenze { background-color: #444640 !important; }
body.cp-preview #recenze .elementor-heading-title,
body.cp-preview #recenze .elementor-heading-title *,
body.cp-preview #recenze p,
body.cp-preview #recenze .elementor-widget-text-editor,
body.cp-preview #recenze .elementor-widget-text-editor * {
  color: #ffffff !important;
}
/* HvÄ›zdiÄŤky + navigaÄŤnĂ­ Ĺˇipky bĂ­lĂ© */
body.cp-preview #recenze svg,
body.cp-preview #recenze svg *,
body.cp-preview #recenze .elementor-star-rating i,
body.cp-preview #recenze .elementor-star-rating i:before {
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}
body.cp-preview #recenze .elementor-swiper-button { color: #ffffff !important; background: rgba(255,255,255,.15) !important; }
/* JazykovĂ˝ pĹ™epĂ­naÄŤ: ostatnĂ­ jazyky svÄ›tlĂ©, aktivnĂ­ = bĂ­lĂˇ pilulka s tmavĂ˝m textem */
body.cp-preview .cpel-switcher__lang a { color: #a7a697 !important; text-shadow: 0 1px 3px rgba(0,0,0,.45) !important; }
body.cp-preview .cpel-switcher__lang--active a { background: transparent !important; color: #ffffff !important; text-shadow: 0 1px 3px rgba(0,0,0,.45) !important; }

/* === Hero stat-box: mlecny/blur VYPNUT, plna tmava barva 595850 === */
body.cp-preview #main .hero-box .shadow-row .elementor-widget-icon-box { background: #595850 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }

/* === Menu popup 55: pravy panel ~60% + slide zprava + obrazek chalupy v pozadi (Wiesergut styl) === */
body.cp-preview #elementor-popup-modal-55 { justify-content: flex-start !important; }
body.cp-preview #elementor-popup-modal-55 .dialog-widget-content { width: 60vw !important; max-width: 60vw !important; height: 100vh !important; max-height: 100vh !important; margin: 0 auto 0 0 !important; box-shadow: 20px 0 60px rgba(0,0,0,.25) !important; animation: cpMenuSlideIn .5s cubic-bezier(.22,.61,.36,1) both; position: relative !important; overflow: hidden !important; }
@keyframes cpMenuSlideIn { from { transform: translateX(-100%); } to { transform: translateX(0); } }
body.cp-preview #elementor-popup-modal-55 .elementor-element-f622fbf { height: 100% !important; background-color: transparent !important; background-image: none !important; position: relative !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; justify-content: flex-start !important; align-items: flex-start !important; padding-left: 4% !important; padding-top: 28vh !important; box-sizing: border-box !important; }
body.cp-preview #elementor-popup-modal-55 .elementor-element-1cca9fd { width: 100% !important; }
body.cp-preview #elementor-popup-modal-55 .elementor-nav-menu { align-items: flex-start !important; padding-left: 0 !important; width: 100% !important; justify-content: flex-start !important; }
body.cp-preview #elementor-popup-modal-55 .elementor-nav-menu li, body.cp-preview #elementor-popup-modal-55 .elementor-nav-menu li a.elementor-item { text-align: left !important; justify-content: flex-start !important; }

/* menu popup tweak: chalupa absolute+mensi, polozky bliz, close bily */
body.cp-preview #elementor-popup-modal-55 .dialog-widget-content::before { content:""; position:absolute; right:0%; top:72%; transform:translateY(-50%); width:55%; max-width:560px; aspect-ratio:912/551; background:url("https://www.chalupyroubal.cz/wp-content/themes/hello-theme-child-master/images/chalupa_bg.png") center center / contain no-repeat; opacity:.35; pointer-events:none; z-index:0; }
body.cp-preview #elementor-popup-modal-55 .elementor-element-1cca9fd { position:relative !important; z-index:1 !important; }
body.cp-preview #elementor-popup-modal-55 .elementor-nav-menu .elementor-item { padding-top:6px !important; padding-bottom:6px !important; line-height:1.15 !important; }
body.cp-preview #elementor-popup-modal-55 .dialog-close-button, body.cp-preview #elementor-popup-modal-55 .dialog-close-button i, body.cp-preview #elementor-popup-modal-55 .dialog-close-button svg { color:#fff !important; fill:#fff !important; stroke:#fff !important; opacity:1 !important; }
/* Zavirátko menu popupu bylo prakticky neviditelne: theme (style.css) skryva
   opravdovou <svg> ikonu (display:none) a misto ni kresli ikonu pres ::after
   jako background-image: url(img/close.svg) - coz je EXTERNI soubor s natvrdo
   zapecenou barvou #696859 (tmave olivova), kterou CSS fill/color VUBEC nemuze
   prebarvit (na rozdil od inline <svg>). Na svetlem pozadi na desktop emulatoru
   to bylo videt aspon slabe, na realnem mobilu (tmavsi/kontrastnejsi pozadi
   popupu) uz prakticky vubec ne. Reseni: vratit viditelnost puvodni <svg> ikone
   (ktera fill:#fff nahore uz spravne prebarvuje na bilo) a skryt tu neprebarvitelnou
   ::after variantu. preview-styles.css, 2026-09-12. */
body.cp-preview #elementor-popup-modal-55 .dialog-close-button svg { display: block !important; }
body.cp-preview #elementor-popup-modal-55 .dialog-close-button::after { display: none !important; }

/* menu popup v3: sjednocene pozadi, mensi polozky, kontaktni radek (email+telefon) radkove */
body.cp-preview #elementor-popup-modal-55 .elementor-nav-menu .elementor-item { font-size: 56px !important; padding-left: 0 !important; }
body.cp-preview #elementor-popup-modal-55 .elementor-element-cprow01 { display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; gap:10px 28px !important; padding-left:0 !important; margin-top:22px !important; align-items:center !important; width:100% !important; position:relative !important; z-index:1 !important; }
body.cp-preview #elementor-popup-modal-55 .elementor-element-cprow01 .elementor-widget { width:auto !important; margin:0 !important; }
body.cp-preview #elementor-popup-modal-55 .elementor-element-cprow01 .elementor-widget-button.link .elementor-button { font-size:15px !important; }

/* align fix: cely nav retezec plna sirka + doleva (obalovy nav element centroval) */
body.cp-preview #elementor-popup-modal-55 .elementor-element-1cca9fd, body.cp-preview #elementor-popup-modal-55 .elementor-element-1cca9fd > .elementor-widget-container, body.cp-preview #elementor-popup-modal-55 .elementor-nav-menu--main { width:100% !important; max-width:100% !important; text-align:left !important; }
body.cp-preview #elementor-popup-modal-55 .elementor-nav-menu li { width:auto !important; margin-left:0 !important; }
body.cp-preview #elementor-popup-modal-55 .elementor-nav-menu .elementor-item { margin-left:0 !important; text-align:left !important; justify-content:flex-start !important; }

/* kontakt: oddelovac | mezi email a telefon */
body.cp-preview #elementor-popup-modal-55 .elementor-element-cprow01 .elementor-element-cptel01 { display:flex !important; align-items:center !important; }
body.cp-preview #elementor-popup-modal-55 .elementor-element-cprow01 .elementor-element-cptel01::before { content:"|" !important; margin-right:24px !important; color:#f5f5f4 !important; opacity:.5 !important; font-size:16px !important; line-height:1 !important; }

/* K.K.K.: na HP schovat patickovou verzi, nova sekce krasa-hp mezi chalupami a krajinou */
body.cp-preview.home #krasa { display:none !important; }
body.cp-preview #krasa-hp { padding:70px 20px !important; align-items:center !important; text-align:center !important; background-color:#595850 !important; }

/* krasa-hp: stejna velikost nadpisu jako v paticce (#krasa h5 120/90/70px, quiche uppercase) */
body.cp-preview #krasa-hp .elementor-heading-title { font-family:"quiche-sans",Sans-serif !important; font-size:120px !important; text-transform:uppercase !important; line-height:1.1 !important; }
@media (max-width:1024px){ body.cp-preview #krasa-hp .elementor-heading-title { font-size:90px !important; } }
@media (max-width:767px){ body.cp-preview #krasa-hp .elementor-heading-title { font-size:70px !important; } }

/* Detail chalupy (#galerie) i stranka Galerie (#galerie-single): stejne taupe pozadi #e1e1dc */
body.cp-preview #galerie { background-color: #e1e1dc !important; }

/* === Galerie: fade-up reveal PER-ITEM + parallax + masonry odskok (Wiesergut) ===
   Reveal je class-based (.cp-gallery-fx-on) -> plati kdekoliv JS tridu prida (#galerie i #galerie-single). */
.cp-gallery-fx-on .elementor-gallery-item { opacity:0; transform:translateY(45px); transition:opacity .8s ease, transform .8s cubic-bezier(.16,1,.3,1); overflow:hidden; }
.cp-gallery-fx-on .elementor-gallery-item.cp-shown { opacity:1; transform:translateY(0); }
.cp-gallery-fx-on .cp-parallax-img { height:130% !important; top:-15% !important; will-change:transform; }
/* DETAIL CHALUPY #galerie: cista galerie bez labelu "Galerie" a bez masonry odskoku (prani klienta 2026-07-22) */
#galerie { padding-top:80px !important; padding-bottom:80px !important; }
@media (min-width:1025px){
  #galerie { padding-top:100px !important; padding-bottom:120px !important; }
}

/* HP hero (#main): obrazek vpravo #3f024b3 se nenatahuje s textem; .padding-text (#8c0709b) zruseno;
   obrazek zacina u ~3. radku nadpisu a konci u radku "Rodina Roubalova" (jen desktop >=1025px). 2026-07-22 */
@media (min-width:1025px){
  body.cp-preview .elementor-element-8c0709b { padding-top:0 !important; padding-bottom:0 !important; }
  body.cp-preview .elementor-element-3f024b3 { align-self:flex-start !important; min-height:0 !important; margin-top:120px !important; height:791px !important; background-position:50% 40% !important; }
}

/* Galerie (/galerie/): nadpisova sekce bila, fotogalerie (5d1c24b) taupe full-width pruh -> oddeleni; nadpisy title-case misto uppercase. 2026-07-22 */
body.cp-preview #galerie-single { background-color:#ffffff !important; }
body.cp-preview #galerie-single .elementor-element-5d1c24b { background-color:#e1e1dc !important; width:100vw !important; max-width:100vw !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; padding:70px 30px !important; box-sizing:border-box !important; }
body.cp-preview #galerie-single .elementor-heading-title { text-transform:lowercase !important; }
body.cp-preview #galerie-single .elementor-heading-title::first-letter { text-transform:uppercase !important; }

/* Lokalita hero nadpis "OBJEVUJTE KRASY KRKONOS" (53a64c1): vetsi line-height (bylo 0.8 -> hacky S/C zasahovaly do radku nad). #main-page v selektoru kvuli prebiti ID-scoped pravidla. 2026-07-22 */
body.cp-preview #main-page .elementor-element-53a64c1 .elementor-heading-title { line-height:1.05 !important; }

/* =============================================================
   Mobilni doladeni hlavicky + hero (od tabletu dolu, desktop
   se NEDOTYKA - vse v @media max-width:1024px / max-width:767px).
   2026-09-10, na zadost uzivatele.
   ============================================================= */

/* --- Hlavicka: logo + menu tlacitko do jedne vertikalni roviny --- */
@media (max-width: 1024px) {
  body.cp-preview header.hlavicka {
    align-items: center !important;
  }
}

/* --- Jazykovy prepinac: kompaktni dropdown, aby se vesel --- */
@media (max-width: 1024px) {
  body.cp-preview header .cpel-switcher--layout-dropdown .cpel-switcher__toggle {
    width: 34px !important;
    height: 34px !important;
  }
  body.cp-preview header .cpel-switcher--layout-dropdown .cpel-switcher__code {
    font-size: 13px !important;
  }
}

/* --- Rozbalene hamburger menu: cela sirka obrazovky + vyrazne mensi fonty --- */
@media (max-width: 767px) {
  body.cp-preview #elementor-popup-modal-55 .dialog-widget-content {
    width: 100vw !important;
    max-width: 100vw !important;
  }
  body.cp-preview #elementor-popup-modal-55 .elementor-element-f622fbf {
    padding-left: 8% !important;
    padding-right: 8% !important;
    padding-top: 22vh !important;
  }
  body.cp-preview #elementor-popup-modal-55 .elementor-nav-menu .elementor-item {
    font-size: 34px !important;
  }
  body.cp-preview #elementor-popup-modal-55 .elementor-element-cprow01 .elementor-widget-button.link .elementor-button {
    font-size: 14px !important;
  }
  body.cp-preview #elementor-popup-modal-55 .dialog-widget-content::before {
    width: 80% !important;
    opacity: .18 !important;
  }
}

/* --- Hero (#main): cely obsah na stred, hodnoceni + pocet chalup do
   jednoho radku, mensi a s jemnym blur/pruhlednym pozadim, email+telefon
   mensi --- */
@media (max-width: 767px) {
  body.cp-preview #main .text {
    align-items: center !important;
  }
  body.cp-preview #main h1 {
    margin-left: 0 !important;
    width: 100% !important;
    text-align: center !important;
  }
  body.cp-preview #main .hero-box {
    margin-left: 0 !important;
    width: 100% !important;
    text-align: center !important;
  }

  /* hodnoceni + pocet chalup: jeden radek, mensi, sklo/blur efekt */
  body.cp-preview #main .hero-box .shadow-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 20px auto !important;
    width: 100% !important;
  }
  body.cp-preview #main .hero-box .shadow-row .elementor-widget-icon-box {
    max-width: none !important;
    width: auto !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 10px 12px !important;
    background: #595850 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid rgb(255 255 255 / 30%) !important;
  }
  body.cp-preview #main .hero-box .shadow-row .elementor-icon-box-wrapper {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
  }
  body.cp-preview #main .hero-box .shadow-row .elementor-icon i,
  body.cp-preview #main .hero-box .shadow-row .elementor-icon svg {
    height: 16px !important;
    width: 16px !important;
  }
  body.cp-preview #main .hero-box .elementor-icon-box-title {
    font-size: 13px !important;
    white-space: nowrap !important;
  }

  /* tlacitko "vybrat chalupu" + email + telefon: na stred, email/telefon mensi */
  body.cp-preview #main .hero-box .button-row {
    justify-content: center !important;
    text-align: center !important;
    flex-wrap: wrap !important;
  }
  body.cp-preview #main .hero-box .elementor-widget-button.link .elementor-button {
    font-size: 14px !important;
  }
  body.cp-preview #main .hero-box .button-row .elementor-widget.elementor-widget-heading {
    font-size: 14px !important;
  }
}

/* =============================================================
   Jazykovy prepinac (dropdown, tablet dolu): aktivni jazyk + otevreny
   seznam podbarveny stejnou barvou jako hamburger menu (#a7a697).
   Hamburger menu: odstranen oddelovac "|" mezi emailem a telefonem,
   pri zalomeni na 2 radky zarovnano doleva. 2026-09-10.
   ============================================================= */

body.cp-preview .cpel-switcher--layout-dropdown .cpel-switcher__toggle a {
  border-radius: 0 !important;
  padding-left: 5px !important;
  box-sizing: border-box !important;
}
body.cp-preview .cpel-switcher--layout-dropdown .cpel-switcher__toggle.cpel-switcher__toggle--on a {
  background: #a7a697 !important;
  color: #ffffff !important;
}
body.cp-preview .cpel-switcher--layout-dropdown .cpel-switcher__list {
  background: #a7a697 !important;
  border-radius: 0 !important;
  min-width: 54px !important;
  left: 0 !important;
  right: auto !important;
}
body.cp-preview .cpel-switcher--layout-dropdown .cpel-switcher__list a {
  width: 54px !important;
  border-radius: 0 !important;
  justify-content: flex-start !important;
  padding-left: 5px !important;
  box-sizing: border-box !important;
}
body.cp-preview .cpel-switcher--layout-dropdown .cpel-switcher__lang--active a {
  background: #a7a697 !important;
  color: #ffffff !important;
  text-shadow: none !important;
  border-radius: 0 !important;
}
body.cp-preview .cpel-switcher--layout-dropdown .cpel-switcher__lang a {
  color: #ffffff !important;
  text-shadow: none !important;
  border-radius: 0 !important;
}

/* hamburger menu kontakt radek: bez oddelovace, pri zalomeni doleva */
body.cp-preview #elementor-popup-modal-55 .elementor-element-cprow01 {
  justify-content: flex-start !important;
}
body.cp-preview #elementor-popup-modal-55 .elementor-element-cprow01 .elementor-element-cptel01::before {
  content: none !important;
}

/* Mobilni hlavicka (<=772px) - preskladani a trvale pozadi.
   Puvodni poradi ve flex radku (header.hlavicka) je natvrdo dane DOM poradim:
   1) hamburger menu (elementor-element-4b4d98e), 2) logo (deccc28),
   3) jazykovy prepinac + skryte tlacitko Rezervace (2d64b2a) - na mobilu tak
   vychazelo MENU-logo-CZ zleva doprava. Na pozadani uzivatele preskladano
   pres flex "order" na: logo vlevo, jazykovy prepinac, hamburger uplne vpravo.
   Pozadi hlavicky (#696859) se puvodne objevovalo az po pridani JS tridy
   .fixed-header pri scrollovani (viz style.css ".fixed-header header.hlavicka")
   - na mobilu ma byt vzdy podbarvene, proto vynuceno i bez .fixed-header.
   preview-styles.css, 2026-09-12. */
@media (max-width: 772px) {
  body.cp-preview header.hlavicka {
    background: #696859 !important;
  }
  body.cp-preview .elementor-element-deccc28 {
    order: 1 !important;
    padding-left: 20px !important;
    box-sizing: border-box !important;
  }
  body.cp-preview .elementor-element-2d64b2a {
    order: 2 !important;
    margin-right: 15px !important;
  }
  body.cp-preview .elementor-element-4b4d98e {
    order: 3 !important;
    margin-left: auto !important;
  }
  /* Bila "dlazdice" .menu-button je inline-block s auto sirkou uvnitr sveho
     wrapperu (.elementor-shortcode), takze i po margin-left:auto na celem
     kontejneru vyse zustavala 13-28px mezera od praveho okraje - jednak
     z puvodniho padding-right:30px na cele hlavicce (ktery davat smysl pro
     stary layout s CZ prepinacem uplne vpravo, ale ne pro tlacitko pritisknute
     na kraj), jednak z auto-sirky samotneho inline-block tlacitka uvnitr sveho
     wrapperu. Obojí odstraneno/zarovnano, tlacitko je ted presne na kraji. */
  body.cp-preview header.hlavicka {
    padding-right: 0 !important;
  }
  body.cp-preview .elementor-shortcode:has(.menu-button) {
    display: flex !important;
    justify-content: flex-end !important;
  }
}

/* Stranka /chalupy/chalupy/ (page-id-168): prvni sekce ma id="roubenky" - stejny
   obsahovy blok (elementor-990) je vlozeny i na homepage uprostred stranky (tam
   pres shortcode, jako cil odkazu "Vybrat chalupu"), takze selektor podle
   .elementor-990 by omylem zasahl i homepage (zkoraveno, homepage #roubenky neni
   pod hlavickou, tam zadna oprava netreba). Spravne scoped podle page-id-168 (telo
   stranky /chalupy/chalupy/), kde je tato sekce UPLNE PRVNI hned pod fixni hlavickou.
   Puvodni responzivni padding-top (100/50/30px desktop/tablet/mobil) byl naladeny
   jen jako mezisekcni mezera pro homepage kontext - na tablet (86px header, jen
   50px padding) a mobilu (66px header, jen 30px padding) tu proto nadpis
   "Nase roubenky" mizel pod hlavickou. preview-styles.css, 2026-09-13. */
@media (max-width: 1025px) {
  body.cp-preview.page-id-168 #roubenky {
    padding-top: 106px !important;
  }
}

/* Stranka /blog/: nadpis "Blog" (h1, elementor-element-94a11c4) mel v Elementoru
   omylem zaskrtnute VSECHNY tri "Hide On" prepinace najednou (Desktop i Tablet
   i Mobile), takze byl schovany uplne na vsech rozliseni - odtud "nadpis Blog
   chybi na desktopu i na mobilu". preview-styles.css, 2026-09-13. */
body.cp-preview .elementor-element-94a11c4 {
  display: block !important;
}
/* Po odkryti nadpisu "Blog" (viz vyse) se ukazalo, ze i po zviditelneni je
   prekryty fixni hlavickou - sekce s nadpisem (elementor-element-637e3e9) nema
   vubec zadny padding-top (na rozdil od jinych stranek), takze nadpis zacina
   presne na y=0 pod uplne prusvitnou/chybejici hlavickou na VSECH sirkach (ne
   jen mobil/tablet jako u strany /chalupy/chalupy/). Scoped na tuto stranku
   (page-id-613). preview-styles.css, 2026-09-13. */
body.cp-preview.page-id-613 .elementor-element-637e3e9 {
  padding-top: 120px !important;
}

/* Stranka /blog/: karty prispevku (#blog .elementor-widget-posts .elementor-post)
   maji design "foto karta" - fixni vyska (desktop 550px), obrazek vyplnujici celou
   kartu, pres nej tmavy gradient overlay (.elementor-post__text, vzdy 100% vysky
   karty) s titulkem dole. .elementor-post__thumbnail (okenko pro obrazek) pouziva
   padding-bottom v % sirky karty jako trik na pomer stran - na mobilu to ale bylo
   nejdriv 50% (moc malo - obrazek natvrdo height:550px se vesel jen oriznuty) a po
   oprave na 150% zase moc mnoho vuci sirsi karte s paddingem (338px sirka x 150 % ~
   507px), zatimco cela karta zustavala na fixnich 550px - vznikla tak 43px mezera
   POD oknem obrazku, kde gradient uz byl skoro cely tmavy, ale bez obrazku pod sebou -
   vizualne "prouzek" navic pod fotkou. Zaroven bylo na mobilu 550px zbytecne moc
   vysoke. Reseni: mista pomeru v % pevna vyska (karta i okenko obrazku STEJNA
   hodnota), o dost nizsi nez desktop - okenko presne odpovida cele karte, zadna
   mezera, karta kratsi. preview-styles.css, 2026-09-13. */
@media (max-width: 767px) {
  body.cp-preview #blog .elementor-widget-posts .elementor-post {
    height: 320px !important;
  }
  body.cp-preview #blog .elementor-element-16cf4f1 .elementor-posts-container .elementor-post__thumbnail {
    padding-bottom: 0 !important;
    height: 320px !important;
  }
}
/* Stejna sekce #blog: karty prispevku mely 0 horizontalni padding, sedely na
   hrane obrazovky (stejny bug jako jinde na webu). preview-styles.css, 2026-09-13. */
body.cp-preview #blog .elementor-posts-container {
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

/* Stranka /lokalita/: nadpis "POZNEJTE KRKONOSSKOU PRIRODU" (H2, 50px) a "CYKLOSTEZKY"
   (H3 ve skupine .cp-zz-heading, 45px) se na mobilu nevejdou do sirky sloupce (318px) -
   slovo "KRKONOSSKOU"/"CYKLOSTEZKY" je na danou velikost pisma prilis dlouhe a preteka
   mimo obrazovku (scrollWidth > clientWidth). Snizeno na 38px, pri kterem uz se vejdou
   vsechny nadpisy v obou skupinach (ostatni polozky v .cp-zz-heading uz predtim
   sedely, snizeni jim neuskodi). preview-styles.css, 2026-09-13. */
@media (max-width: 767px) {
  body.cp-preview .elementor-element-b0a4414 .elementor-heading-title {
    font-size: 38px !important;
  }
  body.cp-preview .cp-zz-heading .elementor-heading-title {
    font-size: 38px !important;
  }
}

/* #krasa ("Krasa. Kvalita. Komfort.") ma entrance animaci (fadeInLeft, GSAP/
   Elementor scroll-reveal) - uzivatel opakovane hlasi, ze pri scrollu dolu, v
   momente kdy se animace/sekce donacte, stranka poskoci o ~150px nahoru.
   Anti-jump JS fix (wp_head resize-swallow) problem nevyresil. Namisto
   spolehani na JS timing rovnou natvrdo rezervujeme presnou vysku sekce na
   mobilu (370px, zjisteno zmerenim - shoduje se s vyskou po plnem
   vykresleni), aby prohlizec nemusel nic dopocitavat/menit layout behem
   nacitani/animace - misto je rezervovane uz od prvniho renderu.
   preview-styles.css, 2026-09-13. */
@media (max-width: 767px) {
  body.cp-preview #krasa {
    height: 370px !important;
  }
}

/* CENTRALNI POJISTKA odsazeni od okraju (strana /ceny/, ale selektory jsou
   obecne podle #id sekce, takze plati vsude, kde se tyto sekce pouzivaji).
   Misto opravovani kazdeho jednotliveho widgetu zvlast (predchozi pristup
   vyse - #ceniky tabulka, #sluzby grid, #podminky grid+tabulka, #krajina
   nadpis - ty zustavaji beze zmeny, tohle je doplnek) se padding 20px
   vynucuje uz na KORENOVEM obalu obsahu kazde sekce (primy potomek
   .e-con-inner), cimz automaticky ziska odsazeni VSECHNO uvnitr - nadpisy,
   odstavce, widgety - i takove, ktere jeste zadnou specifickou opravu
   nemely. Zjisteno merenim, ze .e-con-inner u #ceniky/#sluzby/#main-page/
   #krasa/#bottom melo 0px padding (jen #podminky uz mel 20px ze starsi
   opravy - shodne cislo, zadne zdvojeni). preview-styles.css, 2026-09-14. */
@media (max-width: 767px) {
  body.cp-preview #ceniky > .e-con-inner,
  body.cp-preview #podminky > .e-con-inner,
  body.cp-preview #sluzby > .e-con-inner,
  body.cp-preview #main-page > .e-con-inner,
  body.cp-preview #krasa > .e-con-inner,
  body.cp-preview #bottom > .e-con-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
}

/* Stranka /lokalita/, sekce "Tipy na vylety" (#vylety): karty vyletu (loop grid,
   .e-loop-item) sedely na hrane obrazovky, 0 padding na korenovem .e-con-inner.
   Stejna centralni pojistka jako u ostatnich sekci. preview-styles.css, 2026-09-14. */
@media (max-width: 767px) {
  body.cp-preview #vylety > .e-con-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
}

/* Stejna sekce: prvni karta "Okruh z Cerneho Dolu pres Cernou horu" byla
   sileně vysoka (780px misto standardnich 380px u ostatnich karet). PRAVA
   pricina (zjisteno az pri dalsim ladeni): Elementor Loop Grid tomuto
   polozce (nejspis kvuli mereni jejiho skryteho popisu pri sestavovani
   masonry-style rozlozeni) nastavil "grid-row: span 2" (zabira 2 radky
   mrizky misto 1) - a protoze grid-polozky maji vychozi align-self:stretch,
   karta se ROZTAHLA, aby vyplnila obe prirazene radky (2x380px+gap = 780px),
   i kdyz jeji vlastni obsah potrebuje jen jeden radek. PUVODNI oprava tohle
   navic natvrdo orezavala pres height:380px+overflow:hidden primo na
   .e-loop-item - to sice vizualne sjednotilo vysku, ale zaroven ZNICILO
   funkcni hover efekt (rozbaleni popisu pri najeti mysi na desktopu, viz
   ".cp-vylet-card:hover .cp-vylet-card-reveal" v theme style.css), protoze
   overflow:hidden orizl i ten ZAMERNY rozbalovaci obsah. Spravna oprava je
   jen grid-row:auto (nize) - ten sam o sobe karty srovna na spravnou vysku
   (defaultni/nerozbaleny stav vsech karet je 380px, zadny extra height/
   overflow orez neni treba). preview-styles.css, 2026-09-14. */
body.cp-preview #vylety .e-loop-item {
  grid-row: auto !important;
}

/* Na mobilu/dotykovych zarizenich neexistuje :hover, takze rozbaleni popisu
   pri najeti (viz vyse) tam nejde vyvolat - uzivatel chce na mobilu misto
   toho klepnuti (tap). Trida .cp-vylet-active kopiruje presne stejne
   pravidlo jako .cp-vylet-card:hover (viz theme style.css), jen je
   spoustena JS klikem/tapem misto hoveru (viz cp-preview/vylety-tap.js).
   preview-styles.css, 2026-09-14. */
body.cp-preview .cp-vylet-card.cp-vylet-active .cp-vylet-card-overlay {
  background: linear-gradient(rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.65) 40%, rgba(0, 0, 0, 0.95) 100%) !important;
}
body.cp-preview .cp-vylet-card.cp-vylet-active .cp-vylet-card-reveal {
  max-height: 300px !important;
  opacity: 1 !important;
  margin-top: 6px !important;
}

/* === 2026-09-25: hero nadpis "CHALUPY K PRONAJMU" - efekt jako lefiro.it ===
   Pouze cast pres fotku (::after) se prolina s fotkou (mix-blend-mode: difference,
   bily text -> inverze fotky). Leva cast (::before) zustava puvodni barvy.
   Blend je na widgetu nadpisu (z-index 99, predci bez stacking contextu), proto
   se prolina cely widget; ::before dostava inverzni barvu (#585968), takze nad
   bilym pozadim po difference vyjde puvodni #a7a697.
   Jen desktop/tablet. Zaloha: claude-backup/2026-09-25_1027_hero-difference */
@media (min-width: 768px) {
  body.cp-preview #vypnete .elementor-element-1ac4bb6 {
    mix-blend-mode: difference;
  }
  body.cp-preview #vypnete .section-title.absolute.right.cp-split .elementor-heading-title::before {
    color: #585968;
    -webkit-text-fill-color: #585968;
  }
  body.cp-preview #vypnete .section-title.absolute.right.cp-split .elementor-heading-title::after {
    filter: none;
  }
}

/* Jazykovy prepinac v hlavicce: na detailu clanku (single) je hlavicka svetle bezova (#a7a697) a neaktivni
   jazyky maji stejnou barvu -> nebylo je videt. Tmavsi barva jen dokud neni .fixed-header (po scrollu je
   hlavicka tmava #595850 a puvodni svetla barva je tam citelna). Aktivni jazyk zustava bily. 2026-10-06. */
body.cp-preview.single:not(.fixed-header) header .cpel-switcher__lang:not(.cpel-switcher__lang--active) a {
  color: #4a493f !important;
}

/* Jazykovy prepinac: stin (text-shadow) ma smysl jen na pruhledne hlavicce pres fotku. Tam, kde ma hlavicka
   plne pozadi (detail clanku, olivove stranky Galerie/Blog/Chalupy a po scrollu .fixed-header), se vypina. 2026-10-06. */
body.cp-preview.single header .cpel-switcher__lang a,
body.cp-preview.fixed-header header .cpel-switcher__lang a,
body.cp-preview.page-id-613 header .cpel-switcher__lang a,
body.cp-preview.page-id-338 header .cpel-switcher__lang a,
body.cp-preview.elementor-page-168 header .cpel-switcher__lang a {
  text-shadow: none !important;
}

/* =========================================================================
   Complianz cookie banner — "sušenka" styl
   Znovupoužitelná komponenta. Vlož do CSS webu (za hlavní styly).
   Vyžaduje 2 obrázky ze složky img/ (cesty uprav v --ck-cookie-img / --ck-settings-img).
   Texty + barvy pozadí/textu banneru nastavuje apply-banner.php (DB Complianz);
   tento soubor řeší TVAR (kulaté tlačítko, ikona sušenky, čistý křížek, revoke ikona).
   Barvy zde měň v :root proměnných níže.
   ========================================================================= */
:root{
  --ck-bg:#595850;                          /* pozadí karty (tmavé) — musí sedět s apply-banner.php */
  --ck-accent:#ffffff;                      /* accent = kulaté tlačítko „Přijmout/Jasně" */
  --ck-accent-ink:#333333;                  /* barva textu na accentu */
  --ck-cookie-img:url(https://www.chalupyroubal.cz/wp-content/themes/hello-theme-child-master/images/cookie.svg);            /* fotka sušenky (hlavička otevřeného banneru) */
  --ck-settings-img:url(https://www.chalupyroubal.cz/wp-content/themes/hello-theme-child-master/images/cookie-settings.svg); /* line-art ikona (zavřený stav / revoke) */
}

/* ── Karta ──────────────────────────────────────────────────────────────── */
#cmplz-cookiebanner-container .cmplz-cookiebanner{
  border-radius:20px !important;
  max-width:380px !important;
  box-shadow:0 20px 60px rgba(0,0,0,.28) !important;
}

/* ── Hlavička: sušenka + nadpis ─────────────────────────────────────────── */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header{ display:flex !important; align-items:center; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-logo{
  display:block !important; flex:0 0 auto;
  width:50px; height:50px; margin-right:14px; padding:0 !important;
  background:var(--ck-cookie-img) no-repeat center/contain !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title{
  font-weight:800 !important; font-size:1.35rem !important; flex:1;
}

/* ── Tlačítka: text-odkazy vlevo + kulaté accent vpravo ─────────────────── */
#cmplz-cookiebanner-container .cmplz-buttons{ display:flex !important; align-items:center; gap:1.1rem; flex-wrap:wrap; }
#cmplz-cookiebanner-container .cmplz-btn.cmplz-deny,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-view-preferences{
  background:transparent !important; border:none !important; box-shadow:none !important;
  color:rgba(255,255,255,.75) !important; text-decoration:underline; text-underline-offset:3px;
  padding:0 !important; width:auto !important; min-width:0 !important; font-weight:600;
}
#cmplz-cookiebanner-container .cmplz-btn.cmplz-deny:hover,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-view-preferences:hover{ color:#fff !important; }
#cmplz-cookiebanner-container .cmplz-btn.cmplz-accept{
  margin-left:auto !important; order:9;
  width:64px !important; height:64px !important; min-width:64px !important; border-radius:50% !important;
  background:var(--ck-accent) !important; color:var(--ck-accent-ink) !important;
  font-weight:800 !important; font-size:.85rem !important;
  box-shadow:0 4px 14px rgba(0,0,0,.28) !important; flex:0 0 auto;
  transition:transform .2s, box-shadow .2s;
}
#cmplz-cookiebanner-container .cmplz-btn.cmplz-accept:hover{ transform:scale(1.06); box-shadow:0 6px 22px rgba(0,0,0,.3) !important; }
/* „Potvrdit výběr" (detailní zobrazení) jako plná pilulka */
#cmplz-cookiebanner-container .cmplz-btn.cmplz-save-preferences{
  border-radius:12px !important; background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.25) !important; color:#fff !important; width:100% !important;
}
/* skrýt nadbytečné „Spravovat možnosti / služby / vendory" (čistý vzhled) */
#cmplz-cookiebanner-container .cmplz-links.cmplz-information{ display:none !important; }

/* ── Zavírací X: čistý bílý křížek (ne deformovaná FA ikona, bez focus-boxu) ── */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close{
  position:absolute !important; top:14px !important; right:14px !important;
  width:26px !important; height:26px !important; padding:0 !important;
  background:none !important; border:none !important; box-shadow:none !important; outline:none !important;
  font-size:0 !important; opacity:.8; cursor:pointer; transition:opacity .2s;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close:hover{ opacity:1; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close:focus,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close:focus-visible{ outline:none !important; box-shadow:none !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close svg{ display:none !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close::before,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close::after{
  content:"" !important; position:absolute; top:50%; left:50%;
  width:16px; height:2px; background:#fff; border-radius:2px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close::before{ transform:translate(-50%,-50%) rotate(45deg); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close::after{ transform:translate(-50%,-50%) rotate(-45deg); }

/* ── Zavřený stav (revoke): kulaté tlačítko s line-art cookie ikonou vlevo dole ── */
#cmplz-manage-consent .cmplz-btn.cmplz-manage-consent{
  position:fixed !important; left:1.5rem !important; bottom:1.5rem !important; z-index:7000;
  width:46px !important; height:46px !important; min-width:0 !important; padding:0 !important;
  border:none !important; border-radius:50% !important; line-height:0 !important;
  background:var(--ck-bg) var(--ck-settings-img) no-repeat center !important; background-size:24px !important;
  color:transparent !important; font-size:0 !important; overflow:hidden; white-space:nowrap;
  box-shadow:0 4px 14px rgba(0,0,0,.25) !important; cursor:pointer;
  transition:transform .2s, box-shadow .2s;
}
#cmplz-manage-consent .cmplz-btn.cmplz-manage-consent:hover{ transform:scale(1.08); box-shadow:0 8px 24px rgba(0,0,0,.34) !important; }

/* === Complianz lista: mobil (nadpis viditelny, tlacitka v jednom radku), bile tlacitko Prijmout === */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header .cmplz-title { display:block !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { flex-direction:row !important; flex-wrap:nowrap !important; }
#cmplz-cookiebanner-container .cmplz-btn.cmplz-deny,
#cmplz-cookiebanner-container .cmplz-btn.cmplz-view-preferences { white-space:nowrap !important; width:auto !important; flex:0 0 auto !important; }
@media (max-width:768px){
  #cmplz-cookiebanner-container .cmplz-cookiebanner { left:10px !important; right:10px !important; bottom:10px !important; width:auto !important; max-width:none !important; }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { gap:.9rem !important; }
}

/* === Mobil: h1 .section-title (napr. Galerie) stejne radkovani jako h2 na strance Chalupy === */
@media (max-width: 767px) {
  body.cp-preview .elementor-428 .section-title h1.elementor-heading-title {
    font-size: 36px !important;
    line-height: 48px !important;
    margin-bottom: 0 !important;
  }
}

/* === Complianz: ikona pro znovuotevreni nastaveni cookies i na mobilu (odvolani souhlasu musi byt snadne) === */
@media (max-width: 768px) {
  #cmplz-manage-consent .cmplz-btn.cmplz-manage-consent { display:block !important; left:1rem !important; bottom:1rem !important; width:42px !important; height:42px !important; }
  #cmplz-manage-consent .cmplz-btn.cmplz-manage-consent.cmplz-dismissed { display:none !important; }
}

/* === Blog karty: excerpt (max-height 72px po hoveru) preteka pres "Vice informaci" - omezeno na 3 radky === */
body.cp-preview #blog .elementor-widget-posts .elementor-post__excerpt { overflow: hidden !important; }
body.cp-preview #blog .elementor-widget-posts .elementor-post__excerpt p {
  display: -webkit-box !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 3 !important;
  overflow: hidden !important; margin-bottom: 0 !important;
}
body.cp-preview #blog .elementor-widget-posts .elementor-post:hover .elementor-post__read-more { max-height: 28px !important; padding-top: 8px !important; }

/* === Detail clanku (#single-post): vodorovne okraje na mobilu/tabletu (obsah sedel na hrane obrazovky) === */
@media (max-width: 767px) {
  body.cp-preview #single-post { padding-left: 20px !important; padding-right: 20px !important; box-sizing: border-box !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  body.cp-preview #single-post { padding-left: 40px !important; padding-right: 40px !important; box-sizing: border-box !important; }
}

/* === Complianz lista: vpravo, bez obrazku susenky v hlavicce; revoke ikona take vpravo === */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-logo { display:none !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header { padding-right:34px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title { font-size:1.2rem !important; }
#cmplz-manage-consent .cmplz-btn.cmplz-manage-consent { left:auto !important; right:1.5rem !important; }
@media (max-width: 768px) {
  #cmplz-manage-consent .cmplz-btn.cmplz-manage-consent { left:auto !important; right:1rem !important; }
}

/* === Ceny: tlacitko "Ubytovaci rad" vedle Rezervace + popup s akordeonem (ubytovaci rad) === */
body.cp-preview .elementor-widget-button.cp-rules-btn .elementor-button { background-color: #595850 !important; color: #fff !important; border: 0 !important; }
body.cp-preview .elementor-widget-button.cp-rules-btn .elementor-button .elementor-button-text,
body.cp-preview .elementor-widget-button.cp-rules-btn .elementor-button .elementor-button-icon i,
body.cp-preview .elementor-widget-button.cp-rules-btn .elementor-button .elementor-button-icon svg { color: #fff !important; fill: #fff !important; }
body.cp-preview .elementor-widget-button.cp-rules-btn .elementor-button:hover { background-color: #6f6e5f !important; }
/* na mobilu (<=700px) je Rezervace skryta (sticky lista), kontejner s tlacitkem Ubytovaci rad ale zustava */
@media (max-width: 700px) {
  body.cp-preview .elementor-element-cprezconA,
  body.cp-preview .elementor-element-cprezconB,
  body.cp-preview .elementor-element-cprezconC { display: flex !important; padding-bottom: 40px !important; }
}
/* popup */
.cp-rules-popup { width: 100%; }
.cp-rules-popup .e-n-accordion-item-title { padding: 16px 4px; cursor: pointer; }
.cp-rules-popup .e-n-accordion-item-title-text { font-family: "quiche-sans", serif; font-size: 20px; color: #595850; }
.cp-rules-popup .e-n-accordion-item-title-icon { color: #595850; }
.cp-rules-popup .e-n-accordion-item > .e-con { padding: 0 4px 20px !important; }
.cp-rules-popup ul { margin: 0 0 14px; padding-left: 22px; }
.cp-rules-popup li { margin-bottom: 6px; }
.cp-rules-popup p { margin: 0 0 10px; }
.cp-rules-popup p b { color: #595850; }
@media (max-width: 767px) {
  .cp-rules-popup { padding: 28px 16px !important; }
  .cp-rules-popup .e-n-accordion-item-title-text { font-size: 17px; }
}

/* Ubytovaci rad - mobil: mensi mezera pod tlacitkem, nadpis popupu se vejde */
@media (max-width: 700px) {
  body.cp-preview .elementor-element-cprezconA > .e-con-inner,
  body.cp-preview .elementor-element-cprezconB > .e-con-inner,
  body.cp-preview .elementor-element-cprezconC > .e-con-inner { padding-bottom: 0 !important; }
  body.cp-preview .elementor-element-cprezconA,
  body.cp-preview .elementor-element-cprezconB,
  body.cp-preview .elementor-element-cprezconC { padding-bottom: 10px !important; }
}
@media (max-width: 767px) {
  .cp-rules-popup .elementor-heading-title { font-size: 34px !important; line-height: 1.15 !important; overflow-wrap: anywhere; }
}

/* === Ubytovaci rad popup: akordeon v designu webu (taupe #595850, zlata #a7a697, quiche-sans, jemne linky) === */
.cp-rules-popup .cp-rules-accordion .e-n-accordion-item { border: 0 !important; border-bottom: 1px solid #d6d5cb !important; background: transparent !important; }
.cp-rules-popup .cp-rules-accordion .e-n-accordion-item:first-of-type { border-top: 1px solid #d6d5cb !important; }
.cp-rules-popup .cp-rules-accordion .e-n-accordion-item-title { border: 0 !important; background: transparent !important; padding: 22px 0 !important; justify-content: space-between !important; gap: 20px; transition: color .25s; }
.cp-rules-popup .cp-rules-accordion .e-n-accordion-item-title-header { order: 1; flex: 1; }
.cp-rules-popup .cp-rules-accordion .e-n-accordion-item-title-text { font-family: "quiche-sans", serif !important; font-size: 24px !important; line-height: 1.25; font-weight: 400; color: #595850 !important; transition: color .25s; }
.cp-rules-popup .cp-rules-accordion .e-n-accordion-item-title:hover .e-n-accordion-item-title-text { color: #a7a697 !important; }
.cp-rules-popup .cp-rules-accordion .e-n-accordion-item-title-icon { order: 2; color: #a7a697 !important; }
.cp-rules-popup .cp-rules-accordion .e-n-accordion-item-title-icon svg { width: 15px !important; height: 15px !important; fill: currentColor !important; }
.cp-rules-popup .cp-rules-accordion .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon { color: #595850 !important; }
.cp-rules-popup .cp-rules-accordion .e-n-accordion-item > .e-con { border: 0 !important; background: transparent !important; padding: 0 0 28px !important; }
.cp-rules-popup .cp-rules-accordion .elementor-widget-text-editor,
.cp-rules-popup .cp-rules-accordion .elementor-widget-text-editor p,
.cp-rules-popup .cp-rules-accordion .elementor-widget-text-editor li { color: #595850; font-size: 16px; line-height: 1.65; }
.cp-rules-popup .cp-rules-accordion .elementor-widget-text-editor p b { font-weight: 600; letter-spacing: .01em; }
.cp-rules-popup .cp-rules-accordion .elementor-widget-text-editor li::marker { color: #a7a697; }
@media (max-width: 767px) {
  .cp-rules-popup .cp-rules-accordion .e-n-accordion-item-title { padding: 18px 0 !important; }
  .cp-rules-popup .cp-rules-accordion .e-n-accordion-item-title-text { font-size: 20px !important; }
}

/* === Ceny: veta o storno pod tlacitky (Rezervace / Ubytovaci rad) === */
body.cp-preview .cp-storno-note { max-width: 720px; margin: 0 auto !important; padding-bottom: 28px !important; }
body.cp-preview .cp-storno-note p { margin: 0; text-align: center; font-size: 15px; line-height: 1.6; color: #595850; }
body.cp-preview .cp-storno-note p strong { font-weight: 600; }

/* === SEO: H1 u nadpisu prehledu chalup (sablony 990/1294/1295, widget ba5c581) a rezervace (widget 48700ce) -
   tag zmenen z h2 na h1, vzhled musi zustat stejny jako u puvodniho h2 (110/110, tablet 80/80, mobil 36/48) === */
.elementor-element-ba5c581 h1.elementor-heading-title,
.elementor-element-48700ce h1.elementor-heading-title {
  font-family: "quiche-sans", sans-serif; font-weight: 400; letter-spacing: normal; margin: 0; padding: 0;
  font-size: 110px; line-height: 110px !important;
}
.elementor-element-ba5c581 h1.elementor-heading-title { color: #c6c4b4; text-transform: none; }
.elementor-element-48700ce h1.elementor-heading-title { color: #a7a697; text-transform: uppercase; }
@media (max-width: 1024px) {
  .elementor-element-ba5c581 h1.elementor-heading-title,
  .elementor-element-48700ce h1.elementor-heading-title { font-size: 80px; line-height: 80px !important; }
}
@media (max-width: 767px) {
  .elementor-element-ba5c581 h1.elementor-heading-title,
  .elementor-element-48700ce h1.elementor-heading-title { font-size: 36px; line-height: 48px !important; }
}
/* H1 na pravnich strankach (cookies, zasady) */
.cp-legal-h1 { font-family: "quiche-sans", sans-serif; font-weight: 400; color: #595850; font-size: 44px; line-height: 1.15; margin: 0 0 28px; }
@media (max-width: 767px) { .cp-legal-h1 { font-size: 30px; } }

/* SEO H1 - opravna vrstva: obecne pravidlo pro h1 prebijelo velikost/transform, proto !important + body.cp-preview */
body.cp-preview .elementor-element-ba5c581 h1.elementor-heading-title,
body.cp-preview .elementor-element-48700ce h1.elementor-heading-title {
  font-size: 110px !important; line-height: 110px !important; font-weight: 400 !important; letter-spacing: normal !important; margin: 0 !important;
}
body.cp-preview .elementor-element-ba5c581 h1.elementor-heading-title { text-transform: none !important; color: #c6c4b4 !important; }
body.cp-preview .elementor-element-48700ce h1.elementor-heading-title { text-transform: uppercase !important; color: #a7a697 !important; }
@media (max-width: 1024px) {
  body.cp-preview .elementor-element-ba5c581 h1.elementor-heading-title,
  body.cp-preview .elementor-element-48700ce h1.elementor-heading-title { font-size: 80px !important; line-height: 80px !important; }
}
@media (max-width: 767px) {
  body.cp-preview .elementor-element-ba5c581 h1.elementor-heading-title,
  body.cp-preview .elementor-element-48700ce h1.elementor-heading-title { font-size: 36px !important; line-height: 48px !important; }
}
body.cp-preview h1.cp-legal-h1 { font-size: 44px !important; line-height: 1.15 !important; text-transform: none !important; color: #595850 !important; margin: 0 0 28px !important; }
@media (max-width: 767px) { body.cp-preview h1.cp-legal-h1 { font-size: 30px !important; } }
