/* =========================================================
   IDEOGY — INNER PAGES
   Version: 5.9 CONSOLIDATED PRODUCT DETAIL

   v5.10: Product detail is fully native Shoptet/Samba; no IDEOGY product-detail selectors remain.

   v5.5: Native Shoptet NEW / NOVINKA product badge is forced into
   the IDEOGY visual system (#FF66FF / black) without changing the header/menu.

   Replaces ideogy-inner-v1.0.css

   Direction:
   - minimalist DESIGN category hero
   - technical blue/steel ENGINEERING category hero
   - #FF66FF remains the common IDEOGY accent
   - removes native "Najpredávanejšie" block
   - aligns hero, sorting and product grid
   - preserves Shoptet category/product functionality
   ========================================================= */
:root{
  --ii-pink:#FF66FF;
  --ii-black:#000000;
  --ii-white:#FFFFFF;
  --ii-text:#111111;
  --ii-muted:#747474;
  --ii-soft:#F5F5F5;
  --ii-line:#E6E6E6;
  --ii-design-bg:#F1F1F1;
  --ii-engineering-bg:#2D4358;
}

/* =========================================================
   01 / SHARED
   ========================================================= */
body.ideogy-inner-page{
  --ii-radius:0px;
}
body.ideogy-inner-page .content-wrapper-in,
body.ideogy-inner-page .content-inner,
body.ideogy-inner-page .content{
  min-width:0;
}
body.ideogy-inner-page .breadcrumbs{
  margin:0 0 16px!important;
  color:#A0A0A0!important;
  font-size:9px!important;
  font-weight:500!important;
  line-height:1.2!important;
  letter-spacing:.065em!important;
  text-transform:uppercase!important;
}
body.ideogy-inner-page .breadcrumbs a{
  color:#7A7A7A!important;
  text-decoration:none!important;
}
body.ideogy-inner-page .breadcrumbs a:hover{
  color:var(--ii-pink)!important;
}

/* =========================================================
   02 / CATEGORY HERO — COMMON STRUCTURE
   ========================================================= */
body.ideogy-page-category .ideogy-inner-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,55%) minmax(0,45%);
  width:100%;
  min-height:255px;
  margin:0 0 14px;
  overflow:hidden;
  border:0;
  border-radius:var(--ii-radius);
  box-sizing:border-box;
}
body.ideogy-page-category .ideogy-inner-hero-copy{
  position:relative;
  z-index:3;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:30px 26px 30px 34px;
  box-sizing:border-box;
}
body.ideogy-page-category .ideogy-inner-kicker{
  margin:0 0 11px;
  color:var(--ii-pink);
  font-size:9.5px;
  font-weight:800;
  line-height:1;
  letter-spacing:.13em;
  text-transform:uppercase;
}
body.ideogy-page-category .ideogy-inner-hero h1{
  margin:0!important;
  font-size:clamp(36px,3.8vw,58px)!important;
  font-weight:500!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  text-transform:uppercase!important;
}
body.ideogy-page-category .ideogy-inner-description{
  max-width:560px;
  margin:13px 0 0;
  font-size:12.5px;
  font-weight:400;
  line-height:1.45;
}
body.ideogy-page-category .ideogy-inner-switch{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:16px 0 0;
}
body.ideogy-page-category .ideogy-inner-switch a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:90px;
  min-height:36px;
  padding:0 15px;
  box-sizing:border-box;
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#111!important;
  font-size:9px;
  font-weight:800;
  line-height:1;
  text-decoration:none!important;
  text-transform:uppercase;
  transition:border-color .16s ease,background-color .16s ease,color .16s ease;
}
body.ideogy-page-category .ideogy-inner-switch a:hover{
  border-color:var(--ii-pink);
}
body.ideogy-page-category .ideogy-inner-switch a.is-active{
  border-color:var(--ii-pink);
  background:var(--ii-pink);
  color:#000!important;
}
body.ideogy-page-category .ideogy-inner-hero-media{
  position:relative;
  min-width:0;
  overflow:hidden;
}
body.ideogy-page-category .ideogy-inner-hero-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}
body.ideogy-page-category .ideogy-inner-hero-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* DESIGN — soft, light and object-led */
body.ideogy-page-category--design .ideogy-inner-hero{
  background:linear-gradient(90deg,#F2F2F2 0%,#EEEEEE 58%,#E8E8E8 100%);
}
body.ideogy-page-category--design .ideogy-inner-hero h1{
  color:#050505!important;
}
body.ideogy-page-category--design .ideogy-inner-description{
  color:#414141;
}
body.ideogy-page-category--design .ideogy-inner-hero-media::before{
  background:linear-gradient(
    90deg,
    rgba(238,238,238,1) 0%,
    rgba(238,238,238,.55) 13%,
    rgba(238,238,238,0) 40%
  );
}

/* ENGINEERING — same brand, more technical atmosphere */
body.ideogy-page-category--engineering .ideogy-inner-hero{
  background:
    linear-gradient(105deg,#263A4D 0%,#344E65 54%,#182B3A 100%);
}
body.ideogy-page-category--engineering .ideogy-inner-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:.32;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(90deg,#000 0%,transparent 70%);
}
body.ideogy-page-category--engineering .ideogy-inner-hero h1{
  color:#FFF!important;
}
body.ideogy-page-category--engineering .ideogy-inner-description{
  color:#E0E7EC;
}
body.ideogy-page-category--engineering .ideogy-inner-switch a{
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.94);
}
body.ideogy-page-category--engineering .ideogy-inner-hero-media::before{
  background:linear-gradient(
    90deg,
    rgba(52,78,101,1) 0%,
    rgba(52,78,101,.52) 13%,
    rgba(52,78,101,0) 39%
  );
}

/* =========================================================
   03 / REMOVE NATIVE BESTSELLERS
   ========================================================= */

/* This is Shoptet's native upper "Najpredávanejšie" section. */
body.ideogy-page-category .products-top-wrapper{
  display:none!important;
}

/* Avoid residual spacing in Samba variants. */
body.ideogy-page-category .products-top-wrapper + .clearfix{
  display:none!important;
}

/* =========================================================
   04 / CATEGORY FLOW — NO EMPTY STRIP
   ========================================================= */
body.ideogy-page-category .ideogy-inner-hero + .category-header,
body.ideogy-page-category .ideogy-inner-hero + .category-content-wrapper,
body.ideogy-page-category .ideogy-inner-hero + *{
  margin-top:0!important;
}
body.ideogy-page-category .category-header{
  margin-top:0!important;
}

/* =========================================================
   04 / SIDEBAR
   ========================================================= */
body.ideogy-page-category .sidebar .box{
  margin-bottom:12px!important;
  padding:17px!important;
  border:1px solid var(--ii-line)!important;
  border-radius:0!important;
  background:#FFF!important;
  box-shadow:none!important;
}
body.ideogy-page-category .sidebar .box h4,
body.ideogy-page-category .sidebar .box-heading{
  margin:0 0 13px!important;
  color:#171717!important;
  font-size:11.5px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.03em!important;
  text-transform:none!important;
}
body.ideogy-page-category .sidebar a{
  color:#555!important;
  text-decoration:none!important;
}
body.ideogy-page-category .sidebar a:hover,
body.ideogy-page-category .sidebar .active>a{
  color:var(--ii-pink)!important;
}
body.ideogy-page-category .sidebar .ui-slider-range,
body.ideogy-page-category .sidebar .ui-slider-handle{
  background:var(--ii-pink)!important;
  border-color:var(--ii-pink)!important;
}

/* =========================================================
   05 / CATEGORY CONTROL BAR
   ========================================================= */
body.ideogy-page-category .category-header{
  position:relative;
  margin:0 0 18px!important;
  padding:0!important;
  border-top:1px solid var(--ii-line)!important;
  border-right:0!important;
  border-bottom:1px solid var(--ii-line)!important;
  border-left:0!important;
  border-radius:0!important;
  background:#FFF!important;
  box-shadow:none!important;
}
body.ideogy-page-category .category-header label,
body.ideogy-page-category .category-header a{
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 16px!important;
  color:#777!important;
  font-size:9.5px!important;
  font-weight:700!important;
  text-transform:none!important;
}
body.ideogy-page-category .category-header label:hover,
body.ideogy-page-category .category-header a:hover{
  color:#000!important;
}
body.ideogy-page-category .category-header input:checked+label,
body.ideogy-page-category .category-header .active{
  color:#000!important;
  border-bottom-color:var(--ii-pink)!important;
}

/* =========================================================
   06 / PRODUCT GRID
   ========================================================= */
body.ideogy-page-category .products-block .product,
body.ideogy-page-category .products .product{
  box-sizing:border-box!important;
}
body.ideogy-page-category .products-block .p,
body.ideogy-page-category .products .product>.p{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  margin:0!important;
  padding:0 8px 26px!important;
  border:0!important;
  border-radius:0!important;
  background:#FFF!important;
  box-shadow:none!important;
}
body.ideogy-page-category .products-block .image,
body.ideogy-page-category .products .product>.p>.image{
  position:relative!important;
  width:100%!important;
  aspect-ratio:1 / 1!important;
  margin:0!important;
  overflow:hidden!important;
  background:#F0F0F0!important;
}
body.ideogy-page-category .products-block .image img,
body.ideogy-page-category .products .product>.p>.image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:transform .22s ease!important;
}
body.ideogy-page-category .product:hover .image img{
  transform:scale(1.018);
}
body.ideogy-page-category .product .flag{
  padding:6px 10px!important;
  border:0!important;
  border-radius:0!important;
  background:var(--ii-pink)!important;
  color:#000!important;
  font-size:8px!important;
  font-weight:800!important;
  line-height:1!important;
  text-transform:uppercase!important;
}
body.ideogy-page-category .product .p-in{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  padding:11px 0 0!important;
  text-align:left!important;
}
body.ideogy-page-category .product .name{
  color:#111!important;
  font-size:12.5px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-align:left!important;
  text-decoration:none!important;
}
body.ideogy-page-category .product .p-desc{
  margin-top:4px!important;
  color:#777!important;
  font-size:9.5px!important;
  line-height:1.3!important;
  text-align:left!important;
}
body.ideogy-page-category .product .price-final,
body.ideogy-page-category .product .price-final strong{
  color:#111!important;
  font-size:12.5px!important;
  font-weight:800!important;
}
body.ideogy-page-category .product .btn,
body.ideogy-page-category .product .add-to-cart-button{
  min-height:38px!important;
  border:1px solid #000!important;
  border-radius:0!important;
  background:#000!important;
  color:#FFF!important;
  box-shadow:none!important;
  font-size:8.8px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
}
body.ideogy-page-category .product .btn:hover,
body.ideogy-page-category .product .add-to-cart-button:hover{
  border-color:var(--ii-pink)!important;
  background:var(--ii-pink)!important;
  color:#000!important;
}

