/* Wspólny arkusz stylów dla wszystkich widoków. */

/* index.html */
body.page-home{
    --bg:#0F0C1B;
    --surface:#171227;
    --surface-2:#1E1830;
    --border:#332A55;
    --text:#EDEAF5;
    --text-muted:#9691AE;
    --violet:#8B5CF6;
    --violet-soft:#5B4FE0;
    --magenta:#C026D3;
    --cyan:#3FD9C7;

    --font-display:'Space Grotesk', sans-serif;
    --font-body:'Inter', sans-serif;
    --font-mono:'JetBrains Mono', monospace;
  }

  body.page-home, body.page-home *{box-sizing:border-box; margin:0; padding:0;}
  html:has(body.page-home){scroll-behavior:smooth;}
  body.page-home{
    background:var(--bg);
    color:var(--text);
    font-family:var(--font-body);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  body.page-home img{max-width:100%; display:block;}
  body.page-home a{color:inherit; text-decoration:none;}
  body.page-home button{font-family:inherit; cursor:pointer;}
  body.page-home :focus-visible{outline:2px solid var(--violet); outline-offset:3px;}

  body.page-home .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 20px;
  }

  /* soft violet glow atmosphere, body.page-home echoing the logo's neon glow */
  body.page-home .grid-bg{
    position:fixed; inset:0; z-index:-1;
    pointer-events:none;
    background:
      radial-gradient(560px 420px at 12% -6%, rgba(139,92,246,0.16), transparent 65%),
      radial-gradient(640px 480px at 92% 8%, rgba(192,38,211,0.10), transparent 60%);
  }

  /* ---------- NAV ---------- */
  body.page-home header{
    position:sticky; top:0; z-index:50;
    background:rgba(22,23,26,0.88);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--border);
  }
  body.page-home .nav{
    display:flex; flex-wrap:wrap;
    align-items:center;
    gap:12px 16px;
    padding:12px 0;
  }
  body.page-home .logo-slot{
    display:flex; align-items:center; gap:9px;
    font-family:var(--font-display);
    font-weight:700;
    font-size:1.1rem;
    letter-spacing:-0.01em;
    order:1;
  }
  body.page-home .logo-slot .logo-img{
    width:38px; height:38px;
    border-radius:8px;
    overflow:hidden;
    flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
  }
  body.page-home .logo-slot .logo-img img{
    width:100%; height:100%;
    object-fit:contain;
    padding:5px;
  }

  body.page-home .search-wrap{
    order:3;
    flex-basis:100%;
    position:relative;
  }
  body.page-home .search-wrap input{
    width:100%;
    background:var(--surface-2);
    border:1px solid var(--border);
    color:var(--text);
    font-family:var(--font-body);
    font-size:0.9rem;
    padding:10px 14px 10px 38px;
    border-radius:6px;
    transition:border-color .15s ease;
  }
  body.page-home .search-wrap input::placeholder{color:var(--text-muted);}
  body.page-home .search-wrap input:focus{border-color:var(--violet);}
  body.page-home .search-wrap svg{
    position:absolute; left:12px; top:50%; transform:translateY(-50%);
    width:16px; height:16px;
    color:var(--text-muted);
    pointer-events:none;
  }

  body.page-home .nav-right{
    order:2;
    margin-left:auto;
    display:flex; align-items:center; gap:18px;
  }
  body.page-home .nav-links{
    display:none;
    gap:26px;
    font-size:0.9rem;
    color:var(--text-muted);
    padding-right:18px;
    border-right:1px solid var(--border);
  }
  body.page-home .nav-links a:hover{color:var(--text);}
  body.page-home .nav-actions{
    display:flex; align-items:center; gap:6px;
    padding-left:2px;
  }
  body.page-home .nav-icon-link{
    display:flex; align-items:center; gap:7px;
    color:var(--text-muted);
    font-size:0.86rem;
    font-weight:500;
    position:relative;
    padding:8px 10px;
    border-radius:6px;
  }
  body.page-home .nav-icon-link svg{width:20px; height:20px; flex-shrink:0;}
  body.page-home .nav-icon-link:hover{color:var(--violet); background:var(--surface-2);}
  body.page-home .nav-icon-label{display:none;}
  body.page-home .nav-cart .cart-count{
    position:absolute;
    top:0px; left:22px;
    background:var(--violet);
    color:#fff;
    font-family:var(--font-mono);
    font-size:0.62rem;
    line-height:1;
    padding:2px 4.5px;
    border-radius:20px;
    min-width:15px;
    text-align:center;
  }
  @media (min-width:640px){
    body.page-home .nav-icon-label{display:inline;}
  }
  body.page-home .burger{
    display:flex;
    background:none; border:1px solid var(--border);
    color:var(--text);
    width:40px; height:40px;
    border-radius:4px;
    align-items:center; justify-content:center;
    flex-shrink:0;
  }

  @media (min-width:860px){
    body.page-home .nav{flex-wrap:nowrap; height:72px; padding:0;}
    body.page-home .search-wrap{
      order:2;
      flex-basis:auto;
      flex:1;
      max-width:380px;
      margin:0 auto;
    }
    body.page-home .nav-right{order:3; margin-left:0;}
    body.page-home .nav-links{display:flex;}
    body.page-home .burger{display:none;}
  }

  /* ---------- HERO ---------- */
  body.page-home .hero{
    padding:64px 0 56px;
    border-bottom:1px solid var(--border);
    position:relative;
    overflow:hidden;
  }
  body.page-home .hero-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:40px;
    align-items:center;
  }
  body.page-home .eyebrow{
    font-family:var(--font-mono);
    font-size:0.76rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--violet);
    display:flex; align-items:center; gap:8px;
    margin-bottom:18px;
  }
  body.page-home .eyebrow::before{
    content:"";
    width:7px; height:7px;
    background:var(--violet);
    border-radius:50%;
    box-shadow:0 0 8px var(--violet);
    animation:pulse 1.8s ease-in-out infinite;
  }
  @keyframes pulse{
    0%,100%{opacity:1;}
    50%{opacity:0.35;}
  }
  body.page-home .hero h1{
    font-family:var(--font-display);
    font-weight:600;
    font-size:2.1rem;
    line-height:1.12;
    letter-spacing:-0.02em;
    margin-bottom:18px;
  }
  body.page-home .hero h1 span{color:var(--violet);}
  body.page-home .hero p{
    color:var(--text-muted);
    font-size:1.02rem;
    max-width:46ch;
    margin-bottom:28px;
  }
  body.page-home .hero-ctas{
    display:flex; flex-wrap:wrap; gap:12px;
  }
  body.page-home .btn-primary{
    padding:14px 26px;
    background:var(--violet);
    color:#FFFFFF;
    font-weight:600;
    font-size:0.95rem;
    border-radius:4px;
    border:none;
    display:inline-flex; align-items:center; gap:8px;
    transition:background .15s ease, transform .15s ease;
  }
  body.page-home .btn-primary:hover{background:#A374FF; transform:translateY(-1px);}
  body.page-home .btn-secondary{
    padding:14px 26px;
    background:transparent;
    color:var(--text);
    font-weight:600;
    font-size:0.95rem;
    border-radius:4px;
    border:1px solid var(--border);
  }
  body.page-home .btn-secondary:hover{border-color:var(--text-muted);}

  /* hero image placeholder */
  body.page-home .hero-media{
    aspect-ratio:4/5;
    max-height:440px;
    border-radius:12px;
    display:flex; align-items:center; justify-content:center;
    padding:24px;
  }
  @media (min-width:900px){
    body.page-home .hero-grid{grid-template-columns:1.1fr 0.9fr; gap:56px;}
    body.page-home .hero h1{font-size:2.9rem;}
    body.page-home .hero{padding:96px 0 80px;}
  }

  /* ---------- CATEGORIES ---------- */
  body.page-home .section{padding:64px 0;}
  body.page-home #kategorie{scroll-margin-top:88px;}
  body.page-home .section-head{
    margin-bottom:36px;
  }
  body.page-home .section-eyebrow{
    font-family:var(--font-mono);
    font-size:0.72rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--text-muted);
    margin-bottom:8px;
  }
  body.page-home .section h2{
    font-family:var(--font-display);
    font-weight:600;
    font-size:1.6rem;
    letter-spacing:-0.01em;
  }

  body.page-home .cat-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
  }
  @media (min-width:640px){
    body.page-home .cat-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (min-width:980px){
    body.page-home .cat-grid{grid-template-columns:repeat(3,1fr);}
  }

  body.page-home .cat-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:10px;
    padding:26px;
    display:flex;
    gap:18px;
    align-items:flex-start;
    transition:border-color .15s ease, transform .15s ease, background .15s ease;
  }
  body.page-home .cat-card:hover{
    border-color:var(--violet);
    background:var(--surface-2);
    transform:translateY(-2px);
  }
  body.page-home .cat-icon{
    flex-shrink:0;
    width:46px; height:46px;
    border-radius:9px;
    background:var(--surface-2);
    border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center;
    color:var(--violet);
  }
  body.page-home .cat-card:hover .cat-icon{
    background:rgba(139,92,246,0.14);
    border-color:var(--violet);
  }
  body.page-home .cat-icon svg{width:22px; height:22px;}
  body.page-home .cat-body{flex:1; min-width:0;}
  body.page-home .cat-name{
    font-family:var(--font-display);
    font-weight:600;
    font-size:1.08rem;
    margin-bottom:5px;
    display:flex; align-items:center; justify-content:space-between;
    gap:8px;
  }
  body.page-home .cat-arrow{
    font-family:var(--font-mono);
    color:var(--text-muted);
    font-size:0.95rem;
    transition:color .15s ease, transform .15s ease;
  }
  body.page-home .cat-card:hover .cat-arrow{color:var(--violet); transform:translateX(3px);}
  body.page-home .cat-desc{
    color:var(--text-muted);
    font-size:0.86rem;
    line-height:1.45;
  }
  body.page-home .cat-count{
    font-family:var(--font-mono);
    font-size:0.72rem;
    color:var(--text-muted);
    margin-top:10px;
    display:block;
  }

  /* ---------- TRUST ---------- */
  body.page-home .trust-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:1px;
    background:var(--border);
    border:1px solid var(--border);
    border-radius:8px;
    overflow:hidden;
  }
  @media (min-width:760px){
    body.page-home .trust-grid{grid-template-columns:repeat(3,1fr);}
  }
  body.page-home .trust-item{
    background:var(--surface);
    padding:28px 24px;
  }
  body.page-home .trust-num{
    font-family:var(--font-mono);
    font-size:1.9rem;
    color:var(--violet);
    margin-bottom:6px;
  }
  body.page-home .trust-label{
    font-weight:600;
    margin-bottom:6px;
    font-size:0.98rem;
  }
  body.page-home .trust-desc{
    color:var(--text-muted);
    font-size:0.88rem;
  }

  body.page-home .reviews{
    margin-top:16px;
    overflow:hidden;
    padding:0 2px;
    scrollbar-width:none;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
            mask-image:linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
  }
  body.page-home .reviews::-webkit-scrollbar{display:none;}
  body.page-home .reviews-track{
    display:flex;
    width:max-content;
    animation:reviews-marquee 30s linear infinite;
    will-change:transform;
  }
  body.page-home .reviews-group{
    display:flex;
    gap:14px;
    padding-right:14px;
  }
  body.page-home .review-card{
    width:clamp(260px, 30vw, 340px);
    flex:0 0 clamp(260px, 30vw, 340px);
    min-height:158px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:8px;
    padding:20px;
    font-size:0.9rem;
    display:flex;
    flex-direction:column;
  }
  body.page-home .review-stars{
    color:var(--violet);
    font-family:var(--font-mono);
    font-size:0.85rem;
    margin-bottom:10px;
  }
  body.page-home .review-quote{
    color:var(--text);
    margin-bottom:14px;
    line-height:1.5;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  body.page-home .review-author{
    color:var(--text-muted);
    font-family:var(--font-mono);
    font-size:0.78rem;
    margin-top:auto;
  }
  @keyframes reviews-marquee{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }
  @media (prefers-reduced-motion:reduce){
    body.page-home .reviews-track{
      animation-duration:60s;
    }
  }

  /* ---------- NOWOŚCI (product grid) ---------- */
  body.page-home .product-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
  }
  @media (min-width:640px){
    body.page-home .product-grid{grid-template-columns:repeat(3,1fr);}
  }
  @media (min-width:980px){
    body.page-home .product-grid{grid-template-columns:repeat(4,1fr);}
  }
  body.page-home .product-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:10px;
    overflow:hidden;
    display:flex; flex-direction:column;
    transition:border-color .15s ease, transform .15s ease;
  }
  body.page-home .product-card:hover{border-color:var(--violet); transform:translateY(-2px);}
  body.page-home .product-media{
    aspect-ratio:1/1;
    background:var(--surface-2);
    position:relative;
    display:flex; align-items:center; justify-content:center;
    overflow:hidden;
  }
  body.page-home .product-media img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
  body.page-home .product-badge{
    position:absolute; top:10px; left:10px;
    background:var(--violet);
    color:#fff;
    font-family:var(--font-mono);
    font-size:0.65rem;
    letter-spacing:0.04em;
    text-transform:uppercase;
    padding:4px 8px;
    border-radius:4px;
  }
  body.page-home .product-media-label{
    font-family:var(--font-mono);
    font-size:0.68rem;
    color:var(--text-muted);
  }
  body.page-home .product-body{
    padding:14px 16px 16px;
    display:flex; flex-direction:column; gap:4px;
  }
  body.page-home .product-cat{
    font-family:var(--font-mono);
    font-size:0.68rem;
    color:var(--text-muted);
    text-transform:uppercase;
    letter-spacing:0.04em;
  }
  body.page-home .product-name{
    font-weight:600;
    font-size:0.92rem;
    line-height:1.3;
  }
  body.page-home .product-price{
    font-family:var(--font-mono);
    color:var(--violet);
    font-weight:600;
    font-size:0.95rem;
    margin-top:4px;
  }

  /* ---------- FOOTER ---------- */
  body.page-home footer{
    border-top:1px solid var(--border);
    padding:48px 0 28px;
    background:var(--surface);
  }
  body.page-home .footer-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:32px;
    margin-bottom:36px;
  }
  @media (min-width:760px){
    body.page-home .footer-grid{grid-template-columns:1.4fr repeat(3,1fr);}
  }
  body.page-home .footer-brand{
    font-family:var(--font-display);
    font-weight:700;
    font-size:1.1rem;
    margin-bottom:10px;
  }
  body.page-home .footer-desc{
    color:var(--text-muted);
    font-size:0.88rem;
    max-width:32ch;
  }
  body.page-home .footer-col-title{
    font-family:var(--font-mono);
    font-size:0.72rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--text-muted);
    margin-bottom:14px;
  }
  body.page-home .footer-col a{
    display:block;
    font-size:0.9rem;
    color:var(--text);
    padding:6px 0;
    opacity:0.85;
  }
  body.page-home .footer-contact-line,
  body.page-product .footer-contact-line,
  body.page-catalog .footer-contact-line{
    display:block;
    padding:6px 0;
    color:var(--text);
    font-size:0.9rem;
    opacity:0.85;
  }
  body.page-home .footer-col a:hover{color:var(--violet); opacity:1;}
  body.page-home .footer-bottom{
    border-top:1px solid var(--border);
    padding-top:22px;
    display:flex; flex-direction:column; gap:10px;
    font-size:0.8rem;
    color:var(--text-muted);
  }
  @media (min-width:760px){
    body.page-home .footer-bottom{flex-direction:row; justify-content:space-between;}
  }
  body.page-home .footer-legal a{display:inline-block; color:var(--text-muted); margin-right:16px;}
  body.page-home .footer-legal a:hover{color:var(--text);}

