/* Xpress Web Host Premium UI Override - safe add-on layer */
:root {
    --xwh-navy: #06185f;
    --xwh-blue: #075bff;
    --xwh-blue-2: #143ec4;
    --xwh-orange: #ff9800;
    --xwh-sky: #eaf2ff;
    --xwh-soft: #f6f8fc;
    --xwh-text: #0f172a;
    --xwh-muted: #64748b;
    --xwh-border: #e5eaf3;
    --xwh-shadow: 0 22px 60px rgba(9, 28, 83, .12);
    --xwh-shadow-lg: 0 32px 80px rgba(9, 28, 83, .18);
    --xwh-radius: 22px;
}

html { scroll-behavior: smooth; }
body.lagom {
    color: var(--xwh-text);
    background: linear-gradient(180deg, #ffffff 0%, #f7f9ff 100%);
    -webkit-font-smoothing: antialiased;
}

/* Header / Menu */
.app-nav {
    background: rgba(255,255,255,.92);
    border-bottom: 1px solid rgba(226,232,240,.9);
    box-shadow: 0 12px 35px rgba(15, 23, 42, .05);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    z-index: 1000;
}
.app-nav .app-nav-header,
.app-nav .app-nav-menu {
    background: transparent !important;
}
.app-nav .container {
    max-width: 1180px;
}
.app-nav .logo img,
.app-nav .brand img {
    max-height: 48px;
}
.menu-primary > li > a,
.top-nav > li > a {
    font-weight: 700;
    letter-spacing: -.01em;
    color: #172554 !important;
    transition: all .22s ease;
}
.menu-primary > li > a:hover,
.menu-primary > li.active > a,
.top-nav > li > a:hover {
    color: var(--xwh-blue) !important;
}
.menu-primary > li.active > a:after,
.menu-primary > li > a:hover:after {
    background: linear-gradient(90deg, var(--xwh-blue), var(--xwh-orange)) !important;
    height: 3px !important;
    border-radius: 10px;
}
.top-nav .btn,
.top-nav a[href*="login"],
.top-nav a[href*="clientarea.php"] {
    border-radius: 10px !important;
}
.btn-primary,
button.btn-primary,
a.btn-primary,
.btn-order-now {
    border: 0 !important;
    background: linear-gradient(135deg, var(--xwh-blue) 0%, var(--xwh-blue-2) 100%) !important;
    box-shadow: 0 12px 30px rgba(7,91,255,.26);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn-primary:hover,
button.btn-primary:hover,
a.btn-primary:hover,
.btn-order-now:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 40px rgba(7,91,255,.34);
    filter: saturate(1.08);
}
.btn-primary-faded,
.btn-default {
    border-radius: 12px;
}
.dropdown-menu {
    border: 1px solid rgba(226,232,240,.9) !important;
    border-radius: 18px !important;
    box-shadow: var(--xwh-shadow) !important;
    overflow: hidden;
}
.dropdown-menu a:hover {
    background: var(--xwh-sky) !important;
    color: var(--xwh-blue) !important;
}

/* Home Page */
.page-homepage .main-header,
.page-index .main-header { display: none; }
.xwh-home { background: #fff; overflow: hidden; }
.xwh-hero {
    position: relative;
    padding: 86px 0 78px;
    color: #fff;
    background:
        radial-gradient(circle at 18% 12%, rgba(255,152,0,.34) 0, rgba(255,152,0,0) 26%),
        radial-gradient(circle at 85% 20%, rgba(75,143,255,.34) 0, rgba(75,143,255,0) 32%),
        linear-gradient(135deg, #06185f 0%, #092c9f 48%, #075bff 100%);
}
.xwh-hero:before,
.xwh-hero:after {
    content: "";
    position: absolute;
    pointer-events: none;
    opacity: .28;
}
.xwh-hero:before {
    inset: 0;
    background-image:
        linear-gradient(135deg, rgba(255,255,255,.12) 1px, transparent 1px),
        linear-gradient(45deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 64px 64px;
}
.xwh-hero:after {
    width: 460px;
    height: 460px;
    right: -180px;
    bottom: -220px;
    border-radius: 50%;
    border: 90px solid rgba(255,255,255,.12);
}
.xwh-hero .container,
.xwh-section .container { max-width: 1180px; position: relative; z-index: 2; }
.xwh-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, .86fr);
    align-items: center;
    gap: 56px;
}
.xwh-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    margin-bottom: 18px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    color: #eef6ff;
    font-size: 13px;
    font-weight: 800;
    backdrop-filter: blur(10px);
}
.xwh-hero h1 {
    max-width: 720px;
    margin: 0;
    color: #fff;
    font-size: clamp(38px, 5vw, 68px);
    line-height: 1.02;
    letter-spacing: -.05em;
    font-weight: 900;
}
.xwh-hero-copy p {
    max-width: 620px;
    margin: 22px 0 0;
    color: rgba(255,255,255,.86);
    font-size: 18px;
    line-height: 1.7;
}
.xwh-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}
.xwh-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 24px !important;
    border-radius: 14px !important;
    font-weight: 800 !important;
    letter-spacing: -.01em;
}
.xwh-btn-primary {
    color: #fff !important;
    background: linear-gradient(135deg, var(--xwh-blue), #1740c8) !important;
    box-shadow: 0 18px 42px rgba(7,91,255,.34) !important;
}
.xwh-btn-ghost {
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    background: rgba(255,255,255,.10) !important;
    backdrop-filter: blur(12px);
}
.xwh-btn-light {
    color: #1740c8 !important;
    background: #eef4ff !important;
    box-shadow: none !important;
}
.xwh-btn:hover { transform: translateY(-2px); }
.xwh-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}
.xwh-trust-row span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    color: #f8fbff;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    font-weight: 700;
    font-size: 13px;
}
.xwh-trust-row i { color: #7df3a4; }
.xwh-domain-card {
    position: relative;
    padding: 30px;
    border-radius: 30px;
    background: rgba(255,255,255,.95);
    color: var(--xwh-text);
    box-shadow: var(--xwh-shadow-lg);
    backdrop-filter: blur(16px);
}
.xwh-domain-card:before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,152,0,.45), rgba(7,91,255,.45));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}
.xwh-domain-card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
}
.xwh-domain-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    color: #fff;
    background: linear-gradient(135deg, var(--xwh-blue), var(--xwh-orange));
    box-shadow: 0 14px 34px rgba(7,91,255,.28);
}
.xwh-domain-card h2 {
    margin: 0 0 4px;
    color: var(--xwh-text);
    font-size: 24px;
    font-weight: 900;
    letter-spacing: -.03em;
}
.xwh-domain-card p { margin: 0; color: var(--xwh-muted); }
.xwh-search-wrap {
    display: flex;
    gap: 10px;
    padding: 8px;
    border: 1px solid var(--xwh-border);
    border-radius: 20px;
    background: #f8fbff;
}
.xwh-search-field {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 0 12px;
    color: var(--xwh-blue);
}
.xwh-search-field .form-control {
    height: 52px;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 15px;
}
.xwh-search-actions {
    display: flex;
    gap: 8px;
}
.xwh-search-actions .xwh-btn { min-height: 52px; }
.xwh-tld-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}
.xwh-tld-chips span {
    padding: 7px 11px;
    border-radius: 999px;
    color: #1740c8;
    background: #eef4ff;
    font-weight: 800;
    font-size: 12px;
}
.xwh-section { padding: 78px 0; }
.xwh-section-heading { text-align: center; max-width: 720px; margin: 0 auto 34px; }
.xwh-section-heading span {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--xwh-blue);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.xwh-section-heading h2 {
    margin: 0;
    color: var(--xwh-text);
    font-size: clamp(28px, 3.2vw, 44px);
    line-height: 1.12;
    font-weight: 900;
    letter-spacing: -.04em;
}
.xwh-section-heading p {
    margin: 14px 0 0;
    color: var(--xwh-muted);
    font-size: 16px;
    line-height: 1.65;
}
.xwh-action-grid,
.xwh-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}
.xwh-action-card,
.xwh-feature-card,
.xwh-service-card {
    position: relative;
    display: block;
    height: 100%;
    padding: 28px;
    border: 1px solid var(--xwh-border);
    border-radius: var(--xwh-radius);
    background: #fff;
    box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
    color: var(--xwh-text) !important;
    text-decoration: none !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.xwh-action-card:hover,
.xwh-feature-card:hover,
.xwh-service-card:hover {
    transform: translateY(-7px);
    border-color: rgba(7,91,255,.28);
    box-shadow: var(--xwh-shadow);
}
.xwh-action-icon,
.xwh-service-icon,
.xwh-feature-card > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 18px;
    border-radius: 18px;
    color: #fff;
    background: linear-gradient(135deg, var(--xwh-blue), var(--xwh-orange));
    box-shadow: 0 14px 30px rgba(7,91,255,.22);
    font-size: 24px;
}
.xwh-action-card h3,
.xwh-feature-card h3,
.xwh-service-card h3 {
    margin: 0 0 10px;
    color: var(--xwh-text);
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -.02em;
}
.xwh-action-card p,
.xwh-feature-card p,
.xwh-service-card p {
    margin: 0;
    color: var(--xwh-muted);
    line-height: 1.62;
}
.xwh-services-section {
    background:
        radial-gradient(circle at 12% 0, rgba(255,152,0,.12), transparent 30%),
        radial-gradient(circle at 88% 0, rgba(7,91,255,.16), transparent 30%),
        #07185e;
}
.xwh-heading-light span { color: #ffbd5c; }
.xwh-heading-light h2,
.xwh-heading-light p { color: #fff; }
.xwh-heading-light p { color: rgba(255,255,255,.78); }
.xwh-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}
.xwh-service-card {
    overflow: hidden;
    background: rgba(255,255,255,.94);
}
.xwh-service-card:after {
    content: "";
    position: absolute;
    width: 140px;
    height: 140px;
    right: -55px;
    top: -55px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(7,91,255,.14), rgba(255,152,0,.18));
}
.xwh-service-popular {
    border-color: rgba(255,152,0,.48);
    box-shadow: 0 22px 60px rgba(255,152,0,.18);
}
.xwh-card-badge {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 2;
    padding: 6px 10px;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, var(--xwh-orange), #ff6b00);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.xwh-card-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 20px;
    color: var(--xwh-blue);
    font-weight: 900;
}
.xwh-why-section { background: #f7f9ff; }
.xwh-feature-card { text-align: left; }

/* Order form premium layout */
.page-order .main-header {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 16% 0, rgba(255,152,0,.20), transparent 30%),
        radial-gradient(circle at 90% 10%, rgba(7,91,255,.22), transparent 28%),
        linear-gradient(135deg, #06185f 0%, #0b37b9 60%, #075bff 100%) !important;
    color: #fff;
    padding: 62px 0 58px;
}
.page-order .main-header:after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(135deg, rgba(255,255,255,.10) 1px, transparent 1px);
    background-size: 54px 54px;
    opacity: .26;
}
.page-order .main-header .container { position: relative; z-index: 2; }
.page-order .main-header h1,
.page-order .main-header .main-header-title {
    color: #fff !important;
    font-size: clamp(32px, 4vw, 52px) !important;
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: -.045em;
}
.page-order .main-header p,
.page-order .main-header .main-header-desc {
    color: rgba(255,255,255,.82) !important;
    font-size: 15px;
}
.page-order .main-body {
    background: linear-gradient(180deg, #f7f9ff 0%, #ffffff 100%);
}
.page-order .main-grid {
    gap: 30px;
}
.page-order .main-sidebar .panel-sidebar,
.page-order .main-sidebar .panel-default,
.page-order .main-sidebar .panel {
    border: 1px solid rgba(226,232,240,.9) !important;
    border-radius: 22px !important;
    overflow: hidden;
    background: rgba(255,255,255,.95) !important;
    box-shadow: 0 14px 35px rgba(15,23,42,.06);
}
.page-order .main-sidebar .panel-heading {
    border: 0 !important;
    background: #fff !important;
    padding: 20px 20px 12px !important;
}
.page-order .main-sidebar .panel-title {
    color: var(--xwh-text) !important;
    font-weight: 900;
    letter-spacing: -.02em;
}
.page-order .main-sidebar .list-group { padding: 0 12px 14px; }
.page-order .main-sidebar .list-group-item {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 4px 0;
    border: 0 !important;
    border-radius: 12px !important;
    color: #334155;
    font-weight: 700;
}
.page-order .main-sidebar .list-group-item.active,
.page-order .main-sidebar .list-group-item:hover {
    color: #075bff !important;
    background: #eaf2ff !important;
}
.page-products .products .row,
.page-order .products .row {
    row-gap: 22px;
}
.page-products .package,
.page-order .package {
    position: relative;
    overflow: hidden;
    height: 100%;
    padding: 30px 26px !important;
    border: 1px solid rgba(226,232,240,.95) !important;
    border-radius: 28px !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 16px 44px rgba(15,23,42,.07);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.page-products .package:before,
.page-order .package:before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 7px;
    background: linear-gradient(90deg, var(--xwh-blue), var(--xwh-orange));
}
.page-products .row > .col:nth-child(2) .package,
.page-order .row > .col:nth-child(2) .package,
.page-products .package-featured,
.page-order .package-featured {
    border-color: rgba(255,152,0,.48) !important;
    box-shadow: 0 26px 70px rgba(7,91,255,.14);
    transform: translateY(-4px);
}
.page-products .row > .col:nth-child(2) .package:after,
.page-order .row > .col:nth-child(2) .package:after,
.page-products .package-featured:after,
.page-order .package-featured:after {
    content: "Most Popular";
    position: absolute;
    top: 18px;
    right: 18px;
    padding: 7px 11px;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, var(--xwh-orange), #ff6b00);
    font-size: 11px;
    line-height: 1;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
    z-index: 2;
}
.page-products .package:hover,
.page-order .package:hover {
    transform: translateY(-8px);
    border-color: rgba(7,91,255,.36) !important;
    box-shadow: var(--xwh-shadow-lg);
}
.page-products .row > .col:nth-child(2) .package:hover,
.page-order .row > .col:nth-child(2) .package:hover,
.page-products .package-featured:hover,
.page-order .package-featured:hover {
    transform: translateY(-10px);
}
.page-products .package-header,
.page-order .package-header {
    text-align: center;
}
.page-products .package-title,
.page-order .package-title {
    margin-top: 8px !important;
    color: var(--xwh-text) !important;
    font-size: 23px !important;
    font-weight: 900 !important;
    letter-spacing: -.035em;
}
.page-products .package-price,
.page-order .package-price {
    margin-top: 12px;
    text-align: center;
}
.page-products .package-price .price,
.page-order .package-price .price {
    color: var(--xwh-text) !important;
    font-weight: 900;
}
.page-products .price-amount,
.page-order .price-amount,
.page-products .price,
.page-order .price {
    letter-spacing: -.04em;
}
.page-products .package-body,
.page-order .package-body {
    padding-top: 20px !important;
}
.page-products .package-content,
.page-order .package-content {
    color: #334155;
}
.page-products .package-features,
.page-order .package-features {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.page-products .package-features li,
.page-order .package-features li,
.page-products .package-content p,
.page-order .package-content p {
    color: #334155;
    font-size: 13px;
    line-height: 1.48;
}
.page-products .package-content i,
.page-order .package-content i,
.page-products .package-features li:before,
.page-order .package-features li:before {
    color: #19b35a !important;
}
.page-products .package-footer,
.page-order .package-footer {
    margin-top: 22px;
    text-align: center;
}
.page-products .btn-order-now,
.page-order .btn-order-now {
    width: auto;
    min-width: 162px;
    min-height: 52px;
    border-radius: 14px !important;
    font-weight: 900 !important;
}
.page-products .section.products,
.page-order .section.products { margin-top: 0; }

/* Mobile category tabs */
.xwh-mobile-category-tabs {
    margin: -8px 0 20px;
}
.xwh-mobile-category-scroller {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 8px 2px 12px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.xwh-mobile-category-scroller::-webkit-scrollbar { display: none; }
.xwh-mobile-category-tab {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid var(--xwh-border);
    border-radius: 999px;
    color: #334155 !important;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15,23,42,.06);
    text-decoration: none !important;
    font-weight: 800;
    white-space: nowrap;
}
.xwh-mobile-category-tab.active,
.xwh-mobile-category-tab:hover {
    color: #fff !important;
    border-color: transparent;
    background: linear-gradient(135deg, var(--xwh-blue), var(--xwh-blue-2));
}
.xwh-mobile-category-tab .badge { margin-left: 6px; }

/* Cart / Checkout soft polish */
.page-order .panel,
.page-cart .panel,
.page-viewcart .panel {
    border-radius: 22px !important;
    border-color: rgba(226,232,240,.95) !important;
    box-shadow: 0 14px 35px rgba(15,23,42,.05);
}
.page-order .panel-heading,
.page-cart .panel-heading,
.page-viewcart .panel-heading {
    border-radius: 22px 22px 0 0 !important;
}
.page-order .form-control,
.page-cart .form-control,
.page-viewcart .form-control {
    border-radius: 12px !important;
}

/* Footer */
.main-footer {
    margin-top: 0 !important;
    background: #06185f !important;
    color: rgba(255,255,255,.78) !important;
    border-top: 0 !important;
}
.xwh-premium-footer {
    padding: 58px 0 34px;
    background:
        radial-gradient(circle at 10% 0, rgba(255,152,0,.14), transparent 28%),
        radial-gradient(circle at 90% 0, rgba(7,91,255,.22), transparent 26%),
        #06185f;
}
.xwh-footer-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.25fr) repeat(3, minmax(160px, .75fr));
    gap: 34px;
}
.xwh-footer-logo img,
.xwh-footer-brand img { max-height: 54px; width: auto; }
.xwh-footer-brand p {
    margin: 18px 0 0;
    max-width: 390px;
    color: rgba(255,255,255,.76);
    line-height: 1.7;
}
.xwh-footer-socials { display: flex; gap: 10px; margin-top: 20px; }
.xwh-footer-socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    color: #fff !important;
    background: rgba(255,255,255,.12);
    text-decoration: none !important;
}
.xwh-footer-socials a:hover { background: var(--xwh-blue); }
.xwh-footer-col h3 {
    margin: 0 0 16px;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.xwh-footer-col ul { list-style: none; margin: 0; padding: 0; }
.xwh-footer-col li { margin-bottom: 10px; }
.xwh-footer-col a {
    color: rgba(255,255,255,.76) !important;
    text-decoration: none !important;
    font-weight: 600;
}
.xwh-footer-col a:hover { color: #fff !important; }
.xwh-payment-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}
.xwh-payment-badges span {
    padding: 7px 10px;
    border-radius: 999px;
    color: #eaf2ff;
    background: rgba(255,255,255,.10);
    font-size: 12px;
    font-weight: 800;
}
.main-footer .footer-bottom {
    padding: 20px 0 !important;
    background: rgba(0,0,0,.14) !important;
    border-top: 1px solid rgba(255,255,255,.10);
}
.main-footer .footer-copyright,
.main-footer .footer-nav a,
.main-footer .footer-nav span {
    color: rgba(255,255,255,.72) !important;
}
.main-footer .footer-bottom .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

/* Floating WhatsApp button, only if old button exists */
.whatsapp-livechat {
    right: 20px !important;
    left: auto !important;
    bottom: 22px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #14b85a, #087d3d) !important;
    box-shadow: 0 18px 46px rgba(20,184,90,.32) !important;
}

@media (max-width: 1199px) {
    .xwh-hero-grid { grid-template-columns: 1fr; gap: 34px; }
    .xwh-domain-card { max-width: 720px; }
    .xwh-action-grid,
    .xwh-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .xwh-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .xwh-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 991px) {
    .app-nav .app-nav-header .container {
        min-height: 72px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .app-nav-toggle { order: 0; margin: 0 !important; }
    .app-nav .logo { order: 1; margin: 0 auto; }
    .top-nav { order: 2; }
    .app-nav-menu .container { padding-left: 15px; padding-right: 15px; }
    .menu-primary > li > a { border-radius: 12px; }
    .page-products .row > .col:nth-child(2) .package,
    .page-order .row > .col:nth-child(2) .package,
    .page-products .package-featured,
    .page-order .package-featured { transform: none; }
}

@media (max-width: 767px) {
    .xwh-hero { padding: 54px 0 50px; }
    .xwh-hero h1 { font-size: 36px; }
    .xwh-hero-copy p { font-size: 15px; }
    .xwh-domain-card { padding: 22px; border-radius: 24px; }
    .xwh-domain-card-header { align-items: flex-start; }
    .xwh-search-wrap { flex-direction: column; }
    .xwh-search-actions { width: 100%; }
    .xwh-search-actions .xwh-btn { flex: 1 1 0; padding-left: 12px !important; padding-right: 12px !important; }
    .xwh-hero-actions .xwh-btn { width: 100%; }
    .xwh-trust-row span { flex: 1 1 calc(50% - 10px); justify-content: center; }
    .xwh-section { padding: 54px 0; }
    .xwh-section-heading { text-align: left; margin-bottom: 24px; }
    .xwh-action-grid,
    .xwh-feature-grid,
    .xwh-service-grid,
    .xwh-footer-grid { grid-template-columns: 1fr; }
    .xwh-action-card,
    .xwh-feature-card,
    .xwh-service-card { padding: 22px; border-radius: 20px; }
    .page-order .main-header { padding: 42px 0 38px; }
    .page-order .main-header h1,
    .page-order .main-header .main-header-title { font-size: 32px !important; }
    .page-products .package,
    .page-order .package { padding: 26px 20px !important; border-radius: 22px !important; }
    .page-products .package-footer,
    .page-order .package-footer { margin-top: 18px; }
    .page-products .btn-order-now,
    .page-order .btn-order-now { width: 100%; }
    .main-footer .footer-bottom .container { flex-direction: column; text-align: center; }
    .xwh-premium-footer { padding: 42px 0 26px; }
}

@media (max-width: 480px) {
    .app-nav .logo img { max-height: 42px; }
    .xwh-hero h1 { font-size: 32px; }
    .xwh-trust-row span { flex-basis: 100%; }
    .xwh-domain-icon { width: 48px; height: 48px; }
    .xwh-domain-card h2 { font-size: 21px; }
    .xwh-tld-chips span { font-size: 11px; }
}

/* Homepage package/order cards */
.xwh-home-plans {
    background:
        radial-gradient(circle at 12% 5%, rgba(7,91,255,.08), transparent 28%),
        radial-gradient(circle at 88% 15%, rgba(255,152,0,.10), transparent 28%),
        #ffffff;
}
.xwh-plan-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}
.xwh-plan-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 26px;
    border: 1px solid var(--xwh-border);
    border-radius: 26px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 16px 42px rgba(15,23,42,.07);
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.xwh-plan-card:before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, var(--xwh-blue), var(--xwh-orange));
}
.xwh-plan-card:hover {
    transform: translateY(-7px);
    border-color: rgba(7,91,255,.30);
    box-shadow: var(--xwh-shadow);
}
.xwh-plan-featured {
    border-color: rgba(255,152,0,.48);
    box-shadow: 0 24px 65px rgba(7,91,255,.14);
}
.xwh-plan-group {
    display: inline-flex;
    max-width: calc(100% - 110px);
    margin-bottom: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    color: #1740c8;
    background: #eef4ff;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.xwh-plan-top h3 {
    margin: 0 0 10px;
    color: var(--xwh-text);
    font-size: 21px;
    line-height: 1.18;
    font-weight: 900;
    letter-spacing: -.035em;
}
.xwh-plan-top p {
    min-height: 48px;
    margin: 0;
    color: var(--xwh-muted);
    font-size: 14px;
    line-height: 1.55;
}
.xwh-plan-price {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    margin: 22px 0 18px;
}
.xwh-plan-price strong {
    color: var(--xwh-text);
    font-size: clamp(24px, 2.4vw, 34px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.045em;
}
.xwh-plan-price span {
    color: var(--xwh-muted);
    font-size: 12px;
    font-weight: 800;
    padding-bottom: 3px;
}
.xwh-plan-features {
    display: grid;
    gap: 10px;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
}
.xwh-plan-features li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: #334155;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 650;
}
.xwh-plan-features i {
    margin-top: 2px;
    color: #19b35a;
}
.xwh-plan-btn {
    width: 100%;
    margin-top: auto;
}
.xwh-why-section .xwh-section-heading p {
    display: block;
}

