/**
 * WooCommerce checkout/cart — match IotesimGlo static site (slate-900 + orange CTA).
 */
body.iotesim-wc-flow {
    --iotesim-bg: #0f172a;
    --iotesim-card: #1e293b;
    --iotesim-border: #334155;
    --iotesim-text: #e2e8f0;
    --iotesim-muted: #94a3b8;
    --iotesim-orange: #f97316;
    --iotesim-orange-hover: #ea580c;
    --iotesim-blue: #3b82f6;
    background-color: var(--iotesim-bg) !important;
    color: var(--iotesim-text);
    font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

body.iotesim-wc-flow .website-wrapper,
body.iotesim-wc-flow .main-page-wrapper,
body.iotesim-wc-flow .page-title,
body.iotesim-wc-flow .wd-page-content {
    background-color: var(--iotesim-bg) !important;
}

body.iotesim-wc-flow .page-title .entry-title,
body.iotesim-wc-flow h1.entry-title {
    color: #fff !important;
    font-weight: 800;
    letter-spacing: -0.02em;
}

/* Hide Woodmart header/footer — static layout.js chrome is used instead */
body.iotesim-wc-static-chrome .whb-header,
body.iotesim-wc-static-chrome .whb-sticky-header,
body.iotesim-wc-static-chrome .wd-header,
body.iotesim-wc-static-chrome footer.footer-container,
body.iotesim-wc-static-chrome .wd-footer,
body.iotesim-wc-static-chrome .copyrights-wrapper,
body.iotesim-wc-static-chrome .wd-copyrights,
body.iotesim-wc-static-chrome .page-title {
    display: none !important;
}

body.iotesim-wc-static-chrome #site-header.iotesim-static-header,
body.iotesim-wc-static-chrome #site-footer.iotesim-static-footer {
    display: block !important;
}

body.iotesim-wc-static-chrome .nav-active {
    color: #fff !important;
}

/* Trust bar above checkout */
.iotesim-wc-trust {
    max-width: 72rem;
    margin: 0 auto 1.5rem;
    padding: 1rem 1.25rem;
    border-radius: 1rem;
    border: 1px solid rgba(249, 115, 22, 0.35);
    background: rgba(249, 115, 22, 0.08);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
}
.iotesim-wc-trust strong {
    color: #fff;
    font-size: 1.05rem;
}
.iotesim-wc-trust p {
    margin: 0.15rem 0 0;
    font-size: 0.875rem;
    color: var(--iotesim-muted);
}
body.iotesim-wc-static-chrome .main-page-wrapper {
    padding-top: 0 !important;
}

/* My Account — login & register (Woodmart + WooCommerce) */
body.iotesim-wc-flow .wd-registration-page {
    max-width: 56rem;
    margin: 0 auto;
    padding: 1.5rem 1rem 3rem;
}

body.iotesim-wc-flow .wd-registration-page .wd-login-title,
body.iotesim-wc-flow .wd-registration-page label {
    color: #fff !important;
}

body.iotesim-wc-flow .wd-registration-page .input-text,
body.iotesim-wc-flow .wd-registration-page input[type="password"],
body.iotesim-wc-flow .wd-registration-page input[type="email"],
body.iotesim-wc-flow .wd-registration-page input[type="text"] {
    background: var(--iotesim-card) !important;
    border: 1px solid var(--iotesim-border) !important;
    color: var(--iotesim-text) !important;
    border-radius: 0.75rem !important;
    min-height: 2.75rem;
}

body.iotesim-wc-flow .wd-registration-page :is(.button, button[type="submit"]) {
    background: var(--iotesim-orange) !important;
    border: none !important;
    color: #fff !important;
    border-radius: 0.75rem !important;
    font-weight: 700 !important;
    padding: 0.75rem 1.5rem !important;
    width: 100%;
}

body.iotesim-wc-flow .wd-registration-page :is(.button, button[type="submit"]):hover {
    background: var(--iotesim-orange-hover) !important;
}

