/*
Theme Name: Kvetinová sieň
Theme URI: https://lunvio.sk
Author: Lunvio
Author URI: https://lunvio.sk
Description: Bloková téma pre e-shop Kvetinová sieň. Celý web sa upravuje priamo v editore — klikneš do textu a prepíšeš ho, sekcie presúvaš myšou. WooCommerce, osobný odber, výber dátumu a času vyzdvihnutia. Krémovo-zlatá paleta, bez zelenej.
Version: 3.8
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kvetinova-sien
Tags: e-commerce, full-site-editing, block-patterns, custom-menu, featured-images, translation-ready
*/

/* ==========================================================
   Väčšina vzhľadu je v theme.json.
   Tu je len to, čo sa cez theme.json spraviť nedá:
   vlastné sekcie, WooCommerce a responzivita.
   ========================================================== */

:root{
  --krem:#F7F3EA; --biela:#FFFFFF;
  --zlata:#B8974E; --zlata-tm:#9A7B36; --zlata-sv:#D4BC8A;
  --hneda:#3E332B; --hneda-sv:#7A6A5C;
  --pudrova:#E9D6CF; --pudrova-tm:#C9A9A0;
  --linka:#E6DDCC; --tmava:#332A23;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --r-btn:7px; --r-karta:10px; --r-velky:14px;
  --tien:0 16px 38px rgba(62,51,43,.10);
  --sirka:1180px;
}

html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--zlata);outline-offset:3px;border-radius:4px}

/* ---------- odhalenie pri scrolle ----------
   Triedu .ks-odhal pridáva skript sám — aj blokom, ktoré
   vložíš v editore. Netreba nič označovať ručne.
   Atribút data-poradie rozbieha prvky v jednom riadku
   postupne za sebou, nie všetky naraz. */
.ks-odhal{
  opacity:0;transform:translateY(24px);
  transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1);
  will-change:opacity,transform
}
.ks-odhal.vidno{opacity:1;transform:none;will-change:auto}
.ks-odhal[data-poradie="1"]{transition-delay:.09s}
.ks-odhal[data-poradie="2"]{transition-delay:.18s}
.ks-odhal[data-poradie="3"]{transition-delay:.27s}
.ks-odhal[data-poradie="4"]{transition-delay:.36s}

/* v editore nesmie byť nič skryté */
.wp-admin .ks-odhal,.block-editor-page .ks-odhal,
.editor-styles-wrapper .ks-odhal{
  opacity:1!important;transform:none!important;transition:none!important
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ks-odhal{opacity:1;transform:none;transition:none}
  .ks-odhal[data-poradie]{transition-delay:0s}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ==========================================================
   HLAVIČKA
   ========================================================== */
.ks-oznam{font-size:clamp(11.5px,2.6vw,13px);letter-spacing:.3px;line-height:1.5}
.ks-oznam p{margin:0}
.ks-oznam strong{color:var(--zlata-sv);font-weight:500}

.ks-hlavicka{
  background:rgba(247,243,234,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--linka);position:sticky;top:0;z-index:60;
  transition:box-shadow .25s,padding .25s
}
.ks-hlavicka.zmensena{box-shadow:0 4px 20px rgba(62,51,43,.06)}

/* Menu vľavo, značka presne v strede, účet a košík vpravo.
   Značka je polohovaná absolútne zámerne — WooCommerce si do hlavičky
   sám pridáva ikonu účtu, takže počet prvkov v riadku nie je stály
   a mriežka by sa rozsypala. */
.ks-hl-riadok{
  display:flex!important;align-items:center;flex-wrap:nowrap;
  gap:14px;position:relative;min-height:48px
}
.ks-hl-riadok > .ks-nav{flex:1 1 auto;min-width:0}
.ks-hl-riadok > .ks-znacka{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  text-align:center;margin:0;pointer-events:auto;z-index:1
}
.ks-hl-riadok > .wp-block-woocommerce-customer-account{margin-left:auto;flex:0 0 auto}
.ks-hl-riadok > .ks-kosik{flex:0 0 auto;margin-left:auto}
.ks-hl-riadok > .wp-block-woocommerce-customer-account + .ks-kosik{margin-left:0}
.ks-hl-riadok .wc-block-customer-account{color:var(--hneda)}

.ks-znacka .wp-block-site-logo{display:flex;justify-content:center}
.ks-hlavicka .wp-block-site-logo img{max-height:58px;width:auto;transition:.25s}
.ks-hlavicka.zmensena .wp-block-site-logo img{max-height:42px}
.ks-znacka .wp-block-site-title{white-space:nowrap}

.ks-hlavicka .wp-block-navigation{flex-wrap:nowrap}
.ks-hlavicka .wp-block-navigation a{padding:4px 0;border-bottom:1.5px solid transparent;transition:.2s}
.ks-hlavicka .wp-block-navigation a:hover,
.ks-hlavicka .wp-block-navigation .current-menu-item a{
  border-color:var(--zlata);color:var(--zlata-tm);text-decoration:none
}

@media(max-width:1000px){
  .ks-hl-riadok > .ks-nav{flex:0 0 auto}
  .ks-hl-riadok > .ks-znacka{
    position:static;transform:none;flex:1 1 auto;margin:0 8px
  }
  .ks-znacka .wp-block-site-title{font-size:19px}
}

/* košík v hlavičke */
.ks-kosik .wc-block-mini-cart__button{
  background:var(--zlata);color:#fff;padding:10px 18px;border-radius:var(--r-btn);
  font-family:var(--sans);font-size:13px;font-weight:500;min-height:42px;gap:8px
}
.ks-kosik .wc-block-mini-cart__button:hover{background:var(--zlata-tm)}
.ks-kosik .wc-block-mini-cart__badge{background:rgba(255,255,255,.28);color:#fff;border:none}

/* ==========================================================
   SEKCIE NA CELÚ ŠÍRKU
   Pásy s pozadím musia ísť od kraja po kraj, nech je okolo
   nich čokoľvek. Obsah vnútri si drží šírku 1180 px.
   ========================================================== */
.wp-block-post-content > .alignfull{
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding-left:clamp(18px,4vw,28px);
  padding-right:clamp(18px,4vw,28px)
}

/* ==========================================================
   ÚVODNÝ BLOK
   ========================================================== */
.ks-stitok{
  font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:3px;
  color:var(--zlata-tm);margin:0 0 16px
}
.ks-hero{align-items:center}
.ks-hero h1 em{font-style:italic;color:var(--zlata)}
.ks-hero .ks-hero-text{color:var(--hneda-sv);max-width:430px}
.ks-obrazok{
  border-radius:var(--r-velky);overflow:hidden;
  min-height:clamp(280px,46vw,500px);background-size:cover;background-position:center
}
.ks-obrazok img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-velky)}

