/* NEXUS OfficeLab — mobile/responsive overhaul 1.9.0 */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
button,input,select,textarea{max-width:100%}
.mobile-drawer-overlay-v190{position:fixed;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:.18s ease;z-index:85}
.mobile-drawer-overlay-v190.open{opacity:1;pointer-events:auto}
body.mobile-nav-open-v190{overflow:hidden}

@media(max-width:900px){
  .container{width:min(var(--max-width,1200px),calc(100% - 28px))!important}
  .site-header{position:sticky;top:0;z-index:120}
  .site-header .nav-wrap{min-height:70px;gap:10px}
  .brand{min-width:0}.brand-text{min-width:0}.brand-main{font-size:12px}.brand-sub{font-size:9px}
  .nav-toggle{display:grid!important;place-content:center;gap:4px;width:44px;height:44px;flex:0 0 44px;padding:0}
  .main-nav{top:calc(100% + 8px)!important;left:14px!important;right:14px!important;max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain;padding:10px!important;border-radius:14px!important;box-shadow:0 22px 70px rgba(0,0,0,.48)}
  .main-nav a{min-height:44px;display:flex;align-items:center;padding:11px 12px!important;border-radius:9px}
  .main-nav a:hover{background:rgba(255,255,255,.045)}
  .main-nav .mobile-account-link-v190{color:var(--gold-strong,#e0bd67);font-weight:800;border-top:1px solid var(--border);margin-top:4px;padding-top:13px!important}

  .hero,.page-hero,.managed-page-hero{padding-top:56px!important;padding-bottom:58px!important}
  .hero-grid,.product-hero-grid,.contact-grid,.detail-grid,.section-heading,.checkout-grid,.cart-layout,.account-settings-grid,.contact-shell-v171{grid-template-columns:1fr!important;gap:26px!important}
  .hero h1,.page-hero h1,.contact-hero-v171 h1{font-size:clamp(38px,11vw,58px)!important;line-height:1.02!important}
  .hero-lead,.page-lead,.rich-content{font-size:15px!important;line-height:1.7!important}
  .section,.managed-page-section{padding-top:58px!important;padding-bottom:58px!important}
  .section-heading{margin-bottom:30px!important}.section-heading h2,.detail-grid h2,.cta-box h2{font-size:clamp(30px,8vw,42px)!important}
  .hero-actions,.account-hero-actions,.product-card-actions{gap:9px!important}
  .hero-actions .button,.account-hero-actions .button,.product-card-actions .button,.product-card-actions form{width:100%!important;max-width:none!important}
  .product-hero .hero-actions{grid-template-columns:1fr!important}
  .product-hero .hero-actions>a.button,.product-hero .billing-choice-form>.button{width:100%!important;min-width:0!important}
  .public-billing-choices{grid-template-columns:1fr!important}
  .product-mark,.product-hero-image{position:static!important;width:100%!important;max-width:380px!important;margin-inline:auto}

  .product-grid,.help-grid,.features-grid,.content-card-grid,.account-product-grid,.reviews-grid-v183{grid-template-columns:1fr!important}
  .feature,.content-card,.product-card,.info-card,.account-product-card{min-height:0!important;padding:20px!important}
  .product-category,.feature h3,.info-card h3,.content-card h3{margin-top:22px!important}

  .cart-item{grid-template-columns:46px minmax(0,1fr)!important;gap:13px!important;padding:16px!important}
  .cart-item-price,.cart-item form{grid-column:2!important}.cart-item-price{text-align:left!important;min-width:0!important}
  .cart-summary-card{position:static!important;padding:20px!important}
  .checkout-card,.account-settings-card,.contact-info-v171,.contact-form-card-v171{padding:20px!important}
  .checkout-product-list>div,.public-order-items>div,.summary-row,.summary-total{gap:12px!important}
  .checkout-product-list>div,.public-order-items>div{align-items:flex-start;flex-wrap:wrap}
  .account-order-row{grid-template-columns:1fr!important;gap:8px!important;padding:14px!important}
  .account-orders-head,.account-hero-row{align-items:flex-start!important;flex-direction:column!important;gap:14px!important}
  .account-auth-section{padding:48px 14px!important}.account-auth-card{padding:22px!important}.account-auth-card h1{font-size:31px!important}
  .public-form-grid,.contact-grid-v171,.review-form-grid-v183{grid-template-columns:1fr!important}
  .auth-links{flex-direction:column!important;gap:10px!important}

  .reviews-summary-v183{grid-template-columns:1fr!important;gap:18px!important}.reviews-summary-actions-v183{justify-content:flex-start!important;flex-wrap:wrap!important}
  .review-compose-v183,.review-cta-v183,.review-status-card-v183{padding:18px!important}
  .review-rating-options-v183{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important}

  .footer-main-grid{grid-template-columns:1fr!important;gap:28px!important;padding:44px 0 34px!important}.footer-brand-column{grid-column:auto!important}.footer-main-grid>.footer-column:last-child{grid-column:auto!important}
  .footer-bottom{min-height:64px;align-items:flex-start!important;flex-direction:column!important;justify-content:center!important;gap:4px!important}
  .cookie-notice{left:10px!important;right:10px!important;bottom:10px!important;width:auto!important;grid-template-columns:1fr!important;padding:18px!important}.cookie-actions{align-items:stretch!important;flex-direction:column!important}.cookie-actions .button{width:100%!important}.scroll-top{right:14px!important;bottom:14px!important}.cookie-notice:not([hidden])~.scroll-top{bottom:158px!important}

  table{max-width:100%}.admin-table-wrap,.table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
}

@media(max-width:600px){
  .container{width:calc(100% - 22px)!important}
  .brand-mark{width:34px!important;height:34px!important}.site-header .brand-text{display:grid}
  .hero h1,.page-hero h1,.contact-hero-v171 h1{font-size:clamp(34px,12vw,48px)!important}
  .button{min-height:44px}
  .review-rating-options-v183{grid-template-columns:1fr!important}.review-rating-options-v183 label{min-height:44px}
  .rich-content h2{font-size:28px!important}.rich-content h3{font-size:21px!important}
  .public-order-items>div,.checkout-product-list>div{display:grid!important;grid-template-columns:1fr!important}
}

/* OfficeLab administrator — off-canvas drawer on phones/tablets */
@media(max-width:900px){
  .nexus-admin-v15 .admin-header{height:64px!important;padding:0 12px!important;gap:8px!important}
  .nexus-admin-v15 .admin-brand{min-width:0}.nexus-admin-v15 .admin-brand strong{font-size:12px}.nexus-admin-v15 .admin-brand small{display:none!important}
  .admin-mobile-toggle-v190{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid var(--border);border-radius:10px;background:#11151b;color:#f3f1ea;font-size:20px;cursor:pointer}
  .nexus-admin-v15 .admin-header-actions{gap:8px!important}.nexus-admin-v15 .admin-header-actions>a:not(.admin-review-notice-v183){display:none!important}
  .nexus-admin-v15 .admin-shell{display:block!important;min-height:calc(100vh - 64px)!important}
  .nexus-admin-v15 .admin-sidebar{display:flex!important;position:fixed!important;top:64px!important;left:0!important;bottom:0!important;width:min(86vw,310px)!important;height:calc(100dvh - 64px)!important;padding:14px 12px!important;transform:translateX(-105%);transition:transform .2s ease;z-index:100!important;box-shadow:18px 0 55px rgba(0,0,0,.48);overflow:hidden!important}
  .nexus-admin-v15 .admin-sidebar.open-v190{transform:translateX(0)}
  .nexus-admin-v15 .admin-nav-v16{overflow-y:auto!important;overscroll-behavior:contain;padding-right:2px!important}
  .nexus-admin-v15 .admin-sidebar-account{position:static!important;margin-top:auto!important}
  .nexus-admin-v15 .admin-main{max-width:none!important;padding:20px 14px 34px!important;min-width:0!important}
  .nexus-admin-v15 .admin-page-head-v15,.nexus-admin-v15 .admin-page-head{margin-bottom:20px!important}.nexus-admin-v15 .admin-page-head h1,.nexus-admin-v15 .admin-page-head-v15 h1{font-size:clamp(28px,8vw,36px)!important}
  .nexus-admin-v15 :is(.admin-stats,.admin-actions-grid,.admin-dashboard-kpis-v180,.admin-quick-grid-v180,.admin-dashboard-columns-v180,.form-grid.two,.form-grid.four,.integration-grid,.gateway-placeholder-grid,.order-admin-grid,.contact-admin-grid-v172,.contact-meta-v172,.help-admin-grid-v16){grid-template-columns:1fr!important}
  .nexus-admin-v15 :is(.editor-card,.admin-card-v15,.admin-panel-v15){padding:16px!important}
  .nexus-admin-v15 :is(.admin-page-head-row,.danger-zone,.integration-summary-card,.integration-owner-card,.manual-access-row,.provider-status){align-items:stretch!important;flex-direction:column!important}
  .nexus-admin-v15 :is(.editor-footer,.admin-dashboard-head-actions-v180,.table-actions,.manual-access-row form){width:100%;flex-wrap:wrap!important}
  .nexus-admin-v15 :is(.editor-footer .admin-primary,.editor-footer .admin-secondary,.danger-zone .danger-button){width:100%;justify-content:center}
  .nexus-admin-v15 .admin-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.nexus-admin-v15 .admin-table{min-width:680px}
  .nexus-admin-v15 .admin-dl>div{grid-template-columns:1fr!important;gap:4px!important}
}

@media(min-width:901px){.admin-mobile-toggle-v190,.mobile-drawer-overlay-v190.admin-overlay-v190{display:none!important}}


/* 1.9.1 — mobile account polish + visible menu icon */
@media(max-width:900px){
  .site-header .nav-toggle{
    border-color:rgba(214,170,85,.48)!important;
    background:rgba(255,255,255,.025)!important;
  }
  .site-header .nav-toggle span{
    background:#f5f7fa!important;
    height:2px!important;
    width:20px!important;
    margin:2px auto!important;
    border-radius:99px!important;
    opacity:1!important;
  }
  .account-hero{
    padding-top:38px!important;
    padding-bottom:40px!important;
  }
  .account-hero-row{
    width:100%!important;
    align-items:stretch!important;
    gap:22px!important;
  }
  .account-hero-row>div:first-child{
    width:100%!important;
    min-width:0!important;
  }
  .account-hero-row h1{
    font-size:clamp(34px,10vw,48px)!important;
    line-height:1.02!important;
    letter-spacing:-.04em!important;
    overflow-wrap:anywhere;
  }
  .account-hero-row .page-lead{
    margin-top:16px!important;
    font-size:14px!important;
    line-height:1.5!important;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .account-hero-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .account-hero-actions form{
    width:100%!important;
  }
  .account-hero-actions .button,
  .account-hero-actions form .button{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    padding-inline:12px!important;
  }
}
@media(max-width:420px){
  .account-hero-actions{grid-template-columns:1fr!important}
}


/* 1.9.3 — OfficeLab admin PWA install suggestion */
.ol-admin-pwa-v193{display:none}
@media(max-width:900px){
  .admin-body .ol-admin-pwa-v193{
    position:fixed;
    left:12px;
    right:12px;
    bottom:calc(12px + env(safe-area-inset-bottom,0px));
    z-index:120;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    max-width:560px;
    margin-inline:auto;
    padding:13px;
    border:1px solid rgba(214,170,85,.34);
    border-radius:17px;
    background:rgba(13,17,23,.98);
    color:#f3f5f7;
    box-shadow:0 22px 70px rgba(0,0,0,.5);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .admin-body .ol-admin-pwa-v193[hidden]{display:none!important}
  .ol-admin-pwa-mark-v193{
    width:44px;height:44px;
    display:grid;place-items:center;
    border:1px solid rgba(214,170,85,.55);
    border-radius:12px;
    color:#f0c66d;
    background:linear-gradient(145deg,rgba(214,170,85,.13),rgba(17,33,58,.28));
    font-size:18px;
    font-weight:950;
  }
  .ol-admin-pwa-copy-v193{min-width:0}
  .ol-admin-pwa-copy-v193 strong{
    display:block;
    margin-bottom:2px;
    font-size:13px;
    line-height:1.25;
  }
  .ol-admin-pwa-copy-v193 span{
    display:block;
    color:#aeb9c8;
    font-size:10px;
    line-height:1.45;
  }
  .ol-admin-pwa-actions-v193{
    display:flex;
    align-items:center;
    gap:7px;
  }
  .ol-admin-pwa-install-v193,
  .ol-admin-pwa-close-v193{
    min-height:38px;
    border-radius:10px;
    cursor:pointer;
    font-weight:850;
  }
  .ol-admin-pwa-install-v193{
    padding:0 13px;
    border:1px solid #d6aa55;
    background:#d6aa55;
    color:#0a0b0d;
    font-size:11px;
  }
  .ol-admin-pwa-close-v193{
    width:38px;
    border:1px solid rgba(255,255,255,.13);
    background:transparent;
    color:#d9dee5;
    font-size:18px;
  }
}
@media(max-width:520px){
  .admin-body .ol-admin-pwa-v193{
    grid-template-columns:40px minmax(0,1fr) 38px;
  }
  .ol-admin-pwa-mark-v193{width:40px;height:40px}
  .ol-admin-pwa-actions-v193{display:contents}
  .ol-admin-pwa-install-v193{
    grid-column:1/-1;
    width:100%;
    min-height:42px;
  }
  .ol-admin-pwa-close-v193{
    grid-column:3;
    grid-row:1;
  }
}


/* 1.9.4 — slightly narrower customer account + persistent admin install action */
@media(max-width:760px){
  .account-hero .container.account-hero-row,
  .account-hero ~ .section > .container{
    width:calc(100% - 40px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

.admin-pwa-menu-install-v194{display:none}
@media(max-width:900px){
  .admin-body .admin-pwa-menu-install-v194{
    display:flex;
    width:100%;
    min-height:42px;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border:1px solid rgba(214,170,85,.32);
    border-radius:9px;
    background:rgba(214,170,85,.06);
    color:#f0c66d;
    font:inherit;
    font-size:12px;
    font-weight:800;
    text-align:left;
    cursor:pointer;
  }
  .admin-body .admin-pwa-menu-install-v194:hover{
    background:rgba(214,170,85,.11);
  }
  .admin-body .admin-pwa-menu-install-v194 span:first-child{
    width:22px;
    flex:0 0 22px;
    text-align:center;
    font-size:15px;
  }
}

/* v1.9.6 — link konta klonowany przez JS tylko dla menu mobilnego */
.mobile-account-link-v190{
    display:none!important;
}

@media(max-width:800px){
    .main-nav .mobile-account-link-v190{
        display:flex!important;
    }
}
