:root{

    --bg:#050505;
    --bg2:#0d0d0d;

    --lime:#0021da;
    --lime-soft:#ffd900;

    --text:#ffffff;
    --muted:#8f8f8f;

    --glass:rgba(255,255,255,.05);
    --glass-border:rgba(255,255,255,.08);

}

/* ===========================
   RESET
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    min-height:100vh;

    background:
    radial-gradient(
        circle at 80% 15%,
        rgba(2, 125, 196, 0.12),
        transparent 35%
    ),

    radial-gradient(
        circle at 15% 80%,
        rgba(26, 24, 158, 0.08),
        transparent 40%
    ),

    #050505;

    color:var(--text);
    font-family:Inter,Segoe UI,sans-serif;

    overflow-x:hidden;
}

/* ===========================
   SIDEBAR
=========================== */

.sidebar-contact{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
}

.sidebar-contact p{
    color:#b8c7ff;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.28em;
    line-height:1;
    text-align:center;
    text-transform:uppercase;
}


.sidebar{

    position:fixed;

  margin: 30px 30px;
    border-radius: 20px;
    top:0;
    left:0;

    width:260px;
    height:90vh;

    z-index:100;

    backdrop-filter:blur(30px);

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.06),
        rgba(255,255,255,.03)
    );

    border-right:
    1px solid rgba(255, 187, 0, 0.918);

    padding:40px 25px;

    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.logo{

    position:relative;

    display:flex;
    align-items:center;
    gap:6px;

    min-height:84px;
    padding:14px;

    border-radius:18px;

    isolation:isolate;
    overflow:hidden;

    background:
    linear-gradient(135deg, rgba(255, 217, 0, .16), transparent 32%),
    linear-gradient(145deg, rgba(0, 102, 255, .28), rgba(255, 255, 255, .04) 54%, rgba(5, 5, 5, .22));

    border:
    1px solid rgba(255, 208, 0, .22);

    box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 18px 45px rgba(0, 0, 0, .28),
    0 0 32px rgba(255, 208, 0, .10);
}

.logo::before{

    content:"";

    position:absolute;
    inset:9px;

    border-radius:14px;

    border:
    1px solid rgba(255,255,255,.06);

    pointer-events:none;
}

.logo::after{

    content:"";

    position:absolute;
    top:12px;
    right:-32px;

    width:92px;
    height:8px;

    background:
    repeating-linear-gradient(
        135deg,
        rgba(255, 217, 0, .9) 0 9px,
        rgba(5, 5, 5, .72) 9px 17px
    );

    transform:rotate(32deg);

    opacity:.95;

    box-shadow:
    0 0 24px rgba(255, 217, 0, .26);
}

.logo-mark{

    width:58px;
    height:58px;

    display:grid;
    place-items:center;
    flex:0 0 auto;

    border-radius:14px;
    overflow:hidden;

    border:
    1px solid rgba(255, 255, 255, .35);

    box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    0 0 28px rgba(255, 208, 0, .25),
    0 10px 22px rgba(0, 0, 0, .32);
}

.logo-mark img{

    width:100%;
    height:100%;

    object-fit:contain;

    filter:
    drop-shadow(0 3px 8px rgba(0, 0, 0, .42));
}

.logo-copy{

    min-width:0;
    margin-top: 5px;
   
}

.logo h2{

    color:#ffffff;

    font-size:1.22rem;
    line-height:.95;
    letter-spacing:.06em;
    text-transform:uppercase;
    font-weight:900;
    white-space:nowrap;

    text-shadow:
    0 0 18px rgba(0, 102, 255, .65);
}

.logo h2 span{

    color:#ffbb00;
}

.logo p{

    margin-top:8px;

    color:#b8c7ff;

    font-size:.72rem;
    font-weight:700;
    letter-spacing:.38em;
    line-height:1;
    text-transform:uppercase;
    white-space:nowrap;
}

/* ===========================
   NAV
=========================== */

.sidebar nav{

    position:relative;

    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:10px;
    padding:10px 0;
}

.sidebar nav a{

    position:relative;

    display:flex;
    align-items:center;
    gap:12px;

    text-decoration:none;

    color:rgba(255,255,255,.78);

    padding:14px 16px;

    border-radius:14px;

    overflow:hidden;

    background:
    linear-gradient(90deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .015));

    border:
    1px solid rgba(255,255,255,.055);

    box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055);

    transform:translateX(0);

    transition:
    color .35s,
    border-color .35s,
    box-shadow .35s,
    background .35s,
    transform .35s;
}

.sidebar nav a::before{

    content:"";

    position:absolute;
    inset:0;

    background:
    linear-gradient(
        110deg,
        transparent 0%,
        rgba(255, 217, 0, .16) 24%,
        rgba(0, 102, 255, .18) 48%,
        transparent 72%
    );

    transform:translateX(-115%);

    transition:transform .65s ease;
}

.sidebar nav a::after{

    content:"";

    position:absolute;
    right:14px;

    width:7px;
    height:7px;

    border-top:
    2px solid currentColor;
    border-right:
    2px solid currentColor;

    opacity:0;

    transform:
    translateX(-8px)
    rotate(45deg);

    transition:
    opacity .35s,
    transform .35s;
}

.nav-icon{

    position:relative;
    z-index:1;

    width:34px;
    height:34px;

    display:grid;
    place-items:center;
    flex:0 0 auto;

    border-radius:10px;

    color:#ffbb00;

    font-size:.72rem;
    font-weight:900;
    letter-spacing:.08em;

    background:
    linear-gradient(145deg, rgba(0, 102, 255, .30), rgba(255, 217, 0, .08));

    border:
    1px solid rgba(255, 208, 0, .16);

    box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 18px rgba(0, 102, 255, .12);

    transition:
    color .35s,
    background .35s,
    border-color .35s,
    box-shadow .35s,
    transform .35s;
}

