/* SAPOK FOTO — strap / sewn patch header. Loaded AFTER the existing style.css. */
.site .banner{
 position:relative!important;display:block!important;isolation:isolate!important;
 height:120px!important;min-height:120px!important;aspect-ratio:auto!important;
 padding:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;
 background:#191b1c!important;box-shadow:0 7px 15px #0006!important;
}
.site .banner::before,.site .banner::after{display:none!important;content:none!important}
.site .banner .lens-detail{
 display:block!important;position:absolute!important;inset:0 auto auto 0!important;
 width:800px!important;max-width:100%!important;height:120px!important;opacity:1!important;
 transform:none!important;pointer-events:none!important;z-index:0!important;
 background:url('assets/baner-pasek-pc-v110.png') left center / 760px auto no-repeat!important;
 mask-image:linear-gradient(90deg,#000 0%,#000 82%,transparent 98%)!important;
 -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 82%,transparent 98%)!important;
}
.site .banner .header-mark{
 position:absolute!important;inset:24px auto auto 108px!important;
 display:block!important;width:240px!important;height:72px!important;padding:0!important;
 margin:0!important;transform:none!important;opacity:1!important;filter:none!important;z-index:2!important;
}
.site .banner .header-logo{
 display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;
 max-width:none!important;margin:0!important;padding:0!important;transform:none!important;
 filter:drop-shadow(0 .5px .3px #0008)!important;
}
.site .banner .top-nav{
 position:absolute!important;inset:56px 24px auto auto!important;width:auto!important;height:44px!important;
 display:flex!important;align-items:stretch!important;justify-content:flex-end!important;
 gap:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
 background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;z-index:3!important;
}
.site .banner .top-nav a{
 display:flex!important;position:relative!important;align-items:center!important;justify-content:center!important;
 align-self:stretch!important;min-width:0!important;height:44px!important;min-height:44px!important;
 padding:0 20px!important;border:0!important;border-radius:5px!important;background:transparent!important;
 color:#dce0df!important;font-size:14px!important;font-weight:600!important;letter-spacing:.85px!important;
 line-height:1.2!important;white-space:nowrap!important;box-shadow:none!important;transform:none!important;
}
.site .banner .top-nav a+a::before{content:''!important;display:block!important;position:absolute!important;left:0!important;top:14px!important;bottom:14px!important;width:1px!important;background:#ffffff25!important}
.site .banner .top-nav a::after{content:''!important;display:block!important;position:absolute!important;left:20px!important;right:20px!important;bottom:0!important;height:2px!important;background:#26c6ed!important;border-radius:1px!important;opacity:0!important;box-shadow:none!important}
.site .banner .top-nav a:hover{color:white!important;background:#ffffff05!important}
.site .banner .top-nav a:hover::after{opacity:0!important}
.site .banner .top-nav a.active::after,.site .banner .top-nav a[aria-current='page']::after{opacity:1!important}
.site .banner .top-nav a:focus-visible,.site .banner .header-mark:focus-visible{outline:2px solid #84c7d8!important;outline-offset:2px!important}
@media(min-width:761px) and (max-width:1100px){
 .site .banner .header-mark{left:88px!important;width:210px!important;height:63px!important;top:28px!important}
 .site .banner .lens-detail{width:580px!important;background-size:680px auto!important}
 .site .banner .top-nav{right:12px!important}
 .site .banner .top-nav a{padding:0 12px!important;font-size:12px!important;letter-spacing:.35px!important}
 .site .banner .top-nav a::after{left:12px!important;right:12px!important}
}
@media(max-width:760px){
 .site .banner{height:172px!important;min-height:172px!important;background:#1a1c1d!important;box-shadow:0 5px 10px #0004!important}
 .site .banner .lens-detail{
  inset:0 auto auto 50%!important;width:348px!important;max-width:100%!important;height:116px!important;
  transform:translateX(-50%)!important;
  background:url('assets/baner-naszywka-mobile-v110.png') center center / 100% auto no-repeat!important;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)!important;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)!important;
 }
 .site .banner .header-mark{inset:24px auto auto 50%!important;width:220px!important;height:66px!important;transform:translateX(-50%)!important}
 .site .banner .top-nav{inset:auto 10px 10px 10px!important;width:auto!important;height:44px!important;display:grid!important;grid-template-columns:1.25fr 1.15fr .85fr!important;gap:5px!important}
 .site .banner .top-nav a{padding:0 5px!important;font-size:11px!important;letter-spacing:.3px!important;height:44px!important;min-height:44px!important;border-radius:6px!important;background:#ffffff03!important}
 .site .banner .top-nav a+a::before{display:none!important;content:none!important}
 .site .banner .top-nav a::after{left:13px!important;right:13px!important;bottom:0!important}
 .site .banner .top-nav a.active{background:#ffffff08!important;color:white!important}
}
@media(prefers-reduced-motion:reduce){.site .banner *{transition:none!important}}

/* v111 — desktop only: embroidered logo is part of the photograph. */
@media(min-width:761px){
 .site .banner{height:150px!important;min-height:150px!important}
 .site .banner .lens-detail{
  width:1080px!important;height:150px!important;
  background:url('assets/baner-pasek-pc-v111.png') left 65% / 1000px auto no-repeat!important;
  mask-image:linear-gradient(90deg,#000 0%,#000 69%,transparent 92%)!important;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 69%,transparent 92%)!important;
 }
 .site .banner .header-mark{inset:48px auto auto 150px!important;width:185px!important;height:75px!important}
 .site .banner .header-logo{visibility:hidden!important}
 .site .banner .top-nav{top:72px!important}
}
@media(min-width:761px) and (max-width:1100px){
 .site .banner .lens-detail{
  width:740px!important;background-size:700px auto!important;background-position:left 58%!important;
  mask-image:linear-gradient(90deg,#000 0%,#000 53%,transparent 76%)!important;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 53%,transparent 76%)!important;
 }
 .site .banner .header-mark{left:100px!important;top:51px!important;width:130px!important;height:63px!important}
}

/* v112 — lightbox close: centered vector X and red corner brackets. */
#viewer #close{
 position:relative!important;
 box-sizing:border-box!important;
 display:grid!important;place-items:center!important;
 width:44px!important;height:44px!important;
 min-width:44px!important;min-height:44px!important;
 padding:0!important;border:0!important;border-radius:8px!important;
 font-size:0!important;line-height:0!important;
 cursor:pointer;
 transition:background .16s ease!important;
}
#viewer #close::before{
 content:'';position:absolute;inset:0;
 background:center / 20px 20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 6 12 12M18 6 6 18' fill='none' stroke='%23f1f2f2' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
 pointer-events:none;
}
#viewer #close::after{
 content:'';position:absolute;inset:0;opacity:0;
 background:center / 44px 44px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Cg fill='none' stroke='%23d96c70' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 3H9a6 6 0 0 0-6 6v4M31 3h4a6 6 0 0 1 6 6v4M3 31v4a6 6 0 0 0 6 6h4M41 31v4a6 6 0 0 1-6 6h-4'/%3E%3C/g%3E%3C/svg%3E");
 transition:opacity .16s ease;
 pointer-events:none;
}
@media(hover:hover){
 #viewer #close:hover{background:rgba(255,255,255,.08)!important}
 #viewer #close:hover::after{opacity:1}
}
#viewer #close:focus-visible{background:rgba(255,255,255,.08)!important;outline:2px solid #d96c70!important;outline-offset:3px!important}
#viewer #close:focus-visible::after,
#viewer #close:active::after{opacity:1}
#viewer #close:active{background:rgba(217,108,112,.12)!important}
@media(prefers-reduced-motion:reduce){
 #viewer #close,#viewer #close::after{transition:none!important}
}

/* v117: embroidered logos included in both banner images. */
.site .banner .header-logo{visibility:hidden!important}
@media(min-width:761px){
 .site .banner .lens-detail{
  width:100%!important;height:150px!important;
  background:url('assets/baner-pasek-pc-v117.png') left center / 1300px auto no-repeat!important;
  mask-image:linear-gradient(90deg,#000 0%,#000 75%,transparent 100%)!important;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 75%,transparent 100%)!important;
 }
 .site .banner .header-mark{inset:65px auto auto 160px!important;width:180px!important;height:65px!important}
}
@media(min-width:761px) and (max-width:1100px){
 .site .banner .lens-detail{background-size:900px auto!important}
 .site .banner .header-mark{left:108px!important;top:65px!important;width:130px!important;height:50px!important}
 .site .banner .top-nav{background:rgba(25,27,28,.72)!important}
}
@media(max-width:760px){
 .site .banner .lens-detail{
  background-image:url('assets/baner-naszywka-mobile-v117.png')!important;
  background-size:100% auto!important;
 }
}

/* v121: exact 1548 x 150 px canvas; native size, right side clips. */
@media(min-width:761px){
 .site .banner{height:150px!important;min-height:150px!important;background:#191b1c!important}
 .site .banner .lens-detail{
  inset:0!important;width:100%!important;max-width:100%!important;height:150px!important;
  transform:none!important;
  background:url('assets/baner-sparta-pc-v143.png') left top / 1548px 150px no-repeat!important;
  mask-image:none!important;-webkit-mask-image:none!important;
 }
 .site .banner .header-mark{inset:30px auto auto 190px!important;width:230px!important;height:95px!important}
}
