/* A compact utility footer for the financial area. */
.main-footer.bh-footer-compact {
    background: #fff;
    color: #526580;
    border: 0;
    border-top: 1px solid #dfe7f2;
    margin-top: 16px;
    padding: 18px 0;
}
.bh-footer-compact *, .bh-footer-compact *::before, .bh-footer-compact *::after { box-sizing: border-box; }
.bh-footer-compact .bh-footer-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px 28px; }
.bh-footer-compact a { color: #183153; text-decoration: none; }
.bh-footer-compact a:hover { color: #0754d1; text-decoration: underline; text-underline-offset: 4px; }
.bh-footer-compact a:focus-visible { outline: 2px solid #0866ff; outline-offset: 3px; border-radius: 4px; }
.bh-footer-compact .bh-footer-mark { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #0754d1; }
.bh-footer-compact .bh-footer-mark:hover { text-decoration: none; }
.bh-footer-compact .bh-footer-mark img { width: 30px; height: 30px; object-fit: contain; }
.bh-footer-compact .bh-footer-mark span { font-size: 20px; line-height: 1.2; font-weight: 700; letter-spacing: -.4px; }
.bh-footer-compact .bh-footer-nav { display: flex; align-items: center; gap: 24px; }
.bh-footer-compact .bh-footer-nav a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; font-size: 13px; line-height: 1.4; }
.bh-footer-compact .bh-footer-whatsapp { padding: 0 14px; border: 1px solid #d4e2f6; border-radius: 7px; color: #0754d1; font-weight: 600; }
.bh-footer-compact .bh-footer-whatsapp:hover { background: #f4f8ff; text-decoration: none; }
.bh-footer-compact .bh-footer-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 8px; color: #526580; font-size: 12px; line-height: 1.6; }
@media (max-width: 991.98px) {
    .bh-footer-compact .bh-footer-nav { gap: 14px; }
}
@media (max-width: 767.98px) {
    .main-footer.bh-footer-compact { margin-top: 12px; padding: 16px 0; }
    .bh-footer-compact .bh-footer-bar { flex-direction: column; align-items: stretch; gap: 8px; }
    .bh-footer-compact .bh-footer-mark { align-self: flex-start; }
    .bh-footer-compact .bh-footer-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
    .bh-footer-compact .bh-footer-nav a { justify-content: flex-start; }
    .bh-footer-compact .bh-footer-whatsapp { justify-content: center; }
    .bh-footer-compact .bh-footer-meta { margin-top: 12px; }
}

/* BedHosting order form presentation. Authored for the existing Lagom 2 DOM.
 * Included only by the Lagom 2 design hook; page and component scopes also
 * prevent these rules from changing account forms or third-party widgets.
 * Existing prices, validation, selected states, loaders and mobile actions
 * remain controlled by WHMCS/Lagom. No layout positioning is introduced.
 */
body.lagom.page-order {
    --bh-order-blue: #0866ff;
    --bh-order-blue-hover: #0754d1;
    --bh-order-navy: #081b44;
    --bh-order-text: #183153;
    --bh-order-muted: #526580;
    --bh-order-border: #d9e5f5;
    --bh-order-tint: #f4f7fc;
    --bh-order-selected: #edf4ff;
    --bh-order-shadow: 0 8px 24px rgba(8, 27, 68, .055);
}

/* Product catalogue: retain the vendor grid and all plan specifications. */
body.lagom.page-order.page-products #products .package {
    background: #fff;
    border: 1px solid var(--bh-order-border);
    border-radius: 18px;
    box-shadow: var(--bh-order-shadow);
    color: var(--bh-order-text);
    text-align: left;
}

body.lagom.page-order.page-products #products .package-featured {
    border-color: var(--bh-order-blue);
    box-shadow: 0 0 0 1px var(--bh-order-blue), var(--bh-order-shadow);
}

body.lagom.page-order.page-products #products .package-title {
    color: var(--bh-order-navy);
    font-size: 21px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}

body.lagom.page-order.page-products #products .package-price {
    color: var(--bh-order-navy);
}

body.lagom.page-order.page-products #products .price-amount {
    color: var(--bh-order-navy);
    font-weight: 750;
    letter-spacing: -.035em;
}

body.lagom.page-order.page-products #products :is(.price-starting-from, .price-cycle) {
    color: var(--bh-order-muted);
}

body.lagom.page-order.page-products #products :is(.package-content, .package-features) {
    color: var(--bh-order-muted);
    font-size: 14px;
    line-height: 1.7;
}