.sidebar nav a span:last-child{

    position:relative;
    z-index:1;

    font-size:.96rem;
    font-weight:750;
    letter-spacing:.02em;
}

.sidebar nav a:hover{

    transform:
    translateX(7px);
}

.sidebar nav a:hover,
.sidebar nav a.active{

    color: #ffbb00;

    background:
    linear-gradient(90deg, rgba(255, 187, 0, .15), rgba(0, 102, 255, .13));

    border-color:
    rgba(255, 208, 0, .32);

    box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 0 26px rgba(255, 230, 0, .13),
    0 12px 28px rgba(0, 0, 0, .24);
}

.sidebar nav a:hover::before,
.sidebar nav a.active::before{

    transform:translateX(115%);
}

.sidebar nav a:hover::after,
.sidebar nav a.active::after{

    opacity:1;

    transform:
    translateX(0)
    rotate(45deg);
}

.sidebar nav a:hover .nav-icon,
.sidebar nav a.active .nav-icon{

    color:#050505;

    background:
    linear-gradient(135deg, #ffe45c, #ffbb00 55%, #c48c00);

    border-color:
    rgba(255,255,255,.28);

    box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    0 0 24px rgba(255, 208, 0, .28);

    transform:
    scale(1.06)
    rotate(-4deg);
}

.sidebar nav a.active{

    transform:translateX(7px);
}

.sidebar nav a.active .nav-icon{

    animation:
    navPulse 2.4s ease-in-out infinite;
}

@keyframes navPulse{

    0%,100%{
        box-shadow:
        inset 0 1px 0 rgba(255,255,255,.45),
        0 0 20px rgba(255, 208, 0, .22);
    }

    50%{
        box-shadow:
        inset 0 1px 0 rgba(255,255,255,.55),
        0 0 34px rgba(255, 208, 0, .42);
    }
}

@media (prefers-reduced-motion: reduce){

    .sidebar nav a,
    .sidebar nav a::before,
    .sidebar nav a::after,
    .nav-icon{
        transition:none;
    }

    .sidebar nav a.active .nav-icon{
        animation:none;
    }
}

/* ===========================
   TELEFON
=========================== */

.phone-btn{

    position:relative;

    width:90%;
    min-height:40px;
    padding:5px 7px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    overflow:hidden;

    border-radius:16px;

    color:#e4e3e3;
    text-decoration:none;


    background-color: #0a134646;

    border:
    1px solid rgba(255,255,255,.28);

    box-shadow:
    0 18px 32px rgba(0,0,0,.30),
    0 0 30px rgba(255, 208, 0, .24);

    font-size:.98rem;
    font-weight:900;
    letter-spacing:.02em;
    white-space:nowrap;

    isolation:isolate;

    transform:translateY(0);

    transition:
    transform .35s,
    box-shadow .35s,
    filter .35s;
}

.phone-btn::before{

    content:"";

    position:absolute;
    inset:0;
    z-index:-1;

    background:
    linear-gradient(
        110deg,
        transparent 0%,
        rgba(255, 166, 0, 0.34) 42%,
        transparent 68%
    );

    transform:translateX(-130%);

    transition:transform .7s ease;
}

.phone-btn:hover{

    transform:
    translateY(-3px)
    scale(1.02);

    filter:saturate(1.08);

    box-shadow:
    inset 0 1px 0 rgba(255,255,255,.62),
    0 24px 42px rgba(0,0,0,.34),
    0 0 42px rgba(255, 208, 0, .34);
}

.phone-btn:hover::before{
    transform:translateX(130%);
}

.phone-btn:focus-visible{
    outline:
    3px solid rgba(184, 199, 255, .92);

    outline-offset:4px;
}

.phone-icon{

    position:relative;

    width:32px;
    height:32px;

    display:grid;
    place-items:center;
    flex:0 0 auto;

    border-radius:10px;

    background:
   rgba(255, 208, 0, .24);

    box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22);
}

.phone-icon::before{

    content:"";

    width:13px;
    height:13px;

    border:
    3px solid #050505;

    border-top:0;
    border-left:0;

    border-radius:
    2px 2px 7px 2px;

    transform:
    rotate(18deg)
    translateY(-1px);
}

/* ===========================
   KOPARKA
=========================== */

.excavator{

    position:fixed;

    left:-100px;
    top:60%;

    width:950px;

    opacity:1;

    pointer-events:none;

    z-index:2;

    transform:
    translateY(-50%);

    filter:
    drop-shadow(
        0 0 40px rgba(255, 230, 0, 0.3)
    )
    drop-shadow(
        0 0 120px rgba(255, 174, 0, 0.15)
    );

    animation:
    floatMachine 8s ease-in-out infinite;
}

@keyframes floatMachine{

    0%,100%{

        transform:
        translateY(-50%)
        rotate(-10deg);
    }

    50%{

        transform:
        translateY(calc(-50% - 15px))
        rotate(10deg);
    }
}

/* ===========================
   MAIN
=========================== */

main{

    margin-left:260px;

    position:relative;

    z-index:10;
}

/* ===========================
   HERO
=========================== */

.hero{

    min-height:100vh;

    display:flex;
    align-items:center;

    padding-left:140px;
    padding-right:80px;
}

.hero-content{

    max-width:850px;
}