/* ==========================================================
   PÁS DÔVERY
   ========================================================== */
.ks-dovera{border-top:1px solid var(--linka);border-bottom:1px solid var(--linka)}
.ks-dovera .wp-block-column{padding:24px 16px;text-align:center}
.ks-dovera .wp-block-column + .wp-block-column{border-left:1px solid var(--linka)}
.ks-dovera h4{margin:0 0 2px;font-weight:600}
.ks-dovera p{margin:0;font-size:13.5px;color:var(--hneda-sv)}

/* ==========================================================
   NADPIS SEKCIE
   ========================================================== */
.ks-nadpis{text-align:center;max-width:560px;margin-left:auto;margin-right:auto}
.ks-nadpis p:last-child{color:var(--hneda-sv);font-size:15.5px}

/* ==========================================================
   KATEGÓRIE — dlaždice
   ========================================================== */
.ks-kat.wp-block-cover{
  border-radius:var(--r-velky);overflow:hidden;
  min-height:clamp(230px,28vw,330px);align-items:flex-end;
  transition:transform .28s,box-shadow .28s;padding:26px
}
.ks-kat.wp-block-cover:hover{transform:translateY(-5px);box-shadow:var(--tien)}
.ks-kat .wp-block-cover__inner-container{width:100%}
.ks-kat h3{color:#fff;margin:0 0 3px}
.ks-kat p{color:rgba(255,255,255,.9);font-size:13.5px;margin:0 0 12px}

/* fotka sa pri prejdení myšou jemne priblíži */
.ks-kat .wp-block-cover__image-background,
.ks-kat .wp-block-cover__background{transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.ks-kat:hover .wp-block-cover__image-background,
.ks-kat:hover .wp-block-cover__background{transform:scale(1.06)}

.ks-kat .ks-sipka{
  font-size:12.5px;font-weight:500;letter-spacing:1.2px;color:#fff;
  display:inline-block;transition:transform .25s
}
.ks-kat:hover .ks-sipka{transform:translateX(7px)}
.ks-kat .ks-sipka a{color:#fff;text-decoration:none}
.ks-kat .ks-sipka a:hover{text-decoration:none}

/* ==========================================================
   AKO TO FUNGUJE
   ========================================================== */
.ks-krok{text-align:center}
.ks-krok p{font-size:14.5px;color:var(--hneda-sv)}
.ks-krok p.ks-cislo,.ks-cislo{
  width:60px;height:60px;border:1.5px solid var(--zlata);border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;
  font-family:var(--serif);font-size:26px;line-height:1;color:var(--zlata);
  transition:background .3s,color .3s,transform .3s
}
.ks-krok:hover .ks-cislo{background:var(--zlata);color:#fff;transform:scale(1.06)}

/* ==========================================================
   PRÍBEH / O NÁS
   ========================================================== */
.ks-pribeh{align-items:center}
.ks-pribeh p{color:var(--hneda-sv);font-size:15.5px}
.ks-podpis{
  font-family:var(--serif);font-style:italic;font-size:20px;
  color:var(--zlata-tm);margin-top:22px
}

/* ==========================================================
   TMAVÝ PÁS S VÝZVOU
   ========================================================== */
.ks-pas{text-align:center}
.ks-pas h2{color:var(--krem)}
.ks-pas p{color:#C9BDAE;font-size:15.5px}
.ks-pas .wp-block-buttons{justify-content:center}

/* ==========================================================
   PÄTA
   ========================================================== */
.ks-pata{font-size:13.5px}
.ks-pata h4,.ks-pata .wp-block-site-title a{color:var(--krem);font-family:var(--serif);font-size:17px;font-weight:500}
.ks-pata p{color:#C4B8A9}
.ks-pata a{color:#C4B8A9;text-decoration:none;transition:.2s}
.ks-pata a:hover{color:var(--zlata-sv);text-decoration:none}
.ks-pata .wp-block-navigation{display:block}
.ks-pata .wp-block-navigation__container{display:block}
.ks-pata .wp-block-navigation-item{display:block;margin-bottom:9px}
.ks-copy{font-size:12.5px;color:#8A7E70;border-top:1px solid #453A31;padding-top:22px;gap:10px 22px}
.ks-copy p{color:#8A7E70;margin:0}
.ks-copy a{color:#8A7E70}
.ks-copy a:hover{color:var(--zlata-sv)}

@media(max-width:700px){
  .ks-copy{justify-content:center!important;text-align:center}
}

/* ==========================================================
   WOOCOMMERCE
   ========================================================== */
/* ---------- úvodný pás obchodu ---------- */
.ks-hero-obchod{
  position:relative;
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  margin-top:calc(-1 * clamp(18px,3vw,32px));
  margin-bottom:clamp(28px,3.6vw,44px);
  padding:clamp(46px,6.5vw,84px) clamp(18px,4vw,28px);
  background:
    radial-gradient(120% 130% at 78% 8%,rgba(184,151,78,.20) 0%,rgba(184,151,78,0) 58%),
    linear-gradient(158deg,#4A3C31 0%,#3E332B 52%,#312821 100%);
  text-align:center;color:#fff;overflow:hidden
}
.ks-hero-obchod__vnutro{
  max-width:640px;margin:0 auto;position:relative;z-index:1
}

.ks-hero-obchod__stitok{
  display:inline-block;
  padding:9px 20px;border-radius:999px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(212,188,138,.28);
  font-family:var(--sans);font-size:10.5px;font-weight:500;
  letter-spacing:2.4px;text-transform:uppercase;
  color:var(--zlata-sv);margin-bottom:22px
}

.ks-hero-obchod__nadpis{
  font-family:var(--serif)!important;
  font-size:clamp(36px,6.4vw,62px)!important;
  font-weight:500!important;line-height:1.05!important;
  color:#fff!important;margin:0!important;letter-spacing:-.4px
}

.ks-hero-obchod__ciarka{
  display:block;width:54px;height:2px;margin:18px auto 0;
  background:linear-gradient(90deg,var(--zlata) 0%,var(--zlata-sv) 50%,var(--zlata) 100%);
  border-radius:2px
}

.ks-hero-obchod__popis{
  margin:20px auto 0!important;max-width:470px;
  font-family:var(--sans);font-size:clamp(14.5px,1.6vw,16px);
  line-height:1.6;color:rgba(255,255,255,.76)
}
.ks-hero-obchod__popis p{margin:0;color:inherit}

.ks-hero-obchod__pocet{
  display:inline-block;margin-top:26px;
  padding:9px 20px;border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  font-family:var(--sans);font-size:13px;font-weight:500;
  color:rgba(255,255,255,.82);letter-spacing:.3px
}

@media(max-width:600px){
  .ks-hero-obchod{padding:38px 18px 34px}
  .ks-hero-obchod__stitok{font-size:9.5px;letter-spacing:2px;margin-bottom:18px}
  .ks-hero-obchod__pocet{margin-top:20px}
}

/* pôvodná hlavička archívu je skrytá — máme vlastný pás */
.woocommerce-products-header{display:none}
.woocommerce .woocommerce-breadcrumb{display:none}

/* ---------- filtre kategórií ---------- */
.ks-filtre{
  display:flex;flex-wrap:wrap;gap:9px;justify-content:center;
  margin:0 0 clamp(24px,3.2vw,36px);padding:0;width:100%;clear:both
}
.ks-chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 19px;border-radius:999px;
  border:1px solid var(--linka);background:var(--biela);
  font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.3px;
  color:var(--hneda);text-decoration:none;white-space:nowrap;
  transition:background .22s,border-color .22s,color .22s,transform .18s
}
.ks-chip:hover{
  border-color:var(--zlata);color:var(--zlata-tm);
  text-decoration:none;transform:translateY(-1px)
}
.ks-chip.je-aktivny{
  background:var(--hneda);border-color:var(--hneda);color:#fff
}
.ks-chip.je-aktivny:hover{background:var(--hneda);color:#fff}
.ks-pocet{
  font-size:11px;font-weight:400;opacity:.45;
  font-variant-numeric:tabular-nums
}
.ks-chip.je-aktivny .ks-pocet{opacity:.65}

@media(max-width:600px){
  .ks-filtre{
    flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
    margin-left:-4px;padding:2px 4px 6px
  }
  .ks-filtre::-webkit-scrollbar{display:none}
  .ks-chip{padding:9px 16px;font-size:12.5px}
}

/* ---------- riadok s počtom a radením ---------- */
.woocommerce .woocommerce-result-count{
  font-size:13px;color:var(--hneda-sv);margin:0!important;
  float:none!important;line-height:42px
}
.woocommerce .woocommerce-ordering{margin:0!important;float:none!important}
.woocommerce .woocommerce-ordering select{
  font-family:inherit;font-size:13px;font-weight:500;color:var(--hneda);
  border:1px solid var(--linka);background:var(--biela);border-radius:999px;
  padding:11px 38px 11px 18px;min-height:42px;cursor:pointer;
  transition:border-color .22s
}
.woocommerce .woocommerce-ordering select:hover{border-color:var(--zlata)}

/* počet vľavo, radenie vpravo, na mobile pod sebou */
.woocommerce.ks-obchod .woocommerce-result-count,
.woocommerce.ks-obchod .woocommerce-ordering{display:inline-block;vertical-align:middle}
.woocommerce.ks-obchod .woocommerce-ordering{float:right!important}
@media(max-width:600px){
  .woocommerce .woocommerce-result-count{display:block;line-height:1.4;margin:0 0 10px!important}
  .woocommerce.ks-obchod .woocommerce-ordering{float:none!important;display:block;width:100%}
  .woocommerce .woocommerce-ordering select{width:100%}
}

/* mriežka produktov */
/* ==========================================================
   PRODUKTOVÉ KARTY

   Biela karta, obrázok vsadený dovnútra s vlastným zaoblením,
   pod ním názov, cena a plné tlačidlo. Zaoblenie je priamo na
   obrázku — obalu sa nedotýkame, inak by krémové pozadie
   presiaklo pod text.
   ========================================================== */

/* mriežka */
.wc-block-product-template,
.wp-block-woocommerce-product-template,
.wc-block-grid__products,
.woocommerce ul.products{
  display:grid!important;grid-template-columns:repeat(3,1fr);
  gap:clamp(20px,2.6vw,30px)!important;
  list-style:none!important;padding:0!important;
  margin:0 0 clamp(30px,4vw,44px)!important
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none!important}

/* karta */
.wc-block-product-template .wc-block-product,
.wp-block-woocommerce-product-template .wc-block-product,
.wc-block-grid__product,
.woocommerce ul.products li.product{
  display:flex!important;flex-direction:column;
  background:var(--biela)!important;
  border:1px solid #F1EADE!important;
  border-radius:18px!important;
  padding:12px 12px 14px!important;margin:0!important;
  width:100%!important;float:none!important;
  text-align:left;height:100%;position:relative;overflow:visible!important;
  box-shadow:0 1px 4px rgba(62,51,43,.035);
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s cubic-bezier(.2,.7,.3,1),border-color .3s
}
.wc-block-product-template .wc-block-product:hover,
.wc-block-grid__product:hover,
.woocommerce ul.products li.product:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 36px rgba(62,51,43,.12);
  border-color:#E8DDC8!important
}

/* obal obrázka — bez pozadia, len odstup pod ním */
.wc-block-product-template .wp-block-woocommerce-product-image,
.wc-block-product-template [class*="product-image"],
.wc-block-grid__product-image,
.woocommerce ul.products li.product > a:first-of-type{
  display:block;position:relative;background:none!important;
  margin:0 0 18px!important;padding:0!important;
  border-radius:0!important;overflow:visible;line-height:0
}

/* obrázok — zaoblenie priamo naň, štvorec pre pokojnejší rad */
.wc-block-product-template img,
.wc-block-grid__product-image img,
.woocommerce ul.products li.product img{
  width:100%!important;height:auto!important;
  aspect-ratio:1/1;object-fit:cover;display:block;
  margin:0!important;border-radius:12px!important;
  background:#F4EEE2
}

/* názov */
.wc-block-product-template .wp-block-post-title,
.wc-block-product-template [class*="product-name"],
.wc-block-grid__product-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--serif)!important;
  font-size:clamp(19px,2.2vw,22px)!important;
  font-weight:600!important;line-height:1.2!important;
  color:var(--hneda)!important;background:none!important;
  margin:0 0 7px!important;padding:0 6px!important
}
.wc-block-product-template .wp-block-post-title a,
.wc-block-grid__product-title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title a{
  color:inherit;text-decoration:none;background:none
}

/* cena — odtlačí tlačidlo nadol, karty zostanú rovnako vysoké */
.wc-block-product-template .wp-block-woocommerce-product-price,
.wc-block-product-template [class*="product-price"],
.wc-block-grid__product-price,
.woocommerce ul.products li.product .price{
  font-family:var(--sans)!important;
  font-size:16px!important;font-weight:500!important;letter-spacing:.2px;
  color:var(--zlata-tm)!important;background:none!important;
  margin:0 0 auto!important;padding:0 6px 20px!important;display:block
}
.wc-block-components-product-price del,
.woocommerce ul.products li.product .price del{
  opacity:.4;font-weight:400;font-size:.75em;color:var(--hneda-sv)!important;margin-right:6px
}
.wc-block-components-product-price ins,
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--zlata-tm)!important}

/* tlačidlo — plné, cez celú šírku, mäkko zaoblené */
.wc-block-product-template .wp-block-woocommerce-product-button,
.wc-block-product-template [class*="product-button"],
.wc-block-grid__product-add-to-cart{
  width:100%!important;margin:0!important;padding:0!important;
  background:none!important;border:none!important;border-top:none!important
}
.wc-block-product-template .wp-block-woocommerce-product-button a,
.wc-block-product-template .wp-block-woocommerce-product-button button,
.wc-block-product-template [class*="product-button"] a,
.wc-block-product-template [class*="product-button"] button,
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.woocommerce ul.products li.product .button{
  display:block!important;width:100%!important;box-sizing:border-box;
  text-align:center!important;align-self:stretch!important;
  background:transparent!important;color:var(--hneda)!important;
  border:1px solid var(--hneda)!important;border-radius:999px!important;
  font-family:var(--sans)!important;font-size:11.5px!important;
  font-weight:500!important;letter-spacing:1.8px;text-transform:uppercase;
  padding:15px 18px!important;min-height:47px!important;line-height:1.2!important;
  margin:0!important;text-decoration:none;
  transition:background .25s,box-shadow .25s
}
.wc-block-product-template .wp-block-woocommerce-product-button a:hover,
.wc-block-product-template .wp-block-woocommerce-product-button button:hover,
.wc-block-product-template [class*="product-button"] a:hover,
.wc-block-product-template [class*="product-button"] button:hover,
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.woocommerce ul.products li.product .button:hover{
  background:var(--hneda)!important;color:#fff!important;border-color:var(--hneda)!important;
  transform:none!important;box-shadow:0 8px 18px rgba(62,51,43,.18)!important
}
.wc-block-components-product-button__button.added,
.woocommerce ul.products li.product .button.added{
  background:var(--zlata-tm)!important;color:#fff!important
}
.wc-block-product-template .added_to_cart,
.woocommerce ul.products li.product .added_to_cart{display:none!important}

/* štítok zľavy — v rohu obrázka */
.wc-block-components-product-sale-badge,
.woocommerce span.onsale{
  position:absolute!important;top:10px!important;left:10px!important;right:auto!important;
  background:var(--hneda)!important;color:#fff!important;border:none!important;
  border-radius:999px!important;font-family:var(--sans)!important;
  font-size:9.5px!important;font-weight:500!important;letter-spacing:1.4px;
  text-transform:uppercase;padding:7px 13px!important;line-height:1!important;
  min-height:0!important;min-width:0!important;margin:0!important;z-index:2
}

@media(max-width:860px){
  .wc-block-product-template,
  .wp-block-woocommerce-product-template,
  .wc-block-grid__products,
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:16px!important}
  .wc-block-product-template .wc-block-product,
  .wc-block-grid__product,
  .woocommerce ul.products li.product{padding:10px 10px 12px!important;border-radius:16px!important}
}
@media(max-width:520px){
  .wc-block-product-template,
  .wp-block-woocommerce-product-template,
  .wc-block-grid__products,
  .woocommerce ul.products{grid-template-columns:1fr;gap:16px!important}
  .wc-block-product-template img,
  .wc-block-grid__product-image img,
  .woocommerce ul.products li.product img{aspect-ratio:4/3}
}

@media(prefers-reduced-motion:reduce){
  .wc-block-product-template .wc-block-product:hover,
  .woocommerce ul.products li.product:hover{transform:none}
}

/* tlačidlá WooCommerce */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,
.woocommerce button.button.alt,.woocommerce input.button.alt{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--zlata);color:#fff;padding:15px 32px;
  font-family:var(--sans);font-size:13.5px;font-weight:500;letter-spacing:1.3px;
  border-radius:var(--r-btn);border:none;min-height:50px;line-height:1.2;
  transition:transform .18s,background .2s,box-shadow .2s
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{
  background:var(--zlata-tm);color:#fff;transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(184,151,78,.3)
}

/* detail produktu */
.woocommerce div.product .product_title{font-size:clamp(28px,5vw,40px);margin-bottom:10px}
.woocommerce div.product p.price,.woocommerce div.product span.price{
  font-family:var(--sans);font-size:29px;font-weight:600;color:var(--hneda)
}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--hneda-sv);margin:16px 0}
.woocommerce div.product .images img{border-radius:var(--r-velky)}
.woocommerce div.product form.cart{margin-top:22px}
.woocommerce .quantity .qty{
  font-family:inherit;font-size:15px;font-weight:600;border:1px solid var(--linka);
  border-radius:var(--r-btn);padding:13px 8px;min-height:50px;background:var(--biela)
}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;margin-bottom:0}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--linka)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:var(--biela);border-color:var(--linka);border-radius:var(--r-btn) var(--r-btn) 0 0
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--krem)}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}

