/* DESKTOP-LAYOUT.CSS v228 — baza desktop: wspólne tło, reset, header, odstępy, stopka, lightbox. */

@media screen and (min-width:1200px) {
  :root {
    --d-container:1200px;
    --d-header-page-top-gap:14px;
    --d-header-to-content-gap:24px;
    --d-header-frame-height:62px;
    --d-header-total-height:calc(var(--d-header-page-top-gap) + var(--d-header-frame-height));
    --d-page-top-gap:var(--d-header-to-content-gap);
    --d-hero-gap:var(--d-header-to-content-gap);
    --mto-page-desktop-top:var(--d-header-to-content-gap);
    --d-gap-kafelek-kafelek:24px;
    --d-gap-kafelek-opis:12px;
    --d-card-gap:var(--d-gap-kafelek-kafelek);
    --d-card-title-gap:var(--d-gap-kafelek-opis);
    --d-theme-gap:var(--d-gap-kafelek-kafelek);
    --mto-page-desktop-gap-after-title:var(--d-gap-kafelek-opis);
    --d-frame-bg:radial-gradient(130% 220% at 50% -65%, rgba(47,140,255,.095) 0%, rgba(47,140,255,.035) 25%, rgba(0,0,0,0) 48%), radial-gradient(95% 170% at 12% 48%, rgba(0,92,180,.055) 0%, rgba(0,92,180,.018) 36%, rgba(0,0,0,0) 66%), radial-gradient(95% 170% at 88% 48%, rgba(0,92,180,.05) 0%, rgba(0,92,180,.016) 36%, rgba(0,0,0,0) 66%), linear-gradient(180deg, rgba(7,16,30,.992) 0%, rgba(3,10,21,.996) 56%, rgba(1,5,12,.998) 100%);
    --d-frame-border:rgba(105,162,220,.30);
    --d-frame-radius:16px;
    --d-frame-shadow:0 14px 34px rgba(0,0,0,.30), 0 0 0 1px rgba(47,140,255,.035), inset 0 1px 0 rgba(210,230,255,.045), inset 0 -14px 22px rgba(0,0,0,.25), inset 0 0 24px rgba(47,140,255,.035);
    --d-header-border:var(--d-frame-border);
    --d-header-radius:var(--d-frame-radius);
    --d-header-shadow:var(--d-frame-shadow);
    --d-header-bg-fallback:var(--d-frame-bg);
    --d-header-text:#a9bbcc;
    --d-header-active:#e55c01;
    --d-header-hover:#2f8cff;
    --d-header-font:Tahoma,Geneva,sans-serif;
    --d-footer-height:var(--d-header-frame-height);
    --d-footer-page-bottom-gap:var(--d-header-page-top-gap);
    --d-footer-content-gap:var(--d-header-to-content-gap);
    --d-footer-frame-bg-fallback:var(--d-frame-bg);
    --d-footer-frame-border:var(--d-frame-border);
    --d-footer-frame-radius:var(--d-frame-radius);
    --d-footer-frame-shadow:var(--d-frame-shadow);
    --d-footer-text:#a9bbcc;
    --d-footer-blue:#0064fa;
    --d-footer-font:Tahoma,Geneva,sans-serif;
    --d-footer-font-size:16px;
    --d-footer-contact-font-size:15px;
    --d-footer-line-height:24px;
    --d-footer-contact-y:0px;
    --d-footer-social-x:-42px;
    --d-footer-social-y:0px;
    --d-page-bg:#02060c;
    --d-page-background:
      radial-gradient(circle at 50% 0%, rgba(0,102,195,.18), transparent 38%),
      radial-gradient(circle at 12% 32%, rgba(60,150,255,.07), transparent 31%),
      radial-gradient(circle at 86% 38%, rgba(60,150,255,.06), transparent 33%),
      linear-gradient(180deg, #040b12 0%, #061019 45%, #02060c 100%);
    --d-page-title-bg:linear-gradient(135deg, rgba(6,12,20,.96), rgba(2,5,9,.98));
    --d-page-panel-bg:linear-gradient(145deg, rgba(6,11,19,.96), rgba(2,5,9,.98));
    --d-page-border:rgba(99,142,190,.30);
    --d-page-text:#f4f7fb;
    --d-page-muted:#c5d0dc;
    --d-page-blue:#2f8cff;
    --d-page-radius:18px;
    --d-page-radius-small:10px;
    --d-page-shadow:none;
    --d-page-shadow-strong:none;
    --d-page-font:Tahoma,Geneva,sans-serif;
  }

  body .realizacje-page {
    padding-top:var(--mto-page-desktop-top);
  }

  body:has(.products-page),
  body:has(.realizacje-page) {
    --d-header-border:var(--d-frame-border);
    --d-footer-frame-border:var(--d-frame-border);
  }


  html {
    margin:0;
    padding:0;
    min-width:1200px;
    min-height:100%;
    overflow-x:hidden;
    overflow-y:scroll;
    scrollbar-gutter:stable;
    background:var(--d-page-bg);
  }

  body {
    margin:0;
    padding:0;
    min-width:1200px;
    min-height:100vh;
    overflow-x:hidden;
    background:var(--d-page-background);
    background-color:var(--d-page-bg);
    background-repeat:no-repeat;
    background-size:100% 100vh;
    background-position:top center;
    background-attachment:fixed;
  }

  .site-header {
    position:relative;
    height:var(--d-header-total-height);
    min-height:var(--d-header-total-height);
    margin:0;
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
    overflow:visible;
  }

  .site-header::before,
  footer.footer::before,
  .footer::before {
    content:"";
    position:absolute;
    left:calc((100% - var(--d-container)) / 2);
    right:calc((100% - var(--d-container)) / 2);
    box-sizing:border-box;
    background-color:#02060d;
    background-image:var(--d-frame-bg);
    background-repeat:no-repeat;
    background-position:center;
    background-size:100% 100%;
    border:1px solid var(--d-frame-border);
    border-radius:var(--d-frame-radius);
    box-shadow:var(--d-frame-shadow);
    pointer-events:none;
    overflow:hidden;
    z-index:0;
  }

  .site-header::before {
    top:var(--d-header-page-top-gap);
    height:var(--d-header-frame-height);
    border-color:var(--d-header-border);
  }

  .site-header .container,
  .site-header .nav {
    position:relative;
    z-index:1;
    width:var(--d-container);
    height:var(--d-header-total-height);
    min-height:var(--d-header-total-height);
    margin:0 auto;
    padding:0;
    display:block;
    overflow:visible;
  }

  .site-header .brand {
    position:absolute;
    left:8px;
    top:calc(var(--d-header-page-top-gap) + 6px);
    width:290px;
    height:50px;
    margin:0;
    padding:0;
    display:block;
    background:transparent;
    border:0;
    box-shadow:none;
    text-decoration:none;
  }

  .site-header .brand img {
    width:290px;
    height:50px;
    max-width:none;
    object-fit:contain;
    object-position:left center;
  }

  .site-header .brand span,
  .site-header .menu-button {
    display:none;
  }

  .site-header .menu {
    position:absolute;
    left:540px;
    right:54px;
    top:calc(var(--d-header-page-top-gap) + 11px);
    height:40px;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:0;
    background:transparent;
    border:0;
    box-shadow:none;
    overflow:visible;
  }

  .site-header .menu a {
    min-width:0;
    height:40px;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:transparent;
    border:0;
    outline:0;
    box-shadow:none;
    color:var(--d-header-text);
    font-family:var(--d-header-font);
    font-size:15px;
    font-weight:800;
    line-height:18px;
    white-space:nowrap;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
    transition:color .18s ease;
    -webkit-tap-highlight-color:transparent;
  }

  .site-header .menu a:is(:hover,:focus,:focus-visible,:active) {
    background:transparent;
    box-shadow:none;
    color:var(--d-header-hover);
  }

  .site-header .menu a.active,
  .site-header .menu a.active:is(:hover,:focus,:focus-visible,:active) {
    background:transparent;
    box-shadow:none;
    color:var(--d-header-active);
  }

  body :is(main,.products-page,.realizacje-page,.about-page,.product-detail-page,.contact-webwave-page) + :is(footer.footer,.footer) {
    margin-top:var(--d-footer-content-gap);
  }

  footer.footer,
  .footer {
    position:relative;
    height:var(--d-footer-height);
    min-height:var(--d-footer-height);
    max-height:var(--d-footer-height);
    margin:0 0 var(--d-footer-page-bottom-gap);
    padding:0;
    background:transparent;
    border:0;
    overflow:visible;
    color:var(--d-footer-text);
    font-family:var(--d-footer-font);
    font-size:var(--d-footer-font-size);
    line-height:var(--d-footer-line-height);
    font-weight:400;
    text-decoration:none;
  }

  footer.footer::before,
  .footer::before {
    top:0;
    height:var(--d-footer-height);
    border-color:var(--d-footer-frame-border);
  }

  footer.footer::after,
  .footer::after {
    content:none;
    display:none;
  }

  footer.footer .container.footer-grid,
  footer.footer .footer-grid,
  .footer .container.footer-grid,
  .footer-grid {
    position:relative;
    z-index:1;
    width:var(--d-container);
    height:var(--d-footer-height);
    min-height:var(--d-footer-height);
    max-height:var(--d-footer-height);
    margin:0 auto;
    padding:0;
    display:grid;
    grid-template-columns:245px 240px 204px max-content;
    column-gap:55px;
    justify-content:center;
    align-items:center;
    text-align:left;
    overflow:visible;
  }

  footer.footer a,
  .footer a {
    color:var(--d-footer-text);
    font-family:var(--d-footer-font);
    font-size:var(--d-footer-font-size);
    line-height:var(--d-footer-line-height);
    font-weight:400;
    text-decoration:none;
  }

  footer.footer .footer-grid > :is(.footer-contact-line,.footer-address-line,:nth-child(1),:nth-child(2)) {
    position:static;
    transform:translateY(var(--d-footer-contact-y));
    height:48px;
    min-height:48px;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    gap:0;
    white-space:nowrap;
  }

  footer.footer .footer-grid > :is(.footer-contact-line,:nth-child(1)) {
    grid-column:1;
    width:245px;
    min-width:245px;
  }

  footer.footer .footer-grid > :is(.footer-address-line,:nth-child(2)) {
    grid-column:2;
    width:240px;
    min-width:240px;
  }

  footer.footer .footer-social-copyright-row,
  footer.footer .footer-grid > div.footer-social-copyright-row,
  footer.footer .footer-grid > div:nth-child(3) {
    display:contents;
    position:static;
    width:auto;
    height:auto;
    margin:0;
    padding:0;
  }

  footer.footer :is(.footer-contact-item,.footer-contact-line a,.footer-address-line span) {
    height:24px;
    min-height:24px;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    color:var(--d-footer-text);
    font-family:var(--d-footer-font);
    font-size:var(--d-footer-contact-font-size);
    line-height:24px;
    font-weight:400;
    text-decoration:none;
  }

  footer.footer .footer-contact-icon {
    width:24px;
    min-width:24px;
    height:24px;
    min-height:24px;
    margin:0 6px 0 0;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--d-footer-blue);
    font-size:15px;
    line-height:24px;
  }

  footer.footer .footer-mail-icon {
    position:relative;
    color:transparent;
    font-size:0;
    line-height:0;
    text-indent:-9999px;
    overflow:visible;
  }

  footer.footer .footer-mail-icon::before {
    content:"";
    display:block;
    width:19px;
    min-width:19px;
    max-width:19px;
    height:19px;
    min-height:19px;
    max-height:19px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230064fa' d='M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm8 8.15L20 8.1V7l-8 5-8-5v1.1l8 5.05Z'/%3E%3C/svg%3E") center / 19px 19px no-repeat;
  }

  footer.footer .socials {
    grid-column:3;
    position:relative;
    transform:translate(var(--d-footer-social-x),var(--d-footer-social-y));
    justify-self:start;
    align-self:center;
    width:204px;
    min-width:204px;
    height:40px;
    min-height:40px;
    margin:0;
    padding:0;
    display:block;
    background:none;
    border:0;
    box-shadow:none;
    overflow:visible;
  }

  footer.footer .socials span,
  footer.footer .socials a.footer-youtube-link {
    position:absolute;
    top:3px;
    width:34px;
    min-width:34px;
    max-width:34px;
    height:34px;
    min-height:34px;
    max-height:34px;
    margin:0;
    padding:0;
    display:block;
    background-color:transparent;
    background-repeat:no-repeat;
    background-position:50% 50%;
    background-size:contain;
    border:0;
    border-radius:0;
    box-shadow:none;
    color:transparent;
    font-size:0;
    line-height:0;
    text-decoration:none;
    overflow:hidden;
  }

  footer.footer .socials span:nth-child(1) {
    left:3px;
    background-image:url("data:image/svg+xml,%3Csvg%20fill%3D%27rgb%28255%2C%20255%2C%20255%29%27%20id%3D%27ww-facebook-square%27%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27100%25%27%20height%3D%27100%25%27%20viewBox%3D%270%200%2012%2014%27%3E%3Cpath%20d%3D%27M9.75%201q0.93%200%201.59%200.66t0.66%201.59v7.5q0%200.93-0.66%201.59t-1.59%200.66h-1.469v-4.648h1.555l0.234-1.812h-1.789v-1.156q0-0.438%200.184-0.656t0.715-0.219l0.953-0.008v-1.617q-0.492-0.070-1.391-0.070-1.062%200-1.699%200.625t-0.637%201.766v1.336h-1.563v1.812h1.563v4.648h-4.156q-0.93%200-1.59-0.66t-0.66-1.59v-7.5q0-0.93%200.66-1.59t1.59-0.66h7.5z%27%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  }

  footer.footer .socials span:nth-child(2),
  footer.footer .socials a.footer-youtube-link {
    left:85px;
    background-image:url("data:image/svg+xml,%3Csvg%20fill%3D%27rgb%28255%2C%20255%2C%20255%29%27%20id%3D%27ww-youtube-square%27%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27100%25%27%20height%3D%27100%25%27%20viewBox%3D%270%200%2012%2014%27%3E%3Cpath%20d%3D%27M7.18%2010.18v-1.227q0-0.391-0.227-0.391-0.133%200-0.258%200.125v1.75q0.125%200.125%200.258%200.125%200.227%200%200.227-0.383zM8.617%209.227h0.516v-0.266q0-0.398-0.258-0.398t-0.258%200.398v0.266zM4.156%207.148v0.547h-0.625v3.305h-0.578v-3.305h-0.609v-0.547h1.812zM5.727%208.133v2.867h-0.523v-0.312q-0.305%200.352-0.594%200.352-0.258%200-0.328-0.219-0.047-0.125-0.047-0.422v-2.266h0.516v2.109q0%200.187%200.008%200.203%200.008%200.117%200.117%200.117%200.156%200%200.328-0.242v-2.188h0.523zM7.695%209v1.141q0%200.406-0.055%200.57-0.094%200.328-0.414%200.328-0.273%200-0.531-0.32v0.281h-0.523v-3.852h0.523v1.258q0.25-0.312%200.531-0.312%200.32%200%200.414%200.328%200.055%200.164%200.055%200.578zM9.656%2010.008v0.070q0%200.227-0.016%200.336-0.023%200.172-0.117%200.312-0.211%200.312-0.625%200.312-0.406%200-0.633-0.297-0.164-0.211-0.164-0.672v-1.008q0-0.461%200.156-0.672%200.227-0.297%200.625-0.297t0.609%200.297q0.164%200.219%200.164%200.672v0.594h-1.039v0.508q0%200.398%200.266%200.398%200.187%200%200.234-0.203%200-0.008%200.004-0.055t0.004-0.129v-0.168h0.531zM6.133%203.57v1.219q0%200.398-0.25%200.398t-0.25-0.398v-1.219q0-0.406%200.25-0.406t0.25%200.406zM10.297%209.141q0-1.383-0.148-2.031-0.078-0.344-0.336-0.574t-0.594-0.27q-1.062-0.117-3.219-0.117-2.148%200-3.211%200.117-0.344%200.039-0.598%200.27t-0.332%200.574q-0.156%200.68-0.156%202.031%200%201.375%200.156%202.031%200.078%200.336%200.332%200.57t0.59%200.273q1.070%200.117%203.219%200.117t3.219-0.117q0.336-0.039%200.59-0.273t0.332-0.57q0.156-0.656%200.156-2.031zM4.398%204.055l0.703-2.313h-0.586l-0.398%201.523-0.414-1.523h-0.609l0.187%200.539t0.18%200.539q0.273%200.805%200.359%201.234v1.57h0.578v-1.57zM6.656%204.687v-1.016q0-0.453-0.164-0.68-0.227-0.297-0.609-0.297-0.398%200-0.609%200.297-0.164%200.227-0.164%200.68v1.016q0%200.453%200.164%200.68%200.211%200.297%200.609%200.297%200.383%200%200.609-0.297%200.164-0.211%200.164-0.68zM8.070%205.625h0.523v-2.891h-0.523v2.211q-0.172%200.242-0.328%200.242-0.117%200-0.125-0.125-0.008-0.016-0.008-0.203v-2.125h-0.523v2.289q0%200.289%200.047%200.43%200.086%200.211%200.336%200.211%200.281%200%200.602-0.352v0.312zM12%203.25v7.5q0%200.93-0.66%201.59t-1.59%200.66h-7.5q-0.93%200-1.59-0.66t-0.66-1.59v-7.5q0-0.93%200.66-1.59t1.59-0.66h7.5q0.93%200%201.59%200.66t0.66%201.59z%27%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  }

  footer.footer .socials span:nth-child(3) {
    left:167px;
    background-image:url("data:image/svg+xml,%3Csvg%20fill%3D%27rgb%28255%2C%20255%2C%20255%29%27%20id%3D%27ww-linkedin-square%27%20version%3D%271.1%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27100%25%27%20height%3D%27100%25%27%20viewBox%3D%270%200%2012%2014%27%3E%3Cpath%20d%3D%27M1.852%2011.047h1.805v-5.422h-1.805v5.422zM3.773%203.953q-0.008-0.406-0.281-0.672t-0.727-0.266-0.738%200.266-0.285%200.672q0%200.398%200.277%200.668t0.723%200.27h0.008q0.461%200%200.742-0.27t0.281-0.668zM8.344%2011.047h1.805v-3.109q0-1.203-0.57-1.82t-1.508-0.617q-1.062%200-1.633%200.914h0.016v-0.789h-1.805q0.023%200.516%200%205.422h1.805v-3.031q0-0.297%200.055-0.438%200.117-0.273%200.352-0.465t0.578-0.191q0.906%200%200.906%201.227v2.898zM12%203.25v7.5q0%200.93-0.66%201.59t-1.59%200.66h-7.5q-0.93%200-1.59-0.66t-0.66-1.59v-7.5q0-0.93%200.66-1.59t1.59-0.66h7.5q0.93%200%201.59%200.66t0.66%201.59z%27%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  }

  footer.footer .footer-copyright {
    grid-column:4;
    position:static;
    justify-self:start;
    align-self:center;
    width:auto;
    min-width:max-content;
    height:24px;
    min-height:24px;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    color:var(--d-footer-text);
    font-family:var(--d-footer-font);
    font-size:var(--d-footer-font-size);
    line-height:24px;
    font-weight:400;
    text-decoration:none;
  }

  body .lightbox {
    position:fixed;
    inset:0;
    z-index:99999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:12px;
    background:rgba(0,0,0,.92);
  }

  body .lightbox.open {
    display:flex;
  }

  body .lightbox img {
    display:block;
    max-width:98vw;
    max-height:94vh;
    width:auto;
    height:auto;
    object-fit:contain;
    margin:0;
    padding:0;
    background:#000;
  }

  body .lightbox button {
    position:absolute;
    top:18px;
    right:18px;
    display:block;
    width:auto;
    height:auto;
    min-width:0;
    min-height:0;
    margin:0;
    padding:8px 14px;
    cursor:pointer;
    background:#111;
    border:1px solid #666;
    border-radius:8px;
    color:#fff;
    font-family:Tahoma,Geneva,sans-serif;
    font-size:26px;
    line-height:1;
    pointer-events:auto;
  }

  /* Graficzna korekta stopki: przygaszone sociale + elegancki hover. */
  footer.footer .socials span,
  footer.footer .socials a.footer-youtube-link {
    opacity:.74;
    transition:opacity .2s ease, transform .2s ease, filter .2s ease;
    will-change:opacity,transform;
  }

  footer.footer .socials span:hover,
  footer.footer .socials a.footer-youtube-link:hover,
  footer.footer .socials a.footer-youtube-link:focus-visible {
    opacity:1;
    transform:translateY(-2px);
    filter:drop-shadow(0 0 10px rgba(47,140,255,.22));
  }

}

/* v332: docelowe usunięcie niebieskich strzałek z przycisków WIĘCEJ. */
:is(.button,.desktop-more-button,.desktop-product-more-button,.product-row-button,.product-back-button)::after,
a:is(.button,.desktop-more-button,.desktop-product-more-button,.product-row-button,.product-back-button)::after {
  content:none !important;
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  opacity:0 !important;
}

:is(.button,.desktop-more-button,.desktop-product-more-button,.product-row-button,.product-back-button) {
  padding-right:0 !important;
  text-align:center !important;
}