/* =========================================================
   07 / PRODUCT DETAIL
   Product detail styling consolidated in section 15 / v5.9.
   ========================================================= */

/* =========================================================
   09 / IDEOGY LAB
   Moved to dedicated ideogy-lab-v1.0.css / .js in v5.4.
   INNER now owns categories + product detail only.
   ========================================================= */

/* =========================================================
   10 / TABLET
   ========================================================= */
@media (min-width:768px) and (max-width:1179px){
  body.ideogy-page-category .ideogy-inner-hero{
    grid-template-columns:minmax(0,58%) minmax(0,42%);
    min-height:230px;
  }

  body.ideogy-page-category .ideogy-inner-hero-copy{
    padding:26px 22px 26px 28px;
  }

  body.ideogy-page-category .ideogy-inner-hero h1{
    font-size:clamp(34px,5vw,50px)!important;
  }

}

/* =========================================================
   11 / MOBILE
   ========================================================= */
@media (max-width:767px){
  body.ideogy-page-category .ideogy-inner-hero{
    grid-template-columns:1fr;
    min-height:0;
    margin-bottom:16px;
  }

  body.ideogy-page-category .ideogy-inner-hero-copy{
    order:2;
    padding:22px 18px 24px;
  }

  body.ideogy-page-category .ideogy-inner-hero-media{
    order:1;
    aspect-ratio:16 / 9;
  }

  body.ideogy-page-category .ideogy-inner-hero-media::before{
    display:none;
  }

  body.ideogy-page-category .ideogy-inner-hero h1{
    font-size:34px!important;
  }

  body.ideogy-page-category .ideogy-inner-description{
    margin-top:10px;
    font-size:12px;
  }

  body.ideogy-page-category .ideogy-inner-switch{
    margin-top:14px;
  }

  body.ideogy-page-category .ideogy-inner-switch a{
    min-height:38px;
  }

  body.ideogy-page-category .category-header{
    overflow-x:auto!important;
    white-space:nowrap!important;
    scrollbar-width:none!important;
  }

  body.ideogy-page-category .category-header::-webkit-scrollbar{
    display:none!important;
  }

  body.ideogy-page-category .category-header label,
  body.ideogy-page-category .category-header a{
    min-height:42px!important;
    padding:0 13px!important;
    font-size:9px!important;
  }

  body.ideogy-page-category .products-block .p,
  body.ideogy-page-category .products .product>.p{
    padding-right:5px!important;
    padding-left:5px!important;
  }

}

@media (prefers-reduced-motion:reduce){
body.ideogy-page-category .product .image img{
    transition:none!important;
  }
}


/* =========================================================
   16 / V1.7 — AERIAL SYSTEMS + NATIVE-SAFE PRODUCT CARDS
   =========================================================
   Principle:
   CONTENT = SHOPTET
   PRESENTATION = IDEOGY

   Product IMG elements remain native Shoptet images.
   No CSS background replacement and no JS src rewriting.
   ========================================================= */

/* ---------- AERIAL HERO ---------- */
body.ideogy-aerial-context .ideogy-inner-hero{
  min-height:310px!important;
  grid-template-columns:minmax(0,52%) minmax(0,48%)!important;
  margin-bottom:12px!important;
  background:#0B0B0C!important;
  color:#FFF!important;
}
body.ideogy-aerial-context .ideogy-inner-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.96) 0%,
      rgba(0,0,0,.86) 32%,
      rgba(0,0,0,.26) 67%,
      rgba(0,0,0,.04) 100%
    );
}
body.ideogy-aerial-context .ideogy-inner-hero-copy{
  z-index:3!important;
  padding:34px 30px 34px 36px!important;
}
body.ideogy-aerial-context .ideogy-inner-hero h1{
  max-width:620px!important;
  color:#FFF!important;
  font-size:clamp(40px,4.4vw,68px)!important;
  font-weight:500!important;
  letter-spacing:-.05em!important;
  text-transform:uppercase!important;
}
body.ideogy-aerial-context .ideogy-inner-eyebrow{
  max-width:560px;
  margin:15px 0 0!important;
  color:#FFF!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.25!important;
}
body.ideogy-aerial-context .ideogy-inner-description{
  max-width:520px!important;
  margin:7px 0 0!important;
  color:#D5D5D5!important;
  font-size:12px!important;
  line-height:1.48!important;
}
body.ideogy-aerial-context .ideogy-inner-hero-media{
  z-index:0!important;
  min-height:310px!important;
}
body.ideogy-aerial-context .ideogy-inner-hero-media::before{
  z-index:2!important;
  background:
    linear-gradient(
      90deg,
      rgba(11,11,12,1) 0%,
      rgba(11,11,12,.4) 22%,
      rgba(11,11,12,0) 54%
    )!important;
}
body.ideogy-aerial-context .ideogy-inner-hero-media img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:saturate(.82) contrast(1.04) brightness(.82)!important;
}

/* Pink stays an accent, not a full-scene color. */
body.ideogy-aerial-context .ideogy-inner-hero h1::after{
  content:".";
  color:var(--ii-pink);
}

/* ---------- AERIAL NAV PILLS ---------- */
body.ideogy-aerial-context .ideogy-aerial-nav{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:18px;
}
body.ideogy-aerial-context .ideogy-aerial-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.27);
  border-radius:999px;
  background:rgba(0,0,0,.15);
  color:#FFF!important;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.02em;
  text-decoration:none!important;
  text-transform:uppercase;
  backdrop-filter:blur(4px);
  transition:
    color .16s ease,
    background-color .16s ease,
    border-color .16s ease;
}
body.ideogy-aerial-context .ideogy-aerial-nav a:hover,
body.ideogy-aerial-context .ideogy-aerial-nav a.is-active{
  border-color:var(--ii-pink);
  background:var(--ii-pink);
  color:#000!important;
}

/* ---------- MASTER CATEGORY CARDS ---------- */
body.ideogy-aerial-context .ideogy-aerial-category-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 20px;
}
body.ideogy-aerial-context .ideogy-aerial-category-card{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:126px;
  padding:18px 18px 16px;
  overflow:hidden;
  border:1px solid #222;
  border-radius:3px;
  background:
    radial-gradient(
      circle at 82% 18%,
      rgba(255,102,255,.16),
      transparent 28%
    ),
    linear-gradient(135deg,#101113 0%,#1B1D20 100%);
  color:#FFF!important;
  text-decoration:none!important;
  box-sizing:border-box;
  transition:
    transform .18s ease,
    border-color .18s ease,
    background-color .18s ease;
}
body.ideogy-aerial-context .ideogy-aerial-category-card::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.16;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);
  background-size:24px 24px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 100%);
}
body.ideogy-aerial-context .ideogy-aerial-category-card:hover{
  transform:translateY(-2px);
  border-color:var(--ii-pink);
}
body.ideogy-aerial-context .ideogy-aerial-category-number,
body.ideogy-aerial-context .ideogy-aerial-category-label,
body.ideogy-aerial-context .ideogy-aerial-category-arrow{
  position:relative;
  z-index:2;
}
body.ideogy-aerial-context .ideogy-aerial-category-number{
  margin-bottom:auto;
  color:#A8A8A8;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
}
body.ideogy-aerial-context .ideogy-aerial-category-label{
  max-width:180px;
  color:#FFF;
  font-size:16px;
  font-weight:700;
  line-height:1.08;
}
body.ideogy-aerial-context .ideogy-aerial-category-arrow{
  margin-top:9px;
  color:var(--ii-pink);
  font-size:16px;
  line-height:1;
}
body.ideogy-aerial-context .ideogy-native-subcategories-hidden{
  display:none!important;
}

/* ---------- PRODUCT GRID: CARD SHELL ---------- */
body.ideogy-aerial-product-grid .products-block .product,
body.ideogy-aerial-product-grid .products .product{
  padding:5px!important;
}
body.ideogy-aerial-product-grid .products-block .product>.p,
body.ideogy-aerial-product-grid .products .product>.p{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #E7E7E7!important;
  border-radius:10px!important;
  background:#FFF!important;
  box-shadow:0 1px 0 rgba(0,0,0,.02)!important;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease!important;
}
body.ideogy-aerial-product-grid .ideogy-product-card-v17:hover>.p,
body.ideogy-aerial-product-grid .ideogy-product-card-v17:hover .p{
  transform:translateY(-2px);
  border-color:#D7D7D7!important;
  box-shadow:0 12px 30px rgba(0,0,0,.07)!important;
}

/* ---------- PRODUCT GRID: IMAGE ---------- */
body.ideogy-aerial-product-grid .products-block .image,
body.ideogy-aerial-product-grid .products .product>.p>.image{
  position:relative!important;
  width:100%!important;
  aspect-ratio:1 / .82!important;
  margin:0!important;
  padding:20px!important;
  overflow:hidden!important;
  border:0!important;
  background:
    linear-gradient(145deg,#FAFAFA 0%,#F4F4F4 100%)!important;
  box-sizing:border-box!important;
}

/*
  This is intentionally object-fit: contain.
  Shoptet still supplies and swaps the actual IMG source.
*/
body.ideogy-aerial-product-grid .products-block .image img,
body.ideogy-aerial-product-grid .products .product>.p>.image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0 auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:none!important;
  transition:transform .2s ease!important;
}
body.ideogy-aerial-product-grid .ideogy-product-card-v17:hover .image img{
  transform:scale(1.035)!important;
}

/* Native Shoptet badges stay native; only the appearance changes. */
body.ideogy-aerial-product-grid .product .flag{
  top:10px!important;
  left:10px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:var(--ii-pink)!important;
  color:#000!important;
}

