/* Frontend styles for LOG Auth Suite */

.loga-card {
    max-width: 480px;
    margin: 40px auto;
    padding: 30px;
    border-radius: 20px;
    background: linear-gradient(135deg, #004d80, #005fa3);
    color: #fff;
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.loga-card h2,
.loga-card h3 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 1.5em;
    font-weight: 600;
    color: #fff;
}

.loga-card p {
    margin-bottom: 20px;
    line-height: 1.4;
}

.loga-error {
    background: #ff3b3b;
    color: #fff;
    padding: 10px;
    border-radius: 8px;
    margin-bottom: 15px;
}

.loga-notice {
    background: #2ecc71;
    color: #fff;
    padding: 10px;
    border-radius: 8px;
    margin-bottom: 15px;
}

.loga-form label {
    display: block;
    margin-bottom: 10px;
    color: #fff;
    font-size: 0.9em;
}

.loga-form input[type="text"],
.loga-form input[type="email"],
.loga-form input[type="password"],
.loga-form input[type="url"],
.loga-form input[type="number"],
.loga-form select,
.loga-form textarea {
    width: 100%;
    padding: 10px 12px;
    border: none;
    border-radius: 8px;
    margin-top: 5px;
    margin-bottom: 15px;
    font-size: 1em;
    color: #333;
}

.loga-form select {
    appearance: none;
}

.loga-form textarea {
    min-height: 80px;
}

.loga-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
}

.loga-actions button {
    background: #f0a500;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 999px;
    font-size: 1em;
    cursor: pointer;
    transition: background 0.3s ease, box-shadow 0.3s ease;
}

.loga-actions button:hover {
    background: #ffa81f;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.loga-actions a {
    color: #ffdf00;
    font-size: 0.9em;
    text-decoration: underline;
}

.loga-register-links {
    margin-top: 20px;
    text-align: center;
}

.loga-register-links p {
    margin-bottom: 10px;
    color: #fff;
}

.loga-register-links a {
    display: inline-block;
    margin: 5px 10px;
    padding: 10px 20px;
    background: rgba(255,255,255,0.1);
    border-radius: 999px;
    color: #fff;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.3s ease;
}

.loga-register-links a:hover {
    background: rgba(255,255,255,0.2);
}

/* Hide page titles and breadcrumbs on pages using LOGA forms */
.page .entry-title,
.woocommerce-breadcrumb,
.breadcrumb,
.breadcrumbs {
    display: none;
}

/* Increase width for business registration forms */
/* When the card itself has the loga-register-business class */
.loga-card.loga-register-business {
    max-width: 800px;
}

/* Lay out register links horizontally */
/* Register links layout */
.loga-register-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 15px;
}
.loga-register-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    padding: 10px 15px;
    background: rgba(255,255,255,0.1);
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
    transition: background 0.3s ease;
}
.loga-register-links a:hover {
    background: rgba(255,255,255,0.2);
}

/* Two-column grid for registration forms */
.loga-grid-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-bottom: 15px;
}
.loga-grid-two label {
    margin-bottom: 0;
}

/* Five-column grid for additional contacts on business registration */
.loga-grid-five {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
    margin-bottom: 15px;
}
.loga-grid-five label {
    margin-bottom: 0;
}

/* Checkbox wrapper spacing */
.loga-checkbox {
    display: inline-flex;
    align-items: center;
    margin-right: 15px;
    margin-top: 10px;
}

/* Profile page styling */
.loga-profile .loga-account-summary {
    margin-bottom: 30px;
    font-weight: 600;
    font-size: 1.1em;
    color: #ffdf00;
}
.loga-profile .loga-profile-image {
    margin-bottom: 20px;
    text-align: center;
}
.loga-profile-form label {
    display: block;
    margin-bottom: 10px;
    color: #fff;
    font-size: 0.9em;
}

/* Make the profile card wider and more prominent */
.loga-card.loga-profile {
    max-width: 900px;
}

/* Make profile inputs stand out on dark background */
.loga-profile-form input[type="text"],
.loga-profile-form input[type="email"],
.loga-profile-form input[type="password"],
.loga-profile-form input[type="url"],
.loga-profile-form input[type="number"],
.loga-profile-form input[type="tel"],
.loga-profile-form select,
.loga-profile-form textarea {
    background: #001f3f;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px;
    color: #333;
    width: 100%;
    margin-top: 5px;
    margin-bottom: 15px;
}

/* Adjust profile image size */
.loga-profile-image img,
.loga-profile-image .loga-placeholder {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    display: inline-block;
}

/* Emoji select styling */
.loga-profile-form select.loga-emoji-select {
    font-size: 1.5em;
    padding: 4px 8px;
}