body.lagom.page-order.page-products #products .package-content strong {
    color: var(--bh-order-text);
}

body.lagom.page-order.page-products #products .package-footer .btn {
    border-radius: 10px;
    min-height: 46px;
    font-weight: 650;
}

body.lagom.page-order.page-products #products .package-footer :is(.btn-primary, .btn-primary-faded) {
    background: var(--bh-order-blue);
    border-color: var(--bh-order-blue);
    color: #fff;
}

body.lagom.page-order.page-products #products .package-footer :is(.btn-primary, .btn-primary-faded):not(:disabled):not(.disabled):hover {
    background: var(--bh-order-blue-hover);
    border-color: var(--bh-order-blue-hover);
    color: #fff;
}

/* Configuration and billing panels preserve their original field layout. */
body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .section-title {
    color: var(--bh-order-navy);
    font-size: 23px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -.025em;
}

body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .panel-form {
    background: #fff;
    border: 1px solid var(--bh-order-border);
    border-radius: 16px;
    box-shadow: var(--bh-order-shadow);
}

body.lagom.page-order #frmConfigureProduct .product-config-info > .panel-body {
    padding: 28px;
}

body.lagom.page-order #frmConfigureProduct .product-config-info h2 {
    color: var(--bh-order-navy);
    font-size: 25px;
    font-weight: 750;
    line-height: 1.35;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}

body.lagom.page-order #frmConfigureProduct .product-info {
    color: var(--bh-order-muted);
    font-size: 14px;
    line-height: 1.75;
}

body.lagom.page-order #frmConfigureProduct .product-info strong {
    color: var(--bh-order-text);
}

body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .panel-check {
    --panel-active-border-color: var(--bh-order-blue);
    --panel-active-bg: var(--bh-order-selected);
    background: #fff;
    border: 1px solid var(--bh-order-border);
    border-radius: 12px;
    box-shadow: none;
}

body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .panel-check.checked {
    background: var(--bh-order-selected);
    box-shadow: inset 0 0 0 1px var(--bh-order-blue);
}

body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .panel-check .check-title {
    color: var(--bh-order-navy);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.45;
}

body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .panel-check .check-content {
    color: var(--bh-order-text);
}

body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .form-group > label {
    color: var(--bh-order-text);
    font-weight: 600;
}

body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .form-control {
    border-color: #c9d8ec;
    border-radius: 9px;
    background-color: #fff;
    color: var(--bh-order-text);
}

body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .form-control::placeholder {
    color: #526580;
    opacity: 1;
}

body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .form-control:focus {
    border-color: var(--bh-order-blue);
    box-shadow: 0 0 0 3px rgba(8, 102, 255, .14);
}

body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .form-control:disabled,
body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .form-control[readonly] {
    background-color: #edf1f7;
    color: var(--bh-order-muted);
}

body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .has-error .form-control {
    border-color: #bf2940;
}

/* Cart line items remain editable; quantity and remove controls are untouched. */
body.lagom.page-order:is(.page-viewcart, .page-checkout) .panel-cart .cart-heading {
    color: var(--bh-order-muted);
    font-weight: 600;
}

body.lagom.page-order:is(.page-viewcart, .page-checkout) .panel-cart .cart-item {
    background: #fff;
    border-color: var(--bh-order-border);
    color: var(--bh-order-text);
}

body.lagom.page-order:is(.page-viewcart, .page-checkout) .panel-cart .cart-item-title-main {
    color: var(--bh-order-navy);
    font-weight: 700;
    line-height: 1.45;
}

body.lagom.page-order:is(.page-viewcart, .page-checkout) .panel-cart .cart-item-config {
    background: var(--bh-order-tint);
    border-radius: 10px;
}

body.lagom.page-order:is(.page-viewcart, .page-checkout) .cart-item-config .config-option-title {
    font-size: 12px;
    line-height: 1.6;
}

body.lagom.page-order:is(.page-viewcart, .page-checkout) .cart-item-config .item-name {
    color: var(--bh-order-muted);
}

body.lagom.page-order:is(.page-viewcart, .page-checkout) .cart-item-config .item-value {
    color: var(--bh-order-text);
}

/* The sidebar summary uses navy, with the existing blue checkout action.
 * .panel-summary deliberately excludes Lagom's separate mobile fixed bar.
 */
body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary {
    --primary-block-divider-color: rgba(255, 255, 255, .17);
    background: var(--bh-order-navy);
    border: 1px solid #163464;
    border-radius: 18px;
    box-shadow: 0 12px 28px rgba(8, 27, 68, .12);
    color: #c6d6ef;
}

