/* Public site shell: footer.

   APPY-SHELLCSS-20260924: moved out of base.html, where it sat inline
   in seven <style> blocks and was downloaded again with every page.
   As a file it is cached once. Each block keeps its original order;
   the two files are linked exactly where the first block of their
   group used to be, so the cascade against page styles is unchanged. */

/* ---- block 1 (was base.html line 600) ---- */
.site-footer { background:#04142d; color:#cbd5e1; margin-top:60px; }
.site-footer .ft-accent { height:3px; background:linear-gradient(90deg,#0ebc85,#0b5fb4); }
.site-footer h6 { color:#fff; font-size:.82rem; text-transform:uppercase; letter-spacing:1px; margin-bottom:16px; }
.site-footer a { color:#cbd5e1; text-decoration:none; transition:color .2s; }
.site-footer a:hover { color:#0ebc85; }
.site-footer .ft-link { display:block; padding:5px 0; font-size:.9rem; }
.site-footer .ft-contact li { padding:5px 0; font-size:.9rem; display:flex; gap:10px; align-items:flex-start; }
.site-footer .ft-contact i { color:#0ebc85; width:16px; margin-top:4px; }
.site-footer .ft-social { width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08);
    display:inline-flex; align-items:center; justify-content:center; color:#fff; transition:.2s; }
.site-footer .ft-social:hover { background:linear-gradient(135deg,#0ebc85,#0b5fb4); color:#fff; transform:translateY(-2px); }
.site-footer .ft-bottom { border-top:1px solid rgba(255,255,255,.08); }

/* ---- block 2 (was base.html line 677) ---- */
.ft-pay { border-top: 1px solid rgba(148,163,184,.22); }
.ft-pay .pm { display: inline-flex; align-items: center; justify-content: center;
    background: #fff; border-radius: 10px; padding: 2px 6px; margin: 0 7px;
    box-shadow: 0 1px 4px rgba(0,0,0,.20); }
.ft-pay .pm img { height: 34px; width: auto; display: block; object-fit: contain; }
@media (max-width: 480px) {
    .ft-pay .pm { padding: 2px 4px; margin: 0 4px; }
    .ft-pay .pm img { height: 26px; }
}

/* ---- block 3 (was base.html line 688) ---- */
#scrollTopBtn {
    position: fixed; right: 22px; bottom: 22px; z-index: 1070;
    width: 48px; height: 48px; border: none; border-radius: 50%;
    background: linear-gradient(135deg,#04142d 0%,#0b5fb4 100%);
    color: #fff; font-size: 1.1rem; cursor: pointer;
    box-shadow: 0 8px 22px rgba(4,20,45,.28);
    opacity: 0; visibility: hidden; transform: translateY(16px);
    transition: opacity .3s, transform .3s, visibility .3s, filter .2s;
}
#scrollTopBtn.show { opacity: 1; visibility: visible; transform: translateY(0); }
#scrollTopBtn:hover { filter: brightness(1.12); transform: translateY(-3px); }
@media (max-width: 575px) { #scrollTopBtn { right: 16px; bottom: 16px; width: 44px; height: 44px; } }

/* ---- block 4 (was base.html line 716) ---- */
#cookieConsent {
    position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%) translateY(160%);
    z-index: 1080; width: min(680px, calc(100% - 24px));
    background: #fff; border: 1px solid #eef2f7; border-radius: 18px;
    box-shadow: 0 16px 50px rgba(4,20,45,.18);
    padding: 18px 22px; display: flex; align-items: center; gap: 16px;
    transition: transform .45s cubic-bezier(.2,.8,.2,1), opacity .4s; opacity: 0;
}
#cookieConsent.show { transform: translateX(-50%) translateY(0); opacity: 1; }
#cookieConsent .cc-icon {
    flex-shrink: 0; width: 46px; height: 46px; border-radius: 12px;
    background: linear-gradient(135deg,#04142d,#0b5fb4); color: #fff;
    display: flex; align-items: center; justify-content: center; font-size: 1.3rem;
}
#cookieConsent p { margin: 0; font-size: .88rem; color: #475569; line-height: 1.5; }
#cookieConsent a { color: #0b5fb4; font-weight: 600; text-decoration: none; }
#cookieConsent .cc-actions { flex-shrink: 0; display: flex; align-items: center; gap: 8px; }
#cookieConsent .cc-btn {
    background: linear-gradient(135deg,#0ebc85,#0b5fb4); color: #fff;
    border: none; border-radius: 30px; padding: 10px 24px; font-weight: 700; white-space: nowrap;
    cursor: pointer; transition: filter .2s;
}
#cookieConsent .cc-btn:hover { filter: brightness(1.07); }
#cookieConsent .cc-decline {
    background: transparent; color: #64748b; border: 1px solid #e2e8f0; border-radius: 30px;
    padding: 10px 20px; font-weight: 600; white-space: nowrap; cursor: pointer; transition: .2s;
}
#cookieConsent .cc-decline:hover { background: #f1f5f9; color: #334155; }
@media (max-width: 575px) {
    #cookieConsent { flex-direction: column; text-align: center; bottom: 12px; padding: 18px; gap: 12px; }
    #cookieConsent .cc-actions { width: 100%; flex-direction: column-reverse; }
    #cookieConsent .cc-btn, #cookieConsent .cc-decline { width: 100%; }
}