/* Business profile sections */
.loga-business-info h3,
.loga-business-address h3,
.loga-business-hours h3,
.loga-owner-contact h3,
.loga-other-contacts h3,
.loga-supporting-document h3 {
    margin-top: 25px;
    margin-bottom: 10px;
    font-size: 1.2em;
    color: #ffdf00;
}
.loga-business-info label,
.loga-business-address label,
.loga-business-hours label,
.loga-owner-contact label {
    display: block;
    margin-bottom: 6px;
    color: #fff;
    font-size: 0.9em;
}
.loga-business-info input[readonly],
.loga-business-address input[readonly],
.loga-business-hours input[readonly],
.loga-owner-contact input[readonly] {
    width: 100%;
    padding: 8px;
    border-radius: 6px;
    border: none;
    background: rgba(255,255,255,0.15);
    color: #fff;
}
.loga-other-contacts ul {
    margin: 0;
    padding-left: 20px;
    color: #fff;
}
.loga-other-contacts li {
    margin-bottom: 4px;
}

/* Arrange business profile sections in responsive grids */
.loga-business-info,
.loga-business-address,
.loga-business-hours,
.loga-owner-contact {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
}

/* Individual profile form fields should align nicely on larger screens */
.loga-profile-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
}
.loga-profile-form label {
    margin-bottom: 0;
}

/* Ensure full width for file input and submit button */
.loga-profile-form input[type="file"],
.loga-profile-form .loga-actions {
    grid-column: 1 / -1;
}

/* Required star */
.loga-required {
    color: #ffdf00;
    margin-left: 4px;
}

/* Support and security info sections */
.loga-support-info {
    margin-top: 25px;
    text-align: center;
}
.loga-support-info .dashicons {
    font-size: 20px;
    vertical-align: middle;
    margin-right: 6px;
}
.loga-security-info, .loga-phone-info {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.85em;
    margin-top: 8px;
}
.loga-security-info .dashicons-shield-alt {
    color: #8bc34a;
}
.loga-phone-info .dashicons-phone {
    color: #00bcd4;
}

@media (max-width: 600px) {
    .loga-card {
        margin: 20px;
        padding: 20px;
    }
    .loga-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .loga-actions button {
        width: 100%;
        margin-bottom: 10px;
    }
    .loga-actions a {
        align-self: flex-start;
        margin-left: 5px;
    }
}


/* === LOGA full-screen shopping flow (cart + checkout) === */

.loga-shell-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: radial-gradient(circle at top left, #0f2e5d 0, #050816 55%, #02040a 100%);
    padding: 24px 32px 32px;
    box-sizing: border-box;
    overflow-y: auto;
    /* Prevent scroll chaining/bouncing when the cart or checkout overlay is open. */
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    font-family: inherit;
}

.loga-shell-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto 24px;
    color: #f7f9ff;
}

/* Compact header variant (Cart + Checkout steps only) */
.loga-shell-header.loga-shell-header-compact {
    justify-content: center;
    margin-bottom: 18px;
}

.loga-shell-header.loga-shell-header-compact .loga-shell-steps {
    margin-left: 0;
}

.loga-shell-logo {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #0d6efd;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    letter-spacing: 0.04em;
    font-size: 0.95rem;
    box-shadow: 0 10px 25px rgba(0,0,0,0.35);
}

.loga-shell-title {
    margin-left: 16px;
    font-size: 1.25rem;
    font-weight: 600;
}

.loga-shell-steps {
    margin-left: auto;
    display: flex;
    gap: 10px;
    font-size: 0.85rem;
}

.loga-shell-steps .loga-step {
    position: relative;
    padding: 6px 10px 6px 18px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.65);
    color: rgba(248,250,252,0.7);
    display: flex;
    align-items: center;
}

.loga-shell-steps .loga-step::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: rgba(148,163,184,0.9);
    margin-right: 6px;
}

.loga-shell-steps .loga-step.is-active {
    background: rgba(37, 99, 235, 0.95);
    color: #e5f0ff;
    font-weight: 600;
}

.loga-shell-steps .loga-step.is-active::before {
    background: #22c55e;
}

.loga-shell-steps .loga-step.is-complete {
    background: rgba(34,197,94,0.18);
    color: #bbf7d0;
}

.loga-shell-steps .loga-step.is-complete::before {
    background: #22c55e;
}

.loga-shell-body {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

.loga-shell-body-single {
    max-width: 1100px;
    margin: 0 auto;
}

.loga-shell-main {
    flex: 1 1 auto;
    background: radial-gradient(circle at top left, rgba(15,23,42,0.98) 0, rgba(15,23,42,0.98) 60%, rgba(15,23,42,0.96) 100%);
    border-radius: 22px;
    padding: 20px 22px 22px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.45);
    color: #f9fafb;
    box-sizing: border-box;
}

.loga-shell-side {
    width: 260px;
    flex: 0 0 auto;
}

.loga-order-summary {
    background: rgba(15,23,42,0.97);
    border-radius: 22px;
    padding: 18px 20px 20px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.45);
    color: #e5e7eb;
    font-size: 0.9rem;
}