/* formuláre */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select,.select2-container .select2-selection--single{
  font-family:inherit;font-size:15px;border:1px solid var(--linka);border-radius:var(--r-btn);
  padding:13px 14px;min-height:50px;background:var(--biela);color:var(--hneda)
}
.woocommerce form .form-row label{font-size:13.5px;font-weight:500;color:var(--hneda-sv);margin-bottom:5px}

/* košík a pokladňa */
.woocommerce table.shop_table{border-radius:var(--r-karta);border-color:var(--linka);background:var(--biela)}
.woocommerce table.shop_table th{font-family:var(--serif);font-size:16px;font-weight:600}
.woocommerce-cart .cart-collaterals .cart_totals>h2,
.woocommerce-checkout #order_review_heading{font-size:24px;margin-bottom:14px}
.woocommerce .cart_totals table.shop_table{background:var(--biela)}
.woocommerce-checkout #payment{background:var(--biela);border-radius:var(--r-karta)}
.woocommerce-checkout #payment div.payment_box{background:var(--krem);border-radius:var(--r-btn)}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--krem)}

/* hlášky */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-top-color:var(--zlata)!important;background:var(--biela);border-radius:var(--r-btn);
  font-size:14.5px;line-height:1.6
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--zlata)}
.woocommerce-error{border-top-color:#A2453C!important}
.woocommerce-error::before{color:#A2453C}

/* výber dátumu a času vyzdvihnutia */
.woocommerce .pickup-datum,.woocommerce-checkout .woocommerce-additional-fields{
  background:var(--biela);border:1px solid var(--linka);border-left:3px solid var(--zlata);
  border-radius:var(--r-btn);padding:20px 22px;margin:22px 0
}

/* ==========================================================
   MOBILNÁ LIŠTA
   ========================================================== */
.ks-spodny{
  display:none;position:fixed;left:0;right:0;bottom:0;background:var(--biela);
  border-top:1px solid var(--linka);padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  z-index:50;box-shadow:0 -4px 20px rgba(62,51,43,.07)
}
.ks-spodny .wp-block-button{width:100%}
.ks-spodny .wp-block-button__link{width:100%;display:block;text-align:center}

/* ==========================================================
   VÝZVA „Neviete si vybrať?" — box, nie pás cez celú šírku
   Pravidlo platí aj na stránky, kde už je sekcia vložená
   ako alignfull — preto tá prebíjacia špecificita.
   ========================================================== */
.ks-pas{
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 18px 44px rgba(62,51,43,.14)
}
.wp-block-post-content > .ks-pas.alignfull,
.wp-block-post-content > .ks-pas,
.ks-pas.alignfull{
  width:auto;
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  margin-top:clamp(30px,5vw,60px);
  margin-bottom:clamp(30px,5vw,60px);
  padding-left:clamp(24px,5vw,56px);
  padding-right:clamp(24px,5vw,56px)
}

@media(max-width:1240px){
  .wp-block-post-content > .ks-pas.alignfull,
  .wp-block-post-content > .ks-pas,
  .ks-pas.alignfull{
    max-width:calc(100% - 36px)
  }
}
@media(max-width:520px){
  .ks-pas{border-radius:14px}
}

/* text vľavo, kvetinárka vpravo */
.ks-vyzva{align-items:center;gap:clamp(18px,3vw,40px)}
.ks-vyzva .ks-vyzva-text h2{margin-top:0}
.ks-vyzva .ks-vyzva-text p{color:rgba(255,255,255,.82);max-width:34ch}

.ks-vyzva-obrazok{align-self:flex-end}
.ks-vyzva-obrazok figure{margin:0;line-height:0}
.ks-vyzva-obrazok img{
  display:block;width:100%;height:auto;max-width:360px;
  margin-left:auto;margin-right:0;
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.28))
}

