:root{--c-primary:#2563eb;--c-text:#111827;--c-text-soft:#4b5563;--c-bg:#ffffff;--c-border:#e5e7eb;--c-surface:#f3f4f6;--c-dark:#1f2937;--c-on-primary:#ffffff}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--f-body,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif);font-size:var(--f-base,16px);line-height:1.6;color:var(--c-text);background:var(--c-bg)}
h1,h2,h3,h4{font-family:var(--f-heading,inherit)}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-primary)}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:8px 16px;background:var(--c-bg);color:var(--c-text)}
.skip-link:focus{left:0}
.site-header{border-bottom:1px solid var(--c-border);background:var(--c-bg);position:sticky;top:0;z-index:50}
.site-header__inner{max-width:1080px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-header__brand{font-weight:700;font-size:18px;color:var(--c-text);text-decoration:none}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.site-nav a{display:block;padding:8px 12px;color:var(--c-text-soft);text-decoration:none;border-radius:8px}
.site-nav a:hover{color:var(--c-text);background:#f3f4f6}
.site-lang ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;align-items:center}
.site-lang a{display:block;padding:4px 8px;font-size:13px;color:var(--c-text-soft);text-decoration:none;border-radius:6px;text-transform:uppercase}
.site-lang a:hover{color:var(--c-text);background:#f3f4f6}
.site-lang a[aria-current]{color:var(--c-primary);font-weight:600}
.wb-reviews__summary{font-size:18px;color:var(--c-text);margin-bottom:20px}
.wb-reviews__summary strong{font-size:22px}
.wb-reviews__list{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));text-align:left}
.wb-review{margin:0;padding:20px;border:1px solid var(--c-border);border-radius:var(--c-radius,12px);background:var(--c-bg);box-shadow:var(--c-shadow,none)}
.wb-review blockquote{margin:8px 0;color:var(--c-text);font-size:15px;line-height:1.6}
.wb-review figcaption{color:var(--c-text-soft);font-size:14px;font-weight:600}
.wb-stars{color:#f59e0b;letter-spacing:2px}
.wb-reviews__empty{color:var(--c-text-soft)}
.wb-reviews__avg{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.wb-reviews__avg strong{font-size:34px;line-height:1;color:var(--c-text)}
.wb-reviews__cnt{color:var(--c-text-soft);font-size:14px}
.wb-reviews__dist{display:flex;flex-direction:column;gap:4px;max-width:340px;margin:0 auto 8px}
.wb-reviews__bar{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;font:inherit;padding:1px 0;width:100%}
.wb-reviews__bar.is-active{font-weight:700}
.wb-reviews__bar-l{font-size:12px;color:var(--c-text-soft);width:28px;text-align:right}
.wb-reviews__bar-t{flex:1;height:8px;border-radius:4px;background:var(--c-border);overflow:hidden}
.wb-reviews__bar-t span{display:block;height:100%;background:#f59e0b}
.wb-reviews__bar-c{font-size:12px;color:var(--c-text-soft);width:24px;text-align:left}
.wb-reviews__controls{display:flex;justify-content:flex-end;margin-bottom:14px}
.wb-reviews__sort{padding:6px 10px;border:1px solid var(--c-border);border-radius:8px;font:inherit;font-size:14px;background:var(--c-bg);color:var(--c-text)}
.wb-reviews__more{text-align:center;margin-top:18px}
.wb-reviews__more-btn{padding:8px 18px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-bg);color:var(--c-text);font:inherit;cursor:pointer}
.wb-review__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wb-review__verified{font-size:12px;font-weight:600;color:#0d9488}
.wb-review__crit{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;font-size:12px;color:var(--c-text-soft)}
.wb-review__photos{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.wb-review__photos img{width:72px;height:72px;object-fit:cover;border-radius:8px;cursor:zoom-in}
.wb-review__reply{margin-top:10px;padding:10px 12px;border-radius:8px;background:rgba(0,0,0,.04);font-size:13px;color:var(--c-text-soft)}
.wb-review__helpful{margin-top:10px;background:none;border:1px solid var(--c-border);border-radius:999px;padding:3px 12px;font:inherit;font-size:12px;color:var(--c-text-soft);cursor:pointer}
.wb-review__helpful:hover{border-color:var(--c-primary);color:var(--c-primary)}
.wb-review__helpful:disabled{opacity:.6;cursor:default}
.wb-rv-stars{display:inline-flex;gap:2px;margin:4px 0}
.wb-rv-star{background:none;border:none;font-size:26px;line-height:1;color:var(--c-border);cursor:pointer;padding:0}
.wb-rv-star.is-on{color:#f59e0b}
.wb-rv-crit{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0}
.wb-rv-crit .wb-rv-star{font-size:20px}
.wb-rv-verified{color:#0d9488;font-weight:600;font-size:14px;margin:0 0 6px}
.wb-products__grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));text-align:left}
.wb-product{display:flex;flex-direction:column;border:1px solid var(--c-border);border-radius:var(--c-radius,12px);padding:16px;background:var(--c-bg);box-shadow:var(--c-shadow,none)}
.wb-product img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;margin-bottom:12px}
.wb-product h3{margin:0 0 6px;font-size:16px}
.wb-product p{margin:0 0 12px;font-size:14px;color:var(--c-text-soft);flex:1}
.wb-product__price{font-size:18px;font-weight:700;margin-bottom:12px}
.wb-product h3 a,.wb-product__img{color:inherit;text-decoration:none}
.wb-produkt{max-width:1080px;margin:0 auto;padding:48px 20px;text-align:left}
.wb-produkt__obal{display:grid;gap:40px;grid-template-columns:minmax(0,1fr)}
@media(min-width:768px){.wb-produkt__obal{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
.wb-produkt__foto img{width:100%;display:block;border-radius:var(--c-radius,12px)}
.wb-produkt__galerie{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}
.wb-produkt__galerie img{aspect-ratio:1;object-fit:cover;border-radius:8px}
.wb-produkt__puvodni,.wb-product__puvodni{font-weight:400;opacity:.6;margin-right:6px}
.wb-produkt h1{margin:0 0 12px;font-size:clamp(28px,4vw,40px);line-height:1.15;overflow-wrap:anywhere}
.wb-produkt__cena{margin:0 0 6px;font-size:24px;font-weight:700}
.wb-produkt__stav{margin:0 0 16px;font-size:14px;font-weight:600;color:#047857}
.wb-produkt__stav.is-vyprodano{color:#b91c1c}
.wb-produkt__meta{margin:0 0 16px;font-size:15px;color:var(--c-text-soft)}
.wb-produkt__koupit{max-width:360px;margin:0 0 28px}
.wb-produkt__koupit .wb-btn{width:100%}
.wb-produkt__popis{font-size:16px;line-height:1.7;color:var(--c-text-soft)}
.wb-produkt__popis p{margin:0 0 12px}
.wb-product__meta{font-size:14px;opacity:.75;margin:0 0 8px}
.wb-pdlg{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(17,24,39,.55)}
.wb-pdlg__box{width:100%;max-width:440px;max-height:calc(100vh - 32px);overflow:auto;background:#fff;color:#111827;border-radius:12px;padding:24px;box-shadow:0 20px 50px rgba(0,0,0,.25);text-align:left}
.wb-pdlg__box h3{margin:0 0 4px;font-size:20px}
.wb-pdlg__price{margin:0 0 16px;font-size:18px;font-weight:700}
.wb-pdlg__chk{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;font-size:14px;line-height:1.5;cursor:pointer}
.wb-pdlg__chk input{margin-top:3px;flex-shrink:0;width:18px;height:18px}
.wb-pdlg__chk a{color:inherit;text-decoration:underline}
.wb-pdlg__err{margin:0 0 12px;font-size:13px;color:#b91c1c}
.wb-pdlg__act{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px}
.wb-pdlg__no{background:none;border:0;padding:10px 6px;font-size:15px;color:#4b5563;cursor:pointer;text-decoration:underline}
.wb-product__var{width:100%;margin:0 0 10px;padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font:inherit;color:inherit}
.wb-product__var.wb-chyba{border-color:#b91c1c;outline:2px solid rgba(185,28,28,.2)}
.wb-kosik-tl{position:fixed;right:16px;bottom:16px;z-index:900;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:0;border-radius:999px;background:#111827;color:#fff;font:inherit;font-size:15px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.25);cursor:pointer}
.wb-kosik-tl[hidden]{display:none}
.wb-kosik-tl b{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;border-radius:999px;background:#fff;color:#111827;font-size:13px}
.wb-kosik .wb-pdlg__box{max-width:520px}
.wb-kosik__hlava{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.wb-kosik__hlava h3{margin:0}
.wb-kosik__x{border:0;background:none;font-size:26px;line-height:1;color:#6b7280;cursor:pointer;padding:0 4px}
.wb-kosik__polozky{list-style:none;margin:0 0 16px;padding:0;border-top:1px solid #e5e7eb}
.wb-kosik__polozky li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;border-bottom:1px solid #e5e7eb;font-size:14px}
.wb-kosik__nazev{flex:1 1 160px;min-width:0;overflow-wrap:anywhere}
.wb-kosik__mn{display:inline-flex;align-items:center;border:1px solid #d1d5db;border-radius:8px}
.wb-kosik__mn button{width:32px;height:32px;border:0;background:none;font-size:18px;cursor:pointer;color:inherit}
.wb-kosik__mn span{min-width:24px;text-align:center}
.wb-kosik__cena{font-weight:600;white-space:nowrap}
.wb-kosik__pryc{border:0;background:none;font-size:20px;color:#9ca3af;cursor:pointer;padding:0 4px}
.wb-kosik__sekce{margin:0 0 14px;padding:0;border:0}
.wb-kosik__sekce legend{margin-bottom:8px;font-size:14px;font-weight:600}
.wb-kosik__misto{margin:4px 0 0 28px;font-size:14px}
.wb-kosik__misto button,.wb-kosik__kod button{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font:inherit;font-size:14px;cursor:pointer;color:inherit}
.wb-kosik__kod{display:flex;gap:8px;margin:0 0 14px}
.wb-kosik__poznamka textarea,.wb-kosik__kod input,.wb-kosik__email input,.wb-kosik__email select{flex:1;resize:vertical;min-width:0;padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;font:inherit;font-size:14px;background:#fff}
.wb-kosik__souhrn{width:100%;margin:0 0 14px;border-collapse:collapse;font-size:14px}
.wb-kosik__souhrn td{padding:4px 0}
.wb-kosik__souhrn td:last-child{text-align:right;white-space:nowrap}
.wb-kosik__celkem td{padding-top:8px;border-top:1px solid #e5e7eb;font-size:16px;font-weight:700}
.wb-kosik__email{display:flex;flex-direction:column;gap:4px;margin:0 0 4px;font-size:14px;font-weight:600}
.wb-kosik__pozn{margin:0 0 14px;font-size:12px;color:#6b7280}
.wb-mena{display:inline-flex;align-items:center;gap:6px;font-size:14px;margin:0 0 12px}.wb-mena select{font:inherit;font-size:14px;padding:4px 8px;border-radius:8px;border:1px solid var(--c-border);background:var(--c-bg);color:inherit}.wb-kosik__hlava .wb-mena{margin:0 0 0 auto}
.wb-products__filtr{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.wb-products__filtr button{font:inherit;font-size:14px;padding:6px 14px;border-radius:999px;border:1px solid var(--c-border);background:var(--c-bg);color:inherit;cursor:pointer}
.wb-products__filtr button[aria-pressed=true]{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary,#fff)}
.wb-products__empty{color:var(--c-text-soft)}
.webeas-gallery[data-webeas-gallery]{display:block}
.wb-gallery__filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}
.wb-gallery__filter{border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text);border-radius:999px;padding:6px 14px;font:inherit;font-size:14px;cursor:pointer}
.wb-gallery__filter.is-active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.wb-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wb-gallery__item{margin:0;position:relative;overflow:hidden;line-height:0}
.wb-gallery__item picture{display:block;line-height:0}
.wb-gallery__item img{width:100%;object-fit:cover;display:block;transition:transform .4s ease,filter .4s ease}
.wb-gallery__justified .wb-gallery__item picture,.wb-gallery__carousel .wb-gallery__item picture{height:100%}
.wb-gallery__grid .wb-gallery__item img{aspect-ratio:1/1}
.wb-gallery__item figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;background:linear-gradient(transparent,rgba(17,24,39,.78));color:#fff;font-size:13px;line-height:1.35;display:flex;flex-direction:column;gap:2px}
.wb-gallery__item figcaption strong{font-size:14px}
.wb-gallery__empty{color:var(--c-text-soft);text-align:center}
/* lightbox kurzor jen když je proklik zapnutý */
.wb-gallery__item img[data-full]{cursor:zoom-in}
/* zaoblení rohů */
.wb-r-s .wb-gallery__item{border-radius:8px}
.wb-r-l .wb-gallery__item{border-radius:16px}
/* efekt při najetí */
.wb-hover-zoom .wb-gallery__item:hover img{transform:scale(1.06)}
.wb-hover-dim .wb-gallery__item:hover img{filter:brightness(.78)}
.wb-hover-lift .wb-gallery__item{transition:transform .25s ease,box-shadow .25s ease}
.wb-hover-lift .wb-gallery__item:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(17,24,39,.16)}
/* popisky pod fotkou */
.wb-cap-below .wb-gallery__item figcaption{position:static;background:none;color:var(--c-text);padding:8px 2px 0;line-height:1.4}
.wb-cap-below .wb-gallery__item figcaption span{color:var(--c-text-soft)}
/* masonry (zední) */
.wb-gallery__masonry{column-count:3}
.wb-gallery__masonry .wb-gallery__item{break-inside:avoid;margin-bottom:12px;display:block}
.wb-gallery__masonry .wb-gallery__item img{aspect-ratio:auto}
/* mozaika (justified, řádky stejné výšky) */
.wb-gallery__justified{display:flex;flex-wrap:wrap;gap:12px}
.wb-gallery__justified .wb-gallery__item{height:240px;flex-grow:1}
.wb-gallery__justified .wb-gallery__item img{height:100%;width:100%}
/* karusel */
.wb-gallery__carousel{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;-webkit-overflow-scrolling:touch}
.wb-gallery__carousel .wb-gallery__item{flex:0 0 auto;width:min(80%,340px);scroll-snap-align:start}
.wb-gallery__carousel .wb-gallery__item img{height:300px}
@media(max-width:640px){.wb-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.wb-gallery__masonry{column-count:2!important}}
.webeas-menu[data-webeas-menu]{display:block}
.wb-menu{max-width:760px;margin:0 auto;text-align:left}
.wb-menu__section+.wb-menu__section{margin-top:34px}
.wb-menu__section-title{font-size:22px;margin:0;border-bottom:2px solid var(--c-primary);padding-bottom:6px;display:inline-block}
.wb-menu__section-desc{color:var(--c-text-soft);font-size:14px;margin:8px 0 0}
.wb-menu__list{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.wb-menu__row{display:flex;gap:14px}
.wb-menu__thumb{width:72px;height:72px;object-fit:cover;border-radius:8px;flex:0 0 auto}
.wb-menu__row-body{flex:1;min-width:0}
.wb-menu__row-head{display:flex;align-items:baseline;gap:8px}
.wb-menu__name{font-weight:600;color:var(--c-text)}
.wb-menu__dots{flex:1;border-bottom:1px dotted var(--c-border);min-width:18px;transform:translateY(-4px)}
.wb-menu__price{font-weight:700;white-space:nowrap;color:var(--c-text)}
.wb-menu__unit{font-weight:400;color:var(--c-text-soft);font-size:13px}
.wb-menu__desc{color:var(--c-text-soft);font-size:14px;margin:3px 0 0}
.wb-menu__alg{color:var(--c-text-soft);font-size:12px;font-weight:400}
.wb-menu__tags{display:inline-flex;gap:4px;margin-left:6px;vertical-align:middle}
.wb-menu__tag{font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px;background:var(--c-primary);color:#fff;letter-spacing:.02em;line-height:1.6}
.wb-menu__sold{font-size:12px;color:#b91c1c;font-weight:600;margin-left:6px}
.wb-menu__row.is-unavailable,.wb-menu__card.is-unavailable{opacity:.5}
.wb-menu__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:16px}
.wb-menu__card{border:1px solid var(--c-border);border-radius:var(--c-radius,12px);overflow:hidden;background:var(--c-bg);display:flex;flex-direction:column}
.wb-menu__card img{width:100%;height:150px;object-fit:cover}
.wb-menu__card-body{padding:12px;display:flex;flex-direction:column;gap:5px}
.wb-menu__card .wb-menu__row-head{justify-content:space-between}
.wb-menu__legend{max-width:760px;margin:28px auto 0;padding-top:14px;border-top:1px solid var(--c-border);color:var(--c-text-soft);font-size:12px;line-height:1.7}
.wb-menu__empty{color:var(--c-text-soft);text-align:center}
.wb-menu__price--var{display:inline-flex;flex-wrap:wrap;gap:3px 12px;font-weight:700;white-space:normal}
.wb-menu__var{white-space:nowrap}
.wb-menu__var-l{color:var(--c-text-soft);font-weight:400;font-size:12px}
.wb-menu__nut{color:var(--c-text-soft);font-size:12px;margin:4px 0 0}
.wb-menu__sched{font-size:12px;font-weight:600;color:var(--c-primary);margin-left:10px;vertical-align:middle;white-space:nowrap}
.wb-menu__tag--vegetarian,.wb-menu__tag--vegan,.wb-menu__tag--glutenfree,.wb-menu__tag--lactosefree{background:#15803d}
.wb-menu__tag--spicy{background:#dc2626}
.wb-menu__tag--new{background:#ea580c}
.wb-menu__tag--popular{background:#d97706}
.wb-menu__tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:22px}
.wb-menu__chips{display:flex;flex-wrap:wrap;gap:6px}
.wb-menu__chip{font-size:13px;padding:5px 12px;border-radius:999px;border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text);cursor:pointer}
.wb-menu__chip.is-active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.wb-menu__search{display:flex;align-items:center;gap:12px;margin-left:auto;flex-wrap:wrap}
.wb-menu__search-in{padding:6px 12px;border:1px solid var(--c-border);border-radius:8px;font:inherit;font-size:14px;min-width:170px}
.wb-menu__hide{font-size:13px;color:var(--c-text-soft);display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.wb-menu__print{font-size:13px;padding:6px 12px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-bg);color:var(--c-text);cursor:pointer}
.wb-menu__none{color:var(--c-text-soft);text-align:center;padding:20px}
@media print{.wb-menu__tools,.webeas-lightbox{display:none!important}.wb-menu,.wb-menu__legend{max-width:none}.wb-menu__row,.wb-menu__card{break-inside:avoid}}
.wb-place{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;text-align:left;max-width:900px;margin:0 auto}
.wb-place__map{width:100%;min-height:300px;height:100%;border:0;border-radius:12px}
.wb-place__info{display:flex;flex-direction:column;gap:16px}
.wb-place__badge{display:inline-block;font-size:13px;font-weight:700;padding:4px 12px;border-radius:999px}
.wb-place__badge.is-open{background:#dcfce7;color:#166534}
.wb-place__badge.is-closed{background:#fee2e2;color:#991b1b}
.wb-place__contact{display:flex;flex-direction:column;gap:6px;font-size:15px}
.wb-place__contact a{color:var(--c-primary);text-decoration:none}
.wb-place__hours{border-collapse:collapse;font-size:14px;width:100%;max-width:340px}
.wb-place__hours td{padding:5px 8px;border-bottom:1px solid var(--c-border)}
.wb-place__hours td:last-child{text-align:right;color:var(--c-text-soft)}
.wb-place__hours tr.is-today td{font-weight:700;color:var(--c-text)}
.wb-place__name{margin:0;font-size:20px;color:var(--c-text)}
.wb-place__top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.wb-place__nav{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:var(--c-primary);text-decoration:none;border:1px solid var(--c-primary);border-radius:8px;padding:6px 12px}
.wb-place__nav:hover{background:var(--c-primary);color:var(--c-on-primary,#fff)}
.wb-place-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;max-width:1100px;margin:0 auto}
.wb-place-list .wb-place{display:flex;flex-direction:column;max-width:none;gap:14px;border:1px solid var(--c-border);border-radius:14px;padding:14px;margin:0}
.wb-place--card{display:flex;flex-direction:column;gap:16px;max-width:520px;border:1px solid var(--c-border);border-radius:14px;padding:16px}
.wb-place--card .wb-place__map{min-height:240px}
@media(max-width:640px){.wb-place{grid-template-columns:1fr}.wb-place__map{min-height:240px}}
.site-nav__toggle{display:none;border:1px solid var(--c-border);background:none;border-radius:8px;padding:8px 10px;cursor:pointer;font:inherit;color:var(--c-text)}
@media(max-width:640px){
.site-nav__toggle{display:block}
.site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--c-bg);border-bottom:1px solid var(--c-border);padding:8px 16px 16px}
.site-nav.is-open{display:block}
.site-nav ul{flex-direction:column}
}
main{min-height:60vh}
.site-footer{border-top:1px solid var(--c-border);margin-top:48px}
.site-footer__inner{max-width:1080px;margin:0 auto;padding:24px;font-size:14px;color:var(--c-text-soft);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}
.site-footer a{color:var(--c-text-soft)}
.site-footer--custom{border-top:0;margin-top:0;background:none}
.site-footer__brand{text-align:center;padding:12px 24px;font-size:13px;color:var(--c-text-soft);border-top:1px solid var(--c-border)}
.site-footer__brand a{color:inherit;font-weight:600;text-decoration:none}
.site-footer__brand a:hover{text-decoration:underline}
.consent{position:fixed;bottom:16px;left:16px;right:16px;max-width:480px;margin:0 auto;background:var(--c-bg);border:1px solid var(--c-border);border-radius:12px;padding:16px;box-shadow:0 4px 12px rgba(0,0,0,.08);font-size:14px;z-index:60;display:none}
.consent.is-visible{display:block}
.consent__actions{margin-top:12px;display:flex;gap:8px}
.consent button{font:inherit;font-size:14px;font-weight:600;border-radius:8px;padding:8px 16px;cursor:pointer}
.consent__accept{background:var(--c-primary);color:#fff;border:none}
.consent__reject{background:none;border:1px solid var(--c-border);color:var(--c-text)}
.webeas-form{max-width:480px;margin:0 auto;text-align:left}
.webeas-form label{display:block;margin:16px 0 4px;font-weight:600;font-size:14px}
.webeas-form input,.webeas-form textarea{width:100%;box-sizing:border-box;padding:10px 12px;font:inherit;font-size:16px;border:1px solid var(--c-border);border-radius:var(--c-radius,8px);background:var(--c-bg);color:var(--c-text)}
.webeas-form input:focus,.webeas-form textarea:focus{outline:none;border-color:var(--c-primary)}
.webeas-form button[type=submit]{margin-top:20px;padding:12px 28px;font:inherit;font-size:16px;font-weight:600;color:#fff;background:var(--c-primary);border:none;border-radius:var(--c-radius,8px);cursor:pointer}
.webeas-form button[type=submit]:disabled{opacity:.6;cursor:wait}
.webeas-form .hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.webeas-form .wb-form__consent{display:flex;align-items:flex-start;gap:8px;font-weight:400;font-size:13px;color:var(--c-text-soft);line-height:1.4}
.webeas-form .wb-form__consent input{width:auto;margin-top:2px}
.form-success{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 24px;text-align:center;font-weight:600;color:var(--c-primary);background:color-mix(in srgb,var(--c-primary) 7%,transparent);border-radius:14px;box-sizing:border-box}.form-success p{margin:0;max-width:36em;line-height:1.5}.form-success__ikona{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--c-primary);color:#fff;font-size:26px;line-height:1}
.form-error{margin-top:12px;color:#dc2626;font-size:14px}
.webeas-form__field{margin:16px 0}
.webeas-form__field label{margin:0 0 4px}
.webeas-form select{width:100%;box-sizing:border-box;padding:10px 12px;font:inherit;font-size:16px;border:1px solid var(--c-border);border-radius:var(--c-radius,8px);background:var(--c-bg);color:var(--c-text)}
.webeas-form__req{color:#dc2626}
.webeas-form__help{display:block;margin-top:4px;font-size:13px;color:var(--c-text-soft)}
.webeas-form__group{border:none;padding:0;margin:16px 0}
.webeas-form__group legend{font-weight:600;font-size:14px;padding:0;margin-bottom:6px}
.webeas-form__choice{display:flex;align-items:center;gap:8px;margin:6px 0;font-weight:400;font-size:15px;cursor:pointer}
.webeas-form__choice input{width:auto;margin:0}
.webeas-form__field--check .webeas-form__choice{align-items:flex-start}
.webeas-form__rating{display:inline-flex;flex-direction:row-reverse;gap:4px;font-size:28px}
.webeas-form__rating input{position:absolute;opacity:0;width:0;height:0}
.webeas-form__rating label{color:#d1d5db;cursor:pointer;margin:0;transition:color .1s}
.webeas-form__rating label:hover,.webeas-form__rating label:hover~label,.webeas-form__rating input:checked~label{color:#f59e0b}
.webeas-form__missing{padding:16px;text-align:center;color:var(--c-text-soft);font-style:italic}
.webeas-form--narrow{max-width:400px}
.webeas-form--wide{max-width:640px}
.webeas-form__fields{display:flex;flex-wrap:wrap;gap:16px}
.webeas-form__cell{flex:1 1 100%;min-width:0}
.webeas-form__cell--half{flex:1 1 calc(50% - 8px)}
.webeas-form__cell>.webeas-form__field,.webeas-form__cell>.webeas-form__group{margin:0}
.webeas-form__actions{margin-top:20px}
.webeas-form__actions button[type=submit]{margin-top:0}
.webeas-form--fs-underlined input,.webeas-form--fs-underlined textarea,.webeas-form--fs-underlined select{border:none;border-bottom:1px solid var(--c-border);border-radius:0;padding-left:0;padding-right:0;background:transparent}
.webeas-form--fs-filled input,.webeas-form--fs-filled textarea,.webeas-form--fs-filled select{background:#f1f5f9;border-color:transparent}
.webeas-form__progress{margin-bottom:20px}
.webeas-form__step-label{font-size:13px;font-weight:600;color:var(--c-text-soft)}
.webeas-form__dots{display:flex;gap:6px;margin-top:8px}
.webeas-form__dot{flex:1;height:4px;border-radius:2px;background:var(--c-border);transition:background .2s}
.webeas-form__dot[data-state=active]{background:var(--c-primary)}
.webeas-form__dot[data-state=done]{background:var(--c-primary);opacity:.55}
.webeas-form__nav{display:flex;gap:12px;margin-top:20px;align-items:center}
.webeas-form__nav button{padding:12px 26px;font:inherit;font-size:16px;font-weight:600;border-radius:var(--c-radius,8px);cursor:pointer}
.webeas-form__nav button[data-step-prev]{background:transparent;border:1px solid var(--c-border);color:var(--c-text)}
.webeas-form__nav button[data-step-next],.webeas-form__nav button[data-step-submit]{background:var(--c-primary);color:#fff;border:none}
@media (max-width:520px){.webeas-form__cell--half{flex:1 1 100%}}
.wb-section{padding:var(--section-pad,48px) 24px;max-width:var(--content-width,720px);margin:0 auto}
.wb-section--wide{max-width:1080px}
.wb-section--center{text-align:center}
.wb-section h1{margin:0 0 16px;font-size:32px}
.wb-section h2{margin:0 0 16px;font-size:28px}
.wb-section p{margin:0 0 8px;font-size:16px;line-height:1.7;color:var(--c-text-soft)}
.wb-section p:last-child{margin-bottom:0}
.wb-section p strong{color:var(--c-text)}
.wb-hero{padding:80px 24px;text-align:center;background:var(--c-surface,#f3f4f6)}
.wb-hero h1{margin:0 0 16px;font-size:42px;line-height:1.2}
.wb-hero p{margin:0 auto 32px;max-width:600px;font-size:18px;color:var(--c-text-soft)}
.wb-btn{display:inline-block;padding:14px 32px;background:var(--c-primary);color:var(--c-on-primary,#fff);text-decoration:none;border-radius:var(--c-radius,8px);font-weight:600;border:2px solid var(--c-primary)}
.wb-btn--light{background:#fff;color:#1f2937;border-color:#fff}
.wb-btn-pill .wb-btn{border-radius:999px}
.wb-btn-outline .wb-btn{background:transparent;color:var(--c-primary)}
.wb-btn-outline .wb-btn--light{color:#fff;border-color:#fff}
.wb-btn-sm .wb-btn{padding:10px 22px;font-size:14px}
.wb-btn-lg .wb-btn{padding:18px 44px;font-size:17px}
.wb-btn-shadow .wb-btn{box-shadow:0 8px 20px -6px rgba(0,0,0,.22)}
.wb-cta{padding:64px 24px;text-align:center;background:var(--c-dark,#1f2937)}
.wb-cta h2{margin:0 0 12px;font-size:28px;color:#fff}
.wb-cta p{margin:0 0 24px;color:#d1d5db}
/* Univerzalni sekce (blok flex-section) — pozadi, 1-4 sloupce, obrazek v bunce.
   Vsechny barvy z promennych tematu, aby sekce drzela vzhled webu. */
.wb-flex{padding:48px 24px}
.wb-flex__in{max-width:1080px;margin:0 auto}
.wb-flex h2{margin:0 0 12px;font-size:28px}
.wb-flex__intro{margin:0 0 28px;font-size:16px;line-height:1.7;color:var(--c-text-soft)}
.wb-flex__grid{display:grid;gap:24px;grid-template-columns:1fr}
.wb-flex--2 .wb-flex__grid{grid-template-columns:repeat(2,1fr)}
.wb-flex--3 .wb-flex__grid{grid-template-columns:repeat(3,1fr)}
.wb-flex--4 .wb-flex__grid{grid-template-columns:repeat(4,1fr)}
.wb-flex__cell img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--c-radius,8px);margin:0 0 12px}
.wb-flex__cell h3{margin:0 0 8px;font-size:19px}
.wb-flex__cell p{margin:0 0 12px;font-size:15px;line-height:1.7;color:var(--c-text-soft)}
.wb-flex__cell p:last-child{margin-bottom:0}
.wb-flex--center{text-align:center}
.wb-flex--accent{background:var(--c-surface,#f3f4f6)}
/* Tmavy pruh: prebarvi se i text a odkazy, jinak by na tmavem zmizely. */
.wb-flex--dark{background:var(--c-dark,#111827);color:#fff}
.wb-flex--dark h2,.wb-flex--dark h3{color:#fff}
.wb-flex--dark .wb-flex__intro,.wb-flex--dark .wb-flex__cell p{color:rgba(255,255,255,.78)}
/* Pod 720 px vzdy jeden sloupec — ctyri vedle sebe jsou na mobilu necitelne. */
@media(max-width:720px){.wb-flex__grid{grid-template-columns:1fr!important}}
/* Kalkulacka a okno (bloky calculator / modal) — barvy z promennych tematu. */
.wb-calc{margin:24px 0 0;text-align:left}
.wb-calc__intro{margin:0 0 16px;color:var(--c-text-soft)}
.wb-calc__field{display:block;margin:0 0 14px}
.wb-calc__field>span{display:block;margin:0 0 6px;font-size:14px;font-weight:600}
.wb-calc__input{display:flex;align-items:center;gap:8px}
.wb-calc__input input{flex:1;min-width:0;padding:10px 12px;font-size:16px;border:1px solid var(--c-border,#d1d5db);border-radius:var(--c-radius,8px);background:var(--c-bg,#fff);color:var(--c-text,#111)}
.wb-calc__input input:focus{outline:2px solid var(--c-primary,#0d9488);outline-offset:1px}
.wb-calc__input em{font-style:normal;font-size:14px;color:var(--c-text-soft)}
.wb-calc__out{display:flex;align-items:baseline;gap:8px;margin:18px 0 0;padding:14px 16px;border-radius:var(--c-radius,8px);background:var(--c-surface,#f3f4f6)}
.wb-calc__out>span{font-size:14px;color:var(--c-text-soft)}
.wb-calc__out strong{font-size:26px;line-height:1.2}
.wb-calc__out em{font-style:normal;font-size:16px;color:var(--c-text-soft)}
.wb-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(17,24,39,.55)}
.wb-modal[hidden]{display:none}
.wb-modal__box{position:relative;width:100%;max-width:460px;max-height:90vh;overflow:auto;padding:28px;border-radius:var(--c-radius,12px);background:var(--c-bg,#fff);text-align:left}
.wb-modal__x{position:absolute;top:10px;right:12px;border:0;background:0;font-size:26px;line-height:1;cursor:pointer;color:var(--c-text-soft)}
.wb-modal__x:hover{color:var(--c-text)}
.wb-cols{display:flex;flex-wrap:wrap;gap:24px;padding:48px 24px;max-width:1080px;margin:0 auto}
.wb-col{flex:1 1 250px}
.wb-col h3{margin:0 0 8px}
.wb-col p{margin:0;color:var(--c-text-soft)}
.wb-divider{border:none;border-top:1px solid var(--c-border);margin:32px auto;max-width:1080px}
.wb-spacer{height:48px}
.wb-btn-wrap{padding:16px 24px;text-align:center}
.wb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;text-align:center}
.wb-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;text-align:left}
.wb-quote{margin:0;padding:24px;border:1px solid var(--c-border);border-radius:var(--c-radius,12px);box-shadow:var(--c-shadow,none)}
.wb-quote p{margin:0 0 12px;font-style:italic}
.wb-quote figcaption{font-weight:600;font-size:14px;color:var(--c-text)}
.wb-faq{max-width:720px;margin:0 auto;text-align:left}
.wb-faq details{border-bottom:1px solid var(--c-border)}
.wb-faq summary{padding:14px 0;font-weight:600;cursor:pointer;color:var(--c-text)}
.wb-faq details p{margin:0 0 16px}
.wb-pricelist{max-width:560px;margin:0 auto;text-align:left}
.wb-pricelist__row{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px dashed var(--c-border)}
.wb-pricelist__row strong{margin-left:auto;white-space:nowrap;color:var(--c-text)}
.wb-avatar{width:96px;height:96px;margin:0 auto 12px;border-radius:50%;background:#e5e7eb url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%239ca3af"%3E%3Ccircle cx="12" cy="8" r="4"/%3E%3Cpath d="M4 21c0-4 3.6-6 8-6s8 2 8 6z"/%3E%3C/svg%3E') center/48px no-repeat}
.wb-role{margin:0;font-size:14px}
.wb-hours{width:100%;max-width:420px;margin:0 auto;border-collapse:collapse}
.wb-hours td{padding:8px 0;border-bottom:1px solid var(--c-border);font-size:15px;text-align:left}
.wb-hours td:last-child{text-align:right;color:var(--c-text-soft)}
.wb-video{position:relative;max-width:860px;margin:0 auto;aspect-ratio:16/9;background:#e5e7eb url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%239ca3af"%3E%3Cpath d="M8 5v14l11-7z"/%3E%3C/svg%3E') center/64px no-repeat;border-radius:12px;overflow:hidden}
.wb-video__iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.wb-map__iframe{display:block;width:100%;height:380px;border:0;border-radius:12px}
.webeas-booking{max-width:480px;margin:0 auto;text-align:left}
.wb-booking__row{margin-bottom:16px}
.wb-booking__row label{display:block;margin-bottom:4px;font-weight:600;font-size:14px}
.wb-booking__row input[type=date],.wb-booking__service{width:100%;box-sizing:border-box;padding:10px 12px;font:inherit;font-size:16px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-bg);color:var(--c-text)}
.wb-booking__slots{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.wb-slot{padding:8px 14px;font:inherit;font-size:15px;border:1px solid var(--c-border);border-radius:8px;background:none;color:var(--c-text);cursor:pointer}
.wb-slot:hover{border-color:var(--c-primary)}
.wb-slot.is-selected{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.wb-booking__empty{color:var(--c-text-soft);font-size:15px}
.wb-booking__msg{margin-top:12px;font-size:14px}
.wb-booking__prepay{margin:4px 0 12px;font-size:14px;font-weight:600}
.wb-booking__msg.is-error{color:#dc2626}
.wb-booking__msg.is-success{font-weight:600;color:var(--c-primary)}
.webeas-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.webeas-gallery img{width:100%;height:220px;object-fit:cover;border-radius:8px;cursor:zoom-in}
.webeas-lightbox{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(17,24,39,.92);cursor:zoom-out}
.webeas-lightbox img{max-width:100%;max-height:100%;border-radius:8px}
img[data-lightbox]{cursor:zoom-in}
.wb-lb__fig{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:default}
.wb-lb__fig img{max-width:90vw;max-height:82vh}
.wb-lb__cap{color:#e5e7eb;font-size:14px;text-align:center;max-width:680px;line-height:1.4}
.wb-lb__nav{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;border:none;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:30px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.wb-lb__nav:hover{background:rgba(255,255,255,.28)}
.wb-lb__prev{left:16px}.wb-lb__next{right:16px}
.wb-lb__close{position:fixed;top:12px;right:16px;border:none;background:none;color:#fff;font-size:36px;line-height:1;cursor:pointer}
.wb-lb__count{position:fixed;top:18px;left:50%;transform:translateX(-50%);color:#fff;font-size:13px;background:rgba(0,0,0,.4);padding:3px 12px;border-radius:999px}
.wb-protect .wb-gallery__item img{-webkit-user-drag:none;user-select:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Výpis článků */
.wb-blog-intro{color:var(--c-text-soft,#6b7280);max-width:42rem;margin:0 auto 2rem}
.wb-blog-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;text-align:left}
.wb-blog-card{display:flex;flex-direction:column;border:1px solid var(--c-border,#e5e7eb);border-radius:.75rem;overflow:hidden;background:var(--c-bg,#fff)}
.wb-blog-card__cover{display:block;aspect-ratio:16/9;overflow:hidden}
.wb-blog-card__cover img{width:100%;height:100%;object-fit:cover}
.wb-blog-card__body{padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.4rem}
.wb-blog-card__meta{font-size:.8rem;color:var(--c-text-soft,#9ca3af);margin:0}
.wb-blog-card h2{font-size:1.15rem;margin:0}
.wb-blog-card h2 a{color:inherit;text-decoration:none}
.wb-blog-card h2 a:hover{color:var(--c-primary)}
.wb-blog-card__excerpt{color:var(--c-text-soft,#4b5563);font-size:.95rem;margin:0}
.wb-blog-card__more{color:var(--c-primary);font-weight:600;font-size:.9rem;text-decoration:none;margin-top:auto}
.wb-blog-empty{color:var(--c-text-soft,#9ca3af)}

/* Tělo článku */
/* Článek leží rovnou v <main>, bez obalu .wb-section, který má výpis — okraj
   po stranách si proto nese sám, stejných 24 px jako výpis. Bez něj začínal
   text na telefonu u samého kraje okna. content-box: max-width platí dál pro
   text, takže na počítači stojí sloupec přesně, kde stál. Hlídá to
   clanek-okraje.audit.test.ts (Chrome) a blog-css.test.ts. */
.wb-article{max-width:44rem;margin:0 auto;padding-left:24px;padding-right:24px;box-sizing:content-box;text-align:left}
.wb-article--siroka{max-width:60rem}
.wb-article__head h1{margin:0 0 .4rem}
.wb-article__meta{color:var(--c-text-soft,#9ca3af);font-size:.9rem;margin:0 0 1.5rem}
/* Úvodní obrázek na výšku zabral celou obrazovku a text začínal až pod ním —
   strop výšky s ořezem; obrázek na šířku zůstane celý. */
.wb-article__cover{width:100%;max-height:28rem;object-fit:cover;border-radius:.75rem;margin-bottom:1.5rem}
/* Nadpis článku se lepil na hlavičku webu (výpis má odsazení z .wb-section). */
.wb-article__head{padding-top:2rem}
.wb-article__body{font-size:1.05rem;line-height:1.7;color:var(--c-text,#1f2937)}
.wb-article__body h2{font-size:1.5rem;margin:1.6rem 0 .6rem}
.wb-article__body h3{font-size:1.2rem;margin:1.3rem 0 .5rem}
.wb-article__body p{margin:.9rem 0}
.wb-article__body ul,.wb-article__body ol{margin:.9rem 0;padding-left:1.5rem}
.wb-article__body ul{list-style:disc}
.wb-article__body ol{list-style:decimal}
.wb-article__body img{max-width:100%;height:auto;border-radius:.5rem;margin:1rem 0}
.wb-article__body blockquote{border-left:3px solid var(--c-primary);padding-left:1rem;color:var(--c-text-soft,#4b5563);font-style:italic;margin:1rem 0}
.wb-article__body a{color:var(--c-primary);text-decoration:underline}

/* Bloky psacího okna (admin psani/bloky.ts). Třídy jsou jen jejich, takže
   pravidla platí i bez .wb-article__body (plátno vizuálního editoru článku,
   stránka na míru); kde tělo článku nastavuje obecné img/a/p, přebíjí je
   delší selektor. Dlouhé tvary vlastností u všeho s var() — stejné pravidlo
   jako všude, kudy by CSS mohlo projít GrapesJS. Telefon (390 px): galerie
   na dva sloupce, tabulka se posouvá ve svém obalu, ne celá stránka. */
.wb-obrazek{margin-top:1.75rem;margin-bottom:1.75rem;margin-left:0;margin-right:0}
.wb-obrazek img,.wb-article__body .wb-obrazek img{display:block;width:100%;height:auto;margin:0;border-radius:.5rem}
.wb-obrazek figcaption{margin-top:.55rem;font-size:.9rem;line-height:1.5;color:var(--c-text-soft,#6b7280);text-align:center}
.wb-obrazek figcaption:empty{display:none}
.wb-galerie-clanku{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:1.75rem;margin-bottom:1.75rem}
.wb-galerie-clanku:empty{display:none}
.wb-galerie-clanku figure{margin:0;min-width:0}
.wb-galerie-clanku img,.wb-article__body .wb-galerie-clanku img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;margin:0;border-radius:.4rem}
@media(min-width:641px){
  .wb-galerie-clanku--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .wb-galerie-clanku--4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.wb-article__body .wb-video{position:relative;aspect-ratio:16/9;overflow:hidden;margin-top:1.75rem;margin-bottom:1.75rem;border-radius:.75rem;background-color:var(--c-surface,#e5e7eb)}
.wb-article__body .wb-video__iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* Video před souhlasem s cookies: náhradní ceduli (gateEmbeds) vyplní celý
   rámeček 16:9, ať se po souhlasu stránka nepohne. */
.wb-video>.wb-cc-embed{position:absolute;inset:0;min-height:0;padding:16px;border-radius:0}
.wb-clanek-tlacitko{margin-top:1.75rem;margin-bottom:1.75rem}
.wb-article__body .wb-clanek-tlacitko a.wb-btn{max-width:100%;white-space:normal;text-align:center;color:var(--c-on-primary,#fff);text-decoration-line:none}
.wb-clanek-tlacitko a:empty,.wb-clanek-tlacitko a:not([href]){display:none}
.wb-box{margin-top:1.5rem;margin-bottom:1.5rem;padding:1rem 1.25rem;border-left-width:4px;border-left-style:solid;border-left-color:var(--c-primary);border-radius:.5rem;background-color:var(--c-surface,#f9fafb)}
.wb-box--pozor{border-left-color:#d97706;background-color:rgba(217,119,6,.09)}
.wb-box--poznamka{border-left-color:var(--c-text-soft,#6b7280)}
.wb-box>:first-child,.wb-article__body .wb-box>:first-child{margin-top:0}
.wb-box>:last-child,.wb-article__body .wb-box>:last-child{margin-bottom:0}
.wb-tabulka-obal{margin-top:1.75rem;margin-bottom:1.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch}
.wb-tabulka-clanku{width:100%;border-collapse:collapse;font-size:.95rem;line-height:1.5}
.wb-tabulka-clanku th,.wb-tabulka-clanku td{min-width:6rem;padding:.55rem .75rem;border-width:1px;border-style:solid;border-color:var(--c-border,#e5e7eb);text-align:left;vertical-align:top}
.wb-tabulka-clanku th{background-color:var(--c-surface,#f9fafb);font-weight:600}
.wb-tabulka-clanku p,.wb-article__body .wb-tabulka-clanku p{margin:0}
.wb-faq-clanku{max-width:none;margin-top:1.75rem;margin-bottom:1.75rem;border-top-width:1px;border-top-style:solid;border-top-color:var(--c-border,#e5e7eb);text-align:left}
.wb-faq-clanku .wb-dotaz{border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:var(--c-border,#e5e7eb)}
.wb-faq-clanku summary{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.9rem 0;font-weight:600;line-height:1.4;cursor:pointer;list-style:none;color:var(--c-text,#1f2937)}
.wb-faq-clanku summary::-webkit-details-marker{display:none}
.wb-faq-clanku summary::after{content:"+";flex:none;font-weight:400;font-size:1.3rem;line-height:1;color:var(--c-primary)}
.wb-faq-clanku details[open]>summary::after{content:"−"}
.wb-faq-clanku .wb-dotaz__odpoved{padding-bottom:.9rem}
.wb-faq-clanku .wb-dotaz__odpoved p,.wb-article__body .wb-faq-clanku .wb-dotaz__odpoved p{margin:.4rem 0}
.wb-article__body .webeas-form{margin-top:1.75rem;margin-bottom:1.75rem}
.wb-article__back{margin-top:2rem}
.wb-article__back a{color:var(--c-primary);text-decoration:none;font-weight:600}
.wb-article__meta a{color:inherit;text-decoration:none}
.wb-article__meta a:hover{color:var(--c-primary)}

/* Hlavička přes obrázek (styl Časopis) */
.wb-article__hero{position:relative;min-height:22rem;display:flex;align-items:flex-end;border-radius:.9rem;overflow:hidden;background-size:cover;background-position:center;margin-bottom:1.75rem;color:#fff}
.wb-article__hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.15) 60%,rgba(0,0,0,0))}
.wb-article__hero-inner{position:relative;padding:2rem 1.75rem 1.5rem}
.wb-article__hero h1{margin:0 0 .4rem;color:#fff}
.wb-article__hero .wb-article__meta{color:rgba(255,255,255,.85);margin:0}
.wb-article__hero .wb-article__meta a{color:inherit}

/* Obsah článku */
.wb-toc{border:1px solid var(--c-border,#e5e7eb);border-radius:.75rem;background:var(--c-surface,#f9fafb);padding:1rem 1.25rem;margin:0 0 1.5rem}
.wb-toc__title{display:block;font-size:.95rem;margin-bottom:.5rem}
.wb-toc__list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.3rem;font-size:.95rem}
.wb-toc__item--3{margin-left:1rem;font-size:.9rem}
.wb-toc a{color:var(--c-text,#1f2937);text-decoration:none}
.wb-toc a:hover{color:var(--c-primary)}
.wb-article__body h2[id],.wb-article__body h3[id]{scroll-margin-top:5rem}

/* Sdílení */
.wb-share{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1.5rem 0 0}
.wb-share__label{font-size:.85rem;color:var(--c-text-soft,#6b7280);margin-right:.25rem}
.wb-share__btn{display:inline-block;font-size:.82rem;font-weight:600;color:var(--c-text,#374151);border:1px solid var(--c-border,#e5e7eb);border-radius:999px;padding:.35rem .85rem;text-decoration:none}
.wb-share__btn:hover{border-color:var(--c-primary);color:var(--c-primary)}

/* Sousední články */
.wb-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0 0}
.wb-prevnext__link{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.1rem;border:1px solid var(--c-border,#e5e7eb);border-radius:.75rem;text-decoration:none;color:var(--c-text,#1f2937)}
.wb-prevnext__link--next{text-align:right}
.wb-prevnext__link:hover{border-color:var(--c-primary)}
.wb-prevnext__label{font-size:.78rem;color:var(--c-text-soft,#9ca3af);text-transform:uppercase;letter-spacing:.03em}
.wb-prevnext__link strong{font-size:.95rem;line-height:1.35}

/* Související články */
.wb-related{margin:2.5rem 0 0}
.wb-related__title{font-size:1.3rem;margin:0 0 1rem}
/* Článek s panelem: okraj nese obal (mřížka článek + panel), článek v něm už
   ne — jinak by se sečetly. Šířka jako u mřížky na míru (.wb-clanek-mrizka):
   dřív se obal roztáhl přes celé okno a text začínal u kraje i na počítači. */
.wb-blog--article{max-width:76rem;margin:0 auto;padding-left:24px;padding-right:24px;box-sizing:border-box}
.wb-blog--article .wb-article{margin:0;padding-left:0;padding-right:0}
@media(max-width:640px){
  .wb-prevnext{grid-template-columns:1fr}
  .wb-prevnext__link--next{text-align:left}
  .wb-article__hero{min-height:16rem}
}

/* Štítky (tagy) — chip odkazy */
.wb-tagcloud{display:flex;flex-wrap:wrap;gap:.5rem}
.wb-tag{display:inline-block;font-size:.82rem;color:var(--c-text,#374151);background:var(--c-surface,#f3f4f6);border:1px solid var(--c-border,#e5e7eb);border-radius:999px;padding:.3rem .7rem;text-decoration:none;line-height:1.3}
.wb-tag:hover{background:var(--c-primary);color:var(--c-on-primary,#fff);border-color:var(--c-primary)}
.wb-article__tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.75rem 0 0}

/* Autorský box pod článkem */
.wb-authorbox{display:flex;gap:1rem;align-items:flex-start;margin:2rem 0 0;padding:1.25rem;border:1px solid var(--c-border,#e5e7eb);border-radius:.9rem;background:var(--c-surface,#f9fafb);text-align:left}
.wb-authorbox__avatar{width:64px;height:64px;flex:none;border-radius:50%;object-fit:cover;background:var(--c-surface,#e5e7eb)}
.wb-authorbox__avatar--empty{display:block}
.wb-authorbox__name{font-size:1.05rem}
.wb-authorbox__name a{color:inherit;text-decoration:none}
.wb-authorbox__name a:hover{color:var(--c-primary)}
.wb-authorbox__role{display:block;font-size:.8rem;color:var(--c-primary);font-weight:600;margin:.1rem 0 .4rem}
.wb-authorbox__bio{margin:0;color:var(--c-text-soft,#4b5563);font-size:.92rem;line-height:1.6}

/* Autorská stránka — hlavička */
.wb-authorhead{text-align:center;max-width:44rem;margin:0 auto}
.wb-authorhead__avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;background:var(--c-surface,#e5e7eb);margin:0 auto .9rem;display:block}
.wb-authorhead__name{margin:0}
.wb-authorhead__role{color:var(--c-primary);font-weight:600;margin:.3rem 0 0}
.wb-authorhead__bio{color:var(--c-text-soft,#4b5563);line-height:1.7;margin:.9rem auto 0}
.wb-authorhead__links{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1rem}
.wb-authorhead__links a{font-size:.85rem;color:var(--c-primary);text-decoration:none;border:1px solid var(--c-primary);border-radius:999px;padding:.35rem .9rem}
.wb-authorhead__links a:hover{background:var(--c-primary);color:var(--c-on-primary,#fff)}
.wb-authorhead__count{color:var(--c-text-soft,#9ca3af);font-size:.85rem;margin-top:1rem}

/* Výpis se sidebarem (blog standard) */
.wb-blog{text-align:left}
.wb-blog>h1{text-align:left}
.wb-blog__inner{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2.5rem;align-items:start;margin-top:1.5rem}
.wb-blog__main{min-width:0}
.wb-blog__posts{display:flex;flex-direction:column;gap:1.75rem}
.wb-bpost{border:1px solid var(--c-border,#e5e7eb);border-radius:.9rem;overflow:hidden;background:var(--c-bg,#fff)}
.wb-bpost__cover{display:block;aspect-ratio:16/9;overflow:hidden}
.wb-bpost__cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.wb-bpost:hover .wb-bpost__cover img{transform:scale(1.03)}
.wb-bpost__body{padding:1.25rem 1.4rem;display:flex;flex-direction:column;gap:.5rem}
.wb-bpost__meta{font-size:.8rem;color:var(--c-text-soft,#9ca3af);margin:0;text-transform:uppercase;letter-spacing:.03em}
.wb-bpost__body h2{font-size:1.4rem;margin:0;line-height:1.25}
.wb-bpost__body h2 a{color:inherit;text-decoration:none}
.wb-bpost__body h2 a:hover{color:var(--c-primary)}
.wb-bpost__excerpt{color:var(--c-text-soft,#4b5563);font-size:.97rem;line-height:1.6;margin:0}
.wb-bpost__more{color:var(--c-primary);font-weight:600;font-size:.9rem;text-decoration:none;margin-top:.25rem}
/* Mřížka (grid layout vloženého bloku) */
.wb-blog-list--2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.wb-blog-list--3{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.wb-blog-list--4{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.wb-blog__viewall{margin-top:1.75rem;text-align:center}
.wb-blog__viewall a{display:inline-block;color:var(--c-primary);font-weight:600;text-decoration:none;border:1px solid var(--c-primary);border-radius:.6rem;padding:.6rem 1.4rem}
.wb-blog__viewall a:hover{background:var(--c-primary);color:var(--c-on-primary,#fff)}

/* Sidebar widgety */
.wb-blog__side{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:1.5rem}
.wb-widget{border:1px solid var(--c-border,#e5e7eb);border-radius:.9rem;background:var(--c-bg,#fff);padding:1.25rem}
.wb-widget__title{font-size:1.05rem;margin:0 0 1rem;padding-bottom:.6rem;border-bottom:1px solid var(--c-border,#eef0f3)}
.wb-widget__search{position:relative}
.wb-widget__search input{width:100%;padding:.7rem .9rem;border:1px solid var(--c-border,#e5e7eb);border-radius:.6rem;font:inherit;background:var(--c-surface,#f9fafb)}
.wb-widget__search input:focus{outline:none;border-color:var(--c-primary);background:var(--c-bg,#fff)}
.wb-recent{display:flex;flex-direction:column;gap:.9rem}
.wb-recent__item{display:grid;grid-template-columns:64px 1fr;gap:.75rem;align-items:center;text-decoration:none}
.wb-recent__thumb{display:block;width:64px;height:64px;border-radius:.5rem;overflow:hidden;background:var(--c-surface,#f3f4f6)}
.wb-recent__thumb img{width:100%;height:100%;object-fit:cover}
.wb-recent__txt strong{display:block;font-size:.9rem;line-height:1.35;color:var(--c-text,#1f2937)}
.wb-recent__item:hover .wb-recent__txt strong{color:var(--c-primary)}
.wb-recent__txt span{font-size:.78rem;color:var(--c-text-soft,#9ca3af)}
.wb-catlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.wb-catlist li+li{border-top:1px solid var(--c-border,#eef0f3)}
.wb-catlist a{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 0;color:var(--c-text,#374151);text-decoration:none;font-size:.95rem}
.wb-catlist a:hover{color:var(--c-primary)}
.wb-catlist__count{min-width:1.6rem;height:1.6rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--c-surface,#f3f4f6);color:var(--c-text-soft,#6b7280);font-size:.78rem;font-weight:600}

/* Stránkování */
.wb-pagination{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;margin-top:2.5rem}
.wb-pagination a,.wb-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:2.6rem;height:2.6rem;padding:0 .8rem;border-radius:.6rem;border:1px solid var(--c-border,#e5e7eb);color:var(--c-text,#374151);text-decoration:none;font-weight:600;font-size:.95rem}
.wb-pagination a:hover{border-color:var(--c-primary);color:var(--c-primary)}
.wb-pagination .is-active{background:var(--c-primary);color:var(--c-on-primary,#fff);border-color:var(--c-primary)}
@media(max-width:820px){
  .wb-blog__inner{grid-template-columns:1fr;gap:2rem}
  .wb-blog__side{position:static}
}

/* Stránka článku na míru — předloha „Text a dva panely" (rozvrzeni-clanku.ts).
   Tady, ne v uloženém CSS rozvržení: to by prošlo GrapesJS. Text je v DOM první
   (telefon, přednačtení fotky), na místo uprostřed ho dá až mřížka. Okraj po
   stranách je nutný: článek leží rovnou v <main> bez odsazení a mřížka je širší
   než většina obrazovek.

   Tři stavy podle šířky (změřeno v Chromu, předloha s Obsahem o 20 nadpisech):
   - do 820 px pod sebou text, levý a pravý panel, a to ve sloupci nejvýš
     44 rem uprostřed jako .wb-article — přes celou šířku měl řádek na 820 px
     kolem 92 znaků, od 821 px jen 556 px;
   - 821–1023 px text a vedle něj jeden sloupec 16 rem s oběma panely nad sebou.
     Tři sloupce by tu měly panely po 158–203 px a v seznamu Nejnovější by na
     název zbylo 51–85 px; takhle má panel 256 px a název 138 px;
   - od 1024 px tři sloupce, panely 204–247 px (mřížka nad 1216 px neroste).
     Prázdný panel zmizí, jeho sloupec ale zůstane, takže text zůstane uprostřed.

   Levý panel se lepí vlastním pravidlem, ne třídou wb-lepivy z knihovny: ta by
   přes maKnihovnu přiložila ke každému článku celé CSS knihovny (desítky kB)
   a lepení vypíná až pod 860 px. Lepí se jen ve třech sloupcích, odstup pod
   lepivou hlavičkou jako u knihovny (--wb-lepiva-vyska měří skript hlavičky,
   bez ní je nula). */
.wb-clanek-mrizka{display:grid;grid-template-columns:minmax(0,44rem);justify-content:center;column-gap:2.5rem;row-gap:2rem;align-items:start;max-width:76rem;margin:0 auto;padding:0 1.5rem;box-sizing:border-box;text-align:left}
.wb-clanek-mrizka__text{min-width:0}
/* Hodnota anywhere, ne break-word: jen ta zmenší nejmenší šířku obsahu, takže se
   dlouhé slovo v názvu článku zalomí a nevyteče z widgetu ven. */
.wb-clanek-mrizka__vlevo,.wb-clanek-mrizka__vpravo{min-width:0;display:flex;flex-direction:column;gap:1.5rem;overflow-wrap:anywhere;container:wb-panel/inline-size}
/* Seznam s náhledem (Nejnovější, Související jako seznam) v úzkém panelu:
   fotka nad názvem. Vedle ní zbylo na 1024 px 86 px a název se lámal po slově
   na šest řádků, na 1200 px pořád na pět. Úzký je panel ve třech sloupcích —
   ten má nejvýš (76 − 3 − 5) / 4,4 ≈ 15,45 rem, takže hranice 15,5 rem platí
   pro všechny jejich šířky stejně a seznam se nepřeklápí uprostřed notebookové
   řady. Boční sloupec 821–1023 px (16 rem, názvu 138 px) a jeden sloupec
   zůstávají vedle sebe. Podle šířky panelu, ne okna — i v plátně editoru.
   Kontejner je pojmenovaný, ať pravidlo nechytí stejný seznam v panelu
   hotového stylu (.wb-blog__side). Bez fotky se prázdné místo nekreslí,
   nad názvem by bylo větší než on. */
@container wb-panel (max-width:15.5rem){
  .wb-recent__item{grid-template-columns:minmax(0,1fr);gap:.5rem}
  .wb-recent__thumb{width:100%;height:auto;aspect-ratio:16/9}
  .wb-recent__thumb--empty{display:none}
}
/* Rozestup v panelu dělá gap. Obal části je flexová položka, okraje části se
   přes něj neslijí a sečetly by se s ním — mezi Obsahem a Sdílením by vyšlo
   4,5 rem místo 1,5 a Související by začínalo níž než text vedle. */
.wb-clanek-mrizka__vlevo [data-webeas-clanek]>*,.wb-clanek-mrizka__vpravo [data-webeas-clanek]>*{margin-top:0;margin-bottom:0}
/* Panel, ze kterého zmizely všechny části (web zdarma, článek bez nadpisů a bez
   souvisejících), není položkou mřížky. Pod sebou by nechal mezeru řádků navíc
   (změřeno v Chromu: mezi textem a pravým panelem 4 rem místo 2, pod textem
   4 rem prázdna), vedle textu by pravý panel odsunul dolů. Sloupce jsou dané
   výslovně, text tedy stojí, kde stál. Plátno editoru tohle pravidlo musí přebít
   vlastním — prázdný panel je tam jediný cíl, kam přetáhnout část zpátky. */
.wb-clanek-mrizka__vlevo:empty,.wb-clanek-mrizka__vpravo:empty{display:none}
@media(min-width:821px){
  /* Druhý řádek 1fr: přebytek výšky textu spadne do něj, ne do prvního —
     jinak by pravý panel začínal až v půlce článku. */
  .wb-clanek-mrizka{grid-template-columns:minmax(0,16rem) minmax(0,1fr);grid-template-rows:auto 1fr}
  .wb-clanek-mrizka__text{grid-column:2;grid-row:1/span 2}
  .wb-clanek-mrizka__vlevo,.wb-clanek-mrizka__vpravo{grid-column:1}
  /* Panel je užší než karta výpisu (minmax 260 px) i než dvě sousední vedle
     sebe: karty Souvisejících by vytekly z okna a stránka by se posouvala do
     strany. Proto v panelu vždy pod sebou. */
  .wb-clanek-mrizka__vlevo .wb-blog-list,.wb-clanek-mrizka__vpravo .wb-blog-list,.wb-clanek-mrizka__vlevo .wb-prevnext,.wb-clanek-mrizka__vpravo .wb-prevnext{grid-template-columns:minmax(0,1fr)}
  .wb-clanek-mrizka__vlevo .wb-prevnext__link--next,.wb-clanek-mrizka__vpravo .wb-prevnext__link--next{text-align:left}
}
@media(min-width:1024px){
  .wb-clanek-mrizka{grid-template-columns:minmax(0,1fr) minmax(0,2.4fr) minmax(0,1fr);grid-template-rows:auto}
  .wb-clanek-mrizka__text{grid-column:2;grid-row:1}
  .wb-clanek-mrizka__vlevo{grid-column:1;grid-row:1}
  .wb-clanek-mrizka__vpravo{grid-column:3;grid-row:1}
  /* Panel vyšší než okno (dlouhý Obsah a pod ním Sdílení) by spodek ukázal až
     na konci článku, proto má vlastní posuv. Odsazení 0,25 rem vyrovnává
     záporný okraj: posuv by jinak ořízl rámeček zaměření u kraje panelu. */
  .wb-clanek-mrizka__vlevo{position:sticky;top:calc(var(--wb-lepiva-vyska,0px) + 2rem);max-height:calc(100vh - var(--wb-lepiva-vyska,0px) - 4rem);overflow-y:auto;scrollbar-width:thin;padding:.25rem;margin:-.25rem}
}
/* „Jako teď" s panelem bez plné verze (web plnou verzi měl a rozvržení má panel
   uložené) nebo bez dat do widgetů: panel přijde o všechny widgety. Hotový styl
   v tu chvíli obal vůbec nekreslí a článek stojí uprostřed bez mezery nahoře,
   tak se tu obal chová, jako by nebyl — mřížka by jinak nechala prázdný sloupec
   nebo řádek a .wb-blog--article .wb-article článek přirazí vlevo. Řeší to CSS,
   ne vynechání panelu v předloze: panel z rozvržení zmizí i tak, že ho klient
   v editoru vyprázdní, nebo že plná verze skončí až po uložení. */
.wb-blog--article>.wb-blog__inner:has(>.wb-blog__side:empty){display:block;margin-top:0}
.wb-blog--article:has(>.wb-blog__inner>.wb-blog__side:empty) .wb-article{margin:0 auto}

.wb-cc{--cc-bg:#fff;--cc-text:#1f2937;--cc-text-soft:#6b7280;--cc-accent:var(--c-primary,#0ea5a4);--cc-accent-text:#fff;--cc-radius:14px;--cc-width:420px;--cc-border:#e5e7eb;
position:fixed;z-index:9999;display:none;color:var(--cc-text);font-size:14px;line-height:1.55}
.wb-cc.is-visible{display:block}
.wb-cc *{box-sizing:border-box}
/* Panel */
.wb-cc__panel,.wb-cc__prefs{background:var(--cc-bg);border:1px solid var(--cc-border);border-radius:var(--cc-radius);padding:18px 20px}
/* Volitelná pevná výška panelu (obsah se posouvá); na mobilu auto (responzivní) */
.wb-cc__panel{height:var(--cc-height,auto);overflow-y:auto}
.wb-cc--sh-soft .wb-cc__panel,.wb-cc--sh-soft .wb-cc__prefs{box-shadow:0 10px 30px -12px rgba(0,0,0,.25)}
.wb-cc--sh-strong .wb-cc__panel,.wb-cc--sh-strong .wb-cc__prefs{box-shadow:0 24px 60px -18px rgba(0,0,0,.45)}
.wb-cc__title{margin:0 0 6px;font-size:16px;font-weight:700;color:var(--cc-text)}
.wb-cc__msg{margin:0 0 14px;color:var(--cc-text-soft)}
.wb-cc__link{color:var(--cc-link,var(--cc-accent));text-decoration:underline}
.wb-cc__actions{display:flex;flex-wrap:wrap;gap:8px}
/* Tlačítka — Přijmout i Odmítnout jsou rovnocenná (obojí viditelné tlačítko).
   Výška 40 px není estetika: menší cíl se na telefonu špatně trefuje a lišta
   je první věc, na kterou návštěvník sahá. Našlo se to tím, že tutéž lištu
   používá i webeas.com, kde výšku cílů měří audit (14. 9. 2026) — na webech
   klientů to do té doby nikdo neměřil. */
.wb-cc__btn{font:inherit;font-weight:600;font-size:13px;min-height:40px;padding:9px 16px;border-radius:8px;cursor:pointer;border:1px solid transparent;line-height:1.2}
.wb-cc__btn:focus-visible{outline:2px solid var(--cc-accent);outline-offset:2px}
.wb-cc__btn--accept{background:var(--cc-accent);color:var(--cc-accent-text);border-color:var(--cc-accent)}
.wb-cc__btn--accept:hover{filter:brightness(.94)}
.wb-cc__btn--reject{background:var(--cc-bg);color:var(--cc-text);border-color:var(--cc-text-soft)}
.wb-cc__btn--reject:hover{border-color:var(--cc-text)}
.wb-cc__btn--ghost{background:none;color:var(--cc-text-soft);border-color:transparent;text-decoration:underline;padding-left:6px;padding-right:6px}
.wb-cc__btn--ghost:hover{color:var(--cc-text)}
/* Varianty stylu tlačítka „Odmítnout" */
.wb-cc--btn-solid .wb-cc__btn--reject{background:var(--cc-text);color:var(--cc-bg);border-color:var(--cc-text)}
.wb-cc--btn-ghost .wb-cc__btn--reject{border-color:transparent;text-decoration:underline}
/* Preferenční centrum */
.wb-cc__prefs{margin-top:10px}
.wb-cc__prefs[hidden]{display:none}
.wb-cc__prefs-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.wb-cc__close{background:none;border:0;font-size:22px;line-height:1;color:var(--cc-text-soft);cursor:pointer;padding:0 4px}
.wb-cc__cats{display:flex;flex-direction:column;gap:14px;max-height:46vh;overflow:auto;padding:2px 2px 6px}
.wb-cc__cat-head{display:flex;align-items:center;gap:10px;font-weight:600;cursor:pointer}
.wb-cc__cat-head input{width:18px;height:18px;accent-color:var(--cc-accent);flex:none}
.wb-cc__cat-head input:disabled{opacity:.6}
.wb-cc__cat-always{font-size:11px;font-weight:600;color:var(--cc-accent);text-transform:uppercase;letter-spacing:.03em}
.wb-cc__cat-desc{margin:4px 0 0 28px;font-size:12.5px;color:var(--cc-text-soft)}
.wb-cc__table{width:calc(100% - 28px);margin:8px 0 0 28px;border-collapse:collapse;font-size:11.5px;color:var(--cc-text-soft)}
.wb-cc__table th,.wb-cc__table td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--cc-border);vertical-align:top}
.wb-cc__table th{font-weight:600;color:var(--cc-text)}
.wb-cc__actions--prefs{margin-top:14px;justify-content:flex-end;border-top:1px solid var(--cc-border);padding-top:14px}
/* Formy & pozice */
.wb-cc--box{width:var(--cc-width);max-width:calc(100vw - 32px)}
/* Lišta přes celou šířku: POZADÍ jde od kraje ke kraji (na kořeni), OBSAH je
   uprostřed do max-width. Panel je proto průhledný, jen zarovnává obsah. */
.wb-cc--bar{left:0;right:0;width:100%;background:var(--cc-bg)}
.wb-cc--bar .wb-cc__panel{background:none;border:0;border-radius:0;box-shadow:none;display:flex;align-items:center;gap:18px;flex-wrap:wrap;max-width:1200px;margin:0 auto}
.wb-cc--bar .wb-cc__msg{margin:0;flex:1;min-width:240px}
.wb-cc--bar .wb-cc__actions{margin-left:auto}
.wb-cc--bar.wb-cc--pos-bottom,.wb-cc--bar.wb-cc--pos-bottom-left,.wb-cc--bar.wb-cc--pos-bottom-right{border-top:1px solid var(--cc-border)}
.wb-cc--bar.wb-cc--pos-top,.wb-cc--bar.wb-cc--pos-top-left,.wb-cc--bar.wb-cc--pos-top-right{border-bottom:1px solid var(--cc-border)}
/* Nastavení (prefs) u lišty přes šířku → centrovaný box, ne celá šířka */
.wb-cc--bar .wb-cc__prefs{max-width:640px;margin-left:auto;margin-right:auto;background:var(--cc-bg);border:1px solid var(--cc-border)}
.wb-cc--pos-bottom,.wb-cc--pos-bottom-left,.wb-cc--pos-bottom-right{bottom:18px}
.wb-cc--pos-top,.wb-cc--pos-top-left,.wb-cc--pos-top-right{top:18px}
.wb-cc--bar.wb-cc--pos-bottom,.wb-cc--bar.wb-cc--pos-bottom-left,.wb-cc--bar.wb-cc--pos-bottom-right{bottom:0}
.wb-cc--bar.wb-cc--pos-top,.wb-cc--bar.wb-cc--pos-top-left,.wb-cc--bar.wb-cc--pos-top-right{top:0}
.wb-cc--pos-bottom-left,.wb-cc--pos-top-left{left:18px}
.wb-cc--pos-bottom-right,.wb-cc--pos-top-right{right:18px}
.wb-cc--pos-bottom,.wb-cc--pos-top{left:50%;transform:translateX(-50%)}
/* Modal (overlay) */
.wb-cc--modal{inset:0;display:none;align-items:center;justify-content:center;padding:16px}
.wb-cc--modal.is-visible{display:flex}
.wb-cc--modal.wb-cc--overlay{background:rgba(15,18,28,.55)}
.wb-cc--modal .wb-cc__panel,.wb-cc--modal .wb-cc__prefs{width:var(--cc-width);max-width:100%;max-height:90vh;overflow:auto}
.wb-cc--modal.is-prefs .wb-cc__panel{display:none}
/* Sticky preferenční modal i u box/bar */
.wb-cc.is-prefs .wb-cc__prefs{position:relative}
/* Blokovaný embed (YouTube/Mapy/…) — placeholder do souhlasu */
.wb-cc-embed{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:180px;padding:24px;text-align:center;background:#f3f4f6;border:1px dashed #cbd5e1;border-radius:12px;color:#475569}
.wb-cc-embed__msg{margin:0;font-size:14px;max-width:32rem}
.wb-cc-embed__btn{font:inherit;font-weight:600;font-size:13px;padding:8px 16px;border-radius:8px;border:0;background:var(--c-primary,#0ea5a4);color:#fff;cursor:pointer}
.wb-cc-embed__btn:hover{filter:brightness(.94)}

/* Trvalý odkaz „Nastavení cookies" v patičce (režim link) + editor blok */
.site-footer__cc,.wb-cc-link{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;opacity:.85}
.site-footer__cc:hover,.wb-cc-link:hover{opacity:1}
.site-footer__meta{display:inline-flex;align-items:center;gap:16px;flex-wrap:wrap}
/* Cookie odkaz na konci vlastní patičky bez rozpoznaného řádku copyrightu */
.site-footer__cc-line{text-align:center;padding:10px 16px;font-size:13px}
/* Kredit je jedna položka flexu — jinak ho mezera z gapu roztrhá mezi slova */
.site-footer__made{display:inline-block;white-space:normal}
/* Značka u jména — dědí barvu textu, je to podpis, ne nálepka */
.site-footer__mark{display:inline-block;width:13px;height:13px;vertical-align:-2px;margin-right:3px}
/* Plovoucí widget pro znovuotevření nastavení */
.wb-cc-fab{position:fixed;bottom:18px;z-index:9998;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--cc-border,#e5e7eb);border-radius:999px;background:#fff;color:#374151;cursor:pointer;box-shadow:0 6px 20px -6px rgba(0,0,0,.35);opacity:.9;transition:opacity .15s ease,transform .15s ease}
.wb-cc-fab:hover{opacity:1;transform:translateY(-1px)}
.wb-cc-fab:focus-visible{outline:2px solid var(--c-primary,#0ea5a4);outline-offset:2px}
.wb-cc-fab--left{left:18px}
.wb-cc-fab--right{right:18px}
.wb-cc-fab--custom{width:auto;height:auto;border:0;background:none;box-shadow:none;opacity:1}
@media(max-width:600px){
  .wb-cc--box{left:12px;right:12px;width:auto}
  .wb-cc__panel{height:auto}
  .wb-cc__actions{flex-direction:column-reverse;align-items:stretch}
  .wb-cc__btn{width:100%}
  .wb-cc--bar .wb-cc__actions{width:100%}
}

.wb-kosik-tl svg,.wb-kosik-hl svg{width:20px;height:20px;flex-shrink:0}
.wb-kosik-tl.is-web{background:var(--c-primary,#111827);color:var(--c-on-primary,#fff)}
.wb-kosik-tl.is-web b{background:var(--c-on-primary,#fff);color:var(--c-primary,#111827)}
.wb-kosik-tl.is-svetla{background:#fff;color:#111827;border:1px solid #e5e7eb}
.wb-kosik-tl.is-svetla b{background:#111827;color:#fff}
.wb-kosik-tl.is-vlevo{right:auto;left:16px}
.wb-kosik-hl{position:relative;display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:8px 10px;border:0;border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:15px;font-weight:600;cursor:pointer;flex-shrink:0;order:1}
.wb-kosik-hl:hover{background:rgba(127,127,127,.14)}
.wb-kosik-hl:focus-visible{outline:2px solid var(--c-primary,#0ea5a4);outline-offset:2px}
.wb-kosik-hl.is-web{background:var(--c-primary,#111827);color:var(--c-on-primary,#fff)}
.wb-kosik-hl.is-tmava{background:#111827;color:#fff}
.wb-kosik-hl.is-svetla{background:#fff;color:#111827;border:1px solid #e5e7eb}
.wb-kosik-hl__pocet{position:absolute;top:-2px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--c-primary,#111827);color:var(--c-on-primary,#fff);font-size:11px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px #fff}
.wb-kosik-hl.is-web .wb-kosik-hl__pocet{background:#fff;color:#111827}
.wb-kosik-hl.is-text .wb-kosik-hl__pocet{position:static;box-shadow:none}
.wb-kosik-hl__pocet[hidden]{display:none}
.site-header__inner.wb-ma-kosik{justify-content:flex-end}
.site-header__inner.wb-ma-kosik>.site-header__brand{margin-right:auto}
@media(max-width:767px){.wb-kosik-hl.jen-pocitac{display:none}.wb-ma-kosik>.site-nav__toggle{order:2}}
@media(min-width:768px){.wb-kosik-tl.jen-mobil{display:none}}
.wb-kosik.is-panel{justify-content:flex-end;align-items:stretch;padding:0}
.wb-kosik.is-panel .wb-pdlg__box{max-width:460px;height:100%;max-height:none;border-radius:0;animation:wb-kosik-panel .22s ease-out}
@keyframes wb-kosik-panel{from{transform:translateX(100%)}to{transform:none}}
.wb-kosik-tl.is-pridano,.wb-kosik-hl.is-pridano{animation:wb-kosik-bump .45s ease-out}
@keyframes wb-kosik-bump{40%{transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.wb-kosik.is-panel .wb-pdlg__box,.wb-kosik-tl.is-pridano,.wb-kosik-hl.is-pridano{animation:none}}

.wb-product__img{position:relative}
.wb-product__sleva{position:absolute;top:10px;left:10px;padding:3px 9px;border-radius:999px;background:#b91c1c;color:#fff;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:0;pointer-events:none}
.wb-products__lista{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 20px;margin:0 0 16px}
.wb-products__lista .wb-mena{margin:0}
.wb-products__hledat{flex:1 1 220px;max-width:340px;margin-right:auto;font:inherit;font-size:14px;padding:7px 14px;border:1px solid var(--c-border,#d1d5db);border-radius:999px;background:var(--c-bg,#fff);color:inherit}
.wb-products__hledat:focus-visible{outline:2px solid var(--c-primary,#111827);outline-offset:1px}
@media(max-width:640px){.wb-products__hledat{max-width:none;flex-basis:100%}}
.wb-products__nic{margin:8px 0;color:var(--c-text-soft)}
.wb-product__chyba{margin:-4px 0 10px;font-size:13px;font-weight:600;color:#b91c1c}
.wb-products__razeni{display:inline-flex;align-items:center;gap:6px;font-size:14px}
.wb-products__razeni select{font:inherit;font-size:14px;padding:4px 8px;border:1px solid var(--c-border,#d1d5db);border-radius:8px;background:var(--c-bg,#fff);color:inherit}
@media(min-width:641px){.wb-kat-s2 .wb-products__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wb-kat-s3 .wb-products__grid,.wb-kat-s4 .wb-products__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){.wb-kat-s4 .wb-products__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){.wb-kat-t1:not(.wb-kat-sauto) .wb-products__grid{grid-template-columns:1fr}.wb-kat-t2 .wb-products__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wb-kat-t2 .wb-product .wb-btn{width:100%;padding-left:8px;padding-right:8px;white-space:normal}.wb-kat-t2 .wb-product h3{font-size:15px}}
.wb-kat-s4 .wb-product .wb-btn{padding-left:12px;padding-right:12px}
.wb-kat-stin .wb-product{border-color:transparent;box-shadow:0 1px 2px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.08)}
.wb-kat-cista .wb-product{border:0;padding:0;background:transparent;box-shadow:none;border-radius:0}
.wb-kat-cista .wb-product img{border-radius:var(--c-radius,8px)}
.wb-kat-cista .wb-products__grid{row-gap:32px}
.wb-kat-ctverec .wb-product img{aspect-ratio:1/1}
.wb-kat-na-vysku .wb-product img{aspect-ratio:3/4}
.wb-kat-stred .wb-product{text-align:center}
.wb-kat-stred .wb-product__rating{justify-content:center}
.wb-kat-bez-popisu .wb-product__price{margin-top:auto}

@media(min-width:768px){.wb-produkt.is-foto-vpravo .wb-produkt__foto{order:2}}
.wb-produkt.is-pod-sebou .wb-produkt__obal{grid-template-columns:minmax(0,1fr);max-width:820px;margin:0 auto}
.wb-produkt.is-pod-sebou .wb-produkt__foto>img{max-height:min(78vh,720px);object-fit:cover}
.wb-produkt.is-foto-ctverec .wb-produkt__foto>img{aspect-ratio:1;object-fit:cover}
.wb-produkt.is-foto-na-vysku .wb-produkt__foto>img{aspect-ratio:3/4;object-fit:cover}
.wb-produkt.is-zvetseni .wb-produkt__foto>img,.wb-produkt.is-zvetseni .wb-produkt__galerie img{cursor:zoom-in}
.wb-produkt__nahledy{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding:2px}
.wb-produkt__nahled{flex:0 0 72px;padding:0;border:2px solid transparent;border-radius:10px;background:none;cursor:pointer;line-height:0}
.wb-produkt__foto .wb-produkt__nahled img{aspect-ratio:1;object-fit:cover;border-radius:8px}
.wb-produkt__nahled[aria-current=true]{border-color:var(--c-primary,#111827)}
.wb-produkt__nahled:focus-visible{outline:2px solid var(--c-primary,#111827);outline-offset:2px}
.wb-produkt__duvera{margin:0 0 20px;font-size:14px;color:var(--c-text-soft)}
.wb-produkt__koupit+.wb-produkt__duvera{margin-top:-14px}
.wb-produkt__souvisejici{margin-top:56px}
.wb-produkt__souvisejici h2{margin:0 0 20px;font-size:clamp(20px,2.5vw,26px)}
@media(min-width:641px){.wb-produkt__souvisejici .wb-kat-s3 .wb-product:nth-child(n+4){display:none}}
.wb-produkt__hodnoceni{display:inline-flex;align-items:center;gap:6px;margin:-4px 0 12px;font-size:14px;color:var(--c-text-soft);text-decoration:none}
.wb-produkt__hodnoceni:hover{text-decoration:underline}
.wb-produkt__recenze{margin-top:56px;scroll-margin-top:90px}
.wb-produkt__recenze h2{margin:0 0 20px;font-size:clamp(20px,2.5vw,26px)}
.wb-produkt__napsat{margin-top:20px}
.wb-produkt__recenze .wb-reviews__summary{display:flex;flex-wrap:wrap;align-items:center;gap:12px 40px}
.wb-produkt__recenze .wb-reviews__dist{margin:0;flex:1;min-width:240px}
.wb-produkt__recenze .webeas-form{margin:0}
.wb-produkt__napsat>summary{display:inline-flex;list-style:none;cursor:pointer}
.wb-produkt__napsat>summary::-webkit-details-marker{display:none}
.wb-produkt__napsat[open]>summary{margin-bottom:16px}
.wb-produkt__napsat form{max-width:560px}
.wb-produkt__lista{display:none}
@media(max-width:767px){.wb-produkt__lista{position:fixed;left:0;right:0;bottom:0;z-index:950;display:flex;align-items:center;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--c-bg,#fff);color:var(--c-text,#111827);border-top:1px solid var(--c-border,#e5e7eb);box-shadow:0 -6px 20px rgba(0,0,0,.08);transform:translateY(110%);visibility:hidden;transition:transform .2s,visibility .2s}
.wb-produkt__lista.is-videt{transform:none;visibility:visible}
body.wb-ma-listu .wb-kosik-tl,body.wb-ma-listu .wb-cc-fab{bottom:84px!important}}
.wb-produkt__lista-text{flex:1;min-width:0}
.wb-produkt__lista-nazev{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.75}
.wb-produkt__lista-cena{font-weight:700}
.wb-produkt__lista .wb-btn{flex-shrink:0;width:auto;padding:12px 20px;margin:0}
@media(prefers-reduced-motion:reduce){.wb-produkt__lista{transition:none}}