/* pages/product.html */
body.page-product{
    --bg:#0F0C1B;
    --surface:#171227;
    --surface-2:#1E1830;
    --border:#332A55;
    --text:#EDEAF5;
    --text-muted:#9691AE;
    --violet:#8B5CF6;
    --violet-soft:#5B4FE0;

    --font-display:'Space Grotesk', sans-serif;
    --font-body:'Inter', sans-serif;
    --font-mono:'JetBrains Mono', monospace;
  }

  body.page-product, body.page-product *{box-sizing:border-box; margin:0; padding:0;}
  body.page-product{background:var(--bg); color:var(--text); font-family:var(--font-body); line-height:1.5; -webkit-font-smoothing:antialiased;}
  body.page-product img{max-width:100%; display:block;}
  body.page-product a{color:inherit; text-decoration:none;}
  body.page-product button, body.page-product select{font-family:inherit; cursor:pointer;}
  body.page-product :focus-visible{outline:2px solid var(--violet); outline-offset:2px;}
  body.page-product .wrap{max-width:1180px; margin:0 auto; padding:0 20px;}

  /* ---------- NAV ---------- */
  body.page-product header{position:sticky; top:0; z-index:50; background:rgba(22,23,26,0.88); backdrop-filter:blur(8px); border-bottom:1px solid var(--border);}
  body.page-product .nav{display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; padding:12px 0;}
    body.page-product .logo-slot{
    display:flex; align-items:center; gap:9px;
    font-family:var(--font-display);
    font-weight:700;
    font-size:1.1rem;
    letter-spacing:-0.01em;
    order:1;
  }
  body.page-product .logo-slot .logo-img{
    width:38px; height:38px;
    border-radius:8px;
    overflow:hidden;
    flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
  }
  body.page-product .logo-slot .logo-img img{
    width:100%; height:100%;
    object-fit:contain;
    padding:5px;
  }
  body.page-product .search-wrap{order:3; flex-basis:100%; position:relative;}
  body.page-product .search-wrap input{width:100%; background:var(--surface-2); border:1px solid var(--border); color:var(--text); font-size:0.9rem; padding:10px 14px 10px 38px; border-radius:6px;}
  body.page-product .search-wrap input::placeholder{color:var(--text-muted);}
  body.page-product .search-wrap input:focus{border-color:var(--violet); outline:none;}
  body.page-product .search-wrap svg{position:absolute; left:12px; top:50%; transform:translateY(-50%); width:16px; height:16px; color:var(--text-muted); pointer-events:none;}
  body.page-product .nav-right{order:2; margin-left:auto; display:flex; align-items:center; gap:18px;}
  body.page-product .nav-links{display:none; gap:26px; font-size:0.9rem; color:var(--text-muted); padding-right:18px; border-right:1px solid var(--border);}
  body.page-product .nav-links a:hover{color:var(--text);}
  body.page-product .nav-links a.active{color:var(--violet);}
  body.page-product .nav-actions{display:flex; align-items:center; gap:6px;}
  body.page-product .nav-icon-link{display:flex; align-items:center; gap:7px; color:var(--text-muted); font-size:0.86rem; font-weight:500; position:relative; padding:8px 10px; border-radius:6px;}
  body.page-product .nav-icon-link svg{width:20px; height:20px;}
  body.page-product .nav-icon-link:hover{color:var(--violet); background:var(--surface-2);}
  body.page-product .nav-icon-label{display:none;}
  body.page-product .nav-cart .cart-count{position:absolute; top:0; left:22px; background:var(--violet); color:#fff; font-family:var(--font-mono); font-size:0.62rem; padding:2px 4.5px; border-radius:20px; min-width:15px; text-align:center;}
  @media (min-width:640px){body.page-product .nav-icon-label{display:inline;}}
  body.page-product .burger{display:flex; background:none; border:1px solid var(--border); color:var(--text); width:40px; height:40px; border-radius:4px; align-items:center; justify-content:center; flex-shrink:0;}
  @media (min-width:860px){
    body.page-product .nav{flex-wrap:nowrap; height:72px; padding:0;}
    body.page-product .search-wrap{order:2; flex-basis:auto; flex:1; max-width:380px; margin:0 auto;}
    body.page-product .nav-right{order:3; margin-left:0;}
    body.page-product .nav-links{display:flex;}
    body.page-product .burger{display:none;}
  }

  /* ---------- BREADCRUMB ---------- */
  body.page-product .breadcrumb{
    font-family:var(--font-mono);
    font-size:0.76rem;
    color:var(--text-muted);
    display:flex; align-items:center; gap:6px;
    flex-wrap:wrap;
    padding:20px 0;
  }
  body.page-product .breadcrumb a:hover{color:var(--text);}
  body.page-product .breadcrumb .sep{opacity:0.5;}
  body.page-product .breadcrumb .current{color:var(--text);}

  /* ---------- PRODUCT ---------- */
  body.page-product .product{
    display:grid;
    grid-template-columns:1fr;
    gap:36px;
    padding-bottom:56px;
  }
  @media (min-width:860px){
    body.page-product .product{grid-template-columns:1fr 1fr; gap:52px;}
  }

  body.page-product .gallery-main{
    aspect-ratio:1/1;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:12px;
    display:flex; align-items:center; justify-content:center;
  }
  body.page-product .gallery-main.skeleton-shimmer{background:linear-gradient(100deg, var(--surface-2) 25%, rgba(151,136,218,.15) 45%, var(--surface-2) 65%); background-size:220% 100%;}
  body.page-product .gallery-main-label{font-family:var(--font-mono); font-size:0.78rem; color:var(--text-muted);}

  body.page-product .product-cat{
    font-family:var(--font-mono);
    font-size:0.76rem;
    color:var(--text-muted);
    text-transform:uppercase;
    letter-spacing:0.05em;
    margin-bottom:8px;
  }
  body.page-product .product-title{
    font-family:var(--font-display);
    font-weight:600;
    font-size:1.7rem;
    letter-spacing:-0.01em;
    margin-bottom:12px;
  }
  body.page-product .product-title .product-skeleton__line{height:38px; max-width:420px;}
  body.page-product .badge{
    font-family:var(--font-mono);
    font-size:0.72rem;
    padding:5px 10px;
    border-radius:5px;
  }

  body.page-product .product-price{
    font-family:var(--font-mono);
    font-size:1.9rem;
    font-weight:600;
    color:var(--text);
    margin-bottom:22px;
  }
  body.page-product .product-price span{
    font-size:1rem;
    color:var(--text-muted);
    font-weight:400;
    margin-left:8px;
  }
  body.page-product .product-availability{
    display:flex;
    align-items:center;
    gap:8px;
    margin:-10px 0 22px;
    font-size:.9rem;
    font-weight:600;
  }
  body.page-product .product-availability::before{
    content:"";
    width:9px;
    height:9px;
    border-radius:50%;
    background:#35b56b;
  }
  body.page-product .product-availability:not([data-state])::before{background:var(--border);}
  body.page-product .product-availability[data-state="low"]{color:#f2b14a;}
  body.page-product .product-availability[data-state="low"]::before{background:#f2b14a;}
  body.page-product .product-availability[data-state="unavailable"]{color:var(--text-muted);}
  body.page-product .product-availability[data-state="unavailable"]::before{background:var(--text-muted);}

  body.page-product .field{margin-bottom:20px;}
  body.page-product .field-label{
    font-size:0.86rem;
    font-weight:600;
    margin-bottom:10px;
    display:block;
  }

  body.page-product .qty-cart-row{display:flex; gap:12px; margin-top:26px; flex-wrap:wrap;}
  body.page-product .qty-select{
    background:var(--surface);
    border:1px solid var(--border);
    color:var(--text);
    font-size:0.9rem;
    padding:0 14px;
    border-radius:6px;
    width:80px;
  }
  body.page-product .qty-select option{padding:8px 12px;}
  body.page-product .btn-primary{
    flex:1;
    min-width:200px;
    padding:14px 24px;
    background:var(--violet);
    color:#fff;
    font-weight:600;
    font-size:0.95rem;
    border-radius:6px;
    border:none;
  }
  body.page-product .btn-primary:hover{background:#A374FF;}
  body.page-product .btn-primary:disabled{cursor:wait; opacity:.7;}

  body.page-product .product-description-block{
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid var(--border);
  }
  body.page-product .product-description-block h2{
    margin-bottom:12px;
    font-family:var(--font-display);
    font-size:1.05rem;
    font-weight:600;
  }
  body.page-product .product-description{color:var(--text-muted); font-size:.92rem; line-height:1.65;}
  body.page-product .product-description p + p{margin-top:10px;}

  body.page-product .trust-mini{
    display:flex; flex-wrap:wrap; gap:18px;
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid var(--border);
  }
  body.page-product .trust-mini-item{
    display:flex; align-items:center; gap:8px;
    font-size:0.82rem;
    color:var(--text-muted);
  }
  body.page-product .trust-mini-item svg{width:16px; height:16px; color:var(--violet); flex-shrink:0;}

  /* ---------- DESCRIPTION + SPECS ---------- */
  body.page-product .details{
    padding:40px 0 60px;
    border-top:1px solid var(--border);
    max-width:70ch;
  }
  body.page-product .details h2{
    font-family:var(--font-display);
    font-weight:600;
    font-size:1.15rem;
    margin-bottom:14px;
  }
  body.page-product .details p{color:var(--text-muted); font-size:0.92rem; line-height:1.65;}

  /* ---------- FOOTER ---------- */
  body.page-product footer{border-top:1px solid var(--border); padding:48px 0 28px; background:var(--surface);}
  body.page-product .footer-grid{display:grid; grid-template-columns:1fr; gap:32px; margin-bottom:36px;}
  @media (min-width:760px){body.page-product .footer-grid{grid-template-columns:1.4fr repeat(3,1fr);}}
  body.page-product .footer-brand{font-family:var(--font-display); font-weight:700; font-size:1.1rem; margin-bottom:10px;}
  body.page-product .footer-desc{color:var(--text-muted); font-size:0.88rem; max-width:32ch;}
  body.page-product .footer-col-title{font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-muted); margin-bottom:14px;}
  body.page-product .footer-col a{display:block; font-size:0.9rem; color:var(--text); padding:6px 0; opacity:0.85;}
  body.page-product .footer-col a:hover{color:var(--violet); opacity:1;}
  body.page-product .footer-bottom{border-top:1px solid var(--border); padding-top:22px; display:flex; flex-direction:column; gap:10px; font-size:0.8rem; color:var(--text-muted);}
  @media (min-width:760px){body.page-product .footer-bottom{flex-direction:row; justify-content:space-between;}}
  body.page-product .footer-legal a{display:inline-block; color:var(--text-muted); margin-right:16px;}
  body.page-product .footer-legal a:hover{color:var(--text);}

/* pages/czesci.html */
body.page-catalog{
    --bg:#0F0C1B;
    --surface:#171227;
    --surface-2:#1E1830;
    --border:#332A55;
    --text:#EDEAF5;
    --text-muted:#9691AE;
    --violet:#8B5CF6;
    --violet-soft:#5B4FE0;
    --magenta:#C026D3;
    --cyan:#3FD9C7;

    --font-display:'Space Grotesk', sans-serif;
    --font-body:'Inter', sans-serif;
    --font-mono:'JetBrains Mono', monospace;
  }

  body.page-catalog, body.page-catalog *{box-sizing:border-box; margin:0; padding:0;}
  html:has(body.page-catalog){scroll-behavior:smooth;}
  body.page-catalog{
    background:var(--bg);
    color:var(--text);
    font-family:var(--font-body);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  body.page-catalog img{max-width:100%; display:block;}
  body.page-catalog a{color:inherit; text-decoration:none;}
  body.page-catalog button{font-family:inherit; cursor:pointer;}
  body.page-catalog :focus-visible{outline:2px solid var(--violet); outline-offset:3px;}

  body.page-catalog .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 20px;
  }

  /* soft violet glow atmosphere, body.page-catalog echoing the logo's neon glow */
  body.page-catalog .grid-bg{
    position:fixed; inset:0; z-index:-1;
    pointer-events:none;
    background:
      radial-gradient(560px 420px at 12% -6%, rgba(139,92,246,0.16), transparent 65%),
      radial-gradient(640px 480px at 92% 8%, rgba(192,38,211,0.10), transparent 60%);
  }

  /* ---------- NAV ---------- */
  body.page-catalog header{
    position:sticky; top:0; z-index:50;
    background:rgba(22,23,26,0.88);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--border);
  }
  body.page-catalog .nav{
    display:flex; flex-wrap:wrap;
    align-items:center;
    gap:12px 16px;
    padding:12px 0;
  }
  body.page-catalog .logo-slot{
    display:flex; align-items:center; gap:9px;
    font-family:var(--font-display);
    font-weight:700;
    font-size:1.1rem;
    letter-spacing:-0.01em;
    order:1;
  }
  body.page-catalog .logo-slot .logo-img{
    width:38px; height:38px;
    border-radius:8px;
    overflow:hidden;
    flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
  }
  body.page-catalog .logo-slot .logo-img img{
    width:100%; height:100%;
    object-fit:contain;
    padding:5px;
  }

  body.page-catalog .search-wrap{
    order:3;
    flex-basis:100%;
    position:relative;
  }
  body.page-catalog .search-wrap input{
    width:100%;
    background:var(--surface-2);
    border:1px solid var(--border);
    color:var(--text);
    font-family:var(--font-body);
    font-size:0.9rem;
    padding:10px 14px 10px 38px;
    border-radius:6px;
    transition:border-color .15s ease;
  }
  body.page-catalog .search-wrap input::placeholder{color:var(--text-muted);}
  body.page-catalog .search-wrap input:focus{border-color:var(--violet);}
  body.page-catalog .search-wrap svg{
    position:absolute; left:12px; top:50%; transform:translateY(-50%);
    width:16px; height:16px;
    color:var(--text-muted);
    pointer-events:none;
  }

  body.page-catalog .nav-right{
    order:2;
    margin-left:auto;
    display:flex; align-items:center; gap:18px;
  }
  body.page-catalog .nav-links{
    display:none;
    gap:26px;
    font-size:0.9rem;
    color:var(--text-muted);
    padding-right:18px;
    border-right:1px solid var(--border);
  }
  body.page-catalog .nav-links a:hover{color:var(--text);}
  body.page-catalog .nav-actions{
    display:flex; align-items:center; gap:6px;
    padding-left:2px;
  }
  body.page-catalog .nav-icon-link{
    display:flex; align-items:center; gap:7px;
    color:var(--text-muted);
    font-size:0.86rem;
    font-weight:500;
    position:relative;
    padding:8px 10px;
    border-radius:6px;
  }
  body.page-catalog .nav-icon-link svg{width:20px; height:20px; flex-shrink:0;}
  body.page-catalog .nav-icon-link:hover{color:var(--violet); background:var(--surface-2);}
  body.page-catalog .nav-icon-label{display:none;}
  body.page-catalog .nav-cart .cart-count{
    position:absolute;
    top:0px; left:22px;
    background:var(--violet);
    color:#fff;
    font-family:var(--font-mono);
    font-size:0.62rem;
    line-height:1;
    padding:2px 4.5px;
    border-radius:20px;
    min-width:15px;
    text-align:center;
  }
  @media (min-width:640px){
    body.page-catalog .nav-icon-label{display:inline;}
  }
  body.page-catalog .burger{
    display:flex;
    background:none; border:1px solid var(--border);
    color:var(--text);
    width:40px; height:40px;
    border-radius:4px;
    align-items:center; justify-content:center;
    flex-shrink:0;
  }

  @media (min-width:860px){
    body.page-catalog .nav{flex-wrap:nowrap; height:72px; padding:0;}
    body.page-catalog .search-wrap{
      order:2;
      flex-basis:auto;
      flex:1;
      max-width:380px;
      margin:0 auto;
    }
    body.page-catalog .nav-right{order:3; margin-left:0;}
    body.page-catalog .nav-links{display:flex;}
    body.page-catalog .burger{display:none;}
  }

  /* ---------- BREADCRUMB + PAGE HEAD ---------- */
  body.page-catalog .page-head{padding:28px 0 24px; border-bottom:1px solid var(--border);}
  body.page-catalog .breadcrumb{
    font-family:var(--font-mono);
    font-size:0.76rem;
    color:var(--text-muted);
    display:flex; align-items:center; gap:6px;
    margin-bottom:14px;
  }
  body.page-catalog .breadcrumb a:hover{color:var(--text);}
  body.page-catalog .breadcrumb .sep{opacity:0.5;}
  body.page-catalog .breadcrumb .current{color:var(--text);}
  body.page-catalog .page-head h1{
    font-family:var(--font-display);
    font-weight:600;
    font-size:1.7rem;
    letter-spacing:-0.01em;
    margin-bottom:8px;
  }
  body.page-catalog .page-head p{color:var(--text-muted); font-size:0.92rem; max-width:60ch;}

  /* ---------- LAYOUT ---------- */
  body.page-catalog .catalog-layout{
    display:grid;
    grid-template-columns:1fr;
    gap:28px;
    padding:32px 0 64px;
    align-items:start;
  }
  @media (min-width:900px){
    body.page-catalog .catalog-layout{grid-template-columns:250px 1fr;}
    body.page-catalog .catalog-layout--full{grid-template-columns:1fr;}
    body.page-catalog .catalog-layout:not(.catalog-layout--full) > aside{
      transform:translateX(-16px);
    }
  }

  /* ---------- FILTERS ---------- */
  body.page-catalog .filters-toggle{
    display:flex; align-items:center; justify-content:space-between;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:8px;
    padding:12px 16px;
    color:var(--text);
    font-size:0.9rem;
    font-weight:500;
    margin-bottom:12px;
  }
  body.page-catalog .filters-toggle svg{width:16px; height:16px; color:var(--text-muted); transition:transform .2s ease;}
  body.page-catalog .filters-toggle.open svg{transform:rotate(180deg);}
  @media (min-width:900px){body.page-catalog .filters-toggle{display:none;}}

  body.page-catalog .filters{
    display:none;
    flex-direction:column;
    gap:26px;
  }
  body.page-catalog .filters.open{display:flex;}
  @media (min-width:900px){
    body.page-catalog .filters{display:flex; position:sticky; top:88px;}
  }

  body.page-catalog .filter-group{border-bottom:1px solid var(--border); padding-bottom:20px;}
  body.page-catalog .filter-group:last-child{border-bottom:none;}
  body.page-catalog .filter-title{
    font-family:var(--font-mono);
    font-size:0.72rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--text-muted);
    margin-bottom:14px;
  }
  body.page-catalog .filter-option{
    display:flex; align-items:center; gap:9px;
    padding:6px 0;
    font-size:0.88rem;
    color:var(--text);
    cursor:pointer;
  }
  body.page-catalog .filter-option input[type="checkbox"]{
    appearance:none;
    width:16px; height:16px;
    border:1px solid var(--border);
    border-radius:4px;
    background:var(--surface-2);
    flex-shrink:0;
    position:relative;
    cursor:pointer;
  }
  body.page-catalog .filter-option input[type="checkbox"]:checked{
    background:var(--violet);
    border-color:var(--violet);
  }
  body.page-catalog .filter-option input[type="checkbox"]:checked::after{
    content:"✓";
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    color:#fff; font-size:11px;
  }
  body.page-catalog .filter-option .count{
    margin-left:auto;
    font-family:var(--font-mono);
    font-size:0.72rem;
    color:var(--text-muted);
  }
  body.page-catalog .price-range{display:flex; align-items:center; gap:8px;}
  body.page-catalog .price-range input{
    width:100%;
    background:var(--surface-2);
    border:1px solid var(--border);
    color:var(--text);
    font-family:var(--font-mono);
    font-size:0.82rem;
    padding:8px 10px;
    border-radius:5px;
  }
  body.page-catalog .price-range input::-webkit-outer-spin-button,
  body.page-catalog .price-range input::-webkit-inner-spin-button{
    appearance:none;
    margin:0;
  }
  body.page-catalog .price-range input[type="number"]{
    appearance:textfield;
    -moz-appearance:textfield;
  }
  body.page-catalog .price-range span{color:var(--text-muted); font-size:0.8rem;}
  body.page-catalog .filter-clear{
    font-family:var(--font-mono);
    font-size:0.78rem;
    color:var(--violet);
    padding-top:2px;
  }
  body.page-catalog .filter-clear:hover{text-decoration:underline;}

  /* ---------- SORT BAR ---------- */
  body.page-catalog .sort-bar{
    display:flex; align-items:center; justify-content:space-between;
    gap:12px;
    margin-bottom:20px;
    flex-wrap:wrap;
  }
  body.page-catalog .result-count{font-size:0.86rem; color:var(--text-muted);}
  body.page-catalog .result-count strong{color:var(--text);}
  body.page-catalog .sort-select{
    background:var(--surface);
    border:1px solid var(--border);
    color:var(--text);
    font-size:0.86rem;
    padding:9px 34px 9px 14px;
    border-radius:6px;
    appearance:none;
    background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="%239691AE" stroke-width="2"><polyline points="6 9 12 15 18 9"/></svg>');
    background-repeat:no-repeat;
    background-position:right 12px center;
  }
  body.page-catalog .sort-select:focus{border-color:var(--violet); outline:none;}

  /* active filter chips */
  body.page-catalog .active-chips{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px;}
  body.page-catalog .chip{
    display:flex; align-items:center; gap:6px;
    background:var(--surface-2);
    border:1px solid var(--border);
    color:var(--text);
    font-size:0.8rem;
    padding:6px 10px;
    border-radius:20px;
  }
  body.page-catalog .chip button{background:none; border:none; color:var(--text-muted); font-size:0.85rem; line-height:1; padding:0;}
  body.page-catalog .chip button:hover{color:var(--violet);}

  /* ---------- PRODUCT GRID (spójny z homepage) ---------- */
  body.page-catalog .product-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
  }
  @media (min-width:640px){body.page-catalog .product-grid{grid-template-columns:repeat(3,1fr);}}
  /* Katalogi z filtrami mają trzy szersze kafelki — tak jak katalog akcesoriów. */
  @media (min-width:1180px){
    body.page-catalog .product-grid{grid-template-columns:repeat(3,1fr);}
    body.page-catalog .catalog-layout--full .product-grid{grid-template-columns:repeat(4,1fr);}
  }
  body.page-catalog .product-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:10px;
    overflow:hidden;
    display:flex; flex-direction:column;
    transition:border-color .15s ease, transform .15s ease;
  }
  body.page-catalog .product-card:hover{border-color:var(--violet); transform:translateY(-2px);}
  body.page-catalog .product-media{
    aspect-ratio:1/1;
    background:var(--surface-2);
    position:relative;
    display:flex; align-items:center; justify-content:center;
    overflow:hidden;
  }
  body.page-catalog .product-media img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
  body.page-catalog .product-card--unavailable .product-media img{
    filter:grayscale(1);
  }
  body.page-catalog .product-card--unavailable{cursor:not-allowed;}
  body.page-catalog .product-card--unavailable:hover{
    border-color:var(--border);
    transform:none;
  }
  body.page-catalog .product-unavailable-label{
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    z-index:1;
    padding:9px 12px;
    color:#fff;
    background:rgba(0,0,0,.82);
    font-family:var(--font-mono);
    font-size:.72rem;
    font-weight:600;
    letter-spacing:.06em;
    text-align:center;
    text-transform:uppercase;
  }

  /* ---------- SKELETY ŁADOWANIA PRODUKTÓW ---------- */
  .product-skeleton{
    pointer-events:none;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:10px;
    overflow:hidden;
  }
  .skeleton-shimmer{
    background:linear-gradient(100deg, var(--surface-2) 25%, rgba(151,136,218,.15) 45%, var(--surface-2) 65%);
    background-size:220% 100%;
    animation:skeleton-shimmer 1.35s ease-in-out infinite;
  }
  .product-skeleton__media{aspect-ratio:1/1;}
  .product-skeleton__body{display:grid; gap:10px; padding:14px;}
  .product-skeleton__line{display:block; height:12px; border-radius:999px;}
  .product-skeleton__line--short{width:42%;}
  .product-skeleton__line--title{width:78%; height:16px;}
  .product-skeleton__line--price{width:31%; height:14px; margin-top:3px;}
  .skeleton-inline{display:inline-block; width:76px; height:12px; border-radius:999px; vertical-align:middle;}
  @keyframes skeleton-shimmer{
    to{background-position:-220% 0;}
  }
  body.page-catalog .product-badge{
    position:absolute; top:10px; left:10px;
    background:var(--violet);
    color:#fff;
    font-family:var(--font-mono);
    font-size:0.65rem;
    text-transform:uppercase;
    padding:4px 8px;
    border-radius:4px;
  }
  body.page-catalog .product-media-label{font-family:var(--font-mono); font-size:0.68rem; color:var(--text-muted);}
  body.page-catalog .product-body{padding:14px 16px 16px; display:flex; flex-direction:column; gap:4px;}
  body.page-catalog .product-cat{font-family:var(--font-mono); font-size:0.68rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.04em;}
  body.page-catalog .product-name{font-weight:600; font-size:0.92rem; line-height:1.3;}
  body.page-catalog .product-meta{font-size:0.78rem; color:var(--text-muted);}
  body.page-catalog .product-price{font-family:var(--font-mono); color:var(--violet); font-weight:600; font-size:0.95rem; margin-top:4px;}

  body.page-catalog .empty-state{
    grid-column:1/-1;
    text-align:center;
    padding:60px 20px;
    color:var(--text-muted);
    font-size:0.9rem;
  }

  /* ---------- PAGINATION ---------- */
  body.page-catalog .pagination{
    display:flex; align-items:center; justify-content:center;
    gap:6px;
    margin-top:40px;
  }
  body.page-catalog .pagination a, body.page-catalog .pagination span{
    min-width:36px; height:36px;
    display:flex; align-items:center; justify-content:center;
    border-radius:6px;
    font-family:var(--font-mono);
    font-size:0.85rem;
    color:var(--text-muted);
    border:1px solid transparent;
  }
  body.page-catalog .pagination a:hover{border-color:var(--border); color:var(--text);}
  body.page-catalog .pagination a.active{background:var(--violet); color:#fff;}
  body.page-catalog .pagination .dots{color:var(--text-muted);}

  /* ---------- FOOTER (spójny z homepage) ---------- */
  body.page-catalog footer{border-top:1px solid var(--border); padding:48px 0 28px; background:var(--surface); margin-top:20px;}
  body.page-catalog .footer-grid{display:grid; grid-template-columns:1fr; gap:32px; margin-bottom:36px;}
  @media (min-width:760px){body.page-catalog .footer-grid{grid-template-columns:1.4fr repeat(3,1fr);}}
  body.page-catalog .footer-brand{font-family:var(--font-display); font-weight:700; font-size:1.1rem; margin-bottom:10px;}
  body.page-catalog .footer-desc{color:var(--text-muted); font-size:0.88rem; max-width:32ch;}
  body.page-catalog .footer-col-title{font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-muted); margin-bottom:14px;}
  body.page-catalog .footer-col a{display:block; font-size:0.9rem; color:var(--text); padding:6px 0; opacity:0.85;}
  body.page-catalog .footer-col a:hover{color:var(--violet); opacity:1;}
  body.page-catalog .footer-bottom{border-top:1px solid var(--border); padding-top:22px; display:flex; flex-direction:column; gap:10px; font-size:0.8rem; color:var(--text-muted);}
  @media (min-width:760px){body.page-catalog .footer-bottom{flex-direction:row; justify-content:space-between;}}
  body.page-catalog .footer-legal a{display:inline-block; color:var(--text-muted); margin-right:16px;}
  body.page-catalog .footer-legal a:hover{color:var(--text);}

