/* Step 73: isolated, readable footer for ads.szczecintut.pl */
.ads-site-footer {
    margin-top: 42px;
    padding: 34px 0 calc(34px + env(safe-area-inset-bottom));
    background: #0b1220;
    color: #dbe4f0;
    border-top: 1px solid rgba(255,255,255,.08);
}

.ads-footer-inner {
    display: grid;
    grid-template-columns: minmax(230px, 1.55fr) repeat(3, minmax(140px, 1fr));
    gap: 34px;
    align-items: start;
}

.ads-footer-brand,
.ads-footer-nav {
    min-width: 0;
}

.ads-footer-logo {
    display: inline-flex;
    align-items: baseline;
    gap: 3px;
    margin: 0 0 12px;
    color: #fff !important;
    font-size: 27px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.8px;
    text-decoration: none !important;
}

.ads-footer-logo span {
    color: #60a5fa !important;
}

.ads-footer-logo small {
    margin-left: 7px;
    color: #9fb0c5;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
}

.ads-footer-brand p {
    max-width: 390px;
    margin: 0;
    color: #b8c5d5 !important;
    font-size: 14px;
    line-height: 1.6;
    opacity: 1 !important;
}

.ads-footer-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ads-footer-nav a {
    display: block;
    margin: 0 !important;
    color: #dbeafe !important;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 650;
    text-decoration: none;
    opacity: 1 !important;
}

.ads-footer-nav a:hover {
    color: #fff !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ads-footer-nav span {
    color: #9fb0c5 !important;
    font-size: 13px;
    line-height: 1.4;
    opacity: 1 !important;
}

@media (max-width: 900px) {
    .ads-footer-inner {
        grid-template-columns: 1.4fr 1fr 1fr;
        gap: 28px;
    }
    .ads-footer-legal {
        grid-column: 2 / -1;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 10px 18px;
    }
}

@media (max-width: 640px) {
    .ads-site-footer {
        margin-top: 28px;
        padding: 26px 0 calc(92px + env(safe-area-inset-bottom));
    }
    .ads-footer-inner {
        grid-template-columns: 1fr 1fr;
        gap: 24px 20px;
    }
    .ads-footer-brand {
        grid-column: 1 / -1;
    }
    .ads-footer-logo {
        font-size: 25px;
    }
    .ads-footer-brand p {
        font-size: 13px;
        line-height: 1.55;
    }
    .ads-footer-nav {
        gap: 9px;
    }
    .ads-footer-nav a {
        font-size: 13px;
    }
    .ads-footer-legal {
        grid-column: 1 / -1;
        padding-top: 18px;
        border-top: 1px solid rgba(255,255,255,.1);
        flex-direction: row;
        flex-wrap: wrap;
        gap: 9px 16px;
    }
}


/* Step 75: hard isolation from global footer/container styles. */
.ads-site-footer,
.ads-site-footer * {
    box-sizing: border-box;
}

.ads-site-footer .ads-footer-inner.site-container,
.ads-site-footer .ads-footer-inner {
    width: min(1180px, calc(100% - 32px)) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #e5edf7 !important;
    opacity: 1 !important;
}