@media(max-width:781px){
  .ks-vyzva{flex-direction:column-reverse!important;text-align:center;gap:18px}
  .ks-vyzva .ks-vyzva-text,
  .ks-vyzva .ks-vyzva-obrazok{flex-basis:100%!important;width:100%}
  .ks-vyzva .ks-vyzva-text p{max-width:none;margin-left:auto;margin-right:auto}
  .ks-vyzva .wp-block-buttons{justify-content:center}
  .ks-vyzva-obrazok img{max-width:230px;margin-left:auto;margin-right:auto}
}

/* ==========================================================
   ŽIVÉ DETAILY
   Drobnosti, ktoré platia aj na obsah pridaný v editore.
   ========================================================== */

/* tlačidlá v obsahu — rovnaké správanie ako v obchode */
.wp-block-button__link{
  transition:transform .18s,background .2s,box-shadow .2s,color .2s
}
.wp-block-button__link:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(184,151,78,.28)
}
.wp-block-button__link:active{transform:translateY(0)}

/* obrázok, ktorý je odkazom — jemné priblíženie */
main .wp-block-image a{display:block;overflow:hidden;border-radius:var(--r-karta)}
main .wp-block-image a img{
  transition:transform .55s cubic-bezier(.2,.7,.3,1);will-change:transform
}
main .wp-block-image a:hover img{transform:scale(1.045)}

