:root{
  --zap-green:#0E7A3C; --zap-green-2:#17A34A; --zap-ink:#0B1F17; --zap-gold:#E8B04B;
}
/* 1. kill the scroll-in delay everywhere */
[data-aos]{transition-duration:.25s!important;transition-delay:0s!important;animation-delay:0s!important;}
[data-aos]:not(.aos-animate){opacity:1!important;transform:none!important;}
/* 2. category photo tiles */
.category-area .card.zap-cat-card{padding:0!important;overflow:hidden;border:1px solid rgba(11,31,23,.08);background:#fff;transition:transform .25s ease,box-shadow .25s ease;}
.category-area .card.zap-cat-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px -18px rgba(11,31,23,.45);}
.zap-cat-photo{position:relative;width:100%;aspect-ratio:1/1;background-size:cover;background-position:center;margin:0!important;display:block;}
.zap-cat-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,31,23,0) 40%,rgba(11,31,23,.70) 100%);}
.zap-cat-photo .zap-cat-ico{position:absolute;left:12px;top:12px;z-index:2;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.94);color:var(--zap-green);font-size:18px;box-shadow:0 4px 14px rgba(0,0,0,.25);}
.zap-cat-body{padding:14px 16px 18px;}
.category-area .zap-cat-card .card-title{margin-bottom:2px;}
.category-area .zap-cat-card .card-title a{color:var(--zap-ink);font-weight:700;}
.category-area .zap-cat-card:hover .card-title a{color:var(--zap-green)!important;}
.category-area .zap-cat-card .font-sm{color:var(--zap-green-2);font-weight:600;}
/* 3. banner text readability */
.banner-collection .banner-sm{position:relative;overflow:hidden;min-height:300px;display:flex;align-items:center;}
.banner-collection .banner-sm::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(11,31,23,.80) 0%,rgba(11,31,23,.46) 42%,rgba(11,31,23,.06) 78%,rgba(11,31,23,0) 100%);}
.banner-collection .banner-sm .banner-content{position:relative;z-index:2;max-width:62%;}
.banner-collection .banner-sm .banner-content h3,.banner-collection .banner-sm .banner-content p,.banner-collection .banner-sm .banner-content span{color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.55);}
.banner-collection .banner-sm .banner-content h3{font-weight:800;letter-spacing:-.01em;font-size:clamp(20px,2vw,30px);line-height:1.18;margin-bottom:0;}
@media (max-width:767px){.banner-collection .banner-sm{min-height:220px;}.banner-collection .banner-sm .banner-content{max-width:82%;}}
/* 4. brand booking steps */
.zap-step-ico{width:88px;height:88px;margin:0 auto 6px;border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:36px;color:#fff;background:linear-gradient(140deg,var(--zap-green-2),var(--zap-green));box-shadow:0 14px 30px -14px rgba(14,122,60,.75);}

/* --- ZAPLUGG brand mark --- */
.header-area .logo img{height:38px;width:auto;max-width:none}
.header-area:not(.header-static):not(.is-sticky) .logo img{content:url("../img/zap-logo-dark.png")}
@media (max-width:991px){.header-area .logo img{height:30px}}
.footer-area .logo img,footer .logo img,.footer-widget .logo img{height:34px;width:auto;max-width:none}
.header-area .navbar-brand img,.header-area .logo img{height:36px!important;width:auto!important;max-width:none!important}
@media (max-width:991px){.header-area .navbar-brand img,.header-area .logo img{height:28px!important}}
.header-area:not(.header-static):not(.is-sticky) .navbar-brand img,.header-area:not(.header-static):not(.is-sticky) .logo img{content:url("../img/zap-logo-dark.png")}
footer .navbar-brand img,.footer-area .navbar-brand img,footer .logo img{height:34px!important;width:auto!important;max-width:none!important}
.header-area:not(.header-static):not(.is-sticky) .navbar-brand img,.header-area:not(.header-static):not(.is-sticky) .logo img{content:url("../img/zap-word-lime.png")}
.header-area .navbar-brand,.header-area .logo a{transition:filter .25s ease,transform .25s ease}
.header-area .navbar-brand:hover,.header-area .logo a:hover{filter:brightness(1.14) saturate(1.1);transform:translateY(-1px)}

/* --- ZAPLUGG vendor portfolio --- */
.zap-work-section{margin:44px 0 10px}
.zap-work-head{display:flex;align-items:baseline;gap:12px;margin-bottom:20px;
  padding-bottom:12px;border-bottom:1px solid #E4E9E5}
.zap-work-head h3{margin:0;font-size:22px;font-weight:700;color:#12211A}
.zap-work-head span{font-size:13px;color:#7A8A80}
.zap-work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.zap-work-card{background:#fff;border:1px solid #E4E9E5;border-radius:14px;overflow:hidden;
  transition:box-shadow .2s ease,transform .2s ease}
.zap-work-card:hover{box-shadow:0 6px 22px rgba(20,48,28,.10);transform:translateY(-2px)}
.zap-work-media{position:relative;width:100%;aspect-ratio:16/9;background:#0E1F17}
.zap-work-media iframe,.zap-work-media img{position:absolute;inset:0;width:100%;height:100%;
  border:0;object-fit:cover;display:block}
.zap-work-blank{display:flex;align-items:center;justify-content:center;height:100%;
  color:#C4F96B;font-size:38px}
.zap-work-body{padding:16px 18px 18px}
.zap-work-body h4{margin:0 0 8px;font-size:16px;font-weight:700;color:#12211A;line-height:1.35}
.zap-work-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.zap-work-meta span{font-size:11px;font-weight:600;letter-spacing:.02em;color:#238B45;
  background:#EAF7EE;border-radius:20px;padding:4px 10px}
.zap-work-desc{margin:0;font-size:13.5px;line-height:1.6;color:#5E6B64}
.zap-work-link{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;
  color:#238B45;text-decoration:none}
.zap-work-link:hover{text-decoration:underline}
@media (max-width:575px){.zap-work-grid{grid-template-columns:1fr}}