.ads-site-footer .ads-footer-brand,
.ads-site-footer .ads-footer-nav,
.ads-site-footer .ads-footer-legal {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

.ads-site-footer .ads-footer-logo,
.ads-site-footer .ads-footer-logo:visited,
.ads-site-footer .ads-footer-logo:hover {
    color: #ffffff !important;
    opacity: 1 !important;
}

.ads-site-footer .ads-footer-logo span {
    color: #60a5fa !important;
}

.ads-site-footer .ads-footer-logo small,
.ads-site-footer .ads-footer-brand p,
.ads-site-footer .ads-footer-nav span {
    color: #c7d3e2 !important;
    opacity: 1 !important;
}

.ads-site-footer .ads-footer-nav a,
.ads-site-footer .ads-footer-nav a:visited {
    color: #f1f5f9 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.ads-site-footer .ads-footer-nav a:hover,
.ads-site-footer .ads-footer-nav a:focus-visible {
    color: #93c5fd !important;
}

@media (max-width: 640px) {
    .ads-site-footer {
        padding-top: 24px !important;
        padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important;
    }

    .ads-site-footer .ads-footer-inner.site-container,
    .ads-site-footer .ads-footer-inner {
        width: min(100% - 28px, 680px) !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 22px 18px !important;
    }

    .ads-site-footer .ads-footer-brand {
        grid-column: 1 / -1 !important;
    }

    .ads-site-footer .ads-footer-logo {
        font-size: 24px !important;
    }

    .ads-site-footer .ads-footer-brand p,
    .ads-site-footer .ads-footer-nav a,
    .ads-site-footer .ads-footer-nav span {
        font-size: 14px !important;
        line-height: 1.45 !important;
    }

    .ads-site-footer .ads-footer-legal {
        grid-column: 1 / -1 !important;
        padding-top: 16px !important;
    }
}


/* STEP76: admin welcome, SEO introduction */
.ads-admin-welcome{margin:14px 0 18px;border:1px solid #bfdbfe;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#ffffff);box-shadow:0 8px 24px rgba(37,99,235,.08);overflow:hidden}
.ads-admin-welcome details{margin:0}
.ads-admin-welcome summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;font-weight:800;color:#1e3a8a;list-style:none}
.ads-admin-welcome summary::-webkit-details-marker{display:none}
.ads-admin-welcome-arrow{font-size:22px;transition:transform .2s ease}
.ads-admin-welcome details[open] .ads-admin-welcome-arrow{transform:rotate(180deg)}
.ads-admin-welcome-body{padding:0 18px 18px;color:#334155;line-height:1.6}
.ads-admin-welcome-body h1{margin:2px 0 10px;font-size:clamp(22px,3vw,32px);line-height:1.15;color:#0f172a}
.ads-admin-welcome-body p{margin:9px 0}
.ads-admin-welcome-body a{font-weight:700}
.ads-admin-welcome-cta{display:inline-flex;margin-top:8px;padding:11px 16px;border-radius:12px;background:#2563eb;color:#fff!important;text-decoration:none}
.ads-seo-intro{margin:28px 0 90px;padding:22px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;color:#475569}
.ads-seo-intro h2{margin:0 0 10px;color:#0f172a;font-size:22px}
.ads-seo-intro p{margin:0;line-height:1.7}
@media(max-width:700px){.ads-admin-welcome{margin:10px 0 14px;border-radius:14px}.ads-admin-welcome summary{padding:14px}.ads-admin-welcome-body{padding:0 14px 15px}.ads-seo-intro{margin:22px 0 86px;padding:17px}}

/* STEP 77: feedback, dismissible admin welcome and ads error pages */
.ads-admin-welcome-summary-actions{display:flex;align-items:center;gap:10px}
.ads-admin-welcome-dismiss{border:0;background:rgba(255,255,255,.85);color:#475569;width:30px;height:30px;border-radius:999px;cursor:pointer;font-size:20px;line-height:1;box-shadow:0 1px 5px rgba(15,23,42,.12)}
.ads-admin-welcome-dismiss:hover{background:#fff;color:#0f172a}
.ads-feedback-page{max-width:760px;margin:20px auto 90px}
.ads-feedback-page .feedback-form{display:grid;gap:15px;margin-top:22px}
.ads-feedback-page .feedback-form label{display:grid;gap:7px;font-weight:700;color:#1e293b}
.ads-feedback-page input,.ads-feedback-page select,.ads-feedback-page textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:12px 14px;background:#fff;color:#0f172a;font:inherit}
.ads-feedback-page textarea{resize:vertical;min-height:150px}
.ads-feedback-page .btn-primary{justify-self:start;border:0;border-radius:12px;background:#2563eb;color:#fff;padding:12px 18px;font-weight:800;cursor:pointer}
.form-success{padding:13px 15px;border:1px solid #86efac;background:#f0fdf4;color:#166534;border-radius:12px;margin:15px 0}
.ads-error-page{max-width:720px;margin:40px auto 100px;text-align:center;padding:36px 24px;border:1px solid #e2e8f0;border-radius:20px;background:#fff}
.ads-error-code{font-size:clamp(60px,15vw,120px);font-weight:900;line-height:1;color:#dbeafe}
.ads-error-page h1{margin:8px 0 10px}.ads-error-page p{color:#64748b;line-height:1.6}
.ads-error-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}
.ads-error-actions a{padding:11px 16px;border-radius:12px;text-decoration:none;font-weight:800;background:#2563eb;color:white}
.ads-error-actions a.secondary{background:#eff6ff;color:#1d4ed8}