/* galéria */
main .wp-block-gallery figure.wp-block-image{overflow:hidden;border-radius:var(--r-karta)}
main .wp-block-gallery figure.wp-block-image img{
  transition:transform .5s cubic-bezier(.2,.7,.3,1)
}
main .wp-block-gallery figure.wp-block-image:hover img{transform:scale(1.05)}

/* odkazy v texte — podčiarknutie nabehne zľava */
main p a:not(.wp-block-button__link),
main li a:not(.wp-block-button__link){
  color:var(--zlata-tm);text-decoration:none;
  background-image:linear-gradient(var(--zlata),var(--zlata));
  background-size:0 1.5px;background-position:0 100%;
  background-repeat:no-repeat;
  transition:background-size .3s cubic-bezier(.2,.7,.3,1),color .2s;
  padding-bottom:2px
}
main p a:not(.wp-block-button__link):hover,
main li a:not(.wp-block-button__link):hover{
  background-size:100% 1.5px;color:var(--hneda)
}

/* formulárové polia */
input[type=text],input[type=email],input[type=tel],input[type=search],
input[type=password],input[type=number],textarea,select{
  transition:border-color .22s,box-shadow .22s
}
input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,
input[type=search]:focus,input[type=password]:focus,input[type=number]:focus,
textarea:focus,select:focus{
  border-color:var(--zlata);
  box-shadow:0 0 0 3px rgba(184,151,78,.16);outline:none
}