/* Mobile drawer fix: keep content in place and show menu as overlay */
@media (max-width: 991.98px) {
    html,
    body.lagom {
        max-width: 100%;
        overflow-x: hidden !important;
    }
    .app-nav {
        width: 100%;
        max-width: 100vw;
        overflow: visible;
    }
    .app-nav-header {
        background: rgba(255,255,255,.96) !important;
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }
    .app-nav-header .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .app-nav-header .logo {
        max-width: 170px;
    }
    .app-nav-header .logo img,
    .app-nav .logo img {
        max-width: 165px;
        object-fit: contain;
    }
    .app-nav-header .top-nav {
        flex: 0 0 auto;
        margin-left: 0;
    }
    .app-nav-header .top-nav > li:not(.primary-action):not([menuitemname="View Cart"]):not([menuitemname="Cart"]):not([menuitemname="Choose Currency"]) {
        display: none !important;
    }
    .lagom.menu-open:not(.nav-mobile-dropdown) .app-header,
    .lagom.menu-open:not(.nav-mobile-dropdown) .app-main,
    .lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-header,
    .lagom.menu-open:not(.nav-mobile-dropdown) .email-verification,
    .lagom.menu-open:not(.nav-mobile-dropdown) > .custom-integration {
        transform: none !important;
    }
    .lagom:not(.nav-mobile-dropdown) .app-nav-menu {
        top: var(--mob-app-nav-header-height) !important;
        height: calc(100vh - var(--mob-app-nav-header-height)) !important;
        width: min(86vw, 330px) !important;
        max-width: 330px !important;
        padding: 16px 0 24px !important;
        border-radius: 0 24px 24px 0;
        background: rgba(255,255,255,.98) !important;
        box-shadow: 24px 0 70px rgba(15,23,42,.18) !important;
        z-index: 1080 !important;
    }
    .lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu {
        transform: translateX(0) !important;
    }
    .lagom.menu-open:not(.nav-mobile-dropdown) .app-main:before {
        position: fixed !important;
        top: var(--mob-app-nav-header-height) !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 1070 !important;
        background: rgba(2, 8, 23, .48);
        backdrop-filter: blur(3px);
        -webkit-backdrop-filter: blur(3px);
    }
    .lagom:not(.nav-mobile-dropdown) .app-nav-menu .menu > li > a:not(.btn) {
        margin: 2px 12px;
        border-radius: 14px;
        font-weight: 800;
    }
    .xwh-hero {
        padding-top: 46px;
    }
    .xwh-hero-grid,
    .xwh-domain-card,
    .xwh-hero-copy,
    .xwh-home,
    .app-main,
    .main-body {
        max-width: 100vw;
        overflow-x: hidden;
    }
}

