/* Sady Životice — design systém (přepis z Lovable předlohy do čistého CSS) */
:root{
  --radius:0.25rem;
  --background:oklch(0.995 0.004 100);
  --foreground:oklch(0.22 0.02 150);
  --card:oklch(1 0 0);
  --primary:oklch(0.45 0.088 148);
  --primary-foreground:oklch(0.99 0.005 120);
  --muted:oklch(0.968 0.008 120);
  --muted-foreground:oklch(0.52 0.018 140);
  --border:oklch(0.915 0.01 130);
  --input:oklch(0.9 0.01 130);
  --ring:oklch(0.45 0.088 148);
  --cream:oklch(0.972 0.014 95);
  --band:oklch(0.952 0.024 92);   /* zřetelný pás za bloky článku */
  --leaf:oklch(0.45 0.088 148);
  --leaf-soft:oklch(0.72 0.07 150);
  --apple:oklch(0.55 0.19 27);
  --bark:oklch(0.35 0.03 70);
  --font-display:"Montserrat",ui-sans-serif,system-ui,sans-serif;
  --font-sans:"Inter",ui-sans-serif,system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.font-display{font-family:var(--font-display);letter-spacing:-.02em;line-height:1.1;font-weight:600}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--leaf);color:var(--primary-foreground)}

.container{width:100%;max-width:1400px;margin-inline:auto;padding-inline:1.25rem}
@media(min-width:1024px){.container{padding-inline:2.5rem}}
.section{padding-block:5rem}
@media(min-width:768px){.section{padding-block:7rem}}

.eyebrow{font-family:var(--font-display);font-size:.6875rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--leaf)}
.muted{color:var(--muted-foreground)}
.rule-top{border-top:1px solid var(--border)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:.9rem 1.75rem;transition:opacity .2s,background .2s,color .2s,border-color .2s;cursor:pointer;border:1px solid transparent}
.btn-primary{background:var(--primary);color:var(--primary-foreground)}
.btn-primary:hover{opacity:.9}
.btn-onlight{background:var(--primary-foreground);color:var(--foreground)}
.btn-onlight:hover{opacity:.9}
.btn-ghost-light{border-color:oklch(1 0 0 / .6);color:var(--primary-foreground)}
.btn-ghost-light:hover{background:oklch(1 0 0 / .1)}
.btn-outline{border-color:var(--border);color:var(--foreground)}
.btn-outline:hover{border-color:var(--primary);color:var(--primary)}
.btn-onfg{background:var(--background);color:var(--foreground)}
.btn-onfg:hover{opacity:.9}

.link-underline{position:relative;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .35s ease}
.link-underline:hover{background-size:100% 1px}
.link-more{font-family:var(--font-display);font-size:.875rem;font-weight:500;color:var(--primary)}

.img-zoom{overflow:hidden}
.img-zoom img{transition:transform .7s cubic-bezier(.22,1,.36,1);width:100%;height:100%;object-fit:cover}
.img-zoom:hover img{transform:scale(1.045)}
.rounded{border-radius:var(--radius)}
.aspect-45{aspect-ratio:4/5}
.aspect-43{aspect-ratio:4/3}
.aspect-1{aspect-ratio:1/1}

/* section heading */
.sec-eyebrow{display:block}
.sec-title{font-size:1.9rem;font-weight:600;margin-top:.75rem;max-width:20ch}
@media(min-width:768px){.sec-title{font-size:2.6rem}}
.sec-lead{margin-top:1rem;max-width:52ch;color:var(--muted-foreground);font-size:1.02rem;line-height:1.7}

/* ===== Header ===== */
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid oklch(0.915 0.01 130 / .7);background:oklch(0.995 0.004 100 / .85);backdrop-filter:blur(12px)}
.site-header .bar{max-width:1400px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:4.5rem;padding:0 1.25rem}
@media(min-width:1024px){.site-header .bar{padding:0 2.5rem}}
.logo{display:flex;align-items:center;gap:.75rem}
.logo .word{font-family:var(--font-display);font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em}
.logo .mark{display:grid;place-items:center;height:2rem;width:2rem;border-radius:50%;background:oklch(0.45 0.088 148 / .1)}
.logo .mark svg{height:1.25rem;width:1.25rem;color:var(--primary)}
.mainnav{display:none;align-items:center;gap:1.5rem}
@media(min-width:1200px){.mainnav{display:flex}}
.mainnav a{font-family:var(--font-display);font-size:.8rem;font-weight:500;letter-spacing:.02em;color:var(--muted-foreground);transition:color .2s}
.mainnav a:hover,.mainnav a.active{color:var(--foreground)}
.head-cta{display:none;align-items:center;gap:1rem}
@media(min-width:1024px){.head-cta{display:flex}}
.head-cta .phone{font-family:var(--font-display);font-size:.8rem;font-weight:500;color:var(--muted-foreground)}
.head-cta .phone:hover{color:var(--foreground)}
.btn-sm{padding:.6rem 1.2rem;font-size:.78rem}
.burger{display:grid;place-items:center;height:2.5rem;width:2.5rem;border:1px solid var(--border);border-radius:50%;background:none;cursor:pointer}
@media(min-width:1200px){.burger{display:none}}
.mobilenav{display:none;border-top:1px solid var(--border);background:var(--background)}
.mobilenav.open{display:block}
.mobilenav nav{max-width:1400px;margin-inline:auto;display:flex;flex-direction:column;padding:.25rem 1.25rem}
.mobilenav a{border-bottom:1px solid oklch(0.915 0.01 130 / .6);padding:.75rem 0;font-family:var(--font-display);font-size:.9rem}
.mobilenav a:last-child{border-bottom:0}

/* ===== Hero ===== */
.hero{position:relative}
.hero-media{position:relative;height:78svh;min-height:520px;width:100%;overflow:hidden}
.hero-media img,.hero-media video{height:100%;width:100%;object-fit:cover}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(to top,oklch(0.22 0.02 150 / .7),oklch(0.22 0.02 150 / .25),transparent)}
.hero-content{position:absolute;inset-inline:0;bottom:0}
.hero-inner{padding-bottom:3.5rem}
@media(min-width:768px){.hero-inner{padding-bottom:5rem}}
.hero-kicker{font-family:var(--font-display);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.24em;color:oklch(0.99 0.005 120 / .85)}
.hero h1{margin-top:1rem;max-width:48rem;font-size:2.25rem;font-weight:600;line-height:1.02;color:var(--primary-foreground)}
@media(min-width:768px){.hero h1{font-size:4.5rem}}
.hero-actions{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.75rem}

/* ===== Stats ===== */
.stats{border-bottom:1px solid var(--border)}
.stats dl{display:grid;grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){.stats dl{grid-template-columns:repeat(5,1fr)}}
.stats .cell{border-bottom:1px solid var(--border);padding:2rem .25rem}
@media(min-width:768px){.stats .cell{border-bottom:0;border-left:1px solid var(--border);padding:2rem 1.5rem}.stats .cell:first-child{border-left:0}}
.stats .v{display:block;font-family:var(--font-display);font-size:1.875rem;font-weight:600;letter-spacing:-.02em}
@media(min-width:768px){.stats .v{font-size:2.25rem}}
.stats .l{display:block;margin-top:.5rem;font-size:.875rem;line-height:1.35;color:var(--muted-foreground)}

/* ===== grids ===== */
.grid-4{display:grid;gap:3rem 1.5rem;grid-template-columns:1fr}
@media(min-width:640px){.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}
.head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem}

/* variety / product card */
.v-card .season{margin-top:1rem;font-family:var(--font-display);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--primary)}
.v-card h3{margin-top:.25rem;font-family:var(--font-display);font-size:1.125rem;font-weight:600}
.v-card p{margin-top:.5rem;font-size:.875rem;line-height:1.6;color:var(--muted-foreground)}
.v-card .ph{background:var(--cream)}