@media(prefers-reduced-motion:reduce){
  main .wp-block-image a:hover img,
  main .wp-block-gallery figure.wp-block-image:hover img{transform:none}
  .wp-block-button__link:hover{transform:none}
}

/* ==========================================================
   RESPONZIVITA
   ========================================================== */
@media(max-width:860px){
  .ks-dovera .wp-block-column + .wp-block-column{border-left:none;border-top:1px solid var(--linka)}
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
  .ks-obrazok{min-height:250px}
  .ks-spodny{display:block}
  body{padding-bottom:78px}
}
@media(max-width:520px){
  .woocommerce ul.products{grid-template-columns:1fr;gap:18px}
  .woocommerce ul.products li.product a img{aspect-ratio:16/11}
  .ks-hero .wp-block-buttons{flex-direction:column;align-items:stretch}
  .ks-hero .wp-block-button{width:100%}
  .ks-hero .wp-block-button__link{display:block;text-align:center}
}

/* ==========================================================
   KONTAKTNÝ FORMULÁR
   ========================================================== */

.ks-form{max-width:640px;margin:0 auto}

.ks-form-pole{margin:0 0 20px}

.ks-form-pole label{
  display:block;margin:0 0 7px;
  font-family:var(--sans);font-size:14px;font-weight:500;
  color:var(--hneda);letter-spacing:.02em
}

