/*  zakaze kategorie na eshopu  */
body#eshop .eshop-menu {
  display: none !important;
}

@media (max-width: 768px){
  body#eshop .search-form-wrapper.search-form-p{
    display: none !important;
  }
}

.category__details{
  display: none !important;
}







/* Produktový obrázek – karta */
#product-icon-link{
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  line-height: 0;
  text-decoration: none;

  border-radius: 12px;
  overflow: hidden;

  background: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.10);
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease;
}

/* Obrázek – start lehce „zastřený“, pak se rozjasní */
#product-icon-img{
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  border: 0;

  /* start stav (před animací) */
  opacity: .35;
  filter: brightness(.85) saturate(.95) blur(.6px);
  transform: scale(1.01);

  /* po načtení se to plynule vrátí na normál */
  animation: camImgReveal .55s ease-out .08s forwards;
  will-change: opacity, filter, transform;
}

/* Animace „rozjasnění“ */
@keyframes camImgReveal{
  to{
    opacity: 1;
    filter: brightness(1) saturate(1) blur(0);
    transform: scale(1);
  }
}

/* Hover efekt jen pro desktop */
@media (hover:hover) and (pointer:fine){
  #product-icon-link:hover{
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(0,0,0,.16);
  }
  #product-icon-link:hover #product-icon-img{
    transform: scale(1.03);
    filter: brightness(1.03) saturate(1.05) contrast(1.02);
  }
}

/* Přístupnost + „klik“ feedback */
#product-icon-link:focus-visible{
  outline: 3px solid rgba(0,0,0,.25);
  outline-offset: 3px;
}
#product-icon-link:active{
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
}

/* Respektuj nastavení uživatele (méně animací) */
@media (prefers-reduced-motion: reduce){
  #product-icon-img{
    animation: none;
    opacity: 1;
    filter: none;
    transform: none;
  }
}







/* “cover” – roztáhne se do výšky, do šířky se ořízne */
.cam-mascot.cam-mascot--lg{
  float: right;               /* zachová chování cam-mascot */
  width: 320px;               /* šířka sloupce/obrázku (klidně uprav) */
  height: 450px;              /* TOHLE je výška, podle které se “natáhne” */
  object-fit: cover;          /* ořez do šířky/výšky */
  object-position: 80% 50%;    /* posun výřezu (center/top/… nebo 50% 20%) */
  border-radius: 16px; /* TL TR BR BL */
  overflow: hidden;             /* kdyby se někde “přeléval” obsah */
  border: 1px solid #e5e5e5;
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
  image-rendering: -webkit-optimize-contrast;
  transform: translateZ(0);
}



/* mobil – necháme tvé původní chování (pod sebe) */
@media (max-width: 760px){
  .cam-mascot.cam-mascot--lg{
    float: none;

    display: block;
    width: 100%;
    max-width: 360px;
    /* nižší výška na mobilu */
    margin: 0 auto 12px;
  }
}



