/* ====== RESET / BASE ====== */
*{box-sizing:border-box;margin:0;padding:0}
button{cursor:pointer;background:none;border:0;font:inherit;color:inherit}
img{max-width:100%;display:block}
body{
  --bg:#f5f6fa; --panel:#fff; --panel2:#f1f2f8; --border:#d8dbe8;
  --text:#1a1b2e; --text-dim:#6b6f8a; --accent:#16F0D4; --accent2:#42046b;
  --radius-lg:1rem; --radius-md:.5rem;
  --pv-media-h: clamp(460px, 62vh, 640px);
  background:var(--bg); color:var(--text);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.45; min-height:100vh; display:flex; flex-direction:column;
}

/* ====== TOP BAR ====== */
.topbar{
  position:sticky; top:0; z-index:50;
  background:var(--panel);
  border-bottom:1px solid var(--border);
  box-shadow:0 18px 36px rgba(0,0,0,.06);
}
.topbar-inner{
  position:relative;
  max-width:1400px;
  margin:0 auto;
  padding:.75rem 1.5rem;
  display:flex;
  align-items:center;
  gap:1.5rem;
}
.brand-link{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0}
.brand-logo{ width:155px; height:80px; max-height:80px; object-fit:contain; display:block; }
.top-search{flex:1;min-width:0;position:relative}
.top-search-input{
  width:100%; border-radius:999px; border:1px solid var(--border);
  padding:.55rem .9rem; background:var(--panel2); font-size:.9rem;
  box-shadow:0 12px 24px rgba(0,0,0,.04) inset;
}
.top-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}
.cart-btn{
  position:relative;background:var(--panel2);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:.55rem .85rem;font-size:.9rem;font-weight:500;
  display:flex;align-items:center;gap:.5rem;line-height:1.2;box-shadow:0 16px 32px rgba(0,0,0,.06);
  color:var(--text);transition:box-shadow .2s, background .2s;
}
.cart-btn.flash{box-shadow:0 0 0 3px rgba(53,2,120,.3),0 16px 32px rgba(0,0,0,.06);background:#e1def6}
.cart-btn:hover{background:#e9eaf5}
.cart-count{
  min-width:1.5rem;min-height:1.5rem;padding:0 .4rem;
  background:linear-gradient(to right top,var(--accent2) 0%,#350278 50%,#180236 100%);
  color:#fff;font-size:.75rem;font-weight:600;border-radius:999px;box-shadow:0 12px 24px rgba(0,0,0,.4);
  display:flex;align-items:center;justify-content:center;line-height:1;
}

/* ===== SEARCH PREVIEW ===== */
.search-preview{
  position:absolute; left:0; right:0; top:calc(100% + .4rem);
  background:#fff; border:1px solid var(--border); border-radius:.65rem;
  box-shadow:0 20px 40px rgba(0,0,0,.12); overflow:hidden; display:none; z-index:60;
}
.search-preview .sp-item{
  display:grid; grid-template-columns:44px 1fr auto; gap:.6rem; align-items:center;
  width:100%; text-align:left; padding:.55rem .7rem; border-bottom:1px solid #eef0f6; background:#fff;
}
.search-preview .sp-item:last-child{border-bottom:0}
.search-preview .sp-item:hover{background:#f7f7fb}
.search-preview .sp-thumb{width:44px;height:44px;border-radius:.4rem;overflow:hidden;background:#f1f2f8;border:1px solid var(--border)}
.search-preview .sp-thumb img{width:100%;height:100%;object-fit:cover}
.search-preview .sp-name{font-weight:700;font-size:.9rem}
.search-preview .sp-price{font-weight:800;white-space:nowrap;color:var(--accent2)}

/* ====== PAGE LAYOUT ====== */
.layout{
  flex:1; width:100%; max-width:1400px; margin:1.5rem auto 3rem; padding:0 1.5rem;
  display:grid; grid-template-columns:280px minmax(0,1fr); gap:1.5rem;
  grid-template-areas:
    "filters cats"
    "filters catalog"
    "filters product";
}
.layout > *{ min-width:0; }

.filters-panel{ grid-area: filters; }
#categories{ grid-area: cats; }
#catalogStart{ grid-area: catalog; }
#productView{ grid-area: product; }

@media (max-width:900px){
  .fd-track{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .layout{
    padding:0;
    grid-template-columns:1fr;
    grid-template-areas:
      "filters"
      "cats"
      "catalog"
      "product";
  }
  .cats-section, .catalog-panel, .product-view, .filters-panel{ border-radius:0; margin:0; }
}

/* společná karta */
.panel{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:.75rem;
  box-shadow:0 20px 40px rgba(0,0,0,.05);
}

/* ====== FILTERS ====== */
.filters-panel{
  padding:1rem 1rem 2rem;
  height:max-content;
  position:sticky; top:6.5rem;
  margin-bottom:1.5rem;
}
@media(max-width:900px){ .filters-panel{ position:static; top:auto; } }
.filters-panel h2{font-size:1rem;font-weight:600;margin-bottom:.75rem}
.filter-group{display:flex;flex-direction:column;margin-bottom:1rem}
.filter-group label{font-size:.8rem;font-weight:500;margin-bottom:.4rem}
.filter-group input,.filter-group select{
  background:var(--panel2);border:1px solid var(--border);color:var(--text);
  font-size:.9rem;padding:.6rem .7rem;border-radius:var(--radius-md);box-shadow:0 20px 40px rgba(0,0,0,.05);
}
.filter-group input::placeholder{color:var(--text-dim)}
.stock-row{
  display:flex;align-items:center;gap:.5rem;background:var(--panel2);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:.6rem .7rem;font-size:.85rem;box-shadow:0 10px 20px rgba(0,0,0,.04);
}
.stock-row input{width:1rem;height:1rem;accent-color:#350278}
.tip{font-size:.75rem;color:var(--text);line-height:1.4;background:rgba(22,240,212,.07);border:1px solid rgba(22,240,212,.4);padding:.75rem;border-radius:var(--radius-md)}

/* ===== PRICE SLIDER ===== */
.price-slider{display:flex;flex-direction:column;gap:.5rem;}
.slider-wrapper{position:relative;height:18px;overflow:visible;}
.slider-track{
  position:absolute;left:0;right:0;top:50%;
  height:4px;border-radius:999px;background:var(--border);
  transform:translateY(-50%);pointer-events:none;z-index:1;
}
.filter-group input[type="range"]{background:transparent!important;border:0!important;box-shadow:none!important;padding:0;height:3px;}
.range{
  position:absolute;left:0;right:0;width:100%;margin:0;height:18px;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none;z-index:2;
}
.range::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#0b2a59;border:2px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.3);cursor:pointer;pointer-events:auto;
}
.range::-moz-range-thumb{
  width:18px;height:18px;border-radius:50%;background:#0b2a59;border:2px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.3);cursor:pointer;pointer-events:auto;
}
.range::-webkit-slider-runnable-track{background:transparent;height:4px;}
.range::-moz-range-track{background:transparent;height:4px;}
.price-inputs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;margin-top:.25rem;}
.price-inputs input{
  width:auto;min-width:0;padding:.45rem .55rem;font-weight:700;text-align:center;background:var(--panel2);border:1px solid var(--border);
  border-radius:var(--radius-md);box-shadow:0 8px 16px rgba(0,0,0,.05);
}
.price-inputs .dash{color:var(--text-dim);font-weight:700}

/* ====== CATALOG PANEL ====== */
.catalog-panel{ padding:1rem 1.25rem 1.5rem; display:flex; flex-direction:column; min-height:0; }
.catalog-header{ display:flex;align-items:center;justify-content:space-between; gap:1rem;margin-bottom:1rem;flex-wrap:wrap; }
.catalog-header-left h1{font-size:1.25rem;margin-bottom:.1rem;}
.catalog-count{font-size:.8rem;color:var(--text-dim)}
.catalog-controls{display:flex;align-items:center;justify-content:flex-end;flex:1}

/* sort tabs */
.sort-tabs{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.5rem; }
.sort-tab{
  border-radius:999px; padding:.35rem .9rem; font-size:.8rem; border:1px solid var(--border);
  background:var(--panel2); color:var(--text-dim); box-shadow:0 8px 16px rgba(0,0,0,.04); white-space:nowrap;
}
.sort-tab.active{
  background:linear-gradient(to right top,var(--accent2) 0%,#350278 40%,#180236 80%);
  border-color:#4e0997; color:#fff; box-shadow:0 10px 20px rgba(66,4,107,.35);
}

/* ===== GRID ===== */
.product-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
@media(max-width:1100px){ .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:700px){ .product-grid{grid-template-columns:1fr;} }

.product-card{
  position:relative; display:flex; flex-direction:column; background:var(--panel); border:1px solid var(--border);
  border-radius:.75rem; padding:.9rem .9rem 1rem; box-shadow:0 30px 60px rgba(0,0,0,.08); min-height:520px;
}
.product-name{
  font-size:.95rem; font-weight:700; margin-bottom:.35rem; cursor:pointer;
  display:-webkit-box; -webkit-line-clamp:var(--name-lines); -webkit-box-orient:vertical;
  overflow:hidden; min-height:calc(1.25em * var(--name-lines));
}
.product-flags{ display:flex; flex-wrap:wrap; gap:.25rem; margin-bottom:.5rem; }
.flag{ background:#111; color:#fff; font-size:.65rem; font-weight:700; padding:.15rem .4rem; border-radius:999px; }
.flag-sale{background:#c81e1e}
.product-thumb{
  background:#fff;
  height:var(--card-img-h);
  border-radius:.5rem;
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--border);
}
.product-thumb img{
  width:100%; height:100%;
  object-fit:cover;   /* vyplní prostor, klidně s ořezem */
  object-position:center;
}

/* sjednoceně: zobrazit fotku celou (ne ořez) v detailu */
.pv-media{ background:#fff; }
.pv-media img{
  width:100%; height:100%;
  object-fit:contain; object-position:center;
  display:block; cursor:zoom-in;
}

.product-desc{
  font-size:.8rem; color:var(--text-dim); margin:0 0 .55rem;
  display:-webkit-box; -webkit-line-clamp: var(--desc-lines); -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis; min-height: calc(1.25em * var(--desc-lines));
}
.product-stock{
  min-height:1.35rem;
  display:flex; align-items:center;
  margin-bottom:.7rem;
}
.product-stock.in-stock{color:#0a7c2a}
.product-stock.out-stock{color:#c91919}
.product-bottom-row{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.price-block{ display:flex; flex-direction:column; align-items:flex-start; gap:.15rem; }
.price-row{ display:flex; align-items:baseline; gap:.35rem; }
.price-new{font-size:1rem;font-weight:700;color:var(--accent2)}
.price-old{font-size:.9rem;color:var(--text-dim);text-decoration:line-through}
.price-save{font-size:.75rem;color:var(--text-dim);}
.btn-add{
  border-radius:var(--radius-md); font-size:.85rem; font-weight:700; padding:.6rem .9rem; color:#fff;
  background:linear-gradient(to right top,var(--accent2) 0%,#350278 40%,#180236 80%);
  border:1px solid #4e0997; box-shadow:0 20px 40px rgba(66,4,107,.4),0 0 50px rgba(22,240,212,.25) inset; white-space:nowrap;
}
.btn-add:hover:not([disabled]){filter:brightness(1.03)}
.btn-add[disabled]{opacity:.4;cursor:not-allowed}
.catalog-footer{ margin-top:1.25rem; display:flex; justify-content:center; }
.load-more-btn{
  border-radius:999px; padding:.6rem 1.5rem; font-weight:600; background:var(--panel2);
  border:1px solid var(--border); box-shadow:0 10px 20px rgba(0,0,0,.05);
}

/* ===== Buttons ===== */
.btn{ border-radius:.5rem;padding:.65rem .9rem;font-weight:700;border:1px solid var(--border); background:var(--panel2) }
.btn-primary{
  border-radius:.5rem; color:#fff;
  background:linear-gradient(to right top,var(--accent2) 0%,#350278 40%,#180236 80%);
  border:1px solid #4e0997;
}

/* ====== CART OVERLAY ====== */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;justify-content:flex-end;z-index:999}
.cart-overlay.hidden{display:none}
.cart-panel{
  background:var(--panel2);width:100%;max-width:380px;height:100%;display:flex;flex-direction:column;
  border-left:1px solid var(--border);box-shadow:0 0 30px rgba(0,0,0,.15),0 60px 120px rgba(0,0,0,.2);
}
.cart-head{padding:1rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between}
.close-cart-btn{ font-weight:600;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:.4rem .6rem }
.cart-items{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}
.cart-items .empty{font-size:.85rem;color:var(--text-dim);text-align:center;margin-top:4rem}
.cart-row{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem;display:flex;flex-direction:column;gap:.6rem}
.cart-row-main{display:flex;gap:.75rem}
.thumb{background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-md);width:64px;height:64px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.thumb img{width:100%;height:100%;object-fit:cover}
.info{flex:1}.info .name{font-size:.9rem;font-weight:600}.info .sku{font-size:.7rem;color:var(--text-dim)}
.info .price{font-size:.8rem;color:var(--accent2)}
.cart-row-ctrls{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:.75rem}
.qty{display:flex;align-items:center;background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-md)}
.qty-btn{font-size:1rem;font-weight:700;padding:.4rem .6rem;min-width:2rem}
.qty-val{min-width:2rem;text-align:center;font-weight:700}
.subtotal{font-weight:700}
.remove-btn{background:rgba(255,0,0,.05);border:1px solid #e48a8a;border-radius:var(--radius-md);padding:.4rem .6rem;color:#c91919}
.cart-footer{border-top:1px solid var(--border);background:var(--panel);padding:1rem}
.cart-summary{display:flex;justify-content:space-between;margin-bottom:.75rem}
.checkout-btn,.clear-cart-btn{
  width:100%;border-radius:var(--radius-md);font-weight:700;padding:.7rem .9rem;color:#fff;border:1px solid #4e0997;
  background:linear-gradient(to right top,var(--accent2) 0%,#350278 40%,#180236 80%);margin-bottom:.5rem
}
.clear-cart-btn{background:#a8abb8;color:#fff;border:1px solid #9aa0b1}
.filters-close { display: none; }

/* ====== IMAGE VIEWER ====== */
.img-viewer{
  position:fixed; inset:0; z-index:2000; background:rgba(0,0,0,.92);
  display:flex; align-items:center; justify-content:center; cursor:zoom-out;
}
.img-viewer img{ max-width:96vw; max-height:96vh; width:auto; height:auto; object-fit:contain; box-shadow:0 10px 40px rgba(0,0,0,.5); }
@media (max-width:700px){ .img-viewer img{ max-width:100vw; max-height:100dvh; } }

/* telefony – topbar */
@media(max-width:700px){
  .topbar-inner{ flex-wrap:wrap; gap:.75rem; padding:.5rem .75rem; }
  .brand-logo{ width:auto; height:56px; }
  .brand-link{ order:1; }
  .top-actions{ order:2; margin-left:auto; }
  .top-search{ order:3; flex:0 0 100%; min-width:0; }
  .cart-btn span:first-child{ display:none; }
  .product-thumb{ height:var(--card-img-h-sm); }
  .fd-track{ grid-template-columns: 1fr; }
}

/* ====== TOAST ====== */
.toast{
  position:fixed;right:1rem;bottom:1rem;background:#111;color:#fff;padding:.75rem 1rem;border-radius:.75rem;
  box-shadow:0 20px 40px rgba(0,0,0,.25);z-index:1200;opacity:0;transform:translateY(10px);transition:opacity .2s, transform .2s
}
.toast.show{opacity:1;transform:translateY(0)}

/* ===== MOBILE FILTERS ===== */
.filters-toggle{display:none}
@media(max-width:900px){
  .filters-toggle{
    display:inline-flex;align-items:center;gap:.5rem;
    padding:.48rem .8rem;border-radius:.6rem;border:1px solid var(--border);
    background:var(--panel2);font-weight:700;box-shadow:0 10px 20px rgba(0,0,0,.05)
  }
  .filters-panel{ display:none; position:fixed; inset:0; z-index:1100; margin:0; border-radius:0; padding:1rem; overflow:auto; }
  .filters-panel.open{display:block}
  .filters-close{
    display:inline-flex; align-items:center; gap:.4rem; margin:0 0 1rem 0; padding:.48rem .7rem; border-radius:.6rem;
    border:1px solid var(--border); background:var(--panel2); font-weight:700;
  }
}
.filters-backdrop{ display:none; position:fixed; inset:0; z-index:1095; background:rgba(0,0,0,.45); }
.filters-backdrop.show{display:block}
body.no-scroll{overflow:hidden}

/* ===== HERO ===== */
.hero{
  position:relative;
  background:
    radial-gradient(120% 100% at 0% 0%, #2b015a 0%, #180236 35%, #0e0420 70%),
    url('/images/hero-mx.jpg') center/cover no-repeat;
  color:#fff;
}
.hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.25)); }
.hero-inner{
  position:relative; z-index:1; max-width:1400px; margin:0 auto;
  padding:clamp(1rem,4vw,2rem) 1.5rem clamp(1.25rem,5vw,2.5rem);
  display:grid; grid-template-columns:1.1fr .9fr; gap:1.25rem;
}
.hero h1{ font-size:clamp(1.25rem, 2.8vw, 2rem); line-height:1.15; margin-bottom:.5rem; }
.hero p{ color:#e6e2f6; max-width:52ch; }
.usp{ display:flex; flex-wrap:wrap; gap:.5rem; margin:.8rem 0 1rem; list-style:none; }
.usp li{ background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); padding:.35rem .6rem; border-radius:.5rem; font-weight:600; font-size:.8rem; }
.hero-cta{
  display:inline-flex; gap:.5rem; align-items:center; border-radius:.6rem; padding:.6rem .9rem;
  background:linear-gradient(to right top,var(--accent2),#350278 40%,#180236);
  border:1px solid #4e0997; color:#fff; font-weight:800; text-decoration:none;
}
#catalogStart{ scroll-margin-top: 90px; }

/* ===== QUICK CATEGORIES ===== */
.cats-section{
  background:var(--panel); border:1px solid var(--border); border-radius:.75rem;
  box-shadow:0 16px 32px rgba(0,0,0,.05); margin:0 0 1.25rem 0;
}
.cats-inner{ padding:.9rem 1.25rem; }
.cats-title{ font-size:1rem; margin-bottom:.6rem; }

:root{
  --card-img-h: 220px;       /* výška prostoru pro fotku na desktopu */
  --card-img-h-sm: 170px;    /* na mobilech */
  --name-lines: 2;           /* název: kolik řádků povolit */
  --desc-lines: 4;           /* popis: kolik řádků povolit (už máš 4) */
  --chip-h: 44px;
  --chip-gap: .5rem;
}

.cat-chips{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--chip-gap);
  position:relative;
  overflow:visible;
  transition:max-height .25s ease;
}
#categoryChipsWrap{ position:relative; overflow:hidden; padding-inline:.35rem; }
#categoryChipsWrap.cats-collapsed{ max-height: calc(4.5 * var(--chip-h) + 3.5 * var(--chip-gap)); }
#categoryChipsWrap.cats-expanded{ max-height: 9999px; }
.cats-collapsed .cat-chips{ max-height: calc(4.5 * var(--chip-h) + 3.5 * var(--chip-gap)); }
.cats-expanded .cat-chips{ max-height:9999px; }
.cats-fade{
  display:none; position:absolute; left:0; right:0; bottom:0; height:40px;
  background:linear-gradient(to bottom, rgba(255,255,255,0), var(--panel)); pointer-events:none;
}
.cats-collapsed .cats-fade{display:block;}

.chip{
  display:flex; align-items:center; width:100%;
  gap:.45rem; height:var(--chip-h);
  padding:.42rem .7rem; border-radius:999px; font-weight:800;
  background:var(--panel2); border:1px solid var(--border);
  box-shadow:0 6px 12px rgba(0,0,0,.04); white-space:nowrap; cursor:pointer;
  overflow:hidden; text-overflow:ellipsis; text-align:left;
}
.chip:hover{ filter:brightness(1.03); }
.chip.active{
  color:#fff; background:linear-gradient(to right top,var(--accent2) 0%,#350278 40%,#180236 80%);
  border-color:#4e0997; box-shadow:0 10px 20px rgba(66,4,107,.35);
}
.chip .chip-ico{ width:22px; height:22px; flex:0 0 22px; border-radius:6px; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid rgba(0,0,0,.08); font-size:14px; line-height:1; }
.chip .chip-img{ width:100%; height:100%; object-fit:contain; display:block; }
.chip .chip-label{ flex:1 1 auto; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cat-chips .chip.small{ font-weight:700; }
.chip-count{ font-size:.75rem; opacity:.85; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25); padding:.1rem .4rem; border-radius:999px; margin-left:auto; }

/* ===== PRODUCT VIEW (detail) ===== */
.product-view{ padding:1rem 1.25rem; }
.pv-breadcrumbs{
  display:flex;flex-wrap:wrap;gap:.35rem .5rem;margin-bottom:.75rem;
  font-size:.85rem;color:var(--text-dim)
}
.pv-breadcrumbs a{ color:inherit;text-decoration:none;padding:0;border:none;background:transparent; }
.pv-breadcrumbs a:hover{ text-decoration:underline; }
.pv-breadcrumbs .sep{opacity:.6}
.pv-title{ font-size:1.25rem; font-weight:800; line-height:1.2; margin-bottom:.5rem; }
.pv-meta{ display:flex; align-items:center; flex-wrap:wrap; gap:.5rem .75rem; color:var(--text-dim); margin-bottom:1rem; }
.pv-stars{ font-size:1rem; letter-spacing:.05em }
.pv-badges{ display:flex; gap:.35rem; flex-wrap:wrap; }
.pv-badge{ background:#111;color:#fff;font-size:.65rem;font-weight:700;padding:.15rem .4rem;border-radius:999px }
.pv-main{ display:flex; flex-direction: column; gap:1rem; align-items:start; }
.pv-left{ display:flex; flex-direction:column; gap:1rem; width:100%; }
.pv-media{ width:100%; height:var(--pv-media-h); background:var(--panel2); border:1px solid var(--border); border-radius:.75rem; overflow:hidden; }
.pv-media img{ width:100%; height:100%; object-fit:contain; object-position:center; display:block; cursor:zoom-in; }
.pv-buy{
  width:100%;
  background:var(--panel); border:1px solid var(--border); border-radius:.75rem;
  padding:1rem; box-shadow:0 10px 20px rgba(0,0,0,.04);
  min-height:120px;
}
.size-picker{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:.5rem; }
.size-chip{ border:1px solid var(--border); background:var(--panel2); padding:.45rem .65rem; border-radius:.6rem; font-weight:700; }
.size-chip.active{ color:#fff; background:linear-gradient(to right top,var(--accent2),#350278 40%,#180236); border-color:#4e0997; }
.size-chip:disabled{ opacity:.45; }
.pv-price{ display:flex; align-items:baseline; gap:.5rem; margin:.25rem 0; }
.pv-price .price-new{ font-size:1.35rem; font-weight:900; color:var(--accent2); }
.pv-price .price-old{ font-size:1rem; color:var(--text-dim); text-decoration:line-through; }
.pv-stock{ font-size:.85rem; margin:.25rem 0 .5rem; }
.pv-stock.in{ color:#0a7c2a; } .pv-stock.out{ color:#c91919; }
.pv-actions{ display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.25rem; }
.pv-actions .btn-primary{ padding:.7rem 1rem; font-size:.95rem; font-weight:900; }
.pv-section{ margin-top:1rem; padding:1rem; background:var(--panel); border:1px solid var(--border); border-radius:.75rem; }
.pv-desc{ color:var(--text-dim); line-height:1.5; }

/* ===== Mobile tweaks ===== */
@media(min-width:480px) and (max-width:700px){ .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:700px){
  .layout{ padding:0; }
  .cats-section, .catalog-panel, .product-view, .filters-panel{ border-radius:0; margin:0; }
  .cats-inner{ padding:.9rem 1rem; }
  .catalog-panel{ padding:1rem 1rem 1.25rem; }
  .pv-media{ height:clamp(340px, 48vh, 420px); }
  .pv-actions{ position:sticky; bottom:0; background:var(--panel); padding-bottom:env(safe-area-inset-bottom); }
  .cat-chips{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.cats-more-wrap{ display:flex; justify-content:center; padding:.5rem 0 0; }
#catsMoreBtn{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.48rem .9rem; border-radius:999px; border:1px solid var(--border);
  background:var(--panel2); font-weight:800; box-shadow:0 6px 12px rgba(0,0,0,.06);
}
#catsMoreBtn:hover{ filter:brightness(1.03); }

#featuredDeals{
  /* fixní plocha slideru (lze změnit zde) */
  --fd-w: 1350px;
  --fd-h: 630px;

  /* lokální úprava výšky fotek v kartách, ať se vejdou */
  --card-img-h: 280px;
  --card-img-h-sm: 220px;
}
#featuredDeals .fd-title{
  font-size:1rem;
  padding:1rem 1.25rem .5rem;
  border-bottom:1px solid var(--border);
}

#featuredDeals .fd-inner{
  display:flex; align-items:center; justify-content:center;
  gap:0.75rem; padding:1rem 1.25rem 1.25rem;
}
#featuredDeals .fd-viewport{
  width:var(--fd-w); height:var(--fd-h);
  border:1px solid var(--border); border-radius:.75rem;
  background:var(--panel);
  overflow:hidden;           /* nic nepřetéká ven */
  display:flex;              /* kvůli vert. zarovnání tracku */
}
#featuredDeals .fd-track{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:1rem; padding:1rem;
  width:100%; height:100%;
  align-items:stretch;
}
#featuredDeals .product-card{ height:100%; }
#featuredDeals .fd-arrow{
  width:48px; height:48px;
  border-radius:999px;
  background:var(--panel2);
  border:1px solid var(--border);
  font-weight:900; font-size:1.1rem; line-height:1;
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 8px 16px rgba(0,0,0,.05);
}
#featuredDeals .fd-arrow:hover{ filter:brightness(1.03); }
