body:has(#zalesaci-app) {
  background:
    radial-gradient(circle at 15% 12%, rgba(110,139,93,.18), transparent 28%),
    radial-gradient(circle at 86% 78%, rgba(68,102,73,.18), transparent 30%),
    linear-gradient(135deg,#071c15 0%,#0d2c21 48%,#081f18 100%) !important;
  background-attachment: fixed !important;
}
body:has(#zalesaci-app) #content-wrapper,
body:has(#zalesaci-app) .content-wrapper,
body:has(#zalesaci-app) .homepage-box,
body:has(#zalesaci-app) main { background: transparent !important; }
#zalesaci-app, #zalesaci-app * { box-sizing: border-box; }
#zalesaci-app { --forest:#102f24; --forest2:#173d2e; --moss:#708b5d; --moss2:#9bad72; --sage:#cdd3bb; --cream:#f5efdf; --paper:#efe5ce; --ink:#17271d; --gold:#df9410; --line:rgba(53,67,43,.22); width:100%; max-width:1460px; margin:42px auto 96px; padding:0 18px; color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
#zalesaci-app button, #zalesaci-app input, #zalesaci-app textarea, #zalesaci-app select { font:inherit; }
.za-shell { display:grid; grid-template-columns:292px minmax(0,1fr); min-height:720px; border:1px solid rgba(139,157,105,.7); border-radius:24px; overflow:hidden; background:var(--forest); box-shadow:0 34px 90px rgba(0,0,0,.42),0 0 0 1px rgba(180,196,138,.18); }
.za-sidebar { position:relative; min-height:720px; overflow:hidden; background:linear-gradient(180deg,#0e2d22 0%,#123629 62%,#0a261d 100%); color:#fff; display:flex; flex-direction:column; }
.za-brand { width:100%; height:225px; border:0; padding:18px 28px 12px; cursor:pointer; background:transparent; display:flex; align-items:center; justify-content:center; }
.za-brand img { width:100%; max-width:210px; max-height:198px; object-fit:contain; height:auto; display:block; filter:drop-shadow(0 5px 12px rgba(0,0,0,.20)); }
.za-nav { position:relative; z-index:2; display:flex; flex-direction:column; }
.za-nav__item { border:0; width:100%; min-height:62px; padding:0 34px; background:transparent; color:#f6f3e9; display:flex; align-items:center; gap:18px; text-align:left; cursor:pointer; font-weight:700; font-size:17px; transition:.22s ease; }
.za-nav__item:hover,.za-nav__item.is-active { background:linear-gradient(90deg,rgba(128,157,101,.86),rgba(102,133,81,.73)); color:#fff; }
.za-nav__icon { width:25px; text-align:center; font-size:19px; filter:grayscale(1) brightness(3); }
.za-sidebar__art { margin-top:auto; min-height:168px; padding:0 10px; display:flex; align-items:flex-end; justify-content:center; text-align:center; background:linear-gradient(0deg,rgba(5,26,20,.98),rgba(5,26,20,.08)); position:relative; overflow:hidden; }
.za-sidebar__art img { width:100%; max-width:278px; height:auto; display:block; opacity:.98; filter:drop-shadow(0 8px 18px rgba(0,0,0,.28)); }
.za-sidebar__claim { margin:0; padding:2px 22px 24px; text-align:center; color:#eee1bf; font-family:Georgia,'Times New Roman',serif; font-style:italic; font-size:18px; line-height:1.25; }
.za-main { min-width:0; min-height:720px; background:var(--paper); }
.za-screen { min-height:720px; height:100%; background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.65),transparent 30%),linear-gradient(115deg,#f5efdf,#e9dec3); position:relative; overflow:hidden; }
.za-screen::before { content:""; position:absolute; inset:0; opacity:.18; pointer-events:none; background-image:repeating-linear-gradient(0deg,rgba(85,70,42,.06) 0,rgba(85,70,42,.06) 1px,transparent 1px,transparent 4px); }
.za-loading { padding:60px; font-weight:700; }
.za-map-page { min-height:720px; display:grid; grid-template-columns:320px minmax(0,1fr); position:relative; z-index:1; animation:zaFade .35s ease; }
.za-intro { padding:48px 28px 34px 44px; display:flex; flex-direction:column; border-right:1px solid rgba(64,72,46,.12); position:relative; z-index:2; }
.za-eyebrow { margin:0 0 15px; color:#466049; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.za-title { margin:0; font-family:Georgia,'Times New Roman',serif; font-size:42px; line-height:1.06; letter-spacing:-.02em; color:#1b2e21; }
.za-title em { color:#68844f; font-style:normal; }
.za-lead { margin:18px 0 0; max-width:240px; font-family:Georgia,'Times New Roman',serif; font-size:16px; line-height:1.55; }
.za-sprig { margin-top:16px; color:#55744f; font-size:26px; letter-spacing:-8px; }
.za-stats { margin-top:auto; width:100%; background:rgba(248,243,230,.82); border:1px solid rgba(102,100,72,.25); border-radius:12px; padding:17px 18px; box-shadow:0 6px 18px rgba(88,75,47,.06); }
.za-stat { display:grid; grid-template-columns:34px 50px 1fr; align-items:center; gap:7px; padding:7px 0; }
.za-stat__icon { font-size:24px; text-align:center; }
.za-stat strong { font-family:Georgia,'Times New Roman',serif; font-size:23px; line-height:1; }
.za-stat span { font-size:11px; line-height:1.2; color:#3f493f; }
.za-map-zone { min-width:0; position:relative; display:flex; align-items:center; justify-content:center; padding:24px 28px 20px 10px; }
.za-map-toolbar { position:absolute; z-index:5; top:18px; left:18px; right:24px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.za-chip,.za-button { border:1px solid rgba(48,62,40,.2); border-radius:999px; padding:8px 14px; background:rgba(247,241,226,.92); color:#253529; font-weight:700; cursor:pointer; }
.za-button { border-radius:9px; background:#214f39; color:#fff; border-color:#214f39; padding:10px 17px; }
.za-button:hover { background:#173d2e; }
.za-map-canvas { width:100%; height:100%; min-height:640px; display:flex; align-items:center; justify-content:center; }
.za-map-canvas svg { width:100%; height:auto; max-height:650px; display:block; overflow:visible; }
.za-map-canvas svg path { transition:fill .22s ease,filter .22s ease,transform .22s ease; transform-box:fill-box; transform-origin:center; }
.za-map-canvas svg path[data-clickable="true"] { cursor:pointer; }
.za-map-canvas svg path[data-clickable="true"]:hover { filter:brightness(.92) drop-shadow(0 2px 4px rgba(26,48,34,.3)); }
.za-map-canvas svg .za-country-empty,.za-map-canvas svg .za-region-empty { fill:#dedbc8!important; stroke:#f7f3e8!important; }
.za-map-canvas svg .za-country-active,.za-map-canvas svg .za-region-active { fill:#96aa68!important; stroke:#f4f0e4!important; stroke-width:1!important; }
.za-map-canvas svg .za-country-hot,.za-map-canvas svg .za-region-hot { fill:#254b35!important; stroke:#f4f0e4!important; stroke-width:1!important; }
.za-map-badge { pointer-events:none; }
.za-map-badge circle { fill:#234b35; stroke:#f7f2e5; stroke-width:2; }
.za-map-badge text { fill:#fff; font:700 15px Arial,sans-serif; text-anchor:middle; dominant-baseline:central; }
.za-compass { position:absolute; right:35px; top:36px; width:70px; height:70px; border:2px solid rgba(82,74,42,.48); border-radius:50%; color:#6c603a; display:grid; place-items:center; font-family:Georgia,serif; font-size:34px; opacity:.8; }
.za-back { border:0; background:transparent; color:#fff; cursor:pointer; font-weight:700; }
.za-region-head { position:absolute; inset:0 0 auto 0; height:56px; background:linear-gradient(90deg,#163e2d,#2e5f37); color:#fff; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 20px; z-index:7; }
.za-region-head strong { font-family:Georgia,serif; font-size:18px; }
.za-region-head span:last-child { text-align:right; opacity:.9; }
.za-region-page { padding-top:56px; }
.za-region-summary { position:absolute; left:26px; right:26px; bottom:26px; min-height:80px; background:rgba(250,246,235,.94); border:1px solid rgba(70,76,50,.2); border-radius:12px; display:flex; align-items:center; gap:14px; padding:16px 18px; z-index:8; box-shadow:0 10px 30px rgba(49,60,39,.12); }
.za-region-summary__icon { font-size:36px; }
.za-region-summary h3 { margin:0 0 3px; font-family:Georgia,serif; font-size:22px; }
.za-region-summary p { margin:0; }
.za-region-summary .za-button { margin-left:auto; }
.za-list-page,.za-info-page { min-height:720px; padding:30px; animation:zaFade .3s ease; position:relative; z-index:1; }
.za-page-head { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-bottom:22px; }
.za-page-head h1 { margin:0; font-family:Georgia,serif; font-size:38px; }
.za-page-head p { margin:5px 0 0; color:#526052; }
.za-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.za-filter { border:1px solid rgba(62,77,54,.2); border-radius:999px; background:#f6f0e1; padding:8px 12px; cursor:pointer; }
.za-filter.is-active { background:#244f38;color:#fff; }
.za-camp-list { display:grid; gap:12px; }
.za-camp-card { display:grid; grid-template-columns:150px minmax(0,1fr) 180px 24px; align-items:center; gap:16px; background:rgba(249,244,232,.86); border-bottom:1px solid rgba(58,65,45,.16); padding:10px; cursor:pointer; }
.za-camp-card:hover { background:#fbf7ed; }
.za-camp-card img { width:150px; height:90px; object-fit:cover; border-radius:9px; }
.za-camp-card h3 { margin:0 0 6px; font-family:Georgia,serif; font-size:20px; }
.za-stars { color:var(--gold); letter-spacing:1px; }
.za-features { margin-top:7px; font-size:19px; letter-spacing:5px; }
.za-location { color:#435044; font-size:13px; }
.za-detail { min-height:720px; padding:0 0 34px; position:relative; z-index:1; animation:zaFade .3s ease; }
.za-detail__head { height:56px; background:linear-gradient(90deg,#173f2d,#2e5e37); color:#fff; display:flex; align-items:center; justify-content:space-between; padding:0 20px; }
.za-detail__hero { position:relative; height:330px; overflow:hidden; }
.za-detail__hero img { width:100%; height:100%; object-fit:cover; }
.za-photo-count { position:absolute; right:16px; bottom:14px; padding:6px 10px; color:#fff; background:rgba(10,36,26,.78); border-radius:999px; }
.za-rating-grid { display:grid; grid-template-columns:1fr 1fr; max-width:700px; margin:-1px auto 0; }
.za-rating-box { padding:18px; text-align:center; background:#f4eddb; border:1px solid rgba(71,74,48,.18); }
.za-rating-box strong { display:block; font-family:Georgia,serif; font-size:34px; }
.za-detail__body { padding:24px 28px; }
.za-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.za-fact { display:flex; gap:9px; align-items:flex-start; }
.za-detail h2 { font-family:Georgia,serif; margin:24px 0 8px; }
.za-info-page { max-width:900px; }
.za-info-page h1 { font-family:Georgia,serif; font-size:42px; }
.za-form { display:grid; gap:14px; max-width:700px; }
.za-form label { display:grid; gap:6px; font-weight:700; }
.za-form input,.za-form textarea,.za-form select { width:100%; border:1px solid rgba(42,62,45,.25); border-radius:8px; padding:11px 12px; background:#fffdf7; }
.za-modal { position:fixed; inset:0; z-index:99999; display:grid; place-items:center; padding:20px; background:rgba(4,23,17,.68); }
.za-modal[hidden] { display:none; }
.za-modal__box { width:min(680px,100%); max-height:90vh; overflow:auto; background:#f5efdf; border-radius:16px; padding:24px; box-shadow:0 24px 80px rgba(0,0,0,.32); }
.za-modal__head { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.za-modal__close { border:0;background:transparent;font-size:28px;cursor:pointer; }
.za-toast { position:fixed; right:24px; bottom:24px; z-index:100000; background:#173d2e;color:#fff;padding:12px 16px;border-radius:10px;opacity:0;transform:translateY(15px);pointer-events:none;transition:.25s; }
.za-toast.is-visible { opacity:1;transform:none; }
.za-mobile-nav { display:none; }
@keyframes zaFade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media (max-width:1050px) {
  #zalesaci-app { margin-top:24px; padding:0 10px; }
  .za-shell { grid-template-columns:230px minmax(0,1fr); }
  .za-map-page { grid-template-columns:270px minmax(0,1fr); }
  .za-title { font-size:35px; }
  .za-brand { height:190px; padding:18px; }
}
@media (max-width:760px) {
  #zalesaci-app { width:100%; margin:0 0 74px; padding:0; }
  .za-shell { display:block; min-height:0; border:0; border-radius:0; box-shadow:none; background:var(--paper); }
  .za-sidebar { display:none; }
  .za-main,.za-screen { min-height:calc(100vh - 72px); }
  .za-map-page { min-height:0; display:block; }
  .za-intro { padding:22px 18px 10px; border:0; }
  .za-eyebrow { margin-bottom:8px; }
  .za-title { font-size:32px; }
  .za-lead { max-width:none; margin-top:10px; }
  .za-sprig { display:none; }
  .za-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:6px; margin-top:16px; padding:10px 12px; }
  .za-stat { grid-template-columns:28px 37px 1fr; padding:4px 0; }
  .za-stat strong { font-size:19px; }
  .za-stat span { font-size:9px; }
  .za-map-zone { padding:6px 0 16px; display:block; }
  .za-map-toolbar { position:relative; top:auto; left:auto; right:auto; padding:4px 16px 10px; }
  .za-map-canvas { width:100%; min-height:0; display:block; }
  .za-map-canvas svg { width:100%; max-height:none; height:auto; }
  .za-compass { display:none; }
  .za-region-head { position:relative; height:52px; }
  .za-region-page { padding-top:0; }
  .za-region-summary { position:relative; left:auto; right:auto; bottom:auto; margin:12px; }
  .za-region-summary .za-button { padding:9px 11px; }
  .za-list-page,.za-info-page { min-height:0; padding:20px 14px; }
  .za-page-head { align-items:flex-start; }
  .za-page-head h1 { font-size:31px; }
  .za-camp-card { grid-template-columns:108px minmax(0,1fr) 18px; gap:11px; padding:9px 0; }
  .za-camp-card img { width:108px;height:82px; }
  .za-camp-card .za-location { display:none; }
  .za-camp-card h3 { font-size:17px; }
  .za-detail__hero { height:230px; }
  .za-rating-grid { margin:0; }
  .za-rating-box { padding:13px 8px; }
  .za-rating-box strong { font-size:27px; }
  .za-detail__body { padding:18px 14px; }
  .za-facts { grid-template-columns:1fr 1fr; }
  .za-mobile-nav { position:fixed; z-index:9999; left:0; right:0; bottom:0; height:68px; display:grid; grid-template-columns:repeat(4,1fr); background:#102f24; color:#fff; box-shadow:0 -8px 24px rgba(4,24,17,.22); padding-bottom:env(safe-area-inset-bottom); }
  .za-mobile-nav button { border:0;background:transparent;color:#dfe8df;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px; }
  .za-mobile-nav button span { font-size:21px; }
  .za-mobile-nav button.is-active { background:#6f8a5c;color:#fff; }
}

/* Zálesáci v1.2 – doladění rozhraní */
body:has(#zalesaci-app) #content-wrapper,
body:has(#zalesaci-app) .content-wrapper { padding-top: 0 !important; margin-top: 0 !important; }
#zalesaci-app { margin-top: 8px !important; margin-bottom: 28px; }
.za-shell { min-height: min(790px, calc(100vh - 20px)); }
.za-sidebar { min-height: inherit; }
.za-screen { min-height: inherit; }
.za-nav__icon { width: 24px; height: 24px; display:grid; place-items:center; flex:0 0 24px; }
.za-nav__icon svg,.za-stat__icon svg,.za-region-summary__icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.za-nav__item { font-size: 16px; }
.za-map-page { min-height: inherit; }
.za-map-toolbar { justify-content:flex-start; }
.za-map-zone { overflow:hidden; }
.za-map-canvas svg path { outline:none !important; }
.za-map-canvas svg path:focus { outline:none !important; }
.za-map-canvas svg path[data-hoverable="true"]:hover,
.za-map-canvas svg path[data-hoverable="true"].is-hovered { fill:#a8b77c !important; filter:brightness(.96) drop-shadow(0 2px 4px rgba(26,48,34,.22)); }
.za-map-canvas svg path.za-country-hot:hover,
.za-map-canvas svg path.za-country-hot.is-hovered { fill:#173f2d !important; }
.za-country-page { min-height:inherit; position:relative; padding-top:56px; }
.za-country-map-wrap { min-height:calc(100% - 56px); position:relative; padding:24px 28px 118px; display:flex; align-items:center; justify-content:center; }
.za-country-map-wrap .za-map-canvas { min-height:540px; }
.za-region-head strong { font-size:20px; }
.za-region-head .za-back { text-align:left; }
.za-muted { margin-left:auto; color:#667066; }
.za-region-summary__icon { width:38px; height:38px; color:#57734f; }
.za-list-page { padding:22px 30px 24px; }
.za-page-head { margin-bottom:14px; }
.za-page-head h1 { margin-top:9px; }
.za-camp-list { gap:10px; }
.za-camp-card { min-height:112px; border:1px solid rgba(58,65,45,.10); border-radius:10px; box-shadow:0 3px 12px rgba(64,53,33,.05); }
.za-features { display:flex; gap:10px; letter-spacing:0; }
.za-features span { display:inline-grid; place-items:center; min-width:20px; }
.za-chevron { font-size:24px; }
.za-pagination { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
.za-pagination button { border:1px solid rgba(57,72,49,.24); background:#f8f2e5; color:#244333; min-width:38px; height:38px; padding:0 12px; border-radius:999px; cursor:pointer; font-weight:700; }
.za-pagination button:hover:not(:disabled),.za-pagination button.is-active { background:#244f38; color:#fff; border-color:#244f38; }
.za-pagination button:disabled { opacity:.38; cursor:not-allowed; }
.za-page-numbers { display:flex; gap:6px; }
.za-info-grid { display:grid; grid-template-columns:1.4fr .8fr; gap:28px; margin-top:26px; }
.za-contact-card { background:rgba(255,252,244,.72); border:1px solid var(--line); border-radius:14px; padding:22px; }
.za-contact-card a { color:#244f38; font-weight:700; }
.za-modal { backdrop-filter:blur(5px); }
.za-modal__box--wide { width:min(980px,100%); padding:26px; }
.za-modal__head h2 { margin:2px 0 0; font-family:Georgia,serif; font-size:30px; }
.za-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:18px 0 22px; }
.za-steps span { padding:10px 12px; border-radius:9px; background:#e8dfca; color:#657063; text-align:center; font-weight:700; font-size:13px; }
.za-steps span.is-active { background:#244f38; color:#fff; }
.za-form--two { max-width:none; grid-template-columns:1fr 1fr; gap:14px 18px; }
.za-form__full { grid-column:1/-1; }
.za-form fieldset { border:1px solid rgba(42,62,45,.22); border-radius:10px; padding:14px; }
.za-form legend { font-weight:700; padding:0 6px; }
.za-checks { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.za-checks label { display:flex; align-items:center; gap:7px; font-weight:400; }
.za-checks input { width:auto; }
.za-form__actions { display:flex; justify-content:flex-end; }
.za-demo-note { color:#697368; font-size:12px; margin-bottom:0; }
.za-stat__icon { color:#55744f; width:26px; height:26px; }

@media (max-width:1050px){
  #zalesaci-app { margin-top:6px !important; }
  .za-country-map-wrap { padding-left:16px; padding-right:16px; }
}
@media (max-width:760px){
  #zalesaci-app { margin-top:0 !important; }
  .za-country-page { padding-top:0; }
  .za-country-map-wrap { min-height:0; padding:8px 0 12px; display:block; }
  .za-country-map-wrap .za-map-canvas { min-height:0; }
  .za-pagination { gap:7px; flex-wrap:wrap; }
  .za-pagination button { min-width:34px; height:34px; padding:0 9px; font-size:12px; }
  .za-info-grid { grid-template-columns:1fr; }
  .za-form--two { grid-template-columns:1fr; }
  .za-form__full { grid-column:auto; }
  .za-checks { grid-template-columns:1fr 1fr; }
  .za-steps { overflow:auto; grid-template-columns:repeat(3,minmax(150px,1fr)); }
  .za-modal__box--wide { padding:18px 14px; }
}

/* Zálesáci v1.3 – mapa Evropy, kompas a formulář */
#zalesaci-app { margin-top: 2px !important; }

/* Neaktivní země zůstávají šedé, při najetí pouze ztmavnou. */
.za-map-canvas svg path.za-country-empty { fill:#dedbc8 !important; }
.za-map-canvas svg path.za-country-empty:hover,
.za-map-canvas svg path.za-country-empty.is-hovered { fill:#c8c6b7 !important; filter:brightness(.98) drop-shadow(0 2px 4px rgba(26,48,34,.18)); }

/* Země s kempem jsou světle zelené, při najetí tmavě zelené. */
.za-map-canvas svg path.za-country-active,
.za-map-canvas svg path.za-country-hot { fill:#96aa68 !important; }
.za-map-canvas svg path.za-country-active:hover,
.za-map-canvas svg path.za-country-active.is-hovered,
.za-map-canvas svg path.za-country-hot:hover,
.za-map-canvas svg path.za-country-hot.is-hovered { fill:#254b35 !important; filter:drop-shadow(0 3px 5px rgba(26,48,34,.28)); }

/* Kompasová růžice podle schváleného návrhu. */
.za-compass { position:absolute; right:28px; top:25px; width:82px; height:82px; border:0; border-radius:0; object-fit:contain; opacity:.82; display:block; pointer-events:none; }

/* Viditelné a pohodlně klikatelné checkboxy ve formuláři. */
.za-checks label { min-height:42px; padding:9px 11px; border:1px solid rgba(42,62,45,.18); border-radius:9px; background:rgba(255,252,244,.66); cursor:pointer; }
.za-checks input[type="checkbox"] { appearance:none !important; -webkit-appearance:none !important; width:20px !important; height:20px !important; min-width:20px; margin:0; border:2px solid #587153 !important; border-radius:5px; background:#fff !important; display:inline-grid; place-content:center; cursor:pointer; }
.za-checks input[type="checkbox"]::before { content:""; width:10px; height:10px; transform:scale(0); transition:transform .12s ease; background:#fff; clip-path:polygon(14% 44%,0 59%,40% 100%,100% 18%,84% 4%,39% 70%); }
.za-checks input[type="checkbox"]:checked { background:#254b35 !important; border-color:#254b35 !important; }
.za-checks input[type="checkbox"]:checked::before { transform:scale(1); }
.za-checks input[type="checkbox"]:focus-visible { outline:3px solid rgba(150,170,104,.45); outline-offset:2px; }

@media (max-width:760px){
  #zalesaci-app { margin-top:0 !important; }
}


/* Zálesáci v1.4 – horní umístění, interní scroll a další státy */
html:has(#zalesaci-app), body:has(#zalesaci-app) { min-height:100%; }
body:has(#zalesaci-app) #content-wrapper,
body:has(#zalesaci-app) .content-wrapper,
body:has(#zalesaci-app) .content-wrapper-in,
body:has(#zalesaci-app) #content,
body:has(#zalesaci-app) .homepage-box,
body:has(#zalesaci-app) .homepage-box.welcome-wrapper {
  margin-top:0 !important;
  padding-top:0 !important;
}
body:has(#zalesaci-app) .content-wrapper-in { padding-bottom:0 !important; }
#zalesaci-app {
  margin:2px auto 0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
@media (min-width:761px) {
  #zalesaci-app .za-shell { height:calc(100vh - 42px); min-height:640px; max-height:790px; }
  #zalesaci-app .za-sidebar,#zalesaci-app .za-main,#zalesaci-app .za-screen { height:100%; min-height:0; }
  #zalesaci-app .za-screen { overflow:auto; }
  #zalesaci-app .za-map-page,#zalesaci-app .za-country-page { height:100%; min-height:0; overflow:hidden; }
  #zalesaci-app .za-list-page,#zalesaci-app .za-info-page,#zalesaci-app .za-detail { min-height:100%; }
}
.za-country-map-wrap .za-map-canvas svg { max-width:100%; max-height:100%; }
.za-country-map-wrap .za-map-canvas { overflow:hidden; }
.za-map-canvas svg path[data-clickable="true"] { cursor:pointer; }
.za-map-canvas svg path.za-country-empty:hover,
.za-map-canvas svg path.za-country-empty.is-hovered { fill:#c8c6b7 !important; }
.za-map-canvas svg path.za-country-active:hover,
.za-map-canvas svg path.za-country-active.is-hovered { fill:#254b35 !important; }
@media (max-width:760px){
  #zalesaci-app { margin:0 0 74px !important; }
}

/* Zálesáci v1.5 – rozšířená sada interaktivních států */
.za-country-map-wrap .za-loading { color:#566357; }
.za-map-canvas svg path[data-clickable="true"] { transition:fill .18s ease, filter .18s ease; }

/* Zálesáci v1.6 – adaptivní výška, mapy států, vybavení a přesné hvězdičky */
html:has(#zalesaci-app),
body:has(#zalesaci-app) {
  overflow-y:auto !important;
  scrollbar-gutter:auto !important;
}
body:has(#zalesaci-app) {
  min-height:100vh;
}

/* Na mapových obrazovkách se karta vejde do dostupné výšky. */
@media (min-width:761px) {
  #zalesaci-app.za-view-europe .za-shell,
  #zalesaci-app.za-view-country .za-shell {
    height:min(790px, calc(100vh - 10px));
    min-height:620px;
    max-height:none;
  }
  #zalesaci-app.za-view-europe .za-screen,
  #zalesaci-app.za-view-country .za-screen {
    overflow:hidden !important;
  }

  /* Obsahové stránky rostou podle obsahu; žádný scrollbar uvnitř karty. */
  #zalesaci-app.za-view-camps .za-shell,
  #zalesaci-app.za-view-region .za-shell,
  #zalesaci-app.za-view-camp .za-shell,
  #zalesaci-app.za-view-about .za-shell {
    height:auto !important;
    min-height:720px;
    max-height:none !important;
  }
  #zalesaci-app.za-view-camps .za-sidebar,
  #zalesaci-app.za-view-region .za-sidebar,
  #zalesaci-app.za-view-camp .za-sidebar,
  #zalesaci-app.za-view-about .za-sidebar,
  #zalesaci-app.za-view-camps .za-main,
  #zalesaci-app.za-view-region .za-main,
  #zalesaci-app.za-view-camp .za-main,
  #zalesaci-app.za-view-about .za-main,
  #zalesaci-app.za-view-camps .za-screen,
  #zalesaci-app.za-view-region .za-screen,
  #zalesaci-app.za-view-camp .za-screen,
  #zalesaci-app.za-view-about .za-screen {
    height:auto !important;
    min-height:720px;
    overflow:visible !important;
  }
}

/* Scrollbar se případně zobrazí jen stránce a barevně zapadne do návrhu. */
html:has(#zalesaci-app) {
  scrollbar-color:#71875f #0b291f;
  scrollbar-width:thin;
}
html:has(#zalesaci-app)::-webkit-scrollbar { width:11px; }
html:has(#zalesaci-app)::-webkit-scrollbar-track { background:#0b291f; }
html:has(#zalesaci-app)::-webkit-scrollbar-thumb { background:#71875f; border:3px solid #0b291f; border-radius:999px; }

/* Každá mapa státu se automaticky vejde do prostoru karty. */
.za-country-map-wrap {
  min-height:0 !important;
  height:100%;
  padding:74px 32px 122px !important;
}
.za-country-map-wrap .za-map-canvas {
  min-height:0 !important;
  height:100%;
  width:100%;
  overflow:hidden;
}
.za-country-map-wrap .za-map-canvas svg {
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  display:block;
  overflow:hidden !important;
}

/* Hvězdičky s plynulým částečným vybarvením (např. 4,6 = 92 %). */
.za-card-rating { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.za-stars-visual {
  position:relative;
  display:inline-block;
  width:6.1em;
  height:1.2em;
  line-height:1.2;
  font-size:18px;
  letter-spacing:.08em;
  white-space:nowrap;
  vertical-align:middle;
}
.za-stars-empty,
.za-stars-fill {
  position:absolute;
  inset:0 auto auto 0;
  overflow:hidden;
  white-space:nowrap;
}
.za-stars-empty { color:#c7c1ad; }
.za-stars-fill { color:var(--gold); }
.za-rating-box .za-stars-visual { display:block; margin:5px auto 7px; font-size:23px; }

/* Zálesácké hodnocení je jasně odlišené zeleným podkladem. */
.za-rating-box--zalesaci {
  color:#fff;
  background:linear-gradient(145deg,#315f42,#1e4934) !important;
  border-color:#1d4532 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.za-rating-box--zalesaci .za-stars-empty { color:rgba(255,255,255,.30); }
.za-rating-box--zalesaci .za-stars-fill { color:#f0ad28; }
.za-rating-box--zalesaci small { color:rgba(255,255,255,.84); }
.za-rating-label { display:block; font-weight:700; margin-bottom:3px; }

/* Vybavení je řešené jako skutečně klikatelné volby nezávislé na CSS Shoptetu. */
.za-checks { grid-template-columns:repeat(3,minmax(0,1fr)); }
.za-feature-option {
  width:100%;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 11px;
  border:1px solid rgba(42,62,45,.23);
  border-radius:9px;
  background:rgba(255,252,244,.78);
  color:#23372a;
  text-align:left;
  cursor:pointer;
  transition:.16s ease;
}
.za-feature-option:hover { border-color:#66805d; background:#f9f5e9; }
.za-feature-option input { position:absolute !important; opacity:0 !important; pointer-events:none !important; width:1px !important; height:1px !important; }
.za-feature-check {
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:grid;
  place-items:center;
  border:2px solid #5b7355;
  border-radius:6px;
  color:transparent;
  background:#fff;
  font-weight:900;
}
.za-feature-option.is-selected,
.za-feature-option[aria-pressed="true"] {
  color:#fff;
  border-color:#244f38;
  background:#244f38;
}
.za-feature-option.is-selected .za-feature-check,
.za-feature-option[aria-pressed="true"] .za-feature-check {
  color:#244f38;
  border-color:#fff;
  background:#fff;
}

@media (max-width:760px) {
  .za-country-map-wrap { height:auto; padding:60px 0 100px !important; }
  .za-country-map-wrap .za-map-canvas { height:auto; }
  .za-country-map-wrap .za-map-canvas svg { width:100% !important; height:auto !important; }
  .za-checks { grid-template-columns:1fr 1fr; }
}


/* =========================================================
   ZÁLESÁCI 2.0 — jednotné mapy, silnější kontrast a facelift
   ========================================================= */

#zalesaci-app {
  --map-empty:#7c876f;
  --map-active:#78994c;
  --map-hot:#274b37;
  --map-hover:#343a38;
  --map-border:#f7f1e3;
  --map-shadow:rgba(24,39,29,.28);
  --paper-soft:#f4ecd9;
  --panel-line:rgba(53,67,43,.18);
}

.za-title__nowrap {
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
}

/* Jemnější a modernější panely. */
.za-shell {
  border-color:rgba(145,162,108,.78);
  box-shadow:
    0 30px 80px rgba(0,0,0,.38),
    0 0 0 1px rgba(193,205,153,.14),
    inset 0 1px 0 rgba(255,255,255,.05);
}
.za-screen {
  background:
    radial-gradient(circle at 19% 9%,rgba(255,255,255,.76),transparent 31%),
    radial-gradient(circle at 82% 76%,rgba(167,151,111,.08),transparent 34%),
    linear-gradient(115deg,#f7f0df,#e9dec4);
}
.za-intro {
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0));
}
.za-stats,
.za-region-summary,
.za-contact-card {
  backdrop-filter:blur(4px);
  box-shadow:0 10px 30px rgba(67,57,37,.08);
}

/* Stabilní centrování všech SVG map. */
.za-map-canvas {
  position:relative;
  isolation:isolate;
}
.za-map-canvas svg {
  margin:auto;
  transform:translateZ(0);
  shape-rendering:geometricPrecision;
}
.za-map-canvas--europe svg {
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain;
}

/* Společný vzhled Evropy i regionálních map. */
.za-map-canvas svg path.za-country-empty,
.za-map-canvas svg path.za-region-empty {
  fill:var(--map-empty) !important;
  stroke:var(--map-border) !important;
  stroke-width:1.25 !important;
  stroke-linejoin:round !important;
  vector-effect:non-scaling-stroke;
}
.za-map-canvas svg path.za-country-active,
.za-map-canvas svg path.za-region-active {
  fill:var(--map-active) !important;
  stroke:var(--map-border) !important;
  stroke-width:1.35 !important;
  stroke-linejoin:round !important;
  vector-effect:non-scaling-stroke;
}
.za-map-canvas svg path.za-country-hot,
.za-map-canvas svg path.za-region-hot {
  fill:var(--map-hot) !important;
  stroke:var(--map-border) !important;
  stroke-width:1.4 !important;
  stroke-linejoin:round !important;
  vector-effect:non-scaling-stroke;
}

/* Hover je nově antracitový a jednotný pro státy i regiony. */
.za-map-canvas svg path[data-hoverable="true"]:hover,
.za-map-canvas svg path[data-hoverable="true"].is-hovered,
.za-map-canvas svg path[data-clickable="true"]:hover,
.za-map-canvas svg path[data-clickable="true"]:focus-visible {
  fill:var(--map-hover) !important;
  stroke:#fffaf0 !important;
  stroke-width:1.55 !important;
  filter:drop-shadow(0 3px 5px var(--map-shadow));
}

/* Aktivní Česko zůstává zelené, ale při hoveru také přejde do antracitu. */
.za-map-canvas svg path.za-country-active:hover,
.za-map-canvas svg path.za-country-active.is-hovered,
.za-map-canvas svg path.za-region-active:hover,
.za-map-canvas svg path.za-region-active.is-hovered,
.za-map-canvas svg path.za-country-hot:hover,
.za-map-canvas svg path.za-country-hot.is-hovered,
.za-map-canvas svg path.za-region-hot:hover,
.za-map-canvas svg path.za-region-hot.is-hovered {
  fill:var(--map-hover) !important;
}

/* Zvýraznění mapy bez změny geometrie. */
.za-map-canvas--europe svg {
  filter:drop-shadow(0 8px 14px rgba(53,63,45,.10));
}
.za-map-zone::after {
  content:"";
  position:absolute;
  inset:74px 30px 32px 16px;
  pointer-events:none;
  border-radius:30px;
  background:radial-gradient(circle at 53% 50%,rgba(115,130,94,.06),transparent 62%);
  z-index:-1;
}

/* Kompas a ovládací prvky. */
.za-compass {
  opacity:.9;
  filter:drop-shadow(0 3px 6px rgba(69,58,35,.16));
}
.za-chip {
  box-shadow:0 4px 14px rgba(70,60,38,.07);
}
.za-chip:hover {
  border-color:rgba(38,77,53,.35);
  background:#fffaf0;
}

/* Jemnější pohyb, bez posouvání hranic SVG. */
.za-map-canvas svg path {
  transition:
    fill .18s ease,
    stroke .18s ease,
    filter .18s ease;
  transform:none !important;
}

/* Mobilní optimalizace 2.0. */
@media (max-width:760px) {
  .za-title__nowrap { white-space:normal; }
  .za-map-canvas--europe svg {
    width:100% !important;
    height:auto !important;
  }
  .za-map-zone::after { inset:48px 6px 14px; }
}


/* =========================================================
   ZÁLESÁCI 2.1 — přesné hvězdičky
   ========================================================= */

.za-stars-visual {
  --star-empty:#c7c1ad;
  --star-full:#df9410;
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:2px;
  width:auto;
  height:1.15em;
  line-height:1;
  font-size:18px;
  letter-spacing:0;
  white-space:nowrap;
  vertical-align:middle;
}

.za-star {
  position:relative;
  display:inline-block;
  flex:0 0 1em;
  width:1em;
  height:1em;
  line-height:1;
}

.za-star::before,
.za-star::after {
  content:"★";
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  line-height:1;
}

.za-star::before {
  color:var(--star-empty);
}

.za-star::after {
  color:var(--star-full);
  clip-path:inset(0 calc(100% - var(--star-fill)) 0 0);
}

.za-rating-box .za-stars-visual {
  display:inline-flex;
  margin:6px auto 8px;
  font-size:23px;
}

.za-rating-box--zalesaci .za-stars-visual {
  --star-empty:rgba(255,255,255,.28);
  --star-full:#f0ad28;
}

/* Staré překryvné vrstvy už se nepoužívají. */
.za-stars-empty,
.za-stars-fill {
  display:none !important;
}


/* =========================================================
   ZÁLESÁCI 3.0 — MOBILNÍ RESPONZIV
   ========================================================= */
@media (max-width:760px){
  html:has(#zalesaci-app),body:has(#zalesaci-app){
    min-height:100%;margin:0!important;padding:0!important;
    background:#efe5ce!important;background-image:none!important;
    overscroll-behavior-y:none;
  }
  body:has(#zalesaci-app) #header,
  body:has(#zalesaci-app) .header-top,
  body:has(#zalesaci-app) .top-navigation-bar,
  body:has(#zalesaci-app) .navigation-wrapper,
  body:has(#zalesaci-app) .breadcrumbs-wrapper{display:none!important;}
  body:has(#zalesaci-app) #content-wrapper,
  body:has(#zalesaci-app) .content-wrapper,
  body:has(#zalesaci-app) .content-wrapper-in,
  body:has(#zalesaci-app) #content,
  body:has(#zalesaci-app) .homepage-box,
  body:has(#zalesaci-app) .homepage-box.welcome-wrapper{
    margin:0!important;padding:0!important;background:#efe5ce!important;
  }
  #zalesaci-app{width:100%;margin:0 0 74px!important;padding:0!important;background:#efe5ce!important;}
  .za-shell,.za-main,.za-screen,.za-map-page,.za-country-page,.za-detail,.za-list-page,.za-info-page{background:#efe5ce!important;}
  .za-intro{padding:18px 18px 8px!important;background:#efe5ce!important;}
  .za-title{margin:0!important;font-size:clamp(31px,9.2vw,43px)!important;line-height:1.02!important;}
  .za-lead{margin-top:12px!important;}
  .za-map-page>.za-stats{
    width:calc(100% - 28px);margin:8px 14px 18px!important;padding:13px 12px!important;
    background:rgba(249,244,232,.94);
  }
  .za-map-zone{padding:2px 0 8px!important;background:#efe5ce!important;}
  .za-map-toolbar{padding:2px 16px 6px!important;}
  .za-map-canvas--europe{padding:0 6px;}
  .za-country-page,.za-detail{padding-top:18px!important;}
  .za-region-head,.za-detail__head{position:relative!important;top:auto!important;margin:0!important;min-height:58px;}
  .za-region-head{grid-template-columns:auto minmax(0,1fr) auto!important;gap:8px;padding:0 14px!important;}
  .za-region-head strong{text-align:center;font-size:clamp(18px,5.8vw,26px)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .za-region-head span:last-child,.za-region-head .za-back,.za-detail__head .za-back{white-space:nowrap;font-size:14px;}
  .za-country-map-wrap{padding:18px 0 16px!important;background:#efe5ce!important;}
  .za-country-map-wrap .za-map-canvas{padding:0 10px;}
  .za-region-summary{margin:12px 14px 18px!important;}
  .za-detail__head{padding:0 14px!important;}
  .za-detail__head strong{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .za-mobile-nav{background:#102f24!important;}
  .za-mobile-nav button{min-width:0;}
  .za-mobile-nav button span{line-height:1;}
  .za-mobile-splash{
    position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:28px;
    background:radial-gradient(circle at 50% 38%,rgba(112,139,93,.18),transparent 34%),linear-gradient(180deg,#0c2d22,#061f18);
    opacity:1;transition:opacity .3s ease,visibility .3s ease;
  }
  .za-mobile-splash.is-leaving{opacity:0;visibility:hidden;}
  .za-mobile-splash__inner{width:min(340px,88vw);display:flex;flex-direction:column;align-items:center;gap:30px;text-align:center;}
  .za-mobile-splash__inner img{display:block;width:min(290px,78vw);max-height:48vh;object-fit:contain;filter:drop-shadow(0 14px 30px rgba(0,0,0,.32));}
  .za-mobile-splash__enter{
    min-width:180px;min-height:52px;padding:12px 28px;border:1px solid rgba(232,224,194,.62);
    border-radius:999px;background:#78994c;color:#fff;font-size:19px;font-weight:800;letter-spacing:.02em;
    box-shadow:0 12px 28px rgba(0,0,0,.22);cursor:pointer;
  }
}
@media (min-width:761px){.za-mobile-splash{display:none!important;}}


/* =========================================================
   ZÁLESÁCI 3.1 — MOBIL: odstranění horní mezery a gradientů
   Desktop zůstává beze změny.
   ========================================================= */
@media (max-width:760px) {

  /* Shoptet přidával horní padding na hlavní obal. */
  body:has(#zalesaci-app) .overall-wrapper,
  body:has(#zalesaci-app) #overall-wrapper,
  body:has(#zalesaci-app) .content-wrapper,
  body:has(#zalesaci-app) .content-wrapper-in,
  body:has(#zalesaci-app) #content-wrapper,
  body:has(#zalesaci-app) #content,
  body:has(#zalesaci-app) main {
    padding-top:0 !important;
    margin-top:0 !important;
  }

  /* Jednotné pískové pozadí bez přechodů, stínů a textur. */
  html:has(#zalesaci-app),
  body:has(#zalesaci-app),
  body:has(#zalesaci-app) .overall-wrapper,
  body:has(#zalesaci-app) #overall-wrapper,
  body:has(#zalesaci-app) #content-wrapper,
  body:has(#zalesaci-app) .content-wrapper,
  body:has(#zalesaci-app) .content-wrapper-in,
  body:has(#zalesaci-app) #content,
  body:has(#zalesaci-app) main,
  body:has(#zalesaci-app) .homepage-box,
  body:has(#zalesaci-app) .homepage-box.welcome-wrapper,
  #zalesaci-app,
  #zalesaci-app .za-shell,
  #zalesaci-app .za-main,
  #zalesaci-app .za-screen,
  #zalesaci-app .za-map-page,
  #zalesaci-app .za-intro,
  #zalesaci-app .za-map-zone,
  #zalesaci-app .za-country-page,
  #zalesaci-app .za-country-map-wrap,
  #zalesaci-app .za-list-page,
  #zalesaci-app .za-detail,
  #zalesaci-app .za-info-page {
    background:#efe5ce !important;
    background-color:#efe5ce !important;
    background-image:none !important;
    box-shadow:none !important;
  }

  /* Vypnutí dekorativních vrstev vytvářejících horní/dolní přechod. */
  #zalesaci-app .za-screen::before,
  #zalesaci-app .za-screen::after,
  #zalesaci-app .za-map-zone::before,
  #zalesaci-app .za-map-zone::after,
  #zalesaci-app .za-map-page::before,
  #zalesaci-app .za-map-page::after {
    display:none !important;
    content:none !important;
    background:none !important;
    box-shadow:none !important;
  }

  /* Aplikace začíná přímo pod systémovou horní lištou. */
  #zalesaci-app {
    top:auto !important;
    padding-top:0 !important;
  }

  #zalesaci-app .za-screen,
  #zalesaci-app .za-map-page,
  #zalesaci-app .za-country-page,
  #zalesaci-app .za-detail,
  #zalesaci-app .za-list-page {
    padding-top:0;
    margin-top:0;
  }

  /* Zachování malého pískového odsazení pouze před zelenou lištou státu/detailu. */
  #zalesaci-app .za-country-page,
  #zalesaci-app .za-detail {
    padding-top:12px !important;
  }

  /* Spodní navigace zůstává zelená a oddělená čistou hranou. */
  #zalesaci-app .za-mobile-nav {
    background:#102f24 !important;
    box-shadow:none !important;
  }
}


/* =========================================================
   ZÁLESÁCI 3.2 — MOBILNÍ SPLASH PŘI KAŽDÉM NAČTENÍ
   ========================================================= */
@media (max-width:760px){

  /* Odstranění paddingu 16px 0 z welcome-wrapperu Shoptetu. */
  body:has(#zalesaci-app) .welcome-wrapper,
  body:has(#zalesaci-app) .homepage-box.welcome-wrapper {
    padding:0 !important;
  }

  .za-mobile-splash {
    opacity:0;
    visibility:visible;
  }

  .za-mobile-splash.is-visible {
    opacity:1;
  }

  .za-mobile-splash__logo {
    opacity:0;
    transform:translateY(16px) scale(.96);
    animation:zaSplashLogoIn .65s cubic-bezier(.22,.8,.24,1) .08s forwards;
  }

  .za-mobile-splash__enter {
    opacity:0;
    transform:translateY(14px);
    animation:zaSplashButtonIn .48s ease .42s forwards;
  }

  .za-mobile-splash.is-leaving {
    opacity:0;
    visibility:hidden;
    transition:opacity .34s ease,visibility .34s ease;
  }

  .za-mobile-splash.is-leaving .za-mobile-splash__logo {
    transform:scale(1.03);
    transition:transform .34s ease;
  }
}

@keyframes zaSplashLogoIn {
  from {
    opacity:0;
    transform:translateY(16px) scale(.96);
  }
  to {
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes zaSplashButtonIn {
  from {
    opacity:0;
    transform:translateY(14px);
  }
  to {
    opacity:1;
    transform:translateY(0);
  }
}


/* Zálesáci 4.1 – databázové stavy, galerie a recenze */
.za-button:disabled,.za-chip:disabled{opacity:.65;cursor:wait;pointer-events:none}
.za-spinner{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;vertical-align:-2px;animation:za-spin .75s linear infinite}
@keyframes za-spin{to{transform:rotate(360deg)}}
.za-detail-actions{display:flex;gap:10px;flex-wrap:wrap;padding:14px 20px;background:#f7f1e2;border-bottom:1px solid rgba(48,62,40,.12)}
.za-review-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.za-detail__hero-button{display:block;width:100%;padding:0;border:0;cursor:pointer;position:relative;background:#17251c}
.za-gallery-hint{position:absolute;left:18px;bottom:16px;background:rgba(13,29,20,.8);color:#fff;border-radius:999px;padding:8px 13px;font-weight:700}
.za-review-list{display:grid;gap:12px;margin-top:18px}
.za-review-item{background:#fffaf0;border:1px solid rgba(48,62,40,.14);border-radius:12px;padding:15px}
.za-review-item>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.za-review-item p{white-space:pre-wrap;margin:10px 0}.za-review-item small{color:#687066}
.za-gallery{position:fixed;inset:0;background:rgba(4,12,8,.96);display:grid;place-items:center;z-index:100000;padding:48px 70px}
.za-gallery img{max-width:100%;max-height:calc(100vh - 96px);object-fit:contain}
.za-gallery__close,.za-gallery__arrow{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;border-radius:50%}
.za-gallery__close{right:20px;top:18px;width:44px;height:44px;font-size:31px}.za-gallery__arrow{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:42px;line-height:1}.za-gallery__arrow--prev{left:16px}.za-gallery__arrow--next{right:16px}.za-gallery__count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;background:rgba(0,0,0,.5);padding:7px 14px;border-radius:999px;font-weight:700}
@media(max-width:760px){.za-detail-actions{padding:11px 12px}.za-detail-actions>*{flex:1}.za-gallery{padding:58px 8px 70px}.za-gallery__arrow{top:auto;bottom:12px;transform:none;width:44px;height:44px}.za-gallery__arrow--prev{left:14px}.za-gallery__arrow--next{right:14px}.za-gallery__count{bottom:20px}.za-gallery-hint{left:10px;bottom:10px;font-size:12px}}

/* Zálesáci 4.2 – moderní kreslené ikony vybavení */
.za-features{display:flex;flex-wrap:wrap;gap:10px;letter-spacing:0!important;align-items:center}
.za-feature-badge{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 12px;border:1px solid rgba(37,75,53,.18);border-radius:12px;background:rgba(255,250,240,.82);color:#244f38;font-size:14px;font-weight:700;box-shadow:0 3px 12px rgba(50,65,45,.05)}
.za-feature-badge__icon{width:27px;height:27px;display:grid;place-items:center;flex:0 0 27px}
.za-feature-badge__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.za-camp-card .za-feature-badge{width:34px;height:34px;min-height:34px;padding:5px;justify-content:center;border-radius:10px;background:#eef1e3}
.za-camp-card .za-feature-badge__icon{width:23px;height:23px;flex-basis:23px}
.za-camp-card .za-feature-badge__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.za-detail__body>.za-features{margin-top:10px}
@media(max-width:760px){.za-feature-badge{min-height:40px;padding:7px 10px;font-size:13px}.za-feature-badge__icon{width:25px;height:25px;flex-basis:25px}.za-detail__body>.za-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.za-detail__body>.za-features .za-feature-badge{width:100%}}