/* ===== Catalog ===== */
.cat-bg{background:oklch(0.972 0.014 95 / .4);padding-block:5rem}
@media(min-width:768px){.cat-bg{padding-block:7rem}}
.cat-toolbar{display:flex;flex-direction:column;gap:1rem;border-bottom:1px solid var(--border);padding-bottom:1.5rem}
@media(min-width:1024px){.cat-toolbar{flex-direction:row;align-items:center;justify-content:space-between}}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{border:1px solid var(--border);border-radius:999px;padding:.5rem 1rem;font-family:var(--font-display);font-size:.75rem;font-weight:500;letter-spacing:.02em;color:var(--muted-foreground);background:none;cursor:pointer;transition:.2s}
.chip:hover{border-color:var(--primary);color:var(--primary)}
.chip.active{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}
.cat-search{width:100%}
@media(min-width:1024px){.cat-search{width:18rem}}
.cat-search input{width:100%;border:1px solid var(--input);border-radius:999px;background:var(--background);padding:.65rem 1rem;font-size:.875rem;font-family:var(--font-sans);outline:none}
.cat-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px oklch(0.45 0.088 148 / .25)}
.cat-count{margin-top:1.5rem;font-size:.875rem;color:var(--muted-foreground)}
/* Na mobilu dvě karty vedle sebe — ušetří to hodně rolování */
.p-grid{margin-top:2rem;display:grid;gap:2.25rem 1rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.p-grid{gap:3rem 1.5rem;grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.p-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1280px){.p-grid{grid-template-columns:repeat(4,1fr)}}
.p-card .ph{position:relative;background:var(--cream)}
.p-badge{position:absolute;left:.75rem;top:.75rem;border-radius:999px;padding:.25rem .75rem;font-family:var(--font-display);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;background:oklch(0.995 0.004 100 / .9);color:var(--foreground)}
.p-badge.samos{background:var(--apple);color:var(--primary-foreground)}
.p-row{margin-top:1rem;display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}
.p-row h3{font-family:var(--font-display);font-size:1rem;font-weight:600}
.p-price{white-space:nowrap;font-family:var(--font-display);font-size:.875rem;font-weight:600;color:var(--primary)}
.p-desc{margin-top:.5rem;font-size:.875rem;line-height:1.6;color:var(--muted-foreground)}
.p-season{margin-top:.75rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-foreground)}
/* Úzké sloupce na mobilu: název a cena pod sebou, ať se text nemačká na dvou znacích */
@media(max-width:639px){
  .p-row{margin-top:.75rem;flex-direction:column;align-items:flex-start;gap:.1rem}
  .p-row h3{font-size:.92rem;line-height:1.3}
  .p-price{font-size:.8rem}
  /* delší popisy zkrátíme na 4 řádky, ať jsou karty přibližně stejně vysoké */
  .p-desc{margin-top:.4rem;font-size:.8rem;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
  .p-season{margin-top:.5rem;font-size:.66rem;letter-spacing:.1em}
  .p-badge{left:.5rem;top:.5rem;padding:.2rem .55rem;font-size:.58rem;letter-spacing:.08em}
}

/* ===== two-col feature (samosber, story, prodejna) ===== */
.two{display:grid;gap:2.5rem;align-items:center}
@media(min-width:1024px){.two{grid-template-columns:1fr 1fr;gap:4rem}}
.two-11 { }
@media(min-width:1024px){.two-wide{grid-template-columns:1.1fr 1fr}}
.status-pill{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.375rem 1rem;font-family:var(--font-display);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em}
.status-pill.on{background:var(--apple);color:var(--primary-foreground)}
.status-pill.off{background:var(--muted);color:var(--muted-foreground)}
.status-pill .dot{height:.375rem;width:.375rem;border-radius:50%;background:currentColor}
.feature h2{margin-top:1.5rem;font-size:1.9rem;font-weight:600;line-height:1.1}
@media(min-width:768px){.feature h2{font-size:3rem}}
.deflist{margin-top:2rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;border-top:1px solid var(--border);padding-top:2rem}
.deflist dt{font-family:var(--font-display);font-size:.6875rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--leaf)}
.deflist dd{margin-top:.25rem;font-family:var(--font-display);font-size:1rem}
.hours-list{margin-top:2rem;border-top:1px solid var(--border);padding-top:2rem}
.hours-list .r{display:flex;justify-content:space-between;gap:1.5rem;font-size:.875rem;padding:.25rem 0}
.hours-list .r dd{font-family:var(--font-display);font-weight:600}
.section-band{border-block:1px solid var(--border);background:oklch(0.972 0.014 95 / .4)}
.band-pad{padding-block:5rem}
@media(min-width:768px){.band-pad{padding-block:7rem}}

/* gallery */
.gal{margin-top:3rem;display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:640px){.gal{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.gal{grid-template-columns:repeat(4,1fr)}}
.gal .big{grid-column:span 1}
@media(min-width:640px){.gal .big{grid-column:span 2;grid-row:span 2}}
.gal .cell{border-radius:var(--radius)}
.gal .cell img{aspect-ratio:1/1}
.gal .big img{height:100%;min-height:16rem;aspect-ratio:auto}
.gal .video{position:relative;display:flex;align-items:flex-end;aspect-ratio:1/1;border-radius:var(--radius);background:var(--primary);color:var(--primary-foreground);padding:1.25rem;transition:opacity .2s}
.gal .video:hover{opacity:.9}
.gal .video span{font-family:var(--font-display);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em}

/* news */
.news-grid{margin-top:3rem;display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:768px){.news-grid{grid-template-columns:repeat(3,1fr)}}
.news-card{border-top:1px solid var(--border);padding-top:1.5rem}
.news-card .meta{font-family:var(--font-display);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--primary)}
.news-card h3{margin-top:.75rem;font-family:var(--font-display);font-size:1.25rem;font-weight:600;line-height:1.3}
.news-card p{margin-top:.75rem;font-size:.875rem;line-height:1.6;color:var(--muted-foreground)}

/* B2B */
.b2b{background:var(--foreground);color:var(--background)}
.b2b .grid{display:grid;gap:2.5rem;align-items:center}
@media(min-width:1024px){.b2b .grid{grid-template-columns:1fr 1fr;gap:4rem}}
.b2b .kick{font-family:var(--font-display);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;opacity:.7}
.b2b h2{margin-top:1rem;font-size:1.9rem;font-weight:600;line-height:1.1}
@media(min-width:768px){.b2b h2{font-size:3rem}}
.b2b p{margin-top:1.25rem;max-width:36rem;opacity:.8;line-height:1.7}
.b2b dl{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;align-self:center}
.b2b dt{font-size:.875rem;opacity:.7}
.b2b dd{margin-top:.25rem;font-family:var(--font-display);font-size:1.5rem;font-weight:600}

/* newsletter */
.nl{display:grid;gap:2rem;border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);background:oklch(0.972 0.014 95 / .6);padding:2rem}
@media(min-width:768px){.nl{grid-template-columns:1fr 1fr;padding:3.5rem}}
.nl h2{margin-top:.75rem;font-size:1.5rem;font-weight:600;line-height:1.2}
@media(min-width:768px){.nl h2{font-size:2.25rem}}
.nl p{margin-top:1rem;max-width:28rem;color:var(--muted-foreground);font-size:.95rem;line-height:1.7}
.nl form{display:flex;flex-direction:column;justify-content:center;gap:.75rem}
.nl .label{font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em}
.nl .fields{display:flex;flex-direction:column;gap:.75rem}
@media(min-width:640px){.nl .fields{flex-direction:row}}
.nl input{width:100%;border:1px solid var(--input);border-radius:999px;background:var(--background);padding:.75rem 1.25rem;font-size:.875rem;font-family:var(--font-sans);outline:none}
.nl input:focus{border-color:var(--primary);box-shadow:0 0 0 3px oklch(0.45 0.088 148 / .25)}
.nl small{font-size:.75rem;color:var(--muted-foreground)}

/* footer */
.site-footer{margin-top:6rem;border-top:1px solid var(--border);background:oklch(0.972 0.014 95 / .6)}
.site-footer .top{max-width:1400px;margin-inline:auto;display:grid;gap:3rem;padding:4rem 1.25rem}
@media(min-width:1024px){.site-footer .top{grid-template-columns:repeat(4,1fr);padding:4rem 2.5rem}}
.site-footer .brand p:first-child{font-family:var(--font-display);font-size:1.125rem;font-weight:600;letter-spacing:-.02em}
.site-footer .brand .desc{margin-top:.75rem;max-width:20rem;font-size:.875rem;line-height:1.6;color:var(--muted-foreground)}
/* Sociální sítě v patičce — každá ve své firemní barvě, zobrazí se jen vyplněné */
.socials{margin-top:1.25rem;display:flex;gap:.6rem;flex-wrap:wrap}
.soc{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--border);border-radius:999px;padding:.45rem .9rem;
  font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.02em;color:var(--foreground);
  transition:background .2s,border-color .2s,color .2s,transform .2s}
