/* Megamart footer v3.1 — isolated compact unified-width layout. */
:root {
    --mm-footer-blue: #0050dd;
    --mm-footer-yellow: #ffdd00;
    --mm-footer-white: #fff;
    --mm-footer-muted: rgba(255, 255, 255, .64);
    --mm-footer-line: rgba(255, 255, 255, .18);
}

.mm-contact-icon,
.mm-contact-email .mm-contact-icon {
    color: #ff9f2d;
}

.mm-site-footer {
    width: 100%;
    clear: both;
    margin: 40px 0 0;
    padding: 0;
    border: 0;
    background: var(--mm-footer-blue);
    color: var(--mm-footer-white);
    font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
    overflow: hidden;
    text-align: left;
}

.mm-site-footer .mm-footer-inner {
    width: 1500px !important;
    max-width: calc(100% - 40px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    box-sizing: border-box;
}

.mm-site-footer .footer_body > .container-fluid {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    padding-right: 0;
    padding-left: 0;
}

.mm-footer-app-strip {
    border-top: 1px solid rgba(255, 221, 0, .72);
    border-bottom: 1px solid var(--mm-footer-line);
    background: var(--mm-footer-blue);
}

.mm-footer-app-row {
    display: flex;
    min-height: 150px;
    align-items: center;
    justify-content: space-between;
    gap: 44px;
}

.mm-footer-app-promo,
.mm-footer-store-badges,
.mm-footer-helpline {
    display: flex;
    align-items: center;
}

.mm-footer-app-promo {
    min-width: 0;
    gap: 24px;
}

.mm-footer-store-badges {
    flex: 0 0 auto;
    gap: 6px;
}

.mm-footer-store-badge {
    position: relative;
    display: block;
    width: 150px;
    border-radius: 6px;
    cursor: default;
}

.mm-footer-store-badge img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 452 / 134;
    border-radius: 6px;
}

.mm-footer-app-copy {
    display: flex;
    min-width: 220px;
    flex-direction: column;
    gap: 5px;
}

.mm-footer-app-copy strong {
    color: var(--mm-footer-white);
    font-size: 17px;
    font-weight: 700;
    line-height: 24px;
}

.mm-footer-app-copy span {
    color: rgba(255, 255, 255, .9);
    font-size: 13px;
    line-height: 19px;
}

.mm-footer-helpline {
    flex: 0 0 auto;
    gap: 14px;
    color: var(--mm-footer-white);
    text-decoration: none;
}

.mm-footer-helpline:hover,
.mm-footer-helpline:focus {
    color: var(--mm-footer-white);
    text-decoration: none;
    outline: 0;
}

.mm-footer-helpline-icon {
    display: inline-flex;
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .09);
    color: var(--mm-footer-yellow);
    transition: background-color .18s ease, transform .18s ease;
}

.mm-footer-helpline:hover .mm-footer-helpline-icon,
.mm-footer-helpline:focus .mm-footer-helpline-icon {
    background: rgba(255, 255, 255, .16);
    transform: translateY(-2px);
}

.mm-footer-helpline-icon svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.mm-footer-helpline-copy {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.mm-footer-helpline-copy strong {
    color: var(--mm-footer-white);
    font-size: 24px;
    font-weight: 700;
    line-height: 30px;
    white-space: nowrap;
}

.mm-footer-helpline-copy span {
    color: var(--mm-footer-muted);
    font-size: 13px;
    line-height: 19px;
}

.footer_header.mm-footer-newsletter {
    padding: 48px 0;
    border: 0;
    border-bottom: 1px solid var(--mm-footer-line);
    background: var(--mm-footer-blue);
    color: var(--mm-footer-white);
}

.footer_header .mm-footer-newsletter-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(460px, .82fr);
    align-items: center;
    gap: 80px;
}

.mm-footer-newsletter-copy h2 {
    margin: 0 0 12px;
    color: var(--mm-footer-white);
    font-size: 28px;
    font-weight: 700;
    line-height: 35px;
    letter-spacing: -.7px;
}