.badge{

    display:inline-block;

    padding:10px 18px;

    border-radius:999px;

    margin: 30px 0px;

 color: #ffbb00;

    background:
    rgba(255, 208, 0, 0.11);

    border:
    1px solid rgba(198,255,0,.15);
}

.hero h1{

    font-size:3rem;

    line-height:1;

    margin-bottom:25px;

    font-weight:900;
}

.hero h1 span{

    display:block;

    color: #ffbb00;

     text-shadow:
    0 0 25px #00177e94;
}

.hero p{

    max-width:650px;

    font-size:1.25rem;

    color:#b7b7b7;

    margin-bottom:40px;
}

/* ===========================
   BUTTONS
=========================== */

.hero-buttons{

    display:flex;
    gap:20px;
}

.btn{

    padding:16px 30px;

    border-radius:16px;

    text-align: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;

    color: #ffbb00;

 border: 1px solid #ffbb00;

 background-color: #0a134646;
 
 backdrop-filter: blur(12px);

width: 200px;
height: 50px;

    text-decoration:none;

     border-color:
    rgba(255, 208, 0, 0.35);

    box-shadow:
    0 0 25px rgba(255, 230, 0, 0.12);

    transition:.35s;

    margin: 20px 0px;
}




/* ===========================
   GLASS
=========================== */

.glass{

    background:
    rgba(255,255,255,.04);

    backdrop-filter:
    blur(20px);

    border:
    1px solid rgba(255,255,255,.08);
}

/* ===========================
   STATS
=========================== */

.stats{

    padding:0 80px 120px;

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:25px;
}

.stat{

    padding:40px;

    border-radius:25px;

    text-align:center;
}

.stat h3{

    font-size:3rem;

    color:var(--lime);

    margin-bottom:10px;
}

/* ===========================
   OFERTA
=========================== */

#machines{

    padding:120px 80px;
}

.section-title{

    margin-bottom:60px;
}

.section-title span{

    color: #ffbb00;

    letter-spacing:4px;
}

.section-title h2{

    margin-top:10px;

    font-size:4rem;
}

.cards{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:25px;
}

.machine-card{

    padding:35px;

    border-radius:24px;

    transition:.35s;
}

.machine-card:hover{

    transform:
    translateY(-10px);

    border-color:
    rgba(255, 208, 0, 0.35);

    box-shadow:
    0 0 25px rgba(255, 230, 0, 0.12);
}

.machine-card h3{

    margin-bottom:15px;
}

.machine-card p{

   color: #ffbb00;
}

/* ===========================
   FOOTER
=========================== */


footer{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
 border-top:
    1px solid rgba(255,255,255,.08);
    color:#888;

    margin: 20px 0px;
}

.footer-info{

    width: 100%;
    margin: 10px 30px;
    padding: 10px;
    gap:20px;
    display:flex;
    flex-direction: row;
    justify-content:space-around;
border-bottom:
    1px solid rgba(255,255,255,.08);

    color:#888;
}

.footer-info div{
    border-left: 1px solid gray;
    border-right: 1px solid gray;
    padding: 0px 10px;
}

.company-name{
     border-top:
    1px solid rgba(255, 255, 255, 0.301);
    margin: 10px;
    border-radius: 18px;
    padding: 5px;
      box-shadow:
    0 -7px 25px 3px rgba(43, 177, 43, 0.12);
}



/* =========================================
   DIGGERPRO — GALERIA REALIZACJI
========================================= */

.container {
    width: min(1400px, calc(100% - 80px));
    margin-left: auto;
    margin-right: auto;
    padding: 35px 20px 80px;
    position: relative;
    z-index: 10;
}

/* Nagłówek galerii */

.container > h2 {
    display: inline-block;
    position: relative;
    font-size: clamp(2.8rem, 5vw, 4.5rem) !important;
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1.05;
    color: #ffbb00 !important;
    text-shadow: 0 0 28px rgba(255, 187, 0, 0.15);
    margin-bottom: 18px !important;
}

.container > h2::after {
    content: "";
    display: block;
    width: 75px;
    height: 4px;
    margin-top: 18px;
    border-radius: 10px;
    background: linear-gradient(90deg, #ffbb00, #0066ff);
    box-shadow: 0 0 20px rgba(255, 187, 0, 0.3);
}

.container > .muted {
    color: #a5a5a5;
    font-size: 1.05rem;
    line-height: 1.8;
    letter-spacing: 0.02em;
}

/* Siatka zdjęć */

.portfolio-grid {
    width: 100% !important;
    height: auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
    justify-content: initial !important;
    margin-top: 42px !important;
}

/* Karta zdjęcia — efekt szkła */

.portfolio-item {
    position: relative;
    min-width: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    isolation: isolate;
    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            rgba(0, 102, 255, 0.12),
            rgba(255, 187, 0, 0.04) 55%,
            rgba(255, 255, 255, 0.025)
        );

    border: 1px solid rgba(255, 255, 255, 0.10);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.07),
        0 15px 35px rgba(0, 0, 0, 0.25);

    transition:
        transform 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease;
}

/* Żółto-niebieska poświata */

.portfolio-item::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    border-radius: inherit;

    background: linear-gradient(
        135deg,
        rgba(255, 187, 0, 0.18),
        transparent 35%,
        rgba(0, 102, 255, 0.15)
    );

    opacity: 0;
    transition: opacity 0.4s ease;
}

/* Dolny gradient */

.portfolio-item::after {
    content: "DIG G ERPRO";
    position: absolute;
    z-index: 2;
    left: 18px;
    bottom: 15px;
    pointer-events: none;

    color: rgba(255, 255, 255, 0.0);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.28em;

    transition: color 0.35s ease;
}