body.iotesim-wc-flow .wd-registration-page #customer_login {
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    body.iotesim-wc-flow .wd-registration-page.wd-no-registration #customer_login {
        grid-template-columns: 1fr;
        max-width: 28rem;
        margin: 0 auto;
    }

    body.iotesim-wc-flow .wd-registration-page:not(.wd-no-registration) #customer_login {
        grid-template-columns: 1fr 1fr;
    }
}

body.iotesim-wc-flow .wd-registration-page .col-login,
body.iotesim-wc-flow .wd-registration-page .col-register {
    background: rgba(30, 41, 59, 0.85);
    border: 1px solid var(--iotesim-border);
    border-radius: 1rem;
    padding: 1.25rem;
}

body.iotesim-wc-flow .wd-register-tabs .col-register {
    display: block !important;
}

body.iotesim-wc-flow .wd-register-tabs.active-register .col-login {
    display: block !important;
}

body.iotesim-wc-flow .woocommerce-MyAccount-navigation {
    background: var(--iotesim-card);
    border: 1px solid var(--iotesim-border);
    border-radius: 1rem;
    padding: 0.5rem;
}

body.iotesim-wc-flow .woocommerce-MyAccount-navigation a {
    color: var(--iotesim-text) !important;
}

body.iotesim-wc-flow .woocommerce-MyAccount-navigation .is-active a {
    color: #fff !important;
    font-weight: 700;
}

body.iotesim-wc-static-chrome .container,
body.iotesim-wc-static-chrome .wd-page-content .container {
    max-width: 72rem;
}

/* Forms */
body.iotesim-wc-flow .woocommerce form .form-row label,
body.iotesim-wc-flow .woocommerce-checkout .woocommerce-billing-fields h3,
body.iotesim-wc-flow .woocommerce-checkout #order_review_heading {
    color: var(--iotesim-muted) !important;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

body.iotesim-wc-flow .woocommerce input.input-text,
body.iotesim-wc-flow .woocommerce textarea,
body.iotesim-wc-flow .woocommerce select,
body.iotesim-wc-flow .select2-container--default .select2-selection--single {
    background: var(--iotesim-bg) !important;
    border: 1px solid var(--iotesim-border) !important;
    border-radius: 0.75rem !important;
    color: #f8fafc !important;
    min-height: 2.75rem;
}

body.iotesim-wc-flow .woocommerce input.input-text:focus,
body.iotesim-wc-flow .woocommerce textarea:focus,
body.iotesim-wc-flow .woocommerce select:focus {
    border-color: var(--iotesim-blue) !important;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.25) !important;
}

/* Order review box */
body.iotesim-wc-flow .checkout-order-review,
body.iotesim-wc-flow .woocommerce-checkout > .checkout-order-review,
body.iotesim-wc-flow #order_review {
    background: var(--iotesim-card) !important;
    border: 1px solid var(--iotesim-border) !important;
    border-radius: 1rem !important;
    color: var(--iotesim-text);
}
body.iotesim-wc-flow .checkout-order-review::before,
body.iotesim-wc-flow .checkout-order-review::after {
    display: none !important;
}

body.iotesim-wc-flow .woocommerce-checkout-review-order-table th,
body.iotesim-wc-flow .woocommerce-checkout-review-order-table td,
body.iotesim-wc-flow table.shop_table th,
body.iotesim-wc-flow table.shop_table td {
    border-color: var(--iotesim-border) !important;
    color: var(--iotesim-text);
}
body.iotesim-wc-flow .woocommerce-checkout-review-order-table .product-name,
body.iotesim-wc-flow .cart_item .product-name {
    color: #fff !important;
    font-weight: 600;
}