.mm-footer-newsletter-copy {
    min-width: 0;
    max-width: 100%;
    text-align: left !important;
}

.mm-footer-newsletter-copy h2,
.mm-footer-newsletter-copy p {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}

.mm-footer-newsletter-copy p {
    max-width: 580px;
    margin: 0;
    color: var(--mm-footer-muted);
    font-size: 15px;
    line-height: 24px;
}

.mm-footer-newsletter-form {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.subscribe_field {
    position: relative;
    display: flex;
    width: 100%;
    height: 50px;
    align-items: stretch;
    gap: 0;
    overflow: visible;
    border-radius: 13px;
    background: var(--mm-footer-white);
    text-align: left;
}

.subscribe_field .mm-footer-email-input {
    width: auto;
    min-width: 0;
    height: 50px;
    flex: 1 1 0;
    padding: 0 18px;
    border: 0;
    border-radius: 13px 0 0 13px;
    background: var(--mm-footer-white);
    color: #152238;
    font-size: 14px;
    line-height: 50px;
    box-shadow: none;
}

.subscribe_field .mm-footer-email-input::placeholder {
    color: #98a0b3;
    opacity: 1;
}

.subscribe_field .mm-footer-email-input:focus {
    border: 0;
    box-shadow: inset 0 0 0 2px rgba(255, 221, 0, .9);
    outline: 0;
}

.subscribe_field .btn,
.subscribe_field .btn-primary {
    width: 118px;
    height: 50px;
    flex: 0 0 118px;
    margin: 0;
    padding: 0 16px;
    border: 0;
    border-radius: 0 13px 13px 0;
    background: var(--mm-footer-yellow);
    color: #101828;
    font-size: 14px;
    font-weight: 700;
    line-height: 50px;
    text-shadow: none;
    box-shadow: none;
    transition: background-color .18s ease;
}

.subscribe_field .btn:hover,
.subscribe_field .btn:focus {
    background: #ffe63e;
    color: #101828;
    outline: 0;
}

.subscribe_error {
    position: absolute;
    top: calc(100% + 4px);
    left: 18px;
    color: #fff1f1;
    font-size: 12px;
    line-height: 18px;
}

.mm-footer-consent {
    max-width: 510px;
    white-space: normal;
    overflow-wrap: anywhere;
    margin: 15px 0 0;
    color: rgba(255, 255, 255, .88);
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
}

.footer_body {
    display: flex;
    padding: 44px 0 0;
    flex-direction: column;
    border: 0;
    background: var(--mm-footer-blue);
}

.footer_body > .mm-footer-menu-shell,
.footer_menu {
    padding: 0;
}

.footer_body > .mm-footer-menu-shell {
    order: 1;
}

.footer_body > .footer_end {
    order: 2;
    padding: 27px 0 29px;
}

.footer_menu .footer_tree {
    display: grid;
    grid-template-columns: 1.22fr repeat(4, minmax(0, 1fr));
    gap: 42px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer_menu li.footer_tree_col {
    width: auto;
    min-width: 0;
    float: none;
    margin: 0;
    padding: 0;
    text-align: left;
}

.mm-footer-brand {
    display: block;
    width: 190px;
    margin: 0 0 18px;
}

.mm-footer-brand img {
    display: block;
    width: 100%;
    height: auto;
}

.mm-footer-brand-description {
    max-width: 240px;
    margin: 0 0 12px;
    color: rgba(255, 255, 255, .92);
    font-size: 13px;
    line-height: 20px;
}

.mm-footer-brand-email {
    display: inline-block;
    margin: 0 0 18px;
    color: var(--mm-footer-white) !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 22px;
    text-decoration: none;
}

.mm-footer-brand-email:hover,
.mm-footer-brand-email:focus {
    color: var(--mm-footer-yellow) !important;
    text-decoration: none;
    outline: 0;
}

.footer_tree_col > span,
.footer_tree_col > a:not(.mm-footer-brand):not(.mm-footer-brand-email) {
    display: block;
    margin: 0 0 17px;
    color: var(--mm-footer-yellow) !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;
    text-decoration: none;
    text-align: left !important;
}

.footer_tree_col > ul {
    margin: 0;
    padding: 0;
    text-align: left !important;
}

.footer_menu li.footer_tree_col li {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0 0 6px;
    color: var(--mm-footer-white);
    font-size: 13px;
    line-height: 19px;
}

.footer_tree_col > ul > li > a {
    display: inline-block;
    color: rgba(255, 255, 255, .94);
    font-size: 13px;
    line-height: 19px;
    text-decoration: none;
    text-align: left !important;
    transition: color .18s ease, transform .18s ease;
}

.footer_tree_col > ul > li > a:hover,
.footer_tree_col > ul > li > a:focus {
    color: var(--mm-footer-yellow);
    text-decoration: none;
    outline: 0;
    transform: translateX(2px);
}

.mm-footer-contact-list {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.footer_menu .mm-footer-contact-list > li {
    margin: 0;
}

.mm-footer-contact-link {
    display: inline-flex !important;
    min-height: 26px;
    align-items: center;
    gap: 9px;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, .94) !important;
    font: inherit;
    font-size: 13px !important;
    line-height: 19px !important;
    text-align: left;
    text-decoration: none !important;
    cursor: pointer;
}

.mm-footer-contact-link:hover,
.mm-footer-contact-link:focus {
    color: var(--mm-footer-yellow) !important;
    outline: 0;
}

.mm-footer-contact-icon {
    display: inline-flex;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    align-items: center;
    justify-content: center;
    color: var(--mm-footer-yellow);
}

.mm-footer-contact-icon svg {
    display: block;
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.footer_menu ul.footer_social {
    display: flex;
    width: auto;
    max-width: 244px;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 0;
}

.footer_menu ul.footer_social > li {
    display: block !important;
    width: 38px !important;
    max-width: none !important;
    height: 38px;
    float: none;
    margin: 0 !important;
}

.footer_social a {
    display: inline-flex !important;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: var(--mm-footer-yellow);
    color: var(--mm-footer-blue) !important;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.footer_social a:hover,
.footer_social a:focus {
    background: var(--mm-footer-white);
    color: var(--mm-footer-blue) !important;
    outline: 0;
    transform: translateY(-2px);
}

.footer_social svg {
    display: block;
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.footer_end {
    width: 100%;
    max-width: none;
    margin-top: 46px;
    padding: 27px 0 29px;
    border: 0;
    border-top: 1px solid var(--mm-footer-line);
    background: var(--mm-footer-blue);
    color: rgba(255, 255, 255, .9);
    font-size: 13px;
    line-height: 20px;
}

.mm-footer-legal-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.mm-footer-legal-copy,
.mm-footer-legal-copy .copyright {
    min-width: 0;
    max-width: 100%;
    margin: 0;
    color: rgba(255, 255, 255, .94);
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    white-space: normal;
    overflow-wrap: anywhere;
}

.mm-footer-legal-copy span {
    display: block;
    margin-top: 3px;
    color: var(--mm-footer-muted);
    font-size: 12px;
    white-space: normal;
    overflow-wrap: anywhere;
}

.mm-footer-payments {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 18px;
}

.mm-footer-payment {
    position: relative;
    display: inline-flex;
    height: 28px;
    align-items: center;
    justify-content: center;
}

.mm-footer-mastercard {
    width: 45px;
}

.mm-footer-mastercard i {
    position: absolute;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: #ff5f00;
}

.mm-footer-mastercard i:first-child {
    left: 4px;
    background: #eb001b;
}

.mm-footer-mastercard i:last-child {
    right: 4px;
    background: #f79e1b;
}

.mm-footer-visa {
    color: var(--mm-footer-white);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 22px;
    font-weight: 900;
    font-style: italic;
    letter-spacing: -1px;
}

body#auth-body footer .footer_end {
    margin-top: 48px;
}

@media (max-width: 1199px) {
    .mm-footer-app-promo { gap: 18px; }
    .mm-footer-store-badge { width: 142px; }
    .footer_header .mm-footer-newsletter-row { gap: 58px; }
    .footer_menu .footer_tree { grid-template-columns: 1.18fr repeat(4, minmax(0, 1fr)); gap: 30px; }
}

@media (max-width: 991px) {
    .mm-footer-app-row { min-height: 0; flex-wrap: wrap; gap: 28px; padding-top: 34px; padding-bottom: 34px; }
    .mm-footer-app-copy { min-width: 190px; }
    .mm-footer-helpline-copy strong { font-size: 24px; }
    .footer_header .mm-footer-newsletter-row { grid-template-columns: minmax(0, .8fr) minmax(400px, 1.2fr); gap: 36px; }
    .footer_menu .footer_tree { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 44px; }
}

@media (max-width: 767px) {
    .mm-site-footer { margin-top: 24px; }
    .mm-site-footer .mm-footer-inner { width: calc(100% - 32px) !important; max-width: none !important; }
    .mm-footer-app-row { display: block; padding-top: 30px; padding-bottom: 31px; }
    .mm-footer-app-promo { display: block; }
    .mm-footer-store-badges { gap: 7px; }
    .mm-footer-store-badge { width: min(154px, calc(50vw - 20px)); }
    .mm-footer-app-copy { min-width: 0; margin-top: 17px; }
    .mm-footer-app-copy strong { font-size: 17px; }
    .mm-footer-helpline { margin-top: 27px; }
    .mm-footer-helpline-icon { width: 50px; height: 50px; flex-basis: 50px; }
    .mm-footer-helpline-copy strong { font-size: 23px; line-height: 29px; }
    .footer_header.mm-footer-newsletter { padding: 38px 0 39px; }
    .footer_header .mm-footer-newsletter-row { display: block; }
    .mm-footer-newsletter-copy h2 { margin-bottom: 9px; font-size: 26px; line-height: 32px; }
    .mm-footer-newsletter-copy p { font-size: 14px; line-height: 22px; }
    .mm-footer-newsletter-form { margin-top: 25px; }
    .mm-footer-consent { margin-top: 17px; font-size: 11px; line-height: 17px; }
    .footer_body { padding: 39px 0 0; }
    .footer_menu .footer_tree { display: block; padding: 0; }
    .footer_menu li.footer_tree_col { width: 100% !important; margin: 0; padding: 16px 0; border-bottom: 1px solid var(--mm-footer-line); }
    .footer_menu li.mm-footer-brand-column { padding-top: 0; padding-bottom: 32px; }
    .footer_menu li.footer_tree_col:last-child { padding-bottom: 0; border-bottom: 0; }
    .mm-footer-brand { width: 175px; margin-bottom: 18px; }
    .mm-footer-brand-description { max-width: 340px; }
    .footer_tree_col > span,
    .footer_tree_col > a:not(.mm-footer-brand):not(.mm-footer-brand-email) { position: relative; margin-bottom: 0; padding-right: 30px; font-size: 16px; line-height: 24px; }
    .footer_tree_col:not(.mm-footer-contact-column) > .accordion-toggler::after { position: absolute; top: 50%; right: 2px; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ""; transform: translateY(-65%) rotate(45deg); }
    .footer_tree_col > .accordion-body { padding-top: 14px; }
    .footer_tree_col > .accordion-body.closed { display: none !important; }
    .mm-footer-contact-list { padding-top: 14px !important; }
    .footer_body > .footer_end { margin: 41px 0 0; padding: 23px 0 26px; }
    .mm-footer-legal-row { display: block; }
    .mm-footer-payments { margin-top: 20px; }
}

@media (max-width: 479px) {
    .subscribe_field { height: 50px; }
    .subscribe_field .mm-footer-email-input { width: 0; height: 50px; flex-basis: 0; padding-right: 13px; padding-left: 13px; font-size: 13px; line-height: 50px; }
    .subscribe_field .btn,
    .subscribe_field .btn-primary { width: 104px; height: 50px; flex-basis: 104px; padding: 0 10px; font-size: 13px; line-height: 50px; }
    .subscribe_error { left: 13px; }
}