/* ---------- PRODUCT GRID: COPY ---------- */
body.ideogy-aerial-product-grid .product .p-in{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  padding:15px 16px 16px!important;
  text-align:left!important;
}
body.ideogy-aerial-product-grid .ideogy-card-kicker{
  display:block;
  margin:0 0 7px;
  color:#919191;
  font-size:8.5px;
  font-weight:700;
  line-height:1.1;
  letter-spacing:.055em;
  text-transform:uppercase;
}
body.ideogy-aerial-product-grid .product .name,
body.ideogy-aerial-product-grid .ideogy-card-name{
  margin:0!important;
  color:#111!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.18!important;
  letter-spacing:-.018em!important;
  text-align:left!important;
}
body.ideogy-aerial-product-grid .product .p-desc,
body.ideogy-aerial-product-grid .ideogy-card-description{
  display:-webkit-box!important;
  min-height:31px;
  margin:7px 0 0!important;
  overflow:hidden!important;
  color:#737373!important;
  font-size:9.5px!important;
  line-height:1.38!important;
  text-align:left!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
body.ideogy-aerial-product-grid .product .prices,
body.ideogy-aerial-product-grid .product .p-bottom{
  margin-top:auto!important;
}
body.ideogy-aerial-product-grid .product .price-final,
body.ideogy-aerial-product-grid .product .price-final strong,
body.ideogy-aerial-product-grid .ideogy-card-price{
  color:#111!important;
  font-size:15px!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}

/* ---------- PRODUCT GRID: CTA ---------- */
body.ideogy-aerial-product-grid .product .btn,
body.ideogy-aerial-product-grid .product .add-to-cart-button,
body.ideogy-aerial-product-grid .product .ideogy-card-button{
  width:100%!important;
  min-height:39px!important;
  margin-top:10px!important;
  border:1px solid var(--ii-pink)!important;
  border-radius:4px!important;
  background:var(--ii-pink)!important;
  color:#000!important;
  box-shadow:none!important;
  font-size:8.5px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
}
body.ideogy-aerial-product-grid .product .btn:hover,
body.ideogy-aerial-product-grid .product .add-to-cart-button:hover{
  border-color:#000!important;
  background:#000!important;
  color:#FFF!important;
}

/* ---------- PRODUCT DETAIL: AERIAL ----------
   Consolidated into the universal v5.9 product-detail layer below.
   ---------- */

/* ---------- RESPONSIVE ---------- */
@media (max-width:1100px){
  body.ideogy-aerial-context .ideogy-inner-hero{
    grid-template-columns:minmax(0,58%) minmax(0,42%)!important;
  }

  body.ideogy-aerial-context .ideogy-inner-hero-copy{
    padding:28px 22px 28px 26px!important;
  }

  body.ideogy-aerial-context .ideogy-aerial-category-card{
    min-height:116px;
  }
}

@media (max-width:767px){
body.ideogy-aerial-context .ideogy-inner-hero{
    display:block!important;
    min-height:440px!important;
  }
body.ideogy-aerial-context .ideogy-inner-hero-copy{
    position:absolute!important;
    inset:0!important;
    z-index:4!important;
    justify-content:flex-end!important;
    padding:24px 18px 20px!important;
  }
body.ideogy-aerial-context .ideogy-inner-hero::before{
    z-index:2!important;
    background:
      linear-gradient(
        0deg,
        rgba(0,0,0,.94) 0%,
        rgba(0,0,0,.60) 46%,
        rgba(0,0,0,.12) 82%,
        rgba(0,0,0,.03) 100%
      )!important;
  }
body.ideogy-aerial-context .ideogy-inner-hero-media{
    position:absolute!important;
    inset:0!important;
    min-height:0!important;
  }
body.ideogy-aerial-context .ideogy-inner-hero-media::before{
    display:none!important;
  }
body.ideogy-aerial-context .ideogy-inner-hero h1{
    font-size:40px!important;
  }
body.ideogy-aerial-context .ideogy-inner-eyebrow{
    font-size:13px!important;
  }
body.ideogy-aerial-context .ideogy-inner-description{
    font-size:11px!important;
  }
body.ideogy-aerial-context .ideogy-aerial-nav{
    gap:6px;
    margin-top:14px;
  }
body.ideogy-aerial-context .ideogy-aerial-nav a{
    min-height:31px;
    padding:0 10px;
    font-size:7.7px;
  }
body.ideogy-aerial-context .ideogy-aerial-category-cards{
    grid-template-columns:1fr!important;
    gap:7px;
  }
body.ideogy-aerial-context .ideogy-aerial-category-card{
    min-height:104px;
  }
body.ideogy-aerial-product-grid .products-block .image,
body.ideogy-aerial-product-grid .products .product>.p>.image{
    padding:16px!important;
  }

}

@media (max-width:399px){
body.ideogy-aerial-context .ideogy-inner-hero{
    min-height:410px!important;
  }
body.ideogy-aerial-context .ideogy-inner-hero h1{
    font-size:35px!important;
  }
body.ideogy-aerial-product-grid .product .p-in{
    padding:13px 13px 14px!important;
  }
}


/* =========================================================
   17 / V1.8 STABILITY FIX
   =========================================================
   No new visual dependency.
   Product image URLs remain fully native to Shoptet.
   ========================================================= */


/* =========================================================
   18 / V1.9 — CATEGORY CARD IMAGES + GENERIC INTRO CLEANUP
   ========================================================= */

/* Hide duplicate native category intro text when the same copy already lives in the hero. */
.ideogy-native-intro-hidden{
  display:none!important;
}

/* Aerial master category cards now use their own visual image. */
body.ideogy-aerial-context .ideogy-aerial-category-card{
  background:#0F1013!important;
}
body.ideogy-aerial-context .ideogy-aerial-category-card::before{
  opacity:.10!important;
  z-index:1!important;
}
body.ideogy-aerial-context .ideogy-aerial-category-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(
      90deg,
      rgba(0,0,0,.82) 0%,
      rgba(0,0,0,.58) 36%,
      rgba(0,0,0,.20) 68%,
      rgba(0,0,0,.06) 100%
    ),
    radial-gradient(
      circle at 82% 18%,
      rgba(255,102,255,.18),
      transparent 30%
    ),
    var(--ideogy-card-image);
  background-size:
    auto,
    auto,
    cover;
  background-position:
    center center,
    center center,
    var(--ideogy-card-position,center center);
  background-repeat:no-repeat;
  opacity:1;
  transition:transform .22s ease, opacity .22s ease;
}
body.ideogy-aerial-context .ideogy-aerial-category-card:hover::after{
  transform:scale(1.02);
}
body.ideogy-aerial-context .ideogy-aerial-category-card .ideogy-aerial-category-number{
  color:#D2D2D2!important;
}
body.ideogy-aerial-context .ideogy-aerial-category-card .ideogy-aerial-category-label{
  max-width:210px!important;
  text-shadow:0 2px 18px rgba(0,0,0,.38);
}
body.ideogy-aerial-context .ideogy-aerial-category-card .ideogy-aerial-category-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:999px;
  background:rgba(0,0,0,.34);
  backdrop-filter:blur(3px);
}

/* Subcategory heroes already contain the important copy,
   so when the native category description survives, keep the area clean. */
body.ideogy-aerial-context--aerial-compact .ideogy-inner-hero,
body.ideogy-aerial-context--aerial-fpv .ideogy-inner-hero,
body.ideogy-aerial-context--aerial-professional .ideogy-inner-hero{
  margin-bottom:16px!important;
}

@media (max-width:767px){
body.ideogy-aerial-context .ideogy-aerial-category-card::after{
    background-image:
      linear-gradient(
        90deg,
        rgba(0,0,0,.84) 0%,
        rgba(0,0,0,.60) 45%,
        rgba(0,0,0,.22) 78%,
        rgba(0,0,0,.08) 100%
      ),
      radial-gradient(
        circle at 82% 18%,
        rgba(255,102,255,.18),
        transparent 30%
      ),
      var(--ideogy-card-image);
  }
body.ideogy-aerial-context .ideogy-aerial-category-card .ideogy-aerial-category-label{
    max-width:180px!important;
    font-size:15px!important;
  }
}


/* =========================================================
   19 / V2.0 — SHOPTET CATEGORY IMAGE ENGINE
   =========================================================
   Images in category heroes and category cards are sourced
   from Shoptet wherever available.

   IMAGE CONTENT = SHOPTET
   VISUAL COMPOSITION = IDEOGY
   ========================================================= */
body.ideogy-page-category .ideogy-inner-hero-media img[src=""]{
  display:none!important;
}

/* Generic future category hero */
body.ideogy-generic-category-context .ideogy-inner-hero{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,50%) minmax(0,50%)!important;
  min-height:310px!important;
  overflow:hidden!important;
  margin-bottom:12px!important;
  background:#0A0A0B!important;
  color:#FFF!important;
}
body.ideogy-generic-category-context .ideogy-inner-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.94) 0%,
      rgba(0,0,0,.78) 38%,
      rgba(0,0,0,.24) 72%,
      rgba(0,0,0,.03) 100%
    );
}
body.ideogy-generic-category-context .ideogy-inner-hero-copy{
  position:relative!important;
  z-index:3!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:34px 32px 34px 36px!important;
}
body.ideogy-generic-category-context .ideogy-inner-hero h1{
  margin:0!important;
  color:#FFF!important;
  font-size:clamp(39px,4.2vw,66px)!important;
  font-weight:500!important;
  line-height:.95!important;
  letter-spacing:-.045em!important;
  text-transform:uppercase!important;
}
body.ideogy-generic-category-context .ideogy-inner-hero h1::after{
  content:".";
  color:var(--ii-pink);
}
body.ideogy-generic-category-context .ideogy-inner-description{
  max-width:520px!important;
  margin:14px 0 0!important;
  color:#D8D8D8!important;
  font-size:12px!important;
  line-height:1.5!important;
}
body.ideogy-generic-category-context .ideogy-inner-hero-media{
  position:relative!important;
  z-index:0!important;
  min-height:310px!important;
  overflow:hidden!important;
}
body.ideogy-generic-category-context .ideogy-inner-hero-media img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
}