.soc svg{width:15px;height:15px;fill:var(--soc);transition:fill .2s;flex:0 0 auto}
.soc:hover{background:var(--soc);border-color:var(--soc);color:#fff;transform:translateY(-2px)}
.soc:hover svg{fill:#fff}
.soc:focus-visible{outline:2px solid var(--soc);outline-offset:2px}
@media(max-width:420px){.soc span{display:none}.soc{padding:.55rem;border-radius:50%}.soc svg{width:17px;height:17px}}
.site-footer h2{font-family:var(--font-display);font-size:.6875rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--leaf)}
.site-footer ul{margin-top:1rem;list-style:none;display:grid;gap:.5rem;font-size:.875rem}
.site-footer address{margin-top:1rem;font-style:normal;display:grid;gap:.5rem;font-size:.875rem;color:var(--muted-foreground)}
.site-footer a:hover{color:var(--foreground)}
.footer-links li a{color:var(--muted-foreground);transition:color .2s}
.legal-note{margin-top:1.5rem;font-size:.75rem;line-height:1.6;color:var(--muted-foreground)}
.site-footer .bottom{border-top:1px solid oklch(0.915 0.01 130 / .7)}
.site-footer .bottom .in{max-width:1400px;margin-inline:auto;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem 1.25rem;font-size:.75rem;color:var(--muted-foreground)}
@media(min-width:640px){.site-footer .bottom .in{flex-direction:row;align-items:center;justify-content:space-between;padding:1.5rem 2.5rem}}
.lang{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase}

.mt-14{margin-top:3.5rem}
.mt-12{margin-top:3rem}
.mt-8{margin-top:2rem}
.mt-6{margin-top:1.5rem}

/* ============================================================
   ODRŮDY — carousel, chuťový filtr, detail
   ============================================================ */

/* ----- Carousel odrůd (vodorovný posuvný pás) ----- */
.apple-carousel{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"prev view next" "cap cap cap" "dots dots dots";align-items:center;max-width:1280px;margin-inline:auto}
.ac-prev{grid-area:prev}.ac-next{grid-area:next}.ac-viewport{grid-area:view}
.ac-caption{grid-area:cap}.ac-dots{grid-area:dots}
.ac-arrow{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:transparent;border:1px solid transparent;color:var(--muted-foreground);cursor:pointer;transition:color .2s,background .2s,opacity .2s;z-index:4}
.ac-arrow:hover{color:var(--primary);background:var(--cream)}
.ac-arrow:disabled{opacity:.25;cursor:default}
.ac-arrow:disabled:hover{color:var(--muted-foreground);background:transparent}
.ac-viewport{position:relative;overflow:hidden;height:520px}
.ac-brush{position:absolute;top:50%;left:50%;width:100%;height:74%;transform:translate(-50%,-50%);background:radial-gradient(ellipse 56% 58% at 50% 50%,var(--cream) 0%,var(--cream) 42%,transparent 72%);z-index:0}
.ac-track{position:relative;z-index:1;display:flex;align-items:center;gap:0;height:100%;will-change:transform;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.ac-item{flex:0 0 auto;width:420px;max-width:70vw;display:block;transform:scale(.56);opacity:.5;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .55s;margin:0}
.ac-item img{width:100%;height:auto;object-fit:contain;pointer-events:none}
.ac-item.is-active{transform:scale(1);opacity:1}
.ac-caption{text-align:center;margin-top:1rem}
.ac-name{display:inline-block;font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--primary);letter-spacing:.01em;text-transform:uppercase;transition:opacity .2s}
.ac-name:hover{opacity:.75;text-decoration:underline;text-underline-offset:4px}
.ac-desc{margin-top:.75rem;color:var(--muted-foreground);max-width:46ch;margin-inline:auto;line-height:1.7}
.ac-link{display:inline-block;margin-top:1rem}
.ac-dots{display:flex;gap:.55rem;justify-content:center;margin-top:1.5rem}
.ac-dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--input);cursor:pointer;transition:transform .2s,background .2s;padding:0}
.ac-dot.is-active{background:var(--primary);transform:scale(1.35)}
@media(max-width:640px){
  .ac-viewport{height:360px}
  .ac-item{width:270px}
  .ac-track{gap:.5rem}
  .ac-arrow{width:40px;height:40px}
  .ac-name{font-size:1.6rem}
}
@media(prefers-reduced-motion:reduce){.ac-track{transition:none}}

/* ----- Chuťový filtr ----- */
.odrudy-intro{text-align:center;max-width:720px;margin-inline:auto}
.odrudy-intro .sec-title{margin-inline:auto}
.vf-head{text-align:center;max-width:660px;margin-inline:auto}
.variety-filter{margin-top:2.5rem}
.vf-sliders{display:grid;gap:2rem;grid-template-columns:1fr;max-width:960px;margin:0 auto 3.5rem}
@media(min-width:768px){.vf-sliders{grid-template-columns:repeat(3,1fr);gap:2.5rem}}
.vf-slider label{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--foreground)}
.vf-slider input[type=range]{width:100%;margin-top:1rem;-webkit-appearance:none;appearance:none;height:4px;border-radius:999px;background:var(--input);outline:none;cursor:pointer}
.vf-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid var(--primary);box-shadow:0 2px 6px rgba(0,0,0,.18);cursor:pointer}
.vf-slider input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--primary);cursor:pointer}
.vf-ends{display:flex;justify-content:space-between;margin-top:.6rem;font-size:.75rem;font-weight:600;letter-spacing:.03em;color:var(--muted-foreground)}
.vf-grid{display:grid;gap:2rem 1.5rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){.vf-grid{grid-template-columns:repeat(4,1fr)}}
.vf-card{position:relative;display:block;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:transform .35s,box-shadow .35s,opacity .35s;overflow:hidden}
.vf-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(0,0,0,.08)}
.vf-thumb{background:var(--cream);border-radius:var(--radius);aspect-ratio:1;display:grid;place-items:center;padding:.5rem;overflow:hidden}
.vf-thumb img{width:100%;height:100%;object-fit:contain;transition:transform .5s}
.vf-card:hover .vf-thumb img{transform:scale(1.05)}
.vf-card .season{margin-top:1rem;font-family:var(--font-display);font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--primary)}
.vf-card h3{margin-top:.25rem;font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--primary)}
.vf-card>p{margin-top:.4rem;font-size:.82rem;line-height:1.55;color:var(--muted-foreground)}
.vf-match{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--primary);transition:width .45s;opacity:0}
.vf-grid.is-filtering .vf-match{opacity:1}
.vf-grid.is-filtering .vf-card.is-dim{opacity:.4}
.vf-card.is-best{box-shadow:0 0 0 2px var(--primary),0 16px 30px rgba(0,0,0,.1)}
.vf-reset-row{text-align:center;margin-top:2.5rem}
.vf-reset{font-family:var(--font-display);font-size:.85rem;color:var(--muted-foreground);background:none;border:none;cursor:pointer}
.vf-reset:hover{color:var(--primary)}

/* ----- Detail odrůdy ----- */
.detail-back{padding-top:2rem}
.fd-grid{display:grid;gap:3rem;grid-template-columns:1fr;align-items:center}
@media(min-width:900px){.fd-grid{grid-template-columns:1.05fr .95fr;gap:4rem}}
.fd-text .season{font-family:var(--font-display);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--primary)}
.fd-name{font-size:3rem;font-weight:700;margin-top:.5rem}
@media(max-width:640px){.fd-name{font-size:2.2rem}}
.fd-desc{margin-top:1.25rem;font-size:1.05rem;line-height:1.75;color:var(--muted-foreground);max-width:46ch}
.fd-desc>*{margin:0 0 .9rem}
.fd-desc>*:last-child{margin-bottom:0}
.fd-desc h2,.fd-desc h3,.fd-desc h4{font-family:var(--font-display);font-size:1.1rem;color:var(--foreground);margin-top:1.4rem}
.fd-desc ul,.fd-desc ol{padding-left:1.25rem}
.fd-desc strong{color:var(--foreground)}
/* Dva sloupce pro celý seznam (řádky jsou display:contents), aby hodnoty držely
   jednu linku bez ohledu na délku popisku — např. „Uskladnění“ */
.fd-meta{margin-top:2rem;display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:baseline}
.fd-meta-row{display:contents}
.fd-meta-k{font-family:var(--font-display);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-foreground);border-left:3px solid var(--primary);padding-left:1rem}
.fd-meta-v{font-weight:600}

