/* 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;
    }
}

/*
 * Profile redesign – lighten the business/individual profile card to
 * achieve a clean, modern aesthetic.  The default LOGA cards use a
 * dark gradient which works well for login and registration forms, but
 * makes reading large amounts of profile data cumbersome.  These
 * overrides apply only to the profile card to ensure a bright background
 * with dark text, a subtle border and softer input fields.  Accent
 * colours still align with the brand palette.
 */
/*
 * Premium profile card styling – “medal” tone
 *
 * The previous design used a bright white card with vivid blues. To achieve a
 * more refined, metallic look, the card now has a soft grey background and
 * darker typography. Accents are subdued to complement the neutral palette.
 */
.loga-card.loga-profile {
    background: #f5f6fa; /* very light grey reminiscent of brushed metal */
    border: 1px solid #d7dbe5;
    color: #2f4055; /* dark slate text for better contrast */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05);
    /* position relative to anchor the theme toggle button */
    position: relative;
}
.loga-card.loga-profile h2,
.loga-card.loga-profile h3 {
    color: #1e2e45; /* deeper heading colour for distinction */
}
.loga-profile .loga-account-summary {
    color: #445e7a; /* muted blue‑grey for account summary text */
}
/* Readable input fields on profile forms */
.loga-card.loga-profile .loga-profile-form input[type="text"],
.loga-card.loga-profile .loga-profile-form input[type="email"],
.loga-card.loga-profile .loga-profile-form input[type="password"],
.loga-card.loga-profile .loga-profile-form input[type="url"],
.loga-card.loga-profile .loga-profile-form input[type="number"],
.loga-card.loga-profile .loga-profile-form input[type="tel"],
.loga-card.loga-profile .loga-profile-form select,
.loga-card.loga-profile .loga-profile-form textarea {
    background: #eef1f7;
    border: 1px solid #c7d0dd;
    color: #2f4055;
}
/* Read‑only fields in business profile */
/* Read‑only business profile fields – slightly darker to differentiate */
.loga-card.loga-profile .loga-business-profile-section input[readonly] {
    background: #e9edf4;
    border: 1px solid #cbd4e2;
    color: #6b7b8f;
}
/* Profile action button styling */
/* Primary action button – toned down metallic blue */
.loga-card.loga-profile .loga-actions button {
    background: #4b6587;
    color: #fff;
    border: none;
    padding: 10px 24px;
    border-radius: 999px;
    font-size: 1em;
    cursor: pointer;
    transition: background 0.3s ease, box-shadow 0.3s ease;
}
.loga-card.loga-profile .loga-actions button:hover {
    background: #5e7ba4;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}


/* === 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);
}

/*
 * =======================================================================
 * Theme variables and toggle styling for the customer profile
 *
 * The profile can be displayed in light or dark modes.  These modes are
 * controlled by classes on the <body>: `loga-profile-theme-light` and
 * `loga-profile-theme-dark`.  JavaScript adds one of these classes
 * depending on the user’s preference (stored in localStorage) or the
 * administrator’s default.  CSS variables are used so that the
 * underlying colours can be easily overridden without duplicating
 * selectors.  The `.loga-theme-toggle` button is positioned within the
 * profile card and updates its icon based on the current theme.
 */

body.loga-profile-theme-light {
  --loga-card-bg: #f5f6fa;
  --loga-card-border: #d7dbe5;
  --loga-text-color: #2f4055;
  --loga-heading-color: #1e2e45;
  --loga-input-bg: #ffffff;
  --loga-input-text: #2f4055;
  --loga-input-border: #ccd2e3;

  /* Background and border for profile sub‑sections in light mode.  These
   * variables allow individual sections within the profile card to be
   * visually distinct without duplicating colour values throughout the
   * stylesheet.  The default section colours mirror the card but can be
   * overridden if desired. */
  --loga-section-bg: #ffffff;
  --loga-section-border: #d7dbe5;
}

body.loga-profile-theme-dark {
  /* Updated dark mode palette for a more refined, professional look.
   * The card uses a deep navy tone with gently contrasting elements.
   * Text and headings are softened to off‑white and warm gold for
   * readability.  Inputs and sub‑sections use slightly lighter shades
   * to create clear separation without harsh contrast. */
  --loga-card-bg: #0d2646;
  --loga-card-border: #133a68;
  --loga-text-color: #e5ecf5;
  --loga-heading-color: #ffdf6d;
  --loga-input-bg: #183d6f;
  --loga-input-text: #e5ecf5;
  --loga-input-border: #2b5a90;

  /* Background and border for profile sub‑sections in dark mode. */
  --loga-section-bg: #112d52;
  --loga-section-border: #214b78;
}

/* Apply variables to the profile card when a theme is set */
body.loga-profile-theme-light .loga-card.loga-profile,
body.loga-profile-theme-dark .loga-card.loga-profile {
  background: var(--loga-card-bg);
  border-color: var(--loga-card-border);
  color: var(--loga-text-color);
}
body.loga-profile-theme-light .loga-card.loga-profile h2,
body.loga-profile-theme-dark .loga-card.loga-profile h2,
body.loga-profile-theme-light .loga-card.loga-profile h3,
body.loga-profile-theme-dark .loga-card.loga-profile h3 {
  color: var(--loga-heading-color);
}
body.loga-profile-theme-light .loga-profile .loga-account-summary,
body.loga-profile-theme-dark .loga-profile .loga-account-summary {
  color: var(--loga-heading-color);
}
body.loga-profile-theme-light .loga-profile-form input[type="text"],
body.loga-profile-theme-dark .loga-profile-form input[type="text"],
body.loga-profile-theme-light .loga-profile-form input[type="email"],
body.loga-profile-theme-dark .loga-profile-form input[type="email"],
body.loga-profile-theme-light .loga-profile-form input[type="password"],
body.loga-profile-theme-dark .loga-profile-form input[type="password"],
body.loga-profile-theme-light .loga-profile-form input[type="url"],
body.loga-profile-theme-dark .loga-profile-form input[type="url"],
body.loga-profile-theme-light .loga-profile-form input[type="number"],
body.loga-profile-theme-dark .loga-profile-form input[type="number"],
body.loga-profile-theme-light .loga-profile-form input[type="tel"],
body.loga-profile-theme-dark .loga-profile-form input[type="tel"],
body.loga-profile-theme-light .loga-profile-form select,
body.loga-profile-theme-dark .loga-profile-form select,
body.loga-profile-theme-light .loga-profile-form textarea,
body.loga-profile-theme-dark .loga-profile-form textarea {
  background: var(--loga-input-bg);
  color: var(--loga-input-text);
  border: 1px solid var(--loga-input-border);
}

/* Theme toggle button */
.loga-theme-toggle {
  position: absolute;
  top: 15px;
  right: 15px;
  background: transparent;
  border: none;
  font-size: 1.5em;
  cursor: pointer;
  line-height: 1;
  padding: 0;
  margin: 0;
  color: inherit;
  transition: transform 0.2s ease;
}
.loga-theme-toggle:hover {
  transform: scale(1.1);
}
.loga-theme-toggle:focus {
  outline: none;
}

/* -------------------------------------------------------------------
 * Enhanced profile section styling
 *
 * The business and personal profile areas are organised into logical
 * sections (e.g. account info, contact, business details).  To give
 * these sections a clean, card‑like appearance we rely on the
 * --loga-section-* variables defined for each theme.  A responsive
 * grid layout ensures form fields wrap neatly across multiple
 * columns when space permits.  Labels are displayed above their
 * associated inputs for improved readability.
 */
body.loga-profile-theme-light .loga-business-profile-section,
body.loga-profile-theme-dark .loga-business-profile-section {
  background: var(--loga-section-bg);
  border: 1px solid var(--loga-section-border);
  border-radius: 12px;
  padding: 20px;
  margin-top: 20px;
  margin-bottom: 20px;
  /* Use CSS grid so that labels and inputs automatically flow into
   * columns on larger screens.  Each child element becomes a grid
   * item. */
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 15px;
}

body.loga-profile-theme-light .loga-business-profile-section h3,
body.loga-profile-theme-dark .loga-business-profile-section h3 {
  grid-column: 1 / -1;
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 1.25em;
  font-weight: 600;
  color: var(--loga-heading-color);
}

/* Style labels within profile sections */
.loga-business-profile-section label {
  display: block;
  color: var(--loga-text-color);
  font-size: 0.9em;
}

/* Input elements inside the profile section should reflect the
 * currently active theme variables for background, text and borders. */
.loga-business-profile-section input[type="text"],
.loga-business-profile-section input[type="email"],
.loga-business-profile-section input[type="url"],
.loga-business-profile-section input[type="number"],
.loga-business-profile-section input[type="tel"],
.loga-business-profile-section input[type="time"],
.loga-business-profile-section input[type="password"],
.loga-business-profile-section textarea,
.loga-business-profile-section select {
  width: 100%;
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid var(--loga-input-border);
  background: var(--loga-input-bg);
  color: var(--loga-input-text);
  font-size: 1em;
}

/* Ensure the toggle button and overall profile form actions align to
 * the right for a polished finish. */
.loga-profile .loga-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}