/* Order review — remove Woodmart white inset; dark card only */
body.iotesim-wc-flow .checkout-order-review .wd-table-wrapper,
body.iotesim-wc-flow #order_review .wd-table-wrapper {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0.5rem 0 1rem !important;
    margin-bottom: 0.75rem !important;
}
body.iotesim-wc-flow .woocommerce-checkout-review-order-table .cart_item td,
body.iotesim-wc-flow .woocommerce-checkout-review-order-table tr.cart_item {
    background: transparent !important;
}
body.iotesim-wc-flow .woocommerce-checkout-review-order-table thead {
    display: none;
}
body.iotesim-wc-flow .wd-checkout-prod {
    align-items: flex-start !important;
    gap: 0;
    padding: 0.25rem 0;
}
/* Product photo — compact white tile (device PNG), not full-width white bar */
body.iotesim-wc-flow .wd-checkout-prod-img {
    flex-shrink: 0;
    margin-inline-end: 1rem !important;
    width: 108px;
    height: 108px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 0.75rem;
    border: 1px solid rgba(148, 163, 184, 0.35);
    padding: 8px;
    box-sizing: border-box;
}
body.iotesim-wc-flow .wd-checkout-prod-img img,
body.iotesim-wc-flow .woocommerce-checkout-review-order-table td.product-thumbnail img,
body.iotesim-wc-flow .woocommerce-checkout-review-order-table .product-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-sizing: border-box;
}
body.iotesim-wc-flow .woocommerce-checkout-review-order-table td.product-thumbnail,
body.iotesim-wc-flow .woocommerce-checkout-review-order-table th.product-thumbnail {
    width: auto !important;
    min-width: 0;
    flex: 0 0 auto !important;
}
body.iotesim-wc-flow .wd-checkout-prod-title .cart-product-label,
body.iotesim-wc-flow .wd-checkout-prod-title .cart-product-label-link {
    color: #fff !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    line-height: 1.35;
}
body.iotesim-wc-flow .wd-checkout-prod-title .product-quantity,
body.iotesim-wc-flow .woocommerce-checkout-review-order-table .product-quantity {
    font-size: 0.8125rem !important;
    font-weight: 600;
    color: var(--iotesim-muted) !important;
    line-height: 1.2;
    margin-top: 0.25rem;
}
body.iotesim-wc-flow .wd-checkout-prod-cont .quantity {
    font-size: 0.8125rem;
    margin-top: 0.35rem;
}
body.iotesim-wc-flow .wd-checkout-prod-cont .quantity input[type="number"],
body.iotesim-wc-flow .wd-checkout-prod-cont .quantity input[type="text"] {
    width: 2.75rem !important;
    max-width: 2.75rem !important;
    height: 2rem !important;
    min-height: 2rem !important;
    background: var(--iotesim-bg) !important;
    border: 1px solid var(--iotesim-border) !important;
    color: #fff !important;
    border-radius: 0.5rem !important;
    text-align: center;
}
body.iotesim-wc-flow .wd-checkout-prod-total {
    color: #fff !important;
    font-weight: 600;
    font-size: 0.9375rem;
}
body.iotesim-wc-flow .woocommerce-checkout-review-order-table tfoot th,
body.iotesim-wc-flow .woocommerce-checkout-review-order-table tfoot td {
    color: var(--iotesim-muted) !important;
    padding: 0.4rem 0 !important;
}
body.iotesim-wc-flow .woocommerce-checkout-review-order-table tfoot .order-total th,
body.iotesim-wc-flow .woocommerce-checkout-review-order-table tfoot .order-total td {
    color: #fff !important;
    font-size: 1rem;
    padding-top: 0.65rem !important;
    border-top: 1px solid var(--iotesim-border) !important;
}
body.iotesim-wc-flow .order-total .amount,
body.iotesim-wc-flow .woocommerce-Price-amount {
    color: #fff !important;
}

/* US-style payment block — card & PayPal stacked like major US stores */
body.iotesim-wc-flow #payment .iotesim-pay-header {
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--iotesim-border);
}
body.iotesim-wc-flow .iotesim-pay-title {
    color: #fff !important;
    font-size: 1.125rem !important;
    font-weight: 800 !important;
    margin: 0 0 0.35rem !important;
    text-transform: none !important;
    letter-spacing: 0;
}
body.iotesim-wc-flow .iotesim-pay-sub {
    margin: 0 0 0.75rem;
    font-size: 0.875rem;
    color: var(--iotesim-muted);
    line-height: 1.45;
}
body.iotesim-wc-flow .iotesim-pay-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
body.iotesim-wc-flow .iotesim-pay-badge {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.35rem 0.65rem;
    border-radius: 0.45rem;
    border: 1px solid var(--iotesim-border);
}
body.iotesim-wc-flow .iotesim-pay-badge-card {
    background: rgba(59, 130, 246, 0.15);
    color: #93c5fd;
    border-color: rgba(59, 130, 246, 0.35);
}
body.iotesim-wc-flow .iotesim-pay-badge-paypal {
    background: rgba(14, 116, 144, 0.2);
    color: #7dd3fc;
    border-color: rgba(14, 116, 144, 0.4);
}