/*   textarea je skryta */
/* schová původní textarea, ale ponechá ji pro odeslání formuláře */
textarea.cart-form__input.cam-real-note-hidden{
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* UI poznámka */
.cam-user-note-wrap{
  margin: 12px 0;
}
.cam-user-note-label{
  margin: 0 0 6px;
  font-weight: 700;
  font-size: 14px;
}
textarea.cam-user-note{
  width: 100%;
  min-height: 90px;
  resize: vertical;
  padding: 10px 12px;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  background: #fff;
  font-size: 14px;
  line-height: 1.35;
}



/* spravne formatovani poznamky v summary */
.cart-form__note{
  white-space: pre-line;
}


/* uprava vkladani do kosiku */

.cam-lock-hint{
  margin-top: 10px;
  width: 100%;
  display: block;

  height: 34px;         /* rezervovaná výška */
  line-height: 34px;    /* svislé vycentrování textu */
  padding: 0 12px;

  font-size: 13px;
  font-weight: 700;
  color: #b00020;
  background: #fff2f2;
  border: 1px solid #f2b8b8;
  border-radius: 10px;
  text-align: center;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;  /* když je text dlouhý */
}

.cam-lock-hint.is-hidden{
  visibility: hidden;   /* drží místo, jen zmizí */
}



/* #inputs.product-item__cart-cart.product-page__cart{
display: none !important;
}

*/

/* =========================
Camledian – Sticky bar (v2)

========================= */

:root{
  /* Akcent barva –  */
  --cam-accent: #ff6a00;
  --cam-accent-2: #ff9a3d;
  --cam-text: #1f1f1f;
  --cam-border: rgba(0,0,0,.12);
  --cam-card: rgba(255,255,255,.92);
  --cam-shadow: 0 14px 38px rgba(0,0,0,.18);
}

.cam-stickybar{
  position: fixed;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  padding: 12px 14px;
  border-radius: 18px;

  background: var(--cam-card);
  border: 1px solid var(--cam-border);
  box-shadow: var(--cam-shadow);

  font-family: Arial, sans-serif;
  color: var(--cam-text);

  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);

  /* jemný “glow” akcent okolo */
  outline: 1px solid rgba(255,255,255,.55);
  outline-offset: -2px;

  /* animace nájezdu */
  transform: translateY(8px);
  opacity: 0;
  transition: opacity .18s ease, transform .18s ease, box-shadow .18s ease;
}

/* když se ukáže (JS nastaví display:flex), přidej třídu .is-open pro pěkný nájezd */
.cam-stickybar.is-open{
  transform: translateY(0);
  opacity: 1;
}

