/* Versioned footer-only stylesheet. The saved Elementor template remains untouched. */
body.digismoke-net-footer-active .elementor-location-footer { display: none !important; }

.digismoke-site-footer {
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    width: 100%;
    margin-top: 48px;
    background: #171717;
    color: #fff;
    font-family: "Gilroy", "Gilroy-Light", sans-serif;
}
.digismoke-site-footer *, .digismoke-site-footer *::before, .digismoke-site-footer *::after { box-sizing: border-box; }
.digismoke-site-footer__inner { width: min(1410px, calc(100% - 40px)); margin: 0 auto; padding: 64px 0 24px; }
.digismoke-site-footer__top {
    display: grid;
    grid-template-columns: minmax(280px, 1.35fr) minmax(210px, .9fr) minmax(180px, .8fr) minmax(180px, .8fr);
    gap: 48px;
    align-items: start;
}
.digismoke-site-footer h2 { margin: 0 0 20px; color: #fff; font-size: 16px; font-weight: 600; line-height: 1.25; text-transform: none; }
.digismoke-site-footer__brand h2 { margin: 24px 0 8px; font-size: 24px; font-weight: 500; }
.digismoke-site-footer__brand p { max-width: 390px; margin: 0; color: #bdbdbd; font-size: 14px; line-height: 1.55; }
.digismoke-site-footer__logo { width: min(260px, 100%); display: inline-block; }
.digismoke-site-footer__logo img { width: 100%; height: 68px !important; display: block; object-fit: contain; object-position: left center; filter: brightness(0) invert(1); }
.digismoke-site-footer a { color: #c9c9c9; text-decoration: none; transition: color .2s ease; }
.digismoke-site-footer a:hover, .digismoke-site-footer a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.digismoke-site-footer a:focus-visible { outline: 1px solid #fff; outline-offset: 4px; }
.digismoke-site-footer__contacts { display: flex; flex-direction: column; gap: 20px; }
.digismoke-site-footer__contacts > h2 { margin-bottom: 0; }
.digismoke-site-footer__contact { display: flex; flex-direction: column; gap: 5px; }
.digismoke-site-footer__contact > span { color: #8f8f8f; font-size: 13px; }
.digismoke-site-footer__contact a { color: #fff; font-size: 15px; font-weight: 500; }
.digismoke-site-footer__nav ul, .digismoke-site-footer__documents ul { margin: 0; padding: 0; list-style: none; }
.digismoke-site-footer__nav ul { display: grid; gap: 11px; }
.digismoke-site-footer__nav a, .digismoke-site-footer__documents a { font-size: 14px; line-height: 1.4; }
.digismoke-site-footer__details {
    margin-top: 52px;
    padding: 32px 0;
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(480px, 2.1fr);
    gap: 48px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.digismoke-site-footer__requisites p { margin: 0 0 6px; color: #c9c9c9; font-size: 14px; line-height: 1.45; }
.digismoke-site-footer__documents ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; row-gap: 10px; }
.digismoke-site-footer__legal-notice { padding: 24px 0 4px; }
.digismoke-site-footer__legal-notice p { max-width: 1280px; margin: 0; color: #aaa; font-size: 12.5px; line-height: 1.6; }
.digismoke-site-footer__bottom { padding: 18px 56px 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.digismoke-site-footer__bottom p { margin: 0; color: #8f8f8f; font-size: 12px; line-height: 1.45; }
.digismoke-site-footer__credit { display: inline-flex; align-items: center; gap: 6px; color: #a7a7a7 !important; font-size: 12px; line-height: 1; text-decoration: none !important; }
.digismoke-site-footer__credit strong { color: #fff; font-weight: 500; }
.digismoke-site-footer__credit svg { width: 24px; height: 19px; overflow: visible; fill: none; stroke: #ff3b30; stroke-width: 2.8; stroke-linecap: round; stroke-linejoin: round; }
.digismoke-site-footer__credit:hover, .digismoke-site-footer__credit:focus-visible { color: #fff !important; text-decoration: none !important; }
.digismoke-site-footer__rating {
    width: max-content; max-width: 100%; margin-top: 22px; padding: 9px 12px 8px;
    display: inline-flex; flex-direction: column; gap: 4px; border-radius: 4px;
    background: #fff; color: #111 !important; box-shadow: 0 4px 14px rgba(0, 0, 0, .16); text-decoration: none !important;
}
.digismoke-site-footer__rating:hover, .digismoke-site-footer__rating:focus-visible { color: #111 !important; text-decoration: none !important; transform: translateY(-1px); }
.digismoke-site-footer__rating-row { display: flex; align-items: center; gap: 7px; color: #111; font-family: Arial, sans-serif; font-size: 13px; line-height: 1; }
.digismoke-site-footer__rating-row strong { font-size: 14px; font-weight: 500; }
.digismoke-site-footer__rating-arrow { color: #e23c31; font-size: 18px; font-weight: 700; line-height: .75; }
.digismoke-site-footer__stars { display: inline-grid; color: #d7d7d7; font-size: 15px; letter-spacing: 1px; line-height: 1; white-space: nowrap; }
.digismoke-site-footer__stars > span { grid-area: 1 / 1; }
.digismoke-site-footer__stars > span:last-child { color: transparent; background: linear-gradient(90deg, #ffc400 96%, transparent 96%); background-clip: text; -webkit-background-clip: text; }
.digismoke-site-footer__rating small { color: #777; font-size: 8px; line-height: 1.2; }
.digismoke-site-footer__rating--mobile { display: none; }

/* Keep the original contact chooser usable outside the hidden footer. */
#digismoke-sticky-btn.digismoke-contact-restored { flex-direction: column-reverse; }
#digismoke-sticky-btn.digismoke-contact-restored #digismoke-popup { margin-top: 0; margin-bottom: 10px; }
#digismoke-sticky-btn.digismoke-contact-restored #digismoke-btn:focus-visible { outline: 2px solid #555; outline-offset: 3px; }

@media (max-width: 1024px) {
    .digismoke-site-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px 36px; }
    .digismoke-site-footer__details { grid-template-columns: minmax(240px, .8fr) minmax(0, 1.6fr); }
}
@media (max-width: 767px) {
    .digismoke-site-footer { margin-top: 32px; }
    .digismoke-site-footer__inner { width: calc(100% - 32px); padding: 44px 0 20px; }
    .digismoke-site-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 24px; }
    .digismoke-site-footer__brand, .digismoke-site-footer__contacts { grid-column: 1 / -1; }
    .digismoke-site-footer__brand { text-align: center; }
    .digismoke-site-footer__brand p { margin-right: auto; margin-left: auto; }
    .digismoke-site-footer__logo { width: min(230px, 78%); }
    .digismoke-site-footer__logo img { height: 60px !important; object-position: center; }
    .digismoke-site-footer__contacts { align-items: center; text-align: center; }
    .digismoke-site-footer__details { margin-top: 40px; padding: 28px 0; grid-template-columns: 1fr; gap: 30px; }
    .digismoke-site-footer__documents ul { grid-template-columns: 1fr; }
    .digismoke-site-footer__legal-notice { padding-top: 26px; }
    .digismoke-site-footer__legal-notice p { font-size: 12px; line-height: 1.55; text-align: left; }
    .digismoke-site-footer__bottom { padding-right: 0; padding-left: 0; align-items: center; flex-direction: column; gap: 16px; text-align: center; }
    .digismoke-site-footer__rating--desktop { display: none; }
    .digismoke-site-footer__rating--mobile { margin-top: 0; display: inline-flex; }
}
@media (max-width: 380px) {
    .digismoke-site-footer__top { gap: 34px 16px; }
    .digismoke-site-footer__nav a { font-size: 13px; }
}
