/* landing-polish.css  (SNISHOP app landing, 2026-10-25). Loaded ONLY on app.snishop.com.
   Scope: #services-section.snl-on + a few landing-wide fixes. Palette/fonts = existing site:
   navy #0e2d6c, ink #0b1220, lime #c7f36b, Inter (body) / Outfit (display). */
:root{--snl-ink:#0b1220;--snl-navy:#0e2d6c;--snl-blue:#2867d7;--snl-lime:#c7f36b;--snl-lime-d:#a7d948;--snl-muted:#4f5b6e;--snl-line:rgba(11,18,32,.12);--snl-tint:#eef2fa;--snl-nav-h:64px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- landing-wide fixes ---------- */
/* mobile bottom bar: "Katalog" was white-on-white (invisible) */
.site-redesign .mobile-conversion-bar{background:#fff!important;border-top:1px solid var(--snl-line)!important}
.site-redesign .mobile-conversion-link--secondary{color:var(--snl-navy)!important;background:var(--snl-tint)!important;border:1px solid rgba(14,45,108,.18)!important}
.site-redesign .mobile-conversion-link--primary{border:1px solid var(--snl-lime-d)}
.site-redesign .mobile-conversion-link{font-size:.8rem!important;min-height:2.9rem}
/* theme colour was indigo; keep skip link and focus visible in brand colours */
body.landing-surface :where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--snl-navy);outline-offset:3px;box-shadow:0 0 0 6px rgba(199,243,107,.9)}
.nav-navy :where(a,button):focus-visible,.hero-refresh :where(a,button):focus-visible,#admin-section :where(a,button):focus-visible,footer :where(a,button):focus-visible{outline-color:var(--snl-lime);box-shadow:none}
/* hero proof row: third card was clipped on phones */
@media (max-width:520px){
  .site-redesign .hero-refresh .hero-proof-row{display:grid!important;grid-template-columns:1fr!important;gap:.5rem!important;margin-top:1.75rem!important;max-width:100%}
  .site-redesign .hero-refresh .hero-proof-row>div{min-height:0}
  .site-redesign .hero-refresh .hero-proof{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;width:100%;min-width:0;padding:.7rem .95rem;text-align:left}
  .site-redesign .hero-refresh .hero-proof strong{font-size:.95rem;flex:none}
  .site-redesign .hero-refresh .hero-proof span{color:rgba(255,255,255,.72);font-size:.7rem;text-align:right}
}

/* ---------- services section ---------- */
#services-section.snl-on{overflow:clip!important}
#services-section.snl-on .sticky{top:var(--snl-nav-h)!important}
@media (max-width:640px){
  .site-redesign #services-section.snl-on{padding-top:3.25rem!important;padding-bottom:3.5rem!important}
  #services-section.snl-on>.max-w-7xl>div:first-child{margin-bottom:1.5rem!important}
  #services-section.snl-on h2{font-size:clamp(1.9rem,8.4vw,2.3rem)!important;line-height:1.04!important}
  #services-section.snl-on>.max-w-7xl{padding-inline:1rem}
  #services-section.snl-on .sticky{margin-inline:-1rem!important;padding-inline:1rem!important}
}
#services-section.snl-on #catalog-sections{row-gap:0}
#services-section.snl-on #catalog-sections>*+*{margin-top:2.75rem!important}
#services-section.snl-on .category-section{scroll-margin-top:calc(var(--snl-nav-h) + 4.5rem)}

