/* FP-CARE-03 — FortyCare pharmacy sign-in artwork.
   Loaded only on the login page. Keeps the Laravel auth form, routes and scripts intact.
   The two illustrations have no embedded interactive controls. */
.footer.fortycare-login-page {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    min-height: 100vh !important;
    min-height: 100svh !important;
    overflow: hidden;
    background-image:
        radial-gradient(ellipse 40% 45% at 50% 33%, rgba(167,243,208,.38), transparent 80%),
        linear-gradient(135deg, #effff8 0%, #dcfff1 47%, #cdf6e7 100%);
    background-color: #ecfdf5;
}
.fortycare-login-page::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: -16%;
    top: -30%;
    width: 132%;
    height: 90%;
    transform: rotate(-9deg);
    background: linear-gradient(130deg, rgba(110,231,183,.22), rgba(255,255,255,.12) 63%, rgba(52,211,153,.12));
    border-radius: 0 0 52% 45%;
    pointer-events: none;
}
.fortycare-login-page::after {
    content: "";
    position: absolute;
    left: -6%;
    bottom: -120px;
    width: 112%;
    height: 210px;
    transform: rotate(-1deg);
    border-radius: 45% 55% 0 0 / 76% 72% 0 0;
    background: linear-gradient(100deg, rgba(5,150,105,.85), rgba(16,185,129,.6) 43%, rgba(110,231,183,.4) 65%, rgba(5,150,105,.9));
    pointer-events: none;
    z-index: 0;
}
.fortycare-login-page .footer-logo {
    position: relative;
    z-index: 3;
    flex: 0 0 auto;
    width: 100% !important;
    min-height: 95px;
    margin: 0 auto !important;
    padding-top: 18px;
}
.fortycare-login-page .footer-logo img {
    margin-top: 0 !important;
    width: auto;
    max-width: min(210px, 65vw);
    height: 54px;
    object-fit: contain;
}
.fortycare-login-page .mybazar-login-section {
    position: relative;
    z-index: 2;
    flex: 1 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto !important;
    min-height: calc(100svh - 95px);
    padding: 50px 18px 116px;
}
.fortycare-login-page .mybazar-login-section > div,
.fortycare-login-page .mybazar-login-wrapper {
    width: 100% !important;
    min-width: 0;
}
.fortycare-login-page .mybazar-login-wrapper {
    max-width: 532px !important;
    margin: 0 auto !important;
}
.fortycare-login-page .mybazar-login-section .login-wrapper {
    width: 100%;
    max-width: none;
    min-width: 0;
    position: relative;
    padding: 48px 32px 50px !important;
    border: 1px solid rgba(255,255,255,.86);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 22px 58px rgba(2,44,34,.14);
}
.fortycare-login-page .login-title {
    font-size: clamp(30px, 3vw, 39px) !important;
    letter-spacing: -.025em;
    margin-bottom: 3px;
}
.fortycare-login-page .fortycare-auth-caption {
    margin-bottom: 15px !important;
    color: #047857;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
}
.fortycare-login-page .login-para {
    font-size: clamp(16px, 1.3vw, 18px) !important;
    line-height: 1.5 !important;
    color: #58677f !important;
    margin-bottom: 24px !important;
}
.fortycare-login-page .mybazar-login-section .login-wrapper .input-group {
    margin-top: 12px;
    background: #f8fafc;
    border-color: #a2adba;
    border-radius: 5px;
}
.fortycare-login-page .mybazar-login-section .login-wrapper .input-group .form-control {
    background: transparent;
    height: 52px;
    color: #1b2b39;
}
.fortycare-login-page .mybazar-login-section .login-btn {
    background: linear-gradient(105deg, #059669, #065f46) !important;
    border: none !important;
    border-radius: 8px;
    height: 54px;
    margin-top: 24px;
    box-shadow: none;
}
.fortycare-login-page .mybazar-login-section .login-btn:hover {
    background: linear-gradient(105deg, #047857, #064e3b) !important;
}
.fortycare-login-page .fortycare-login-art {
    position: absolute;
    z-index: 1;
    bottom: 0;
    width: min(34vw, 555px);
    max-height: min(68vh, 590px);
    height: auto;
    object-fit: contain;
    object-position: bottom;
    pointer-events: none;
    user-select: none;
}
.fortycare-login-page .fortycare-login-art--left { left: 0; }
.fortycare-login-page .fortycare-login-art--right { right: 0; }
@media (max-width: 1200px) {
    /* Keep the form centered and readable at tablet widths. */
    .fortycare-login-page .footer-logo { display: flex !important; }
    .fortycare-login-page .mybazar-login-section { min-height: calc(100svh - 95px); }
    .fortycare-login-page .fortycare-login-art { width: 29vw; opacity: .76; }
}
@media (max-width: 860px) {
    .fortycare-login-page .fortycare-login-art { display: none; }
    .fortycare-login-page .mybazar-login-section { padding: 12px 16px 65px; }
    .fortycare-login-page .footer-logo { min-height: 85px; }
    .fortycare-login-page .mybazar-login-section .login-wrapper { padding: 34px 22px 38px !important; }
}
@media (max-width: 520px) {
    .fortycare-login-page .footer-logo img { height: 44px; }
    .fortycare-login-page .mybazar-login-section { padding: 8px 12px 38px; }
    .fortycare-login-page .mybazar-login-section .login-wrapper { padding: 30px 18px !important; }
    .fortycare-login-page .mybazar-login-section .login-wrapper .input-group .form-control { font-size: 15px; }
    .fortycare-login-page .mybazar-login-section .forget-password { gap: 8px; flex-wrap: wrap; }
    .fortycare-login-page .mybazar-login-section .forget-password a,
    .fortycare-login-page .mybazar-login-section .forget-password span { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .fortycare-login-page * { animation: none !important; transition: none !important; }
}

/* FP-CARE-04: anchor the corrected taller illustration crops to the outer
   browser edges instead of letterboxing them in the middle of each slot. */
.fortycare-login-page .fortycare-login-art--left { object-position: left bottom; }
.fortycare-login-page .fortycare-login-art--right { object-position: right bottom; }