/* Wspólny wymiar elementów nawigacji we wszystkich widokach. */
body.page-home .nav-actions,
body.page-product .nav-actions,
body.page-catalog .nav-actions{
  padding-left:2px;
}

body.page-home .nav-icon-link svg,
body.page-product .nav-icon-link svg,
body.page-catalog .nav-icon-link svg{
  flex-shrink:0;
}

/* ---------- PAGES INFORMACYJNE ---------- */
body.page-info .info-content{
  max-width:800px;
  padding:48px 20px 72px;
}

body.page-info .info-content h1{
  font-family:var(--font-display);
  font-size:2rem;
  letter-spacing:-0.02em;
  margin-bottom:12px;
}

body.page-info .info-content h2{
  font-family:var(--font-display);
  font-size:1.2rem;
  margin:32px 0 12px;
}

body.page-info .info-content p,
body.page-info .info-content li{
  color:var(--text-muted);
  font-size:0.95rem;
  line-height:1.7;
}

body.page-info .info-content p + p{margin-top:10px;}
body.page-info .info-introduction{
  margin:20px 0 36px;
  padding:22px 24px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface);
}

body.page-info .info-content ul{
  padding-left:20px;
  display:grid;
  gap:8px;
}

body.page-info .info-lead{font-size:1.05rem !important;}
body.page-info .contact-card{
  margin-top:28px;
  padding:24px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface);
}