.loga-order-summary h3 {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 1rem;
    font-weight: 600;
}

.loga-order-summary ul {
    list-style: none;
    padding: 0;
    margin: 0 0 10px;
}

.loga-order-summary li {
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
}

.loga-order-summary li.loga-order-total {
    padding-top: 8px;
    border-top: 1px solid rgba(148,163,184,0.4);
    font-weight: 600;
}

.loga-order-summary .loga-order-note {
    margin: 6px 0 0;
    font-size: 0.8rem;
    color: rgba(148,163,184,0.95);
}

/* Cart table styling */

.loga-cart-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 18px;
    font-size: 0.9rem;
}

.loga-cart-table th,
.loga-cart-table td {
    padding: 10px 10px;
    border-bottom: 1px solid rgba(30,64,175,0.55);
    text-align: left;
}

.loga-cart-table thead th {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(148,163,184,0.95);
}

.loga-cart-table tbody td {
    color: #e5e7eb;
}

.loga-cart-product {
    display: flex;
    align-items: center;
    gap: 12px;
}

.loga-cart-thumb img {
    width: 54px;
    height: 54px;
    border-radius: 12px;
    object-fit: cover;
    background: rgba(15,23,42,0.8);
}

.loga-cart-name {
    font-weight: 500;
    margin-bottom: 2px;
}

.loga-cart-sku {
    font-size: 0.75rem;
    color: rgba(148,163,184,0.95);
}

.loga-status-dot {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    display: inline-block;
    margin-right: 6px;
    background: rgba(148,163,184,0.9);
}

.loga-status-dot.is-in-stock {
    background: #22c55e;
}

.loga-status-dot.is-out-of-stock {
    background: #f97373;
}

.loga-status-label {
    font-size: 0.8rem;
}

.loga-cart-col-qty input[type="number"] {
    width: 72px;
    padding: 6px 8px;
    border-radius: 10px;
    border: 1px solid rgba(148,163,184,0.55);
    background: rgba(15,23,42,0.95);
    color: #f9fafb;
    box-sizing: border-box;
}

/* Cart list styling (v2.8.2+): modern "product info list" cards */
.loga-cart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.loga-cart-heading {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 650;
    letter-spacing: 0.01em;
}

.loga-cart-top-cta {
    padding: 10px 14px;
}

.loga-cart-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 18px;
}

.loga-cart-item {
    border-radius: 18px;
    padding: 14px 14px 12px;
    background: linear-gradient(135deg, rgba(37,99,235,0.16), rgba(15,23,42,0.92) 55%, rgba(2,6,23,0.9));
    box-shadow: 0 16px 35px rgba(0,0,0,0.35);
}

.loga-cart-item .loga-cart-product {
    align-items: flex-start;
}

.loga-cart-item .loga-cart-thumb img {
    width: 60px;
    height: 60px;
}

.loga-cart-status {
    display: flex;
    align-items: center;
    margin-top: 6px;
}

.loga-cart-meta {
    list-style: none;
    padding: 0;
    margin: 12px 0 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 12px;
}

.loga-cart-meta li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(15,23,42,0.65);
}

.loga-cart-meta li span:first-child {
    color: rgba(148,163,184,0.95);
    font-size: 0.8rem;
    letter-spacing: 0.02em;
}

.loga-cart-meta li span:last-child {
    color: #f1f5f9;
    font-weight: 600;
}

.loga-cart-qty-row input[type="number"] {
    width: 76px;
}

.loga-cart-subtotal-row {
    grid-column: 1 / -1;
}

@media (max-width: 720px) {
    .loga-cart-header {
        flex-direction: column;
        align-items: stretch;
    }
    .loga-cart-top-cta {
        width: 100%;
        text-align: center;
    }
    .loga-cart-meta {
        grid-template-columns: 1fr;
    }
}

/* Cart footer actions */

.loga-cart-actions-row {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
}

.loga-cart-coupon input[type="text"] {
    min-width: 200px;
    padding: 8px 10px;
    border-radius: 12px;
    border: 1px solid rgba(148,163,184,0.6);
    background: rgba(15,23,42,0.9);
    color: #f9fafb;
    box-sizing: border-box;
}