body.iotesim-wc-flow #payment ul.payment_methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}
body.iotesim-wc-flow #payment ul.payment_methods > li {
    background: var(--iotesim-card) !important;
    border: 2px solid var(--iotesim-border) !important;
    border-radius: 0.85rem !important;
    padding: 0.85rem 1rem !important;
    margin: 0 !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
body.iotesim-wc-flow #payment ul.payment_methods > li.wc_payment_method > input[type="radio"]:checked + label,
body.iotesim-wc-flow #payment ul.payment_methods > li:has(input[type="radio"]:checked) {
    border-color: rgba(59, 130, 246, 0.55) !important;
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.25);
}
body.iotesim-wc-flow #payment ul.payment_methods li label {
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    cursor: pointer;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}
body.iotesim-wc-flow .iotesim-pay-hint {
    display: block;
    width: 100%;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--iotesim-muted);
    margin-top: 0.15rem;
}
body.iotesim-wc-flow #payment ul.payment_methods li.payment_method_stripe {
    order: 1;
}
body.iotesim-wc-flow #payment ul.payment_methods li.payment_method_ppcp-gateway {
    order: 2;
}
body.iotesim-wc-flow #payment ul.payment_methods li.iotesim-pay-cod,
body.iotesim-wc-flow #payment ul.payment_methods li.payment_method_cod {
    order: 99;
    border-style: dashed !important;
    opacity: 0.92;
}
body.iotesim-wc-flow #payment .payment_box {
    margin-top: 0.75rem !important;
    border-radius: 0.65rem !important;
    background: rgba(15, 23, 42, 0.85) !important;
}

/* Payment */
body.iotesim-wc-flow #payment {
    background: transparent !important;
}
body.iotesim-wc-flow #payment .payment_box,
body.iotesim-wc-flow #payment ul.payment_methods {
    background: rgba(15, 23, 42, 0.6) !important;
    border-color: var(--iotesim-border) !important;
    color: var(--iotesim-text);
}
body.iotesim-wc-flow #payment div.payment_box::before {
    border-bottom-color: var(--iotesim-border) !important;
}

/* Primary button — orange like static CTA */
body.iotesim-wc-flow #place_order,
body.iotesim-wc-flow .woocommerce-checkout #place_order,
body.iotesim-wc-flow .woocommerce-cart .checkout-button,
body.iotesim-wc-flow a.checkout-button.button {
    background: var(--iotesim-orange) !important;
    border-color: var(--iotesim-orange) !important;
    color: #fff !important;
    font-weight: 800 !important;
    border-radius: 0.75rem !important;
    padding: 0.9rem 1.5rem !important;
    text-transform: none !important;
    letter-spacing: 0;
    box-shadow: 0 10px 25px -8px rgba(249, 115, 22, 0.45) !important;
}
body.iotesim-wc-flow #place_order:hover,
body.iotesim-wc-flow .woocommerce-cart .checkout-button:hover {
    background: var(--iotesim-orange-hover) !important;
    border-color: var(--iotesim-orange-hover) !important;
}

body.iotesim-wc-flow .button.alt,
body.iotesim-wc-flow button.button {
    border-radius: 0.65rem;
}

/* Notices */
body.iotesim-wc-flow .woocommerce-info,
body.iotesim-wc-flow .woocommerce-message {
    background: rgba(59, 130, 246, 0.12) !important;
    border: 1px solid rgba(59, 130, 246, 0.35) !important;
    color: #dbeafe !important;
}
body.iotesim-wc-flow .woocommerce-error {
    background: rgba(239, 68, 68, 0.12) !important;
    border-color: rgba(239, 68, 68, 0.4) !important;
    color: #fecaca !important;
}

