/*!
 * Šumava servis – šablona pro Joomla 5/6
 * Barvy, písmo a rozvržení podle schváleného HTML prototypu.
 */

/* ---------- Písmo (hostované lokálně, OFL) ---------- */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/plus-jakarta-sans-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/plus-jakarta-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/plus-jakarta-sans-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/plus-jakarta-sans-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/plus-jakarta-sans-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/plus-jakarta-sans-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/plus-jakarta-sans-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/plus-jakarta-sans-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:800;src:url(../fonts/plus-jakarta-sans-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:800;src:url(../fonts/plus-jakarta-sans-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Tokeny ---------- */
:root{
  --bg:#F5F6F1; --surface:#FFFFFF; --soft:#E6EEE7; --line:#DCE3DC; --line-strong:#C9D5CB;
  --fg:#1C2620; --muted:#4F5C54; --primary:#2E5A44; --primary-hover:#244A37; --primary-ink:#FFFFFF;
  --deep:#1F3F30; --deep-fg:#FFFFFF; --deep-muted:#D5E3D9; --deep-accent:#B9D3C1; --deep-card:rgba(255,255,255,.07);
  --wood:#8A5424; --footer:#16301F; --footer-muted:#C3D6C9; --footer-accent:#9FC2AA;
  --ph:#D7E2D9; --ph-fg:#3E5547; --shadow:rgba(28,38,32,.14); --error:#A3352B;
  --font:'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --radius-lg:28px; --radius:22px; --radius-sm:14px;
  --gutter:max(20px, env(safe-area-inset-left, 0px));
  color-scheme:light;
}
/* Tmavý režim – jen pokud je zapnutý v parametrech šablony */
@media (prefers-color-scheme: dark){
  html.ss-dark-auto{
    --bg:#111915; --surface:#18221C; --soft:#21322A; --line:#2B3A31; --line-strong:#3A4C41;
    --fg:#E7EEE9; --muted:#A8B6AD; --primary:#7DBB96; --primary-hover:#93CAA8; --primary-ink:#0E1A13;
    --deep:#0D2018; --deep-fg:#EEF4F0; --deep-muted:#B6C9BC; --deep-accent:#9CC4AA; --deep-card:rgba(255,255,255,.05);
    --wood:#D9A06B; --footer:#0A1510; --footer-muted:#AFC4B6; --footer-accent:#8FB89C;
    --ph:#22342A; --ph-fg:#A9C2B1; --shadow:rgba(0,0,0,.45); --error:#F08C80;
    color-scheme:dark;
  }
}

/* ---------- Základ ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--primary)}
a:hover{color:var(--primary-hover)}
:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{margin:0;text-wrap:balance;letter-spacing:-.015em;line-height:1.2}
h1{font-size:clamp(38px,5.2vw,60px);line-height:1.08;font-weight:800}
h2{font-size:clamp(30px,3.6vw,44px);line-height:1.15;font-weight:800}
h3{font-size:22px;line-height:1.3;font-weight:800}
p{margin:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--primary);color:var(--primary-ink);padding:12px 18px;border-radius:10px;font-weight:700;text-decoration:none}
.skip-link:focus{top:12px;color:var(--primary-ink)}
[hidden]{display:none!important}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.wrap{max-width:1240px;margin:0 auto;padding-left:var(--gutter);padding-right:max(20px, env(safe-area-inset-right, 0px))}
.band{padding-block:96px}
.band--white{background:var(--surface)}
.band--soft{background:var(--soft)}
.band--deep{background:var(--deep);color:var(--deep-fg)}
.band--tight{padding-block:56px}
.stack{display:flex;flex-direction:column;gap:16px}
.intro{display:flex;flex-direction:column;gap:14px;max-width:740px;margin-bottom:48px}
.intro--center{margin-inline:auto;text-align:center;align-items:center}
.eyebrow{font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}
.band--deep .eyebrow{color:var(--deep-accent)}
.lead{font-size:19px;color:var(--muted)}
.band--deep .lead{color:var(--deep-muted)}
.split{display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.split > *{flex:1 1 440px;min-width:0}
.split--top{align-items:flex-start}
.grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
.grid--4{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:20px}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:40px}
.list-reset{list-style:none;margin:0;padding:0}

/* ---------- Tlačítka ---------- */
.btn,.form-card button[type=submit],.form-card input[type=submit],.form-card .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 28px;border-radius:var(--radius-sm);font:700 18px/1.2 var(--font);text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:background .15s,border-color .15s}
.btn--primary,.form-card button[type=submit],.form-card input[type=submit],.form-card .btn-primary{background:var(--primary);color:var(--primary-ink)}
.btn--primary:hover,.form-card button[type=submit]:hover,.form-card .btn-primary:hover{background:var(--primary-hover);color:var(--primary-ink)}
.btn--ghost{background:var(--surface);color:var(--fg);border-color:var(--line-strong)}
.btn--ghost:hover{border-color:var(--primary);color:var(--fg)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;padding-block:8px}
.link-arrow::after{content:"→";transition:transform .15s}
.link-arrow:hover::after{transform:translateX(4px)}

/* ---------- Ikony (CSS maska – fungují i v editoru obsahu) ---------- */
.ico{display:inline-block;width:34px;height:34px;flex-shrink:0;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;color:var(--primary)}
.card--deep .ico{color:var(--deep-fg)}
.icon-tile{width:64px;height:64px;border-radius:18px;background:var(--primary);color:var(--primary-ink);display:flex;align-items:center;justify-content:center}
.icon-tile .ico{color:var(--primary-ink);width:32px;height:32px}
.icon-tile--wood{background:var(--wood)}
.ico--house{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7v9a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E")}
.ico--spark{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.8 4.7 4.7 1.8-4.7 1.8L12 16l-1.8-4.7-4.7-1.8 4.7-1.8z'/%3E%3Cpath d='M18.5 15l.8 2 2 .8-2 .8-.8 2-.8-2-2-.8 2-.8z'/%3E%3C/svg%3E")}
.ico--tree{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l6 9h-3l4 6H5l4-6H6z'/%3E%3Cpath d='M12 17v5'/%3E%3C/svg%3E")}
.ico--fence{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V9l4-4 4 4v12M12 21V9l4-4 4 4v12M2 13h20M2 18h20'/%3E%3C/svg%3E")}
.ico--pin{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}
.ico--camera{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-3h6l2 3h3v11H4z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E")}
.ico--user{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-6 8-6s8 2 8 6'/%3E%3C/svg%3E")}
.ico--shield{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E")}
.ico--flame{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c2 3 5 5 5 9a5 5 0 0 1-10 0c0-2 1-3.5 2-4.5 0 2 1 3 2 3 0-3 0-5 1-7.5z'/%3E%3C/svg%3E")}
.ico--tool{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2.4-.6-.6-2.4z'/%3E%3C/svg%3E")}
.ico--snow{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20M4.9 7l14.2 10M4.9 17L19.1 7'/%3E%3C/svg%3E")}
.ico--key{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15' r='4'/%3E%3Cpath d='M11 12l9-9M17 6l3 3M15 8l2 2'/%3E%3C/svg%3E")}
.ico--phone{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3l2 5-2.5 1.5a11 11 0 0 0 6 6L15 14l5 2v3a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E")}
.ico--mail{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E")}
.ico--clock{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}

/* ---------- Seznam s fajfkami ---------- */
.checks{display:flex;flex-direction:column;gap:10px;font-size:17px;list-style:none;margin:0;padding:0}
.checks li{display:flex;gap:12px;align-items:flex-start}
.checks li::before{content:"";width:22px;height:22px;margin-top:3px;flex-shrink:0;background:var(--primary);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/contain no-repeat}
.card--deep .checks li::before{background:var(--deep-accent)}
.checks--grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px 28px;font-size:18px}

/* ---------- Karty ---------- */
.card{background:var(--surface);border-radius:var(--radius);padding:32px;display:flex;flex-direction:column;gap:14px}
.band--white .card{background:var(--bg)}
.card p{color:var(--muted);font-size:17px}
.card--deep,.band--white .card--deep{background:var(--deep);color:var(--deep-fg)}
.card--deep p{color:var(--deep-muted)}
.card--outline,.band--white .card--outline{background:var(--surface);border:1.5px solid var(--line)}
.card--link{text-decoration:none;color:var(--fg);transition:border-color .15s,transform .15s,box-shadow .15s}
.card--link:hover{border-color:var(--primary);color:var(--fg);transform:translateY(-2px);box-shadow:0 10px 28px var(--shadow)}
.card .more{margin-top:auto;font-weight:700;color:var(--primary)}
.card h3.big{font-size:26px}
.tag{font-size:15px;font-weight:700;color:var(--wood)}
.card--deep .tag{color:var(--deep-accent)}
.pill{display:inline-flex;align-self:flex-start;background:var(--deep-fg);color:var(--deep);font-size:14px;font-weight:800;padding:6px 12px;border-radius:999px}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.badge{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;background:var(--soft);color:var(--fg);font-size:15px;font-weight:700;padding:8px 16px;border-radius:999px}

/* ---------- Horní lišta a hlavička ---------- */
.topbar{background:var(--deep);color:var(--deep-fg);font-size:15px}
.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 24px;padding-block:9px}
.topbar span{color:var(--deep-muted)}
.topbar a{color:var(--deep-fg);text-decoration:none;font-weight:700;display:inline-flex;align-items:center;gap:8px}
.topbar .right{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:center}
.site-header{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--line)}
.admin-bar .site-header{top:0}
.site-header > .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--fg)}
.logo:hover{color:var(--fg)}
.logo-img{max-height:56px;width:auto}
.logo-mark{width:46px;height:46px;border-radius:14px 14px 14px 4px;background:var(--primary);color:var(--primary-ink);display:flex;align-items:center;justify-content:center}
.logo-text{display:flex;flex-direction:column;line-height:1.2;white-space:nowrap}
.logo-text b{font-size:22px;font-weight:800;letter-spacing:-.02em}
.logo-text em{font-style:normal;font-weight:500;color:var(--primary)}
.logo-text small{font-size:14px;color:var(--muted);font-weight:600}
.header-cta{min-height:52px;padding:0 22px;font-size:17px;white-space:nowrap}

/* Menu (mod_menu) */
.nav ul{list-style:none;margin:0;padding:0}
.nav > ul,.nav .mod-menu{display:flex;gap:4px;align-items:center}
.nav li{position:relative}
.nav a,.nav .nav-header,.nav .separator{display:block;padding:12px 14px;border-radius:12px;font-size:17px;font-weight:600;text-decoration:none;color:var(--fg);white-space:nowrap}
.nav a:hover{background:var(--soft);color:var(--fg)}
.nav li.current > a,.nav li.active > a,.nav a[aria-current]{background:var(--soft);font-weight:700}
.nav li ul{display:none;position:absolute;top:100%;left:0;min-width:240px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 12px 32px var(--shadow);z-index:5}
.nav li:hover > ul,.nav li:focus-within > ul{display:block}
.nav li ul a{white-space:normal}
.menu-btn{display:none;width:52px;height:52px;border-radius:12px;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--fg);align-items:center;justify-content:center;cursor:pointer}
@media (max-width:1240px){
  .site-header > .wrap{flex-wrap:wrap}
  .header-cta{display:none}
  .menu-btn{display:inline-flex}
  .nav{display:none;flex-basis:100%;border-top:1px solid var(--line);padding-top:10px}
  .site-header.nav-open .nav{display:block}
  .nav > ul,.nav .mod-menu{flex-direction:column;align-items:stretch}
  .nav a,.nav .nav-header,.nav .separator{font-size:19px;font-weight:700;padding:15px 14px;white-space:normal}
  .nav li ul{display:block;position:static;box-shadow:none;border:0;padding:0 0 0 16px;min-width:0;background:transparent}
}

/* ---------- Úvodní banner ---------- */
.hero{padding-block:64px 88px}
.hero-text{display:flex;flex-direction:column;gap:26px}
.hero-text .sub{font-size:21px;color:var(--muted);max-width:560px}
.trust{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:16px;font-weight:600;color:var(--muted);list-style:none;margin:0;padding:0}
.trust li{display:inline-flex;align-items:center;gap:8px}
.hero--photo{position:relative;overflow:hidden;isolation:isolate;background:#1F3F30;color:#FFFFFF;padding-block:112px 64px}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:62% 58%;z-index:-2}
.hero--photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,32,23,.9) 0%,rgba(13,32,23,.74) 36%,rgba(13,32,23,.2) 66%,rgba(13,32,23,0) 100%),linear-gradient(0deg,rgba(13,32,23,.5) 0%,rgba(13,32,23,0) 38%)}
.hero-photo-inner{display:flex;flex-direction:column;justify-content:space-between;gap:64px;min-height:600px}
.hero--photo .hero-text{max-width:640px}
.hero--photo h1{color:#FFFFFF;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.hero--photo .hero-text .sub{color:rgba(255,255,255,.9)}
.hero--photo .badge{background:rgba(255,255,255,.16);color:#FFFFFF;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hero--photo .trust{color:rgba(255,255,255,.92)}
.hero--photo .trust svg{color:#A7D9B7}
.hero--photo .btn--primary{background:#FFFFFF;color:#1F3F30}
.hero--photo .btn--primary:hover{background:#E6EEE7;color:#1F3F30}
.hero--photo .btn--ghost{background:rgba(255,255,255,.08);color:#FFFFFF;border-color:rgba(255,255,255,.65);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hero--photo .btn--ghost:hover{border-color:#FFFFFF;color:#FFFFFF;background:rgba(255,255,255,.16)}
.hero--photo :focus-visible{outline-color:#FFFFFF}
.hero-aside{display:flex;justify-content:flex-end}
.float-card{max-width:380px;background:var(--surface);border-radius:18px;padding:16px 20px;box-shadow:0 12px 32px var(--shadow);display:flex;gap:14px;align-items:center;font-size:15px;line-height:1.45}
.float-card .ic{width:48px;height:48px;border-radius:12px;background:var(--soft);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.float-card b{display:block;color:var(--fg)}
.float-card span{color:var(--muted)}

/* Úvod podstránky (v obsahu článku) */
.page-hero{padding-block:48px 88px}
.page-hero .claim{font-size:22px;line-height:1.5;font-weight:700;color:var(--primary)}
.page-hero .sub{font-size:19px;color:var(--muted)}
.photo-ph{aspect-ratio:1/1;max-height:480px;width:100%;max-width:100%;border-radius:var(--radius-lg);background:var(--ph);color:var(--ph-fg);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;padding:24px}
.photo{width:100%;max-width:100%;aspect-ratio:1/1;max-height:520px;object-fit:cover;border-radius:var(--radius-lg)}

/* Drobečková navigace (mod_breadcrumbs) */
.crumbs-bar{padding-top:28px}
.crumbs-bar ol,.crumbs-bar .breadcrumb{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0!important;font-size:15px;color:var(--muted);background:none}
.crumbs-bar .mod-breadcrumbs__here{display:none}
.crumbs-bar .breadcrumb-item + .breadcrumb-item::before{content:"/";margin-right:8px;color:var(--muted)}
.crumbs-bar a{color:var(--muted)}
.crumbs-bar .active,.crumbs-bar [aria-current]{color:var(--fg);font-weight:600}

/* ---------- Proces ---------- */
.step{background:var(--deep-card);border-radius:var(--radius);padding:30px;display:flex;flex-direction:column;gap:12px}
.step-num{width:52px;height:52px;border-radius:50%;background:var(--deep-fg);color:var(--deep);font-weight:800;font-size:22px;display:flex;align-items:center;justify-content:center}
.step h3{font-size:21px}
.step .note{font-size:15px;font-weight:700;color:var(--deep-accent)}
.step p{color:var(--deep-muted);font-size:17px}
.numbered{font-size:34px;font-weight:800;color:var(--primary);line-height:1}

/* ---------- Štítky, mapa ---------- */
.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.chip,.chips li{background:var(--soft);color:var(--fg);font-weight:700;font-size:16px;padding:10px 16px;border-radius:999px}
.chip--dash{background:transparent!important;color:var(--muted)!important;font-weight:600!important;border:1.5px dashed var(--line-strong)}
.map-box{background:var(--bg);border-radius:var(--radius-lg);padding:20px}
.band--soft .map-box,.card .map-box{background:var(--surface)}
.band--white .card .map-box{background:var(--surface)}
.map-box img{display:block;width:100%}

/* ---------- FAQ (details/summary) ---------- */
.faq{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq details{background:var(--surface);border:1.5px solid var(--line);border-radius:18px}
.band--white .faq details{background:var(--bg)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;font-size:19px;font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:40px;height:40px;border-radius:50%;flex-shrink:0;background:var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E5A44' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/18px 18px no-repeat;transition:transform .2s,background-color .2s}
.faq summary:hover::after,.faq details[open] summary::after{background:var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/18px 18px no-repeat}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details > :not(summary){padding:0 26px 24px;color:var(--muted);font-size:17px;line-height:1.65;margin:0}

/* ---------- Balíčky ---------- */
.pkg{position:relative;border:1.5px solid var(--line);border-radius:24px;padding:36px;display:flex;flex-direction:column;gap:18px;background:var(--surface)}
.pkg--featured{border:2px solid var(--primary);background:var(--bg)}
.pkg .flag{position:absolute;top:-16px;left:36px;background:var(--primary);color:var(--primary-ink);font-size:14px;font-weight:800;padding:6px 14px;border-radius:999px}
.pkg .name{font-size:24px;font-weight:800}
.pkg .desc{color:var(--muted);font-size:17px}
.pkg .price{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums}
.pkg .price small{font-size:17px;font-weight:600;color:var(--muted)}
.pkg .btn{margin-top:auto;width:100%}
.pkgs{row-gap:36px;align-items:stretch}
.season{border-top:6px solid var(--s,#2E5A44)}
.season--spring{--s:#7FA88C}.season--summer{--s:#2E5A44}.season--autumn{--s:#B5763A}.season--winter{--s:#6E8796}
.gallery figure{margin:0;display:flex;flex-direction:column;gap:10px}
.gallery img,.gallery .ph{aspect-ratio:4/3;width:100%;max-width:100%;object-fit:cover;border-radius:20px;background:var(--ph);color:var(--ph-fg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}
.gallery figcaption{font-size:17px}
.callout{background:var(--soft);border-radius:24px;padding:30px 34px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;margin-top:24px}
.callout > div{flex:1 1 380px;min-width:0}
.callout strong{display:block;font-size:22px;font-weight:800}
.callout span{color:var(--muted);font-size:17px}

/* ---------- Kontakt ---------- */
.contact-card{border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:10px;background:var(--surface);text-decoration:none;color:var(--fg)}
.contact-card:hover{color:var(--fg)}
.contact-card small{font-size:16px;color:var(--muted);font-weight:600}
.contact-card strong{font-size:24px;font-weight:800;overflow-wrap:anywhere}
.contact-card--main{background:var(--primary);color:var(--primary-ink)}
.contact-card--main:hover{color:var(--primary-ink);background:var(--primary-hover)}
.contact-card--main small{color:var(--primary-ink);opacity:.85}
.contact-card--main .ico{color:var(--primary-ink)}
.contact-card--main strong{font-size:28px}
dl.facts{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 20px;font-size:17px}
dl.facts dt{color:var(--muted)}
dl.facts dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere}

/* ---------- Poptávka a formuláře ---------- */
.lead-intro{gap:20px}
.form-card{background:var(--surface);border-radius:var(--radius-lg);padding:40px;box-shadow:0 10px 30px var(--shadow)}
.form-card form{display:flex;flex-direction:column;gap:22px}
.form-card label,.form-card legend{font-weight:700;font-size:17px}
.form-card input[type=text],.form-card input[type=email],.form-card input[type=tel],.form-card input[type=number],.form-card select,.form-card textarea,
.component input[type=text],.component input[type=email],.component input[type=tel],.component input[type=password],.component input[type=search],.component select,.component textarea{min-height:58px;border:1.5px solid var(--line-strong);border-radius:12px;padding:14px 16px;font:400 18px/1.4 var(--font);color:var(--fg);background:var(--surface);width:100%}
.form-card textarea,.component textarea{min-height:110px;resize:vertical}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus,.component input:focus,.component textarea:focus,.component select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--soft)}
.form-card input[type=checkbox],.form-card input[type=radio]{width:22px;height:22px;accent-color:var(--primary)}
.form-card button[type=submit],.form-card input[type=submit]{width:100%;min-height:62px;font-size:19px}
.form-card fieldset{border:0;margin:0;padding:0;min-width:0}
/* Ukázkový formulář šablony (třída ss-form) */
.ss-form .row-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:20px}
.ss-form .field{display:flex;flex-direction:column;gap:8px}
.ss-form .field small{font-weight:500;color:var(--muted);font-size:15px}
.ss-form .field.invalid input{border-color:var(--error)}
.ss-form .err{color:var(--error);font-size:15px;font-weight:600;display:none}
.ss-form .field.invalid .err,.ss-form .consent.invalid .err{display:block}
.ss-form .svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:10px}
.ss-form .svc label{position:relative;display:flex;align-items:center;gap:10px;min-height:58px;padding:12px 16px;border:1.5px solid var(--line-strong);border-radius:12px;font-size:17px;font-weight:600;cursor:pointer;background:var(--surface)}
.ss-form .svc input{position:absolute;opacity:0;pointer-events:none}
.ss-form .svc label:has(input:checked){border:2px solid var(--primary);background:var(--soft);font-weight:700}
.ss-form .svc label:has(input:focus-visible){outline:3px solid var(--primary);outline-offset:2px}
.ss-form .svc label::before{content:"";width:20px;height:20px;border-radius:50%;border:2px solid var(--line-strong);flex-shrink:0;box-sizing:border-box}
.ss-form .svc label:has(input:checked)::before{border:6px solid var(--primary);background:var(--primary-ink)}
.ss-form .consent label{display:flex;gap:12px;align-items:flex-start;font-size:15px;font-weight:500;color:var(--muted);line-height:1.5;cursor:pointer}
.ss-form .note{font-size:14px;color:var(--muted);text-align:center}
.ss-thanks{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:40px 0}
.ss-thanks strong{font-size:28px;font-weight:800}
.ss-thanks p{color:var(--muted);max-width:420px}
.phone-card{background:var(--surface);border-radius:20px;padding:22px 24px;display:flex;gap:16px;align-items:center}
.phone-card .ic{width:56px;height:56px;border-radius:50%;background:var(--primary);color:var(--primary-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.phone-card small{display:block;font-size:16px;color:var(--muted)}
.phone-card a{font-size:26px;font-weight:800;color:var(--fg);text-decoration:none;font-variant-numeric:tabular-nums}

/* ---------- Běžné stránky (články, kategorie) ---------- */
.component{padding-block:48px 96px}
.component--landing{padding:0}
.component--landing .com-content-article > .page-header,.component--landing .item-page > .page-header{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.component .page-header{margin-bottom:28px}
.component .page-header h1,.component .page-header h2{font-size:clamp(34px,4.4vw,52px)}
.component:not(.component--landing) .com-content-article__body,.component:not(.component--landing) [itemprop="articleBody"]{max-width:760px}
.component:not(.component--landing) [itemprop="articleBody"] > * + *{margin-top:18px}
.component:not(.component--landing) [itemprop="articleBody"] h2{font-size:32px;margin-top:40px}
.component:not(.component--landing) [itemprop="articleBody"] h3{margin-top:28px}
.component table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}
.component th,.component td{border-bottom:1px solid var(--line);padding:12px;text-align:left}
.component .article-info,.component .com-content-article__info{font-size:15px;color:var(--muted);margin-bottom:20px}
.component .pagination{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:32px 0 0}
.component .pagination a,.component .pagination span{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;border-radius:10px;border:1.5px solid var(--line-strong);text-decoration:none;padding:0 12px}
.component .pagination .active span,.component .pagination .active a{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}
.component .btn-primary,.component button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:12px;background:var(--primary);color:var(--primary-ink);border:0;font:700 17px/1 var(--font);cursor:pointer}

/* ---------- Patička ---------- */
.site-footer{background:var(--footer);color:#FFFFFF;font-size:17px}
.site-footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:40px;padding-block:72px 40px}
.site-footer .footer-title{margin:0 0 6px;font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--footer-accent)}
.site-footer .col{display:flex;flex-direction:column;gap:10px}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.site-footer a{color:#FFFFFF;text-decoration:none}
.site-footer a:hover{text-decoration:underline;color:#FFFFFF}
.site-footer p,.site-footer .muted{color:var(--footer-muted)}
.site-footer .brand{font-size:22px;font-weight:800}
.site-footer .brand em{font-style:normal;font-weight:500;color:var(--footer-accent)}
.site-footer .footer-phone{font-weight:700;font-size:20px}
.site-footer .insured{display:inline-flex;gap:8px;align-items:center;font-weight:600}
.site-footer .bottom{border-top:1px solid rgba(255,255,255,.12)}
.site-footer .bottom .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:20px;font-size:15px;color:var(--footer-muted)}
.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:8px 20px}
.site-footer .footer-links a{color:var(--footer-muted)}

/* ---------- Mobil ---------- */
.callbar{display:none}
@media (max-width:760px){
  body{font-size:17px}
  .band{padding-block:64px}
  .hero{padding-block:36px 64px}
  .page-hero{padding-block:28px 56px}
  .form-card{padding:24px}
  .card,.pkg{padding:26px}
  .topbar .topbar-text{display:none}
  .hero--photo{padding-block:48px 32px}
  .hero--photo::before{background:linear-gradient(180deg,rgba(13,32,23,.84) 0%,rgba(13,32,23,.66) 55%,rgba(13,32,23,.88) 100%)}
  .hero-bg{object-position:65% 50%}
  .hero-photo-inner{min-height:0;gap:36px}
  .hero-aside{justify-content:flex-start}
  .callbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--surface);border-top:1px solid var(--line);padding:10px max(14px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));box-shadow:0 -6px 20px var(--shadow)}
  .callbar .btn{min-height:54px;padding:0 12px;font-size:17px}
  .site-footer{padding-bottom:84px}
}

/* ---------- Tisk ---------- */
@media print{
  .topbar,.site-header,.callbar,.lead-section,.site-footer .bottom{display:none!important}
  .hero--photo{color:#000;background:none}.hero--photo::before,.hero-bg{display:none}
  .hero--photo h1,.hero--photo .sub{color:#000;text-shadow:none}
}
/* Kotvy (#poptavka, #balicky…) se nezasunou pod lepicí hlavičku */
[id]{scroll-margin-top:96px}
/* Menu v patičce (mod_menu má třídu .nav – zrušíme styly hlavního menu) */
.site-footer .nav a{display:inline;padding:0;border-radius:0;background:none;font-size:inherit;font-weight:500;color:#FFFFFF;white-space:normal}
.site-footer .nav a:hover{background:none;color:#FFFFFF;text-decoration:underline}
.site-footer .nav li.current > a,.site-footer .nav li.active > a,.site-footer .nav a[aria-current]{background:none;font-weight:700}