/* Vizuál: jablko + aroma tagy + ukazatele */
.fd-visual{position:relative;display:grid;place-items:center;padding:2.5rem 3rem;min-height:440px}
.fd-halo{position:absolute;width:82%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--cream),transparent 70%)}
.fd-apple{position:relative;z-index:1;width:100%;max-width:380px;height:auto;object-fit:contain;filter:drop-shadow(0 18px 20px rgba(0,0,0,.13));animation:fd-float 6s ease-in-out infinite}
@keyframes fd-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* aroma tagy — červený text + ikonka, nakřivo, jako v předloze; animace při .in */
.fd-aroma{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.25rem;color:var(--apple);opacity:0;transform:translateY(10px) scale(.9);transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1);transition-delay:var(--d,0ms)}
.fd-visual.in .fd-aroma{opacity:1;transform:translateY(0) scale(1)}
.fd-aroma-ic{width:30px;height:30px}
.fd-aroma-ic svg{width:100%;height:100%}
.fd-aroma-tx{font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.fd-aroma.a-tl{top:10%;left:1%;transform:translateY(10px) rotate(-10deg) scale(.9)}
.fd-aroma.a-ml{top:44%;left:-2%;transform:translateY(10px) rotate(-4deg) scale(.9)}
.fd-aroma.a-bl{bottom:16%;left:4%;transform:translateY(10px) rotate(-8deg) scale(.9)}
.fd-visual.in .fd-aroma.a-tl{transform:translateY(0) rotate(-10deg)}
.fd-visual.in .fd-aroma.a-ml{transform:translateY(0) rotate(-4deg)}
.fd-visual.in .fd-aroma.a-bl{transform:translateY(0) rotate(-8deg)}

/* ukazatele kyselost/sladkost — popisek + animovaný pruh s tečkou */
.fd-meter{position:absolute;z-index:2;width:132px;opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1);transition-delay:var(--d,0ms)}
.fd-visual.in .fd-meter{opacity:1;transform:translateY(0)}
.fd-meter.m-tr{top:14%;right:-1%}
.fd-meter.m-br{top:40%;right:-3%}
.fd-meter-label{display:block;font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--apple);margin-bottom:.45rem}
.fd-meter-bar{display:block;position:relative;height:6px;border-radius:999px;background:var(--muted);overflow:visible}
.fd-meter-fill{position:absolute;left:0;top:0;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--leaf-soft),var(--primary));transition:width 1.1s cubic-bezier(.22,1,.36,1) calc(var(--d,0ms) + 150ms)}
.fd-visual.in .fd-meter-fill{width:var(--v)}
.fd-meter-fill::after{content:"";position:absolute;right:-4px;top:50%;width:11px;height:11px;border-radius:50%;background:#fff;border:2px solid var(--primary);transform:translateY(-50%);box-shadow:0 1px 4px rgba(0,0,0,.2)}
@media(max-width:900px){
  .fd-visual{padding:2rem .5rem}
  .fd-aroma.a-tl{left:-2%}.fd-aroma.a-ml{left:-6%}.fd-aroma.a-bl{left:0}
  .fd-meter{width:110px}.fd-meter.m-tr{right:-4%}.fd-meter.m-br{right:-6%}
}
.fd-strip-title{text-align:center;font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:1.75rem}
.fd-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}
.fd-chip{display:flex;flex-direction:column;align-items:center;gap:.65rem;width:92px}
.fd-chip-thumb{width:78px;height:78px;display:grid;place-items:center;background:var(--cream);border-radius:50%;border:2px solid transparent;transition:transform .3s,border-color .3s,background .3s}
.fd-chip-thumb img{width:76%;height:76%;object-fit:contain}
.fd-chip-name{font-family:var(--font-display);font-size:.8rem;font-weight:600;color:var(--muted-foreground);text-align:center;transition:color .2s}
.fd-chip:hover .fd-chip-thumb{transform:translateY(-4px) scale(1.06)}
.fd-chip:hover .fd-chip-name{color:var(--primary)}
.fd-chip.is-current .fd-chip-thumb{border-color:var(--primary);background:oklch(0.45 0.088 148 / .08)}
.fd-chip.is-current .fd-chip-name{color:var(--primary)}
@media(max-width:640px){.fd-strip{gap:1rem}.fd-chip{width:74px}.fd-chip-thumb{width:64px;height:64px}.fd-chip-name{font-size:.72rem}}

/* ----- Švestky (foto karty) ----- */
.plum-grid{display:grid;gap:1.75rem;grid-template-columns:1fr}
@media(min-width:768px){.plum-grid{grid-template-columns:repeat(3,1fr)}}
.plum-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .35s,box-shadow .35s}
.plum-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(0,0,0,.09)}
.plum-photo{aspect-ratio:3/2;border-radius:0}
.plum-photo img{width:100%;height:100%;object-fit:cover}
.plum-body{padding:1.5rem 1.5rem 1.75rem}
.plum-body h3{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--primary)}
.plum-body p{margin-top:.6rem;font-size:.9rem;line-height:1.65;color:var(--muted-foreground)}

/* ----- Aktuality: karta jako odkaz + detail ----- */
a.news-card{display:block;transition:transform .3s,box-shadow .3s}
a.news-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(0,0,0,.07)}
a.news-card h3{transition:color .2s}
a.news-card:hover h3{color:var(--primary)}
.article-wrap{max-width:780px}
.article-meta{margin-top:1.5rem;font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--primary)}
.article-title{font-size:2.4rem;font-weight:700;margin-top:.5rem;max-width:24ch}
@media(max-width:640px){.article-title{font-size:1.8rem}}
.article-perex{margin-top:1.25rem;font-size:1.15rem;line-height:1.7;color:var(--foreground)}
.article-body{margin-top:1.5rem;color:var(--muted-foreground);line-height:1.8;font-size:1.02rem}
.article-body h1{font-size:1.8rem;color:var(--foreground);margin:1.75rem 0 .75rem}
/* H2 v textech z editoru: tučně + krátká zelená čára pod nadpisem */
.article-body h2{font-size:1.4rem;font-weight:700;line-height:1.25;color:var(--foreground);margin:2.25rem 0 1rem;padding-bottom:.7rem;position:relative}
.article-body h2::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;border-radius:2px;background:var(--primary)}
.article-body > h2:first-child{margin-top:0}
.article-body h3{font-size:1.15rem;color:var(--foreground);margin:1.25rem 0 .5rem}
.article-body p{margin:.9rem 0}
.article-body ul,.article-body ol{margin:.9rem 0 .9rem 1.4rem}
.article-body a{color:var(--primary);text-decoration:underline}

/* ----- Galerie (celá stránka) ----- */
.gallery-full{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(220px,30vw,320px),1fr));gap:1rem}

/* ----- Přístupnost / UX ----- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:1rem;top:1rem;z-index:999;background:var(--primary);color:var(--primary-foreground);padding:.7rem 1.1rem;border-radius:999px;font-family:var(--font-display);font-weight:600}
.vf-slider input[type=range]:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:999px}
.ac-arrow:focus-visible,.ac-dot:focus-visible,.link-more:focus-visible,.btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
/* odkaz-jako-tlačítko (patička: Nastavení cookies) */
.link-as-btn{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}
.link-as-btn:hover{color:var(--foreground)}
/* seznam v textu (odrážky uvnitř kontejneru) */
.copy-list{padding-left:1.2rem;list-style-position:outside}
.copy-list li{margin:.4rem 0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ----- honeypot (skrytý anti-spam) ----- */
.sz-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}

/* ----- Partneři (nad patičkou) ----- */
.partners-strip{border-top:1px solid var(--border);background:var(--cream)}
.partners-strip .container{padding-block:2.5rem;text-align:center}
.partners-title{font-family:var(--font-display);font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:1.5rem}
.partners-row{overflow:hidden}
.partners-track{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2.5rem}
/* mix-blend-mode: bílé pozadí loga (JPG/PNG bez průhlednosti) splyne s krémovým pruhem
   — jinak se kolem loga vykreslí bílý rámeček */
.partner-logo{display:inline-flex;align-items:center;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s;mix-blend-mode:multiply}
.partner-logo:hover{filter:none;opacity:1}
.partner-logo img{max-height:72px;width:auto;object-fit:contain;background:none;border:0;border-radius:0;box-shadow:none}
.partner-logo.is-dup{display:none}   /* kopie sady je vidět jen u běžícího pásu */

/* Běžící pás — kopie sady navazuje, posun o polovinu je proto neznatelný.
   Místo mezery (gap) se používá odsazení položek, aby smyčka seděla přesně.
   Na počítači běží až od devíti log (.is-many), na mobilu už od tří (.is-slide-m). */