/* Dynamic subcategory cards — reusable across DESIGN / ENGINEERING / future categories */
body.ideogy-page-category .ideogy-dynamic-category-cards{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin:0 0 20px!important;
}
body.ideogy-page-category .ideogy-dynamic-category-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  min-height:138px!important;
  padding:17px 18px 16px!important;
  overflow:hidden!important;
  border:1px solid #202020!important;
  border-radius:3px!important;
  background:#111214!important;
  color:#FFF!important;
  text-decoration:none!important;
  box-sizing:border-box!important;
  isolation:isolate!important;
}
body.ideogy-page-category .ideogy-dynamic-category-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.82) 0%,
      rgba(0,0,0,.54) 40%,
      rgba(0,0,0,.13) 78%,
      rgba(0,0,0,.03) 100%
    ),
    var(--ideogy-card-image,none);
  background-repeat:no-repeat;
  background-size:auto,cover;
  background-position:center center,center center;
  transition:transform .20s ease;
}
body.ideogy-page-category .ideogy-dynamic-category-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(255,102,255,.18),
      transparent 28%
    );
}
body.ideogy-page-category .ideogy-dynamic-category-card:hover{
  border-color:var(--ii-pink)!important;
}
body.ideogy-page-category .ideogy-dynamic-category-card:hover::after{
  transform:scale(1.025);
}
body.ideogy-page-category .ideogy-dynamic-category-number,
body.ideogy-page-category .ideogy-aerial-category-number{
  margin-bottom:auto!important;
  color:#D0D0D0!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
}
body.ideogy-page-category .ideogy-dynamic-category-label,
body.ideogy-page-category .ideogy-aerial-category-label{
  position:relative!important;
  z-index:2!important;
  max-width:210px!important;
  color:#FFF!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.08!important;
  text-transform:uppercase!important;
  text-shadow:0 2px 18px rgba(0,0,0,.4)!important;
}
body.ideogy-page-category .ideogy-dynamic-category-arrow,
body.ideogy-page-category .ideogy-aerial-category-arrow{
  position:relative!important;
  z-index:2!important;
  margin-top:10px!important;
  color:var(--ii-pink)!important;
  font-size:17px!important;
}

/* If Shoptet has no image yet, retain a clean fallback surface. */
body.ideogy-page-category .ideogy-dynamic-category-card:not(.has-shoptet-image){
  background:
    linear-gradient(135deg,#111214 0%,#242128 100%)!important;
}

/* Generic native subcategory lists are hidden only after the custom version exists. */
body.ideogy-page-category .ideogy-native-subcategories-hidden{
  display:none!important;
}

@media (max-width:1100px){
body.ideogy-page-category .ideogy-dynamic-category-cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:767px){
body.ideogy-generic-category-context .ideogy-inner-hero{
    display:block!important;
    min-height:420px!important;
  }
body.ideogy-generic-category-context .ideogy-inner-hero-copy{
    position:absolute!important;
    inset:0!important;
    z-index:4!important;
    justify-content:flex-end!important;
    padding:24px 18px 20px!important;
  }
body.ideogy-generic-category-context .ideogy-inner-hero::before{
    z-index:2!important;
    background:
      linear-gradient(
        0deg,
        rgba(0,0,0,.94) 0%,
        rgba(0,0,0,.60) 46%,
        rgba(0,0,0,.14) 82%,
        rgba(0,0,0,.03) 100%
      )!important;
  }
body.ideogy-generic-category-context .ideogy-inner-hero-media{
    position:absolute!important;
    inset:0!important;
    min-height:0!important;
  }
body.ideogy-generic-category-context .ideogy-inner-hero h1{
    font-size:38px!important;
  }
body.ideogy-page-category .ideogy-dynamic-category-cards{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
body.ideogy-page-category .ideogy-dynamic-category-card{
    min-height:116px!important;
  }
}


/* =========================================================
   20 / V2.2 — SAFE CATEGORY IMAGE RESOLUTION
   ========================================================= */
body.ideogy-page-category .ideogy-inner-hero.is-resolving-category-image
.ideogy-inner-hero-media{
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.04),
      rgba(255,255,255,0)
    );
}
body.ideogy-page-category .ideogy-inner-hero.has-no-category-image
.ideogy-inner-hero-media img{
  display:none!important;
}
body.ideogy-page-category .ideogy-generated-category-heading{
  margin:0!important;
}
body.ideogy-page-category--design .ideogy-inner-hero-media,
body.ideogy-page-category--engineering .ideogy-inner-hero-media{
  min-height:255px!important;
}

@media (max-width:767px){
body.ideogy-page-category--design .ideogy-inner-hero-media,
body.ideogy-page-category--engineering .ideogy-inner-hero-media{
    min-height:0!important;
  }
}


/* =========================================================
   21 / V3.0 — UNIVERSAL CATEGORY SYSTEM
   =========================================================
   One geometry for ALL categories and subcategories.
   Image source = Shoptet category image.
   Product image source = native Shoptet product image.
   ========================================================= */
body.ideogy-v3-category-page .ideogy-category-hero-v3{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,46%) minmax(0,54%)!important;

  width:100%!important;
  height:320px!important;
  min-height:320px!important;
  max-height:320px!important;

  margin:0 0 12px!important;
  padding:0!important;

  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;

  background:#0A0A0B!important;
  color:#FFF!important;
  isolation:isolate!important;
}

/* controlled text-to-image transition */
body.ideogy-v3-category-page .ideogy-category-hero-v3::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.94) 0%,
      rgba(0,0,0,.86) 31%,
      rgba(0,0,0,.53) 46%,
      rgba(0,0,0,.12) 65%,
      rgba(0,0,0,0) 100%
    );
}
body.ideogy-v3-category-page .ideogy-category-hero-v3__copy{
  position:relative!important;
  z-index:4!important;

  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;

  width:100%!important;
  min-width:0!important;
  height:320px!important;

  padding:30px 34px 30px 36px!important;
  box-sizing:border-box!important;

  text-align:left!important;
}
body.ideogy-v3-category-page .ideogy-category-hero-v3__kicker{
  margin:0 0 13px!important;

  color:var(--ii-pink)!important;

  font-size:9px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.11em!important;

  text-transform:uppercase!important;
}
body.ideogy-v3-category-page .ideogy-category-hero-v3 h1{
  margin:0!important;
  padding:0!important;

  max-width:660px!important;

  color:#FFF!important;

  font-size:clamp(40px,4vw,64px)!important;
  font-weight:500!important;
  line-height:.94!important;
  letter-spacing:-.045em!important;

  text-align:left!important;
  text-transform:uppercase!important;
}
body.ideogy-v3-category-page .ideogy-category-hero-v3 h1::after{
  content:".";
  color:var(--ii-pink);
}
body.ideogy-v3-category-page .ideogy-category-hero-v3__eyebrow{
  margin:14px 0 0!important;

  color:#FFF!important;

  font-size:14px!important;
  font-weight:650!important;
  line-height:1.25!important;
}
body.ideogy-v3-category-page .ideogy-category-hero-v3__description{
  max-width:560px!important;

  margin:7px 0 0!important;

  color:#D6D6D6!important;

  font-size:11px!important;
  font-weight:400!important;
  line-height:1.48!important;
}
body.ideogy-v3-category-page .ideogy-category-hero-v3__nav{
  margin-top:18px!important;
}

/* HERO IMAGE – Shoptet controls source/crop preparation,
   IDEOGY controls only the viewport. */
body.ideogy-v3-category-page .ideogy-category-hero-v3__media{
  position:relative!important;
  z-index:0!important;

  width:100%!important;
  min-width:0!important;
  height:320px!important;

  overflow:hidden!important;
  background:#111!important;
}
body.ideogy-v3-category-page .ideogy-category-hero-v3__media img{
  position:absolute!important;
  inset:0!important;

  display:block!important;

  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  max-width:none!important;
  min-height:100%!important;
  max-height:none!important;

  margin:0!important;

  object-fit:cover!important;
  object-position:center center!important;

  filter:none!important;
  transform:none!important;
}
body.ideogy-v3-category-page .ideogy-category-hero-v3.has-no-category-image
.ideogy-category-hero-v3__media{
  background:
    radial-gradient(
      circle at 70% 40%,
      rgba(255,102,255,.13),
      transparent 32%
    ),
    #111214!important;
}

/* Main DESIGN remains warmer if no image has resolved yet. */
body.ideogy-v3-category-page--design
.ideogy-category-hero-v3.has-no-category-image
.ideogy-category-hero-v3__media{
  background:
    radial-gradient(
      circle at 70% 45%,
      rgba(255,102,255,.11),
      transparent 30%
    ),
    #18130F!important;
}

/* Main ENGINEERING remains cooler if no image has resolved yet. */
body.ideogy-v3-category-page--engineering
.ideogy-category-hero-v3.has-no-category-image
.ideogy-category-hero-v3__media{
  background:
    radial-gradient(
      circle at 70% 45%,
      rgba(255,102,255,.11),
      transparent 30%
    ),
    #152332!important;
}

/* Hide duplicate native description and native subcategory pills only
   after our replacement exists. */
body.ideogy-v3-category-page .ideogy-v3-native-intro-hidden,
body.ideogy-v3-category-page .ideogy-v3-native-subcategories-hidden{
  display:none!important;
}

/* =========================================================
   UNIVERSAL CHILD-CATEGORY VISUAL CARDS
   ========================================================= */
body.ideogy-v3-category-page .ideogy-category-cards-v3{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;

  width:100%!important;

  gap:10px!important;

  margin:0 0 20px!important;
  padding:0!important;
}
body.ideogy-v3-category-page .ideogy-category-card-v3{
  position:relative!important;

  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;

  min-width:0!important;
  min-height:132px!important;
  height:132px!important;

  margin:0!important;
  padding:16px 17px 15px!important;

  overflow:hidden!important;

  border:1px solid #1D1D1F!important;
  border-radius:3px!important;

  background:#111214!important;
  color:#FFF!important;

  text-decoration:none!important;
  box-sizing:border-box!important;
  isolation:isolate!important;

  transition:
    border-color .18s ease,
    transform .18s ease!important;
}
body.ideogy-v3-category-page .ideogy-category-card-v3::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;

  background-image:
    linear-gradient(
      90deg,
      rgba(0,0,0,.84) 0%,
      rgba(0,0,0,.57) 42%,
      rgba(0,0,0,.17) 76%,
      rgba(0,0,0,.04) 100%
    ),
    var(--ideogy-v3-card-image,none);

  background-position:
    center center,
    center center;

  background-repeat:no-repeat;

  background-size:
    auto,
    cover;

  transition:
    transform .2s ease!important;
}
body.ideogy-v3-category-page .ideogy-category-card-v3::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;

  pointer-events:none;

  background:
    radial-gradient(
      circle at 87% 12%,
      rgba(255,102,255,.18),
      transparent 27%
    );
}
body.ideogy-v3-category-page .ideogy-category-card-v3:hover{
  transform:translateY(-2px)!important;
  border-color:var(--ii-pink)!important;
}
body.ideogy-v3-category-page .ideogy-category-card-v3:hover::before{
  transform:scale(1.025)!important;
}
body.ideogy-v3-category-page .ideogy-category-card-v3__number{
  margin-bottom:auto!important;

  color:#D0D0D0!important;

  font-size:8.5px!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
}
body.ideogy-v3-category-page .ideogy-category-card-v3__title{
  position:relative!important;
  z-index:2!important;

  max-width:210px!important;

  color:#FFF!important;

  font-size:15px!important;
  font-weight:800!important;
  line-height:1.08!important;

  text-transform:uppercase!important;

  text-shadow:
    0 2px 18px rgba(0,0,0,.48)!important;
}
body.ideogy-v3-category-page .ideogy-category-card-v3__arrow{
  position:relative!important;
  z-index:2!important;

  margin-top:9px!important;

  color:var(--ii-pink)!important;

  font-size:16px!important;
  line-height:1!important;
}