/* Zdjęcia */

.portfolio-item img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    cursor: zoom-in;

    transition:
        transform 0.65s cubic-bezier(0.2, 0.7, 0.2, 1),
        filter 0.4s ease;
}

/* Interakcja */

.portfolio-item:hover {
    transform: translateY(-7px);
    border-color: rgba(255, 187, 0, 0.55);

    box-shadow:
        0 0 30px rgba(255, 187, 0, 0.09),
        0 0 45px rgba(0, 102, 255, 0.08),
        0 22px 45px rgba(0, 0, 0, 0.4);
}

.portfolio-item:hover::before {
    opacity: 1;
}

.portfolio-item:hover img {
    transform: scale(1.07);
    filter: saturate(1.08) contrast(1.04);
}

.portfolio-item:focus-within {
    outline: 2px solid #ffbb00;
    outline-offset: 4px;
}

/* =========================================
   LIGHTBOX — POWIĘKSZANIE ZDJĘĆ
========================================= */

.lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 70px 100px;
    background: rgba(3, 4, 8, 0.94);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;
}

.lightbox.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Dekoracyjna poświata w tle */

.lightbox.active::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background:
        radial-gradient(
            circle at 50% 45%,
            rgba(0, 102, 255, 0.10),
            transparent 48%
        ),
        radial-gradient(
            circle at 50% 90%,
            rgba(255, 187, 0, 0.07),
            transparent 40%
        );
}

/* Kontener zdjęcia */

.lightbox-inner {
    position: relative;
    z-index: 1;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;
    overflow: hidden;

    border-radius: 18px;
    border: 1px solid rgba(255, 187, 0, 0.18);

    background: rgba(255, 255, 255, 0.025);

    box-shadow:
        0 0 50px rgba(0, 0, 0, 0.5),
        0 0 35px rgba(0, 102, 255, 0.07);
}

/* Powiększone zdjęcie */

.lightbox-inner img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;

    border-radius: 10px;
    cursor: zoom-in;

    transition:
        transform 0.35s ease,
        opacity 0.2s ease;

    user-select: none;
    -webkit-user-drag: none;
}

.lightbox-inner img.zoomed {
    max-width: none;
    max-height: none;
    cursor: zoom-out;
    transform: scale(1.8);
}

/* Wspólny styl przycisków */

.lightbox-close,
.lightbox-nav {
    position: absolute;
    z-index: 5;

    display: grid;
    place-items: center;

    color: #ffbb00;
    background: rgba(12, 15, 22, 0.78);

    border: 1px solid rgba(255, 187, 0, 0.35);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 8px 25px rgba(0, 0, 0, 0.3);

    cursor: pointer;

    transition:
        color 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

.lightbox-close:hover,
.lightbox-nav:hover {
    color: #050505;
    background: linear-gradient(135deg, #ffe45c, #ffbb00);
    border-color: #ffe45c;

    box-shadow:
        0 0 28px rgba(255, 187, 0, 0.3),
        0 10px 30px rgba(0, 0, 0, 0.35);
}

/* Przycisk zamykania */

.lightbox-close {
    top: 25px;
    right: 30px;

    width: 52px;
    height: 52px;

    border-radius: 16px;
    font-size: 2rem;
    line-height: 1;
}

.lightbox-close:hover {
    transform: rotate(90deg);
}

/* Nawigacja */

.lightbox-nav {
    top: 50%;
    width: 54px;
    height: 64px;

    border-radius: 16px;
    font-size: 1.5rem;

    transform: translateY(-50%);
}

.lightbox-nav.prev {
    left: 25px;
}

.lightbox-nav.next {
    right: 25px;
}

.lightbox-nav.prev:hover {
    transform: translateY(-50%) translateX(-3px);
}

.lightbox-nav.next:hover {
    transform: translateY(-50%) translateX(3px);
}

/* Widoczność fokusu z klawiatury */

.lightbox-close:focus-visible,
.lightbox-nav:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 4px;
}




/* =========================================
   DIGGERPRO — CENNIK WYNAJMU
========================================= */

.container:has(.price-table) {
    width: min(1250px, calc(100% - 80px));
    margin: 0 auto;
    padding: 45px 35px 65px;
    position: relative;
    z-index: 10;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.035),
            rgba(255, 255, 255, 0.012)
        );

    border: 1px solid rgba(255, 187, 0, 0.15);
    border-radius: 28px;

    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.25),
        0 0 45px rgba(0, 102, 255, 0.035);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

/* Nagłówek */

.container:has(.price-table) h1 {
    position: relative;
    display: inline-block;

    margin-bottom: 22px;
    color: #ffffff;

    font-size: clamp(2.2rem, 4vw, 3.7rem);
    font-weight: 900;
    letter-spacing: -1.5px;
    line-height: 1.1;

    text-shadow: 0 0 25px rgba(0, 102, 255, 0.18);
}