body.page-info .contact-card a{color:var(--violet);}

/* ---------- SKUP TELEFONÓW ---------- */
body.page-buyback .buyback-form{
  display:grid;
  gap:18px;
  margin-top:30px;
  padding:28px;
  border:1px solid var(--border);
  border-radius:14px;
  background:linear-gradient(145deg, var(--surface), var(--surface-2));
}

body.page-buyback .buyback-form__grid{display:grid; gap:18px;}
body.page-buyback .buyback-form__field{display:grid; gap:8px;}
body.page-buyback .buyback-form label{font-size:.88rem; font-weight:600;}
body.page-buyback .buyback-form label span{color:var(--text-muted); font-weight:400;}
body.page-buyback .buyback-form input,
body.page-buyback .buyback-form select,
body.page-buyback .buyback-form textarea{
  width:100%;
  min-height:46px;
  padding:11px 13px;
  border:1px solid var(--border);
  border-radius:8px;
  color:var(--text);
  background:rgba(15,12,27,.58);
  font:inherit;
}
body.page-buyback .buyback-form input::placeholder{color:var(--text-muted);}
body.page-buyback .buyback-form select{cursor:pointer;}
body.page-buyback .buyback-form textarea{resize:vertical; line-height:1.5;}
body.page-buyback .buyback-form select option{color:var(--text); background:var(--surface);}
body.page-buyback .buyback-form input:focus,
body.page-buyback .buyback-form select:focus,
body.page-buyback .buyback-form textarea:focus{border-color:var(--violet); outline:none; box-shadow:0 0 0 3px rgba(139,92,246,.16);}
body.page-buyback .buyback-form__submit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:50px;
  margin-top:4px;
  border:0;
  border-radius:9px;
  color:#fff;
  background:linear-gradient(135deg, var(--violet), var(--violet-soft));
  box-shadow:0 10px 22px rgba(139,92,246,.25);
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
body.page-buyback .buyback-form__submit:hover{transform:translateY(-1px); box-shadow:0 13px 26px rgba(139,92,246,.36);}
body.page-buyback .buyback-form__submit span{font-size:1.25rem;}
@media (min-width:620px){body.page-buyback .buyback-form__grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){body.page-buyback .buyback-form{padding:20px;}}