/* =========================================================
   UNIVERSAL PRODUCT CARDS
   Native Shoptet images/content remain the data source.
   ========================================================= */
body.ideogy-v3-product-grid .products-block .product,
body.ideogy-v3-product-grid .products .product{
  padding:5px!important;
}
body.ideogy-v3-product-grid .products-block .product>.p,
body.ideogy-v3-product-grid .products .product>.p{
  display:flex!important;
  flex-direction:column!important;

  height:100%!important;

  margin:0!important;
  padding:0!important;

  overflow:hidden!important;

  border:1px solid #E8E8E8!important;
  border-radius:8px!important;

  background:#FFF!important;
  box-shadow:none!important;

  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease!important;
}
body.ideogy-v3-product-grid .ideogy-product-card-v3:hover>.p,
body.ideogy-v3-product-grid .ideogy-product-card-v3:hover .p{
  transform:translateY(-2px)!important;

  border-color:#D6D6D6!important;

  box-shadow:
    0 12px 30px rgba(0,0,0,.06)!important;
}
body.ideogy-v3-product-grid .product .image{
  position:relative!important;

  width:100%!important;
  aspect-ratio:1 / .84!important;

  margin:0!important;
  padding:18px!important;

  overflow:hidden!important;

  background:
    linear-gradient(
      145deg,
      #FAFAFA 0%,
      #F3F3F3 100%
    )!important;

  box-sizing:border-box!important;
}
body.ideogy-v3-product-grid .product .image img{
  display:block!important;

  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;

  margin:0 auto!important;

  object-fit:contain!important;
  object-position:center center!important;

  transform:none!important;
}
body.ideogy-v3-product-grid .product .p-in{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;

  padding:14px 15px 15px!important;

  text-align:left!important;
}
body.ideogy-v3-product-grid
.ideogy-product-card-v3__kicker{
  display:block!important;

  margin:0 0 6px!important;

  color:#929292!important;

  font-size:8px!important;
  font-weight:700!important;
  line-height:1.1!important;
  letter-spacing:.055em!important;

  text-transform:uppercase!important;
}
body.ideogy-v3-product-grid .product .name{
  color:#111!important;

  font-size:13.5px!important;
  font-weight:800!important;
  line-height:1.18!important;
  letter-spacing:-.015em!important;

  text-align:left!important;
}
body.ideogy-v3-product-grid .product .price-final,
body.ideogy-v3-product-grid .product .price-final strong{
  color:#111!important;

  font-size:15px!important;
  font-weight:800!important;
}

/* Native Shoptet buy button remains functional. */
body.ideogy-v3-product-grid .product .btn,
body.ideogy-v3-product-grid .product .add-to-cart-button{
  width:100%!important;
  min-height:38px!important;

  margin-top:10px!important;

  border:1px solid var(--ii-pink)!important;
  border-radius:4px!important;

  background:var(--ii-pink)!important;
  color:#000!important;

  box-shadow:none!important;

  font-size:8px!important;
  font-weight:800!important;

  text-transform:uppercase!important;
}

/* =========================================================
   RESPONSIVE UNIVERSAL CATEGORY GEOMETRY
   ========================================================= */