/*
 * WooCommerce checkout adjustments
 *
 * Remove white backgrounds from the order review and payment sections to
 * maintain a cohesive dark/metal theme throughout the checkout.  These
 * overrides ensure that tables and panels blend seamlessly with the rest
 * of the LOGA checkout overlay.  If the profile theme is light, these
 * styles still apply to avoid abrupt white boxes on darker overlays.
 */
body #order_review,
body #payment,
body form.checkout .woocommerce-checkout-review-order-table {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
body .woocommerce-checkout-review-order-table th,
body .woocommerce-checkout-review-order-table td {
  background: transparent !important;
}
body .woocommerce-checkout .form-row {
  color: inherit;
}
body .woocommerce-checkout .shipping_address select,
body .woocommerce-checkout .shipping_address input {
  background: var(--loga-input-bg, #f5f6fa);
  border: 1px solid var(--loga-input-border, #ccd2e3);
  color: var(--loga-input-text, #2f4055);
}

/*
 * Dark mode profile action button overrides
 *
 * The base profile button styling uses a mid-tone blue intended for light
 * backgrounds.  On dark profile cards this colour lacks sufficient contrast
 * and vibrancy.  Override the background and hover states when the
 * `loga-profile-theme-dark` class is present to harmonise with the
 * updated dark palette defined above.  The colour choices here mirror
 * the deeper blues used in the dark palette and ensure the white text
 * remains crisp and legible.
 */
body.loga-profile-theme-dark .loga-card.loga-profile .loga-actions button {
  background: #3a6fa5;
  color: #fff;
}
body.loga-profile-theme-dark .loga-card.loga-profile .loga-actions button:hover {
  background: #4d85b9;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
}