/* chip bar */
#services-section.snl-on .sticky{border-bottom:1px solid var(--snl-line);box-shadow:0 8px 18px -14px rgba(11,18,32,.35);scroll-snap-type:x proximity;scroll-padding-inline:1.5rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
#services-section.snl-on .sticky::-webkit-scrollbar{display:none}
#services-section.snl-on .category-pill{min-height:44px;flex:none;scroll-snap-align:start;font-size:.75rem!important;letter-spacing:.03em;border-radius:999px!important;padding:.55rem 1.05rem!important;color:var(--snl-ink)!important;background:#fff!important;border:1px solid rgba(11,18,32,.16)!important;box-shadow:none!important;transform:none!important}
#services-section.snl-on .category-pill:hover{border-color:var(--snl-navy)!important;background:var(--snl-tint)!important}
#services-section.snl-on .category-pill.active:not(.bg-indigo-600){background:#fff!important;color:var(--snl-ink)!important;box-shadow:none!important}
#services-section.snl-on .category-pill.bg-indigo-600,#services-section.snl-on .category-pill[aria-current="true"]{background:var(--snl-navy)!important;color:#fff!important;border-color:var(--snl-navy)!important}
@media (max-width:1023px){#services-section.snl-on .sticky{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 22px),transparent);padding-right:2.25rem!important}}

/* category headings (old categories keep their markup) */
#services-section.snl-on .category-section>div:first-child{margin-bottom:1.1rem!important}
#services-section.snl-on .category-section h3{font-family:Outfit,Inter,sans-serif;text-transform:none!important;letter-spacing:-.01em!important;font-size:1.3rem!important;font-weight:800!important;color:var(--snl-ink)!important}
#services-section.snl-on .category-section h3+span{background:var(--snl-tint)!important;border:0!important;box-shadow:none!important;color:var(--snl-navy)!important;font-size:.75rem!important}

/* ---------- unified card ---------- */
.snl-grid{list-style:none;margin:0;padding:0;display:grid;gap:.9rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.snl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}}
@media (min-width:1024px){.snl-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1280px){.snl-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.snl-grid--ebook{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
@media (min-width:640px){.snl-grid--ebook{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}}
@media (min-width:1024px){.snl-grid--ebook{grid-template-columns:repeat(4,minmax(0,1fr))}}
.snl-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--snl-line);border-radius:14px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.snl-card:hover{border-color:rgba(14,45,108,.4);box-shadow:0 14px 30px -18px rgba(11,18,32,.35)}
.snl-media{position:relative;display:block;aspect-ratio:4/3;background:var(--snl-tint);overflow:hidden}
.snl-grid--ebook .snl-media{aspect-ratio:1/1}
.snl-grid:not(.snl-grid--ebook) .snl-media{aspect-ratio:4/3}
.snl-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%}
.snl-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;width:100%;height:100%;background:linear-gradient(160deg,var(--snl-navy),#14408f);color:#fff;text-align:center;padding:1rem}
.snl-ph i{font-size:1.9rem;color:var(--snl-lime)}
.snl-ph span{font:700 .7rem/1.2 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.snl-badge{position:absolute;top:.6rem;right:.6rem;background:var(--snl-lime);color:var(--snl-ink);font:800 .78rem/1 Inter,sans-serif;padding:.38rem .55rem;border-radius:8px;box-shadow:0 2px 0 rgba(11,18,32,.18)}
.snl-body{display:flex;flex-direction:column;flex:1;padding:.85rem .9rem 1rem;gap:.5rem;min-width:0}
.snl-tags{display:flex;flex-wrap:wrap;gap:.35rem;min-width:0}
.snl-tag{display:inline-flex;align-items:center;max-width:100%;padding:.2rem .5rem;border-radius:6px;background:var(--snl-tint);color:var(--snl-navy);font:700 .72rem/1.25 Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;overflow-wrap:anywhere}
.snl-tag--ok{background:#e4f7ea;color:#0a6b34}
.snl-tag--ok::before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:#16a34a;margin-right:.35rem}
.snl-tag--off{background:#eceff3;color:#4f5b6e}
.snl-tag--lime{background:var(--snl-lime);color:var(--snl-ink)}
.snl-title{margin:0;font:700 .95rem/1.35 Inter,sans-serif;color:var(--snl-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em;overflow-wrap:anywhere}
.snl-grid--ebook .snl-title{-webkit-line-clamp:3;min-height:4.05em;font-size:.88rem}
@media (min-width:640px){.snl-grid--ebook .snl-title{font-size:.95rem}}
.snl-title a{color:inherit;text-decoration:none}
.snl-title a:hover{color:var(--snl-navy);text-decoration:underline;text-underline-offset:3px}
.snl-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .55rem;margin-top:auto;padding-top:.65rem;border-top:1px solid var(--snl-line)}
.snl-price b{font:800 1.2rem/1.1 Outfit,Inter,sans-serif;color:var(--snl-navy);font-variant-numeric:tabular-nums}
.snl-price s{font-size:.82rem;color:var(--snl-muted);text-decoration-thickness:1px}
.snl-promo{margin:-.15rem 0 0;font-size:.75rem;font-weight:700;color:#8a2a1c}
.snl-actions{display:grid;grid-template-columns:1.25fr 1fr;gap:.45rem;margin-top:.15rem}
.snl-actions--one{grid-template-columns:1fr}
.snl-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:0 .7rem;border-radius:10px;font:800 .8rem/1 Inter,sans-serif;letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}
.snl-btn:active{transform:translateY(1px)}
.snl-btn--primary{background:var(--snl-lime);color:var(--snl-ink);border:1px solid var(--snl-lime-d);box-shadow:0 2px 0 var(--snl-lime-d)}
.snl-btn--primary:hover{background:#d4f787}
.snl-btn--primary.is-off{background:#eceff3;border-color:#d5dbe3;box-shadow:none;color:#4f5b6e}
.snl-btn--ghost{background:#fff;color:var(--snl-navy);border:1.5px solid rgba(14,45,108,.5)}
.snl-btn--ghost:hover{background:var(--snl-tint);border-color:var(--snl-navy)}
.snl-lynk{align-self:flex-start;font-size:.75rem;font-weight:600;color:var(--snl-muted);text-decoration:underline;text-underline-offset:3px;padding:.5rem 0;min-height:44px;display:inline-flex;align-items:center}
.snl-lynk:hover{color:var(--snl-navy)}
@media (max-width:420px){.snl-btn{padding:0 .4rem;font-size:.78rem}.snl-body{padding:.7rem .7rem .85rem}.snl-actions{gap:.35rem}}

/* ---------- ebook section ---------- */
.snl-ebook .snl-head{margin-bottom:1rem}
.snl-bar{width:6px;height:28px;border-radius:4px;background:linear-gradient(180deg,var(--snl-navy),var(--snl-blue))}
.snl-h{margin:0;font:800 1.3rem/1.15 Outfit,Inter,sans-serif;letter-spacing:-.01em;color:var(--snl-ink)}
.snl-count{display:inline-flex;align-items:center;min-height:1.7rem;padding:0 .6rem;border-radius:999px;background:var(--snl-tint);color:var(--snl-navy);font:700 .75rem/1 Inter,sans-serif}
.snl-count--promo{background:var(--snl-lime);color:var(--snl-ink)}
.snl-sub{margin:.65rem 0 0;max-width:46rem;font-size:.92rem;line-height:1.6;color:var(--snl-muted)}
.snl-eyebrow{font:700 .72rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase}
.snl-trust{list-style:none;margin:1.1rem 0 .6rem;padding:0;display:grid;grid-template-columns:1fr;border:1px solid var(--snl-line);border-radius:14px;background:#fff;overflow:hidden}
.snl-trust li{display:flex;gap:.75rem;align-items:flex-start;padding:.8rem .95rem;border-top:1px solid var(--snl-line);font-size:.82rem;line-height:1.4;color:var(--snl-muted)}
.snl-trust li:first-child{border-top:0}
.snl-trust i{flex:none;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--snl-navy);color:var(--snl-lime);font-size:.85rem}
.snl-trust b{display:block;font-size:.88rem;color:var(--snl-ink)}
.snl-trust a{color:var(--snl-navy);font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media (min-width:768px){.snl-trust{grid-template-columns:repeat(3,1fr)}.snl-trust li{border-top:1px solid var(--snl-line);border-left:1px solid var(--snl-line)}.snl-trust li:nth-child(-n+3){border-top:0}.snl-trust li:nth-child(3n+1){border-left:0}}
@media (min-width:768px) and (max-width:1099px){.snl-trust li:last-child{grid-column:span 2}}
@media (min-width:1100px){.snl-trust{grid-template-columns:repeat(5,1fr)}.snl-trust li{border-top:0}.snl-trust li:nth-child(3n+1){border-left:1px solid var(--snl-line)}.snl-trust li:first-child{border-left:0}}
.snl-tip{display:flex;gap:.55rem;align-items:flex-start;margin:0 0 1.1rem;padding:.65rem .8rem;border-radius:10px;background:#f4fbdc;border:1px solid #d9eea0;color:#33440c;font-size:.82rem;line-height:1.45;font-weight:600}
.snl-tip i{margin-top:.15rem}
.snl-filter{display:flex;gap:.45rem;overflow-x:auto;padding:.1rem .1rem .7rem;margin:0 -.1rem 1rem;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.snl-filter::-webkit-scrollbar{display:none}
.snl-chip{flex:none;scroll-snap-align:start;display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:0 .95rem;border-radius:999px;border:1px solid rgba(11,18,32,.16);background:#fff;color:var(--snl-ink);font:700 .8rem/1 Inter,sans-serif;text-decoration:none;white-space:nowrap}
.snl-chip i{font-style:normal;font-size:.72rem;padding:.15rem .4rem;border-radius:999px;background:var(--snl-tint);color:var(--snl-navy)}
.snl-chip:hover{border-color:var(--snl-navy)}
.snl-chip.is-active{background:var(--snl-navy);border-color:var(--snl-navy);color:#fff}
.snl-chip.is-active i{background:var(--snl-lime);color:var(--snl-ink)}
.snl-grid[data-filter="all"]:not(.is-open) .snl-x{display:none}
.snl-card[hidden]{display:none!important}
.snl-more{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:1.1rem}
.snl-more .snl-btn{padding:0 1.25rem}
.snl-more .snl-btn[hidden]{display:none}
.snl-link{color:var(--snl-navy);font-weight:800;font-size:.85rem;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center;gap:.4rem}
.snl-faq{margin-top:1.75rem;border:1px solid var(--snl-line);border-radius:14px;background:#fff;overflow:hidden}
.snl-faq-h{margin:0;padding:.9rem 1rem;font:800 1rem/1.2 Outfit,Inter,sans-serif;color:var(--snl-ink);border-bottom:1px solid var(--snl-line)}
.snl-faq details{border-top:1px solid var(--snl-line)}
.snl-faq-h+details{border-top:0}
.snl-faq summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px;padding:.5rem 1rem;font-weight:700;font-size:.88rem;color:var(--snl-ink);cursor:pointer;list-style:none}
.snl-faq summary::-webkit-details-marker{display:none}
.snl-faq summary::after{content:"+";font:700 1.25rem/1 Inter,sans-serif;color:var(--snl-navy);flex:none}
.snl-faq details[open] summary::after{content:"\2212"}
.snl-faq details p{margin:0;padding:0 1rem 1rem;font-size:.86rem;line-height:1.6;color:var(--snl-muted)}
.snl-faq details a{color:var(--snl-navy);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.snl-cats{width:100%!important;max-width:none!important;margin:1rem 0 0;font-size:.8rem;color:var(--snl-muted);display:flex;flex-wrap:wrap;align-items:center;column-gap:.4rem}
.snl-cats a{display:inline-flex;align-items:center;min-height:44px;padding:0 .35rem;color:var(--snl-navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* banner above the chips */
.snl-banner{display:flex;align-items:center;gap:1rem;margin:0 0 1.25rem;padding:.9rem 1rem;border-radius:16px;background:var(--snl-navy);color:#fff;text-decoration:none;border:1px solid #0a2150}
.snl-banner:hover{background:#12378a}
.snl-banner-covers{display:none}
.snl-banner-text{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1;font-size:.82rem;line-height:1.4;color:rgba(255,255,255,.82)}
.snl-banner-text strong{font:800 1rem/1.25 Outfit,Inter,sans-serif;color:#fff}
.snl-banner-text .snl-eyebrow{color:var(--snl-lime)}
.snl-banner-cta{flex:none;display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:0 1rem;border-radius:10px;background:var(--snl-lime);color:var(--snl-ink);font:800 .8rem/1 Inter,sans-serif;white-space:nowrap}
@media (max-width:520px){.snl-banner{flex-wrap:wrap}.snl-banner-text{flex-basis:100%}.snl-banner-cta{width:100%;justify-content:center}}
@media (min-width:768px){.snl-banner{padding:1rem 1.25rem}.snl-banner-covers{display:flex;flex:none}.snl-banner-covers img{width:3.5rem;height:3.5rem;object-fit:cover;border-radius:8px;border:2px solid #fff;margin-left:-.9rem;background:#fff}.snl-banner-covers img:first-child{margin-left:0}}
@media (prefers-reduced-motion:reduce){.snl-card,.snl-btn,.snl-chip{transition:none}}