@media (min-width:768px) and (max-width:1100px){
  body.ideogy-v3-category-page .ideogy-category-hero-v3{
    grid-template-columns:minmax(0,52%) minmax(0,48%)!important;

    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
  }

  body.ideogy-v3-category-page .ideogy-category-hero-v3__copy,
  body.ideogy-v3-category-page .ideogy-category-hero-v3__media{
    height:300px!important;
  }

  body.ideogy-v3-category-page .ideogy-category-hero-v3__copy{
    padding:
      26px 24px 26px 27px!important;
  }

  body.ideogy-v3-category-page .ideogy-category-cards-v3{
    grid-template-columns:
      repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:767px){
body.ideogy-v3-category-page .ideogy-category-hero-v3{
    display:block!important;

    height:440px!important;
    min-height:440px!important;
    max-height:440px!important;
  }
body.ideogy-v3-category-page .ideogy-category-hero-v3::before{
    z-index:2!important;

    background:
      linear-gradient(
        0deg,
        rgba(0,0,0,.95) 0%,
        rgba(0,0,0,.72) 38%,
        rgba(0,0,0,.22) 75%,
        rgba(0,0,0,.04) 100%
      )!important;
  }
body.ideogy-v3-category-page .ideogy-category-hero-v3__copy{
    position:absolute!important;
    inset:0!important;

    z-index:4!important;

    justify-content:flex-end!important;

    height:440px!important;

    padding:
      24px 18px 20px!important;
  }
body.ideogy-v3-category-page .ideogy-category-hero-v3__media{
    position:absolute!important;
    inset:0!important;

    z-index:0!important;

    height:440px!important;
  }
body.ideogy-v3-category-page .ideogy-category-hero-v3 h1{
    font-size:38px!important;
  }
body.ideogy-v3-category-page .ideogy-category-hero-v3__description{
    max-width:92%!important;

    font-size:10.5px!important;
  }
body.ideogy-v3-category-page .ideogy-category-cards-v3{
    grid-template-columns:1fr!important;

    gap:8px!important;
  }
body.ideogy-v3-category-page .ideogy-category-card-v3{
    height:116px!important;
    min-height:116px!important;
  }
}

@media (max-width:399px){
body.ideogy-v3-category-page .ideogy-category-hero-v3{
    height:410px!important;
    min-height:410px!important;
    max-height:410px!important;
  }
body.ideogy-v3-category-page .ideogy-category-hero-v3__copy,
body.ideogy-v3-category-page .ideogy-category-hero-v3__media{
    height:410px!important;
  }
body.ideogy-v3-category-page .ideogy-category-hero-v3 h1{
    font-size:34px!important;
  }
}


/* =========================================================
   22 / V3.1 — TITLE PHOTO FOLDER INFRASTRUCTURE
   =========================================================
   Category visuals come exclusively from:
   /user/documents/upload/ideogy/titulne-fotky/

   Missing image = intentional clean fallback surface.
   Product images remain native Shoptet.
   ========================================================= */
body.ideogy-v3-category-page
.ideogy-category-hero-v3.is-loading-image
.ideogy-category-hero-v3__media{
  background:#111214!important;
}
body.ideogy-v3-category-page
.ideogy-category-hero-v3.has-no-category-image
.ideogy-category-hero-v3__media img{
  display:none!important;
}
body.ideogy-v3-category-page
.ideogy-category-card-v3:not(.has-category-image)::before{
  background:
    linear-gradient(
      135deg,
      #101113 0%,
      #242128 100%
    )!important;
}

/*
  We intentionally use object-fit:cover.
  The uploaded title-photo composition controls what is visible;
  the IDEOGY code controls the viewport dimensions.
*/
body.ideogy-v3-category-page
.ideogy-category-hero-v3__media img{
  object-fit:cover!important;
  object-position:center center!important;
}


/* =========================================================
   23 / V3.2 — SHOPTET DATA-IMAGE SOURCE
   =========================================================
   Category image source:
   official Shoptet category-link `data-image`.

   The visual geometry from V3 remains unchanged.
   Product photos remain native Shoptet images.
   ========================================================= */


/* =========================================================
   24 / V3.3 — EXACT SHOPTET / SAMBA CATEGORY ENGINE
   ========================================================= */

/* Native elements remain in DOM, but our visual system replaces them. */
body.ideogy-v33-category-page
.ideogy-v33-native-title-hidden,
body.ideogy-v33-category-page
.ideogy-v33-native-subcategories-hidden,
body.ideogy-v33-category-page
.ideogy-v33-native-intro-hidden{
  display:none!important;
}

/* ---------- HERO ---------- */
body.ideogy-v33-category-page
.ideogy-category-hero-v33{
  position:relative!important;

  display:grid!important;
  grid-template-columns:
    minmax(0,46%)
    minmax(0,54%)!important;

  width:100%!important;
  height:320px!important;
  min-height:320px!important;
  max-height:320px!important;

  margin:0 0 12px!important;
  padding:0!important;

  overflow:hidden!important;

  border:0!important;
  border-radius:0!important;

  background:#0B0B0C!important;
  color:#FFF!important;

  isolation:isolate!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33::before{
  content:"";
  position:absolute;
  inset:0;

  z-index:2;
  pointer-events:none;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.95) 0%,
      rgba(0,0,0,.86) 30%,
      rgba(0,0,0,.51) 47%,
      rgba(0,0,0,.12) 66%,
      rgba(0,0,0,0) 100%
    );
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33__copy{
  position:relative!important;
  z-index:4!important;

  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;

  width:100%!important;
  height:320px!important;

  padding:
    30px 34px 30px 36px!important;

  box-sizing:border-box!important;

  text-align:left!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33__kicker{
  margin:0 0 13px!important;

  color:var(--ii-pink)!important;

  font-size:9px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.11em!important;

  text-transform:uppercase!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33__title{
  margin:0!important;
  padding:0!important;

  max-width:660px!important;

  color:#FFF!important;

  font-size:
    clamp(40px,4vw,64px)!important;
  font-weight:500!important;
  line-height:.94!important;
  letter-spacing:-.045em!important;

  text-transform:uppercase!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33__title::after{
  content:".";
  color:var(--ii-pink);
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33__eyebrow{
  margin:14px 0 0!important;

  color:#FFF!important;

  font-size:14px!important;
  font-weight:650!important;
  line-height:1.25!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33__description{
  max-width:560px!important;

  margin:7px 0 0!important;

  color:#D6D6D6!important;

  font-size:11px!important;
  line-height:1.48!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33__nav{
  margin-top:18px!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33__media{
  position:relative!important;
  z-index:0!important;

  width:100%!important;
  height:320px!important;

  overflow:hidden!important;

  background:#111214!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33__media img{
  position:absolute!important;
  inset:0!important;

  display:block!important;

  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;

  margin:0!important;

  object-fit:cover!important;
  object-position:center center!important;

  filter:none!important;
  transform:none!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33.has-no-category-image
.ideogy-category-hero-v33__media img{
  display:none!important;
}

/* ---------- CHILD CATEGORY CARDS ---------- */
body.ideogy-v33-category-page
.ideogy-category-cards-v33{
  display:grid!important;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(200px,1fr)
    )!important;

  width:100%!important;

  gap:10px!important;

  margin:0 0 20px!important;
  padding:0!important;
}
body.ideogy-v33-category-page
.ideogy-category-card-v33{
  position:relative!important;

  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;

  height:132px!important;
  min-height:132px!important;
  min-width:0!important;

  padding:16px 17px 15px!important;

  overflow:hidden!important;

  border:
    1px solid #202024!important;
  border-radius:3px!important;

  background:#111214!important;
  color:#FFF!important;

  box-sizing:border-box!important;
  isolation:isolate!important;

  text-decoration:none!important;

  transition:
    transform .18s ease,
    border-color .18s ease!important;
}
body.ideogy-v33-category-page
.ideogy-category-card-v33::before{
  content:"";

  position:absolute;
  inset:0;
  z-index:-2;

  background-image:
    linear-gradient(
      90deg,
      rgba(0,0,0,.84) 0%,
      rgba(0,0,0,.57) 42%,
      rgba(0,0,0,.17) 76%,
      rgba(0,0,0,.04) 100%
    ),
    var(
      --ideogy-v33-card-image,
      none
    );

  background-position:
    center center,
    center center;

  background-repeat:
    no-repeat,
    no-repeat;

  background-size:
    auto,
    cover;

  transition:
    transform .2s ease!important;
}
body.ideogy-v33-category-page
.ideogy-category-card-v33::after{
  content:"";

  position:absolute;
  inset:0;
  z-index:-1;

  pointer-events:none;

  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(255,102,255,.18),
      transparent 28%
    );
}
body.ideogy-v33-category-page
.ideogy-category-card-v33:hover{
  transform:
    translateY(-2px)!important;

  border-color:
    var(--ii-pink)!important;
}
body.ideogy-v33-category-page
.ideogy-category-card-v33:hover::before{
  transform:
    scale(1.025)!important;
}
body.ideogy-v33-category-page
.ideogy-category-card-v33__number{
  margin-bottom:auto!important;

  color:#D0D0D0!important;

  font-size:8.5px!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
}
body.ideogy-v33-category-page
.ideogy-category-card-v33__title{
  position:relative!important;
  z-index:2!important;

  max-width:220px!important;

  color:#FFF!important;

  font-size:15px!important;
  font-weight:800!important;
  line-height:1.08!important;

  text-transform:uppercase!important;

  text-shadow:
    0 2px 18px rgba(0,0,0,.48)!important;
}
body.ideogy-v33-category-page
.ideogy-category-card-v33__arrow{
  position:relative!important;
  z-index:2!important;

  margin-top:9px!important;

  color:var(--ii-pink)!important;

  font-size:16px!important;
  line-height:1!important;
}

/* ---------- RESPONSIVE ---------- */
@media (
  min-width:768px
) and (
  max-width:1100px
){
  body.ideogy-v33-category-page
  .ideogy-category-hero-v33{
    grid-template-columns:
      minmax(0,52%)
      minmax(0,48%)!important;

    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
  }

  body.ideogy-v33-category-page
  .ideogy-category-hero-v33__copy,
  body.ideogy-v33-category-page
  .ideogy-category-hero-v33__media{
    height:300px!important;
  }
}

@media (max-width:767px){
body.ideogy-v33-category-page
  .ideogy-category-hero-v33{
    display:block!important;

    height:440px!important;
    min-height:440px!important;
    max-height:440px!important;
  }
body.ideogy-v33-category-page
  .ideogy-category-hero-v33::before{
    z-index:2!important;

    background:
      linear-gradient(
        0deg,
        rgba(0,0,0,.95) 0%,
        rgba(0,0,0,.72) 39%,
        rgba(0,0,0,.21) 76%,
        rgba(0,0,0,.03) 100%
      )!important;
  }
body.ideogy-v33-category-page
  .ideogy-category-hero-v33__copy{
    position:absolute!important;
    inset:0!important;

    z-index:4!important;

    justify-content:flex-end!important;

    height:440px!important;

    padding:
      24px 18px 20px!important;
  }
body.ideogy-v33-category-page
  .ideogy-category-hero-v33__media{
    position:absolute!important;
    inset:0!important;

    height:440px!important;
  }
body.ideogy-v33-category-page
  .ideogy-category-hero-v33__title{
    font-size:38px!important;
  }
body.ideogy-v33-category-page
  .ideogy-category-cards-v33{
    grid-template-columns:
      1fr!important;

    gap:8px!important;
  }
body.ideogy-v33-category-page
  .ideogy-category-card-v33{
    height:116px!important;
    min-height:116px!important;
  }
}


/* =========================================================
   25 / V3.4 — FULL-BLEED CATEGORY VISUALS
   =========================================================
   CATEGORY IMAGE:
   - fills the complete hero
   - text sits above a controlled gradient
   - same principle on child-category cards
   ========================================================= */

/* ---------- FULL-WIDTH HERO IMAGE ---------- */
body.ideogy-v33-category-page
.ideogy-category-hero-v33{
  position:relative!important;

  display:block!important;

  width:100%!important;
  height:320px!important;
  min-height:320px!important;
  max-height:320px!important;

  overflow:hidden!important;

  background:#0B0B0C!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33__media{
  position:absolute!important;
  inset:0!important;

  z-index:0!important;

  width:100%!important;
  height:100%!important;

  overflow:hidden!important;

  background:#111214!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33__media img{
  position:absolute!important;
  inset:0!important;

  width:100%!important;
  height:100%!important;

  min-width:100%!important;
  min-height:100%!important;

  max-width:none!important;
  max-height:none!important;

  padding:0!important;
  margin:0!important;

  object-fit:cover!important;
  object-position:center center!important;

  filter:none!important;
  transform:none!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33::before{
  content:""!important;

  position:absolute!important;
  inset:0!important;

  z-index:2!important;

  pointer-events:none!important;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.95) 0%,
      rgba(0,0,0,.80) 28%,
      rgba(0,0,0,.52) 48%,
      rgba(0,0,0,.20) 70%,
      rgba(0,0,0,.05) 100%
    )!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33::after{
  content:""!important;

  position:absolute!important;
  inset:0!important;

  z-index:1!important;

  pointer-events:none!important;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.08) 0%,
      rgba(0,0,0,0) 55%,
      rgba(0,0,0,.18) 100%
    )!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33__copy{
  position:relative!important;

  z-index:4!important;

  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;

  width:min(58%,720px)!important;
  height:320px!important;

  padding:
    30px 34px 30px 36px!important;

  box-sizing:border-box!important;
}

/* ---------- DESIGN / ENGINEERING SWITCH AS SEPARATE ROUNDED RECTANGLES ---------- */
body.ideogy-v33-category-page
.ideogy-category-hero-v33
.ideogy-inner-switch{
  display:flex!important;
  flex-wrap:wrap!important;

  gap:8px!important;

  margin:18px 0 0!important;
  padding:0!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33
.ideogy-inner-switch a{
  display:inline-flex!important;

  align-items:center!important;
  justify-content:center!important;

  min-width:104px!important;
  min-height:34px!important;

  padding:0 15px!important;

  border:
    1px solid rgba(255,255,255,.36)!important;

  border-radius:9px!important;

  background:
    rgba(0,0,0,.34)!important;

  color:#FFF!important;

  font-size:9px!important;
  font-weight:800!important;
  line-height:1!important;

  text-decoration:none!important;
  text-transform:uppercase!important;

  backdrop-filter:
    blur(7px)!important;

  -webkit-backdrop-filter:
    blur(7px)!important;

  transition:
    border-color .16s ease,
    background-color .16s ease,
    color .16s ease,
    transform .16s ease!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33
.ideogy-inner-switch a:hover{
  border-color:
    var(--ii-pink)!important;

  transform:
    translateY(-1px)!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33
.ideogy-inner-switch a.is-active{
  border-color:
    var(--ii-pink)!important;

  background:
    var(--ii-pink)!important;

  color:#000!important;
}

/* ---------- AERIAL NAV ALSO AS ROUNDED RECTANGLES ---------- */
body.ideogy-v33-category-page
.ideogy-category-hero-v33
.ideogy-aerial-nav{
  display:flex!important;
  flex-wrap:wrap!important;

  gap:8px!important;

  margin:18px 0 0!important;
  padding:0!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33
.ideogy-aerial-nav a{
  display:inline-flex!important;

  align-items:center!important;
  justify-content:center!important;

  min-height:34px!important;

  padding:0 14px!important;

  border:
    1px solid rgba(255,255,255,.34)!important;

  border-radius:9px!important;

  background:
    rgba(0,0,0,.34)!important;

  color:#FFF!important;

  font-size:8.5px!important;
  font-weight:800!important;
  line-height:1!important;

  text-decoration:none!important;
  text-transform:uppercase!important;

  backdrop-filter:
    blur(7px)!important;

  -webkit-backdrop-filter:
    blur(7px)!important;
}
body.ideogy-v33-category-page
.ideogy-category-hero-v33
.ideogy-aerial-nav a:hover,
body.ideogy-v33-category-page
.ideogy-category-hero-v33
.ideogy-aerial-nav a.is-active{
  border-color:
    var(--ii-pink)!important;

  background:
    var(--ii-pink)!important;

  color:#000!important;
}

/* ---------- CHILD CATEGORY CARDS ---------- */
body.ideogy-v33-category-page
.ideogy-category-cards-v33{
  gap:10px!important;
}
body.ideogy-v33-category-page
.ideogy-category-card-v33{
  height:132px!important;
  min-height:132px!important;

  border:
    1px solid rgba(0,0,0,.10)!important;

  border-radius:10px!important;

  overflow:hidden!important;

  background:#111214!important;

  box-shadow:
    0 2px 10px rgba(0,0,0,.04)!important;
}
body.ideogy-v33-category-page
.ideogy-category-card-v33::before{
  inset:0!important;

  background-image:
    linear-gradient(
      90deg,
      rgba(0,0,0,.76) 0%,
      rgba(0,0,0,.49) 42%,
      rgba(0,0,0,.13) 78%,
      rgba(0,0,0,.03) 100%
    ),
    var(
      --ideogy-v33-card-image,
      none
    )!important;

  background-size:
    100% 100%,
    cover!important;

  background-position:
    center center,
    center center!important;

  background-repeat:
    no-repeat,
    no-repeat!important;
}

/* =========================================================
   26 / V3.4 — PRODUCT IMAGE QUALITY
   =========================================================
   The JS promotes native Shoptet data-micro-image to the card.
   CSS never enlarges it beyond a sensible card viewport.
   ========================================================= */
body.ideogy-v3-product-grid
.product .image{
  aspect-ratio:
    1 / .88!important;

  padding:
    14px!important;

  background:
    #FAFAFA!important;
}
body.ideogy-v3-product-grid
.product .image img{
  width:100%!important;
  height:100%!important;

  max-width:100%!important;
  max-height:100%!important;

  object-fit:contain!important;
  object-position:center center!important;

  image-rendering:auto!important;

  filter:none!important;
  transform:none!important;

  backface-visibility:hidden!important;
}

/*
Avoid the old generic category rule:
object-fit: cover;
It crops and visually exaggerates low-resolution thumbnails.
*/
body.ideogy-v33-category-page.ideogy-v3-product-grid
.products-block .image img,
body.ideogy-v33-category-page.ideogy-v3-product-grid
.products .product>.p>.image img{
  object-fit:contain!important;
  transform:none!important;
}

/* ---------- RESPONSIVE HERO ---------- */
@media (
  min-width:768px
) and (
  max-width:1100px
){
  body.ideogy-v33-category-page
  .ideogy-category-hero-v33{
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
  }

  body.ideogy-v33-category-page
  .ideogy-category-hero-v33__copy{
    width:min(64%,650px)!important;
    height:300px!important;
  }

  body.ideogy-v33-category-page
  .ideogy-category-hero-v33__media{
    height:300px!important;
  }
}

@media (max-width:767px){
body.ideogy-v33-category-page
  .ideogy-category-hero-v33{
    height:440px!important;
    min-height:440px!important;
    max-height:440px!important;
  }
body.ideogy-v33-category-page
  .ideogy-category-hero-v33::before{
    background:
      linear-gradient(
        0deg,
        rgba(0,0,0,.95) 0%,
        rgba(0,0,0,.73) 41%,
        rgba(0,0,0,.22) 76%,
        rgba(0,0,0,.05) 100%
      )!important;
  }
body.ideogy-v33-category-page
  .ideogy-category-hero-v33__copy{
    position:absolute!important;
    inset:0!important;

    width:100%!important;
    height:440px!important;

    justify-content:flex-end!important;

    padding:
      24px 18px 20px!important;
  }
body.ideogy-v33-category-page
  .ideogy-category-hero-v33__media{
    height:440px!important;
  }
body.ideogy-v33-category-page
  .ideogy-category-hero-v33
  .ideogy-inner-switch,
body.ideogy-v33-category-page
  .ideogy-category-hero-v33
  .ideogy-aerial-nav{
    width:100%!important;
    gap:7px!important;
  }
body.ideogy-v33-category-page
  .ideogy-category-hero-v33
  .ideogy-inner-switch a,
body.ideogy-v33-category-page
  .ideogy-category-hero-v33
  .ideogy-aerial-nav a{
    min-height:34px!important;
  }
body.ideogy-v33-category-page
  .ideogy-category-card-v33{
    border-radius:10px!important;
  }
}


/* =========================================================
   27 / V3.5 — REMOVE "NAJPREDÁVANEJŠIE" COMPLETELY
   ========================================================= */
body.ideogy-v33-category-page
.products-top-wrapper,
body.ideogy-v33-category-page
.category-top > .products-top-wrapper{
  display:none!important;
}
body.ideogy-v33-category-page
.products-top-wrapper + .clearfix{
  display:none!important;
}

/* Remove residual vertical spacing if Samba leaves a wrapper gap. */
body.ideogy-v33-category-page
.category-top{
  padding-bottom:0!important;
}

/* =========================================================
   28 / V3.5 — CATEGORY CARD IMAGE QUALITY
   =========================================================
   JS now upgrades the native 140x100 Shoptet thumbnail
   to the category's original og:image when available.
   ========================================================= */
body.ideogy-v33-category-page
.ideogy-category-card-v33::before{
  background-size:
    100% 100%,
    cover!important;

  background-position:
    center center,
    center center!important;

  image-rendering:auto!important;
}

/* =========================================================
   29 / V3.5 — PRODUCT IMAGE SIZE + SHARPNESS
   =========================================================
   Keep Shoptet's high-res data-micro-image, but make the
   visible product larger again inside the card.
   ========================================================= */
body.ideogy-v3-product-grid
.product .image{
  padding:6px!important;
  overflow:hidden!important;
}
body.ideogy-v3-product-grid
.product .image img{
  width:100%!important;
  height:100%!important;

  max-width:100%!important;
  max-height:100%!important;

  object-fit:contain!important;
  object-position:center center!important;

  transform:
    scale(1.18)!important;

  transform-origin:
    center center!important;

  image-rendering:auto!important;

  filter:none!important;

  backface-visibility:hidden!important;
}

/*
Slightly lower zoom on mobile so products are not clipped.
*/
@media (max-width:767px){
  body.ideogy-v3-product-grid
  .product .image img{
    transform:
      scale(1.10)!important;
  }
}

/* =========================================================
   30 / V3.6 — PRODUCT IMAGE STABILITY HARDENING
   =========================================================
   FINAL SOURCE OF TRUTH for product-card image geometry.

   Why this exists:
   - historical Aerial rules used their own padding/aspect ratio
   - later V3/V3.4/V3.5 rules changed the same properties again
   - this created a fragile cascade where image size depended on
     which legacy body class happened to be present
   - JS V3.6 leaves native Shoptet src/srcset untouched

   Result:
   - Aerial Systems uses the same product-image geometry as every
     other category
   - no extra internal CSS padding shrinks the visible product
   - no transform zoom/counter-zoom is needed
   - object-fit:contain keeps complete drones/technical products visible
   ========================================================= */
body.ideogy-v3-product-grid .product .image,
body.ideogy-aerial-product-grid .products-block .image,
body.ideogy-aerial-product-grid .products .product>.p>.image{
  position:relative!important;
  width:100%!important;
  aspect-ratio:1 / 1!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#FAFAFA!important;
  box-sizing:border-box!important;
}
body.ideogy-v3-product-grid .product .image img,
body.ideogy-aerial-product-grid .products-block .image img,
body.ideogy-aerial-product-grid .products .product>.p>.image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0 auto!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  transform-origin:center center!important;
  filter:none!important;
  image-rendering:auto!important;
  backface-visibility:hidden!important;
}

/* Neutralize every historical hover zoom from the Aerial/V3 layers. */
body.ideogy-v3-product-grid .product:hover .image img,
body.ideogy-v3-product-grid .ideogy-product-card-v3:hover .image img,
body.ideogy-aerial-product-grid .ideogy-product-card-v17:hover .image img{
  transform:none!important;
}

/* Mobile must keep exactly the same sizing policy. */
@media (max-width:767px){
  body.ideogy-v3-product-grid .product .image,
  body.ideogy-aerial-product-grid .products-block .image,
  body.ideogy-aerial-product-grid .products .product>.p>.image{
    aspect-ratio:1 / 1!important;
    padding:0!important;
  }

  body.ideogy-v3-product-grid .product .image img,
  body.ideogy-aerial-product-grid .products-block .image img,
  body.ideogy-aerial-product-grid .products .product>.p>.image img{
    transform:none!important;
  }
}



/* =========================================================
   24 / V3.7 — PERMANENT CATEGORY NUMBER REMOVAL
   ---------------------------------------------------------
   Category/subcategory image cards must never display the legacy
   01 / 02 / 03 numbering. The JS builders no longer create these
   nodes; these selectors are a defensive fallback for old cached DOM
   or any legacy IDEOGY script accidentally loaded at the same time.
   ========================================================= */
.ideogy-category-card-v3__number,
.ideogy-category-card-v33__number,
.ideogy-dynamic-category-number,
.ideogy-aerial-category-number{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Keep category-card content anchored cleanly after removing the number. */
body.ideogy-v3-category-page .ideogy-category-card-v3,
body.ideogy-v33-category-page .ideogy-category-card-v33,
body.ideogy-page-category .ideogy-dynamic-category-card,
body.ideogy-aerial-context .ideogy-aerial-category-card{
  justify-content:flex-end!important;
}

/* =========================================================
   12 / PRODUCT FLAGS — IDEOGY v5.5
   ---------------------------------------------------------
   Native Shoptet badge functionality stays untouched.
   Only the visual appearance of "Novinka / New" is changed.
   Header / menu / navigation are NOT modified here.
   ========================================================= */

/* Standard Shoptet NEW flag variants used across category listings. */
body.ideogy-inner-page .flag.flag-new,
body.ideogy-inner-page .flag-new,
body.ideogy-inner-page .flags .flag-new,
body.ideogy-inner-page .flags-default .flag-new,
body.ideogy-page-category .flag.flag-new,
body.ideogy-page-category .flag-new,
body.ideogy-page-category .flags .flag-new,
body.ideogy-page-category .flags-default .flag-new,
body.ideogy-page-category .product .flag.flag-new,
body.ideogy-page-category .product .flags .flag-new,
body.ideogy-page-category .product .flags-default .flag-new{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:7px 13px!important;
  border:0!important;
  border-radius:3px!important;
  background:#FF66FF!important;
  background-color:#FF66FF!important;
  background-image:none!important;
  color:#000000!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  text-transform:uppercase!important;
}

/* Some Samba builds apply the color to a child element. */
body.ideogy-inner-page .flag.flag-new > *,
body.ideogy-inner-page .flag-new > *,
body.ideogy-page-category .flag.flag-new > *,
body.ideogy-page-category .flag-new > *{
  background:transparent!important;
  color:#000000!important;
  text-shadow:none!important;
}

/* Prevent theme pseudo-elements from reintroducing green wedges/accents. */
body.ideogy-inner-page .flag.flag-new::before,
body.ideogy-inner-page .flag.flag-new::after,
body.ideogy-inner-page .flag-new::before,
body.ideogy-inner-page .flag-new::after,
body.ideogy-page-category .flag.flag-new::before,
body.ideogy-page-category .flag.flag-new::after,
body.ideogy-page-category .flag-new::before,
body.ideogy-page-category .flag-new::after{
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Keep the native badge in the same top-left position as Shoptet. */
body.ideogy-page-category .product .flags,
body.ideogy-page-category .product .flags-default{
  z-index:6!important;
}

/* Hover remains IDEOGY pink — no green theme state. */
body.ideogy-inner-page .flag.flag-new:hover,
body.ideogy-inner-page .flag-new:hover,
body.ideogy-page-category .flag.flag-new:hover,
body.ideogy-page-category .flag-new:hover{
  background:#FF66FF!important;
  background-color:#FF66FF!important;
  color:#000!important;
}



/* =========================================================
   13 / V5.6 — NOVINKA HARD OVERRIDE
   ---------------------------------------------------------
   Shoptet/Samba can load its flag CSS after custom styles.
   These selectors intentionally have higher specificity.
   ========================================================= */
html body.ideogy-page-category .products-block .product .flags .flag.flag-new,
html body.ideogy-page-category .products-block .product .flags-default .flag.flag-new,
html body.ideogy-page-category .products-block .product .flag.flag-new,
html body.ideogy-v3-product-grid .product .flags .flag.flag-new,
html body.ideogy-v3-product-grid .product .flags-default .flag.flag-new,
html body.ideogy-v3-product-grid .product .flag.flag-new{
  background:#FF66FF!important;
  background-color:#FF66FF!important;
  background-image:none!important;
  color:#000!important;
  border-color:#FF66FF!important;
  text-shadow:none!important;
  box-shadow:none!important;
}
html body.ideogy-page-category .flag.flag-new:hover,
html body.ideogy-page-category .flag.flag-new:focus{
  background:#FF66FF!important;
  background-color:#FF66FF!important;
  color:#000!important;
}


/* =========================================================
   14 / V5.7 — PRODUCT GRID POLISH
   ---------------------------------------------------------
   Goal:
   - preserve existing IDEOGY hero / menu / category cards
   - refine only the native Shoptet product listing
   - 4 columns on wide desktop
   - stronger sorting bar
   - tighter cards
   - clearer price
   - stronger add-to-cart button
   - no fake wishlist / no fake controls
   ========================================================= */

/* ---------- SORTING BAR ---------- */
body.ideogy-page-category .category-header{
  display:flex!important;
  align-items:stretch!important;
  flex-wrap:wrap!important;

  min-height:58px!important;

  margin:20px 0 16px!important;
  padding:0 8px!important;

  border:1px solid #EEEEF1!important;
  border-radius:10px!important;

  background:#FAFAFB!important;

  box-shadow:none!important;
}
body.ideogy-page-category .category-header label,
body.ideogy-page-category .category-header a{
  position:relative!important;

  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;

  min-height:56px!important;
  padding:0 26px!important;

  border:0!important;
  border-radius:0!important;

  background:transparent!important;

  color:#B1B2B7!important;

  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;

  text-decoration:none!important;
  text-transform:none!important;

  transition:
    color .16s ease,
    background-color .16s ease!important;
}
body.ideogy-page-category .category-header label:hover,
body.ideogy-page-category .category-header a:hover{
  color:#111!important;
}
body.ideogy-page-category .category-header input:checked + label,
body.ideogy-page-category .category-header .active{
  color:#111!important;
  background:#FFF!important;
  box-shadow:
    0 5px 14px rgba(0,0,0,.035)!important;
}
body.ideogy-page-category .category-header input:checked + label::after,
body.ideogy-page-category .category-header .active::after{
  content:""!important;

  position:absolute!important;
  left:18px!important;
  right:18px!important;
  bottom:0!important;

  height:3px!important;

  background:var(--ii-pink)!important;
}

/* ---------- GRID GEOMETRY ---------- */
@media (min-width:1250px){
  body.ideogy-v3-product-grid #products.products-block,
  body.ideogy-v3-product-grid .products.products-block,
  body.ideogy-v3-product-grid .products{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:14px!important;
  }

  body.ideogy-v3-product-grid #products.products-block > .product,
  body.ideogy-v3-product-grid .products-block > .product,
  body.ideogy-v3-product-grid .products > .product{
    width:auto!important;
    max-width:none!important;
    flex:none!important;
    margin:0!important;
    padding:0!important;
  }
}

@media (min-width:900px) and (max-width:1249px){
body.ideogy-v3-product-grid #products.products-block,
body.ideogy-v3-product-grid .products.products-block,
body.ideogy-v3-product-grid .products{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:13px!important;
  }
body.ideogy-v3-product-grid #products.products-block > .product,
body.ideogy-v3-product-grid .products-block > .product,
body.ideogy-v3-product-grid .products > .product{
    width:auto!important;
    max-width:none!important;
    flex:none!important;
    margin:0!important;
    padding:0!important;
  }
}

@media (min-width:640px) and (max-width:899px){
body.ideogy-v3-product-grid #products.products-block,
body.ideogy-v3-product-grid .products.products-block,
body.ideogy-v3-product-grid .products{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
body.ideogy-v3-product-grid #products.products-block > .product,
body.ideogy-v3-product-grid .products-block > .product,
body.ideogy-v3-product-grid .products > .product{
    width:auto!important;
    max-width:none!important;
    flex:none!important;
    margin:0!important;
    padding:0!important;
  }
}

@media (max-width:639px){
body.ideogy-v3-product-grid #products.products-block,
body.ideogy-v3-product-grid .products.products-block,
body.ideogy-v3-product-grid .products{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
body.ideogy-v3-product-grid #products.products-block > .product,
body.ideogy-v3-product-grid .products-block > .product,
body.ideogy-v3-product-grid .products > .product{
    width:100%!important;
    max-width:none!important;
    flex:none!important;
    margin:0!important;
    padding:0!important;
  }
}

/* ---------- CARD ---------- */
body.ideogy-v3-product-grid .products-block .product > .p,
body.ideogy-v3-product-grid .products .product > .p{
  border:1px solid #E5E6E9!important;
  border-radius:9px!important;

  overflow:hidden!important;

  background:#FFF!important;

  box-shadow:none!important;

  transition:
    transform .17s ease,
    border-color .17s ease,
    box-shadow .17s ease!important;
}
body.ideogy-v3-product-grid .ideogy-product-card-v3:hover > .p,
body.ideogy-v3-product-grid .ideogy-product-card-v3:hover .p{
  transform:translateY(-2px)!important;

  border-color:#D9DADE!important;

  box-shadow:
    0 12px 30px rgba(0,0,0,.05)!important;
}

/* Slightly less tall than v5.6 while preserving native product images. */
body.ideogy-v3-product-grid .product .image{
  aspect-ratio:1 / .90!important;
  background:#F8F8F8!important;
}

/* ---------- CARD CONTENT ---------- */
body.ideogy-v3-product-grid .product .p-in{
  padding:13px 14px 14px!important;
}
body.ideogy-v3-product-grid .ideogy-product-card-v3__kicker{
  margin-bottom:5px!important;

  color:#9B9CA2!important;

  font-size:8px!important;
  font-weight:700!important;
  letter-spacing:.06em!important;
}
body.ideogy-v3-product-grid .product .name{
  min-height:34px!important;

  margin:0!important;

  color:#111!important;

  font-size:14px!important;
  font-weight:800!important;
  line-height:1.18!important;
  letter-spacing:-.018em!important;
}
body.ideogy-v3-product-grid .product .p-desc{
  display:-webkit-box!important;

  min-height:0!important;
  max-height:34px!important;

  margin:6px 0 0!important;

  overflow:hidden!important;

  color:#7D7F85!important;

  font-size:9.5px!important;
  line-height:1.4!important;

  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}
body.ideogy-v3-product-grid .product .prices,
body.ideogy-v3-product-grid .product .p-bottom{
  margin-top:auto!important;
}

/* Price gets more visual weight. */
body.ideogy-v3-product-grid .product .price-final,
body.ideogy-v3-product-grid .product .price-final strong{
  color:#0B0B0C!important;

  font-size:18px!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:-.028em!important;
}

/* ---------- BUY BUTTON ---------- */
body.ideogy-v3-product-grid .product .btn,
body.ideogy-v3-product-grid .product .add-to-cart-button{
  width:100%!important;
  min-height:44px!important;

  margin-top:12px!important;
  padding:0 13px!important;

  border:1px solid var(--ii-pink)!important;
  border-radius:4px!important;

  background:var(--ii-pink)!important;
  color:#000!important;

  box-shadow:none!important;

  font-size:9px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.02em!important;

  text-transform:uppercase!important;

  transition:
    background-color .16s ease,
    border-color .16s ease,
    color .16s ease!important;
}
body.ideogy-v3-product-grid .product .btn:hover,
body.ideogy-v3-product-grid .product .add-to-cart-button:hover{
  border-color:#111!important;
  background:#111!important;
  color:#FFF!important;
}

/* ---------- NEW FLAG ---------- */
html body.ideogy-v3-product-grid .product .flags .flag.flag-new,
html body.ideogy-v3-product-grid .product .flags-default .flag.flag-new,
html body.ideogy-v3-product-grid .product .flag.flag-new{
  padding:7px 13px!important;

  border:0!important;
  border-radius:3px!important;

  background:#FF66FF!important;
  background-color:#FF66FF!important;
  background-image:none!important;

  color:#000!important;

  font-size:9px!important;
  font-weight:800!important;
  line-height:1!important;

  box-shadow:none!important;
  text-shadow:none!important;
}

/* ---------- ITEM COUNT / LOWER LISTING UI ---------- */
body.ideogy-page-category .listingControls{
  margin-top:18px!important;
  color:#B0B1B6!important;
  font-size:11px!important;
}
body.ideogy-page-category .listingControls h2,
body.ideogy-page-category .listingControls h3{
  color:#B0B1B6!important;
  font-size:11px!important;
  font-weight:500!important;
}

/* ---------- SMALL SCREEN SORTING ---------- */
@media (max-width:767px){
  body.ideogy-page-category .category-header{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;

    min-height:52px!important;

    padding:0 4px!important;

    scrollbar-width:none!important;
  }

  body.ideogy-page-category .category-header::-webkit-scrollbar{
    display:none!important;
  }

  body.ideogy-page-category .category-header label,
  body.ideogy-page-category .category-header a{
    flex:0 0 auto!important;

    min-height:50px!important;
    padding:0 18px!important;

    font-size:11px!important;
  }

  body.ideogy-v3-product-grid .product .name{
    min-height:0!important;
  }

  body.ideogy-v3-product-grid .product .price-final,
  body.ideogy-v3-product-grid .product .price-final strong{
    font-size:17px!important;
  }
}

/* =========================================================
   15 / V5.10 — PRODUCT DETAIL
   ---------------------------------------------------------
   Intentionally empty. Product detail is rendered and styled
   entirely by native Shoptet/Samba.
   ========================================================= */