.loga-btn-secondary,
.loga-btn-ghost,
.loga-btn-primary {
    border-radius: 999px;
    padding: 9px 18px;
    font-size: 0.9rem;
    font-weight: 500;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.loga-btn-secondary {
    background: rgba(15,23,42,0.9);
    border: 1px solid rgba(148,163,184,0.7);
    color: #e5e7eb;
}

.loga-btn-ghost {
    background: transparent;
    border: 1px solid rgba(148,163,184,0.7);
    color: #e5e7eb;
}

.loga-btn-primary {
    background: #ef4444;
    color: #fff;
    box-shadow: 0 12px 30px rgba(220,38,38,0.45);
}

.loga-cart-buttons {
    display: flex;
    gap: 10px;
}

/* Checkout readability */

.loga-shell-checkout .loga-shell-main {
    background: radial-gradient(circle at top left, rgba(15,23,42,0.98) 0, rgba(15,23,42,0.98) 55%, rgba(15,23,42,0.96) 100%);
    color: #f9fafb;
}

.loga-shell-checkout .woocommerce,
.loga-shell-checkout .woocommerce form {
    color: #f9fafb;
}

.loga-shell-checkout .woocommerce h3,
.loga-shell-checkout .woocommerce h3 span {
    color: #f9fafb;
}

.loga-shell-checkout .woocommerce table {
    color: #e5e7eb;
}

.loga-shell-checkout .woocommerce table th,
.loga-shell-checkout .woocommerce table td {
    color: #e5e7eb;
    border-color: rgba(30,64,175,0.55);
}

.loga-shell-checkout .woocommerce table thead th {
    color: rgba(148,163,184,0.95);
}

.loga-shell-checkout .woocommerce a {
    color: #93c5fd;
}

.loga-shell-checkout .woocommerce .woocommerce-checkout-review-order-table tfoot th,
.loga-shell-checkout .woocommerce .woocommerce-checkout-review-order-table tfoot td {
    font-weight: 600;
}

/* Secure note (under details + place order) */

.loga-secure-note {
    margin-top: 22px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(15,23,42,0.95);
    border: 1px solid rgba(37,99,235,0.65);
    color: #e5e7eb;
    font-size: 0.9rem;
}

.loga-secure-note h3 {
    margin-top: 0;
    margin-bottom: 8px;
    font-size: 1rem;
    font-weight: 600;
}

.loga-secure-note ul {
    margin: 0;
    padding-left: 18px;
}

.loga-secure-note li {
    margin-bottom: 4px;
}

/* Locked billing for business accounts */

body.loga-billing-locked .woocommerce-billing-fields input,
body.loga-billing-locked .woocommerce-billing-fields select,
body.loga-billing-locked .woocommerce-shipping-fields input,
body.loga-billing-locked .woocommerce-shipping-fields select {
    background: #001f3f;
    color: #111827;
    pointer-events: none;
    border-color: #cbd5e1;
}

body.loga-billing-locked .woocommerce-billing-fields label,
body.loga-billing-locked .woocommerce-shipping-fields label {
    opacity: 0.9;
}

/* Responsive */

@media (max-width: 900px) {
    .loga-shell-overlay {
        padding: 16px 14px 22px;
    }
    .loga-shell-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .loga-shell-steps {
        margin-left: 0;
        flex-wrap: wrap;
    }
    .loga-shell-body,
    .loga-shell-body-single {
        max-width: none;
        flex-direction: column;
    }
    .loga-shell-side {
        width: 100%;
    }
    .loga-order-summary {
        margin-top: 12px;
    }
    .loga-cart-actions-row {
        flex-direction: column;
        align-items: stretch;
    }
    .loga-cart-buttons {
        justify-content: flex-start;
    }
}



/* Back to dashboard link in shell header */
.loga-shell-header {
    position: relative;
}

.loga-shell-back {
    margin-left: 18px;
    padding: 7px 14px;
    border-radius: 999px;
    border: 1px solid rgba(148,163,184,0.55);
    font-size: 0.82rem;
    font-weight: 500;
    color: #e5e7eb;
    text-decoration: none;
    background: rgba(15,23,42,0.75);
    box-shadow: 0 8px 20px rgba(15,23,42,0.55);
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}

.loga-shell-back:hover {
    background: rgba(37,99,235,0.9);
    border-color: rgba(191,219,254,0.9);
    transform: translateY(-1px);
}

/* Slightly deepen navy background overall */
.loga-shell-overlay {
    background: radial-gradient(circle at top left, #071736 0, #020617 55%, #020016 100%);
}


/* LOGA checkout: turn white panels navy with light text */
.loga-shell-checkout .woocommerce,
.loga-shell-checkout .woocommerce form.checkout,
.loga-shell-checkout .woocommerce .col2-set,
.loga-shell-checkout .woocommerce-billing-fields,
.loga-shell-checkout .woocommerce-additional-fields,
.loga-shell-checkout .woocommerce-checkout-review-order,
.loga-shell-checkout .woocommerce-checkout-payment,
.loga-shell-checkout #order_review,
.loga-shell-checkout #payment,
.loga-shell-checkout #payment .payment_box,
.loga-shell-checkout #payment ul.payment_methods,
.loga-shell-checkout #payment div.form-row,
.loga-shell-checkout .woocommerce table.shop_table,
.loga-shell-checkout .woocommerce .woocommerce-checkout-review-order-table {
    background: #001f3f !important;
    color: #f1f5f9 !important;
}

/* Remove remaining white strips inside the order review table */
.loga-shell-checkout .woocommerce table.shop_table th,
.loga-shell-checkout .woocommerce table.shop_table td,
.loga-shell-checkout .woocommerce table.shop_table tr,
.loga-shell-checkout .woocommerce .woocommerce-checkout-review-order-table th,
.loga-shell-checkout .woocommerce .woocommerce-checkout-review-order-table td,
.loga-shell-checkout .woocommerce .woocommerce-checkout-review-order-table tr {
    background: transparent !important;
}

/* "Your order" panel/table sometimes has white rows/cells from theme styles. Force consistency. */
.loga-shell-checkout #order_review,
.loga-shell-checkout #order_review_heading,
.loga-shell-checkout .woocommerce-checkout-review-order,
.loga-shell-checkout .woocommerce-checkout-review-order table,
.loga-shell-checkout .woocommerce-checkout-review-order table thead,
.loga-shell-checkout .woocommerce-checkout-review-order table tbody,
.loga-shell-checkout .woocommerce-checkout-review-order table tfoot,
.loga-shell-checkout .woocommerce-checkout-review-order table tr,
.loga-shell-checkout .woocommerce-checkout-review-order table th,
.loga-shell-checkout .woocommerce-checkout-review-order table td {
    background: #001f3f !important;
}

/* Payment box + methods can also inherit white backgrounds */
.loga-shell-checkout .woocommerce-checkout #payment,
.loga-shell-checkout .woocommerce-checkout #payment ul.payment_methods,
.loga-shell-checkout .woocommerce-checkout #payment div.payment_box {
    background: #001f3f !important;
    color: #f1f5f9 !important;
}

/* Labels and headings inside checkout */
.loga-shell-checkout .woocommerce form .form-row label,
.loga-shell-checkout .woocommerce h2,
.loga-shell-checkout .woocommerce h3,
.loga-shell-checkout .woocommerce h3 span,
.loga-shell-checkout .woocommerce .woocommerce-checkout-review-order-table th {
    color: #f1f5f9 !important;
}

/* Inputs inside checkout (keep layout, change colors) */
.loga-shell-checkout .woocommerce form .form-row input.input-text,
.loga-shell-checkout .woocommerce form .form-row textarea,
.loga-shell-checkout .woocommerce form .form-row select {
    background: #0b2a55 !important;
    color: #f1f5f9 !important;
    border-color: #274060 !important;
}

/* Placeholder text in checkout inputs */
.loga-shell-checkout .woocommerce form .form-row input::placeholder,
.loga-shell-checkout .woocommerce form .form-row textarea::placeholder {
    color: rgba(241,245,249,0.65) !important;
}

/* Woo notices inside checkout */
.loga-shell-checkout .woocommerce-info,
.loga-shell-checkout .woocommerce-message,
.loga-shell-checkout .woocommerce-error {
    background: #003366 !important;
    color: #ffffff !important;
}

/* Ensure totals row text is readable */
.loga-shell-checkout .woocommerce .woocommerce-checkout-review-order-table tfoot th,
.loga-shell-checkout .woocommerce .woocommerce-checkout-review-order-table tfoot td {
    color: #f1f5f9 !important;
}


/* After switching to navy backgrounds, ensure text in locked billing & profile inputs stays readable */
body.loga-billing-locked .woocommerce-billing-fields input,
body.loga-billing-locked .woocommerce-billing-fields select,
body.loga-billing-locked .woocommerce-shipping-fields input,
body.loga-billing-locked .woocommerce-shipping-fields select {
    color: #f1f5f9;
}

/* Profile form inputs on navy background */
.loga-profile-form input[type="text"],
.loga-profile-form input[type="email"],
.loga-profile-form input[type="password"],
.loga-profile-form input[type="url"],
.loga-profile-form input[type="number"],
.loga-profile-form input[type="tel"],
.loga-profile-form select,
.loga-profile-form textarea {
    color: #f1f5f9;
}

/*
 * When a LOGA shell overlay (cart or checkout) is active, we add
 * the class loga-shell-open to the <body> element via JavaScript.
 * Prevent the document body from scrolling behind the fixed overlay.
 */
body.loga-shell-open {
    overflow: hidden;
}

/*
 * Ensure the WooCommerce order received/thank‑you page matches the LOG theme.
 * Darken the background and unify text colours so that customers can read
 * their order details clearly. Without this, WooCommerce defaults to a
 * light background which clashes with the LOG colour scheme.
 */
body.woocommerce-order-received {
    background: #001f3f !important;
    color: #f1f5f9 !important;
}
body.woocommerce-order-received a {
    color: #f1f5f9 !important;
}
body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td {
    color: #f1f5f9 !important;
}

/*
 * Disable links on product names within the checkout and order summary.
 * Customers should not be able to click through to product pages when
 * reviewing or completing their orders.
 */
.loga-shell-checkout .woocommerce .woocommerce-checkout-review-order-table td.product-name a,
body.woocommerce-order-received .woocommerce-order-details a {
    pointer-events: none;
    color: inherit;
    text-decoration: none;
}

/* === Responsive mobile cart table for LOGA shell ===
 * Enhance the cart experience on smaller screens by converting the table
 * layout into card‑style rows. Each cart item becomes a card with labelled
 * rows, better spacing and touch targets. On desktop these rules never
 * apply.
 */
@media (max-width: 768px) {
    /* Hide the table header on mobile */
    .loga-shell-cart .loga-cart-table thead {
        display: none;
    }
    /* Convert table elements into block containers */
    .loga-shell-cart .loga-cart-table,
    .loga-shell-cart .loga-cart-table tbody,
    .loga-shell-cart .loga-cart-table tr {
        display: block;
        width: 100%;
    }
    /* Each cart row becomes a card */
    .loga-shell-cart .loga-cart-table tr {
        margin-bottom: 16px;
        padding: 12px 12px 8px;
        border-radius: 18px;
        border: 1px solid rgba(148,163,184,0.4);
        background: rgba(255,255,255,0.05);
        box-shadow: 0 6px 18px rgba(0,0,0,0.3);
    }
    /* Display cells as flex rows with label and value */
    .loga-shell-cart .loga-cart-table td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 6px 0;
        border-bottom: 1px solid rgba(148,163,184,0.25);
        box-sizing: border-box;
    }
    .loga-shell-cart .loga-cart-table td:last-child {
        border-bottom: none;
    }
    /* Use WooCommerce's data-title attribute as the label */
    .loga-shell-cart .loga-cart-table td::before {
        content: attr(data-title);
        font-weight: 600;
        margin-right: 12px;
        opacity: 0.8;
        flex: 0 0 auto;
    }
    /* Product cell: stack image/name/sku vertically */
    .loga-shell-cart .loga-cart-col-product {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
    .loga-shell-cart .loga-cart-col-product::before {
        /* Hide redundant label on product cell */
        display: none;
    }
    /* Quantity input sizing */
    .loga-shell-cart .loga-cart-col-qty input[type="number"] {
        width: 70px;
        padding: 6px 8px;
        border-radius: 8px;
        border: 1px solid rgba(148,163,184,0.4);
        background: rgba(15,23,42,0.95);
        color: #f9fafb;
        text-align: center;
    }
    /* Stack action buttons and coupon section */
    .loga-shell-cart .loga-cart-actions-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        margin-top: 16px;
    }
    .loga-shell-cart .loga-cart-buttons {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
    .loga-shell-cart .loga-cart-buttons a,
    .loga-shell-cart .loga-cart-buttons button {
        width: 100%;
        text-align: center;
        padding: 12px 14px;
        border-radius: 999px;
    }
    .loga-shell-cart .loga-cart-coupon {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    .loga-shell-cart .loga-cart-coupon input[type="text"] {
        width: 100%;
    }
    .loga-shell-cart .loga-cart-coupon button {
        width: 100%;
        padding: 10px 14px;
        border-radius: 999px;
    }
    /* Stack side order summary below main content */
    .loga-shell-body {
        flex-direction: column;
    }
    .loga-shell-side {
        width: 100%;
        margin-top: 12px;
    }
}

/* === Responsive mobile checkout order review for LOGA shell ===
 * Transform the default WooCommerce order review table into a card-like
 * format on small screens. This improves readability and spacing by
 * turning each row into its own flex container.
 */
@media (max-width: 768px) {
    /* Hide checkout table header */
    .loga-shell-checkout .woocommerce-checkout-review-order-table thead {
        display: none;
    }
    /* Convert checkout table into block structure */
    .loga-shell-checkout .woocommerce-checkout-review-order-table,
    .loga-shell-checkout .woocommerce-checkout-review-order-table tbody,
    .loga-shell-checkout .woocommerce-checkout-review-order-table tr {
        display: block;
        width: 100%;
    }
    /* Card styling for each line item */
    .loga-shell-checkout .woocommerce-checkout-review-order-table tr {
        margin-bottom: 12px;
        padding: 10px 12px;
        border-bottom: 1px solid rgba(148,163,184,0.4);
    }
    .loga-shell-checkout .woocommerce-checkout-review-order-table td {
        display: flex;
        justify-content: space-between;
        padding: 6px 0;
        border: 0;
    }
    .loga-shell-checkout .woocommerce-checkout-review-order-table td::before {
        content: attr(data-title);
        font-weight: 600;
        margin-right: 12px;
        opacity: 0.8;
    }
    /* Totals row spacing */
    .loga-shell-checkout .woocommerce-checkout-review-order-table tfoot tr {
        display: flex;
        justify-content: space-between;
        padding: 12px 12px;
        border-top: 1px solid rgba(148,163,184,0.4);
    }
    .loga-shell-checkout .woocommerce-checkout-review-order-table tfoot th,
    .loga-shell-checkout .woocommerce-checkout-review-order-table tfoot td {
        border: 0;
        padding: 0;
        font-weight: 600;
        font-size: 1rem;
    }
    /* Place order button full width and padded */
    .loga-shell-checkout #payment #place_order {
        width: 100%;
        padding: 14px 16px;
        border-radius: 999px;
        margin-top: 12px;
    }
    /* Payment methods list: remove left padding */
    .loga-shell-checkout #payment ul.payment_methods {
        padding-left: 0;
    }
}