@media (max-width: 1199px) {
    .xwh-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .xwh-home-plans { padding-top: 54px; }
    .xwh-plan-grid { grid-template-columns: 1fr; gap: 16px; }
    .xwh-plan-card { padding: 22px; border-radius: 22px; }
    .xwh-plan-group { max-width: 100%; }
    .xwh-plan-top p { min-height: 0; }
    .xwh-plan-price {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
        margin: 18px 0 16px;
    }
    .xwh-plan-price strong { font-size: 30px; }
    .xwh-plan-price span { padding-bottom: 0; }
}

@media (max-width: 480px) {
    .app-nav-header .container { padding-left: 14px !important; padding-right: 14px !important; }
    .app-nav-header .logo { max-width: 150px; }
    .app-nav-header .logo img,
    .app-nav .logo img { max-width: 148px; }
    .app-nav-header .top-nav > li > a {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    .xwh-hero {
        padding-top: 38px;
        padding-bottom: 42px;
    }
    .xwh-eyebrow {
        max-width: 100%;
        white-space: normal;
        line-height: 1.35;
    }
}

/* Xpress Premium UI - Mobile Navigation Hard Fix v3
   Root cause fixed: Lagom mobile drawer was using the original --mob-app-nav-width while
   the custom drawer width was wider, leaving a visible white strip and clipping the hero.
   This layer makes the drawer a true overlay, keeps the page/header from shifting, and
   normalizes the mobile topbar height/background. */
@media (max-width: 991.98px) {
    html,
    body.lagom {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden !important;
        --xwh-mobile-header-height: 74px;
        --mob-app-nav-width: min(86vw, 340px);
    }

    body.lagom .app-nav,
    body.lagom.lagom-layout-top .app-nav,
    body.lagom .sticky-navigation {
        position: sticky !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
        z-index: 1100 !important;
    }

    body.lagom .app-nav-header,
    body.lagom.lagom-layout-top .app-nav-header {
        display: block !important;
        position: relative !important;
        top: 0 !important;
        height: var(--xwh-mobile-header-height) !important;
        min-height: var(--xwh-mobile-header-height) !important;
        max-height: var(--xwh-mobile-header-height) !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        border-bottom: 1px solid rgba(255,255,255,.15) !important;
        background:
            radial-gradient(circle at 12% 12%, rgba(255,152,0,.28), transparent 32%),
            linear-gradient(135deg, #06185f 0%, #082a9a 52%, #075bff 100%) !important;
        box-shadow: 0 16px 42px rgba(2, 8, 23, .16) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        z-index: 1110 !important;
    }

    body.lagom .app-nav-header .container,
    body.lagom.lagom-layout-top .app-nav-header .container {
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) 92px !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 14px !important;
    }

    body.lagom .app-nav-toggle,
    body.lagom .navbar-toggle {
        grid-column: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        position: static !important;
        border: 1px solid rgba(255,255,255,.18) !important;
        border-radius: 14px !important;
        background: rgba(255,255,255,.10) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.14) !important;
    }

    body.lagom .app-nav-toggle .icon-bar,
    body.lagom .navbar-toggle .icon-bar {
        display: block !important;
        width: 18px !important;
        height: 2px !important;
        margin: 2px 0 !important;
        border-radius: 999px !important;
        background: #ffffff !important;
        opacity: 1 !important;
    }

    body.lagom .app-nav-header .logo,
    body.lagom .app-nav-header .brand {
        grid-column: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.lagom .app-nav-header .logo img,
    body.lagom .app-nav-header .brand img,
    body.lagom .app-nav .logo img {
        display: block !important;
        width: auto !important;
        max-width: 172px !important;
        max-height: 50px !important;
        object-fit: contain !important;
        margin: 0 auto !important;
    }

    body.lagom .app-nav-header .top-nav {
        grid-column: 3 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 4px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        list-style: none !important;
    }

    body.lagom .app-nav-header .top-nav > li {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.lagom .app-nav-header .top-nav > li[menuitemname="View Cart"],
    body.lagom .app-nav-header .top-nav > li[menuitemname="Cart"],
    body.lagom .app-nav-header .top-nav > li[menuitemname="Choose Currency"],
    body.lagom .app-nav-header .top-nav > li.dropdown-currency,
    body.lagom .app-nav-header .top-nav > li.primary-action {
        display: flex !important;
        align-items: center !important;
    }

    body.lagom .app-nav-header .top-nav > li > a,
    body.lagom .app-nav-header .top-nav > li > button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 34px !important;
        height: 38px !important;
        padding: 0 7px !important;
        border-radius: 12px !important;
        color: rgba(255,255,255,.94) !important;
        background: transparent !important;
        font-size: 13px !important;
        font-weight: 800 !important;
    }

    body.lagom .app-nav-header .top-nav i,
    body.lagom .app-nav-header .top-nav .ls,
    body.lagom .app-nav-header .top-nav .lm {
        color: rgba(255,255,255,.92) !important;
    }

    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu,
    body.lagom.lagom-layout-top:not(.nav-mobile-dropdown) .app-nav-menu {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: min(86vw, 340px) !important;
        max-width: calc(100vw - 32px) !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        padding: calc(var(--xwh-mobile-header-height) + 14px) 0 22px !important;
        border: 0 !important;
        border-radius: 0 26px 26px 0 !important;
        background: rgba(255,255,255,.98) !important;
        box-shadow: 30px 0 90px rgba(2, 8, 23, .28) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        transform: translate3d(calc(-100% - 32px), 0, 0) !important;
        transition: transform .28s cubic-bezier(.22, 1, .36, 1) !important;
        will-change: transform !important;
        z-index: 1200 !important;
    }

    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu:before {
        content: "Menu";
        position: absolute;
        top: 22px;
        left: 22px;
        right: 22px;
        height: 38px;
        display: flex;
        align-items: center;
        padding: 0 14px;
        border-radius: 999px;
        color: #ffffff;
        font-size: 13px;
        font-weight: 900;
        letter-spacing: .02em;
        background: linear-gradient(135deg, #075bff, #143ec4);
        box-shadow: 0 12px 28px rgba(7,91,255,.26);
    }

    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu,
    body.lagom.lagom-layout-top.menu-open:not(.nav-mobile-dropdown) .app-nav-menu {
        transform: translate3d(0, 0, 0) !important;
    }

    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu > .container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 14px !important;
    }

    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .logo,
    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .brand {
        display: none !important;
    }

    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .menu,
    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu ul.menu {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .menu > li,
    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .menu > li:not(.dropdown) {
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .menu > li > a:not(.btn),
    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .menu > li > a,
    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .menu > li > .dropdown-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        min-height: 52px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 16px !important;
        border: 1px solid #e7ecf5 !important;
        border-radius: 16px !important;
        color: #0f255f !important;
        background: #ffffff !important;
        box-shadow: 0 10px 28px rgba(15,23,42,.05) !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
    }

    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .menu > li.active > a,
    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .menu > li.open > a,
    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .menu > li > a:hover,
    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .menu > li > a:focus {
        color: #ffffff !important;
        border-color: transparent !important;
        background: linear-gradient(135deg, #075bff, #143ec4) !important;
        box-shadow: 0 14px 34px rgba(7,91,255,.24) !important;
    }

    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .dropdown-menu,
    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .dropdown-menu-collapse {
        position: static !important;
        display: none;
        width: 100% !important;
        margin: 8px 0 2px !important;
        padding: 8px !important;
        border: 1px solid #e7ecf5 !important;
        border-radius: 16px !important;
        background: #f8fbff !important;
        box-shadow: none !important;
    }

    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .open > .dropdown-menu,
    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .open > .dropdown-menu-collapse {
        display: block !important;
    }

    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .dropdown-menu a,
    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu .dropdown-menu-collapse a {
        min-height: 42px !important;
        padding: 10px 12px !important;
        border-radius: 12px !important;
        color: #334155 !important;
        font-weight: 800 !important;
    }

    body.lagom.menu-open:not(.nav-mobile-dropdown),
    body.lagom.menu-open:not(.nav-mobile-dropdown) html {
        overflow: hidden !important;
    }

    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-header,
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-main,
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav,
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-header,
    body.lagom.menu-open:not(.nav-mobile-dropdown) .email-verification,
    body.lagom.menu-open:not(.nav-mobile-dropdown) > .custom-integration {
        transform: none !important;
    }

    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-main {
        position: relative !important;
    }

    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-main:before {
        content: "" !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 1150 !important;
        background: rgba(2, 8, 23, .54) !important;
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
        pointer-events: auto !important;
    }

    body.lagom.page-homepage .app-main,
    body.lagom.page-index .app-main,
    body.lagom.page-homepage .main-body,
    body.lagom.page-index .main-body,
    body.lagom.page-homepage .main-content,
    body.lagom.page-index .main-content {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    body.lagom.page-homepage .xwh-home,
    body.lagom.page-index .xwh-home {
        margin-top: 0 !important;
        padding-top: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
    }

    body.lagom.page-homepage .xwh-hero,
    body.lagom.page-index .xwh-hero {
        margin-top: 0 !important;
        padding-top: 38px !important;
        overflow: hidden !important;
    }

    body.lagom.page-homepage .xwh-hero-grid,
    body.lagom.page-index .xwh-hero-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    body.lagom.page-homepage .xwh-hero-copy,
    body.lagom.page-index .xwh-hero-copy {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    body.lagom.page-homepage .xwh-hero h1,
    body.lagom.page-index .xwh-hero h1 {
        max-width: 100% !important;
        font-size: clamp(31px, 9vw, 42px) !important;
        line-height: 1.08 !important;
        letter-spacing: -.045em !important;
    }

    body.lagom.page-homepage .xwh-hero-copy p,
    body.lagom.page-index .xwh-hero-copy p {
        max-width: 100% !important;
        font-size: 16px !important;
        line-height: 1.65 !important;
    }

    body.lagom.page-homepage .xwh-hero-actions,
    body.lagom.page-index .xwh-hero-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        width: 100% !important;
        margin-top: 24px !important;
    }

    body.lagom.page-homepage .xwh-hero-actions .xwh-btn,
    body.lagom.page-index .xwh-hero-actions .xwh-btn {
        width: 100% !important;
        min-height: 56px !important;
    }
}

@media (max-width: 480px) {
    body.lagom {
        --xwh-mobile-header-height: 72px;
    }

    body.lagom .app-nav-header .container {
        grid-template-columns: 46px minmax(0, 1fr) 76px !important;
        padding: 0 12px !important;
    }

    body.lagom .app-nav-header .logo img,
    body.lagom .app-nav-header .brand img,
    body.lagom .app-nav .logo img {
        max-width: 148px !important;
        max-height: 46px !important;
    }

    body.lagom .app-nav-header .top-nav > li > a,
    body.lagom .app-nav-header .top-nav > li > button {
        min-width: 30px !important;
        height: 36px !important;
        padding: 0 5px !important;
        font-size: 12px !important;
    }

    body.lagom:not(.nav-mobile-dropdown) .app-nav-menu,
    body.lagom.lagom-layout-top:not(.nav-mobile-dropdown) .app-nav-menu {
        width: min(88vw, 330px) !important;
        max-width: calc(100vw - 24px) !important;
        border-radius: 0 22px 22px 0 !important;
        transform: translate3d(calc(-100% - 28px), 0, 0) !important;
    }

    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu,
    body.lagom.lagom-layout-top.menu-open:not(.nav-mobile-dropdown) .app-nav-menu {
        transform: translate3d(0, 0, 0) !important;
    }
}

/* Xpress Premium UI - Mobile Navigation Final Hard Reset v4
   Fixes remaining Lagom mobile drawer issues seen on Pixel/mobile:
   - closed drawer strip leaking into the page
   - overlay appearing above the drawer and blurring the menu
   - empty mobile top utility area above the premium header
   This is intentionally scoped to <=991px only. */
@media (max-width: 991.98px) {
    body.lagom,
    html {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: clip !important;
    }

    /* Remove the unused/empty top utility bar on mobile so the header starts cleanly. */
    body.lagom .app-header,
    body.lagom #app-header,
    body.lagom .top-header,
    body.lagom .header-top,
    body.lagom .app-nav-top {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
    }

    body.lagom .app,
    body.lagom .app-main,
    body.lagom .main-body,
    body.lagom .main-content,
    body.lagom .body-content,
    body.lagom .site {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Keep the header/menu stacking above the dim overlay. */
    body.lagom .app-nav,
    body.lagom .sticky-navigation,
    body.lagom.lagom-layout-top .app-nav {
        position: sticky !important;
        top: 0 !important;
        z-index: 4000 !important;
        overflow: visible !important;
    }

    body.lagom .app-nav-header,
    body.lagom.lagom-layout-top .app-nav-header {
        z-index: 4100 !important;
    }

    /* Closed state: fully remove the drawer from layout/paint. This kills the visible white strip. */
    body.lagom:not(.menu-open) .app-nav-menu,
    body.lagom:not(.menu-open):not(.nav-mobile-dropdown) .app-nav-menu,
    body.lagom.lagom-layout-top:not(.menu-open) .app-nav-menu {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translate3d(-140vw, 0, 0) !important;
        left: -140vw !important;
        right: auto !important;
        filter: none !important;
    }

    /* Open state: crisp premium drawer above the overlay. */
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu,
    body.lagom.lagom-layout-top.menu-open:not(.nav-mobile-dropdown) .app-nav-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: auto !important;
        bottom: 0 !important;
        width: min(86vw, 340px) !important;
        max-width: calc(100vw - 24px) !important;
        height: 100vh !important;
        height: 100dvh !important;
        margin: 0 !important;
        padding: 90px 0 24px !important;
        border: 0 !important;
        border-radius: 0 26px 26px 0 !important;
        background: #ffffff !important;
        box-shadow: 30px 0 90px rgba(2, 8, 23, .30) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        transform: translate3d(0, 0, 0) !important;
        transition: none !important;
        filter: none !important;
        -webkit-filter: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        z-index: 4300 !important;
    }

    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu *,
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu:before {
        filter: none !important;
        -webkit-filter: none !important;
        text-shadow: none !important;
    }

    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu:before {
        content: "Xpress Web Host" !important;
        position: absolute !important;
        top: 18px !important;
        left: 16px !important;
        right: 16px !important;
        height: 52px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 16px !important;
        border-radius: 18px !important;
        color: #ffffff !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        letter-spacing: .01em !important;
        background:
            radial-gradient(circle at 12% 20%, rgba(255,152,0,.45), transparent 34%),
            linear-gradient(135deg, #06185f 0%, #075bff 100%) !important;
        box-shadow: 0 16px 34px rgba(7,91,255,.24) !important;
    }

    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu > .container {
        padding: 0 16px !important;
    }

    /* Dim only page content, never the drawer/header. */
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-main:before {
        content: "" !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 3000 !important;
        background: rgba(2, 8, 23, .56) !important;
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
        pointer-events: auto !important;
    }

    body.lagom:not(.menu-open) .app-main:before {
        content: none !important;
        display: none !important;
    }

    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-main,
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav,
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-header {
        transform: none !important;
        filter: none !important;
        -webkit-filter: none !important;
    }

    /* Menu items: sharper, more premium spacing. */
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu .menu > li > a:not(.btn),
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu .menu > li > a,
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu .menu > li > .dropdown-toggle {
        min-height: 54px !important;
        border-radius: 17px !important;
        background: #f8fbff !important;
        border: 1px solid #e4ebf7 !important;
        color: #0f255f !important;
        box-shadow: 0 10px 24px rgba(15, 23, 42, .045) !important;
    }

    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu .menu > li.active > a,
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu .menu > li.open > a,
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu .menu > li > a:hover,
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu .menu > li > a:focus {
        background: linear-gradient(135deg, #075bff, #143ec4) !important;
        color: #ffffff !important;
        border-color: transparent !important;
    }

    body.lagom.page-homepage .xwh-hero,
    body.lagom.page-index .xwh-hero {
        padding-top: 34px !important;
    }
}

@media (max-width: 480px) {
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu,
    body.lagom.lagom-layout-top.menu-open:not(.nav-mobile-dropdown) .app-nav-menu {
        width: min(88vw, 330px) !important;
        max-width: calc(100vw - 18px) !important;
        border-radius: 0 22px 22px 0 !important;
    }
}

/* Xpress Premium UI - Final Mobile Polish v5
   Scope: keep desktop and previous updates intact; only refine mobile header/toggle and Quick Start swipe cards. */
@media (max-width: 991.98px) {
    /* Mobile header: clean white background so the logo stays visible. */
    body.lagom .app-nav,
    body.lagom.lagom-layout-top .app-nav,
    body.lagom .sticky-navigation {
        background: #ffffff !important;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .08) !important;
    }

    body.lagom .app-nav-header,
    body.lagom.lagom-layout-top .app-nav-header {
        height: 74px !important;
        min-height: 74px !important;
        max-height: 74px !important;
        border-bottom: 1px solid #e8eef8 !important;
        background: #ffffff !important;
        box-shadow: 0 10px 26px rgba(15, 23, 42, .055) !important;
    }

    body.lagom .app-nav-header .container,
    body.lagom.lagom-layout-top .app-nav-header .container {
        display: grid !important;
        grid-template-columns: 52px minmax(0, 1fr) 58px !important;
        align-items: center !important;
        gap: 8px !important;
        height: 74px !important;
        min-height: 74px !important;
        padding: 0 14px !important;
    }

    /* Toggle alignment: lock the button and bars to the exact center. */
    body.lagom .app-nav-toggle,
    body.lagom .navbar-toggle {
        grid-column: 1 !important;
        justify-self: start !important;
        align-self: center !important;
        position: relative !important;
        display: block !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        border: 1px solid #dce8fb !important;
        border-radius: 15px !important;
        background: #f4f8ff !important;
        box-shadow: 0 10px 22px rgba(7, 91, 255, .10) !important;
        overflow: hidden !important;
        transform: none !important;
    }

    body.lagom .app-nav-toggle .icon-bar,
    body.lagom .navbar-toggle .icon-bar {
        position: absolute !important;
        left: 50% !important;
        display: block !important;
        width: 20px !important;
        height: 2px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: #075bff !important;
        opacity: 1 !important;
        transform: translateX(-50%) !important;
    }

    body.lagom .app-nav-toggle .icon-bar:nth-child(1),
    body.lagom .navbar-toggle .icon-bar:nth-child(1) { top: 14px !important; }

    body.lagom .app-nav-toggle .icon-bar:nth-child(2),
    body.lagom .navbar-toggle .icon-bar:nth-child(2) { top: 21px !important; }

    body.lagom .app-nav-toggle .icon-bar:nth-child(3),
    body.lagom .navbar-toggle .icon-bar:nth-child(3) { top: 28px !important; }

    body.lagom .app-nav-toggle .icon-bar:nth-child(4),
    body.lagom .navbar-toggle .icon-bar:nth-child(4) { display: none !important; }

    body.lagom.menu-open .app-nav-toggle .icon-bar:nth-child(1),
    body.lagom.menu-open .navbar-toggle .icon-bar:nth-child(1) {
        top: 21px !important;
        transform: translateX(-50%) rotate(45deg) !important;
    }

    body.lagom.menu-open .app-nav-toggle .icon-bar:nth-child(2),
    body.lagom.menu-open .navbar-toggle .icon-bar:nth-child(2) {
        opacity: 0 !important;
    }

    body.lagom.menu-open .app-nav-toggle .icon-bar:nth-child(3),
    body.lagom.menu-open .navbar-toggle .icon-bar:nth-child(3) {
        top: 21px !important;
        transform: translateX(-50%) rotate(-45deg) !important;
    }

    /* Center logo on white mobile header. */
    body.lagom .app-nav-header .logo,
    body.lagom .app-nav-header .brand {
        grid-column: 2 !important;
        justify-self: center !important;
        align-self: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 74px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.lagom .app-nav-header .logo img,
    body.lagom .app-nav-header .brand img,
    body.lagom .app-nav .logo img {
        max-width: 166px !important;
        max-height: 50px !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
        filter: none !important;
        opacity: 1 !important;
    }

    /* Keep only cart/action area on the right, compact and premium on white. */
    body.lagom .app-nav-header .top-nav {
        grid-column: 3 !important;
        justify-self: end !important;
        align-self: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: auto !important;
        min-width: 0 !important;
        height: 74px !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.lagom .app-nav-header .top-nav > li[menuitemname="Choose Currency"],
    body.lagom .app-nav-header .top-nav > li.dropdown-currency {
        display: none !important;
    }

    body.lagom .app-nav-header .top-nav > li[menuitemname="View Cart"],
    body.lagom .app-nav-header .top-nav > li[menuitemname="Cart"],
    body.lagom .app-nav-header .top-nav > li.primary-action {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.lagom .app-nav-header .top-nav > li > a,
    body.lagom .app-nav-header .top-nav > li > button {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        border: 1px solid #dce8fb !important;
        border-radius: 15px !important;
        color: #075bff !important;
        background: #f4f8ff !important;
        box-shadow: 0 10px 22px rgba(7, 91, 255, .10) !important;
        font-size: 0 !important;
    }

    body.lagom .app-nav-header .top-nav i,
    body.lagom .app-nav-header .top-nav .ls,
    body.lagom .app-nav-header .top-nav .lm {
        color: #075bff !important;
        font-size: 19px !important;
        line-height: 1 !important;
    }

    /* Make sure the drawer begins below the white header and remains crisp. */
    body.lagom.menu-open:not(.nav-mobile-dropdown) .app-nav-menu,
    body.lagom.lagom-layout-top.menu-open:not(.nav-mobile-dropdown) .app-nav-menu {
        padding-top: 90px !important;
    }
}

@media (max-width: 767.98px) {
    /* Quick Start mobile swipe slider. Desktop grid remains untouched. */
    .xwh-quick-actions .container {
        overflow: hidden !important;
    }

    .xwh-quick-actions .xwh-section-heading {
        margin-bottom: 18px !important;
    }

    .xwh-quick-actions .xwh-action-grid {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 14px !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 -16px !important;
        padding: 4px 16px 20px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-snap-type: x mandatory !important;
        scroll-padding-left: 16px !important;
        scrollbar-width: none !important;
    }

    .xwh-quick-actions .xwh-action-grid::-webkit-scrollbar {
        display: none !important;
    }

    .xwh-quick-actions .xwh-action-card {
        flex: 0 0 82% !important;
        max-width: 320px !important;
        min-width: 258px !important;
        scroll-snap-align: start !important;
        scroll-snap-stop: always !important;
        min-height: 210px !important;
        padding: 24px !important;
    }

    .xwh-quick-actions .xwh-action-card:last-child {
        margin-right: 16px !important;
    }

    .xwh-quick-actions:after {
        content: "Swipe to explore →";
        display: block;
        width: calc(100% - 32px);
        max-width: 1180px;
        margin: -8px auto 0;
        padding: 0 16px;
        color: #64748b;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: .01em;
    }
}

@media (max-width: 480px) {
    body.lagom .app-nav-header,
    body.lagom.lagom-layout-top .app-nav-header,
    body.lagom .app-nav-header .container,
    body.lagom .app-nav-header .logo,
    body.lagom .app-nav-header .brand,
    body.lagom .app-nav-header .top-nav {
        height: 70px !important;
        min-height: 70px !important;
        max-height: 70px !important;
    }

    body.lagom .app-nav-header .container {
        grid-template-columns: 50px minmax(0, 1fr) 50px !important;
        padding: 0 12px !important;
    }

    body.lagom .app-nav-toggle,
    body.lagom .navbar-toggle,
    body.lagom .app-nav-header .top-nav > li > a,
    body.lagom .app-nav-header .top-nav > li > button {
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        border-radius: 14px !important;
    }

    body.lagom .app-nav-header .logo img,
    body.lagom .app-nav-header .brand img,
    body.lagom .app-nav .logo img {
        max-width: 154px !important;
        max-height: 48px !important;
    }

    .xwh-quick-actions .xwh-action-card {
        flex-basis: 86% !important;
        min-width: 252px !important;
    }
}

/* v6 checkout visibility + WhatsApp field polish */
.page-viewcart #orderSummary,
.page-cart #orderSummary,
.page-order #orderSummary {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid rgba(226,232,240,.98) !important;
    box-shadow: 0 18px 45px rgba(15,23,42,.08) !important;
}
.page-viewcart #orderSummary .panel-heading,
.page-cart #orderSummary .panel-heading,
.page-order #orderSummary .panel-heading {
    background: #ffffff !important;
    border-bottom: 1px solid rgba(226,232,240,.9) !important;
}
.page-viewcart #orderSummary .panel-title,
.page-viewcart #orderSummary .summary-content,
.page-viewcart #orderSummary .summary-list,
.page-viewcart #orderSummary .summary-list .list-item,
.page-viewcart #orderSummary .summary-list .item-name,
.page-viewcart #orderSummary .summary-list .item-value,
.page-viewcart #orderSummary .price,
.page-viewcart #orderSummary .price-total,
.page-viewcart #orderSummary .price-amount,
.page-viewcart #orderSummary #totalDueToday,
.page-cart #orderSummary .panel-title,
.page-cart #orderSummary .summary-content,
.page-cart #orderSummary .summary-list,
.page-cart #orderSummary .summary-list .list-item,
.page-cart #orderSummary .summary-list .item-name,
.page-cart #orderSummary .summary-list .item-value,
.page-cart #orderSummary .price,
.page-cart #orderSummary .price-total,
.page-cart #orderSummary .price-amount,
.page-cart #orderSummary #totalDueToday {
    color: #0f172a !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.page-viewcart #orderSummary .summary-list.faded,
.page-viewcart #orderSummary .summary-list .faded,
.page-cart #orderSummary .summary-list.faded,
.page-cart #orderSummary .summary-list .faded {
    color: #475569 !important;
    opacity: 1 !important;
}
.page-viewcart #orderSummary .summary-list .list-item,
.page-cart #orderSummary .summary-list .list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px dashed rgba(148,163,184,.32);
    font-weight: 700;
}
.page-viewcart #orderSummary .summary-list .list-item:last-child,
.page-cart #orderSummary .summary-list .list-item:last-child {
    border-bottom: 0;
}
.page-viewcart #orderSummary .item-name,
.page-cart #orderSummary .item-name {
    color: #475569 !important;
    font-weight: 700 !important;
}
.page-viewcart #orderSummary .item-value,
.page-cart #orderSummary .item-value,
.page-viewcart #orderSummary #totalDueToday,
.page-cart #orderSummary #totalDueToday {
    color: #06185f !important;
    font-weight: 900 !important;
}
.page-viewcart #orderSummary .panel-footer,
.page-cart #orderSummary .panel-footer {
    background: linear-gradient(180deg, #ffffff, #f8fafc) !important;
    border-top: 1px solid rgba(226,232,240,.9) !important;
    border-radius: 0 0 22px 22px !important;
}
.page-viewcart #orderSummary .btn-checkout,
.page-viewcart #orderSummary .btn-checkout span,
.page-viewcart #orderSummary .btn-checkout i,
.page-cart #orderSummary .btn-checkout,
.page-cart #orderSummary .btn-checkout span,
.page-cart #orderSummary .btn-checkout i {
    color: #ffffff !important;
}
.page-viewcart #orderSummary .btn-checkout,
.page-cart #orderSummary .btn-checkout {
    background: linear-gradient(135deg, #075bff, #0f46d9) !important;
    border: 0 !important;
    box-shadow: 0 14px 30px rgba(7,91,255,.28) !important;
}
.page-viewcart .xwh-whatsapp-field .form-control,
.page-cart .xwh-whatsapp-field .form-control,
.page-order .xwh-whatsapp-field .form-control {
    padding-left: 16px !important;
    border-left: 4px solid #22c55e !important;
}
.page-viewcart .xwh-whatsapp-help,
.page-cart .xwh-whatsapp-help,
.page-order .xwh-whatsapp-help {
    display: block;
    margin-top: 7px;
    color: #64748b !important;
    font-size: 12px;
    font-weight: 600;
}
@media (max-width: 767px) {
    .page-viewcart #orderSummary,
    .page-cart #orderSummary {
        border-radius: 20px !important;
        margin-top: 18px;
    }
    .page-viewcart #orderSummary .summary-list .list-item,
    .page-cart #orderSummary .summary-list .list-item {
        font-size: 13px;
    }
}