.container:has(.price-table) h1::after {
    content: "";
    display: block;

    width: 85px;
    height: 4px;
    margin-top: 18px;

    border-radius: 10px;
    background: linear-gradient(90deg, #ffbb00, #0066ff);

    box-shadow: 0 0 20px rgba(255, 187, 0, 0.25);
}

/* Opis pod tytułem */

.container:has(.price-table) > .muted {
    color: #a5a5a5;
    font-size: 1rem;
    line-height: 1.8;
}

.container:has(.price-table) > .muted strong {
    color: #ffbb00;
    font-weight: 800;
}

/* Kontener tabeli */

.price-table {
    width: 100%;
    margin-top: 35px;

    border-collapse: separate;
    border-spacing: 0;

    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 20px;

    background: rgba(5, 5, 5, 0.45);

    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

/* Nagłówek kolumn */

.price-table thead {
    background:
        linear-gradient(
            110deg,
            rgba(255, 187, 0, 0.14),
            rgba(0, 102, 255, 0.12)
        );
}

.price-table th {
    padding: 22px 24px;

    color: #ffbb00;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.13em;
    text-transform: uppercase;

    text-align: left;
    white-space: nowrap;

    border-bottom: 1px solid rgba(255, 187, 0, 0.25);
}

/* Komórki */

.price-table td {
    padding: 19px 24px;

    color: #e7e7e7;
    font-size: 0.98rem;
    line-height: 1.6;

    border-bottom: 1px solid rgba(255, 255, 255, 0.055);

    transition:
        background 0.3s ease,
        color 0.3s ease;
}

/* Delikatne naprzemienne tło */

.price-table tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.018);
}

.price-table tbody tr {
    transition:
        background 0.3s ease,
        box-shadow 0.3s ease;
}

.price-table tbody tr:last-child td {
    border-bottom: none;
}

/* Efekt hover */

.price-table tbody tr:hover {
    background:
        linear-gradient(
            90deg,
            rgba(255, 187, 0, 0.075),
            rgba(0, 102, 255, 0.055)
        );

    box-shadow: inset 3px 0 0 #ffbb00;
}

.price-table tbody tr:hover td {
    color: #ffffff;
}

/* Pierwsza kolumna — nazwa sprzętu */

.price-table td:first-child {
    width: 55%;
    font-weight: 650;
}

/* Ostatnia kolumna — cena */

.price-table td:last-child {
    color: #ffbb00;
    font-weight: 900;
    font-size: 1.08rem;
    white-space: nowrap;
}

/* Kolumna typu */

.price-table td:nth-child(2) {
    width: 22%;
}

/* =========================================
   BADGE — RODZAJ SPRZĘTU I USŁUG
========================================= */

.price-table .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 7px 12px;
    border-radius: 9px;

    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.3;
    white-space: nowrap;

    border: 1px solid transparent;
}

/* Duży sprzęt */

.price-table .badge.big {
    color: #ffbb00;

    background: rgba(255, 187, 0, 0.09);
    border-color: rgba(255, 187, 0, 0.24);

    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

/* Mały sprzęt */

.price-table .badge.small {
    color: #b8c7ff;

    background: rgba(0, 102, 255, 0.11);
    border-color: rgba(80, 135, 255, 0.25);
}

/* Usługi */

.price-table .badge:not(.big):not(.small) {
    color: #ffffff;

    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.14);
}

/* =========================================
   KAUCJA ZWROTNA
========================================= */

.container:has(.price-table) > p.muted.small {
    position: relative;

    margin-top: 30px !important;
    padding: 24px 28px;

    color: #b5b5b5;
    font-size: 0.95rem;
    line-height: 2;

    border: 1px solid rgba(255, 187, 0, 0.18);
    border-left: 4px solid #ffbb00;
    border-radius: 16px;

    background:
        linear-gradient(
            110deg,
            rgba(255, 187, 0, 0.065),
            rgba(0, 102, 255, 0.045)
        );

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.container:has(.price-table) > p.muted.small::first-line {
    color: #ffbb00;
    font-weight: 900;
}

/* =========================================
   RESPONSYWNOŚĆ — TABLET
========================================= */

@media (max-width: 1000px) {
    .container:has(.price-table) {
        width: calc(100% - 40px);
        padding: 35px 22px 45px;
    }

    .price-table th,
    .price-table td {
        padding: 16px 18px;
    }

    .price-table td:first-child {
        width: auto;
    }
}

/* =========================================
   RESPONSYWNOŚĆ — TELEFON
========================================= */

@media (max-width: 650px) {
    .container:has(.price-table) {
        width: calc(100% - 24px);
        margin-top: 16px !important;
        padding: 28px 12px 30px;
        border-radius: 20px;
    }

    .container:has(.price-table) h1 {
        font-size: 2.1rem;
        letter-spacing: -0.8px;
    }

    .container:has(.price-table) > .muted {
        font-size: 0.9rem;
    }

    .price-table {
        margin-top: 25px;
        border-radius: 14px;
    }

    .price-table th {
        padding: 14px 9px;
        font-size: 0.63rem;
        letter-spacing: 0.035em;
        white-space: normal;
    }

    .price-table td {
        padding: 15px 9px;
        font-size: 0.83rem;
        line-height: 1.45;
        overflow-wrap: anywhere;
    }

    .price-table td:first-child {
        width: 48%;
        font-size: 0.84rem;
    }

    .price-table td:nth-child(2) {
        width: auto;
    }

    .price-table td:last-child {
        font-size: 0.88rem;
        white-space: normal;
        overflow-wrap: normal;
    }

    .price-table .badge {
        padding: 6px 7px;
        font-size: 0.58rem;
        letter-spacing: 0;
        white-space: normal;
        text-align: center;
    }

    .container:has(.price-table) > p.muted.small {
        padding: 19px 16px;
        font-size: 0.86rem;
        line-height: 2;
    }
}

/* Preferencje ograniczonego ruchu */

@media (prefers-reduced-motion: reduce) {
    .price-table tbody tr,
    .price-table td {
        transition: none;
    }
}


#kalkulator {
    --calc-bg: #101215;
    --calc-panel: rgba(24, 27, 32, 0.88);
    --calc-panel-light: rgba(255, 255, 255, 0.035);
    --calc-border: rgba(255, 255, 255, 0.09);
    --calc-yellow: #ffbb00;
    --calc-yellow-light: #ffd24a;
    --calc-text: #f2f3f5;
    --calc-muted: #9ca3ad;

    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 350px !important;
    align-items: start;
    gap: 2rem !important;
    width: min(1240px, calc(100% - 40px));
    max-width: 1240px;
    margin: 3rem auto !important;
    color: var(--calc-text);
}

