/* =========================================================
   WASSLA DIGITAL - Header / Footer identity layer
   Designed to visually match wassla.net while remaining
   independent from Elementor/WordPress CSS.
   ========================================================= */

:root {
    --wassla-blue: #123f92;
    --wassla-blue-dark: #112b54;
    --wassla-light: #eef2f8;
    --wassla-footer: #101010;
    --wassla-text: #111111;
    --wassla-white: #ffffff;
    --wassla-green: #21c65a;
}

html, body { margin: 0; padding: 0; }
body { font-family: "Karla", Arial, sans-serif; }
*, *::before, *::after { box-sizing: border-box; }

.wassla-header-container,
.wassla-footer-container {
    width: min(1240px, calc(100% - 40px));
    margin: 0 auto;
	max-width: 1140px;
}

/* TOP BAR */
.wassla-topbar {
    background: var(--wassla-blue);
    color: #fff;
    font-size: 14px;
}
.wassla-topbar-inner {
    min-height: 48px;
    display: flex;
    align-items: stretch;
    justify-content: center;
}
.topbar-item {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 14px;
    color: #fff;
    text-decoration: none;
    border-right: 1px solid rgba(255,255,255,.13);
    white-space: nowrap;
}
.topbar-cart { border-left: 1px solid rgba(255,255,255,.13); }
.topbar-hours, .topbar-phone {   }
.status-open { color: #fff; font-weight: 800; }
.wassla-socials {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 12px;
    border-right: 1px solid rgba(255,255,255,.13);
}
.social {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
}
.social-facebook { background:#4267a9; }
.social-instagram { background:#d53187; }
.social-linkedin { background:#1479a7; }
.social-twitter { background:#1da1f2; }
.social-youtube { background:#ea2b2b; }
.social-whatsapp { background:#21c65a; }
.topbar-client { font-size: 15px; }

/* MAIN NAV */
.wassla-mainnav-wrap {
    background: var(--wassla-light);
    box-shadow: 0 1px 0 rgba(0,0,0,.05);
    position: relative;
    z-index: 1000;
}
.wassla-mainnav {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}
.wassla-logo { flex: 0 0 260px; display: block; }
.wassla-logo img { display: block; width: 205px; height: auto; max-width: 100%; }
.wassla-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 33px;
    flex: 1;
}
.wassla-nav > a,
.nav-dropdown > a {
    color: #090909;
    text-decoration: none;
    font-weight: 700;
    font-size: 16px;
    white-space: nowrap;
    min-height: 80px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.wassla-nav a:hover { color: var(--wassla-blue); }
.nav-dropdown { position: relative; }
.dropdown-menu {
    position: absolute;
    top: calc(100% - 1px);
    left: -20px;
    min-width: 250px;
    background: #fff;
    border-top: 3px solid var(--wassla-blue);
    box-shadow: 0 12px 30px rgba(0,0,0,.16);
    padding: 10px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: .18s ease;
    z-index: 2000;
}
.dropdown-right { left: auto; right: 0; }
.dropdown-menu a {
    display: block;
    padding: 11px 18px;
    color: #222;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    border-bottom: 1px solid #f0f0f0;
}
.dropdown-menu a:last-child { border-bottom: 0; }
.dropdown-menu a:hover, .dropdown-highlight { background: #f3f6fb; color: var(--wassla-blue) !important; }
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.wassla-menu-toggle { display: none; }

/* FOOTER */
.wassla-footer {
    background: var(--wassla-footer);
    color: #fff;
    margin-top: 0;
}
.wassla-footer-grid {
    display: grid;
    grid-template-columns: 1.35fr .9fr .95fr .9fr;
    gap: 70px;
    padding: 68px 0 58px;
}
.footer-logo img {
    width: 280px;
    max-width: 100%;
    height: auto;
    display: block;
    margin-bottom: 25px;
}
.footer-contact-list,
.footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-contact-list li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin: 0 0 18px;
    color: #f3f3f3;
    line-height: 1.5;
}
.footer-contact-list i { color: #777; width: 16px; margin-top: 4px; }
.footer-contact-list a,
.footer-column a,
.wassla-footer-bottom a { color: #fff; text-decoration: none; }
.footer-contact-list a:hover,
.footer-column a:hover,
.wassla-footer-bottom a:hover { color: #34b8ff; }
.payment-gateway { width: 225px; max-width: 100%; height: auto; margin-top: 8px; }
.footer-column h2 {
    color: #fff;
    font-size: 22px;
    margin: 0 0 35px;
    font-weight: 700;
}
.footer-column li { margin-bottom: 24px; }
.footer-column a { font-size: 16px; color: #f5f5f5; }
.wassla-footer-bottom {
    border-top: 1px solid #242424;
    background: #0c0c0c;
    color: #bdbdbd;
    font-size: 12px;
}
.footer-bottom-inner {
    padding: 16px 0;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

/* RESPONSIVE */
@media (max-width: 1180px) {
    .topbar-hours { display:none; }
    .wassla-nav { gap: 20px; }
    .wassla-nav > a, .nav-dropdown > a { font-size: 14px; }
    .wassla-footer-grid { gap: 35px; }
}

@media (max-width: 900px) {
    .wassla-topbar-inner { justify-content: space-between; flex-wrap: wrap; }
    .topbar-phone { flex: 1; }
    .wassla-socials { display: none; }
    .wassla-mainnav { min-height: 82px; position: relative; }
    .wassla-logo { flex-basis: 210px; }
    .wassla-logo img { width: 210px; }
    .wassla-menu-toggle {
        display: inline-flex;
        gap: 8px;
        align-items: center;
        border: 0;
        background: var(--wassla-blue);
        color: #fff;
        padding: 11px 16px;
        border-radius: 4px;
        font-family: inherit;
        font-weight: 700;
        cursor: pointer;
    }
    .wassla-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 20px;
        right: 20px;
        background: #fff;
        box-shadow: 0 10px 30px rgba(0,0,0,.17);
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 8px 0;
    }
    .wassla-nav.is-open { display:flex; }
    .wassla-nav > a, .nav-dropdown > a {
        min-height: 0;
        padding: 13px 18px;
        width: 100%;
        justify-content: space-between;
    }
    .dropdown-menu,
    .dropdown-right {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        display: none;
        border-top: 0;
        box-shadow: none;
        background: #f5f7fa;
        padding: 0;
        min-width: 0;
    }
    .nav-dropdown:hover .dropdown-menu,
    .nav-dropdown:focus-within .dropdown-menu { display:block; }
    .dropdown-menu a { padding-left: 32px; }
    .wassla-footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
    .wassla-header-container,
    .wassla-footer-container { width: min(100% - 28px, 1240px); }
    .topbar-cart { display:none; }
    .topbar-client { padding-left: 8px; padding-right: 8px; }
    .topbar-phone { font-size: 12px; padding-left: 8px; padding-right: 8px; }
    .wassla-footer-grid { grid-template-columns: 1fr; gap: 38px; padding-top: 48px; }
    .footer-column h2 { margin-bottom: 22px; }
    .footer-column li { margin-bottom: 14px; }
}