.cart-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:110;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(8,5,18,.74);
  backdrop-filter:blur(5px);
}
.cart-modal{
  width:min(430px, 100%);
  padding:34px;
  text-align:center;
  color:var(--text);
  background:linear-gradient(145deg, var(--surface-2), var(--surface));
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:0 22px 60px rgba(0,0,0,.5), 0 0 38px rgba(139,92,246,.1);
}
.cart-modal__icon{display:grid; place-items:center; width:42px; height:42px; margin:0 auto 16px; border:1px solid var(--violet); border-radius:50%; color:#fff; background:var(--violet); box-shadow:0 0 18px rgba(139,92,246,.45); font-size:1.3rem; font-weight:700;}
.cart-modal h2{font-family:var(--font-display); font-size:1.35rem;}
.cart-modal p{margin:10px 0 26px; color:var(--text-muted); line-height:1.55;}
.cart-modal__actions{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.cart-modal__actions button{min-height:48px; border-radius:7px; padding:10px 14px; font-weight:700; cursor:pointer;}
.cart-modal__continue{color:var(--text); border:1px solid var(--border); background:transparent;}
.cart-modal__view{color:#fff; border:0; background:var(--violet); box-shadow:0 7px 18px rgba(139,92,246,.28);}
.cart-modal__view:hover{background:#A374FF;}
.cart-modal__view span{font-size:1.25rem; margin-left:5px;}
@media (max-width:420px){.cart-modal{padding:28px 20px;}.cart-modal__actions{grid-template-columns:1fr;}}

.cart-drawer-backdrop{
  position:fixed;
  inset:0;
  z-index:90;
  background:rgba(7,5,16,.72);
  backdrop-filter:blur(3px);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
}
body .cart-drawer{
  position:fixed;
  top:0;
  right:0;
  z-index:91;
  display:flex;
  flex-direction:column;
  width:min(500px, 100vw);
  height:100dvh;
  padding:32px clamp(20px, 5vw, 40px) 26px;
  color:var(--text);
  background:linear-gradient(145deg, rgba(30,24,48,.98), rgba(15,12,27,.99) 30%, rgba(15,12,27,1));
  border-left:1px solid rgba(139,92,246,.24);
  box-shadow:-24px 0 60px rgba(0,0,0,.42), -1px 0 38px rgba(139,92,246,.12);
  transform:translateX(100%);
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}
.cart-drawer-open{overflow:hidden;}
.cart-drawer-open .cart-drawer{transform:translateX(0);}
.cart-drawer-open .cart-drawer-backdrop{opacity:1; pointer-events:auto;}
body .cart-drawer__header{padding:0 0 22px; border-bottom:1px solid rgba(150,145,174,.16);}
body .cart-drawer__eyebrow{display:block; margin-bottom:5px; color:var(--violet); font-family:var(--font-mono); font-size:.67rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;}
body .cart-drawer__header h2{font-family:var(--font-display); font-size:1.7rem; font-weight:700; letter-spacing:-.04em;}
body .cart-drawer__items{min-height:0; flex:1 1 auto; overflow-y:auto; padding:22px 2px; scrollbar-color:var(--violet) transparent;}
body .cart-drawer__item{display:flex; gap:14px; padding:14px; border:1px solid rgba(150,145,174,.16); border-radius:16px; background:linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.018)); box-shadow:inset 0 1px rgba(255,255,255,.025);}
.cart-drawer__image{width:72px; height:72px; flex:0 0 auto; overflow:hidden; border:1px solid rgba(139,92,246,.26); border-radius:12px; background:var(--surface-2);}
.cart-drawer__image img{width:100%; height:100%; object-fit:cover;}
.cart-drawer__image-placeholder{display:block; width:100%; height:100%;}
.cart-drawer__item-content{min-width:0; flex:1;}
.cart-drawer__item h3{font-family:var(--font-display); font-size:1rem; line-height:1.3; font-weight:600; letter-spacing:-.02em;}
body .cart-drawer__item p{margin-top:3px; color:var(--text-muted); font-size:.82rem;}
body .cart-drawer__item strong{display:block; margin-top:8px; color:#d9ccff; font-family:var(--font-mono); font-size:.9rem;}
body .cart-drawer__item-actions{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px;}
.cart-drawer__quantity{display:flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:.85rem;}
.cart-drawer__quantity button{width:32px; height:32px; border:1px solid rgba(139,92,246,.34); border-radius:9px; color:#fff; background:rgba(139,92,246,.18); font-size:1.1rem; cursor:pointer; transition:background .15s ease, transform .15s ease;}
.cart-drawer__quantity button:hover{background:var(--violet); transform:translateY(-1px);}
.cart-drawer__quantity button:disabled{cursor:not-allowed; opacity:.4; transform:none;}
.cart-drawer__remove{border:0; color:var(--text-muted); background:transparent; cursor:pointer; font-size:.82rem;}
.cart-drawer__remove:hover{color:#f0b8da;}
.cart-drawer__empty{padding-top:52px; color:var(--text-muted); text-align:center;}
body .cart-drawer__notice{margin:14px 0 0; padding:10px 12px; border:1px solid rgba(251,191,36,.32); border-radius:10px; color:#fde68a; background:rgba(251,191,36,.08); font-size:.78rem; line-height:1.45;}
body .cart-drawer__footer{flex:0 0 auto; padding-top:20px; border-top:1px solid rgba(150,145,174,.16);}
.cart-drawer__total{display:flex; min-height:30px; justify-content:space-between; align-items:center; gap:20px;}
.cart-drawer__total span{color:var(--text-muted); font-size:.88rem;}
.cart-drawer__total strong{display:block; margin-left:auto; color:#fff; font-family:var(--font-mono); font-size:1.2rem; line-height:1.2; opacity:1; visibility:visible; white-space:nowrap;}
body .cart-drawer__footer p{margin:10px 0 14px; color:var(--text-muted); font-size:.76rem; line-height:1.5;}
.cart-drawer__actions{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.cart-drawer__actions button{min-height:50px; border-radius:11px; font-weight:700; font-size:.9rem; cursor:pointer; transition:transform .15s ease, border-color .15s ease, background .15s ease;}
.cart-drawer__continue{color:var(--text); border:1px solid rgba(150,145,174,.3); background:rgba(255,255,255,.02);}
.cart-drawer__continue:hover{border-color:var(--violet); background:rgba(139,92,246,.09);}
body .cart-drawer__checkout{color:#fff; border:0; background:linear-gradient(135deg, var(--violet, #8B5CF6), var(--violet-soft, #5B4FE0)); box-shadow:0 10px 24px rgba(139,92,246,.32);}
.cart-drawer__checkout:hover{transform:translateY(-1px); box-shadow:0 13px 28px rgba(139,92,246,.42);}
.cart-drawer__checkout:disabled{cursor:not-allowed; opacity:.5; box-shadow:none;}
.cart-drawer__checkout span{font-size:1.3rem; margin-left:6px;}
@media (max-width:520px){body .cart-drawer{padding:20px;}.cart-drawer__actions{grid-template-columns:1fr;}}

/* ---------- RESPONSYWNOŚĆ: TELEFONY I MAŁE TABLETY ---------- */
@media (max-width:859.98px){
  body.page-home .nav-right,
  body.page-product .nav-right,
  body.page-catalog .nav-right{display:contents;}

  body.page-home .nav-actions,
  body.page-product .nav-actions,
  body.page-catalog .nav-actions{order:2; margin-left:auto;}

  body.page-home .burger,
  body.page-product .burger,
  body.page-catalog .burger{order:2;}

  body.page-home .nav-links.is-open,
  body.page-product .nav-links.is-open,
  body.page-catalog .nav-links.is-open{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    order:4;
    flex-basis:100%;
    gap:6px;
    padding:8px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--surface);
  }

  body.page-home .nav-links.is-open a,
  body.page-product .nav-links.is-open a,
  body.page-catalog .nav-links.is-open a{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px;
    border-radius:7px;
    text-align:center;
  }

  body.page-home .nav-links.is-open a.active,
  body.page-product .nav-links.is-open a.active,
  body.page-catalog .nav-links.is-open a.active{color:#fff; background:var(--violet);}
}

@media (max-width:599.98px){
  body.page-home .wrap,
  body.page-product .wrap,
  body.page-catalog .wrap{padding-right:16px; padding-left:16px;}

  body.page-home .nav,
  body.page-product .nav,
  body.page-catalog .nav{gap:10px 12px; padding-top:10px; padding-bottom:10px;}

  body.page-home .logo-slot,
  body.page-product .logo-slot,
  body.page-catalog .logo-slot{font-size:1rem;}

  body.page-home .logo-slot .logo-img,
  body.page-product .logo-slot .logo-img,
  body.page-catalog .logo-slot .logo-img{width:34px; height:34px;}

  body.page-home .nav-icon-link,
  body.page-product .nav-icon-link,
  body.page-catalog .nav-icon-link{min-width:40px; min-height:40px; justify-content:center; padding:8px;}

  body.page-home .search-wrap input,
  body.page-product .search-wrap input,
  body.page-catalog .search-wrap input{min-height:44px; font-size:16px;}

  body.page-home .hero{padding:56px 0 48px;}
  body.page-home .hero-grid{gap:0;}
  body.page-home .hero-media{display:none;}
  body.page-home .hero h1{font-size:clamp(2rem, 9vw, 2.5rem); line-height:1.08;}
  body.page-home .hero p{font-size:.96rem; margin-bottom:24px;}
  body.page-home .hero-ctas,
  body.page-home .hero-ctas .btn-primary{width:100%;}
  body.page-home .btn-primary{min-height:48px; justify-content:center;}
  body.page-home .section{padding:48px 0;}
  body.page-home .section-head{margin-bottom:24px;}
  body.page-home .cat-card{padding:20px;}

  body.page-catalog .page-head{padding:24px 0 20px;}
  body.page-catalog .page-head h1{font-size:clamp(1.65rem, 7vw, 2rem); line-height:1.14;}
  body.page-catalog .catalog-layout{gap:20px; padding:24px 16px 48px;}
  body.page-catalog .sort-bar{align-items:stretch; margin-bottom:16px;}
  body.page-catalog .sort-select{width:100%; min-height:44px;}
  body.page-catalog .filters-toggle{min-height:46px;}
  body.page-catalog .pagination{flex-wrap:wrap; margin-top:28px;}

  body.page-product .breadcrumb{padding:16px 0; line-height:1.6;}
  body.page-product .product{gap:28px; padding-bottom:44px;}
  body.page-product .product-title{font-size:clamp(1.65rem, 7vw, 2.1rem); line-height:1.12;}
  body.page-product .product-price{font-size:1.6rem;}
  body.page-product .qty-cart-row{gap:10px; margin-top:20px;}
  body.page-product .qty-select{min-height:48px; width:84px;}
  body.page-product .btn-primary{min-height:48px;}
  body.page-product .trust-mini{display:grid; gap:12px; margin-top:22px;}
  body.page-product .details{padding:32px 0 44px;}

  body.page-info .info-content{padding-top:32px; padding-bottom:52px;}
  body.page-info .info-content h1{font-size:clamp(1.7rem, 8vw, 2.15rem); line-height:1.12;}
  body.page-info .contact-card,
  body.page-buyback .buyback-form{margin-top:22px; padding:20px;}

  body.page-home footer,
  body.page-product footer,
  body.page-catalog footer{padding-top:36px;}
  body.page-home .footer-grid,
  body.page-product .footer-grid,
  body.page-catalog .footer-grid{gap:24px; margin-bottom:28px;}
  body.page-home .footer-legal a,
  body.page-product .footer-legal a,
  body.page-catalog .footer-legal a{margin:0 12px 8px 0;}
}

@media (max-width:419.98px){
  body.page-home .nav-icon-label,
  body.page-product .nav-icon-label,
  body.page-catalog .nav-icon-label{display:none;}

  body.page-home .nav-actions,
  body.page-product .nav-actions,
  body.page-catalog .nav-actions{gap:2px;}

  body.page-home .nav-links.is-open,
  body.page-product .nav-links.is-open,
  body.page-catalog .nav-links.is-open{grid-template-columns:1fr;}

  body.page-home .product-grid,
  body.page-catalog .product-grid{grid-template-columns:1fr;}

  body.page-product .qty-cart-row{display:flex; flex-wrap:nowrap; align-items:stretch;}
  body.page-product .qty-select{flex:0 0 76px; width:76px;}
  body.page-product .btn-primary{flex:1; min-width:0; width:auto;}
  body .cart-drawer{padding:18px 16px;}
  body .cart-drawer__item{align-items:flex-start;}
  body .cart-drawer__item-actions{align-items:flex-start; flex-direction:column;}
  body .cart-drawer__remove{padding:6px 0;}
}