.ks-form-pole label span[aria-hidden]{color:var(--zlata);font-weight:600}

.ks-form input[type="text"],
.ks-form input[type="email"],
.ks-form input[type="tel"],
.ks-form textarea{
  width:100%;box-sizing:border-box;
  padding:14px 16px;
  font-family:var(--sans);font-size:16px;color:var(--hneda);
  background:var(--biela);
  border:1px solid var(--linka);border-radius:12px;
  transition:border-color .18s ease,box-shadow .18s ease
}

.ks-form input:focus,
.ks-form textarea:focus{
  outline:none;border-color:var(--zlata);
  box-shadow:0 0 0 3px rgba(184,151,78,.16)
}

.ks-form textarea{resize:vertical;min-height:140px;line-height:1.6}

/* pasca na roboty */
.ks-form-pasca{
  position:absolute!important;width:1px;height:1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap
}

.ks-form-suhlas{margin:0 0 24px}

.ks-form-suhlas label{
  display:flex;align-items:flex-start;gap:10px;
  font-family:var(--sans);font-size:14px;line-height:1.55;
  color:var(--hneda-sv);cursor:pointer
}

.ks-form-suhlas input[type="checkbox"]{
  margin:2px 0 0;flex:0 0 auto;
  width:18px;height:18px;accent-color:var(--zlata)
}

.ks-form-suhlas a{color:var(--hneda);text-decoration:underline}
.ks-form-suhlas a:hover{color:var(--zlata)}

.ks-form-odoslat{margin:0 0 16px}

.ks-form-odoslat button{
  display:inline-block;padding:15px 34px;
  font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:.04em;
  color:var(--biela);background:var(--hneda);
  border:0;border-radius:999px;cursor:pointer;
  transition:background .18s ease,transform .18s ease
}

.ks-form-odoslat button:hover{background:var(--zlata);transform:translateY(-1px)}

.ks-form-alternativa{
  font-family:var(--sans);font-size:14px;color:var(--hneda-sv);margin:0
}

.ks-form-sprava{
  padding:16px 20px;margin:0 0 24px;border-radius:12px;
  font-family:var(--sans);font-size:15px;line-height:1.55
}

.ks-form-ok{
  background:#EFF5EC;border:1px solid #CFE0C6;color:#3C5732
}

.ks-form-chyba{
  background:#FBEFEF;border:1px solid #EBCFCF;color:#8A3A3A
}

@media(max-width:600px){
  .ks-form-odoslat button{width:100%}
}


/* ==========================================================
   DOLADENIE VZHĽADU — v3.8
   ========================================================== */

/* Karty produktov: padding sa nesmie pripočítať k šírke,
   inak karta na mobile vytŕča z obrazovky */
.wc-block-product-template .wc-block-product,
.wp-block-woocommerce-product-template .wc-block-product,
.wc-block-grid__product,
.woocommerce ul.products li.product{box-sizing:border-box!important;max-width:100%}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
.wc-block-product-template .wp-block-woocommerce-product-image{margin-bottom:16px!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-product-template .wp-block-post-title{padding:0 6px!important;margin:0 0 6px!important}

/* Dlaždice kategórií s fotkou — tmavší spodok, aby bol text čitateľný */
.ks-kat.wp-block-cover::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(51,42,35,0) 30%,rgba(51,42,35,.78) 100%);
}
.ks-kat .wp-block-cover__inner-container{position:relative;z-index:2}
.ks-kat h3{font-size:clamp(26px,2.4vw,32px)!important;text-shadow:0 2px 14px rgba(0,0,0,.18)}

/* Nadpis bežných stránok — na stred so zlatou linkou */
body.page:not(.home) main > .wp-block-post-title{
  text-align:center;font-weight:500;
  font-size:clamp(40px,5vw,60px)!important;line-height:1.05;
  margin-bottom:clamp(34px,5vw,56px)!important;
}
body.page:not(.home) main > .wp-block-post-title::after{
  content:"";display:block;width:54px;height:2px;margin:20px auto 0;border-radius:2px;
  background:linear-gradient(90deg,var(--zlata) 0%,var(--zlata-sv) 50%,var(--zlata) 100%);
}