/* levá část */
.cam-stickybar__left{
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.cam-stickybar__title{
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .2px;
  line-height: 1.2;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cam-stickybar__hint{
  font-size: 12px;
  opacity: .82;
  line-height: 1.2;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* CTA tlačítko */
.cam-stickybar__btn{
  appearance: none;
  border: 0;
  cursor: pointer;

  padding: 11px 14px;
  border-radius: 14px;

  font-weight: 900;
  font-size: 13px;
  letter-spacing: .15px;

  color: #fff;
  background: linear-gradient(135deg, var(--cam-accent), var(--cam-accent-2));
  box-shadow:
    0 10px 18px rgba(0,0,0,.18),
    0 0 0 1px rgba(255,255,255,.22) inset;

  white-space: nowrap;

  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
}

.cam-stickybar__btn:hover{
  filter: brightness(1.06) saturate(1.08);
  box-shadow:
    0 12px 22px rgba(0,0,0,.22),
    0 0 0 1px rgba(255,255,255,.24) inset;
}

.cam-stickybar__btn:active{
  transform: translateY(1px);
}

/* malá šipka za textem (poutavé, ale nenápadné) */
.cam-stickybar__btn::after{
  content: " ↓";
  font-weight: 900;
}

/* Mobil: dole přes šířku */
@media (max-width: 991px){
  .cam-stickybar{
    left: 12px;
    right: 12px;
    bottom: 12px;
    top: auto;
    width: auto;
  }
}

/* Desktop: vpravo nahoře */
@media (min-width: 992px){
  .cam-stickybar{
    left: auto;
    right: 16px;
    top: 110px;     /* uprav dle potřeby */
    bottom: auto;
    width: 380px;
  }
}

/* Když je viewport vyšší než 720px, stickybar vypnout */
@media (min-height: 721px){
  .cam-stickybar{ display:none !important; }
}


/* Přístupnost – méně animací */
@media (prefers-reduced-motion: reduce){
  .cam-stickybar,
  .cam-stickybar__btn{
    transition: none !important;
  }
}




/* =========================================================
ÚPRAVY ŠABLONY
========================================================= */



body .container.container--galleries,
.container.container--eshop,
.container.container--article,
.container.container--product,
.container.container--cart,
.container {
  max-width: 1020px;      /* STEJNÉ jako Cam Page */
  margin-left: auto;
  margin-right: auto;

  padding-left: 16px;     /* STEJNÉ boční odsazení */
  padding-right: 16px;

  box-sizing: border-box;
}

/* default: breadcrumb schovat všude */
.breadcrumb{ display: none !important; }

/* e-shop: zobrazit */
body#eshop .breadcrumb,
body#product .breadcrumb,
body#order .breadcrumb,
body#summary .breadcrumb,
body#category .breadcrumb{
  display: block !important;
}
.shop .breadcrumb,
.category-detail .breadcrumb,
.product-detail .breadcrumb,
.products .breadcrumb{
  display: block !important;
}


/* ===========================================================
uprava searchbar
=========================================================== */

body .search-form-wrapper{
  width: 100%;
  margin: 0px 0 14px;   /* místo 0 0 14px — stáhne mezeru shora */
  padding: 14px 16px !important;
  box-sizing: border-box;

  background-color: #f8f9fa;
  border-radius: 16px;
  border: 1px solid #e5e5e5;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}




/* zvětší logo */
.navbar__brand-logo-img{
  max-width: 13rem;
  max-height: 6rem;
  width: auto;
  height: auto;
  object-fit: contain;
}




/* zarovná ikony (obrázky) v H3 k textu */
.section-content h3 { white-space: normal; /* pro jistotu, kdyby tam bylo nowrap */ }
.section-content h3 img {
  display: inline-block !important;
  vertical-align: middle !important;
  margin-right: 6px;
  max-width: 24px;
  height: auto;
}

/* přepíše barvu paty */
#footer {
  background-color: #333 !important; /* tmavě šedé pozadí */
  color: #fff !important;           /* bílý text */
}



/* zarovná sloupce */
.section-2-col-left-text > .row{ align-items: flex-start !important; }


.section-content > img,
.section-content p > img:only-child,
.section-content figure img{
  display: block;
  margin: 0 !important;
  padding: 0 !important;
}


/* =========================================================
Camledian – univerzální styly stránek 
========================================================= */
/* oddeleni obrazku */

.cam-clear{
  clear: both;
}
/* 1) Layout stránky*/
.cam-page{
  /* max-width: 1020px; */
  /* margin: 0 auto;
  padding: 0 16px;*/

  font-family: Arial, sans-serif;
  line-height: 1.6;
  color: #222;
}

.cam-page > :last-child{
  margin-bottom: 0 !important;
}

@media (min-width: 1200px){ .cam-page{ max-width: 1240px; } }
@media (min-width: 1500px){ .cam-page{ max-width: 1400px; } }

/* nadpisy a text */
.cam-page h1{
  margin: 0 0 6px;
  font-size: 30px;
  line-height: 1.15;
}
.cam-page h2{
  margin: 18px 0 10px;
  font-size: 22px;
  line-height: 1.25;
}
.cam-page h3{
  margin: 12px 0 8px;
  font-size: 18px;
  line-height: 1.25;
}

.cam-page p{ margin: 0 0 12px; }
.cam-page ul,
.cam-page ol{
  margin: 0 0 14px 20px;
  padding: 0;
}
.cam-page li{ margin: 4px 0; }

/*  Karty a boxy */
.cam-card{
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  background: #fff;
  padding: 14px 16px;
  margin: 0 0 14px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  /* margin-bottom: 8px;*/
}
.cam-card--soft{ background: #fafafa; }

.cam-box{
  border: 1px solid #dcdcdc;
  border-radius: 12px;
  background: #fafafa;
  padding: 12px;
  transition: box-shadow .18s ease, border-color .18s ease;
}

/* 4 Hero – zrušení velkých mezer */
.cam-page .cam-card.cam-card--soft h1{
  margin: 0 0 4px !important;
  line-height: 1.12 !important;
}
.cam-page .cam-card.cam-card--soft p{
  margin: 0 0 10px !important;
}

/* Mobilní hero */
@media (max-width: 480px){
  .cam-page .cam-card.cam-card--soft h1{
    font-size: 24px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.2px;
  }
  .cam-page .cam-card.cam-card--soft p{ font-size: 15px !important; }
}

/*  Pilulky */
.cam-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;


  margin: 6px 10px 0 0;
  padding: 6px 10px;

  border: 1px solid #e1e1e1;
  border-radius: 999px;
  background: #fff;
  font-size: 14px;

  white-space: nowrap;
  animation: camFadeUp .45s ease forwards;
  opacity: 0;

  transition: transform .12s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

/* Wrapper pro pilulky (doporučeno: <div class="cam-pills">…</div>) */
.cam-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
  margin-bottom: 12px;
}

/* Mobil: pilulky  2 vedle sebe, treti pod */
@media (max-width: 480px){
  .cam-card.cam-card--soft{ text-align: center; }

  .cam-pills{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .cam-pills .cam-pill{
    width: 100%;
    margin: 0;
    text-align: center;
    white-space: normal;
  }

  .cam-pills .cam-pill:last-child:nth-child(odd){
    grid-column: 1 / -1;
    justify-self: center;
  }

  /* Fallback bez wrapperu .cam-pills */
  .cam-card.cam-card--soft > div:not(.cam-card):not(.cam-box){
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .cam-card.cam-card--soft > div:not(.cam-card):not(.cam-box) .cam-pill{
    width: 100%;
    margin: 0;
    text-align: center;
    white-space: normal;
  }
  .cam-card.cam-card--soft > div:not(.cam-card):not(.cam-box) .cam-pill:last-child:nth-child(odd){
    grid-column: 1 / -1;
    justify-self: center;
  }
}

/* Desktop / tablet: kompaktní blok pilulek vlevo (bez velkých mezer) */
@media (min-width: 481px){
  .cam-pills{
    display: inline-flex;     /* blok se „smrští“ na obsah */
    flex-wrap: wrap;
    gap: 8px;

    width: fit-content;       /* jistota: ne na 100% */
    max-width: 100%;          /* ale ať se může zalomit */
    justify-content: flex-start;
    align-items: center;

    margin-top: 8px;
    margin-bottom: 12px;
  }

  .cam-pills .cam-pill{
    margin: 0;                /* gap řeší mezery */
  }
}




/* Maskot (obtečení textem) */
.cam-mascot{
  float: right;
  width: 280px;
  max-width: 42%;
  height: auto;
  margin: 0 0 10px 16px;
}
@media (max-width: 760px){
  .cam-mascot{
    float: none;
    display: block;
    width: 100%;
    max-width: 360px;
    margin: 0 auto 12px;
  }
}

/* Dvou-sloupcové bloky */
.cam-grid{
  display: flex;
  gap: 12px;
  margin: 0 !important;
  align-items: stretch;
}
.cam-col{
  flex: 1 1 0;
  min-width: 0;
  display: flex;
}
@media (max-width: 760px){
  .cam-grid{ flex-direction: column; }
}

.cam-col{
  display: flex;
}

.cam-col > .cam-card{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.cam-col > .cam-card .cam-btn{
  margin-top: auto;
}


/* Ceník */
.cam-price{ margin-top: 8px; }
.cam-price-row{
  display: flex;
  gap: 10px;
  justify-content: space-between;
  align-items: flex-start;
  padding: 6px 0;
  border-top: 1px dashed #e2e2e2;
}
.cam-price-row:first-child{ border-top: 0; }
.cam-price-name{ flex: 1 1 auto; min-width: 0; }
.cam-price-amount{ flex: 0 0 auto; white-space: nowrap; font-weight: 700; }
.cam-note{
  display: block;
  color: #555;
  font-size: 13px;
  margin-top: 2px;
}

/* Fotky (mřížka 4 vedle sebe) */
.cam-photos{
  display: table;
  width: 100%;
  border-collapse: separate;
  border-spacing: 12px;
  margin: 0 0 10px;
}
.cam-photo{ display: table-cell; width: 25%; }
.cam-photo img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  border: 1px solid #e5e5e5;
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
@media (max-width: 760px){
  .cam-photos, .cam-photo{ display: block; width: 100%; }
  .cam-photo{ margin: 0 0 10px; }
}

/* Tlačítko kontakt 
.cam-btn{
display: inline-block;
padding: 10px 14px;
border: 1px solid #0b57d0;
border-radius: 12px;
text-decoration: none;
color: #0b57d0;
background: #fff;
box-shadow: 0 1px 0 rgba(0,0,0,.03);
transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .08s ease, box-shadow .18s ease;
}
.cam-btn:hover{
background: #0b57d0;
color: #fff;
border-color: #0b57d0;
}
.cam-btn:active{ transform: translateY(1px); }
.cam-btn:focus,
.cam-btn:focus-visible{
outline: none;
box-shadow: 0 0 0 3px rgba(11,87,208,.25), 0 10px 24px rgba(11,87,208,.18);
} */

/* =========================================================
Camledian – tlačítko (modernější)
========================================================= */

/* Základ */
.cam-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  padding: 11px 16px;
  border-radius: 14px;

  border: 1px solid rgba(11,87,208,.35);
  background: #fff;
  color: #0b57d0;

  font-size: 14px;
  letter-spacing: .1px;
  line-height: 1.1;

  text-decoration: none !important;
  user-select: none;

  box-shadow:
    0 1px 0 rgba(0,0,0,.03),
    0 0 0 1px rgba(255,255,255,.6) inset;

  transition:
    transform .12s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background-color .18s ease,
    color .18s ease;
}

/* Váha písma: desktop klidnější, mobil výraznější */
@media (min-width: 992px){
  .cam-btn{ font-weight: 650; } /* zkus 600–700 */
}
@media (max-width: 991px){
  .cam-btn{ font-weight: 800; }
}

/* Hover / Active */
@media (hover:hover){
  .cam-btn:hover{
    background: #0b57d0;
    color: #fff;
    border-color: #0b57d0;

    transform: translateY(-1px);
    box-shadow:
      0 12px 26px rgba(11,87,208,.22),
      0 0 0 1px rgba(255,255,255,.15) inset;

    text-decoration: none !important;
  }
}

.cam-btn:active{
  transform: translateY(0);
  box-shadow:
    0 8px 18px rgba(11,87,208,.18),
    0 0 0 1px rgba(255,255,255,.12) inset;
}

/* Focus */
.cam-btn:focus,
.cam-btn:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 3px rgba(11,87,208,.22),
    0 14px 30px rgba(11,87,208,.22);
}

/* Primární vyplněná varianta (volitelně) */
.cam-btn--primary{
  background: #0b57d0;
  color: #fff;
  border-color: #0b57d0;
}
@media (hover:hover){
  .cam-btn--primary:hover{
    filter: brightness(1.05);
    text-decoration: none !important;
  }
}

/* Přes celou šířku (volitelně) */
.cam-btn.is-block{
  width: 100%;
}



/* 11) Drobnosti */
.cam-muted{ color: #555; }
.cam-strong{ font-weight: 700; }
.cam-divider{
  border: 0;
  border-top: 1px solid #ddd;
  margin: 18px 0;
}

/* Hover efekty – jen tam, kde hover existuje */
@media (hover: hover){
  .cam-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.06);
  }
  .cam-card--soft:hover{
    box-shadow: 0 10px 24px rgba(11,87,208,.08);
    border-color: rgba(11,87,208,.18);
  }
  .cam-pill:hover{
    background: #f0f6ff;
    border-color: #0b57d0;
    box-shadow: 0 8px 18px rgba(11,87,208,.10);
    transform: translateY(-1px);
  }
  .cam-photo img:hover{
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,.08);
    filter: saturate(1.04);
  }
  .cam-btn:hover{
    box-shadow: 0 10px 24px rgba(11,87,208,.18);
    transform: translateY(-1px);
  }
}

/* =========================================================
HERO H1 – DESKTOP (velmi klidný)
========================================================= */

.cam-page .cam-hero-title{
  font-size: clamp(20px, 1.9vw, 26px) !important; /* menší rozsah */
  line-height: 1.25 !important;
  margin: 0 0 6px !important;
  font-weight: 500; /* jemná váha */
  letter-spacing: -0.01em; /* opticky zjemní */
  color: #333;
}


.cam-hero-title span{
  font-weight: inherit;
  color: inherit;
}

.cam-hero-title .cam-hero-sep{
  margin: 0 4px;
}

/* =========================================================
HERO H1 – MOBIL (silný a čitelný)
========================================================= */

@media (max-width: 768px){
  .cam-page .cam-hero-title{
    text-align: center !important;
    font-size: initial !important;
    line-height: 1.12 !important;
    margin: 0 0 4px !important;
    letter-spacing: normal;
  }

  .cam-hero-title .cam-hero-sep{
    display: none;
  }

  .cam-hero-title .cam-hero-brand{
    display: block;
    font-size: 30px;
    font-weight: 800;
    margin: 0;
    color: #111;
  }

  .cam-hero-title .cam-hero-sub{
    display: block;
    font-size: 17px; /* ještě o chlup klidnější */
    font-weight: 500;
    color: #555;
    margin: 0;
  }
}




/* Animace pilulek */
@keyframes camFadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}


