/* =========================================================
   MEDIBOOK — SHARED WEBSITE FOOTER
   One footer, identical on every public page.
========================================================= */

footer.mb-footer{
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    isolation:isolate;
    color:#fff !important;
    text-align:left !important;
    background:
        radial-gradient(circle at 88% 12%,rgba(181,106,192,.17),transparent 30%),
        radial-gradient(circle at 8% 95%,rgba(8,127,123,.08),transparent 26%),
        linear-gradient(135deg,#07070a 0%,#0b0710 52%,#09070d 100%) !important;
    border-top:1px solid rgba(225,190,231,.10) !important;
}

/* Some pages have old footer rules such as `.footer * { background: ... }`
   or `footer{ text-align:center }`. Neutralize those inside the shared footer. */
footer.mb-footer *{
    box-sizing:border-box;
    background-color:transparent !important;
}

footer.mb-footer::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:.14;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:44px 44px;
    mask-image:linear-gradient(to bottom,#000,transparent 90%);
}

.mb-footer-glow{
    position:absolute;
    pointer-events:none;
    border-radius:50%;
    z-index:0;
}

.mb-footer-glow-one{
    width:520px;
    height:520px;
    right:-250px;
    top:-300px;
    background:radial-gradient(circle,rgba(181,106,192,.20),transparent 68%) !important;
}

.mb-footer-glow-two{
    width:340px;
    height:340px;
    left:-220px;
    bottom:-230px;
    background:radial-gradient(circle,rgba(8,127,123,.10),transparent 68%) !important;
}

/* The footer itself is full width; only its content is centered. */
.mb-footer-container{
    position:relative;
    z-index:2;
    width:min(1600px,calc(100% - 80px));
    max-width:1600px;
    margin:0 auto !important;
}

.mb-footer-main{
    display:grid;
    grid-template-columns:minmax(330px,1.65fr) repeat(3,minmax(180px,1fr));
    gap:56px;
    padding:82px 0 62px;
}

.mb-footer-brand{
    max-width:390px;
}

.mb-footer-logo{
    display:inline-flex !important;
    align-items:center;
    gap:11px;
    color:#fff !important;
    font-size:22px;
    font-weight:900;
    line-height:1;
    letter-spacing:-.7px;
    text-decoration:none !important;
}

.mb-footer-logo-mark{
    width:38px;
    height:38px;
    display:grid !important;
    place-items:center;
    flex:none;
    border-radius:11px;
    color:#fff !important;
    background:linear-gradient(135deg,#B56AC0,#5A0F78) !important;
    box-shadow:0 10px 30px rgba(90,15,120,.30);
    font-size:18px;
}

.mb-footer-brand p{
    max-width:390px;
    margin:21px 0 25px !important;
    color:rgba(255,255,255,.58) !important;
    font-family:inherit !important;
    font-size:13px !important;
    line-height:1.8 !important;
}

.mb-footer-demo{
    display:inline-flex !important;
    align-items:center;
    gap:10px;
    padding:11px 16px;
    border:1px solid rgba(225,190,231,.18) !important;
    border-radius:11px;
    color:#fff !important;
    background:linear-gradient(135deg,rgba(181,106,192,.13),rgba(90,15,120,.20)) !important;
    font-size:12px !important;
    font-weight:800;
    text-decoration:none !important;
    transition:.25s ease;
}

.mb-footer-demo strong{
    color:#E1BEE7 !important;
    background:transparent !important;
    transition:.25s ease;
}

.mb-footer-demo:hover{
    transform:translateY(-2px);
    border-color:rgba(181,106,192,.42) !important;
    background:linear-gradient(135deg,rgba(181,106,192,.21),rgba(90,15,120,.31)) !important;
    box-shadow:0 12px 30px rgba(90,15,120,.20);
}

.mb-footer-demo:hover strong{
    transform:translateX(3px);
}

.mb-footer-column{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:11px;
}

.mb-footer-column h4{
    margin:3px 0 10px !important;
    color:#fff !important;
    font-family:inherit !important;
    font-size:12px !important;
    font-weight:900 !important;
    letter-spacing:.04em;
}

.mb-footer-column a{
    position:relative;
    color:rgba(255,255,255,.52) !important;
    font-family:inherit !important;
    font-size:12px !important;
    line-height:1.55 !important;
    text-decoration:none !important;
    transition:.22s ease;
}

.mb-footer-column a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-4px;
    width:0;
    height:1px;
    background:#B56AC0 !important;
    transition:.25s ease;
}

.mb-footer-column a:hover{
    color:#fff !important;
    transform:translateX(3px);
}

.mb-footer-column a:hover::after{
    width:100%;
}

.mb-footer-middle{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    padding:22px 0;
    border-top:1px solid rgba(255,255,255,.075) !important;
    border-bottom:1px solid rgba(255,255,255,.075) !important;
}

.mb-footer-status{
    display:flex;
    align-items:center;
    gap:12px;
}

.mb-footer-status-dot{
    width:9px;
    height:9px;
    flex:none;
    border-radius:50%;
    background:#B56AC0 !important;
    box-shadow:0 0 0 5px rgba(181,106,192,.10),0 0 18px rgba(181,106,192,.38);
    animation:mbFooterPulse 2.4s ease-in-out infinite;
}

.mb-footer-status strong{
    display:block;
    color:rgba(255,255,255,.86) !important;
    font-family:inherit !important;
    font-size:12px !important;
    font-weight:800 !important;
}

.mb-footer-status small{
    display:block;
    margin-top:3px;
    color:rgba(255,255,255,.38) !important;
    font-family:inherit !important;
    font-size:10px !important;
}

.mb-footer-actions{
    display:flex;
    align-items:center;
    gap:28px;
}

.mb-footer-actions a{
    display:inline-flex !important;
    align-items:center;
    gap:7px;
    color:rgba(255,255,255,.58) !important;
    font-family:inherit !important;
    font-size:11px !important;
    font-weight:800 !important;
    text-decoration:none !important;
    transition:.2s ease;
}

.mb-footer-actions a:hover{
    color:#fff !important;
}

.mb-footer-actions span{
    color:#B56AC0 !important;
}

.mb-footer-bottom{
    min-height:76px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:20px;
    color:rgba(255,255,255,.36) !important;
    font-family:inherit !important;
    font-size:10px !important;
}

.mb-footer-copy{
    text-align:left;
}

.mb-footer-bottom-links{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
}

.mb-footer-bottom-links a{
    color:rgba(255,255,255,.45) !important;
    text-decoration:none !important;
    transition:.2s ease;
}

.mb-footer-bottom-links a:hover{
    color:#fff !important;
}

.mb-footer-bottom-links span{
    color:rgba(255,255,255,.16) !important;
}

.mb-footer-powered{
    text-align:right;
}

.mb-footer-powered strong{
    color:#B56AC0 !important;
    font-weight:900 !important;
}

/* Scroll-to-top button: same footer language on every page.
   Stacked above the WhatsApp button (both now sit on the right). */
#mbScrollTop{
    position:fixed !important;
    right:24px !important;
    bottom:22px !important;
    z-index:9998 !important;
    width:56px !important;
    height:56px !important;
    display:grid !important;
    place-items:center !important;
    padding:0 !important;
    border:1px solid rgba(181,106,192,.65) !important;
    border-radius:50% !important;
    background:linear-gradient(135deg,#B56AC0,#7D2A96) !important;
    color:#fff !important;
    box-shadow:0 14px 34px rgba(90,15,120,.32) !important;
    font-size:22px !important;
    font-weight:700 !important;
    line-height:1 !important;
    cursor:pointer !important;
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    transition:.25s ease;
}

#mbScrollTop.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

#mbScrollTop:hover{
    transform:translateY(-3px) !important;
    box-shadow:0 18px 42px rgba(90,15,120,.42) !important;
}