/* Główna kolumna */

#kalkulator > div:first-child {
    min-width: 0;
}

#kalkulator h3 {
    position: relative;
    margin: 0 0 0.8rem;
    padding-left: 1rem;
    color: #fff;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 1.15;
}

#kalkulator h3::before {
    position: absolute;
    content: "";
    left: 0;
    top: 0.12em;
    bottom: 0.12em;
    width: 4px;
    border-radius: 5px;
    background: var(--calc-yellow);
    box-shadow: 0 0 18px rgba(255, 187, 0, 0.4);
}

#kalkulator > div:first-child > p {
    margin: 0.5rem 0;
    color: var(--calc-muted);
    font-size: 0.94rem;
    line-height: 1.65;
}

/* Formularz */

#kalkulator #calculator-form {
    margin-top: 1.8rem;
}

#kalkulator fieldset {
    position: relative;
    min-width: 0;
    margin: 0 0 1.25rem;
    padding: 1.4rem;
    overflow: hidden;
    border: 1px solid var(--calc-border);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.035), transparent 55%),
        var(--calc-panel);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.16);
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

#kalkulator fieldset:hover {
    border-color: rgba(255, 187, 0, 0.24);
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.22);
}

#kalkulator legend {
    max-width: calc(100% - 1rem);
    padding: 0.45rem 0.8rem;
    border: 1px solid rgba(255, 187, 0, 0.28);
    border-radius: 7px;
    background: rgba(255, 187, 0, 0.09);
    color: var(--calc-yellow);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.105em;
    line-height: 1.4;
}

/* Karty poszczególnych pozycji */

#kalkulator #calculator-form > fieldset > label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    min-height: 56px;
    box-sizing: border-box;
    margin: 0 0 0.65rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    background: var(--calc-panel-light);
    color: #e9eaed;
    font-size: 0.94rem;
    font-weight: 550;
    line-height: 1.45;
    cursor: pointer;
    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

#kalkulator #calculator-form > fieldset > label:last-of-type {
    margin-bottom: 0;
}

#kalkulator #calculator-form > fieldset > label:hover {
    border-color: rgba(255, 187, 0, 0.4);
    background: rgba(255, 187, 0, 0.045);
    transform: translateY(-1px);
}

#kalkulator #calculator-form > fieldset > label:has(
    input[type="checkbox"]:checked
) {
    border-color: rgba(255, 187, 0, 0.72);
    background:
        linear-gradient(100deg, rgba(255, 187, 0, 0.105), rgba(255, 187, 0, 0.025));
    box-shadow: inset 3px 0 0 var(--calc-yellow);
    color: #fff;
}

#kalkulator #calculator-form br {
    display: none;
}

/* Checkboxy */

#kalkulator input[type="checkbox"] {
    flex: 0 0 auto;
    width: 19px;
    height: 19px;
    margin: 0;
    accent-color: var(--calc-yellow);
    cursor: pointer;
}

#kalkulator input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--calc-yellow);
    outline-offset: 4px;
}

/* Pola ilości — dni, m² i mb */

#kalkulator input.days {
    flex: 0 0 76px;
    width: 76px !important;
    min-width: 0;
    height: 39px;
    box-sizing: border-box;
    margin-left: auto;
    padding: 0.4rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 9px;
    background: #101216;
    color: #fff;
    font: inherit;
    font-size: 0.92rem;
    font-weight: 700;
    text-align: center;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#kalkulator input.days:disabled {
    opacity: 0.38;
    cursor: not-allowed;
    background: #0d0e10;
}

#kalkulator input.days:not(:disabled) {
    border-color: rgba(255, 187, 0, 0.55);
    background: rgba(255, 187, 0, 0.055);
}

#kalkulator input.days:focus {
    outline: none;
    border-color: var(--calc-yellow);
    box-shadow: 0 0 0 3px rgba(255, 187, 0, 0.13);
}

/* Jednostki przy polach */

#kalkulator #calculator-form > fieldset > label > .muted.small {
    flex: 0 0 auto;
    color: var(--calc-muted);
    font-size: 0.76rem;
    white-space: nowrap;
}

/* Informacja o osprzęcie minikoparki */

#kalkulator #calculator-form .muted.small {
    color: var(--calc-muted);
}

#kalkulator #calculator-form > fieldset > div.muted.small {
    margin: 0.4rem 0 1rem 0.25rem !important;
    padding: 0.85rem 1rem;
    border-left: 2px solid rgba(255, 187, 0, 0.5);
    border-radius: 0 9px 9px 0;
    background: rgba(255, 187, 0, 0.045);
    font-size: 0.84rem;
    line-height: 1.6;
}

#kalkulator #calculator-form > fieldset > div.muted.small ul {
    padding-left: 1.1rem;
}

#kalkulator #calculator-form > fieldset > div.muted.small li {
    padding: 0.12rem 0;
}

/* Kaucja pod formularzem */

#kalkulator #calculator-form > p.muted.small {
    margin: 1.5rem 0 0;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(255, 187, 0, 0.2);
    border-radius: 12px;
    background: rgba(255, 187, 0, 0.055);
    color: #c7cbd1;
    font-size: 0.84rem;
    line-height: 1.9;
}