@keyframes partnersRun{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(min-width:768px){
  .partners-row.is-many .partners-track{flex-wrap:nowrap;justify-content:flex-start;width:max-content;gap:0;animation:partnersRun 45s linear infinite}
  .partners-row.is-many .partner-logo{margin-right:3rem;flex:none}
  .partners-row.is-many .partner-logo.is-dup{display:inline-flex}
  .partners-row.is-many .partners-track:hover{animation-play-state:paused}
}
@media(max-width:767px){
  .partner-logo img{max-height:60px}
  .partners-row.is-slide-m .partners-track{flex-wrap:nowrap;justify-content:flex-start;width:max-content;gap:0;animation:partnersRun 32s linear infinite}
  .partners-row.is-slide-m .partner-logo{margin-right:2.25rem;flex:none}
  .partners-row.is-slide-m .partner-logo.is-dup{display:inline-flex}
}
@media(prefers-reduced-motion:reduce){.partners-track{animation:none!important}}
.partner-name{font-family:var(--font-display);font-weight:600;color:var(--muted-foreground)}

/* ----- Newsletter potvrzení ----- */
.nl-ok{background:oklch(0.45 0.088 148 / .08);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;line-height:1.6}

/* ----- Pop-up sleva ----- */
.sz-popup{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1.25rem}
.sz-popup[hidden]{display:none}
.sz-popup-backdrop{position:absolute;inset:0;background:oklch(0.22 0.02 150 / .55);backdrop-filter:blur(2px)}
.sz-popup-box{position:relative;z-index:1;background:var(--background);border-radius:1rem;max-width:440px;width:100%;padding:2.5rem 2rem 2rem;text-align:center;box-shadow:0 30px 70px rgba(0,0,0,.3);animation:sz-pop .35s cubic-bezier(.22,1,.36,1)}
@keyframes sz-pop{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.sz-popup-x{position:absolute;top:.6rem;right:1rem;background:none;border:none;font-size:1.7rem;line-height:1;color:var(--muted-foreground);cursor:pointer}
.sz-popup-x:hover{color:var(--foreground)}
.sz-popup-eyebrow{font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--primary)}
.sz-popup-title{font-size:1.7rem;font-weight:700;margin:.5rem 0 .75rem}
.sz-popup-lead{color:var(--muted-foreground);line-height:1.6;margin-bottom:1.5rem}
.sz-popup-form{display:flex;flex-direction:column;gap:.75rem}
.sz-popup-form input[type=email]{padding:.85rem 1rem;border:1px solid var(--input);border-radius:999px;font-size:1rem;text-align:center;font-family:inherit}
.sz-popup-form input[type=email]:focus{outline:none;border-color:var(--primary)}
.sz-popup-note{display:block;margin-top:1rem;font-size:.75rem;color:var(--muted-foreground)}
.sz-popup-ok{font-weight:600}
.sz-popup-code{font-family:var(--font-display);font-size:1.6rem;font-weight:800;letter-spacing:.06em;color:var(--primary);background:var(--cream);border:2px dashed var(--primary);border-radius:.75rem;padding:.85rem;margin:.75rem 0}
.sz-popup-err{color:var(--apple);font-size:.9rem;margin-top:.5rem}

/* ----- Logo (nahrané) + malé tlačítko ----- */
/* Nahrané logo (často průhledné PNG) nesmí mít kolem sebe nic — žádné pozadí, rámeček ani stín */
.logo-img{height:38px;width:auto;object-fit:contain;display:block;background:none;border:0;border-radius:0;box-shadow:none;padding:0}
.logo:has(.logo-img){gap:0}
.btn-sm{padding:.6rem 1.1rem;font-size:.72rem}

/* ----- Cookies lišta (styl SPD, paleta Sady) ----- */
.cc{position:fixed;bottom:18px;right:18px;z-index:300;max-width:440px;width:calc(100% - 36px)}
.cc[hidden]{display:none}
.cc-box{background:#fff;border-radius:12px;box-shadow:0 16px 50px rgba(0,0,0,.28);padding:22px;position:relative;border-top:4px solid var(--primary)}
.cc-x{position:absolute;top:8px;right:14px;background:none;border:none;font-size:24px;color:var(--muted-foreground);cursor:pointer;line-height:1}
.cc-title{color:var(--foreground);font-family:var(--font-display);font-size:18px;margin-bottom:8px;padding-right:20px}
.cc-text{color:var(--muted-foreground);font-size:13px;line-height:1.55;margin-bottom:14px}
.cc-cats{margin-bottom:14px;max-height:42vh;overflow:auto}
.cc-cat{border-top:1px solid var(--border);padding:10px 0}
.cc-cat-h{display:flex;justify-content:space-between;align-items:center;gap:10px}
.cc-cat-h strong{color:var(--foreground);font-family:var(--font-display);font-size:14px}
.cc-always{color:var(--primary);font-size:12px;font-weight:700;white-space:nowrap}
.cc-cat-d{color:var(--muted-foreground);font-size:12px;line-height:1.5;margin-top:6px}
.cc-btns{display:flex;gap:8px;flex-wrap:wrap}
.cc-btns .btn{padding:10px 14px;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;flex:1 1 auto;min-width:110px}
.cc-ghost{background:var(--muted);color:var(--foreground);border-color:var(--border)}
.cc-ghost:hover{background:var(--border);color:var(--foreground)}
.cc-link{display:inline-block;margin-top:12px;color:var(--primary);font-size:12.5px;text-decoration:underline}
.cc-sw{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}
.cc-sw input{opacity:0;width:0;height:0}
.cc-sw span{position:absolute;inset:0;background:#cdd5e0;border-radius:24px;cursor:pointer;transition:.2s}
.cc-sw span:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.cc-sw input:checked+span{background:var(--primary)}
.cc-sw input:checked+span:before{transform:translateX(18px)}
@media(max-width:560px){.cc{left:10px;right:10px;bottom:10px;width:auto;max-width:none}}

@media(prefers-reduced-motion:reduce){
  .fd-apple{animation:none}
  .ac-item,.ac-track,.fd-meter-fill,.fd-aroma,.fd-meter{transition:none}
  .fd-aroma,.fd-meter{opacity:1}
}

/* ===== Aktuality — média a hlavní článek ===== */
.news-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:oklch(1 0 0 / .88);color:var(--primary);display:grid;place-items:center;font-size:1.1rem;padding-left:4px;box-shadow:0 6px 20px rgba(0,0,0,.2)}
.news-feature{display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--border);border-radius:calc(var(--radius) * 3);overflow:hidden;background:var(--card);transition:transform .3s,box-shadow .3s}
a.news-feature:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.09)}
.news-feature-media{position:relative;aspect-ratio:16/10;background:var(--cream);overflow:hidden}
.news-feature-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
a.news-feature:hover .news-feature-media img{transform:scale(1.03)}
.news-feature-noimg{position:absolute;inset:0;display:grid;place-items:center;font-size:4rem;opacity:.4}
.news-feature-text{padding:2rem}
.news-feature-text .meta{font-family:var(--font-display);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--primary)}
.news-feature-text h2{margin-top:.6rem;font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.25}
.news-feature-text p:not(.meta){margin-top:.75rem;font-size:.95rem;line-height:1.6;color:var(--muted-foreground)}
.news-feature-text .link-more{display:inline-block;margin-top:1rem}
@media(min-width:860px){
  .news-feature{grid-template-columns:1.15fr 1fr;align-items:stretch}
  .news-feature-media{aspect-ratio:auto;min-height:340px}
  .news-feature-text{padding:2.75rem}
  .news-feature-text h2{font-size:1.9rem}
}
/* Karty s fotkou */
.news-card-media{position:relative;display:block;aspect-ratio:16/10;border-radius:calc(var(--radius) * 2.5);overflow:hidden;background:var(--cream);margin-bottom:1rem}
.news-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
a.news-card:hover .news-card-media img{transform:scale(1.04)}
.news-card{border-top:0;padding-top:0}
.news-card--noimg{border-top:1px solid var(--border);padding-top:1.5rem}
.news-card-body{display:block}

/* ===== O nás — designová stránka ===== */
.onas-hero{background:var(--cream);border-bottom:1px solid var(--border)}
.onas-hero-inner{display:grid;grid-template-columns:1fr;gap:2.5rem;padding-block:3.5rem;align-items:center}
.onas-hero-title{font-family:var(--font-display);font-weight:600;font-size:2.1rem;line-height:1.1;margin-top:.75rem}
.onas-hero-lead{margin-top:1.25rem;font-size:1.05rem;line-height:1.7;color:var(--muted-foreground);max-width:52ch}
.onas-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.onas-hero-media{border-radius:calc(var(--radius) * 3);overflow:hidden;aspect-ratio:4/3;box-shadow:0 24px 50px rgba(0,0,0,.12)}
.onas-hero-media img{width:100%;height:100%;object-fit:cover}
@media(min-width:900px){
  .onas-hero-inner{grid-template-columns:1.05fr .95fr;gap:4rem;padding-block:5rem}
  .onas-hero-title{font-size:3rem}
}
/* Pruh se statistikami */
.onas-stats{background:var(--primary);color:var(--primary-foreground)}
.onas-stats-inner{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 1rem;padding-block:2.5rem;text-align:center}
.onas-stat{display:flex;flex-direction:column;gap:.35rem}
.onas-stat-num{font-family:var(--font-display);font-weight:700;font-size:2rem;line-height:1}
.onas-stat-label{font-size:.8rem;letter-spacing:.04em;opacity:.85}
@media(min-width:768px){.onas-stats-inner{grid-template-columns:repeat(4,1fr);padding-block:3rem}.onas-stat-num{font-size:2.5rem}}
/* Střídavé bloky */
.onas-features .feat-row{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}
.onas-features .feat-row + .feat-row{margin-top:4.5rem}
.feat-media{border-radius:calc(var(--radius) * 3);overflow:hidden;aspect-ratio:4/3;box-shadow:0 18px 40px rgba(0,0,0,.1)}
.feat-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.feat-row:hover .feat-media img{transform:scale(1.03)}
.feat-title{font-family:var(--font-display);font-weight:600;font-size:1.6rem;line-height:1.2;margin-top:.6rem}
.feat-text p{margin-top:1rem;font-size:1rem;line-height:1.7;color:var(--muted-foreground)}
.feat-text .link-as-btn{margin-top:1.25rem}
@media(min-width:900px){
  .onas-features .feat-row{grid-template-columns:1fr 1fr;gap:4rem}
  .feat-row--reverse .feat-media{order:2}
  .feat-title{font-size:2rem}
}
/* Závěrečná výzva */
.onas-cta{background:var(--foreground);color:var(--primary-foreground)}
.onas-cta-inner{text-align:center;padding-block:4rem;max-width:640px;margin-inline:auto}
.onas-cta h2{font-family:var(--font-display);font-weight:600;font-size:1.8rem;line-height:1.2}
.onas-cta p{margin-top:1rem;opacity:.85;line-height:1.6}
.onas-cta .onas-hero-actions{justify-content:center}