/* Cart page */
body.iotesim-wc-flow .woocommerce-cart-form,
body.iotesim-wc-flow .cart_totals {
    background: var(--iotesim-card);
    border: 1px solid var(--iotesim-border);
    border-radius: 1rem;
    padding: 1.25rem;
}

/* Thank you */
body.iotesim-wc-flow.woocommerce-order-received .woocommerce-order {
    background: var(--iotesim-card);
    border: 1px solid var(--iotesim-border);
    border-radius: 1rem;
    padding: 1.5rem;
}

/* Hide distracting shop chrome on checkout */
body.iotesim-wc-flow.woocommerce-checkout .wd-sidebar,
body.iotesim-wc-flow.woocommerce-checkout .shop-sidebar {
    display: none !important;
}

@media (max-width: 767.98px) {
    body.iotesim-wc-flow .iotesim-static-header,
    body.iotesim-wc-flow #site-header {
        padding: 1rem !important;
    }
    body.iotesim-wc-flow .iotesim-static-footer,
    body.iotesim-wc-flow #site-footer {
        padding: 1.5rem 1rem !important;
    }
    body.iotesim-wc-flow .container,
    body.iotesim-wc-flow .wd-page-content .container,
    body.iotesim-wc-flow .main-page-wrapper .container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        max-width: 100%;
    }
    body.iotesim-wc-flow .page-title .entry-title,
    body.iotesim-wc-flow h1.entry-title {
        font-size: 1.5rem !important;
        text-align: left !important;
    }
    body.iotesim-wc-flow .iotesim-wc-trust {
        flex-direction: column;
        align-items: flex-start;
        margin: 0 0 1rem;
        padding: 0.875rem 1rem;
    }
    body.iotesim-wc-flow form.woocommerce-checkout {
        gap: 1.25rem !important;
    }
    body.iotesim-wc-flow form.woocommerce-checkout > *,
    body.iotesim-wc-flow form.woocommerce-checkout > :is(.customer-details, .checkout-order-review) {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        order: unset !important;
    }
    body.iotesim-wc-flow .customer-details {
        order: 1 !important;
    }
    body.iotesim-wc-flow .checkout-order-review {
        order: 2 !important;
        padding: 1rem !important;
        margin-top: 0 !important;
    }
    body.iotesim-wc-flow .checkout-order-review::before,
    body.iotesim-wc-flow .checkout-order-review::after {
        display: none !important;
    }
    body.iotesim-wc-flow .woocommerce form .form-row {
        width: 100% !important;
        float: none !important;
    }
    body.iotesim-wc-flow .woocommerce input.input-text,
    body.iotesim-wc-flow .woocommerce textarea,
    body.iotesim-wc-flow .woocommerce select,
    body.iotesim-wc-flow .select2-container--default .select2-selection--single {
        font-size: 16px !important;
        min-height: 2.875rem;
    }
    body.iotesim-wc-flow .wd-checkout-prod {
        flex-wrap: nowrap;
        align-items: flex-start !important;
    }
    body.iotesim-wc-flow .wd-checkout-prod-img {
        width: 80px;
        height: 80px;
        margin-inline-end: 0.75rem !important;
        padding: 6px;
    }
    body.iotesim-wc-flow .wd-checkout-prod-cont {
        flex-direction: column;
        align-items: stretch !important;
        gap: 0.35rem;
    }
    body.iotesim-wc-flow .wd-checkout-prod-title {
        margin-inline-end: 0 !important;
    }
    body.iotesim-wc-flow .wd-checkout-prod-total {
        text-align: start !important;
        margin-top: 0.25rem;
    }
    body.iotesim-wc-flow #payment ul.payment_methods > li label {
        font-size: 0.875rem !important;
    }
    body.iotesim-wc-flow #place_order {
        width: 100% !important;
        font-size: 1rem !important;
        padding: 1rem 1.25rem !important;
    }
    body.iotesim-wc-flow .woocommerce-cart-form,
    body.iotesim-wc-flow .cart_totals {
        padding: 1rem;
    }
}
