/* Przygody Paco – Navigation CSS v2.7.0 */

/* CHECKBOX – CSS-only mobile menu */
.paco-menu-state { position:absolute;top:-9999px;left:-9999px;opacity:0;pointer-events:none;width:0;height:0;margin:0;padding:0;-webkit-appearance:none;appearance:none; }

/* SEARCH OVERLAY PANEL – domyślnie SCHOWANE */
.search-overlay-panel { position:fixed;inset:0;z-index:99995;display:none;align-items:flex-start;justify-content:center;pointer-events:none; }
#paco-search-state:checked ~ .search-overlay-panel { display:flex; }

/* HEADER */
.site-header { position:sticky;top:0;z-index:9990;background:#1C2B24;border-bottom:none;width:100%;box-sizing:border-box;overflow:visible;transition:box-shadow .25s; }
.site-header.scrolled { box-shadow:0 4px 24px rgba(0,0,0,.4); }
.site-header__inner { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:0;height:100px;max-width:1400px;margin:0 auto;width:100%;padding:0 40px;box-sizing:border-box; }
.admin-bar .site-header { top:32px; }
@media screen and (max-width:782px) { .admin-bar .site-header { top:46px; } }

/* LOGO */
.site-logo { display:flex;align-items:center;text-decoration:none;flex-shrink:0;margin-right:32px; }
.site-logo__img,.site-logo .custom-logo-link img,.site-logo .custom-logo { height:104px!important;width:auto!important;max-height:104px!important;display:block;border-radius:0;filter:drop-shadow(0 2px 10px rgba(0,0,0,.4));transition:transform .2s ease; }
.site-logo:hover .site-logo__img,.site-logo:hover .custom-logo-link img,.site-logo:hover .custom-logo { transform:scale(1.04); }
/* Logo tekstowe – fallback gdy brak pliku graficznego */
.site-logo__text {
    font-family: var(--font-heading, 'Nunito', sans-serif);
    font-size: 1.25rem;
    font-weight: 900;
    color: #fff !important;
    letter-spacing: -.03em;
    line-height: 1.2;
    display: block;
    padding: 4px 0;
    text-decoration: none;
}

/* Upewnij się że link logo nie ma koloru dziedziczonego */
.site-logo,
.site-logo:hover,
.site-logo:visited {
    color: #fff;
    text-decoration: none;
}


/* NAV DESKTOP */
.site-nav { flex:1;display:flex;align-items:center;justify-content:center;min-width:0; }
.site-nav .nav-menu { display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:2px;flex-wrap:nowrap; }
.site-nav .nav-menu > li { position:relative;margin:0; }
.site-nav .nav-menu > li > a { display:flex;align-items:center;gap:4px;padding:9px 14px;font-family:var(--font-heading);font-size:.9rem;font-weight:700;color:rgba(255,255,255,.82);border-radius:8px;text-decoration:none;white-space:nowrap;letter-spacing:-.01em;transition:background .15s,color .15s; }
.site-nav .nav-menu > li > a:hover,.site-nav .nav-menu > li.current-menu-item > a,.site-nav .nav-menu > li.current-menu-ancestor > a { background:rgba(255,255,255,.1);color:#fff; }
.site-nav .nav-menu > li.current-menu-item > a { color:#5DBE7B; }
.site-nav .nav-menu > li.menu-item-has-children > a::after { content:'';width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.5);flex-shrink:0;transition:transform .2s; }
.site-nav .nav-menu > li.menu-item-has-children:hover > a::after,.site-nav .nav-menu > li.menu-item-has-children:focus-within > a::after { transform:rotate(180deg); }
/* Dropdown */
.site-nav .nav-menu > li > ul.sub-menu { position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-6px);background:#fff;border:1px solid #e6e4dc;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.18);min-width:200px;padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,visibility .18s,transform .18s;z-index:600; }
.site-nav .nav-menu > li > ul.sub-menu::before { content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:12px;height:12px;background:#fff;border-left:1px solid #e6e4dc;border-top:1px solid #e6e4dc;rotate:45deg; }
.site-nav .nav-menu > li:hover > ul.sub-menu,.site-nav .nav-menu > li:focus-within > ul.sub-menu { opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0); }
.site-nav .nav-menu > li > ul.sub-menu > li > a { display:block;padding:10px 14px;font-size:.875rem;font-weight:600;color:#5a5a5a;border-radius:8px;text-decoration:none;white-space:nowrap;transition:background .12s,color .12s; }
.site-nav .nav-menu > li > ul.sub-menu > li > a:hover,.site-nav .nav-menu > li > ul.sub-menu > li.current-menu-item > a { background:rgba(61,122,79,.09);color:#3D7A4F; }

/* HEADER RIGHT */
.site-header__right { display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:24px; }

/* SOCIAL KAFELKI */
.header-socials { display:flex;align-items:center;gap:8px; }
.hsoc { display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:70px;height:64px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.8);text-decoration:none;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;transition:transform .22s cubic-bezier(.175,.885,.32,1.275),background .18s,color .18s,box-shadow .18s,border-color .18s;white-space:nowrap; }
.hsoc svg { flex-shrink:0;transition:transform .18s; }
.hsoc:hover { transform:translateY(-3px) scale(1.05);color:#fff;border-color:transparent; }
.hsoc:hover svg { transform:scale(1.08); }
.hsoc--ig:hover { background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);box-shadow:0 6px 20px rgba(214,36,159,.45); }
.hsoc--tt:hover { background:#111;box-shadow:-3px -3px 12px rgba(255,0,80,.4),3px 3px 12px rgba(0,242,234,.4); }
.hsoc--yt:hover { background:#FF0000;box-shadow:0 6px 20px rgba(255,0,0,.45); }

/* LUPA */
.header-search-link { display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:12px;color:rgba(255,255,255,.8);text-decoration:none;transition:background .15s,color .15s,transform .15s;flex-shrink:0;cursor:pointer; }
.header-search-link:hover { background:rgba(255,255,255,.16);color:#fff;transform:scale(1.05); }

/* HAMBURGER – LABEL */
.menu-toggle { display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:46px;height:46px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;padding:12px;flex-shrink:0;transition:background .15s;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none; }
.menu-toggle:hover { background:rgba(255,255,255,.16); }
.bar { display:block;width:20px;height:2px;background:rgba(255,255,255,.9);border-radius:2px;transform-origin:center;transition:transform .3s ease,opacity .3s ease;pointer-events:none; }
/* Animacja X hamburgera gdy menu otwarte */
.paco-menu-state:checked ~ .site-header .bar:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.paco-menu-state:checked ~ .site-header .bar:nth-child(2) { opacity:0;transform:scaleX(0); }
.paco-menu-state:checked ~ .site-header .bar:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* OVERLAY MENU */
.mob-overlay { position:fixed;inset:0;z-index:9991;background:rgba(0,0,0,.65);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .32s ease,visibility .32s ease;cursor:pointer;display:none; }
@media (max-width:1024px) {
    .mob-overlay { display:block; }
    .paco-menu-state:checked ~ .mob-overlay { opacity:1;visibility:visible; }
}

/* MOBILE MENU – DRAWER */
.mob-menu { position:fixed;top:0;right:0;bottom:0;z-index:9992;width:min(340px,88vw);background:#1C2B24;display:none;flex-direction:column;transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);box-shadow:-6px 0 40px rgba(0,0,0,.5);overflow:hidden; }
@media (max-width:1024px) {
    .mob-menu { display:flex;transform:translateX(100%); }
    .paco-menu-state:checked ~ .mob-menu { transform:translateX(0); }
}
.admin-bar .mob-menu { top:32px; }
.admin-bar .mob-overlay { top:32px; }
@media screen and (max-width:782px) { .admin-bar .mob-menu,.admin-bar .mob-overlay { top:46px; } }

/* MENU TOP */
.mob-menu__top { display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;background:#152019;min-height:68px; }
.mob-menu__top .site-logo__img,.mob-menu__top .custom-logo-link img,.mob-menu__top .custom-logo { height:46px!important;width:auto!important;max-height:46px!important;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4)); }
.mob-menu__close { display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;background:rgba(255,255,255,.1);border-radius:50%;cursor:pointer;color:#fff;flex-shrink:0;transition:background .15s,transform .2s;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none; }
.mob-menu__close:hover,.mob-menu__close:active { background:rgba(255,255,255,.2);transform:rotate(90deg); }
.mob-menu__close svg { pointer-events:none;display:block; }

/* SEARCH W MOBILE MENU */
.mob-menu__search { padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0; }
.mob-menu__search form { display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.12);border-radius:999px;padding:0 8px 0 14px;transition:border-color .15s; }
.mob-menu__search form:focus-within { border-color:#3D7A4F; }
.mob-menu__search form svg { color:rgba(255,255,255,.4);flex-shrink:0; }
.mob-menu__search input[type="search"] { flex:1;background:transparent;border:none;color:#fff;font-size:.9rem;font-family:var(--font-body);padding:11px 0;outline:none;min-width:0;-webkit-appearance:none; }
.mob-menu__search input::placeholder { color:rgba(255,255,255,.35); }
.mob-menu__search button { flex-shrink:0;padding:7px 14px;background:#3D7A4F;border:none;border-radius:999px;color:#fff;font-family:var(--font-heading);font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s;-webkit-tap-highlight-color:transparent; }
.mob-menu__search button:hover { background:#2C5C3A; }

/* NAV W MOBILE MENU */
.mob-menu__nav { flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:6px 0; }
.mob-menu__nav .mobile-nav { list-style:none;padding:0;margin:0; }
.mob-menu__nav .mobile-nav > li { border-bottom:1px solid rgba(255,255,255,.05);margin:0; }
.mob-menu__nav .mobile-nav > li:last-child { border-bottom:none; }
.mobile-menu__item-wrap { display:flex;align-items:center; }
.mob-menu__nav .mobile-nav > li > .mobile-menu__item-wrap > a { flex:1;display:block;padding:14px 20px;font-family:var(--font-heading);font-size:1rem;font-weight:700;color:rgba(255,255,255,.85);text-decoration:none;transition:color .15s,background .15s;letter-spacing:-.01em; }
.mob-menu__nav .mobile-nav > li > .mobile-menu__item-wrap > a:hover,.mob-menu__nav .mobile-nav > li.current-menu-item > .mobile-menu__item-wrap > a { color:#5DBE7B;background:rgba(93,190,123,.06); }
.submenu-toggle { width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:rgba(255,255,255,.4);flex-shrink:0;transition:color .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent; }
.submenu-toggle:hover { color:rgba(255,255,255,.8); }
.submenu-toggle svg { transition:transform .25s ease;pointer-events:none; }
.submenu-toggle[aria-expanded="true"] { color:#5DBE7B; }
.submenu-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.mob-menu__nav .mobile-nav .sub-menu { list-style:none;padding:0;margin:0;background:rgba(0,0,0,.2);border-top:1px solid rgba(255,255,255,.05);max-height:0;overflow:hidden;transition:max-height .3s ease; }
.mob-menu__nav .mobile-nav .sub-menu.is-open { max-height:600px; }
.mob-menu__nav .mobile-nav .sub-menu li a { display:flex;align-items:center;gap:8px;padding:11px 20px 11px 34px;font-size:.875rem;font-weight:600;color:rgba(255,255,255,.6);text-decoration:none;transition:color .15s,background .15s; }
.mob-menu__nav .mobile-nav .sub-menu li a::before { content:'–';color:#5DBE7B;opacity:.7;font-size:.75rem;flex-shrink:0; }
.mob-menu__nav .mobile-nav .sub-menu li a:hover { color:rgba(255,255,255,.9);background:rgba(255,255,255,.04); }

/* SOCIAL W MOBILE MENU */
.mob-menu__foot { flex-shrink:0;padding:16px 16px 24px;border-top:1px solid rgba(255,255,255,.08);background:#152019; }
.mob-menu__foot-label { font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.35);margin:0 0 12px;display:block; }
.mob-menu__socials { display:flex;gap:8px; }
.msoc { flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 6px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.75);text-decoration:none;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;transition:transform .22s cubic-bezier(.175,.885,.32,1.275),background .18s,color .18s,box-shadow .18s;-webkit-tap-highlight-color:transparent; }
.msoc:hover,.msoc:active { transform:translateY(-3px);color:#fff;border-color:transparent; }
.msoc--ig:hover,.msoc--ig:active { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);box-shadow:0 6px 18px rgba(214,36,159,.4); }
.msoc--tt:hover,.msoc--tt:active { background:#111;box-shadow:-3px -3px 10px rgba(255,0,80,.35),3px 3px 10px rgba(0,242,234,.35); }
.msoc--yt:hover,.msoc--yt:active { background:#FF0000;box-shadow:0 6px 18px rgba(255,0,0,.4); }

/* SEARCH OVERLAY PANEL */
.search-overlay-panel__bg { position:fixed;inset:0;background:rgba(10,16,13,.75);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;cursor:pointer;display:block; }
#paco-search-state:checked ~ .search-overlay-panel .search-overlay-panel__bg { opacity:1;visibility:visible; }
.search-overlay-panel__box { position:relative;margin-top:14vh;width:92%;max-width:640px;background:#1C2B24;border:1.5px solid rgba(255,255,255,.12);border-radius:20px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.5);display:flex;align-items:center;gap:12px;opacity:0;visibility:hidden;transform:translateY(-16px) scale(.98);transition:opacity .28s ease,visibility .28s ease,transform .28s ease;pointer-events:auto; }
#paco-search-state:checked ~ .search-overlay-panel .search-overlay-panel__box { opacity:1;visibility:visible;transform:translateY(0) scale(1); }
.search-overlay-panel__form { flex:1;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.15);border-radius:999px;padding:4px 6px 4px 20px;transition:border-color .15s,background .15s; }
.search-overlay-panel__form:focus-within { border-color:#3D7A4F;background:rgba(255,255,255,.12);box-shadow:0 0 0 4px rgba(61,122,79,.2); }
.search-overlay-panel__icon { display:flex;align-items:center;color:rgba(255,255,255,.4);flex-shrink:0; }
.search-overlay-panel__input { flex:1;background:transparent;border:none;color:#fff;font-size:1.0625rem;font-family:var(--font-body);padding:14px 0;outline:none;min-width:0;-webkit-appearance:none; }
.search-overlay-panel__input::placeholder { color:rgba(255,255,255,.55); }
.search-overlay-panel__submit { flex-shrink:0;padding:12px 26px;background:#3D7A4F;color:#fff;border:none;border-radius:999px;font-family:var(--font-heading);font-size:.9rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,transform .15s; }
.search-overlay-panel__submit:hover { background:#2C5C3A;transform:scale(1.03); }
.search-overlay-panel__close { flex-shrink:0;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:50%;cursor:pointer;color:rgba(255,255,255,.75);transition:background .15s,color .15s,transform .2s;-webkit-tap-highlight-color:transparent; }
.search-overlay-panel__close:hover { background:rgba(255,255,255,.16);color:#fff;transform:rotate(90deg); }
.admin-bar .search-overlay-panel__box { margin-top:calc(14vh + 32px); }
@media screen and (max-width:782px) { .admin-bar .search-overlay-panel__box { margin-top:calc(10vh + 46px); } }
@media (max-width:640px) { .search-overlay-panel__box { margin-top:10vh;padding:18px;border-radius:16px;flex-wrap:wrap; } .search-overlay-panel__form { width:100%; } .search-overlay-panel__close { position:absolute;top:-14px;right:-14px;background:#3D7A4F;border-color:transparent; } }

/* STOPKA */
.site-footer { background:#152019;border-top:none; }
.site-footer__inner { display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;max-width:1400px;margin:0 auto;padding:24px 40px;width:100%;box-sizing:border-box; }
.site-footer__spacer {}
.site-footer__copy { text-align:center;justify-self:center; }
.site-footer__copy p { font-size:.8rem;color:rgba(255,255,255,.4);margin:0 0 3px;line-height:1.5; }
.site-footer__copy p:last-child { margin:0; }
.site-footer__copy strong { color:rgba(255,255,255,.65); }
.site-footer__copy a { color:rgba(255,255,255,.4);text-decoration:none;transition:color .15s; }
.site-footer__copy a:hover { color:#5DBE7B; }
.site-footer__powered { font-size:.72rem!important;color:rgba(255,255,255,.25)!important; }
.site-footer__social { display:flex;gap:10px;align-items:center;justify-self:end; }
.footer-social-link { display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.6);text-decoration:none;transition:transform .2s,background .2s,color .2s,box-shadow .2s,border-color .2s; }
.footer-social-link:hover { transform:translateY(-3px);color:#fff;border-color:transparent; }
.footer-social-link--instagram:hover { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);box-shadow:0 6px 16px rgba(214,36,159,.4); }
.footer-social-link--tiktok:hover { background:#000;box-shadow:-2px -2px 8px rgba(255,0,80,.3),2px 2px 8px rgba(0,242,234,.3); }
.footer-social-link--youtube:hover { background:#FF0000;box-shadow:0 6px 16px rgba(255,0,0,.4); }

/* RESPONSYWNOŚĆ */
@media (max-width:1024px) {
    .site-nav { display:none!important; }
    .header-socials { display:none!important; }
    .header-search-link { display:none!important; }
    .menu-toggle { display:flex!important; }
}
@media (min-width:1025px) {
    .menu-toggle { display:none!important; }
    .header-socials { display:flex; }
    .site-nav { display:flex; }
    .header-search-link { display:inline-flex; }
}
@media (max-width:768px) {
    .site-header__inner { grid-template-columns:auto 1fr auto;height:76px;padding:0 16px;gap:0; }
    .site-header__inner .site-logo { grid-column:1;justify-self:start;margin-right:0; }
    .site-header__inner .site-nav { display:none; }
    .site-header__inner .site-header__right { grid-column:3;justify-self:end; }
    .site-logo__img,.site-logo .custom-logo-link img,.site-logo .custom-logo { height:62px!important;max-height:62px!important; }
    .site-footer__inner { grid-template-columns:1fr;justify-items:center;gap:16px;padding:20px 16px; }
    .site-footer__spacer { display:none; }
    .site-footer__copy { text-align:center;justify-self:center;order:1; }
    .site-footer__social { justify-self:center;order:2; }
}
@media (max-width:480px) {
    .site-header__inner { height:68px;padding:0 12px; }
    .site-logo__img,.site-logo .custom-logo-link img,.site-logo .custom-logo { height:54px!important;max-height:54px!important; }
    .menu-toggle { width:40px;height:40px;border-radius:10px; }
}

/* ============================================================
   STOPKA – projekt gdziezpsem.com
   ============================================================ */
.site-footer__project {
    justify-self: start;
}

.footer-project-link {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    padding: 10px 18px 10px 10px;
    border-radius: 16px;
    border: 1px solid rgba(79,195,247,.25);
    background: linear-gradient(135deg, rgba(27,43,75,.8) 0%, rgba(27,43,75,.6) 100%);
    box-shadow: 0 0 0 0 rgba(79,195,247,0), inset 0 1px 0 rgba(255,255,255,.08);
    position: relative;
    overflow: hidden;
    transition: border-color .3s, box-shadow .3s, transform .3s cubic-bezier(.175,.885,.32,1.275);
}

/* Shimmer sweep na hover */
.footer-project-link::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg,
        transparent 35%,
        rgba(79,195,247,.12) 50%,
        transparent 65%
    );
    transform: translateX(-100%);
    transition: transform .55s ease;
}

.footer-project-link:hover::before {
    transform: translateX(100%);
}

/* Glow pulse border */
.footer-project-link::after {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: 17px;
    background: linear-gradient(135deg, #4FC3F7, #4CAF50);
    opacity: 0;
    z-index: -1;
    transition: opacity .3s ease;
}

.footer-project-link:hover {
    border-color: rgba(79,195,247,.6);
    box-shadow: 0 0 20px rgba(79,195,247,.25), 0 4px 20px rgba(0,0,0,.3);
    transform: translateY(-3px) scale(1.02);
}

/* Animacja wejścia – logo kręci się raz przy załadowaniu */
.footer-project__logo {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    flex-shrink: 0;
    display: block;
    filter: drop-shadow(0 2px 8px rgba(79,195,247,.4));
    animation: paco-logo-spin-in .8s cubic-bezier(.175,.885,.32,1.275) both;
    transition: transform .3s cubic-bezier(.175,.885,.32,1.275), filter .3s;
}

@keyframes paco-logo-spin-in {
    from { opacity: 0; transform: rotate(-180deg) scale(.5); }
    to   { opacity: 1; transform: rotate(0deg) scale(1); }
}

.footer-project-link:hover .footer-project__logo {
    transform: rotate(8deg) scale(1.12);
    filter: drop-shadow(0 4px 14px rgba(79,195,247,.6));
}

.footer-project__text {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.footer-project__name {
    font-family: var(--font-heading, 'Nunito', sans-serif);
    font-size: .9375rem;
    font-weight: 900;
    color: #fff;
    line-height: 1.2;
    letter-spacing: -.01em;
    background: linear-gradient(90deg, #fff 0%, #4FC3F7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    transition: filter .3s;
}

.footer-project__desc {
    font-size: .72rem;
    font-weight: 700;
    color: rgba(79,195,247,.7);
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* Łapka emoji pulsuje */
.footer-project__desc::after {
    content: ' 🐾';
    display: inline-block;
    animation: paco-paw-pulse 2s ease-in-out infinite;
}

@keyframes paco-paw-pulse {
    0%, 100% { transform: scale(1) rotate(0deg); opacity: .7; }
    50%       { transform: scale(1.3) rotate(-10deg); opacity: 1; }
}

/* Mobile – wyśrodkuj */
@media (max-width: 768px) {
    .site-footer__project {
        justify-self: center;
        order: 0;
    }
}