/* ===========================================================
CAM GALERIE 
=========================================================== */

/* GRID KONTEJNER */
.row.categories.categories--root{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;

  max-width: 1020px;
  margin: 0 auto;
  padding: 16px;
  background: #fafafa;
  border: 1px solid #e5e5e5;
  border-radius: 16px;

  font-family: Arial, sans-serif;
  line-height: 1.6;
  color: #222;

  box-sizing: border-box;
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
}

/* RESPONSIVITA */
@media (max-width: 760px){
  .row.categories.categories--root{ grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px){
  .row.categories.categories--root{ grid-template-columns: repeat(2, 1fr) !important; }
}

/* ZRUŠENÍ BOOTSTRAP SLOUPCŮ */
.row.categories.categories--root > .category-wrapper{
  width: auto !important;
  max-width: none !important;
  flex: initial !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* KARTA */
.row.categories.categories--root .category{
  background: #fff;
  border-radius: 16px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;

  border: 1px solid #e7e7e7;
  box-shadow: 0 1px 0 rgba(0,0,0,.02);

  opacity: 0;
  transform: translateY(16px);
  transition: opacity .45s ease, transform .45s ease, box-shadow .18s ease, border-color .18s ease;
}

/* JS reveal */
.cam-reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}

/* OBRÁZEK */
.row.categories.categories--root .category img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  display: block;

  border: 1px solid rgba(0,0,0,.05);
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
}