body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary .panel-heading .panel-title {
    color: #fff;
    font-size: 20px;
    font-weight: 650;
    line-height: 1.4;
    letter-spacing: -.02em;
}

body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary :is(.summary-item, .summary-list .list-item) {
    color: #d6e3f7;
}

body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary .summary-item .name {
    color: #fff;
}

body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary .summary-item :is(.subname, .setup-fee) {
    color: #b9cbe7;
}

body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary .summary-list {
    border-color: rgba(255, 255, 255, .17);
}

body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary .summary-list-configoptions {
    background: #112e59;
    border-radius: 10px;
}

body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary .summary-list-configoptions .list-item {
    font-size: 12px;
    line-height: 1.6;
}

body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary .summary-list-configoptions .item-name {
    color: #b9cbe7;
}

body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary .summary-list-configoptions .item-optionname {
    color: #fff;
}

body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary :is(.summary-item > .item-value, .price-amount-total) {
    color: #fff;
    font-weight: 700;
}

body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary .price-total {
    color: #c6d6ef;
}

body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary .price-amount-total {
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.25;
    letter-spacing: -.035em;
}

body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary .btn-checkout {
    background: var(--bh-order-blue);
    border-color: #4b8fff;
    border-radius: 10px;
    color: #fff;
    min-height: 48px;
    font-weight: 650;
}

body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary .btn-checkout:not(:disabled):not(.disabled):hover {
    background: var(--bh-order-blue-hover);
    border-color: #4b8fff;
    color: #fff;
}

body.lagom.page-order #products .package-footer .btn:focus-visible,
body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .panel-check:focus-within,
body.lagom.page-order:is(.page-configureproduct, .page-viewcart, .page-checkout) .panel-summary .btn-checkout:focus-visible {
    outline: 3px solid #78aaff;
    outline-offset: 3px;
}

@media (min-width: 992px) {
    body.lagom.page-order:is(.page-viewcart, .page-checkout) .panel-cart {
        background: #fff;
        border: 1px solid var(--bh-order-border);
        border-radius: 16px;
        box-shadow: var(--bh-order-shadow);
    }
}

@media (max-width: 767px) {
    body.lagom.page-order.page-products #products .package {
        border-radius: 14px;
    }

    body.lagom.page-order.page-products #products .package-title {
        font-size: 20px;
    }

    body.lagom.page-order #frmConfigureProduct .product-config-info > .panel-body {
        padding: 20px;
    }

    body.lagom.page-order #frmConfigureProduct .product-config-info h2 {
        font-size: 21px;
    }

    body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .section-title {
        font-size: 20px;
    }

    body.lagom.page-order :is(#frmConfigureProduct, #frmCheckout) .form-control {
        font-size: 16px;
    }

    body.lagom.page-order:is(.page-viewcart, .page-checkout) .panel-cart .cart-item {
        border-radius: 14px;
        box-shadow: var(--bh-order-shadow);
    }
}

/* Keep every cart action readable on narrow phones, in its existing order. */
@media (max-width: 479px) {
    body.lagom.page-order:is(.page-viewcart, .page-checkout) .panel-cart > .panel-footer,
    body.lagom.page-order:is(.page-viewcart, .page-checkout) .panel-cart > .panel-footer > .content {
        flex-direction: column;
        align-items: stretch;
    }

    body.lagom.page-order:is(.page-viewcart, .page-checkout) .panel-cart > .panel-footer > .content {
        width: 100%;
        gap: 8px;
    }

    body.lagom.page-order:is(.page-viewcart, .page-checkout) .panel-cart > .panel-footer > .content > .btn {
        width: 100%;
        min-width: 0;
        min-height: 44px;
        height: auto;
        margin: 0;
        white-space: normal;
        text-align: center;
        justify-content: center;
    }

    body.lagom.page-order:is(.page-viewcart, .page-checkout) .panel-cart > .panel-footer > .content + .content > .btn {
        margin-top: 8px;
    }
}

/* Center the catalogue cards without changing configuration or checkout forms. */
body.lagom.page-order.page-products #products .package,
body.lagom.page-order.page-products #products .package-header,
body.lagom.page-order.page-products #products .package-content,
body.lagom.page-order.page-products #products .package-footer {
    text-align: center;
}

body.lagom.page-order.page-products #products .package-footer {
    justify-content: center;
}

body.lagom.page-order.page-products #products .package-footer .btn {
    margin-inline: auto;
}
