/* Dysk i Spółka – Dropdown "Usługi" (premium, a11y, no layout shift)
   - Desktop: hover + focus-within
   - Mobile: JS toggles (no reload)
*/

/* Anchor wrapper */
.ds-nav-services{position:relative;}
.ds-nav-services__trigger{display:inline-flex;align-items:center;gap:6px;}
.ds-nav-services__label{display:inline-block;}

/* Caret */
.ds-nav-caret{width:12px;height:12px;display:inline-block;position:relative;opacity:.78;flex:0 0 12px;}
.ds-nav-caret::before{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translate(-50%,-58%) rotate(45deg);border-radius:1px;}

/* Dropdown base */
.ds-nav-dropdown{list-style:none;margin:0;padding:10px;min-width:300px;max-width:360px;background:#fff;border-radius:12px;box-shadow:0 18px 40px rgba(15,23,42,.18),0 2px 6px rgba(15,23,42,.08);border:1px solid rgba(15,23,42,.08);z-index:10050;}
.ds-nav-dropdown__item{margin:0;padding:0;}
.ds-nav-dropdown__link{display:block;padding:10px 12px;border-radius:10px;color:#0F172A;text-decoration:none;font-weight:600;line-height:1.25;}
.ds-nav-dropdown__link:hover{background:rgba(15,23,42,.06);}
.ds-nav-dropdown__link:focus-visible{outline:3px solid rgba(2,132,199,.35);outline-offset:2px;background:rgba(15,23,42,.06);}

.ds-nav-services.is-current-section>.ds-nav-services__trigger .ds-nav-services__label{font-weight:inherit;}
.ds-nav-dropdown__link.is-current,.ds-nav-dropdown__link[aria-current="page"]{background:rgba(14,165,233,.10);color:#0F172A;box-shadow:inset 0 0 0 1px rgba(14,165,233,.16);}
.ds-nav-dropdown__link.is-current:hover,.ds-nav-dropdown__link[aria-current="page"]:hover{background:rgba(14,165,233,.14);}

/* Desktop: absolute dropdown + triangle */
@media (min-width: 1181px){
  .ds-nav-services{position:relative;overflow:visible !important;z-index:10060;}
  .ds-nav-services::after{content:"";position:absolute;left:-12px;right:-12px;top:100%;height:16px;display:block;}
  .ds-nav-services__trigger{position:relative;z-index:10061;}
  .ds-nav-dropdown{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%) translateY(4px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;z-index:10070;}
  .ds-nav-dropdown::before{content:"";position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #fff;filter:drop-shadow(0 -2px 2px rgba(15,23,42,.10));}

  .ds-nav-services:hover .ds-nav-dropdown,
  .ds-nav-services:focus-within .ds-nav-dropdown,
  .ds-nav-services.is-open .ds-nav-dropdown{
    opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);transition-delay:0s;
  }

  /* ESC close override (keeps closed while pointer/focus remains in item) */
  .ds-nav-services.ds-force-closed .ds-nav-dropdown{
    opacity:0 !important;visibility:hidden !important;pointer-events:none !important;transform:translateX(-50%) translateY(4px) !important;
  }
}

/* Mobile/tablet: dropdown inline (better UX in the collapsed nav) */
@media (max-width: 1180px){
  .ds-nav-services__trigger{width:100%;justify-content:space-between;}
  .ds-nav-caret{width:16px;height:16px;flex:0 0 16px;opacity:.85;}
  .ds-nav-caret::before{width:7px;height:7px;}

  .ds-nav-dropdown{position:static;transform:none;box-shadow:none;border:1px solid rgba(15,23,42,.10);background:rgba(255,255,255,.96);padding:8px;margin-top:8px;display:none;}
  .ds-nav-services.is-open .ds-nav-dropdown{display:block;}

  /* rotate caret when open */
  .ds-nav-services.is-open .ds-nav-caret::before{transform:translate(-50%,-42%) rotate(-135deg);} 
}

/* =========================================
   Match SiteBuilder dropdown ("Informacje")
   to the same premium style as "Usługi"
   (desktop only; do not affect mobile SB nav)
   ========================================= */
@media (min-width: 1181px){
  /* Ensure the SB dropdown is positioned like our premium dropdown (align triangle height with 'Usługi') */
  /* Scope to ONLY the "Informacje" top item (it is the only has-sub link with href="#" in this nav). */
  #sb-navigation li.sb-nav__item--has-sub{position:relative !important;}
  /* Caret next to "Informacje".
     IMPORTANT: B12 uses .sb-nav__link::after for the underline on hover/active.
     We must NOT hijack ::after here (it would break the underline and look like a "wrong marker").
     So we draw the caret with ::before instead, and leave ::after for the underline.
  */
  #sb-navigation li.sb-nav__item--has-sub > a.sb-nav__link--has-sub[href="#"]{display:inline-flex!important;align-items:center!important;gap:6px!important;position:relative!important;padding-right:16px!important;}
  #sb-navigation li.sb-nav__item--has-sub > a.sb-nav__link--has-sub[href="#"]::before{
    content:"" !important;
    position:absolute !important;
    right:0 !important;
    top:50% !important;
    width:6px !important;
    height:6px !important;
    display:block !important;
    margin:0 !important;
    background:transparent !important;
    border-right:2px solid currentColor !important;
    border-bottom:2px solid currentColor !important;
    border-left:0 !important;
    border-top:0 !important;
    transform:translateY(-58%) rotate(45deg) !important;
    opacity:.78 !important;
    border-radius:1px !important;
    pointer-events:none !important;
  }

  /* Desktop: hide SB's separate toggle button so "Informacje" matches "Usługi" (single caret next to label). */
  #sb-navigation li.sb-nav__item--has-sub > a.sb-nav__link--has-sub[href="#"] + .sb-nav__sub-toggle{display:none !important;}

  /* Dropdown container */
  #sb-navigation li.sb-nav__item--has-sub > a.sb-nav__link--has-sub[href="#"] ~ .sb-nav__sub--dropdown{
    position:absolute !important;
    top:calc(100% + 7px) !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    margin-top:0 !important;
    background:#fff !important;
    border-radius:12px !important;
    box-shadow:0 18px 40px rgba(15,23,42,.18),0 2px 6px rgba(15,23,42,.08) !important;
    border:1px solid rgba(15,23,42,.08) !important;
    padding:10px !important;
    min-width:300px !important;
    max-width:360px !important;
    z-index:10050 !important;
  
    overflow:visible !important;
}
    /* Triangle "dziubek" (use ::after to avoid conflicting with SiteBuilder ::before hover-buffer) */
  #sb-navigation li.sb-nav__item--has-sub > a.sb-nav__link--has-sub[href="#"] ~ .sb-nav__sub--dropdown::after{
    content:"";
    position:absolute;
    top:-8px;
    left:50%;
    transform:translateX(-50%);
    width:0;height:0;
    border-left:8px solid transparent;
    border-right:8px solid transparent;
    border-bottom:8px solid #fff;
    filter:drop-shadow(0 -2px 2px rgba(15,23,42,.10));
    pointer-events:none;
  }

/* Links */
  #sb-navigation .sb-nav__sub--dropdown .sb-nav__sub-link{
    display:block !important;
    padding:10px 12px !important;
    border-radius:10px !important;
    color:#0F172A !important;
    text-decoration:none !important;
    font-weight:600 !important;
    line-height:1.25 !important;
    border:0 !important;
  }
  #sb-navigation .sb-nav__sub--dropdown .sb-nav__sub-link:hover{background:rgba(15,23,42,.06) !important;}
  #sb-navigation .sb-nav__sub--dropdown .sb-nav__sub-link:focus-visible{outline:3px solid rgba(2,132,199,.35) !important;outline-offset:2px !important;background:rgba(15,23,42,.06) !important;}
}
/* DSK PATCH (2026-03-05): background scroll lock for mobile hamburger menu */
@media (max-width: 1180px){
  html.menu-open,body.menu-open{overflow:hidden;}
  body.menu-open{position:fixed;width:100%;}
}


/* DSK mobile dropdown hard reset: never inherit desktop positioning inside overlay */
@media (max-width: 1180px){
  .ds-nav-services,
  #sb-navigation li.sb-nav__item--has-sub{
    position:static !important;
  }

  .ds-nav-services__trigger,
  #sb-navigation li.sb-nav__item--has-sub > a.sb-nav__link--has-sub[href="#"]{
    width:100% !important;
  }

  .ds-nav-dropdown,
  #sb-navigation li.sb-nav__item--has-sub > a.sb-nav__link--has-sub[href="#"] ~ .sb-nav__sub--dropdown{
    position:static !important;
    inset:auto !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin-top:8px !important;
    box-shadow:none !important;
  }

  .ds-nav-dropdown::before,
  .ds-nav-dropdown::after,
  #sb-navigation li.sb-nav__item--has-sub > a.sb-nav__link--has-sub[href="#"]::before,
  #sb-navigation li.sb-nav__item--has-sub > a.sb-nav__link--has-sub[href="#"] ~ .sb-nav__sub--dropdown::before,
  #sb-navigation li.sb-nav__item--has-sub > a.sb-nav__link--has-sub[href="#"] ~ .sb-nav__sub--dropdown::after{
    content:none !important;
    display:none !important;
  }
}