/* TEXT */
.category__info{ text-align: center; }
.category__title{
  margin: 0;
  font-size: 15px;
  line-height: 1.3;
}
.category__title-link{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;

  color: #222;
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: color .18s ease, text-decoration-color .18s ease;
}

/* OPRAVY / BEZPEČNÉ OVERRIDE */
.row.categories.categories--root a{
  aspect-ratio: auto !important;
  flex: initial !important;
}
.row.categories.categories--root .category img{
  max-width: 100%;
  height: auto;
}
.row.categories.categories--root .category.is-visible{
  opacity: 1;
  transform: translateY(0);
}

/* HOVER */
@media (hover:hover){
  .row.categories.categories--root .category:hover{
    transform: translateY(-2px);
    border-color: rgba(11,87,208,.20);
    box-shadow: 0 12px 30px rgba(0,0,0,.10);
  }
  /*  .row.categories.categories--root .category:hover img{
  transform: scale(1.015);
  transition: transform .25s ease;
}*/
  .row.categories.categories--root .category:hover .category__title-link{
    color: #0b57d0;
    text-decoration-color: rgba(11,87,208,.35);
  }
}


/* ===========================================================
ESHOP – PRODUKT DETAIL (scoped do #cam-product-wrap)
=========================================================== */

#cam-product-wrap .product-detail{
  max-width: 1020px;
  margin: 0 auto;
  font-family: Arial, sans-serif;
  line-height: 1.55;
  color: #1f2937;
}

