:root{
    --red:#ef3e57;
    --red2:#ff7a6b;
    --purple:#8b5cf6;
    --ink:#11131a;
    --gray:#6b7280;
    --bg-soft:#f7f7fb;
    --border:#edeef2;
    --gold:#f5a623;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);line-height:1.65;background:#fff;-webkit-font-smoothing:antialiased;}
  a{text-decoration:none;color:inherit;}
  .ic{width:1em;height:1em;display:inline-block;vertical-align:-0.15em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

  .skip-link{position:absolute;left:-9999px;top:6px;z-index:999;background:var(--red);color:#fff;padding:8px 16px;border-radius:8px;font-weight:700;font-size:14px;}
  .skip-link:focus{left:12px;}
  .mockup-banner{background:var(--ink);color:#fff;text-align:center;padding:9px 12px;font-size:13px;}
  .mockup-banner b{color:#ffd166;}

  header{position:static;background:#fff;border-bottom:1px solid var(--border);z-index:200;}
  .nav-wrap{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;}
  .logo{display:flex;align-items:center;gap:9px;font-size:22px;font-weight:800;letter-spacing:-.3px;}
  .logo .pin{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 6px 14px rgba(239,62,87,.3);}
  .nav-actions{display:flex;align-items:center;gap:10px;}
  .btn{display:inline-flex;align-items:center;gap:6px;padding:12px 22px;border-radius:11px;font-weight:700;font-size:14px;cursor:pointer;border:none;transition:.18s;font-family:inherit;-webkit-tap-highlight-color:transparent;}
  .btn-primary{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;box-shadow:0 8px 20px rgba(239,62,87,.32);}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(239,62,87,.4);}
  .btn-ghost{background:transparent;color:var(--ink);font-weight:600;font-size:14px;}
  .btn-register{border:1.5px solid var(--red);color:var(--red);border-radius:11px;}
  .btn-register:hover{background:#fdeaee;}

  /* ── Type navigation — Prenájom / Služba / Udalosť ── */
  .type-nav{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap;}
  .tn-btn{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.88);border:1.5px solid rgba(255,255,255,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:10px 20px;border-radius:999px;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:0 2px 12px rgba(0,0,0,.1);font-family:inherit;letter-spacing:-.2px;}
  .tn-btn .tn-ic{font-size:17px;line-height:1;}
  .tn-btn .tn-arr{font-size:10px;margin-left:2px;opacity:.5;display:inline-block;transition:transform .25s cubic-bezier(.4,0,.2,1);}
  .tn-btn:hover{background:#fff;box-shadow:0 6px 22px rgba(0,0,0,.13);transform:translateY(-1px);}
  .tn-btn.active{background:#fff;border-color:var(--red);color:var(--red);box-shadow:0 6px 22px rgba(239,62,87,.2);}
  .tn-btn.active .tn-arr{transform:rotate(180deg);opacity:1;}

  /* Expand panel */
  .type-panel{overflow:hidden;max-height:0;opacity:0;transition:max-height .38s cubic-bezier(.4,0,.2,1),opacity .28s ease;margin-top:0;}
  .type-panel.open{opacity:1;margin-top:10px;overflow-y:auto;}
  .tp-inner{background:rgba(255,255,255,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:18px;padding:16px 18px 14px;box-shadow:0 8px 32px rgba(0,0,0,.12);border:1px solid rgba(255,255,255,.8);}
  .tp-label{font-size:10.5px;font-weight:800;color:var(--gray);text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px;}
  .tp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
  .tp-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 8px;border-radius:12px;text-decoration:none;color:var(--ink);transition:all .15s;border:1.5px solid transparent;text-align:center;}
  .tp-item:hover{background:var(--bg-soft);border-color:var(--border);transform:translateY(-2px);}
  .tp-item .tp-ic{font-size:24px;line-height:1;}
  .tp-item .tp-name{font-size:11.5px;font-weight:600;line-height:1.3;color:var(--ink);}
  .tp-item:hover .tp-name{color:var(--red);}

  /* HERO — full-width, celá výška okna */
  .hero{
    position:relative;
    padding:0;
    text-align:center;overflow:hidden;
    background:#eef0f5;
    max-width:none;
    margin:0;
    height:100vh;
    min-height:700px;
    display:flex;align-items:flex-start;justify-content:center;
    color:var(--ink);
    isolation:isolate;
  }

  /* Mapa — klikateľná, vypĺňa celý hero */
  #hero-map{position:absolute;inset:0;z-index:0;opacity:1;width:100%;height:100%;}
  #hero-map .leaflet-container{width:100%!important;height:100%!important;}
  #hero-map .leaflet-tile-pane{filter:none;}

  /* Jemný overlay — len pre čitateľnosť textu, mapa ostáva viditeľná */
  .hero-overlay{
    display:block;pointer-events:none;
    position:absolute;inset:0;z-index:1;
    background:
      radial-gradient(ellipse 55% 55% at 50% 42%, rgba(255,255,255,.78) 0%, rgba(255,255,255,.0) 100%),
      linear-gradient(to bottom, rgba(255,255,255,.25) 0%, rgba(255,255,255,0) 40%, rgba(255,255,255,.15) 100%);
  }
  .blob{display:none;pointer-events:none;}

  /* Popup karta */
  .lp{width:220px;font-family:'Plus Jakarta Sans',sans-serif;}
  .lp-head{display:flex;align-items:center;gap:10px;margin:-16px -37px 12px -16px;padding:14px 37px 14px 16px;background:linear-gradient(135deg,#ef3e57,#ff7a6b);border-radius:16px 16px 0 0;}
  .lp-icon{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#ef3e57,#ff7a6b);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
  .lp-avatar{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#ef3e57,#ff7a6b);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff;flex-shrink:0;letter-spacing:.5px;}
  .lp-price{display:inline-block;background:rgba(239,62,87,.12);color:#ef3e57;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:6px;margin-left:7px;vertical-align:middle;}
  #demo-cursor{position:absolute;z-index:2000;pointer-events:none;display:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.35));}
  @keyframes cursor-click{0%{transform:scale(1)}40%{transform:scale(.8)}100%{transform:scale(1)}}
  #demo-cursor.clicking{animation:cursor-click .25s ease;}
  .lp-name{font-size:14px;font-weight:700;color:#fff;line-height:1.3;}
  .lp-cat{font-size:11.5px;color:rgba(255,255,255,.8);font-weight:600;margin-top:2px;}
  .lp-avatar{background:rgba(255,255,255,.25)!important;}
  .lp-stars{color:#f5a623;font-size:13px;margin-bottom:6px;}
  .lp-desc{font-size:12.5px;color:#6b7280;margin-bottom:10px;line-height:1.45;}
  .lp-btn{display:block;background:linear-gradient(135deg,#ef3e57,#ff7a6b);color:#fff!important;text-align:center;padding:9px 0;border-radius:9px;font-size:13px;font-weight:700;text-decoration:none!important;}
  .leaflet-popup-content-wrapper{border-radius:16px!important;box-shadow:0 12px 36px rgba(0,0,0,.18)!important;padding:0!important;overflow:hidden;}
  .leaflet-popup-content{margin:16px!important;}
  .leaflet-popup-tip-container{margin-top:-1px;}
  .hero-inner{position:relative;max-width:860px;margin:0 auto;z-index:1000;width:100%;padding:18px 24px 0;display:flex;flex-direction:column;align-items:stretch;gap:10px;}
  .hero-banner{background:#fff;border-radius:18px;padding:14px 28px 8px;margin:0;box-shadow:0 4px 24px rgba(0,0,0,.10);}

  /* ── ANIMOVANÉ PINY NA HERO MAPE ── */
  @keyframes pin-drop{0%{transform:translateY(-18px) scale(.7);opacity:0}60%{transform:translateY(3px) scale(1.1)}100%{transform:translateY(0) scale(1);opacity:1}}
  @keyframes pulse{0%{transform:translate(-50%,-50%) scale(.6);opacity:.9}100%{transform:translate(-50%,-50%) scale(2.8);opacity:0}}
  .hpin{position:relative;display:inline-block;animation:pin-drop .5s cubic-bezier(.34,1.56,.64,1) both;}
  .mobile-deco-pins{display:none;}
  .hpin svg{display:block;filter:drop-shadow(0 4px 10px rgba(239,62,87,.7));}
  .hpin::after{content:'';position:absolute;width:18px;height:18px;border-radius:50%;
    background:rgba(239,62,87,.55);top:50%;left:50%;
    transform:translate(-50%,-50%);animation:pulse 2s ease-out infinite;}
  .trust-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(239,62,87,.08);border:1px solid rgba(239,62,87,.25);color:var(--red);padding:9px 18px;border-radius:999px;font-size:13px;font-weight:600;margin-bottom:26px;}
  .trust-pill .stars{color:var(--gold);letter-spacing:1px;}
  h1{font-size:26px;font-weight:600;margin-bottom:14px;letter-spacing:-.5px;color:#11131a;line-height:1.3;white-space:nowrap;}
  .hw-wrap{display:inline-block;position:relative;height:1.3em;vertical-align:top;overflow:hidden;margin:0 4px;transition:width .35s cubic-bezier(.4,0,.2,1);}
  .hw{position:absolute;left:0;top:0;width:100%;height:100%;line-height:1.3em;color:#ef3e57;font-weight:800;opacity:0;transform:translateY(100%);transition:opacity .35s ease,transform .35s ease;white-space:nowrap;}
  .hw.active{opacity:1;transform:translateY(0);}
  .hw.out{opacity:0;transform:translateY(-100%);}
  .hero p.lead{font-size:18px;color:#6b7280;margin-bottom:40px;line-height:1.65;}

  /* ── SEARCH BAR — výrazná karta ── */
  .search-wrap{
    background:#fff;
    border-radius:24px;
    padding:10px 10px 0;
    box-shadow:0 8px 16px rgba(239,62,87,.10), 0 28px 70px rgba(0,0,0,.18);
    border:1.5px solid rgba(239,62,87,.14);
    margin-bottom:28px;
    overflow:hidden;
  }
  .search-rating-bar{
    display:flex;align-items:center;justify-content:center;gap:6px;
    padding:6px 16px;font-size:12px;font-weight:500;color:#6b7280;
    border-top:1px solid rgba(0,0,0,.06);margin-top:8px;
  }
  .search-rating-bar .sr-stars{color:var(--gold);letter-spacing:.5px;font-size:12px;}
  .search-rating-bar .sr-dot{color:#d1d5db;}
  .search-bar{
    background:transparent;border:none;border-radius:16px;
    padding:0;display:flex;gap:0;box-shadow:none;backdrop-filter:none;
  }
  .field{
    flex:1;display:flex;flex-direction:column;gap:3px;
    padding:14px 20px;border-radius:16px;color:var(--ink);
    transition:background .15s;cursor:text;position:relative;
  }
  .ac-list{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 28px rgba(0,0,0,.13);z-index:600;overflow:hidden;display:none;}
  .ac-list.open{display:block;}
  .ac-item{padding:11px 16px;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;display:flex;align-items:center;gap:9px;transition:background .12s;}
  .ac-item:hover,.ac-item.ac-active{background:var(--bg-soft);color:var(--red);}
  .ac-hl{font-weight:800;color:var(--red);}
  .field:hover{background:#f7f7fb;}
  .field-label{font-size:11.5px;font-weight:800;color:var(--ink);text-transform:uppercase;letter-spacing:.5px;}
  .field input,.field select{
    border:none;outline:none;font-size:15px;font-weight:500;
    width:100%;color:var(--ink);background:transparent;font-family:inherit;
    padding:0;margin:0;
  }
  .field input::placeholder{color:#6b7280;font-weight:400;}
  .field select{color:#6b7280;font-weight:400;appearance:none;cursor:pointer;}
  .search-bar .divider{width:1px;background:var(--border);margin:10px 0;flex-shrink:0;}
  .search-bar .btn{
    white-space:nowrap;align-self:center;margin:4px;
    padding:18px 32px;border-radius:16px;font-size:15.5px;font-weight:800;
    box-shadow:0 8px 22px rgba(239,62,87,.4);
  }

  .or-row{margin-top:30px;font-size:13.5px;color:#7a7f8e;display:flex;align-items:center;justify-content:center;gap:14px;}
  .or-row .line{height:1px;width:54px;background:rgba(0,0,0,.15);}
  .cta-big{margin-top:20px;}
  .cta-big a{background:var(--ink);color:#fff;padding:16px 34px;font-size:15.5px;border-radius:13px;box-shadow:0 10px 30px rgba(0,0,0,.18);}
  .cta-big a:hover{box-shadow:0 14px 36px rgba(0,0,0,.3);}

  /* SECTIONS */
  section{padding:40px 24px;max-width:1200px;margin:0 auto;position:relative;}
  .alt{background:var(--bg-soft);}
  .section-head{text-align:center;max-width:600px;margin:0 auto 22px;}
  .eyebrow{display:inline-flex;align-items:center;gap:7px;background:#fdeaee;color:var(--red);padding:7px 16px;border-radius:999px;font-size:12.5px;font-weight:700;margin-bottom:16px;}
  h2{font-size:31px;font-weight:800;letter-spacing:-.5px;}
  .section-head p{color:#4b5563;font-size:15.5px;margin-top:14px;line-height:1.7;}

  .cat-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;}
  .cat-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px 6px;text-align:center;transition:.2s;}
  .cat-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(17,19,26,.08);border-color:transparent;}
  .cat-card .ic-badge{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;margin:0 auto 10px;}
  .cat-card h3{font-size:12px;font-weight:700;margin-bottom:3px;line-height:1.3;}
  .cat-card .count{font-size:11px;color:var(--gray);}
  .tint-red{background:#fdeaee;color:#ef3e57;}
  .tint-blue{background:#eaf1fd;color:#3e7bef;}
  .tint-purple{background:#f3eefd;color:#8b5cf6;}
  .tint-green{background:#eafdf3;color:#10b981;}
  .tint-orange{background:#fdf3ea;color:#f59e0b;}
  .tint-teal{background:#eafdfb;color:#14b8a6;}

  /* MAP + LISTINGS SPLIT */
  .split{display:grid;grid-template-columns:1.05fr 1fr;gap:28px;align-items:start;}
  .mini-listing{display:flex;gap:14px;border:1px solid var(--border);border-radius:16px;padding:14px;margin-bottom:14px;background:#fff;transition:.2s;}
  .mini-listing:hover{box-shadow:0 12px 28px rgba(17,19,26,.07);border-color:transparent;}
  .mini-listing .thumb{width:74px;height:74px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:22px;position:relative;}
  .badge-verified{position:absolute;top:-7px;right:-10px;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;font-size:9px;font-weight:800;padding:4px 7px;border-radius:7px;display:flex;align-items:center;gap:3px;box-shadow:0 4px 10px rgba(239,62,87,.35);}
  .mini-listing .body h3{font-size:15px;font-weight:700;margin-bottom:3px;}
  .mini-listing .loc{font-size:12.5px;color:var(--gray);margin-bottom:5px;display:flex;align-items:center;gap:4px;}
  .mini-listing .stars{color:var(--gold);font-size:13px;}

  .map-wrap{position:relative;border-radius:20px;overflow:hidden;height:420px;box-shadow:0 16px 40px rgba(17,19,26,.1);border:1px solid var(--border);isolation:isolate;}
  .map-wrap > div:first-child{width:100%;height:100%;}
  .map-chip{position:absolute;bottom:16px;left:16px;background:#fff;padding:9px 15px;border-radius:11px;font-size:12.5px;font-weight:700;box-shadow:0 8px 20px rgba(0,0,0,.15);display:flex;align-items:center;gap:7px;z-index:400;}
  .map-chip .ic{color:var(--red);}
  .custom-pin{filter:drop-shadow(0 4px 6px rgba(0,0,0,.3));}

  /* Porovnanie máp */
  .map-compare-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:28px;margin-bottom:24px;box-shadow:0 4px 16px rgba(17,19,26,.05);}
  .map-compare-card:first-of-type,.map-compare-card:has(.mc-badge-pick){border-color:rgba(239,62,87,.3);box-shadow:0 6px 24px rgba(239,62,87,.1);}
  .mc-label{margin-bottom:18px;}
  .mc-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
  .mc-num{width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .mc-title strong{font-size:17px;font-weight:800;color:var(--ink);}
  .mc-badge-pick{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;}
  .mc-tag{padding:4px 11px;border-radius:999px;font-size:12px;font-weight:600;}
  .mc-tag-green{background:#eafdf3;color:#059669;}
  .mc-tag-blue{background:#eaf1fd;color:#3e7bef;}
  .mc-tag-gray{background:#f1f2f5;color:#6b7280;}
  .mc-tag-dark{background:#1e1e2e;color:#a0a8c0;}
  .mc-desc{font-size:14px;color:var(--gray);line-height:1.6;}
  .mc-desc strong{color:var(--ink);}

  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;}
  .steps::before{content:"";position:absolute;top:25px;left:17%;right:17%;height:2px;background:repeating-linear-gradient(90deg,var(--border) 0 8px,transparent 8px 16px);z-index:0;}
  .step{position:relative;z-index:1;text-align:center;background:#fff;border:1px solid var(--border);border-radius:18px;padding:34px 20px;}
  .step .num{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:18px;box-shadow:0 10px 22px rgba(239,62,87,.3);}
  .step h3{font-size:16.5px;font-weight:700;margin-bottom:8px;}
  .step p{font-size:14px;color:#4b5563;line-height:1.65;}

  .review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .review-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:28px;transition:.2s;}
  .review-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(17,19,26,.08);}
  .review-card .stars{color:var(--gold);font-size:15px;margin-bottom:14px;}
  .review-card p.quote{font-size:14.5px;color:#374151;line-height:1.7;margin-bottom:18px;}
  .review-who{display:flex;align-items:center;gap:11px;}
  .review-who .avatar{position:static;float:none;padding:0;left:auto;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--purple));color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;}
  .review-who .name{font-size:13.5px;font-weight:700;}
  .review-who .loc{font-size:12px;color:var(--gray);}

  .cta-band{position:relative;background:linear-gradient(120deg,var(--red),var(--red2),var(--purple));border-radius:26px;padding:54px 44px;display:flex;align-items:center;justify-content:space-between;color:#fff;gap:24px;flex-wrap:wrap;overflow:hidden;}
  .cta-band .blob{opacity:.4;}
  .cta-band h2{font-size:27px;margin-bottom:9px;position:relative;z-index:1;}
  .cta-band p{font-size:14.5px;color:#ffe9eb;max-width:420px;position:relative;z-index:1;}
  .cta-band .btn{background:#fff;color:var(--red);padding:15px 30px;font-size:15px;border-radius:12px;position:relative;z-index:1;}

  .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .blog-card{border-radius:18px;overflow:hidden;border:1px solid var(--border);transition:.2s;}
  .blog-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(17,19,26,.08);}
  .blog-card .thumb{height:140px;background:linear-gradient(135deg,#241f2b,var(--ink));position:relative;}
  .blog-card .tag{position:absolute;top:12px;left:12px;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;font-size:11px;font-weight:800;padding:5px 11px;border-radius:8px;}
  .blog-card .body{padding:18px;}
  .blog-card h3{font-size:15.5px;font-weight:700;line-height:1.5;margin-bottom:8px;}
  .blog-card .meta{font-size:12px;color:var(--gray);}

  /* ── KATALÓG GRID — 20 inzerátov ── */
  .catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  .cl-card.hidden{display:none;}
  .load-more-wrap{text-align:center;margin-top:32px;}
  .btn-load-more{background:#fff;border:2px solid var(--red);color:var(--red);padding:14px 36px;border-radius:13px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:.18s;display:inline-flex;align-items:center;gap:8px;}
  .btn-load-more:hover{background:var(--red);color:#fff;}
  .btn-load-more.loading{opacity:.6;pointer-events:none;}
  .catalog-count{text-align:center;font-size:13.5px;color:var(--gray);margin-bottom:20px;}
  .cl-card{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;transition:.22s;cursor:pointer;position:relative;}
  .cl-card:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(17,19,26,.10);border-color:transparent;}
  .cl-card .cl-thumb{height:110px;display:flex;align-items:center;justify-content:center;font-size:36px;position:relative;}
  .cl-card .cl-body{padding:14px 16px 16px;}
  .cl-card .cl-name{font-size:14.5px;font-weight:800;color:var(--ink);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .cl-card .cl-sub{font-size:12px;color:var(--gray);margin-bottom:7px;display:flex;align-items:center;gap:5px;}
  .cl-card .cl-stars{color:var(--gold);font-size:12.5px;margin-bottom:8px;}
  .cl-card .cl-desc{font-size:12.5px;color:#4b5563;line-height:1.55;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .cl-card .cl-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;}
  .cl-card .cl-price{font-size:13px;font-weight:700;color:var(--ink);}
  .cl-card .cl-btn{font-size:12px;font-weight:700;color:var(--red);background:#fdeaee;padding:6px 13px;border-radius:9px;white-space:nowrap;}
  .cl-card .cl-btn:hover{background:var(--red);color:#fff;}
  .cl-badge{position:absolute;top:10px;right:10px;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;font-size:10px;font-weight:800;padding:3px 9px;border-radius:7px;box-shadow:0 4px 10px rgba(239,62,87,.3);}
  .cl-badge.new{background:linear-gradient(135deg,#10b981,#06b6d4);}
  .catalog-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;justify-content:center;}
  .cf-btn{padding:8px 18px;border-radius:999px;border:1.5px solid var(--border);background:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:.15s;font-family:inherit;color:var(--ink);}
  .cf-btn:hover,.cf-btn.active{background:var(--red);border-color:var(--red);color:#fff;}

  /* ── TRENDING SCROLL (Udemy inšpirácia) ── */
  .trending-scroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .trending-scroll::-webkit-scrollbar{height:14px;}
  .trending-scroll::-webkit-scrollbar-track{background:#f1f2f5;border-radius:7px;}
  .trending-scroll::-webkit-scrollbar-thumb{background:var(--red);border-radius:7px;cursor:grab;}
  .trending-scroll::-webkit-scrollbar-thumb:active{cursor:grabbing;}
  .trending-scroll::-webkit-scrollbar-thumb:hover{background:#d9153e;}
  .trend-card{min-width:190px;max-width:190px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px;scroll-snap-align:start;flex-shrink:0;cursor:pointer;transition:.2s;position:relative;}
  .trend-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(17,19,26,.09);border-color:transparent;}
  /* trend-hover na hover VYPNUTY 2026-08-03: panel presahoval mimo .trending-scroll (overflow-x:auto orezava aj Y), zobrazoval sa len orezany cerveny pruzok za kartou (viditelny bug) */
  .trend-icon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:12px;}
  .trend-name{font-size:14.5px;font-weight:700;color:var(--ink);margin-bottom:3px;}
  .trend-cat{font-size:12px;color:var(--gray);margin-bottom:7px;}
  .trend-stars{color:var(--gold);font-size:12.5px;margin-bottom:8px;}
  .trend-badge{display:inline-block;background:#fdeaee;color:var(--red);font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;}
  .trend-badge.top{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;}
  .trend-badge.recommended{background:linear-gradient(135deg,#7c5cff,#a78bfa);color:#fff;}
  /* Hover preview panel */
  .trend-hover{
    position:absolute;left:calc(100% + 10px);top:0;width:240px;
    background:#fff;border:1px solid var(--border);border-radius:18px;
    padding:18px;box-shadow:0 20px 50px rgba(17,19,26,.14);
    opacity:0;pointer-events:none;transition:opacity .18s;z-index:100;
  }
  .trend-hover h3{font-size:14px;font-weight:800;margin-bottom:6px;color:var(--ink);}
  .trend-hover p{font-size:12.5px;color:#4b5563;line-height:1.6;margin-bottom:12px;}
  .trend-hover .contact-btn{display:block;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;text-align:center;padding:9px;border-radius:10px;font-size:13px;font-weight:700;}
  .trend-hover .phone{font-size:12.5px;color:var(--gray);text-align:center;margin-top:7px;}
  .trending-scroll-wrap{position:relative;}

  /* ── MINI-LISTING HOVER PREVIEW ── */
  .mini-listing{position:relative;}
  .mini-hover{
    position:absolute;left:calc(100% + 12px);top:0;width:230px;
    background:#fff;border:1px solid var(--border);border-radius:16px;
    padding:16px;box-shadow:0 16px 44px rgba(17,19,26,.13);
    opacity:0;pointer-events:none;transition:opacity .18s;z-index:200;
  }
  .mini-listing:hover .mini-hover{opacity:1;}
  .mini-hover h4{font-size:13.5px;font-weight:800;margin-bottom:5px;}
  .mini-hover p{font-size:12px;color:#4b5563;line-height:1.6;margin-bottom:10px;}
  .mini-hover .contact-btn{display:block;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;text-align:center;padding:8px;border-radius:9px;font-size:12.5px;font-weight:700;}
  .mini-hover .tel{font-size:12px;color:var(--gray);text-align:center;margin-top:6px;}

  /* ── FAQ ── */
  .faq-list{max-width:720px;margin:0 auto;}
  .faq-item{border:1px solid var(--border);border-radius:14px;margin-bottom:8px;overflow:hidden;background:#fff;}
  .faq-q{width:100%;text-align:left;background:none;border:none;font-family:inherit;font-size:14.5px;font-weight:700;color:var(--ink);padding:15px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;}
  .faq-q:hover{background:#fafafa;}
  .faq-arrow{font-size:16px;color:var(--red);transition:transform .2s;flex-shrink:0;}
  .faq-item.open .faq-arrow{transform:rotate(45deg);}
  .faq-a{font-size:13.5px;color:#4b5563;line-height:1.55;padding:0 20px 0;max-height:0;overflow:hidden;transition:max-height .22s cubic-bezier(.4,0,.2,1),padding .22s cubic-bezier(.4,0,.2,1);}
  .faq-item.open .faq-a{max-height:240px;padding:0 20px 14px;}

  /* ── ŠTATISTIKY BAR ── */
  .stats-bar{display:flex;justify-content:center;gap:0;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 4px 20px rgba(17,19,26,.05);}
  .stat-item{flex:1;min-width:160px;text-align:center;padding:28px 20px;border-right:1px solid var(--border);}
  .stat-item:last-child{border-right:none;}
  .stat-num{font-size:32px;font-weight:800;color:var(--ink);letter-spacing:-1px;}
  .stat-num span{color:var(--red);}
  .stat-label{font-size:13px;color:var(--gray);margin-top:4px;}

  footer{background:var(--ink);color:#c7c8d1;padding:56px 24px 26px;}
  .footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:32px;}
  footer h4{color:#fff;font-size:15px;margin-bottom:14px;}
  footer ul{list-style:none;font-size:14px;}
  footer li{margin-bottom:9px;}
  .footer-bottom{text-align:center;font-size:13px;color:#84869a;border-top:1px solid #2c2f3a;padding-top:20px;}

  /* Desktop sticky bottom bar — identický vizuál s mobile */
  .desktop-cta-bar{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border);box-shadow:0 -4px 20px rgba(0,0,0,.12);z-index:9000;padding:10px 32px calc(10px + env(safe-area-inset-bottom,0px));align-items:center;justify-content:center;gap:12px;}
  .desktop-cta-bar .dcta-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;font-size:14px;font-weight:600;font-family:inherit;border-radius:99px;border:1.5px solid var(--border);background:#fff;color:var(--ink);cursor:pointer;text-decoration:none;transition:.15s;white-space:nowrap;}
  .desktop-cta-bar .dcta-tab:hover{border-color:var(--red);color:var(--red);}
  .desktop-cta-bar .dcta-tab.primary{background:#f91942;color:#fff;border-color:transparent;}
  .desktop-cta-bar .dcta-tab.primary:hover{background:#e0162d;}
  .desktop-cta-bar .dcta-tab.primary svg{stroke:#fff;}
  .desktop-cta-bar .dcta-tab.plain{border:none;background:transparent;}
  .desktop-cta-bar .dcta-user-wrap{display:flex;flex-direction:column;gap:1px;}
  .desktop-cta-bar .dcta-user-label{font-size:10px;font-weight:500;color:#888;line-height:1;}
  .desktop-cta-bar .dcta-user-name{font-size:13px;font-weight:700;color:var(--ink);line-height:1;max-width:90px;overflow:hidden;text-overflow:ellipsis;}
  .desktop-cta-bar .dcta-divider{display:none;}

  .mobile-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:0;z-index:9999;box-shadow:0 -4px 20px rgba(0,0,0,.15);border-top:1px solid var(--border);}
  .mobile-cta-bar .mcta-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:14px 8px;font-size:14px;font-weight:700;font-family:inherit;border:none;background:none;cursor:pointer;color:var(--ink);border-radius:12px;transition:.15s;}
  .mobile-cta-bar .mcta-btn:active{background:var(--bg-soft);}
  .mobile-cta-bar .mcta-divider{width:1px;background:var(--border);margin:8px 0;flex-shrink:0;}
  .mobile-cta-bar .mcta-btn.primary{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;box-shadow:0 4px 14px rgba(239,62,87,.35);}
  .mobile-cta-bar .mcta-btn.primary:active{opacity:.9;}

  /* Mapa overlay */
  .map-overlay{display:none;position:fixed;inset:0;z-index:9999;background:#fff;flex-direction:column;}
  .map-overlay.open{display:flex;}
  .map-overlay-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border);background:#fff;flex-shrink:0;}
  .map-overlay-header span{font-size:16px;font-weight:800;color:var(--ink);}
  .map-overlay-close{width:36px;height:36px;border-radius:50%;background:var(--bg-soft);border:none;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);}
  #mobile-map-full{flex:1;width:100%;}

  @media(max-width:880px){
    /* Nav — 3-col grid: [Logo] [center 1fr] [Button] */
    nav.main-nav{display:none;}
    .btn-ghost{display:none;}
    header{position:static;overflow:visible;}
    .nav-wrap{
      display:grid;
      grid-template-columns:auto 1fr auto;
      grid-template-rows:1fr;
      align-items:center;
      padding:10px 12px;
      gap:0 8px;
    }
    /* nav-actions stane transparentný — jeho deti idú priamo do gridu nav-wrap */
    .nav-actions{display:contents;}

    /* User-nav-wrap → stred (col 2), vycentrovaný */
    .user-nav-wrap{
      grid-column:2;grid-row:1;
      justify-self:center;
      position:relative;
      padding-bottom:0;margin-bottom:0;
    }
    .user-nav-wrap::after{display:none;}

    /* Login tlačidlo (nie je prihlásený) → tiež stred */
    .btn-login{
      grid-column:2;grid-row:1;
      justify-self:center;
      display:inline-flex;font-size:12px;padding:7px 12px;
    }

    /* + Pridať inzerát → pravý stĺpec */
    .nav-actions .btn-primary{
      grid-column:3;grid-row:1;
      font-size:12px;padding:8px 12px;
      white-space:nowrap;border-radius:10px;
      box-shadow:0 4px 14px rgba(239,62,87,.3);
    }
    .btn-primary:hover{transform:none;}
    .btn-primary:active{transform:translateY(1px);box-shadow:0 2px 8px rgba(239,62,87,.25);}

    /* user-nav interné: 2 riadky — "Prihlásený:" hore, [avatar][Meno] dole
       !important potrebné — inline <style> z wp_head (prio 10) sa načítava po listigo-hero.css
       a prepisuje display:flex. !important zaručí správny display:grid. */
    .user-nav{
      display:grid!important;
      grid-template-columns:22px auto;
      column-gap:4px;row-gap:1px;
      align-items:center!important;
      justify-self:center!important;
      width:fit-content!important;
      padding:4px 9px 4px 4px!important;
      border-radius:999px!important;
      gap:0!important;
      box-sizing:border-box;
      border:1px solid #e5e7eb!important;
      background:#f4f5f6!important;
    }
    .user-nav-text{display:contents!important;}
    .user-label{grid-column:1/-1;grid-row:1;font-size:10px;color:#888;font-weight:500;text-align:center;white-space:nowrap;}
    .user-avatar{grid-column:1;grid-row:2;width:22px;height:22px;border-radius:50%;object-fit:cover;flex-shrink:unset;}
    .user-name{grid-column:2;grid-row:2;display:block!important;font-size:12px;font-weight:700;color:var(--ink);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

    /* Hero */
    .hero{height:auto;min-height:100svh;padding:0;background:#fff;}
    #hero-map{display:none;}
    .hero-overlay{display:none;}
    .mobile-deco-pins{display:block;}
    .mobile-deco-pin{position:absolute;pointer-events:none;z-index:1;}
    .mobile-deco-pin .hpin{display:inline-block;}
    .pin-a{top:24px;right:28px;}
    .pin-a .hpin::after{background:rgba(217,4,41,.6);}
    .pin-b{top:112px;left:0px;z-index:1;}
    .pin-c{top:408px;left:14px;}
    h1{position:relative;z-index:2;}
    .hero p.lead{position:relative;z-index:2;}
    .search-wrap{position:relative;z-index:2;}
    .trust-pill{position:relative;z-index:2;}
    .cat-pills{position:relative;z-index:2;}
    .hero-inner{z-index:2;}
    h1{font-size:16px;letter-spacing:-.2px;line-height:1.3;margin-bottom:12px;white-space:nowrap;}
    .hw-wrap{height:1.3em;}
    .hero p.lead{font-size:15px;margin-bottom:24px;}
    .hero-inner{padding:0 16px;display:flex;flex-direction:column;}
    .trust-pill{font-size:12px;padding:7px 14px;order:4;margin-bottom:0;margin-top:10px;align-self:center;}
    h1{order:1;}
    .hero p.lead{order:2;}
    .search-wrap{order:3;}
    .cat-pills{order:5;}

    /* Search wrap */
    .search-wrap{border-radius:18px;padding:8px;margin-bottom:14px;}
    .search-bar{flex-direction:column;gap:2px;}
    .field{padding:12px 16px;background:var(--bg-soft);border-radius:12px;text-align:left;}
    .field-label{font-size:10.5px;text-align:left;display:block;}
    .field input,.field select{font-size:15px;text-align:left;}
    .search-bar .divider{display:none;}
    .search-bar .btn{width:100%;justify-content:center;border-radius:12px;margin:4px 0 0 0;padding:16px;}

    /* Type nav — mobile */
    .type-nav{order:5;margin-top:12px;gap:6px;}
    .type-panel{order:6;}
    .tn-btn{font-size:12px;padding:9px 14px;gap:6px;}
    .tp-grid{grid-template-columns:repeat(3,1fr);}
    .tp-item{padding:8px 4px;}
    .tp-item .tp-ic{font-size:20px;}
    .tp-item .tp-name{font-size:10.5px;}

    /* Sekcie */
    .cat-grid{grid-template-columns:repeat(4,1fr);gap:8px;}
    .cat-card{padding:14px 4px;}
    .cat-card .ic-badge{width:36px;height:36px;font-size:16px;}
    .cat-card h3{font-size:11px;}
    .cat-card .count{font-size:10px;}
    .split{grid-template-columns:1fr;}
    .map-wrap{height:280px;}
    .steps::before{display:none;}
    .steps,.review-grid,.blog-grid{grid-template-columns:1fr;}
    .catalog-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
    .stats-bar{grid-template-columns:repeat(2,1fr);display:grid;}
    .stat-item{border-right:none;border-bottom:1px solid var(--border);}
    .trend-hover,.mini-hover{display:none;}
    .stat-item:nth-child(odd){border-right:1px solid var(--border);}
    .footer-grid{grid-template-columns:1fr;gap:24px;}
    .cta-band{flex-direction:column;text-align:center;padding:38px 26px;}
    body{padding-bottom:78px;}
    .mobile-cta-bar{display:flex;}
    .desktop-cta-bar{display:none!important;}
    .cta-big{display:none;}
    section{padding:28px 18px;}
  }