/* ===== Detail aktuality — hero foto + video ===== */
.article-page{padding-block:3.5rem 5rem}
.article-hero{margin-block:2rem;max-width:1000px;margin-inline:auto;border-radius:calc(var(--radius) * 3);overflow:hidden;aspect-ratio:16/9;box-shadow:0 20px 45px rgba(0,0,0,.12)}
.article-hero img{width:100%;height:100%;object-fit:cover}
.article-back{display:inline-block;margin-bottom:1.25rem}
.article-back-btn{margin-top:2.5rem}
.media-embed{position:relative;margin-block:2rem;aspect-ratio:16/9;border-radius:calc(var(--radius) * 2.5);overflow:hidden;background:#000}
.media-embed iframe,.media-embed video{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ===== Detail aktuality — přesně styl O nás ===== */
.art .onas-hero-text .art-back{display:inline-block;margin-bottom:1.1rem}
.art .onas-hero-title{margin-top:.5rem}
.art-body-section{padding-block:3.5rem}
.art-body-wrap{max-width:760px;margin-inline:0}
.art-body{font-size:1.06rem;line-height:1.75}

/* ===== Prohlížeč fotek (lightbox) ===== */
body.lb-open{overflow:hidden}
[data-lb]{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:1000;background:oklch(0.18 0.02 150 / .93);display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);backdrop-filter:blur(4px)}
.lb[hidden]{display:none!important}
.lb-stage{margin:0;display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:min(1200px,92vw);max-height:86vh}
.lb-img{max-width:100%;max-height:78vh;width:auto;height:auto;border-radius:calc(var(--radius) * 3);box-shadow:0 30px 70px rgba(0,0,0,.5);opacity:0;transform:scale(.985);transition:opacity .25s ease,transform .25s ease;background:var(--cream)}
.lb-img.is-in{opacity:1;transform:scale(1)}
.lb-cap{color:oklch(1 0 0 / .92);font-size:.95rem;text-align:center;max-width:60ch;line-height:1.5}
.lb-close,.lb-nav{position:absolute;background:oklch(1 0 0 / .12);color:#fff;border:1px solid oklch(1 0 0 / .25);border-radius:999px;cursor:pointer;display:grid;place-items:center;transition:background .2s,transform .2s;line-height:1}
.lb-close:hover,.lb-nav:hover{background:oklch(1 0 0 / .25)}
.lb-close{top:clamp(.75rem,2.5vw,1.5rem);right:clamp(.75rem,2.5vw,1.5rem);width:44px;height:44px;font-size:1.6rem}
.lb-nav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:2rem}
.lb-nav:hover{transform:translateY(-50%) scale(1.06)}
.lb-prev{left:clamp(.5rem,2vw,1.75rem)}
.lb-next{right:clamp(.5rem,2vw,1.75rem)}
.lb-count{position:absolute;bottom:clamp(.75rem,2.5vw,1.5rem);left:50%;transform:translateX(-50%);color:oklch(1 0 0 / .8);font-family:var(--font-display);font-size:.8rem;letter-spacing:.1em}
.lb-close:focus-visible,.lb-nav:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:640px){.lb-nav{width:42px;height:42px;font-size:1.6rem}.lb-img{max-height:70vh}}
@media(prefers-reduced-motion:reduce){.lb-img{transition:none}}
/* Fotka v galerii jako tlačítko (kvůli lightboxu) — vizuálně stejné jako dříve */
.gal-btn{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;font:inherit;color:inherit;overflow:hidden}
.gal-btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px}

/* ===== Kontakty — karty osob s rozbalovacím popisem ===== */
/* Na mobilu jedna karta pod druhou — dvě vedle sebe byly na kontakty moc těsné */
.team{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:640px){.team{grid-template-columns:repeat(2,1fr)}}
/* Na širších obrazovkách čtyři karty vedle sebe — jsou tím menší a přehlednější */
@media(min-width:1024px){.team{gap:1.5rem;grid-template-columns:repeat(4,1fr)}
  .team-body{padding:1.25rem}
  .team-name{font-size:1.08rem}
  .team-links a{font-size:.86rem}
  .team-initials{font-size:2.8rem}
}
.team-card{border:1px solid var(--border);border-radius:calc(var(--radius) * 3);overflow:hidden;background:var(--card);display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s}
.team-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.08)}
.team-photo{position:relative;aspect-ratio:1/1;background:var(--cream);display:grid;place-items:center;overflow:hidden}
.team-photo img{width:100%;height:100%;object-fit:cover}
.team-initials{font-family:var(--font-display);font-size:3.5rem;font-weight:600;color:var(--leaf-soft)}
.team-body{padding:1.5rem;display:flex;flex-direction:column;gap:.35rem}
.team-name{font-family:var(--font-display);font-size:1.2rem;font-weight:600;line-height:1.25}
.team-role{font-family:var(--font-display);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--primary)}
.team-links{list-style:none;margin-top:.75rem;display:grid;gap:.3rem}
.team-links a{font-size:.92rem;color:var(--muted-foreground);transition:color .2s}
.team-links a:hover{color:var(--primary)}
.team-more{margin-top:1rem;border-top:1px solid var(--border);padding-top:.85rem}
.team-more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-display);font-size:.82rem;font-weight:600;color:var(--primary)}
.team-more summary::-webkit-details-marker{display:none}
.team-more summary::after{content:"▾";transition:transform .25s}
.team-more[open] summary::after{transform:rotate(180deg)}
.team-more .team-more-close{display:none}
.team-more[open] .team-more-open{display:none}
.team-more[open] .team-more-close{display:inline}
.team-bio{margin-top:.75rem;animation:teamIn .25s ease}
.team-bio p{font-size:.92rem;line-height:1.7;color:var(--muted-foreground)}
.team-bio p + p{margin-top:.6rem}
@keyframes teamIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.team-more summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.team-bio{animation:none}.team-card{transition:none}}
/* Pop-up: obrázek a tlačítko (nové moduly) */
.sz-popup-media{margin:-.5rem -.5rem 1rem;border-radius:calc(var(--radius) * 2.5);overflow:hidden;aspect-ratio:16/9}
.sz-popup-media img{width:100%;height:100%;object-fit:cover}
.sz-popup-actions{margin-top:1.25rem}
.sz-popup-actions .btn{width:100%}

