
:root{
  --brown:#8b4b2d;
  --cream:#faf7f1;
  --ink:#29231f;
  --line:#e6ddd3;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--cream);color:var(--ink)}
a{color:inherit}
.site-wrap{max-width:1180px;margin:0 auto;padding:0 18px}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.header-row{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{text-decoration:none;color:var(--brown)}
.brand strong{display:block;font:700 28px Georgia,serif;letter-spacing:.5px}
.brand small{display:block;font-size:11px;color:#777;letter-spacing:.7px;margin-top:2px}
.main-nav .mod-menu{display:flex;gap:22px;list-style:none;padding:0;margin:0}
.main-nav a{text-decoration:none;font-weight:700}
.hero-banner{margin-top:20px;overflow:hidden;border-radius:22px 22px 0 0;background:#fff}
.hero-banner img{display:block;width:100%;height:auto}
.hero-info{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid var(--line);border-top:none;border-radius:0 0 22px 22px;padding:18px 24px}
.hero-info p{margin:8px 0 0;line-height:1.55;color:#5f554f}
.hero-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.pill{display:inline-block;background:#eee0d3;color:#76452e;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:700}
.btn{display:inline-block;background:var(--brown);color:#fff;padding:12px 16px;border-radius:11px;text-decoration:none;font-weight:700}
.btn-outline{background:#fff;color:var(--brown);border:1px solid #cba88d}
.content-area{padding:32px 0 28px}
.content-area h1,.content-area h2,.content-area h3{font-family:Georgia,serif}
.site-footer{margin-top:30px;border-top:1px solid var(--line);padding:30px 0 45px;color:#777}
.blog-items,.blog-items.columns-2,.blog-items.columns-3{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.blog-item,.item-content{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
}
.blog-item .item-content{border:0;border-radius:0;padding:16px}
.blog-item img{width:100%;height:auto;display:block}
.item-page{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
@media(max-width:900px){
  .blog-items,.blog-items.columns-2,.blog-items.columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .header-row{min-height:66px}
  .main-nav{display:none}
  .hero-info{flex-direction:column;align-items:flex-start}
  .hero-actions{justify-content:flex-start;width:100%}
}
@media(max-width:520px){
  .blog-items,.blog-items.columns-2,.blog-items.columns-3{grid-template-columns:1fr}
  .hero-actions .btn{width:100%;text-align:center}
}


/* BABINČAN 1.1 - detail výrobku */
.babincan-product{padding:4px 0 24px}
.product-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,58%) minmax(320px,42%);
  gap:32px;
  align-items:start;
}
.product-gallery-column{min-width:0}
.product-main-image-wrap{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
}
.product-main-image{
  display:block;
  width:100%;
  height:auto;
  max-height:650px;
  object-fit:contain;
  cursor:zoom-in;
}
.product-image-empty{
  min-height:420px;
  display:grid;
  place-items:center;
  color:#8a817a;
}
.product-thumbnails{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.product-thumb{
  appearance:none;
  border:2px solid transparent;
  border-radius:10px;
  padding:0;
  overflow:hidden;
  background:#fff;
  cursor:pointer;
  aspect-ratio:1/1;
}
.product-thumb.active{border-color:var(--brown)}
.product-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.product-gallery-hint{
  font-size:12px;
  color:#756b64;
  margin-top:7px;
}
.product-info-column{
  min-width:0;
  position:sticky;
  top:96px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:24px;
}
.product-info-column h1{
  margin:0 0 14px;
  font:700 28px/1.12 Georgia,serif;
}
.product-price{
  color:var(--brown);
  font-weight:800;
  font-size:30px;
  margin:8px 0 18px;
}
.product-facts{
  margin:0 0 20px;
}
.product-facts > div{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:12px;
  padding:9px 0;
  border-bottom:1px solid #efe7df;
}
.product-facts dt{font-weight:700}
.product-facts dd{margin:0;color:#5f554f}
.product-order-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.product-description{
  margin-top:24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:24px;
}
.product-description h2{
  margin:0 0 14px;
  font:700 28px Georgia,serif;
}
.product-description-body{line-height:1.65}
.product-lightbox{
  display:none;
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(0,0,0,.90);
  align-items:center;
  justify-content:center;
  padding:20px;
}
.product-lightbox.open{display:flex}
.product-lightbox img{
  max-width:94vw;
  max-height:90vh;
  object-fit:contain;
}
.product-lightbox-close{
  position:absolute;
  right:20px;
  top:12px;
  border:0;
  background:transparent;
  color:#fff;
  font-size:42px;
  cursor:pointer;
}
.product-lightbox-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  font-size:30px;
  cursor:pointer;
}
.product-lightbox-prev{left:18px}
.product-lightbox-next{right:18px}
.product-lightbox-counter{
  position:absolute;
  bottom:16px;
  left:50%;
  transform:translateX(-50%);
  background:rgba(0,0,0,.55);
  color:#fff;
  border-radius:999px;
  padding:6px 10px;
  font-size:13px;
}
@media(max-width:800px){
  .product-detail-grid{
    grid-template-columns:minmax(0,55%) minmax(0,45%);
    gap:16px;
  }
  .product-info-column{
    padding:18px;
    top:82px;
  }
  .product-info-column h1{font-size:23px}
  .product-price{font-size:25px}
  .product-facts > div{
    grid-template-columns:1fr;
    gap:3px;
  }
}
@media(max-width:520px){
  .product-detail-grid{grid-template-columns:1fr}
  .product-info-column{
    position:static;
    grid-column:1;
  }
  .product-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr))}
  .product-lightbox-prev{left:8px}
  .product-lightbox-next{right:8px}
}


/* BABINČAN 1.2 - kartička výrobku + počet pozretí */
.product-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  min-width:0;
  transition:transform .15s ease, box-shadow .15s ease;
}

.product-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(73,45,29,.09);
}

.product-card-link{
  display:block;
  height:100%;
  color:inherit;
  text-decoration:none;
}

.product-card-image{
  aspect-ratio:1/1;
  background:#f2ede8;
  overflow:hidden;
}

.product-card-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.product-card-image-empty{
  display:grid;
  place-items:center;
  height:100%;
  color:#8a817a;
  font-size:14px;
}

.product-card-body{
  padding:16px;
}

.product-card-title{
  margin:0 0 10px;
  font:700 21px/1.2 Georgia,serif;
}

.product-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:8px 0 9px;
}

.product-card-price{
  color:var(--brown);
  font-size:23px;
  font-weight:800;
}

.product-card-hits{
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
  color:#6f655e;
  font-size:13px;
  font-weight:700;
  background:#f6f1ec;
  border-radius:999px;
  padding:5px 8px;
}

.product-card-eye{
  font-size:14px;
  line-height:1;
}

.product-card-time{
  color:#746a63;
  font-size:14px;
  margin:4px 0 14px;
}

.product-card-open{
  display:inline-block;
  color:var(--brown);
  font-size:13px;
  font-weight:700;
}


/* BABINČAN 1.3 - popis v pravom stĺpci pod objednávkou */
.product-description-inline{
  margin-top:20px;
  padding:18px 0 0;
  border:0;
  border-top:1px solid #efe7df;
  border-radius:0;
  background:transparent;
}

.product-description-inline h2{
  margin:0 0 10px;
  font:700 22px Georgia,serif;
}

.product-description-inline .product-description-body{
  color:#5f554f;
  line-height:1.6;
  font-size:14px;
}

.product-info-column{
  position:static;
}


/* BABINČAN 1.4 - kategórie hore na úvodnej stránke */
.homepage-categories{
  margin:18px 0 8px;
}

.homepage-categories-title{
  font:700 22px Georgia,serif;
  margin:0 0 10px;
}

.homepage-categories .mod-menu{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  list-style:none;
  margin:0;
  padding:0;
}

.homepage-categories .mod-menu > li{
  margin:0;
  padding:0;
}

.homepage-categories .mod-menu > li > a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid #dccbbd;
  background:#fff;
  color:#6c3f29;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  transition:background .15s ease, border-color .15s ease, transform .15s ease;
}

.homepage-categories .mod-menu > li > a:hover,
.homepage-categories .mod-menu > li.active > a{
  background:#f2e5da;
  border-color:#cba88d;
  transform:translateY(-1px);
}

@media(max-width:520px){
  .homepage-categories .mod-menu{
    gap:6px;
  }

  .homepage-categories .mod-menu > li > a{
    padding:8px 11px;
    font-size:13px;
  }
}


/* BABINČAN 1.5 - kategórie v jednom riadku s obrázkom */
.homepage-categories{
  margin:18px 0 18px;
}

.homepage-categories-title{
  font:700 22px Georgia,serif;
  margin:0 0 12px;
}

.homepage-categories .mod-menu{
  display:flex !important;
  flex-wrap:wrap;
  gap:10px;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

.homepage-categories .mod-menu > li{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

.homepage-categories .mod-menu > li::marker{
  content:"";
}

.homepage-categories .mod-menu > li > a{
  display:flex !important;
  align-items:center;
  gap:9px;
  min-height:52px;
  padding:6px 12px 6px 7px;
  border:1px solid #dccbbd;
  border-radius:14px;
  background:#fff;
  color:#6c3f29;
  text-decoration:none !important;
  font-size:14px;
  font-weight:700;
  box-shadow:0 2px 8px rgba(73,45,29,.04);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.homepage-categories .mod-menu > li > a:hover,
.homepage-categories .mod-menu > li.active > a{
  background:#f7eee7;
  transform:translateY(-1px);
  box-shadow:0 5px 14px rgba(73,45,29,.08);
}

.homepage-categories .mod-menu img,
.homepage-categories .mod-menu .menu-image{
  width:40px !important;
  height:40px !important;
  min-width:40px;
  object-fit:cover;
  border-radius:9px;
  display:block;
}

.homepage-categories .mod-menu .image-title{
  margin:0 !important;
}

@media(min-width:1000px){
  .homepage-categories .mod-menu{
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:thin;
    padding-bottom:4px !important;
  }

  .homepage-categories .mod-menu > li{
    flex:0 0 auto;
  }
}

@media(max-width:640px){
  .homepage-categories .mod-menu{
    gap:7px;
  }

  .homepage-categories .mod-menu > li > a{
    min-height:46px;
    padding:5px 9px 5px 6px;
    font-size:12px;
  }

  .homepage-categories .mod-menu img,
  .homepage-categories .mod-menu .menu-image{
    width:34px !important;
    height:34px !important;
    min-width:34px;
  }
}


/* BABINČAN 1.6 - VYNÚTENÉ kategórie vodorovne */
.homepage-categories{
  margin:18px 0 20px !important;
}

.homepage-categories ul,
.homepage-categories .mod-menu,
.homepage-categories .nav,
.homepage-categories .menu{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:10px !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

.homepage-categories ul li,
.homepage-categories .mod-menu li,
.homepage-categories .nav li,
.homepage-categories .menu li{
  display:block !important;
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.homepage-categories ul li::marker,
.homepage-categories li::marker{
  content:"" !important;
  font-size:0 !important;
}

.homepage-categories ul li > a,
.homepage-categories li > a{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:8px !important;
  width:auto !important;
  min-height:48px !important;
  padding:6px 12px 6px 7px !important;
  border:1px solid #dccbbd !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#6c3f29 !important;
  text-decoration:none !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
}

.homepage-categories ul li > a:hover,
.homepage-categories li.active > a{
  background:#f7eee7 !important;
  border-color:#cba88d !important;
}

.homepage-categories img,
.homepage-categories .menu-image{
  display:block !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  object-fit:cover !important;
  border-radius:8px !important;
  margin:0 !important;
}

.homepage-categories .image-title{
  margin:0 !important;
  padding:0 !important;
}

@media(min-width:1000px){
  .homepage-categories ul,
  .homepage-categories .mod-menu,
  .homepage-categories .nav,
  .homepage-categories .menu{
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    padding-bottom:4px !important;
  }

  .homepage-categories li{
    flex:0 0 auto !important;
  }
}

@media(max-width:640px){
  .homepage-categories ul,
  .homepage-categories .mod-menu,
  .homepage-categories .nav,
  .homepage-categories .menu{
    gap:6px !important;
  }

  .homepage-categories li > a{
    min-height:42px !important;
    padding:5px 9px 5px 6px !important;
    font-size:12px !important;
  }

  .homepage-categories img,
  .homepage-categories .menu-image{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
  }
}


/* BABINČAN 1.7 - vlastný layout kategórií s obrázkami */
.homepage-categories .babincan-category-menu{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:10px !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

.homepage-categories .babincan-category-item{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

.homepage-categories .babincan-category-item > a{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:50px !important;
  padding:6px 12px 6px 7px !important;
  border:1px solid #dccbbd !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#6c3f29 !important;
  text-decoration:none !important;
  font-size:14px !important;
  font-weight:700 !important;
}

.homepage-categories .babincan-category-image{
  display:block !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  object-fit:cover !important;
  border-radius:8px !important;
}

.homepage-categories .babincan-category-item.active > a,
.homepage-categories .babincan-category-item > a:hover{
  background:#f7eee7 !important;
  border-color:#cba88d !important;
}

@media(min-width:1000px){
  .homepage-categories .babincan-category-menu{
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    padding-bottom:4px !important;
  }
  .homepage-categories .babincan-category-item{
    flex:0 0 auto !important;
  }
}

@media(max-width:640px){
  .homepage-categories .babincan-category-menu{
    gap:6px !important;
  }
  .homepage-categories .babincan-category-item > a{
    min-height:44px !important;
    padding:5px 9px 5px 6px !important;
    font-size:12px !important;
  }
  .homepage-categories .babincan-category-image{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
  }
}


/* BABINČAN 1.8 - kategórie ako kartičky s obrázkom a počtom výrobkov */
.homepage-categories{
  margin:22px 0 28px !important;
}

.homepage-categories-title{
  margin:0 0 16px !important;
  font:700 28px/1.1 Georgia,serif !important;
  color:var(--ink) !important;
}

.homepage-categories .babincan-category-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 !important;
  padding:0 !important;
}

.homepage-categories .babincan-category-card{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
  min-height:78px !important;
  padding:10px 14px !important;
  background:#fff !important;
  border:1px solid #e3d8cf !important;
  border-radius:18px !important;
  color:#2d2824 !important;
  text-decoration:none !important;
  box-shadow:0 1px 2px rgba(65,45,32,.04) !important;
  transition:
    transform .15s ease,
    box-shadow .15s ease,
    border-color .15s ease !important;
}

.homepage-categories .babincan-category-card:hover,
.homepage-categories .babincan-category-card.active{
  transform:translateY(-2px) !important;
  border-color:#cba88d !important;
  box-shadow:0 8px 22px rgba(65,45,32,.09) !important;
}

.homepage-categories .babincan-category-icon{
  display:grid !important;
  place-items:center !important;
  width:50px !important;
  height:50px !important;
  min-width:50px !important;
  overflow:hidden !important;
  border:1px solid #eee1d6 !important;
  border-radius:13px !important;
  background:#fbf5ef !important;
}

.homepage-categories .babincan-category-icon img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  margin:0 !important;
  border-radius:12px !important;
}

.homepage-categories .babincan-category-fallback{
  color:#a9643f !important;
  font-size:22px !important;
}

.homepage-categories .babincan-category-copy{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  gap:4px !important;
}

.homepage-categories .babincan-category-copy strong{
  display:block !important;
  overflow:hidden !important;
  color:#29231f !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

.homepage-categories .babincan-category-copy small{
  display:block !important;
  color:#9a6a4c !important;
  font-size:12px !important;
  line-height:1.2 !important;
}

/* Neutralize older menu rules from previous template versions. */
.homepage-categories .babincan-category-grid ul,
.homepage-categories .babincan-category-grid li{
  all:unset;
}

@media(max-width:1050px){
  .homepage-categories .babincan-category-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  .homepage-categories .babincan-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }

  .homepage-categories .babincan-category-card{
    min-height:68px !important;
    padding:8px 10px !important;
    border-radius:15px !important;
  }

  .homepage-categories .babincan-category-icon{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
  }

  .homepage-categories .babincan-category-copy strong{
    font-size:13px !important;
  }
}

@media(max-width:430px){
  .homepage-categories .babincan-category-grid{
    grid-template-columns:1fr !important;
  }

  .homepage-categories-title{
    font-size:24px !important;
  }
}


/* BABINČAN 1.9 - počet výrobkov pod názvom kategórie */
.homepage-categories .babincan-category-count{
  display:block !important;
  margin-top:2px !important;
  color:#a06a49 !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}

.homepage-categories .babincan-category-copy{
  justify-content:center !important;
}


/* BABINČAN 2.0 - naposledy prezerané výrobky */
.recently-viewed-section{
  margin:34px 0 14px;
  padding-top:26px;
  border-top:1px solid var(--line);
}

.recently-viewed-section[hidden]{
  display:none !important;
}

.recently-viewed-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.recently-viewed-heading h2{
  margin:0;
  color:var(--ink);
  font:700 25px/1.2 Georgia,serif;
}

.recently-viewed-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.recent-product-card{
  display:flex;
  align-items:center;
  min-width:0;
  min-height:92px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 2px 8px rgba(73,45,29,.04);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.recent-product-card:hover{
  transform:translateY(-2px);
  border-color:#cba88d;
  box-shadow:0 8px 22px rgba(73,45,29,.09);
}

.recent-product-image{
  display:grid;
  place-items:center;
  width:88px;
  height:92px;
  min-width:88px;
  overflow:hidden;
  background:#f3eee9;
}

.recent-product-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.recent-product-image-fallback{
  padding:8px;
  color:#9a6a4c;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-align:center;
}

.recent-product-body{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:7px;
  padding:12px;
}

.recent-product-title{
  display:-webkit-box;
  overflow:hidden;
  color:#2d2824;
  font-size:14px;
  font-weight:700;
  line-height:1.25;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.recent-product-price{
  color:var(--brown);
  font-size:15px;
  font-weight:800;
}

@media(max-width:1000px){
  .recently-viewed-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:560px){
  .recently-viewed-section{
    margin-top:26px;
    padding-top:20px;
  }

  .recently-viewed-heading h2{
    font-size:22px;
  }

  .recently-viewed-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .recent-product-card{
    min-height:82px;
  }

  .recent-product-image{
    width:78px;
    height:82px;
    min-width:78px;
  }
}


/* BABINČAN 2.1 - rovnaké rozmery kategórií */
.homepage-categories .babincan-category-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:86px !important;
  gap:12px !important;
  width:100% !important;
  align-items:stretch !important;
}

.homepage-categories .babincan-category-card{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  height:86px !important;
  min-width:0 !important;
  min-height:86px !important;
  box-sizing:border-box !important;
  padding:10px 13px !important;
  gap:12px !important;
  overflow:hidden !important;
}

.homepage-categories .babincan-category-icon{
  flex:0 0 54px !important;
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  min-height:54px !important;
}

.homepage-categories .babincan-category-icon img{
  width:54px !important;
  height:54px !important;
  object-fit:cover !important;
}

.homepage-categories .babincan-category-copy{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:0 !important;
  height:100% !important;
}

.homepage-categories .babincan-category-copy strong{
  display:block !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  line-height:1.25 !important;
}

.homepage-categories .babincan-category-count{
  margin-top:4px !important;
}

/* Tablet */
@media(max-width:950px){
  .homepage-categories .babincan-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Mobil */
@media(max-width:520px){
  .homepage-categories .babincan-category-grid{
    grid-template-columns:1fr !important;
    grid-auto-rows:78px !important;
    gap:9px !important;
  }

  .homepage-categories .babincan-category-card{
    height:78px !important;
    min-height:78px !important;
  }

  .homepage-categories .babincan-category-icon{
    flex-basis:50px !important;
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    min-height:50px !important;
  }

  .homepage-categories .babincan-category-icon img{
    width:50px !important;
    height:50px !important;
  }
}


/* BABINČAN 2.2 - kategórie podľa mobilného vzoru: 2 kartičky vedľa seba */
.homepage-categories .babincan-category-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:92px !important;
  gap:12px !important;
  width:100% !important;
}

.homepage-categories .babincan-category-card{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  height:92px !important;
  min-width:0 !important;
  min-height:92px !important;
  padding:12px 14px !important;
  gap:13px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  border-radius:18px !important;
}

.homepage-categories .babincan-category-icon{
  flex:0 0 58px !important;
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  min-height:58px !important;
  border-radius:15px !important;
}

.homepage-categories .babincan-category-icon img{
  width:58px !important;
  height:58px !important;
  object-fit:cover !important;
  border-radius:14px !important;
}

.homepage-categories .babincan-category-copy{
  flex:1 1 auto !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:5px !important;
}

.homepage-categories .babincan-category-copy strong{
  display:block !important;
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:15px !important;
  line-height:1.2 !important;
}

.homepage-categories .babincan-category-count{
  display:block !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:12px !important;
  line-height:1.2 !important;
}

/* Tablet */
@media(max-width:950px){
  .homepage-categories .babincan-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Mobil - stále 2 kategórie vedľa seba ako na vzore */
@media(max-width:600px){
  .homepage-categories .babincan-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows:100px !important;
    gap:10px !important;
  }

  .homepage-categories .babincan-category-card{
    height:100px !important;
    min-height:100px !important;
    padding:10px !important;
    gap:10px !important;
    border-radius:18px !important;
  }

  .homepage-categories .babincan-category-icon{
    flex:0 0 54px !important;
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
  }

  .homepage-categories .babincan-category-icon img{
    width:54px !important;
    height:54px !important;
  }

  .homepage-categories .babincan-category-copy strong{
    font-size:14px !important;
  }

  .homepage-categories .babincan-category-count{
    font-size:11px !important;
  }
}

/* Veľmi úzky mobil: stále 2 stĺpce, len kompaktnejšie */
@media(max-width:380px){
  .homepage-categories .babincan-category-grid{
    gap:8px !important;
  }

  .homepage-categories .babincan-category-card{
    padding:8px !important;
    gap:8px !important;
  }

  .homepage-categories .babincan-category-icon{
    flex-basis:48px !important;
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
  }

  .homepage-categories .babincan-category-icon img{
    width:48px !important;
    height:48px !important;
  }

  .homepage-categories .babincan-category-copy strong{
    font-size:13px !important;
  }
}


/* BABINČAN 2.3 - upravená pätička / pravidlá a informácie */
footer,
.site-footer{
  margin-top:34px !important;
  padding-top:26px !important;
  border-top:1px solid var(--line) !important;
}

footer .moduletable,
footer .module,
.site-footer .moduletable,
.site-footer .module{
  margin:0 0 22px !important;
}

footer h3,
footer .module-title,
.site-footer h3,
.site-footer .module-title{
  margin:0 0 14px !important;
  color:var(--ink) !important;
  font:700 21px/1.2 Georgia,serif !important;
}

footer ul,
.site-footer ul{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px 20px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

footer li,
.site-footer li{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

footer li::marker,
.site-footer li::marker{
  content:"" !important;
}

footer a,
.site-footer a{
  color:#6f5748 !important;
  text-decoration:none !important;
  font-size:14px !important;
  line-height:1.35 !important;
  transition:color .15s ease !important;
}

footer a:hover,
.site-footer a:hover{
  color:var(--brown) !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
}

/* copyright oddeliť jemne od menu */
footer .footer-copy,
.site-footer .footer-copy{
  margin-top:18px !important;
  padding-top:16px !important;
  border-top:1px solid var(--line) !important;
  color:#8b8179 !important;
  font-size:13px !important;
}

/* Mobil - odkazy pod sebou ako na ukážke */
@media(max-width:600px){
  footer,
  .site-footer{
    padding-top:22px !important;
  }

  footer h3,
  footer .module-title,
  .site-footer h3,
  .site-footer .module-title{
    font-size:20px !important;
    margin-bottom:12px !important;
  }

  footer ul,
  .site-footer ul{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  footer a,
  .site-footer a{
    display:block !important;
    padding:3px 0 !important;
    font-size:15px !important;
  }
}


/* BABINČAN 2.4 - výraznejšie pravidlá v pätičke */
footer .mod-menu,
.site-footer .mod-menu{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px 18px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

footer .mod-menu::before,
.site-footer .mod-menu::before{
  content:"Pravidlá a informácie";
  grid-column:1 / -1;
  display:block;
  margin:0 0 8px;
  color:var(--ink);
  font:700 22px/1.2 Georgia,serif;
}

footer .mod-menu > li,
.site-footer .mod-menu > li{
  margin:0 !important;
  padding:0 !important;
}

footer .mod-menu > li > a,
.site-footer .mod-menu > li > a{
  display:block !important;
  padding:7px 0 !important;
  color:#6f5748 !important;
  font-size:15px !important;
  line-height:1.35 !important;
  text-decoration:none !important;
}

footer .mod-menu > li > a:hover,
.site-footer .mod-menu > li > a:hover{
  color:var(--brown) !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
}

@media(max-width:760px){
  footer .mod-menu,
  .site-footer .mod-menu{
    grid-template-columns:1fr !important;
    gap:2px !important;
  }

  footer .mod-menu::before,
  .site-footer .mod-menu::before{
    font-size:21px !important;
    margin-bottom:10px !important;
  }

  footer .mod-menu > li > a,
  .site-footer .mod-menu > li > a{
    padding:6px 0 !important;
    font-size:16px !important;
  }
}


/* BABINČAN 2.5 - Kontakt + návštevnosť v pätičke */
.babincan-footer-panels{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(180px,1fr);
  gap:24px;
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid var(--line);
}

.babincan-footer-panel{
  min-width:0;
}

.babincan-footer-panel h3{
  margin:0 0 12px !important;
  color:var(--ink) !important;
  font:700 20px/1.2 Georgia,serif !important;
}

.babincan-footer-panel p{
  margin:6px 0 !important;
  color:#6f5748;
  font-size:14px;
  line-height:1.45;
}

.babincan-footer-panel a{
  color:#6f5748 !important;
  text-decoration:none !important;
}

.babincan-footer-panel a:hover{
  color:var(--brown) !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
}

.babincan-footer-messenger{
  display:inline-flex !important;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border:1px solid #d8ccc2;
  border-radius:10px;
  background:#fff;
  font-weight:700;
}

.babincan-footer-visits{
  padding:16px;
  border:1px solid #e2d7ce;
  border-radius:14px;
  background:#fbf8f5;
}

.babincan-visit-number{
  margin:0 !important;
  color:var(--brown) !important;
  font-size:30px !important;
  font-weight:800 !important;
  line-height:1 !important;
}

.babincan-visit-label{
  margin-top:7px !important;
  color:#8a7668 !important;
  font-size:13px !important;
}

@media(max-width:700px){
  .babincan-footer-panels{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .babincan-footer-visits{
    padding:14px !important;
  }

  .babincan-visit-number{
    font-size:27px !important;
  }
}


/* BABINČAN 2.6 - pätička v 3 stĺpcoch */
.babincan-footer-three{
  display:grid !important;
  grid-template-columns:1.6fr 1fr .8fr !important;
  gap:28px !important;
  align-items:start !important;
  margin-top:22px !important;
  padding-top:24px !important;
  border-top:1px solid var(--line) !important;
}

.babincan-footer-column{
  min-width:0 !important;
}

.babincan-footer-column h3,
.babincan-footer-rules .mod-menu::before{
  margin:0 0 14px !important;
  color:var(--ink) !important;
  font:700 20px/1.2 Georgia,serif !important;
}

.babincan-footer-rules .mod-menu{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:5px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.babincan-footer-rules .mod-menu::before{
  content:"Pravidlá a informácie" !important;
  grid-column:1 !important;
}

.babincan-footer-rules .mod-menu > li > a{
  display:block !important;
  padding:3px 0 !important;
  font-size:14px !important;
  line-height:1.35 !important;
}

.babincan-footer-contact p{
  margin:7px 0 !important;
}

.babincan-footer-visits{
  padding:16px !important;
  border:1px solid #e2d7ce !important;
  border-radius:14px !important;
  background:#fbf8f5 !important;
}

@media(max-width:800px){
  .babincan-footer-three{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  .babincan-footer-visits{
    max-width:100% !important;
  }
}


/* BABINČAN 2.7 - sociálne siete v kontakte */
.babincan-footer-social{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:12px;
}

.babincan-footer-social a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  padding:7px 11px !important;
  border:1px solid #d8ccc2 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#6f5748 !important;
  font-size:14px !important;
  font-weight:700 !important;
  text-decoration:none !important;
}

.babincan-footer-social a:hover{
  border-color:#b98a6d !important;
  color:var(--brown) !important;
  text-decoration:none !important;
}


/* BABINČAN 2.8 - jednotné tlačidlá sociálnych sietí */
.babincan-footer-social{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:12px !important;
}

.babincan-footer-social a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:92px !important;
  min-height:36px !important;
  padding:8px 12px !important;
  box-sizing:border-box !important;
  border:1px solid #d8ccc2 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#6f5748 !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1 !important;
  text-decoration:none !important;
  transition:
    transform .15s ease,
    border-color .15s ease,
    box-shadow .15s ease !important;
}

.babincan-footer-social a:hover{
  transform:translateY(-1px) !important;
  border-color:#b98a6d !important;
  box-shadow:0 4px 12px rgba(73,45,29,.08) !important;
  color:var(--brown) !important;
  text-decoration:none !important;
}

@media(max-width:700px){
  .babincan-footer-social{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .babincan-footer-social a{
    width:100% !important;
    min-width:0 !important;
  }
}

@media(max-width:420px){
  .babincan-footer-social{
    grid-template-columns:1fr !important;
  }
}


/* BABINČAN 2.9 - dlhé názvy kategórií na 2 riadky */
@media(max-width:760px){
  .homepage-categories .babincan-category-copy strong{
    display:-webkit-box !important;
    overflow:hidden !important;
    white-space:normal !important;
    text-overflow:clip !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    line-clamp:2 !important;
    line-height:1.18 !important;
    min-height:2.36em !important;
  }

  .homepage-categories .babincan-category-count{
    margin-top:3px !important;
  }
}


/* BABINČAN 3.0 - sociálne siete pod sebou a farebne */
.babincan-footer-social{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  margin-top:14px !important;
  max-width:190px !important;
}

.babincan-footer-social a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  min-height:38px !important;
  padding:9px 13px !important;
  box-sizing:border-box !important;
  border:0 !important;
  border-radius:10px !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
  box-shadow:0 3px 10px rgba(0,0,0,.08) !important;
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease !important;
}

.babincan-footer-social a:hover{
  transform:translateY(-1px) !important;
  color:#fff !important;
  text-decoration:none !important;
  filter:brightness(.96) !important;
  box-shadow:0 5px 14px rgba(0,0,0,.12) !important;
}

/* Facebook */
.babincan-footer-social .babincan-social-facebook{
  background:#1877f2 !important;
}

/* Instagram */
.babincan-footer-social .babincan-social-instagram{
  background:linear-gradient(135deg,#833ab4 0%,#c13584 45%,#e1306c 70%,#f77737 100%) !important;
}

/* Messenger */
.babincan-footer-social .babincan-social-messenger{
  background:#0084FF !important;
}

@media(max-width:800px){
  .babincan-footer-social{
    max-width:100% !important;
  }
}


/* BABINČAN 3.0.3 - ikony sociálnych sietí + zelený Messenger */
.babincan-footer-social a{
  justify-content:flex-start !important;
  gap:9px !important;
}

.babincan-social-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:20px !important;
  height:20px !important;
  flex:0 0 20px !important;
  color:#fff !important;
}

.babincan-social-icon svg{
  display:block !important;
  width:20px !important;
  height:20px !important;
}

/* Messenger - zelený */
.babincan-footer-social .babincan-social-messenger{
  background:#22A559 !important;
}


/* BABINČAN 3.2 - pozícia pre reklamné vizitky / odkazy */
.babincan-promo-links-position{
  margin-top:34px;
  padding-top:26px;
  border-top:1px solid var(--line);
}


/* BABINČAN 3.3 - podrobnejšia návštevnosť */
.babincan-visit-stats{
  display:grid;
  gap:6px;
  margin-top:10px;
  min-width:150px;
}

.babincan-visit-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-bottom:5px;
  border-bottom:1px solid rgba(93,67,51,.10);
  color:#7c6758;
  font-size:12px;
  line-height:1.25;
}

.babincan-visit-row strong{
  color:#9a4e2d;
  font-size:16px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}

.babincan-visit-total{
  margin-top:2px;
  padding-top:3px;
  border-bottom:0;
}

.babincan-visit-total span{
  color:#4e3b30;
  font-weight:700;
}

.babincan-visit-total strong{
  font-size:20px;
}


/* BABINČAN 3.4 - súkromie / cookie súhlas */
.babincan-privacy[hidden]{
  display:none !important;
}

.babincan-privacy{
  position:fixed;
  inset:auto 16px 16px 16px;
  z-index:99999;
  display:flex;
  justify-content:center;
  pointer-events:none;
}

.babincan-privacy-box{
  width:min(760px,100%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:18px 20px;
  box-sizing:border-box;
  border:1px solid #dfd2c8;
  border-radius:16px;
  background:#fffaf5;
  box-shadow:0 12px 40px rgba(55,35,24,.20);
  pointer-events:auto;
}

.babincan-privacy-text{
  min-width:0;
}

.babincan-privacy-text h3{
  margin:0 0 6px;
  color:#302720;
  font:700 19px/1.2 Georgia,serif;
}

.babincan-privacy-text p{
  margin:0;
  color:#6f5b4e;
  font-size:13px;
  line-height:1.45;
}

.babincan-privacy-link{
  display:inline-block;
  margin-top:7px;
  color:#98532f;
  font-size:12px;
  font-weight:700;
  text-decoration:underline;
}

.babincan-privacy-actions{
  display:flex;
  flex:0 0 auto;
  gap:8px;
}

.babincan-privacy-actions button{
  min-height:40px;
  padding:9px 14px;
  border-radius:10px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}

.babincan-privacy-secondary{
  border:1px solid #cdbbae;
  background:#fff;
  color:#674b3a;
}

.babincan-privacy-primary{
  border:1px solid #9b5632;
  background:#9b5632;
  color:#fff;
}

@media(max-width:700px){
  .babincan-privacy{
    inset:auto 10px 10px 10px;
  }

  .babincan-privacy-box{
    align-items:stretch;
    flex-direction:column;
    gap:14px;
    padding:16px;
  }

  .babincan-privacy-actions{
    width:100%;
  }

  .babincan-privacy-actions button{
    flex:1 1 0;
  }
}




/* BABINČAN 3.5 - video priamo pri výrobku */
.product-video-section{
  margin-top:24px;
}

.product-video-section h2{
  margin:0 0 12px;
  color:#302720;
  font:700 22px/1.2 Georgia,serif;
}

.product-video{
  display:block;
  width:100%;
  max-width:760px;
  aspect-ratio:16 / 9;
  border-radius:14px;
  background:#111;
  box-shadow:0 5px 18px rgba(45,29,20,.12);
}

@media(max-width:700px){
  .product-video-section h2{
    font-size:20px;
  }

  .product-video{
    border-radius:10px;
  }
}


/* BABINČAN 3.6.1 - všetky 4 horné tlačidlá v jednom riadku */
.hero-actions{
  flex-wrap:nowrap !important;
  gap:6px !important;
}

.hero-actions .btn{
  width:auto !important;
  flex:0 0 auto !important;
  padding:10px 11px !important;
  font-size:12px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  text-align:center !important;
}

@media(max-width:760px){
  .hero-actions{
    width:100% !important;
    justify-content:flex-end !important;
  }

  .hero-actions .btn{
    padding:9px 10px !important;
    font-size:11px !important;
  }
}


/* BABINČAN 3.6.2 - jednotné horné tlačidlá, farebné iba aktívne */
.hero-actions .btn-nav{
  background:#fff !important;
  color:var(--brown) !important;
  border:1px solid #cba88d !important;
  box-shadow:none !important;
}

.hero-actions .btn-nav.is-active{
  background:var(--brown) !important;
  color:#fff !important;
  border-color:var(--brown) !important;
}

.hero-actions .btn-nav:hover{
  background:#f7eee7 !important;
  color:var(--brown) !important;
}

.hero-actions .btn-nav.is-active:hover{
  background:var(--brown) !important;
  color:#fff !important;
}


/* BABINCAN 3.7 - štítky a akciové ceny */
.product-card-image{
  position:relative;
}
.product-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.2px;
  color:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.16);
}
.product-badge-new{
  background:linear-gradient(135deg,#2e9d57,#56c978);
}
.product-badge-sale{
  background:linear-gradient(135deg,#d34a4a,#f07a6c);
}
.product-badge-action{
  background:linear-gradient(135deg,#d18a1a,#e6b34d);
}
.product-badge-generic{
  background:linear-gradient(135deg,#8b4b2d,#b57551);
}
.product-card-image .product-badge{
  position:absolute;
  top:10px;
  left:10px;
  z-index:2;
}
.product-card-price-wrap{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.product-card-price-old{
  color:#9c8f86;
  text-decoration:line-through;
  font-size:15px;
  font-weight:700;
}
.product-card-price-new,
.product-price-new{
  color:#c23a2b;
}
.product-detail-badge{
  margin:0 0 12px;
}
.product-price-wrap{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:10px;
  margin:8px 0 18px;
}
.product-price-old{
  color:#9c8f86;
  text-decoration:line-through;
  font-size:22px;
  font-weight:700;
  line-height:1.2;
}
.product-price-new{
  font-size:34px;
  font-weight:800;
  line-height:1.05;
}


/* BABINČAN 3.7.1 - výraznejšie štítky výrobkov */
.product-badge{
  min-height:36px !important;
  padding:8px 16px !important;
  border-radius:999px !important;
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:.4px !important;
  text-transform:uppercase !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(0,0,0,.25) !important;
  border:2px solid rgba(255,255,255,.85) !important;
}

.product-badge-action{
  background:linear-gradient(135deg,#ff7a00 0%,#ef3d23 100%) !important;
}

.product-badge-sale{
  background:linear-gradient(135deg,#e21d2f 0%,#b70018 100%) !important;
}

.product-badge-new{
  background:linear-gradient(135deg,#1eaa59 0%,#087c3d 100%) !important;
}

.product-badge-generic{
  background:linear-gradient(135deg,#9a4f2d 0%,#6f3018 100%) !important;
}

.product-card-image .product-badge{
  top:12px !important;
  left:12px !important;
}

@media(max-width:700px){
  .product-badge{
    min-height:34px !important;
    padding:7px 14px !important;
    font-size:13px !important;
  }
}


/* BABINČAN 3.8 - otázka k výrobku cez Messenger */
.product-order-actions .btn-messenger-product{
  appearance:none;
  border:1px solid #22a559;
  background:#22a559;
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-weight:700;
}

.product-order-actions .btn-messenger-product:hover{
  background:#198849;
  color:#fff;
}

@media(max-width:700px){
  .product-order-actions .btn-messenger-product{
    width:100%;
  }
}


/* BABINČAN 3.8.1 - zdieľanie výrobku */
.product-order-actions .btn-share-product{
  appearance:none;
  border:1px solid #8b4b2d;
  background:#fff;
  color:#8b4b2d;
  cursor:pointer;
  font:inherit;
  font-weight:700;
}

.product-order-actions .btn-share-product:hover{
  background:#f7eee7;
  color:#8b4b2d;
}

@media(max-width:700px){
  .product-order-actions .btn-share-product{
    width:100%;
  }
}


/* BABINČAN 3.8.2 - popis výrobku pod celým detailom */
.product-description-bottom{
  width:100%;
  margin-top:28px;
}

.product-description-bottom .product-description-body{
  max-width:900px;
}


/* BABINČAN 3.8.3 - názov kategórie maximálne na 2 riadky, bez ... */
.homepage-categories .babincan-category-copy strong{
  display:-webkit-box !important;
  overflow:hidden !important;
  white-space:normal !important;
  text-overflow:clip !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  line-clamp:2 !important;
  line-height:1.2 !important;
  max-height:2.4em !important;
}


/* BABINČAN 3.8.4 - bežné články sa nezobrazujú ako výrobky */
.babincan-standard-article{
  width:100%;
  padding:24px 28px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}

.babincan-standard-article h1{
  margin:0 0 20px;
  color:#302720;
  font:700 30px/1.2 Georgia,serif;
}

.babincan-standard-article-body{
  color:#5f554f;
  font-size:15px;
  line-height:1.7;
}

.babincan-standard-article-body p:first-child{
  margin-top:0;
}

@media(max-width:700px){
  .babincan-standard-article{
    padding:20px 18px;
  }

  .babincan-standard-article h1{
    font-size:26px;
  }
}


/* BABINČAN 3.8.7 - široký banner obrázka kategórie */
.babincan-category-banner{
  width:100%;
  margin:0 0 24px;
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(74,50,32,.08);
}

.babincan-category-banner img{
  display:block;
  width:100%;
  height:auto;
  max-height:520px;
  object-fit:contain;
}

@media(max-width:700px){
  .babincan-category-banner{
    margin-bottom:18px;
    border-radius:14px;
  }
}


/* BABINČAN 3.8.8 - banner kategórie nahrádza hlavný horný banner */
.hero-banner img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}


/* BABINČAN 3.8.9 - modul Napíšte mi nad pätičkou */
.babincan-contact-form-section{
  width:100%;
  margin:30px 0 24px;
}

.babincan-contact-form-inner{
  width:100%;
}

.babincan-contact-form-section .moduletable,
.babincan-contact-form-section .module{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:24px 28px;
  box-shadow:0 8px 24px rgba(74,50,32,.06);
}

.babincan-contact-form-section h2,
.babincan-contact-form-section h3{
  margin-top:0;
  color:#302720;
  font-family:Georgia,serif;
}

@media(max-width:700px){
  .babincan-contact-form-section{
    margin:22px 0 18px;
  }

  .babincan-contact-form-section .moduletable,
  .babincan-contact-form-section .module{
    padding:20px 18px;
    border-radius:14px;
  }
}


/* BABINČAN 3.9.0 - rozbaľovací kontaktný formulár */
.babincan-contact-form-section{
  width:100%;
  margin:26px 0 24px;
}

.babincan-contact-form-toggle{
  width:100%;
}

.babincan-contact-form-toggle > summary{
  list-style:none;
}

.babincan-contact-form-toggle > summary::-webkit-details-marker{
  display:none;
}

.babincan-contact-form-button{
  width:fit-content;
  min-width:190px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:13px 22px;
  border:1px solid #b88663;
  border-radius:12px;
  background:#a85a2d;
  color:#fff;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(74,50,32,.10);
  transition:transform .15s ease, box-shadow .15s ease;
}

.babincan-contact-form-button:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(74,50,32,.14);
}

.babincan-contact-form-arrow{
  display:inline-block;
  font-size:20px;
  line-height:1;
  transition:transform .2s ease;
}

.babincan-contact-form-toggle[open] .babincan-contact-form-arrow{
  transform:rotate(180deg);
}

.babincan-contact-form-inner{
  width:100%;
  margin-top:18px;
}

.babincan-contact-form-section .moduletable,
.babincan-contact-form-section .module{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:24px 28px;
  box-shadow:0 8px 24px rgba(74,50,32,.06);
}

@media(max-width:700px){
  .babincan-contact-form-section{
    margin:20px 0 18px;
  }

  .babincan-contact-form-button{
    width:100%;
    min-width:0;
    box-sizing:border-box;
  }

  .babincan-contact-form-section .moduletable,
  .babincan-contact-form-section .module{
    padding:20px 18px;
    border-radius:14px;
  }
}


/* BABINČAN 3.9.1 - text nad tlačidlom Napíšte mi */
.babincan-contact-form-intro{
  text-align:center;
  margin:0 auto 14px;
  color:#5f554f;
}

.babincan-contact-form-intro strong{
  display:block;
  margin-bottom:4px;
  color:#302720;
  font-size:18px;
  font-family:Georgia,serif;
}

.babincan-contact-form-intro span{
  display:block;
  font-size:14px;
  line-height:1.5;
}

@media(max-width:700px){
  .babincan-contact-form-intro{
    padding:0 10px;
  }

  .babincan-contact-form-intro strong{
    font-size:17px;
  }
}


/* BABINČAN 3.9.2 - kompaktnejší blok Napíšte mi */
.babincan-contact-form-section{
  margin:14px 0 12px !important;
  padding:0 !important;
}

.babincan-contact-form-intro{
  margin-bottom:8px !important;
}

.babincan-contact-form-button{
  padding:11px 20px !important;
}

.babincan-contact-form-inner{
  margin-top:12px !important;
}

/* menšia medzera pred pätičkou */
.babincan-contact-form-section + footer,
.babincan-contact-form-section + .site-footer{
  margin-top:0 !important;
}

@media(max-width:700px){
  .babincan-contact-form-section{
    margin:10px 0 10px !important;
  }

  .babincan-contact-form-intro{
    margin-bottom:7px !important;
  }

  .babincan-contact-form-button{
    padding:10px 18px !important;
  }
}


/* BABINČAN 3.9.3 - text vľavo, tlačidlo vpravo, celé orámované */
.babincan-contact-form-section{
  margin:14px 0 12px !important;
}

.babincan-contact-form-toggle{
  width:100%;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 8px 24px rgba(74,50,32,.06);
  overflow:hidden;
}

.babincan-contact-form-summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  cursor:pointer;
}

.babincan-contact-form-summary::-webkit-details-marker{
  display:none;
}

.babincan-contact-form-intro{
  text-align:left !important;
  margin:0 !important;
  flex:1 1 auto;
}

.babincan-contact-form-intro strong{
  margin-bottom:3px;
}

.babincan-contact-form-button{
  flex:0 0 auto;
  margin:0 !important;
  min-width:170px;
}

.babincan-contact-form-inner{
  margin-top:0 !important;
  padding:0 18px 18px;
}

.babincan-contact-form-section .moduletable,
.babincan-contact-form-section .module{
  box-shadow:none;
  margin:0;
}

@media(max-width:700px){
  .babincan-contact-form-summary{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    padding:16px;
  }

  .babincan-contact-form-intro{
    text-align:center !important;
    padding:0 !important;
  }

  .babincan-contact-form-button{
    width:100%;
    min-width:0;
    justify-content:center;
  }

  .babincan-contact-form-inner{
    padding:0 14px 14px;
  }
}


/* BABINČAN 3.9.4 - menšia medzera medzi Reklamou a blokom Napíšte mi */
.babincan-contact-form-section{
  margin-top:4px !important;
}

@media(max-width:700px){
  .babincan-contact-form-section{
    margin-top:3px !important;
  }
}


/* BABINČAN 3.9.5 - vrátená medzera a hnedé orámovanie */
.babincan-contact-form-section{
  margin-top:14px !important;
}

.babincan-contact-form-toggle{
  border:2px solid #a85a2d !important;
}

@media(max-width:700px){
  .babincan-contact-form-section{
    margin-top:10px !important;
  }
}


/* BABINČAN 3.9.6 - blok Napíšte mi zarovnaný na šírku obsahu/reklamy */
.babincan-contact-form-section{
  width:calc(100% - 28px) !important;
  max-width:1380px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box;
}

@media(max-width:700px){
  .babincan-contact-form-section{
    width:calc(100% - 28px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* BABINČAN 3.9.7 - Napíšte mi presne na šírku hlavného obsahu / vizitiek */
.babincan-contact-form-section{
  width:calc(100% - 36px) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

@media(max-width:700px){
  .babincan-contact-form-section{
    width:calc(100% - 28px) !important;
    max-width:none !important;
  }
}


/* BABINČAN 3.9.8 - nová ikonová hlavička + favicon */
.site-header{
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:50;
  box-shadow:0 3px 14px rgba(74,50,32,.04);
}

.babincan-topbar{
  min-height:96px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.babincan-brandmark{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:330px;
  text-decoration:none;
  color:var(--brown);
}

.babincan-brandmark img{
  width:72px;
  height:72px;
  object-fit:contain;
  border-radius:50%;
}

.babincan-brandcopy strong{
  display:block;
  font:700 31px/1 Georgia,serif;
  letter-spacing:.8px;
}

.babincan-brandcopy small{
  display:block;
  margin-top:7px;
  color:#6f625a;
  font-size:11px;
  letter-spacing:.5px;
  white-space:nowrap;
}

.babincan-icon-nav{
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  gap:4px;
  flex:1 1 auto;
}

.babincan-icon-link{
  min-width:92px;
  min-height:76px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:8px 11px 7px;
  border-radius:14px;
  color:#181512;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  position:relative;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}

.babincan-icon-link svg{
  width:29px;
  height:29px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.babincan-icon-link:first-child svg{
  fill:currentColor;
  stroke:none;
}

.babincan-icon-link:hover{
  background:#fbf4ed;
  color:var(--brown);
  transform:translateY(-1px);
}

.babincan-icon-link.is-active{
  color:var(--brown);
}

.babincan-icon-link.is-active::after{
  content:"";
  position:absolute;
  left:19px;
  right:19px;
  bottom:3px;
  height:4px;
  border-radius:999px;
  background:var(--brown);
}

@media(max-width:980px){
  .babincan-topbar{
    gap:14px;
  }

  .babincan-brandmark{
    min-width:260px;
  }

  .babincan-brandmark img{
    width:58px;
    height:58px;
  }

  .babincan-brandcopy strong{
    font-size:25px;
  }

  .babincan-brandcopy small{
    font-size:9px;
  }

  .babincan-icon-link{
    min-width:74px;
    font-size:12px;
    padding-left:7px;
    padding-right:7px;
  }

  .babincan-icon-link svg{
    width:25px;
    height:25px;
  }
}

@media(max-width:760px){
  .babincan-topbar{
    min-height:82px;
    align-items:center;
    gap:12px;
    padding-top:7px;
    padding-bottom:7px;
  }

  .babincan-brandmark{
    min-width:210px;
    gap:8px;
  }

  .babincan-brandmark img{
    width:50px;
    height:50px;
  }

  .babincan-brandcopy strong{
    font-size:22px;
  }

  .babincan-brandcopy small{
    font-size:8px;
    max-width:165px;
    white-space:normal;
    line-height:1.25;
  }

  .babincan-icon-nav{
    overflow-x:auto;
    justify-content:flex-start;
    scrollbar-width:none;
    padding-bottom:2px;
  }

  .babincan-icon-nav::-webkit-scrollbar{
    display:none;
  }

  .babincan-icon-link{
    flex:0 0 66px;
    min-width:66px;
    min-height:64px;
    font-size:10px;
  }

  .babincan-icon-link svg{
    width:23px;
    height:23px;
  }

  .babincan-icon-link.is-active::after{
    left:13px;
    right:13px;
    height:3px;
  }
}


/* BABINČAN 3.9.9 - 4 výrobky v riadku na PC */
@media(max-width:1100px) and (min-width:901px){
  .blog-items,.blog-items.columns-2,.blog-items.columns-3{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}


/* BABINČAN 3.10.1 - kompaktnejšie názvy výrobkov pri 4 kartách v riadku */
.blog-items .item-content h2,
.blog-items .item-content h2 a,
.blog-items .item-title,
.blog-items .item-title a,
.blog-items article h2,
.blog-items article h2 a{
  font-size:17px !important;
  line-height:1.2 !important;
  margin-bottom:7px !important;
}

@media(max-width:1100px){
  .blog-items .item-content h2,
  .blog-items .item-content h2 a,
  .blog-items .item-title,
  .blog-items .item-title a,
  .blog-items article h2,
  .blog-items article h2 a{
    font-size:16px !important;
  }
}

@media(max-width:700px){
  .blog-items .item-content h2,
  .blog-items .item-content h2 a,
  .blog-items .item-title,
  .blog-items .item-title a,
  .blog-items article h2,
  .blog-items article h2 a{
    font-size:16px !important;
  }
}


/* BABINČAN 3.10.3 – hlavný obrázok výrobku rovnako široký ako pravý panel */
@media (min-width: 521px) {
  .product-detail-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 24px;
  }
  .product-main-image {
    max-height: 420px;
    width: 100%;
    height: auto;
    object-fit: contain;
  }
}


/* BABINČAN 3.10.5 – širší pravý panel detailu výrobku */
@media (min-width: 901px) {
  .product-detail-grid {
    grid-template-columns: minmax(0, 44%) minmax(0, 56%) !important;
    gap: 24px !important;
  }

  .product-main-image {
    max-height: 420px;
    width: 100%;
    height: auto;
    object-fit: contain;
  }
}


/* BABINČAN 3.10.6 – nová drevená tapeta webu */
body{
  background:
    linear-gradient(rgba(250,247,241,.80), rgba(250,247,241,.80)),
    url("../images/babincan-background.png") center top / cover fixed no-repeat !important;
}

/* obsah nech zostane čitateľný nad tapetou */
.site-header{
  background:rgba(255,255,255,.96) !important;
  backdrop-filter:blur(4px);
}

.hero-info,
.blog-item,
.item-content,
.item-page,
.product-info-column,
.recent-product-card,
.babincan-contact-cta,
.site-footer .footer-box{
  background:rgba(255,255,255,.94);
}

/* ľavý obrázok detailu bez bieleho pozadia */
.product-main-image-wrap{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}

.product-main-image{
  border-radius:18px;
}

/* na mobile tapetu nescrollovať ako fixed – lepší výkon */
@media(max-width:760px){
  body{
    background-attachment:scroll !important;
  }
}


/* BABINČAN 3.10.7 – informácia o doprave pod kategóriami */
.babincan-delivery-strip{
  margin:18px 0 22px;
  padding:14px 18px;
  border:1px solid #b86f3c;
  border-radius:14px;
  background:rgba(255,255,255,.94);
  text-align:center;
  box-shadow:0 5px 16px rgba(74,50,32,.06);
}

.babincan-delivery-main{
  color:#3d3028;
  font-size:16px;
  font-weight:700;
  line-height:1.5;
}

.babincan-delivery-main span{
  color:#a85a2d;
  padding:0 7px;
}

.babincan-delivery-note{
  margin-top:4px;
  color:#6b5d54;
  font-size:13px;
  font-weight:600;
}

@media(max-width:700px){
  .babincan-delivery-strip{
    margin:14px 0 18px;
    padding:12px 14px;
  }

  .babincan-delivery-main{
    font-size:14px;
  }

  .babincan-delivery-main span{
    padding:0 3px;
  }

  .babincan-delivery-note{
    font-size:12px;
  }
}


/* BABINČAN 3.10.8 – nadpis Možnosti doručenia */
.babincan-delivery-title{
  margin-bottom:5px;
  color:#302720;
  font:700 18px/1.2 Georgia,serif;
}

@media(max-width:700px){
  .babincan-delivery-title{
    font-size:17px;
  }
}