#kalkulator #calculator-form > p.muted.small::first-line {
    color: var(--calc-yellow);
    font-weight: 750;
}

/* =========================================================
   PANEL PODSUMOWANIA — najważniejszy element kalkulatora
   ========================================================= */

#kalkulator #summary {
    position: sticky;
    top: 1.25rem;
    min-width: 0;
    box-sizing: border-box;
    padding: 1.5rem;
    overflow: hidden;
    border: 1px solid rgba(255, 187, 0, 0.3);
    border-radius: 20px;
    background:
        radial-gradient(
            ellipse at 100% 0%,
            rgba(255, 187, 0, 0.13),
            transparent 48%
        ),
        linear-gradient(145deg, #202329, #141619 72%);
    box-shadow:
        0 20px 55px rgba(0, 0, 0, 0.32),
        0 0 30px rgba(255, 187, 0, 0.045);
}

#kalkulator #summary::before {
    display: block;
    content: "";
    width: 48px;
    height: 4px;
    margin-bottom: 1.15rem;
    border-radius: 4px;
    background: var(--calc-yellow);
    box-shadow: 0 0 16px rgba(255, 187, 0, 0.45);
}

#kalkulator #summary h4 {
    margin: 0 0 1.3rem;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.025em;
}

#kalkulator #summary ul {
    display: flex;
    flex-direction: column;
    gap: 0;
}

#kalkulator #summary li {
    padding: 0.85rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.075);
    color: #e5e7eb;
    font-size: 0.87rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

#kalkulator #summary li:first-child {
    padding-top: 0.25rem;
}

#kalkulator #summary li strong {
    color: #fff;
    font-weight: 750;
}

#kalkulator #summary li strong[style*="float"] {
    color: var(--calc-yellow);
    white-space: nowrap;
    margin-left: 0.5rem;
}

#kalkulator #summary li small {
    display: inline-block;
    margin-top: 0.15rem;
    color: var(--calc-muted);
    font-size: 0.78rem;
}

/* Wiersze z kaucją */

#kalkulator #summary li.muted {
    border-bottom: 0;
    padding: 0.45rem 0;
    color: #aeb4be;
    font-size: 0.81rem;
}

#kalkulator #summary li.muted strong {
    color: var(--calc-yellow-light);
}

/* Separator przed kaucją */

#kalkulator #summary hr {
    height: 1px;
    margin: 1rem 0;
    border: 0;
    background: linear-gradient(
        90deg,
        rgba(255, 187, 0, 0.65),
        rgba(255, 255, 255, 0.06)
    );
}

/* Kwota końcowa */

#kalkulator #summary > p:has(#total) {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 1.2rem 0 1rem;
    padding: 1rem;
    border: 1px solid rgba(255, 187, 0, 0.27);
    border-radius: 13px;
    background: rgba(255, 187, 0, 0.075);
}

#kalkulator #summary > p:has(#total) strong {
    color: #fff;
    font-size: 0.92rem;
    letter-spacing: 0.025em;
}

#kalkulator #total {
    display: inline-block;
    color: var(--calc-yellow);
    font-size: clamp(1.65rem, 2.5vw, 2.15rem);
    font-weight: 900;
    letter-spacing: -0.045em;
    line-height: 1.15;
    text-shadow: 0 0 20px rgba(255, 187, 0, 0.13);
    white-space: nowrap;
}

#kalkulator #summary > p.muted.small {
    margin: 1rem 0 0;
    color: #959ba5;
    font-size: 0.76rem;
    line-height: 1.75;
}

/* Dostępność — wyraźna klawiaturowa nawigacja */

#kalkulator input:focus-visible {
    outline: 2px solid var(--calc-yellow);
    outline-offset: 3px;
}

/* =========================================================
   RESPONSYWNOŚĆ
   ========================================================= */

@media (max-width: 1000px) {
    #kalkulator {
        grid-template-columns: minmax(0, 1fr) 310px !important;
        gap: 1.25rem !important;
        width: min(100% - 32px, 900px);
    }

    #kalkulator fieldset {
        padding: 1.15rem;
    }

    #kalkulator #summary {
        padding: 1.2rem;
    }
}

@media (max-width: 760px) {
    #kalkulator {
        grid-template-columns: minmax(0, 1fr) !important;
        width: calc(100% - 28px);
        gap: 1.5rem !important;
        margin: 2rem auto !important;
    }

    #kalkulator > div:first-child {
        width: 100%;
    }

    #kalkulator h3 {
        font-size: clamp(1.7rem, 7vw, 2.25rem);
    }

    #kalkulator fieldset {
        margin-bottom: 1rem;
        padding: 1rem;
        border-radius: 15px;
    }

    #kalkulator legend {
        font-size: 0.7rem;
        letter-spacing: 0.075em;
    }

    #kalkulator #calculator-form > fieldset > label {
        gap: 0.6rem;
        min-height: 54px;
        padding: 0.75rem;
        font-size: 0.88rem;
    }

    #kalkulator input.days {
        flex-basis: 64px;
        width: 64px !important;
        height: 37px;
    }

    #kalkulator #summary {
        position: static !important;
        top: auto !important;
        width: 100%;
        padding: 1.25rem;
        border-radius: 17px;
    }

    #kalkulator #summary h4 {
        font-size: 1.2rem;
    }

    #kalkulator #total {
        font-size: 1.8rem;
    }
}