/* ===== Pop-up: rozvržení napevno podle typu ===== */
.sz-popup-content{display:flex;flex-direction:column}
.sz-popup-media{overflow:hidden;background:var(--cream)}
.sz-popup-media img{width:100%;height:100%;object-fit:cover;display:block}
/* Informační — obrázek nahoře přes celou šířku */
.sz-popup--top .sz-popup-media{margin:-1.75rem -1.75rem 1.25rem;border-radius:calc(var(--radius) * 3) calc(var(--radius) * 3) 0 0;aspect-ratio:16/9}
/* Sleva — obrázek vlevo, text vpravo (víc místa na formulář) */
/* Neutrální — obrázek vpravo, text vlevo */
@media(min-width:680px){
  .sz-popup--left,.sz-popup--right{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:0;align-items:stretch;padding:0;overflow:hidden;max-width:760px}
  .sz-popup--right{grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr)}
  .sz-popup--left .sz-popup-media,.sz-popup--right .sz-popup-media{margin:0;border-radius:0;height:100%;min-height:340px}
  .sz-popup--right .sz-popup-media{order:2}
  .sz-popup--left .sz-popup-content,.sz-popup--right .sz-popup-content{padding:2.25rem;justify-content:center}
  .sz-popup--right .sz-popup-content{order:1}
  .sz-popup--left.sz-popup--noimg,.sz-popup--right.sz-popup--noimg{display:block;padding:1.75rem;max-width:460px}
}
@media(max-width:679px){
  .sz-popup--left .sz-popup-media,.sz-popup--right .sz-popup-media{margin:-1.75rem -1.75rem 1.25rem;border-radius:calc(var(--radius) * 3) calc(var(--radius) * 3) 0 0;aspect-ratio:16/9}
}
/* Slevový kód na potvrzovací stránce */
.nl-code{margin-top:2rem;border:2px dashed var(--primary);border-radius:calc(var(--radius) * 3);background:var(--cream);padding:1.75rem;text-align:center}
.nl-code-label{font-family:var(--font-display);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--primary)}
.nl-code-value{margin-top:.6rem;font-family:var(--font-display);font-size:2rem;font-weight:700;letter-spacing:.12em;color:var(--primary)}
.nl-code-note{margin-top:.75rem;font-size:.9rem;color:var(--muted-foreground)}

/* ===== Plynulé objevování obsahu při rolování ===== */
/* Bez JS / s vypnutým efektem je obsah normálně viditelný — nic se neschová. */
/* Pozn.: záměrně BEZ will-change — na desítkách prvků vytváří tolik grafických
   vrstev, že se rolování (a hlavně velký hero obrázek) začne sekat. */
html.reveal-on .reveal{opacity:0;transform:translateY(16px);
  transition:opacity .5s ease-out,transform .5s ease-out}
html.reveal-on .reveal.is-visible{opacity:1;transform:none}
/* Po dokončení animace prvek „uvolníme" — nedrží žádnou vrstvu ani přechod */
html.reveal-on .reveal.reveal-done{transition:none}
/* Karty ve skupině se objeví s jemným odstupem za sebou */
html.reveal-on .news-grid > .reveal:nth-child(2),
html.reveal-on .p-grid > .reveal:nth-child(2),
html.reveal-on .team > .reveal:nth-child(2),
html.reveal-on .gallery-full > .reveal:nth-child(2){transition-delay:.08s}
html.reveal-on .news-grid > .reveal:nth-child(3),
html.reveal-on .p-grid > .reveal:nth-child(3),
html.reveal-on .team > .reveal:nth-child(3),
html.reveal-on .gallery-full > .reveal:nth-child(3){transition-delay:.16s}
html.reveal-on .p-grid > .reveal:nth-child(n+4),
html.reveal-on .gallery-full > .reveal:nth-child(n+4){transition-delay:.22s}
@media(prefers-reduced-motion:reduce){
  html.reveal-on .reveal{opacity:1;transform:none;transition:none}
}

/* ===== Prodejna — volný text pod otevírací dobou ===== */
.shop-extra{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--border);max-width:52rem}
.shop-extra > :first-child{margin-top:0}
.shop-extra h2,.shop-extra h3{font-family:var(--font-display);letter-spacing:-.02em}
.shop-extra li{margin:.35rem 0}

/* ===== Prodejna — mapa s jablkem ===== */
.shop-map{height:440px;overflow:hidden;border:1px solid var(--border);background:var(--cream);z-index:0;position:relative}
@media(max-width:640px){.shop-map{height:360px}}
/* Značka: dodaná ikona jablka se stromem (beze změny vzhledu), vznáší se nahoru/dolů.
   Pod ní stín na zemi, který se zmenšuje, když je jablko výš — působí to jako vznášení. */
.map-apple{background:none;border:0;cursor:pointer}
.map-apple img{position:relative;z-index:2;display:block;width:41px;height:52px;
  animation:appleFloat 2.6s ease-in-out infinite;transition:scale .2s ease;transform-origin:50% 100%}
.map-apple:hover img,.map-apple:focus-visible img{scale:1.08}
@keyframes appleFloat{0%,100%{translate:0 0}50%{translate:0 -7px}}
.map-apple-pulse{position:absolute;z-index:1;left:50%;bottom:-3px;width:26px;height:7px;margin-left:-13px;
  border-radius:50%;background:rgba(60,25,15,.3);animation:appleShadow 2.6s ease-in-out infinite}
@keyframes appleShadow{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(.65);opacity:.28}}
@media(prefers-reduced-motion:reduce){.map-apple img,.map-apple-pulse{animation:none}}
/* Bublina ve stylu webu */
.map-popup .leaflet-popup-content-wrapper{border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,.18);padding:0}
.map-popup .leaflet-popup-content{margin:16px 18px;font-family:var(--font-sans);color:var(--foreground);line-height:1.45}
.map-popup .leaflet-popup-tip{box-shadow:none}
.map-pop-name{font-family:var(--font-display);font-weight:600;font-size:15px;margin:0}
.map-pop-addr{font-size:12.5px;color:var(--muted-foreground);margin:3px 0 0}
.map-pop-q{font-size:13.5px;margin:12px 0 8px;font-weight:600}
.map-popup a.map-pop-go{display:block;text-align:center;background:var(--primary);color:var(--primary-foreground);
  border-radius:999px;padding:10px 14px;font-family:var(--font-display);font-weight:600;font-size:12px;
  letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.map-popup a.map-pop-go:hover{opacity:.9}
.map-pop-alt{font-size:12px;color:var(--muted-foreground);margin:10px 0 0;text-align:center}
.map-popup .map-pop-alt a{color:var(--primary);text-decoration:underline}
.shop-map .leaflet-control-attribution{font-size:10px}
/* Bublina po najetí na jablko v mapě — oválná, v písmu webu (nahrazuje hranatou systémovou) */
.leaflet-tooltip.map-tip{background:var(--primary);color:var(--primary-foreground);border:0;border-radius:999px;
  padding:7px 14px;font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.04em;
  white-space:nowrap;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.leaflet-tooltip-top.map-tip::before{border-top-color:var(--primary)}

/* ----- Ke stažení: úvod vlevo + seznam souborů ----- */
.dl-intro{max-width:760px}
.dl-list{display:grid;gap:1rem;max-width:980px}
.dl-item{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center;
  background:var(--card);border:1px solid var(--border);border-radius:calc(var(--radius) * 3);
  padding:1.5rem 1.75rem;transition:box-shadow .25s,transform .25s,border-color .25s}
.dl-item:hover{box-shadow:0 14px 30px rgba(0,0,0,.07);transform:translateY(-2px);border-color:rgba(0,0,0,.12)}
.dl-text h2{font-family:var(--font-display);font-size:1.3rem;font-weight:700;line-height:1.25;color:var(--foreground)}
.dl-text p{margin-top:.5rem;color:var(--muted-foreground);line-height:1.7;font-size:.98rem}
.dl-meta{margin-top:.75rem!important;font-family:var(--font-display);font-size:.7rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--primary)!important}
.dl-side{display:flex;align-items:center;gap:1.25rem}
.dl-thumb{display:grid;place-items:center;width:92px;height:116px;flex:0 0 auto;border-radius:calc(var(--radius) * 3);overflow:hidden;
  background:var(--muted);border:1px solid var(--border);color:var(--primary);transition:transform .25s,box-shadow .25s}
.dl-thumb:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.1)}
.dl-thumb.is-img{background:#fff}
.dl-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.dl-doc{display:grid;place-items:center;gap:.4rem;position:relative}
.dl-doc svg{width:40px;height:50px}
.dl-ext{font-family:var(--font-display);font-size:.62rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--primary)}
.dl-btn{white-space:nowrap}
@media(max-width:720px){
  .dl-item{grid-template-columns:1fr;gap:1.25rem}
  .dl-side{justify-content:flex-start}
  .dl-btn{flex:1}
}


/* Produkt bez fotky — místo rozbitého obrázku jemná značka jablka */
.p-noimg{position:absolute;inset:0;display:grid;place-items:center;color:var(--primary);opacity:.22}
.p-noimg svg{width:44%;height:auto;max-width:120px}


