/* Ads / donations notice shown once on the homepage. Explains why ads
   exist and points people to /donate. Dismissal is remembered so it
   never nags. */
.ads-note-mask {
    position: fixed; inset: 0; z-index: 10000;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
    display: flex; align-items: center; justify-content: center;
    padding: 20px; opacity: 0; transition: opacity 0.25s ease;
}
.ads-note-mask.show { opacity: 1; }

.ads-note {
    background: #fff; width: 100%; max-width: 560px;
    max-height: 88vh; overflow-y: auto; border-radius: 16px;
    box-shadow: 0 20px 50px -20px rgba(0, 0, 0, 0.5);
    transform: translateY(20px); transition: transform 0.25s ease;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
                 Helvetica, Arial, sans-serif; color: #2b2d42;
}
.ads-note-mask.show .ads-note { transform: translateY(0); }

.ads-note .head {
    padding: 28px 30px 8px; text-align: center;
}
.ads-note .head .icon {
    width: 56px; height: 56px; border-radius: 50%;
    background: #eef1ff; color: #4361ee; font-size: 28px;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 16px;
}
.ads-note h2 { margin: 0; font-size: 22px; }

.ads-note .body { padding: 8px 30px 4px; }
.ads-note .body p {
    color: #4a4f57; line-height: 1.7; font-size: 15px; margin: 0 0 14px;
}
.ads-note .body strong { color: #2b2d42; }

.ads-note .costs {
    background: #f7f8fb; border: 1px solid #eceef3; border-radius: 12px;
    padding: 16px 18px; margin: 4px 0 16px;
}
.ads-note .costs h3 {
    margin: 0 0 10px; font-size: 13px; text-transform: uppercase;
    letter-spacing: 0.04em; color: #8a90a0;
}
.ads-note .costs ul { margin: 0; padding-left: 18px; }
.ads-note .costs li { color: #4a4f57; font-size: 14px; line-height: 1.7; }

.ads-note .actions {
    position: sticky; bottom: 0; background: #fff;
    padding: 16px 30px 26px; display: flex; gap: 12px;
    justify-content: center; border-top: 1px solid #f0f1f5;
}
.ads-note .actions button, .ads-note .actions a {
    font-weight: 600; font-size: 15px; padding: 13px 24px;
    border-radius: 10px; cursor: pointer; border: none; text-decoration: none;
}
.ads-note .btn-later { background: #f1f3f9; color: #2b2d42; }
.ads-note .btn-later:hover { background: #e6e9f2; }
.ads-note .btn-donate {
    background: #4361ee; color: #fff; display: inline-flex;
    align-items: center; gap: 8px;
}
.ads-note .btn-donate:hover { background: #3a56d4; }

@media (max-width: 480px) {
    .ads-note .head, .ads-note .body { padding-left: 20px; padding-right: 20px; }
    .ads-note .actions { padding-left: 20px; padding-right: 20px;
        flex-direction: column-reverse; }
    .ads-note .actions button, .ads-note .actions a {
        width: 100%; text-align: center; justify-content: center; }
}
