403Webshell
Server IP : 193.86.120.172  /  Your IP : 216.73.216.215
Web Server : Apache/2.4.63 (Unix)
System : Linux JServices 3.10.108 #86003 SMP Wed Oct 22 13:20:46 CST 2025 x86_64
User : kubec ( 1026)
PHP Version : 8.2.28
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /volume1/web/empresapbk_cz/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /volume1/web/empresapbk_cz/index.html
<!DOCTYPE html>
<html lang="cs">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>EMPRESA PBK s.r.o. | Stavby, interiéry a auto služby</title>
  <meta name="description" content="Výstavba rodinných domů, realizace interiérů, automyčka AS Superwash, nákup a prodej automobilů, servis a pneuservis." />
  <style>
    :root{
      --bg:#0a0a0a; --bg-soft:#121212; --card:#161616; --line:rgba(255,255,255,.09);
      --text:#ffffff; --muted:#b3b3b3; --muted-2:#7f7f7f; --accent:#e7a93a; --accent-dark:#c98b1e;
      --max:1200px; --radius:28px; --shadow:0 18px 50px rgba(0,0,0,.28);
    }
    *{box-sizing:border-box} html{scroll-behavior:smooth}
    body{
      margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      background:radial-gradient(circle at top right, rgba(231,169,58,.12), transparent 24%),
      radial-gradient(circle at left center, rgba(255,255,255,.06), transparent 18%), var(--bg);
      color:var(--text);line-height:1.6;
    }
    a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
    .container{width:min(var(--max), calc(100% - 40px));margin:0 auto}
    .section{padding:92px 0}
    .eyebrow{display:inline-block;font-size:12px;text-transform:uppercase;letter-spacing:.3em;color:var(--accent);margin-bottom:18px}
    header{position:sticky;top:0;z-index:50;background:rgba(10,10,10,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
    .nav{display:flex;justify-content:space-between;align-items:center;min-height:78px;gap:20px}
    .brand-top{font-size:24px;font-weight:700;letter-spacing:.08em}
    .brand-sub{font-size:11px;text-transform:uppercase;letter-spacing:.28em;color:var(--muted-2);margin-top:4px}
    nav ul{list-style:none;display:flex;gap:28px;padding:0;margin:0;flex-wrap:wrap;justify-content:flex-end}
    nav a{color:#d8d8d8;font-size:14px;transition:.2s ease} nav a:hover{color:#fff}
    .hero{padding:84px 0 72px}
    .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}
    .badge{display:inline-flex;align-items:center;gap:10px;background:rgba(231,169,58,.1);color:#f0c36b;border:1px solid rgba(231,169,58,.26);border-radius:999px;padding:10px 16px;font-size:14px;margin-bottom:20px}
    h1{font-size:clamp(38px, 7vw, 68px);line-height:1.05;margin:0;letter-spacing:-.03em;max-width:850px}
    .lead{color:var(--muted);font-size:18px;max-width:780px;margin:22px 0 0}
    .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
    .btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:18px;border:1px solid transparent;font-weight:600;transition:.2s ease}
    .btn-primary{background:var(--accent);color:#16120b;box-shadow:0 14px 30px rgba(231,169,58,.22)}
    .btn-primary:hover{background:var(--accent-dark);transform:translateY(-1px)}
    .btn-secondary{border-color:var(--line);background:rgba(255,255,255,.03);color:#fff}
    .btn-secondary:hover{background:rgba(255,255,255,.06)}
    .cards-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
    .card{background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.025));border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
    .card small{color:var(--muted-2);display:block;margin-bottom:8px;font-size:13px}
    .card h3{margin:0;font-size:25px;line-height:1.2}
    .card p{margin:12px 0 0;color:var(--muted);font-size:14px}
    .intro{max-width:820px;margin-bottom:36px}
    .intro h2{font-size:clamp(30px,4vw,46px);line-height:1.1;margin:0 0 14px;letter-spacing:-.02em}
    .intro p{margin:0;color:var(--muted);font-size:18px}
    .grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
    .service h3,.feature h3{margin:0 0 10px;font-size:22px;line-height:1.25}
    .service p,.feature p{margin:0;color:var(--muted);font-size:15px}
    .strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}
    .hint{display:inline-block;padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid var(--line);color:var(--muted);font-size:14px}
    .ref-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:34px}
    .ref-card{overflow:hidden;background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));border:1px solid var(--line);border-radius:var(--radius);padding:0;transition:.2s ease}
    .ref-card:hover{transform:translateY(-2px);border-color:rgba(231,169,58,.35)}
    .ref-btn{all:unset;display:block;cursor:pointer}
    .ref-thumb{position:relative;aspect-ratio:4/3;overflow:hidden;background:#111}
    .ref-thumb img{width:100%;height:100%;object-fit:cover;transition:.3s ease}
    .ref-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:.3s ease;pointer-events:none}
    .ref-overlay span{color:#fff;font-size:16px;font-weight:600;border:1px solid rgba(255,255,255,.3);padding:10px 16px;border-radius:12px;background:rgba(0,0,0,.4);backdrop-filter:blur(4px)}
    .ref-card:hover .ref-overlay,.ref-card.is-active .ref-overlay{opacity:1}
    .ref-card:hover .ref-thumb img,.ref-card.is-active .ref-thumb img{transform:scale(1.03)}
    .ref-body{padding:20px 22px 24px}
    .ref-no{font-size:12px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.22em}
    .ref-title{font-size:22px;line-height:1.25;margin-top:10px}
    .ref-text{font-size:14px;color:var(--muted);margin-top:10px}
    .ref-more{margin-top:14px;font-size:14px;color:var(--accent);font-weight:600}
    .split{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
    .feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
    .list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}
    .list-item{background:var(--bg-soft);border:1px solid var(--line);border-radius:24px;padding:22px;color:#e5e5e5;min-height:92px;display:flex;align-items:center;font-size:17px}
    .contact-grid{display:grid;grid-template-columns:1fr .9fr;gap:24px;align-items:stretch}
    .contact-box,.why-box{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:34px;padding:34px}
    .contact-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:26px}
    .contact-item{border:1px solid var(--line);border-radius:22px;background:var(--bg-soft);padding:20px}
    .contact-label{color:var(--muted-2);font-size:14px;margin-bottom:6px}
    .contact-value{font-size:20px;font-weight:600}
    .contact-value a{color:inherit;text-decoration:none}
    .contact-value a:hover{text-decoration:underline}
    .why-box h3{margin:0 0 16px;color:#d0d0d0;font-size:14px;text-transform:uppercase;letter-spacing:.25em;font-weight:600}
    .why-item + .why-item{margin-top:24px}
    .why-item strong{display:block;font-size:20px;margin-bottom:8px}
    .why-item p{margin:0;color:var(--muted);font-size:15px}
    footer{border-top:1px solid var(--line);color:var(--muted-2);padding:26px 0 40px;font-size:14px}

    .lightbox{position:fixed;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:120;padding:24px}
    .lightbox.open{display:flex}
    .lightbox-dialog{width:min(1200px, 100%);max-height:100%;display:grid;grid-template-rows:auto 1fr auto;gap:14px}
    .lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
    .lightbox-title{font-size:clamp(24px,3vw,34px);font-weight:700}
    .lightbox-count{color:var(--muted)}
    .lightbox-close,.lightbox-nav{
      border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:white;
      border-radius:16px;cursor:pointer;transition:.2s ease
    }
    .lightbox-close{width:52px;height:52px;font-size:28px;line-height:1}
    .lightbox-close:hover,.lightbox-nav:hover{background:rgba(255,255,255,.12)}
    .lightbox-main{position:relative;display:grid;grid-template-columns:64px 1fr 64px;gap:14px;align-items:center}
    .lightbox-stage{overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.1);background:#121212}
    .lightbox-stage img{width:100%;max-height:72vh;object-fit:contain;background:#101010}
    .lightbox-nav{height:72px}
    .thumbs{display:flex;gap:10px;flex-wrap:wrap}
    .thumbs button{all:unset;cursor:pointer;border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;opacity:.7}
    .thumbs button.active{opacity:1;border-color:rgba(231,169,58,.65)}
    .thumbs img{width:88px;height:62px;object-fit:cover;display:block}

    @media (max-width:1100px){
      .hero-grid,.split,.contact-grid{grid-template-columns:1fr}
      .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
      .ref-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .feature-grid{grid-template-columns:1fr}
      .list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    }
    @media (max-width:720px){
      .container{width:min(var(--max), calc(100% - 28px))}
      .nav{align-items:flex-start;padding:16px 0}
      nav ul{gap:14px}
      .hero{padding:58px 0 52px}
      .cards-hero,.grid-4,.ref-grid,.list-grid,.contact-items{grid-template-columns:1fr}
      .section{padding:72px 0}
      .card h3{font-size:22px}
      .contact-value{font-size:18px}
      .lightbox-main{grid-template-columns:1fr;gap:10px}
      .lightbox-nav{height:54px}
    }
  
}


/* Superwash CTA fixed placement */
.split > .card:first-child{
  grid-column: 1;
  grid-row: 1 / span 2;
}

.split > .feature-grid{
  grid-column: 2;
  grid-row: 1;
}

.superwash-cta{
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  margin-top: 0;
}

.superwash-btn{
  width: 100%;
  min-height: 64px;
  border-radius: 22px;
  font-size: 18px;
  justify-content: center;
}

@media (max-width:1100px){
  .split > .card:first-child,
  .split > .feature-grid,
  .superwash-cta{
    grid-column: auto;
    grid-row: auto;
  }

  .superwash-cta{
    margin-top: 20px;
  }
}


/* FIX Superwash layout */
.right-col{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.superwash-cta{
  margin-top:0;
}

.superwash-btn{
  width:100%;
  min-height:64px;
  border-radius:22px;
  font-size:18px;
  justify-content:center;
}

</style>
</head>
<body>
  <header>
    <div class="container nav">
      <div>
        <div class="brand-top">EMPRESA PBK s.r.o.</div>
        <div class="brand-sub">Stavby • Interiéry • Auto služby</div>
      </div>
      <nav>
        <ul>
          <li><a href="#sluzby">Služby</a></li>
          <li><a href="#reference">Reference</a></li>
          <li><a href="#superwash">AS Superwash</a></li>
          <li><a href="#auto">Auto služby</a></li>
          <li><a href="#kontakt">Kontakt</a></li>
        </ul>
      </nav>
    </div>
  </header>

  <main>
    <section class="hero">
      <div class="container hero-grid">
        <div>
          <div class="badge">Komplexní realizace staveb, interiérů a auto služeb</div>
          <h1>Moderní řešení pro stavby, interiéry i péči o vaše vozy</h1>
          <p class="lead">Zajišťujeme výstavbu rodinných domů, rekonstrukce, návrhy a realizace interiérů, provoz automyčky, nákup a prodej automobilů i navazující servisní služby. Vše s důrazem na kvalitu, spolehlivost a individuální přístup.</p>
          <div class="hero-actions">
            <a class="btn btn-primary" href="#kontakt">Nezávazně poptat služby</a>
            <a class="btn btn-secondary" href="#reference">Zobrazit reference</a>
          </div>
        </div>

        <div class="cards-hero">
          <article class="card"><small>Praha a okolí</small><h3>Výstavba a rekonstrukce</h3><p>Kompletní stavební řešení od dokumentace přes hrubou stavbu až po finální detaily.</p></article>
          <article class="card"><small>Od návrhu po realizaci</small><h3>Interiéry na míru</h3><p>Firemní i bytové interiéry s důrazem na estetiku, provozní logiku a kvalitní zpracování.</p></article>
          <article class="card"><small>Unhošť, okr. Kladno</small><h3>AS Superwash</h3><p>Moderní ruční mytí vozu se 4 boxy, vysavači, tepovačem a 6 mycími programy s denní obsluhou.</p></article>
          <article class="card"><small>Od dubna 2026</small><h3>Servis a pneuservis</h3><p>Pozáruční servis, běžná údržba, STK, výměna a uskladnění pneumatik i doporučení nových kol.</p></article>
        </div>
</div>
      </div>
    </section>

    <section id="sluzby" class="section">
      <div class="container">
        <div class="intro">
          <span class="eyebrow">Služby</span>
          <h2>Jedno zázemí pro více oblastí realizace</h2>
          <p>Poskytujeme komplexní služby od staveb a interiérů až po automobilové služby. Každý projekt řešíme individuálně, s důrazem na funkčnost, kvalitu a efektivní průběh realizace.</p>
        </div>
        <div class="grid-4">
          <article class="card service"><h3>Výstavba rodinných domů</h3><p>Komplexní realizace rodinných domů v Praze a okolí od přípravy až po finální provedení.</p></article>
          <article class="card service"><h3>Interiéry firem a domácností</h3><p>Návrh i realizace interiérů s důrazem na funkčnost, estetiku a dlouhodobou hodnotu.</p></article>
          <article class="card service"><h3>Projektová a povolovací agenda</h3><p>Zajistíme projektovou dokumentaci, stavební povolení i potřebné podklady pro hladký průběh stavby.</p></article>
          <article class="card service"><h3>Rekonstrukce a terénní práce</h3><p>Provádíme stavební úpravy, rekonstrukce objektů i související terénní práce.</p></article>
        </div>
</div>
      </div>
    </section>

    <section id="reference" class="section strip">
      <div class="container">
        <div class="intro" style="margin-bottom:24px;">
          <span class="eyebrow">Reference</span>
          <h2>Ukázky realizací a projektů</h2>
        </div>

        <div class="ref-grid" id="referenceGrid"></div>
</div>
      </div>
    </section>

    <section id="superwash" class="section">
      <div class="container split">
        <div class="card" style="padding:34px;background:linear-gradient(135deg, rgba(231,169,58,.12), rgba(255,255,255,.03));">
          <span class="eyebrow">AS Superwash</span>
          <h2 style="margin:0;font-size:clamp(30px,4vw,44px);line-height:1.1;">Automyčka s obsluhou v Unhošti</h2>
          <p class="lead" style="margin-top:18px;font-size:18px;">Moderní technologie a kvalitní chemie zajišťují důkladné ruční mytí vozu. Provoz je navržen tak, aby nabídl pohodlí, rychlost a kvalitní péči o automobil každý den.</p>
        </div>
        <div class="right-col">
<div class="feature-grid">
          <article class="card feature"><h3>4 boxy</h3><p>Dostatek prostoru pro komfortní mytí více vozidel.</p></article>
          <article class="card feature"><h3>6 mycích programů</h3><p>Flexibilní volba podle typu znečištění a požadovaného výsledku.</p></article>
          <article class="card feature"><h3>Vysavače a tepovač</h3><p>Kompletní péče o exteriér i interiér vozu na jednom místě.</p></article>
        </div>
<div class="superwash-cta">
  <a href="https://as-superwash.cz" target="_blank" class="btn btn-primary superwash-btn">
    🚗 Přejít na AS Superwash
  </a>
</div>

      </div>
    </section>

    <section id="auto" class="section strip">
      <div class="container">
        <div class="intro">
          <span class="eyebrow">Automobilové služby</span>
          <h2>Prodej, dovoz i servis vozidel</h2>
          <p>Zajišťujeme nákup a prodej vozidel luxusních značek, dovoz na přání i individuální úpravy. Nově rozšiřujeme služby také o servisní zázemí a pneuservis.</p>
        </div>
        <div class="list-grid">
          <div class="list-item">Nákup a prodej vozů luxusních značek</div>
          <div class="list-item">Dovoz vozidla na přání</div>
          <div class="list-item">Individuální úpravy vozidel</div>
          <div class="list-item">Pozáruční servis</div>
          <div class="list-item">Zajištění STK</div>
          <div class="list-item">Pneuservis a uskladnění pneumatik</div>
        </div>
</div>
      </div>
    </section>

    <section id="kontakt" class="section">
      <div class="container contact-grid">
        <div class="contact-box">
          <span class="eyebrow">Kontakt</span>
          <h2 style="margin:0 0 14px;font-size:clamp(30px,4vw,44px);line-height:1.1;">Poptávka služeb</h2>
          <div style="margin-top:20px; color:#b3b3b3; line-height:1.8;">
  <div><strong>Adresa:</strong> U Pekáren 1645/1, Hostivař, 102 00 Praha 10</div>
  <div><strong>IČ:</strong> 03788377</div>
  <div><strong>DIČ:</strong> CZ03788377</div>
</div>
<div class="contact-items">
            <div class="contact-item"><div class="contact-label">E-mail</div><div class="contact-value"><a href="mailto:info@empresapbk.cz">info@empresapbk.cz</a></div></div>
          </div>
        </div>
</div>
      </div>
    </section>
  </main>

  <footer><div class="container">EMPRESA PBK s.r.o.</div></footer>

  <div class="lightbox" id="lightbox" aria-hidden="true">
    <div class="lightbox-dialog">
      <div class="lightbox-top">
        <div>
          <div class="lightbox-title" id="lightboxTitle"></div>
          <div class="lightbox-count" id="lightboxCount"></div>
        </div>
        <button class="lightbox-close" id="lightboxClose" aria-label="Zavřít galerii">&times;</button>
      </div>
      <div class="lightbox-main">
        <button class="lightbox-nav" id="prevBtn" aria-label="Předchozí fotografie">&#10094;</button>
        <div class="lightbox-stage"><img id="lightboxImage" src="" alt=""></div>
        <button class="lightbox-nav" id="nextBtn" aria-label="Další fotografie">&#10095;</button>
      </div>
      <div class="thumbs" id="thumbs"></div>
    </div>
  </div>

  <script>
    const references = [
      { id: "kolodeje", title: "Rodinný dům Koloděje", count: 8 },
      { id: "cestlice", title: "Rodinný dům Čestlice", count: 8 },
      { id: "vaclavske", title: "Interiér Václavské náměstí", count: 13 },
      { id: "as_performance", title: "Interiér AS Performance", count: 6 },
      { id: "as_recepce", title: "Interiér AS Recepce", count: 4 },
      { id: "byt_2kk", title: "Interiér byt 2kk Praha", count: 4 },
      { id: "byt_3kk", title: "Interiér byt 3kk Praha", count: 7 },
      { id: "navrh_domu", title: "Návrh domu Praha", count: 6 }
    ];

    const grid = document.getElementById("referenceGrid");
    const lightbox = document.getElementById("lightbox");
    const lightboxTitle = document.getElementById("lightboxTitle");
    const lightboxCount = document.getElementById("lightboxCount");
    const lightboxImage = document.getElementById("lightboxImage");
    const thumbs = document.getElementById("thumbs");
    let activeRef = null;
    let activeIndex = 0;

    function imagePath(ref, index) {
      return `assets/img/${ref.id}/${index}.jpg`;
    }

    function renderCards() {
      grid.innerHTML = references.map((ref, i) => `
        <article class="ref-card">
          <button class="ref-btn" onclick="openGallery('${ref.id}')">
            <div class="ref-thumb"><img src="${imagePath(ref, 1)}" alt="${ref.title}"><div class="ref-overlay"><span>📷 Zobrazit galerii</span></div></div>
            <div class="ref-body">
              <div class="ref-no" style="display:none;">Reference ${String(i + 1).padStart(2, "0")}</div>
              <div class="ref-title">${ref.title}</div>
              <div class="ref-text" style="display:none;">Kliknutím otevřeš galerii projektu. Každá reference může obsahovat více fotografií.</div>
              <div class="ref-more">Otevřít galerii (${ref.count} foto)</div>
            </div>
          </button>
        </article>
      `).join("");
    }

    function updateLightbox() {
      if (!activeRef) return;
      lightboxTitle.textContent = activeRef.title;
      lightboxCount.textContent = `Foto ${activeIndex + 1} z ${activeRef.count}`;
      lightboxImage.src = imagePath(activeRef, activeIndex + 1);
      lightboxImage.alt = `${activeRef.title} – foto ${activeIndex + 1}`;
      thumbs.innerHTML = Array.from({ length: activeRef.count }, (_, idx) => `
        <button class="${idx === activeIndex ? 'active' : ''}" onclick="setSlide(${idx})" aria-label="Zobrazit foto ${idx + 1}">
          <img src="${imagePath(activeRef, idx + 1)}" alt="">
        </button>
      `).join("");
    }

    window.openGallery = function(id) {
      activeRef = references.find(r => r.id === id);
      activeIndex = 0;
      document.querySelectorAll(".ref-card.is-active").forEach(card => card.classList.remove("is-active"));
      lightbox.classList.add("open");
      lightbox.setAttribute("aria-hidden", "false");
      updateLightbox();
    };

    function closeGallery() {
      lightbox.classList.remove("open");
      lightbox.setAttribute("aria-hidden", "true");
    }

    window.setSlide = function(index) {
      activeIndex = index;
      updateLightbox();
    };

    function nextSlide() {
      if (!activeRef) return;
      activeIndex = (activeIndex + 1) % activeRef.count;
      updateLightbox();
    }

    function prevSlide() {
      if (!activeRef) return;
      activeIndex = (activeIndex - 1 + activeRef.count) % activeRef.count;
      updateLightbox();
    }

    document.getElementById("lightboxClose").addEventListener("click", closeGallery);
    document.getElementById("nextBtn").addEventListener("click", nextSlide);
    document.getElementById("prevBtn").addEventListener("click", prevSlide);
    lightbox.addEventListener("click", (e) => { if (e.target === lightbox) closeGallery(); });
    document.addEventListener("click", (e) => {
      if (!e.target.closest(".ref-card")) {
        document.querySelectorAll(".ref-card.is-active").forEach((card) => card.classList.remove("is-active"));
      }
    });

    document.addEventListener("keydown", (e) => {
      if (!lightbox.classList.contains("open")) return;
      if (e.key === "Escape") closeGallery();
      if (e.key === "ArrowRight") nextSlide();
      if (e.key === "ArrowLeft") prevSlide();
    });

    function bindTouchHover() {
      document.querySelectorAll(".ref-btn").forEach((button) => {
        button.addEventListener("touchstart", () => {
          document.querySelectorAll(".ref-card.is-active").forEach((card) => {
            if (!card.contains(button)) card.classList.remove("is-active");
          });
          const card = button.closest(".ref-card");
          if (card) card.classList.add("is-active");
        }, { passive: true });
      });
    }

    renderCards();
    bindTouchHover();
  </script>
</body>
</html>

Youez - 2016 - github.com/yon3zu
LinuXploit