@media (max-width: 420px) {
    #kalkulator {
        width: calc(100% - 20px);
    }

    #kalkulator fieldset {
        padding: 0.8rem;
    }

    #kalkulator #calculator-form > fieldset > label {
        gap: 0.45rem;
        padding: 0.7rem 0.6rem;
        font-size: 0.82rem;
    }

    #kalkulator input[type="checkbox"] {
        width: 17px;
        height: 17px;
    }

    #kalkulator input.days {
        flex-basis: 54px;
        width: 54px !important;
        height: 35px;
        font-size: 0.85rem;
    }

    #kalkulator #calculator-form > fieldset > label > .muted.small {
        font-size: 0.7rem;
    }

    #kalkulator #summary > p:has(#total) {
        padding: 0.8rem;
    }

    #kalkulator #summary > p:has(#total) strong {
        font-size: 0.8rem;
    }

    #kalkulator #total {
        font-size: 1.55rem;
    }
}

/* Ograniczenie animacji zgodnie z preferencjami użytkownika */

@media (prefers-reduced-motion: reduce) {
    #kalkulator *,
    #kalkulator *::before,
    #kalkulator *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}



/* =========================================
   DIGGERPRO — INDEX.HTML
   Tylko responsywność
   ========================================= */

/* Zapobieganie wychodzeniu elementów poza ekran */
body {
    min-width: 0;
    overflow-x: clip;
}

main,
.hero,
.hero-content,
.stats,
#machines,
.cards,
footer {
    min-width: 0;
    box-sizing: border-box;
}

img {
    max-width: 100%;
    height: auto;
}

/* Obraz koparki */
.excavator {
    max-width: 100%;
    height: auto;
    pointer-events: none;
}

/* Karty i statystyki — bez wymuszania szerokości */
.stat,
.machine-card {
    min-width: 0;
    box-sizing: border-box;
}

.machine-card h3,
.machine-card p,
.company-name {
    overflow-wrap: anywhere;
}



.footer-info > div {
    float: none !important;
    min-width: 0;
}

/* =========================================
   TABLET
   ========================================= */
@media (max-width: 1024px) {
    .hero h1 {
        font-size: clamp(2rem, 4.5vw, 3.2rem);
        overflow-wrap: break-word;
    }

    .hero-content {
        max-width: 100%;
    }

    .hero p {
        max-width: 100%;
    }

    .cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .machine-card {
        padding: 1rem;
    }
}

/* =========================================
   TELEFON
   ========================================= */
@media (max-width: 980px) {
    /* Panel nawigacyjny przechodzi nad treść */
    .sidebar {
        position: relative;
        inset: auto;
        width: 100%;
        height: auto;
        min-height: 0;
        box-sizing: border-box;
        margin: 0px auto;
    }

    .sidebar nav {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.4rem;
        width: 100%;
    }

    .sidebar nav a {
        min-width: 0;
        justify-content: center;
        box-sizing: border-box;
        text-align: center;
    }

    .sidebar-contact {
        width: 100%;
        box-sizing: border-box;
    }

    .phone-btn {
        max-width: 100%;
        box-sizing: border-box;
    }

    /* Treść zajmuje całą szerokość */
    main {
        width: 100%;
        min-width: 0;
        margin-left: 0;
        padding-left: 1rem;
        padding-right: 1rem;
        box-sizing: border-box;
    }

    .hero {
        min-height: 0;
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .hero-content {
        width: 100%;
    }

    .hero h1 {
        font-size: clamp(1.9rem, 7vw, 3rem);
        line-height: 1.15;
    }

    .hero p {
        font-size: 1rem;
        line-height: 1.65;
    }

    .badge {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .hero-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .hero-buttons .btn {
        max-width: 100%;
        box-sizing: border-box;
        text-align: center;
    }

    .excavator {
        width: 75%;
        max-width: 75%;
        height: auto;
    }

    /* Statystyki */
    .stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.6rem;
    }

    .stat {
        min-width: 0;
        padding: 0.9rem 0.4rem;
        text-align: center;
    }

    .stat h3 {
        font-size: clamp(1.2rem, 5vw, 1.8rem);
    }

    .stat p {
        font-size: 0.8rem;
        overflow-wrap: anywhere;
    }

    /* Maszyny */
    #machines {
        width: 100%;
    }

    .cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .machine-card h3 {
        font-size: 1rem;
        line-height: 1.4;
    }

    /* Stopka */
    .footer-info {
        justify-content: space-between;
    }

    .company-name {
        font-size: 0.8rem;
        line-height: 1.6;
    }
}

/* =========================================
   WĄSKIE TELEFONY
   ========================================= */
@media (max-width: 420px) {
    main {
        padding-left: 0.7rem;
        padding-right: 0.7rem;
    }

    .sidebar nav {
        gap: 0.2rem;
    }

    .sidebar nav a {
        padding-left: 0.15rem;
        padding-right: 0.15rem;
        font-size: 0.75rem;
    }

    .hero {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    .hero h1 {
        font-size: clamp(1.75rem, 8vw, 2.4rem);
    }

    .hero-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-buttons .btn {
        width: 100%;
    }

    .stats {
        gap: 0.35rem;
    }

    .stat {
        padding: 0.75rem 0.2rem;
    }

    .stat h3 {
        font-size: 1.15rem;
    }

    .stat p {
        font-size: 0.68rem;
    }

    .cards {
        grid-template-columns: minmax(0, 1fr);
    }

    .footer-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .company-name {
        text-align: left;
    }
}

/* Dostępność */
@media (prefers-reduced-motion: reduce) {
    .sidebar *,
    main *,
    footer * {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}