/* Shared Cart/Checkout header navigation */
.loga-shell-header-nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.loga-back-dashboard{
    font-size:14px;
    text-decoration:none;
    white-space:nowrap;
}
.loga-shell-steps .loga-step{
    text-decoration:none;
}
@media (max-width: 767px){
    .loga-shell-header-nav{
        flex-wrap:nowrap;
    }
    .loga-back-dashboard{
        margin-left:auto;
        order:2;
    }
    .loga-shell-steps{
        order:1;
    }
}

/* Cart: desktop table option (mobile remains default) */
.loga-cart-items-desktop{ display:none; }
@media (min-width: 992px){
    /* Desktop cart: keep mobile untouched; render a premium navy "table cards" layout */
    .loga-cart-items-mobile{ display:none; }
    .loga-cart-items-desktop{ display:block; }

    /* Full cart area (desktop) */
    .loga-shell-cart .loga-shell-main{
        background: radial-gradient(circle at top left, rgba(14,36,78,0.98) 0, rgba(2,10,26,0.98) 60%, rgba(1,6,18,0.98) 100%);
        border: 1px solid rgba(59,130,246,0.20);
    }

    .loga-cart-items-desktop{
        background: transparent;
        padding: 6px 2px 2px;
    }

    /* Table style with spacing between rows */
    .loga-cart-table{
        width:100%;
        border-collapse:separate;
        border-spacing:0 14px; /* space between products */
        background: transparent;
        margin-bottom:18px;
        font-size:0.92rem;
    }

    .loga-cart-table thead th{
        padding: 12px 14px;
        text-align:left;
        font-size: 0.8rem;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: rgba(226, 232, 240, 0.92);
        background: linear-gradient(90deg, rgba(30,64,175,0.55), rgba(2,132,199,0.35));
        border-bottom: 0;
    }
    .loga-cart-table thead th:first-child{ border-top-left-radius: 14px; border-bottom-left-radius: 14px; }
    .loga-cart-table thead th:last-child{ border-top-right-radius: 14px; border-bottom-right-radius: 14px; }

    .loga-cart-table tbody tr{
        background: linear-gradient(135deg, rgba(2, 28, 72, 0.92), rgba(1, 12, 32, 0.92));
        box-shadow: 0 14px 30px rgba(0,0,0,0.35);
    }

    .loga-cart-table tbody td{
        padding: 14px 14px;
        border: 0;
        color: rgba(226,232,240,0.95);
        vertical-align: middle;
    }

    .loga-cart-table tbody td:first-child{
        border-top-left-radius: 16px;
        border-bottom-left-radius: 16px;
    }
    .loga-cart-table tbody td:last-child{
        border-top-right-radius: 16px;
        border-bottom-right-radius: 16px;
        text-align: left;
    }

    .loga-cart-td-product{
        display:flex;
        align-items:center;
        gap: 12px;
        min-width: 260px;
    }
    .loga-cart-td-thumb img{
        width:48px;
        height:auto;
        border-radius:12px;
        box-shadow: 0 10px 20px rgba(0,0,0,0.35);
    }

    .loga-cart-remove{
        font-size:20px;
        text-decoration:none;
        display:inline-block;
        line-height:1;
        color: rgba(147,197,253,0.92);
    }
    .loga-cart-remove:hover{ color: #ffffff; }
}
/* Checkout: desktop "table bar" look with blue background (mobile unchanged) */
@media (min-width: 992px){
    .loga-shell-checkout .loga-shell-main{
        border-radius:18px;
        overflow:hidden;
    }
    .loga-shell-checkout .woocommerce-checkout{
        background:#fff;
    }
    .loga-shell-checkout .woocommerce-checkout > *:first-child{
        margin-top:0;
    }
    .loga-shell-checkout .loga-shell-header-nav{
        background:#1e73be;
        padding:12px 16px;
        border-radius:16px;
    }
    .loga-shell-checkout .loga-shell-header-nav .loga-back-dashboard,
    .loga-shell-checkout .loga-shell-header-nav .loga-step{
        color:#fff;
    }
}

/* Checkout auto-return banner */
.loga-checkout-timer-banner{
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:99999;
    padding:12px 14px;
    border-radius:14px;
    background:rgba(0,0,0,0.85);
    color:#fff;
    font-size:14px;
    text-align:center;
}

/* Post-checkout countdown overlay (modern, centered) */
.loga-countdown-overlay{
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none; /* informational only */
}

.loga-countdown-card{
    pointer-events: none;
    min-width: 260px;
    max-width: 92vw;
    padding: 26px 22px;
    border-radius: 22px;
    background: rgba(12, 16, 28, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: 0 18px 60px rgba(0,0,0,0.45);
    text-align: center;
    backdrop-filter: blur(10px);
}

.loga-countdown-seconds{
    font-size: 84px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: #ffffff;
    text-shadow: 0 10px 40px rgba(0,0,0,0.35);
}

.loga-countdown-label{
    margin-top: 10px;
    font-size: 14px;
    opacity: 0.92;
    color: rgba(255,255,255,0.92);
}

/* “Wave” drop/bounce animation for 5,4,3,2,1 */
.loga-countdown-seconds.is-wave{
    animation: logaWaveDown 520ms cubic-bezier(.2,.9,.2,1);
}

@keyframes logaWaveDown{
    0%   { transform: translateY(-26px) scale(1.10); opacity: 0.55; }
    55%  { transform: translateY(10px)  scale(0.98); opacity: 1; }
    100% { transform: translateY(0px)   scale(1.00); opacity: 1; }
}

/* Scoped dark theme for post-checkout pages while timer is active */
.loga-checkout-dark body{
    background: #0b0f1a !important;
    color: rgba(255,255,255,0.92);
}
.loga-checkout-dark .site, 
.loga-checkout-dark .site-content,
.loga-checkout-dark #page,
.loga-checkout-dark #content,
.loga-checkout-dark .woocommerce,
.loga-checkout-dark .woocommerce-page,
.loga-checkout-dark .entry-content,
.loga-checkout-dark .content-area,
.loga-checkout-dark .site-main{
    background: transparent !important;
}
.loga-checkout-dark a{ color: rgba(150, 200, 255, 0.95); }
.loga-checkout-dark a:hover{ color: #ffffff; }
.loga-checkout-dark .woocommerce-order,
.loga-checkout-dark .woocommerce-order-details,
.loga-checkout-dark .woocommerce-customer-details,
.loga-checkout-dark .woocommerce-notice,
.loga-checkout-dark .woocommerce-message,
.loga-checkout-dark .woocommerce-info,
.loga-checkout-dark .woocommerce-error{
    background: rgba(255,255,255,0.06) !important;
    border-color: rgba(255,255,255,0.12) !important;
    color: rgba(255,255,255,0.92) !important;
}
.loga-checkout-dark table,
.loga-checkout-dark th,
.loga-checkout-dark td{
    border-color: rgba(255,255,255,0.12) !important;
}

@media (max-width: 480px){
    .loga-countdown-seconds{ font-size: 64px; }
    .loga-countdown-card{ padding: 22px 18px; border-radius: 18px; }
}



/* === Cart product background: navy + better spacing (override) === */
.loga-cart-items{ gap: 16px; }
.loga-cart-item{
    background: linear-gradient(135deg, rgba(10,35,85,0.98), rgba(4,13,34,0.98));
    border: 1px solid rgba(56,189,248,0.18);
    box-shadow: 0 18px 42px rgba(0,0,0,0.42);
    padding: 16px 16px 14px;
}

/* Desktop cart table "table-style" rows with navy cards + spacing */
@media (min-width: 900px){
    .loga-cart-table{
        border-collapse: separate;
        border-spacing: 0 14px;
    }
    .loga-cart-table thead th{
        background: rgba(2,6,23,0.15);
    }
    .loga-cart-table tbody tr{
        background: linear-gradient(135deg, rgba(10,35,85,0.98), rgba(4,13,34,0.98));
        box-shadow: 0 14px 30px rgba(0,0,0,0.35);
    }
    .loga-cart-table tbody tr td{
        border-top: 1px solid rgba(56,189,248,0.16);
        border-bottom: 1px solid rgba(56,189,248,0.16);
    }
    .loga-cart-table tbody tr td:first-child{
        border-left: 1px solid rgba(56,189,248,0.16);
        border-radius: 16px 0 0 16px;
    }
    .loga-cart-table tbody tr td:last-child{
        border-right: 1px solid rgba(56,189,248,0.16);
        border-radius: 0 16px 16px 0;
    }
}



/* Checkout payment timer bar (10 min) */
.loga-payment-timerbar{
  position: sticky;
  top: 0;
  z-index: 9999;
  width: 100%;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  background: rgba(6, 11, 26, 0.92);
  border-bottom: 1px solid rgba(255,255,255,0.10);
}
.loga-payment-timerbar__inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.loga-payment-timerbar__label{
  font-size: 14px;
  letter-spacing: 0.2px;
  color: rgba(255,255,255,0.86);
}
.loga-payment-timerbar__time{
  font-variant-numeric: tabular-nums;
  font-size: 18px;
  font-weight: 700;
  color: #ffffff;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(59,130,246,0.25);
  border: 1px solid rgba(59,130,246,0.35);
}