/* Dlhé texty (obchodné podmienky, reklamácie, ochrana údajov…) */
body.page:not(.home) .wp-block-post-content > h2{
  font-size:clamp(25px,2.6vw,31px)!important;font-weight:500;line-height:1.2;
  margin:2.1em 0 .7em!important;padding-top:1.1em;border-top:1px solid var(--linka);
}
body.page:not(.home) .wp-block-post-content > h2:first-child{border-top:0;padding-top:0;margin-top:0!important}
body.page:not(.home) .wp-block-post-content > h3{font-size:21px!important;font-weight:600;margin:1.6em 0 .5em!important}
body.page:not(.home) .wp-block-post-content > p,
body.page:not(.home) .wp-block-post-content > ul,
body.page:not(.home) .wp-block-post-content > ol{font-size:16px;line-height:1.75;color:var(--hneda)}
body.page:not(.home) .wp-block-post-content > ul li,
body.page:not(.home) .wp-block-post-content > ol li{margin-bottom:6px}
body.page:not(.home) .wp-block-post-content > ul li::marker{color:var(--zlata)}

/* ---------- Kontakt ---------- */
.ks-kontakt{
  gap:clamp(20px,3vw,36px)!important;align-items:stretch!important;
  max-width:1080px!important;margin-left:auto!important;margin-right:auto!important;
}
.ks-kontakt-karta{
  background:var(--biela);border:1px solid var(--linka);border-radius:24px;
  padding:clamp(24px,3.4vw,40px);height:100%;box-sizing:border-box;
}
.ks-kontakt-karta h2{font-size:clamp(28px,2.8vw,34px)!important;font-weight:500;margin:0 0 22px!important}
.ks-kontakt-riadky{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:18px}
.ks-kontakt-riadky li{display:flex;gap:14px;align-items:flex-start;font-size:15.5px;line-height:1.5}
.ks-kontakt-riadky li > span:first-child{
  flex:0 0 42px;width:42px;height:42px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:#FBF8F2;border:1px solid var(--linka);color:var(--zlata-tm);
}
.ks-kontakt-riadky svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ks-kontakt-riadky small{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--hneda-sv);margin-bottom:2px}
.ks-kontakt-riadky a{color:var(--hneda);text-decoration:none}
.ks-kontakt-riadky a:hover{color:var(--zlata-tm)}
.ks-kontakt-pozn{
  font-size:14px;color:var(--hneda-sv);background:#FBF8F2;border-radius:14px;
  padding:14px 16px;margin:0;border-left:3px solid var(--zlata);
}
.ks-kontakt-karta .ks-form{margin:0}

/* ---------- O nás ---------- */
.ks-hodnoty .wp-block-column{
  background:var(--biela);border:1px solid var(--linka);border-radius:22px;
  padding:clamp(24px,3vw,34px)!important;text-align:center;
}
.ks-hodnoty h3{font-size:24px!important;font-weight:500;margin:14px 0 8px!important}
.ks-hodnoty p{font-size:15px;color:var(--hneda-sv);margin:0}
.ks-hodnoty .ks-cislo-maly{
  display:inline-flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:50%;border:1.5px solid var(--zlata);
  font-family:var(--serif);font-size:22px;color:var(--zlata);margin:0 auto!important;
}
.ks-navsteva{
  background:var(--hneda);color:var(--krem);border-radius:28px;
  padding:clamp(30px,5vw,56px)!important;text-align:center;
}
.ks-navsteva h2{color:var(--krem)!important}
.ks-navsteva p{color:rgba(247,243,234,.82)}
.ks-navsteva strong{color:var(--zlata-sv);font-weight:500}

@media(max-width:781px){
  .ks-hodnoty .wp-block-column + .wp-block-column{margin-top:0}
}
.ks-onas-uvod{
  text-align:center;max-width:620px!important;margin-left:auto!important;margin-right:auto!important;
  font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.4vw,28px)!important;
  line-height:1.4;color:var(--hneda-sv);
}
.ks-onas-pribeh{max-width:1080px!important;margin-left:auto!important;margin-right:auto!important}
.ks-onas-foto{margin:0}
.ks-onas-foto img{
  width:100%;aspect-ratio:4/5;object-fit:cover;display:block;
  border-radius:26px;box-shadow:0 26px 60px rgba(62,51,43,.16);
}
.ks-onas-pribeh h2{font-size:clamp(32px,3.6vw,44px)!important;font-weight:500;margin:0 0 18px!important}
.ks-onas-pribeh p{font-size:16.5px!important;line-height:1.8}
.ks-onas-hodnoty-obal{max-width:1080px!important;margin-left:auto!important;margin-right:auto!important;text-align:center}
.ks-onas-hodnoty-obal h2{font-size:clamp(30px,3.4vw,42px)!important;font-weight:500}
.ks-navsteva{max-width:1080px!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
.ks-navsteva h2{font-size:clamp(30px,3.4vw,42px)!important;font-weight:500;margin:0 0 14px!important}
.ks-btn-svetly .wp-block-button__link{
  color:var(--krem)!important;border:1px solid rgba(247,243,234,.55)!important;background:transparent!important;
}
.ks-btn-svetly .wp-block-button__link:hover{background:var(--krem)!important;color:var(--hneda)!important}
@media(max-width:781px){
  .ks-onas-pribeh .wp-block-column{flex-basis:100%!important}
}

/* Obchod a kategórie — rovnaká šírka ako hlavička */
main > .content-area.alignwide{
  max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;
  box-sizing:border-box;
}
