/* ============================================================
   FutureWeb / TechShop-style theme (modeled on PRS36 Techshop)
   Palette: red #dd2831, navy #151f50, Inter
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --red:#dd2831; --red-d:#b91c25; --navy:#151f50; --navy-2:#1d2a6b;
  --ink:#151f50; --text:#666; --muted:#8a8f99; --line:#e7e7ee; --soft:#f5f5f7; --soft-2:#fef2f2;
  --r:10px; --r-lg:16px;
  --sh-sm:0 4px 18px rgba(21,31,80,.07); --sh:0 14px 40px rgba(21,31,80,.12);
}
*{ box-sizing:border-box; }
body,#wrapper,.page-wrapper,.l-footer{ background:#fff !important; }
body{ font-family:'Inter',system-ui,sans-serif !important; color:var(--text) !important; font-size:14px; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,.h1,.h2,.h3{ font-family:'Inter',sans-serif !important; font-weight:700 !important; color:var(--ink) !important; letter-spacing:-.01em !important; }
.container{ max-width:1240px; }
a{ color:var(--ink); text-decoration:none; } a:hover{ color:var(--red); }

/* ---------- TOP BAR (header-nav -> navy with promo) ---------- */
.header-nav{ background:var(--navy) !important; border:0 !important; min-height:40px; font-size:.8rem; position:relative; }
.header-nav *{ color:#c7cce6 !important; }
.header-nav a:hover{ color:#fff !important; }
.header-nav .container{ position:relative; }
.header-nav .container:before{ content:"⚡ Získajte až 10% zľavu na novú sezónu — limitovaná ponuka!"; position:absolute; left:15px; top:50%; transform:translateY(-50%); color:#fff !important; font-weight:600; font-size:.82rem; letter-spacing:.01em; pointer-events:none; white-space:nowrap; }

/* ---------- HEADER (white) ---------- */
#header{ background:#fff !important; box-shadow:none !important; }
#header .header-top{ background:#fff !important; padding:18px 0 !important; border-bottom:1px solid var(--line); box-shadow:none !important; position:sticky; top:0; z-index:1000; }
#_desktop_logo img{ max-height:42px !important; width:auto; }
/* search */
.search-widget form{ position:relative; }
.search-widget form input[type=text]{ border:2px solid var(--navy) !important; border-radius:50px !important; background:#fff !important; padding:12px 56px 12px 20px !important; height:auto !important; color:var(--ink) !important; }
.search-widget form button{ background:var(--red) !important; border:0 !important; border-radius:50px !important; right:5px !important; top:5px !important; bottom:5px !important; width:46px; }
.search-widget form button .search,.search-widget form button i{ color:#fff !important; }

/* ---------- MAIN MENU ---------- */
.header-top-right{ }
.menu .top-menu a.dropdown-item,.top-menu > li > a{ color:var(--ink) !important; font-weight:600 !important; text-transform:none; font-size:.9rem; padding:12px 16px !important; }
.top-menu > li > a:hover{ color:var(--red) !important; }
.top-menu .sub-menu{ border:0 !important; border-radius:var(--r) !important; box-shadow:var(--sh) !important; }

/* ============ CATEGORY QUICK NAV ============ */
.ts-catnav{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; margin:24px 0; }
.ts-catnav__item{ display:flex; align-items:center; gap:10px; justify-content:center; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:16px 10px; font-weight:600; color:var(--ink) !important; font-size:.86rem; box-shadow:var(--sh-sm); transition:.18s; cursor:pointer; }
.ts-catnav__item:hover{ border-color:var(--red); color:var(--red) !important; transform:translateY(-3px); box-shadow:var(--sh); }
.ts-ci{ font-size:1.3rem; }

/* ============ HERO ============ */
.ts-herowrap{ display:grid; grid-template-columns:1fr 300px; gap:20px; margin-bottom:22px; }
.ts-hero{ position:relative; overflow:hidden; border-radius:var(--r-lg); min-height:380px; display:flex; align-items:center; padding:48px; background:linear-gradient(120deg,#2a1d6b 0%,#4631a8 45%,#6c5ce7 100%); }
.ts-hero__txt{ position:relative; z-index:3; max-width:50%; }
.ts-hero__eyebrow{ display:inline-block; color:#ffd2d5; background:rgba(221,40,49,.25); border:1px solid rgba(255,180,184,.4); padding:5px 14px; border-radius:50px; font-weight:700; letter-spacing:.08em; font-size:.72rem; margin-bottom:16px; }
.ts-hero__eyebrow--light{ color:#fff; background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.35); }
.ts-hero__title{ color:#fff !important; font-size:2.8rem !important; line-height:1.08 !important; font-weight:800 !important; margin:0 0 14px !important; }
.ts-hero__sub{ color:#cfd0e8; font-size:1.05rem; margin:0 0 24px; }
.ts-hero__img{ position:absolute; right:0; top:0; bottom:0; width:55%; }
.ts-hero__glow{ position:absolute; width:340px; height:340px; right:30px; top:20px; border-radius:50%; background:radial-gradient(circle at 40% 40%,rgba(255,255,255,.25),rgba(108,92,231,0) 70%); }
.ts-phone{ position:absolute; border-radius:22px; box-shadow:0 30px 60px rgba(0,0,0,.35); }
.ts-phone--1{ width:130px; height:260px; right:120px; top:60px; background:linear-gradient(160deg,#111,#333); transform:rotate(-8deg); }
.ts-phone--2{ width:120px; height:240px; right:30px; top:90px; background:linear-gradient(160deg,#e8e8ef,#bfc3d9); transform:rotate(6deg); }
.ts-phone--3{ width:110px; height:220px; right:210px; top:110px; background:linear-gradient(160deg,#6c5ce7,#9f7bff); transform:rotate(-2deg); opacity:.95; }

/* side promos */
.ts-sidepromos{ display:flex; flex-direction:column; gap:20px; }
.ts-promo{ flex:1; border-radius:var(--r-lg); padding:22px; display:flex; flex-direction:column; justify-content:center; color:#fff !important; min-height:110px; cursor:pointer; transition:.18s; }
.ts-promo:hover{ transform:translateY(-3px); box-shadow:var(--sh); }
.ts-promo small{ font-size:.66rem; font-weight:700; letter-spacing:.1em; opacity:.9; }
.ts-promo strong{ font-size:1.25rem; margin:4px 0; }
.ts-promo span{ font-size:.85rem; opacity:.92; }
.ts-promo--red{ background:linear-gradient(135deg,#dd2831,#ff5a62); }
.ts-promo--violet{ background:linear-gradient(135deg,#6c5ce7,#9f7bff); }
.ts-promo--blue{ background:linear-gradient(135deg,#151f50,#2a3a8f); }

/* ============ 3 BANNERS ============ */
.ts-bannerrow{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:24px auto; }
.ts-banner{ border-radius:var(--r-lg); padding:30px; min-height:150px; display:flex; flex-direction:column; justify-content:center; cursor:pointer; transition:.18s; border:1px solid var(--line); }
.ts-banner:hover{ transform:translateY(-3px); box-shadow:var(--sh); }
.ts-banner small{ color:var(--red); font-weight:700; font-size:.72rem; letter-spacing:.08em; }
.ts-banner strong{ color:var(--ink); font-size:1.4rem; margin:6px 0 14px; font-weight:800; }
.ts-banner__cta{ color:var(--ink); font-weight:700; font-size:.85rem; }
.ts-banner--1{ background:linear-gradient(135deg,#fef2f2,#fff); }
.ts-banner--2{ background:linear-gradient(135deg,#f3f1ff,#fff); }
.ts-banner--3{ background:linear-gradient(135deg,#eef4ff,#fff); }

/* ============ PRODUCT SECTIONS ============ */
.ts-products{ margin-top:10px; }
.featured-products,.products-section{ margin:30px auto 10px !important; }
.products-section-title,.featured-products .h2,.h2.products-section-title{ text-align:left !important; font-size:1.6rem !important; font-weight:700 !important; color:var(--ink) !important; text-transform:none !important; margin:30px 0 20px !important; padding-bottom:0 !important; position:relative; border-bottom:2px solid var(--line); padding-bottom:12px !important; }
.products-section-title:after{ content:""; position:absolute; left:0; bottom:-2px; width:80px; height:2px; background:var(--red); }
/* product card */
.product-miniature .thumbnail-container,.js-product-miniature .thumbnail-container{ background:#fff !important; border:1px solid var(--line) !important; border-radius:var(--r) !important; box-shadow:none !important; overflow:hidden !important; padding:14px !important; transition:.2s !important; }
.product-miniature:hover .thumbnail-container{ border-color:#cfd3e6 !important; box-shadow:var(--sh) !important; transform:translateY(-3px); }
.thumbnail-container .product-thumbnail{ display:block; }
.product-miniature img{ border-radius:6px; }
.product-description{ padding:12px 4px 4px !important; text-align:left; }
.product-title a{ font-weight:500 !important; color:#333 !important; font-size:.92rem !important; }
.product-title a:hover{ color:var(--red) !important; }
.product-price-and-shipping{ text-align:left; margin-top:6px; }
.product-price-and-shipping .price,.current-price .price{ color:var(--ink) !important; font-weight:800 !important; font-size:1.15rem !important; }
.product-price-and-shipping .regular-price{ color:var(--muted) !important; font-weight:500; text-decoration:line-through; }
.comments_note,.star_content{ margin:4px 0; }
.star_content .star:after,.grade-stars{ color:#ffb400 !important; }
/* flags */
.product-flags{ top:18px; left:18px; }
.product-flag{ border-radius:4px !important; font-weight:700 !important; font-size:.68rem !important; padding:4px 9px !important; border:0 !important; box-shadow:none !important; text-transform:uppercase; }
.product-flag.new{ background:var(--navy) !important; color:#fff !important; }
.product-flag.discount,.product-flag.on-sale{ background:var(--red) !important; color:#fff !important; }
.product-flag.pack{ background:#333 !important; color:#fff !important; }
/* buttons / add to cart */
.btn-primary,.add-to-cart,button.btn-primary{ background:var(--red) !important; border:0 !important; border-radius:50px !important; color:#fff !important; font-weight:700 !important; padding:11px 22px !important; box-shadow:none !important; transition:.16s !important; text-transform:none; }
.btn-primary:hover,.add-to-cart:hover{ background:var(--red-d) !important; color:#fff !important; transform:translateY(-1px); }
.all-product-link{ color:var(--red) !important; font-weight:700 !important; }

/* ============ TS BUTTONS ============ */
.ts-btn{ display:inline-flex; align-items:center; gap:8px; font-weight:700; border-radius:50px; padding:13px 28px; cursor:pointer; border:0; transition:.16s; font-size:.92rem; }
.ts-btn--primary{ background:var(--red); color:#fff !important; } .ts-btn--primary:hover{ background:var(--red-d); transform:translateY(-2px); }
.ts-btn--light{ background:#fff; color:var(--ink) !important; box-shadow:0 10px 24px rgba(0,0,0,.18); } .ts-btn--light:hover{ transform:translateY(-2px); }

/* ============ WIDE BANNER ============ */
.ts-wide{ border-radius:var(--r-lg); margin:30px 0; min-height:230px; display:flex; align-items:center; padding:48px; background:linear-gradient(120deg,#151f50,#3a4db0); position:relative; overflow:hidden; }
.ts-wide:after{ content:""; position:absolute; right:-60px; top:-60px; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.12),transparent 70%); }
.ts-wide__txt h2{ color:#fff !important; font-size:2.2rem !important; font-weight:800 !important; margin:10px 0 20px !important; }

/* ============ FEATURES ============ */
.ts-features{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:34px auto; padding:26px; background:var(--soft); border-radius:var(--r-lg); }
.ts-feat{ display:flex; align-items:center; gap:14px; justify-content:center; }
.ts-feat__ic{ font-size:1.7rem; width:52px; height:52px; display:grid; place-items:center; background:#fff; border-radius:50%; box-shadow:var(--sh-sm); }
.ts-feat strong{ display:block; color:var(--ink); font-size:.95rem; }
.ts-feat small{ color:var(--muted); }

/* ============ BRANDS ============ */
.ts-brands{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:30px 40px; margin:20px auto; border-top:1px solid var(--line); border-bottom:1px solid var(--line); flex-wrap:wrap; }
.ts-brands span{ font-weight:800; font-size:1.3rem; color:#c2c6d4; letter-spacing:.02em; transition:.16s; cursor:pointer; }
.ts-brands span:hover{ color:var(--navy); }

/* ============ NEWSLETTER ============ */
.ts-newsletter{ background:linear-gradient(120deg,#151f50,#3a4db0); margin-top:40px; }
.ts-newsletter__inner{ display:flex; align-items:center; justify-content:space-between; gap:30px; padding:44px 15px; flex-wrap:wrap; }
.ts-newsletter h2{ color:#fff !important; margin:0 0 6px !important; font-size:1.8rem !important; }
.ts-newsletter p{ color:#c7cce6; margin:0; }
.ts-news-form{ display:flex; gap:10px; }
.ts-news-form input{ border:0; border-radius:50px; padding:13px 22px; min-width:280px; font-size:.92rem; }

/* ============ FOOTER ============ */
.footer-container{ background:var(--navy) !important; color:#aab0cc !important; border:0 !important; box-shadow:none !important; margin-top:0 !important; padding-top:50px !important; border-radius:0 !important; }
.footer-container .h3,.footer-container h3{ color:#fff !important; font-weight:700 !important; }
.footer-container a,.footer-container li a,.footer-container p,.footer-container li,.footer-container .text{ color:#aab0cc !important; }
.footer-container a:hover{ color:#fff !important; }
.footer-container .links ul>li{ border:0 !important; }

/* ============ misc ============ */
.block-reassurance{ display:none !important; }
.form-control{ border-radius:8px !important; border:1px solid var(--line) !important; }
.breadcrumb{ background:transparent !important; }

/* ============ responsive ============ */
@media (max-width:991px){
  .ts-catnav{ grid-template-columns:repeat(3,1fr); }
  .ts-herowrap{ grid-template-columns:1fr; } .ts-sidepromos{ flex-direction:row; }
  .ts-bannerrow,.ts-features{ grid-template-columns:1fr; }
  .ts-hero__txt{ max-width:100%; } .ts-hero__img{ display:none; }
}
@media (max-width:575px){ .ts-catnav{ grid-template-columns:repeat(2,1fr); } .ts-sidepromos{ flex-direction:column; } }

/* ===== TS product card add-to-cart + actions ===== */
.ts-card .thumbnail-top{ position:relative; }
.ts-card__actions{ position:absolute; top:10px; right:10px; display:flex; flex-direction:column; gap:8px; opacity:0; transform:translateX(8px); transition:.2s; }
.ts-card:hover .ts-card__actions{ opacity:1; transform:none; }
.ts-icon-btn{ width:38px; height:38px; border-radius:50%; background:#fff; border:1px solid var(--line); display:grid; place-items:center; color:var(--ink) !important; box-shadow:var(--sh-sm); }
.ts-icon-btn:hover{ background:var(--red); color:#fff !important; border-color:var(--red); }
.ts-icon-btn i{ font-size:18px; }
.ts-card__cart{ margin-top:12px; }
.ts-add{ width:100%; justify-content:center; display:flex !important; align-items:center; gap:8px; font-size:.85rem !important; padding:11px 12px !important; }
.ts-add i{ font-size:18px; }
.product-miniature .comments_note,.product-miniature .star_content{ display:flex; gap:2px; margin:0 0 6px; }