#cam-product-wrap .product-detail h1{
  margin: 0 0 10px;
  font-size: 26px;
  line-height: 1.2;
}

#cam-product-wrap .product-detail h2{
  margin: 18px 0 10px;
  font-size: 18px;
}

#cam-product-wrap .product-detail__intro{
  margin: 0 0 18px;
  font-size: 16px;
}

#cam-product-wrap .product-detail__grid{
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  align-items: flex-start;
}

#cam-product-wrap .product-detail__media{
  margin: 0;
  flex: 1 1 320px;
  max-width: 420px;
}

#cam-product-wrap .product-detail__img{
  width: 100%;
  height: auto;
  border-radius: 10px;
  border: 1px solid #e5e5e5;
  display: block;
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
  transition: transform .18s ease, box-shadow .18s ease;
}

@media (hover:hover){
  #cam-product-wrap .product-detail__img:hover{
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,.08);
  }
}

#cam-product-wrap .product-detail__caption{
  margin-top: 8px;
  font-size: 13px;
  color: #666;
}

#cam-product-wrap .product-detail__content{
  flex: 1 1 380px;
  min-width: 280px;
}

#cam-product-wrap .product-detail__list{
  margin: 0 0 16px 18px;
  padding: 0;
}

#cam-product-wrap .product-detail__list li{ margin: 0 0 8px; }