@keyframes mbFooterPulse{
    0%,100%{transform:scale(1);opacity:.75}
    50%{transform:scale(1.25);opacity:1}
}

/* =========================================================
   TABLET
========================================================= */
@media(max-width:1000px){
    .mb-footer-container{
        width:min(92%,1450px);
    }

    .mb-footer-main{
        grid-template-columns:1.4fr 1fr 1fr;
        gap:38px;
    }

    .mb-footer-brand{
        grid-column:span 3;
        max-width:600px;
    }
}

/* =========================================================
   MOBILE
========================================================= */
@media(max-width:700px){
    .mb-footer-container{
        width:92%;
    }

    .mb-footer-main{
        grid-template-columns:1fr 1fr;
        gap:34px 28px;
        padding:58px 0 42px;
    }

    .mb-footer-brand{
        grid-column:span 2;
        max-width:none;
    }

    .mb-footer-brand p{
        max-width:100%;
        font-size:12px !important;
    }

    .mb-footer-middle{
        align-items:flex-start;
        flex-direction:column;
        gap:18px;
        padding:20px 0;
    }

    .mb-footer-actions{
        width:100%;
        flex-direction:column;
        align-items:flex-start;
        gap:10px;
    }

    .mb-footer-bottom{
        min-height:0;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:10px;
        padding:22px 0 28px;
        text-align:center;
    }

    .mb-footer-copy,
    .mb-footer-powered{
        text-align:center;
    }

    #mbScrollTop{
        right:16px !important;
        bottom:16px !important;
        width:48px !important;
        height:48px !important;
        font-size:19px !important;
    }
}

@media(max-width:420px){
    .mb-footer-main{
        grid-template-columns:1fr;
    }

    .mb-footer-brand,
    .mb-footer-column{
        grid-column:span 1;
    }
}


/* =========================================================
   MB FOOTER MOBILE POLISH
========================================================= */
@media(max-width:700px){
    .mb-footer{
        overflow:hidden;
    }
    .mb-footer-container{
        width:min(92%,1180px) !important;
    }
    .mb-footer-main{
        grid-template-columns:1fr 1fr !important;
        gap:30px 22px !important;
    }
    .mb-footer-brand{
        grid-column:1 / -1;
    }
    .mb-footer-bottom{
        grid-template-columns:1fr !important;
        justify-items:start !important;
        gap:10px !important;
    }
    .mb-footer-bottom-links{
        flex-wrap:wrap !important;
        row-gap:6px !important;
    }
}
@media(max-width:430px){
    .mb-footer-main{
        grid-template-columns:1fr !important;
    }
}