/* ----- Kontaktní formulář ----- */
.contact-form-sec{background:var(--muted)}
.cf-wrap{display:grid;gap:2.5rem;align-items:start}
@media(min-width:900px){.cf-wrap{grid-template-columns:5fr 7fr;gap:3.5rem}}
.cf-side{list-style:none;margin-top:1.75rem;display:grid;gap:1rem}
.cf-side li{display:grid;gap:.15rem;font-size:.95rem;color:var(--foreground)}
.cf-side li span{font-family:var(--font-display);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--primary)}
.cf-side a{color:var(--foreground)}
.cf-side a:hover{color:var(--primary)}
.cf-box{background:var(--card);border:1px solid var(--border);border-radius:calc(var(--radius) * 3);padding:2rem}
@media(max-width:520px){.cf-box{padding:1.35rem}}
.cf-form{display:grid;gap:1.1rem}
.cf-row{display:grid;gap:1.1rem}
@media(min-width:560px){.cf-row{grid-template-columns:1fr 1fr}}
.cf-field{display:grid;gap:.4rem}
.cf-field > span{font-family:var(--font-display);font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--foreground)}
.cf-field b{color:var(--apple);font-weight:600}
.cf-field input,.cf-field textarea{width:100%;padding:.8rem 1rem;border:1px solid var(--input);border-radius:calc(var(--radius) * 2);font-family:inherit;font-size:.95rem;background:var(--background);color:var(--foreground)}
.cf-field textarea{resize:vertical;min-height:8rem;line-height:1.6}
.cf-field input:focus,.cf-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px oklch(0.45 0.088 148 / .18)}
.cf-consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.86rem;line-height:1.55;color:var(--muted-foreground)}
.cf-consent input{margin-top:.2rem;width:1.05rem;height:1.05rem;accent-color:var(--primary);flex:0 0 auto}
.cf-consent a{color:var(--primary);text-decoration:underline}
.cf-submit{justify-self:start}
.cf-note{font-size:.78rem;color:var(--muted-foreground)}
.cf-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf-ok{background:oklch(0.45 0.088 148 / .1);border:1px solid var(--primary);color:var(--primary);border-radius:calc(var(--radius) * 2);padding:1.1rem 1.25rem;font-weight:600;line-height:1.6}
.cf-err{background:oklch(0.55 0.19 27 / .08);border:1px solid var(--apple);color:var(--apple);border-radius:calc(var(--radius) * 2);padding:.9rem 1.1rem;margin-bottom:1.25rem;font-size:.92rem}


/* ----- Aktualita: text rozdělený na číslované bloky ----- */
/* Úvod textové části — chová se jako nadpis: tučně a se zelenou linkou */
.art-lead{margin-top:1.5rem;position:relative;padding-bottom:1.1rem}
.art-lead p{font-family:var(--font-display);font-size:1.15rem;font-weight:700;line-height:1.5;color:var(--foreground);margin:0}
.art-lead p + p{margin-top:.5rem}
.art-lead::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:3px;border-radius:2px;background:var(--primary)}
@media(max-width:640px){.art-lead p{font-size:1.05rem}}
.art-blocks-band{background:var(--band);padding:4rem 0;border-top:1px solid oklch(0.9 0.025 92);border-bottom:1px solid oklch(0.9 0.025 92)}
@media(max-width:640px){.art-blocks-band{padding:2.5rem 0}}
.art-blocks{display:grid;gap:2.5rem 3rem;grid-template-columns:1fr}
@media(min-width:820px){.art-blocks{grid-template-columns:1fr 1fr}}
.art-block{position:relative}
.art-block-num{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;border:1.5px solid var(--primary);border-radius:50%;
  font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--primary);margin-bottom:1rem}
.art-block h2{font-family:var(--font-display);font-size:1.45rem;font-weight:700;line-height:1.2;color:var(--foreground);margin-bottom:.9rem}
.art-block h2{padding-bottom:.6rem;position:relative}
.art-block h2::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;border-radius:2px;background:var(--primary)}
.art-block-text{margin-top:0;font-size:.98rem}
.art-block-text > *:first-child{margin-top:0}
.art-block-text ul,.art-block-text ol{margin-left:1.1rem}
.art-block-text li{margin:.35rem 0}
.art-block-text li::marker{color:var(--primary)}
.art-figs{padding-top:0}
.art-fig{margin:0 auto;max-width:640px}
.art-fig + .art-fig{margin-top:2rem}
.art-fig img{width:100%;height:auto;border-radius:calc(var(--radius) * 3);box-shadow:0 18px 40px rgba(0,0,0,.12)}


/* ----- Galerie u aktuality: čtvercové dlaždice, při větším počtu se pás posouvá ----- */
.art-gal-section{padding-block:2.5rem}
.art-gal{overflow:hidden}
.art-gal.js-scroll{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:auto;cursor:grab;touch-action:pan-x pan-y}
.art-gal.js-scroll::-webkit-scrollbar{display:none}
.art-gal.js-scroll.je-tazeno{cursor:grabbing;user-select:none}
.art-gal-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:.75rem}
@media(max-width:900px){
  .art-gal:not(.is-moving){overflow-x:auto;scroll-snap-type:x mandatory}
  .art-gal:not(.is-moving) .art-gal-track{grid-auto-columns:minmax(150px,1fr);width:max-content}
  .art-gal.is-moving .art-gal-track{grid-auto-columns:minmax(150px,150px)}
  .art-gal-item{scroll-snap-align:start}
}
.art-gal.is-moving .art-gal-track{grid-auto-columns:minmax(180px,180px);width:max-content;animation:artGal 42s linear infinite}
.art-gal.js-scroll .art-gal-track{animation:none!important;transform:none!important}
.art-gal.is-moving:hover .art-gal-track{animation-play-state:paused}
.art-gal.is-moving:has(:focus-visible) .art-gal-track{animation-play-state:paused}
@keyframes artGal{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.art-gal.is-moving .art-gal-track{animation:none;overflow-x:auto}}
.art-gal-item{position:relative;aspect-ratio:1;border-radius:calc(var(--radius) * 3);overflow:hidden;background:var(--cream);
  border:0;padding:0;cursor:pointer;display:block;transition:transform .3s,box-shadow .3s}
.art-gal-item:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,0,0,.14)}
.art-gal-item:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.art-gal-item img,.art-gal-thumb{width:100%;height:100%;object-fit:cover;display:block;background:#151d18}
.art-gal-blank{display:block;width:100%;height:100%;background:linear-gradient(160deg,#28352c,#151d18)}
.art-gal-play{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.art-gal-play svg{width:46px;height:46px;color:#fff;filter:drop-shadow(0 3px 10px rgba(0,0,0,.5))}
.art-gal-item.is-video img,.art-gal-item.is-video .art-gal-thumb{filter:brightness(.72)}
/* Úvod uprostřed krémového pásu */
.art-lead-center{max-width:56rem;margin:0 auto 3rem;text-align:center;padding-bottom:1.4rem}
.art-lead-center::after{left:50%;transform:translateX(-50%)}


.lb-video{max-width:min(92vw,1100px);max-height:82vh;border-radius:8px;background:#000;opacity:0;transition:opacity .25s}
.lb-video.is-in{opacity:1}


/* Video v hlavní galerii */
.gal-btn{position:relative}
.gal-blank{display:block;width:100%;background:linear-gradient(160deg,#28352c,#151d18)}
.gal-play{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.gal-play svg{width:54px;height:54px;color:#fff;filter:drop-shadow(0 3px 10px rgba(0,0,0,.5))}
.gal-video img,.gal-video .gal-thumb{filter:brightness(.72)}
.gal-thumb{width:100%;object-fit:cover;display:block;background:#151d18}


/* ----- Stránka „nenalezeno" (404) ----- */
.e404{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;isolation:isolate;padding:4rem 1.25rem}
.e404-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
/* Tmavý závoj, aby byl text čitelný na jakékoli fotce */
.e404-stin{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(12,20,16,.55) 0%,rgba(12,20,16,.68) 55%,rgba(12,20,16,.8) 100%)}
.e404-bez-foto{background:var(--foreground)}
.e404-obsah{max-width:44rem;text-align:center;color:#fff}
.e404-cislo{font-family:var(--font-display);font-weight:800;line-height:.82;letter-spacing:-.03em;
  font-size:clamp(6rem,22vw,15rem);color:#fff;margin:0 0 1.5rem;text-shadow:0 8px 40px rgba(0,0,0,.35)}
.e404-tecka{color:var(--leaf-soft)}   /* jablková zeleň značky místo neutrální bílé */
.e404-eyebrow{display:block;font-family:var(--font-display);font-size:.72rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.e404-nadpis{font-size:clamp(1.8rem,5vw,2.9rem);font-weight:700;color:#fff;margin:.6rem 0 0;line-height:1.2}
.e404-text{margin:1rem auto 0;max-width:34rem;font-size:1.05rem;line-height:1.7;color:rgba(255,255,255,.86)}
.e404-btn{margin-top:2.25rem;display:inline-flex;align-items:center;gap:.6rem;padding:1rem 2rem;font-size:1rem}
.e404-btn svg{width:20px;height:20px;transition:transform .25s}
.e404-btn:hover svg{transform:translateX(4px)}
@media(max-width:640px){
  .e404{min-height:88svh;padding:3rem 1rem}
  .e404-btn{width:100%;justify-content:center}
}