#cam-product-wrap .product-detail__table{
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 16px;
  font-size: 14.5px;
}

#cam-product-wrap .product-detail__table td{
  padding: 8px 10px;
  border: 1px solid #e7e7e7;
  vertical-align: top;
}

#cam-product-wrap .product-detail__table td:first-child{
  width: 45%;
  background: #fafafa;
}

#cam-product-wrap .product-detail__note{
  margin-top: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(11,87,208,.18);
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  border-radius: 10px;
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
}

#cam-product-wrap .product-detail__note p{ margin: 0; }

@media (max-width: 720px){
  #cam-product-wrap .product-detail h1{ font-size: 22px; }
  #cam-product-wrap .product-detail__media{ max-width: 100%; }
}


/* ===========================================================
paticka sjednocení linků na tmavém pozadí
=========================================================== */

#footer a{
  color: rgba(255,255,255,.92) !important;
  text-decoration-color: rgba(255,255,255,.35);
}
@media (hover:hover){
  #footer a:hover{
    color: #fff !important;
    text-decoration-color: rgba(255,255,255,.7);
  }
}


/* ===========================================================
PŘÍSTUPNOST A RESPEKT K ANIMACÍM
=========================================================== */
@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}






/* =========================================================
HOMEPAGE – DOROVNÁNÍ MEZERY POD BANNEREM
(protože chybí navigační cesta)
========================================================= */

/* výchozí chování – ostatní stránky */
.motive + *{
  margin-top: 0px !important;
  padding-top: 0 !important;
}

@media (max-width: 992px){
  .motive + *{
    margin-top: 0px !important;
    padding-top: 0 !important;
  }
}

/* jistota: kdyby tam byl clearfix / flow-root */
#motive.motive.custom-motive{
  overflow: hidden; /* zabrání kolapsům marginů z potomků */
}


/* zahodi prazdna p */




/* upravi velikost mascot obrazku */
.cam-split{
  display: flex;
  gap: 32px;
  align-items: center;   }




