/*
 Theme Name:   Logistik Child
 Theme URI:    https://themeholy.com/wordpress/logistik/
 Description:  This is a child theme for Logistik - WordPress Theme
 Author:       Themeholy
 Author URI:   https://themeholy.com
 Template:     logistik
 Version:      1.0
 Tags:         two-columns, three-columns, left-sidebar, right-sidebar, flexible-header, custom-background, custom-colors, custom-header, custom-menu, theme-options, editor-style, featured-images, microformats, post-formats,  sticky-post, threaded-comments, translation-ready
 Text Domain:  logistik-child
*/

/*  [ Add your custom css below ]
- - - - - - - - - - - - - - - - - - - - */

/* ============================================================
 * Bug 6 — Contact form inputs: white text on hover/focus
 *
 * Root cause: parent _contact.scss line 540-544 applies
 *   color: #fff !important on :hover & .focus, but .contact-form
 *   keeps its white background — text becomes invisible.
 *   (White text makes sense on .service-form which has a dark
 *   theme-color background, but NOT on the light .contact-form.)
 *
 * Fix: restore readable dark text on hover/focus; keep the
 *   theme-color border highlight (good UX feedback).
 *   Also complete the missing hover background with a subtle
 *   theme-color tint so the design intent is honoured.
 *
 * Issue #3969 | 2026-02-27
 * ============================================================ */
.contact-form select:hover,
.contact-form select.focus,
.contact-form .form-control:hover,
.contact-form .form-control.focus,
.contact-form .form-select:hover,
.contact-form .form-select.focus,
.contact-form textarea:hover,
.contact-form textarea.focus,
.contact-form input:hover,
.contact-form input.focus {
    color: #333333 !important;                          /* readable dark text (was #fff — invisible) */
    background-color: rgba(0, 0, 0, 0.03) !important; /* subtle tint — completes the hover intent  */
}

/* ============================================================
 * Bug 11 — Hide empty product description tab (WC product pages)
 *
 * Hides the ul#productTab nav + div#productTabContent tab panel
 * on all WooCommerce single-product pages.
 * Only white-gloves-service-standalone is published; its description
 * ("Service of conciergerie...") is a placeholder — tab is pointless.
 * If real descriptions are added later: remove this block.
 *
 * Issue #3969 | 2026-02-27
 * ============================================================ */
ul.nav.product-tab-style1#productTab,
.tab-content#productTabContent {
    display: none !important;
}

/* ============================================================
 * Breadcrumb spacing — add breathing room below breadcrumb bar
 * Scoped to WooCommerce pages only (body.woocommerce class).
 * Issue #3969 | 2026-02-27
 * ============================================================ */
body.woocommerce .breadcumb-wrapper {
    margin-bottom: 30px;
}

/* ============================================================
 * Header auth links — Register/Login · My Account/Logout · Cart
 * Appended inside .header-right (dark top-bar background).
 * Font style matches .header-layout3 .header-links a (16px #e7e7e7 400).
 * Issue #3969 | 2026-02-27
 * ============================================================ */
.dms-auth-links {
    display: inline-flex;
    align-items: center;
    gap: 32px;
    margin-left: 14px;
    border-left: 1px solid rgba(255, 255, 255, 0.25);
    padding-left: 14px;
}
.dms-auth-links a {
    font-family: var(--body-font);
    color: #e7e7e7;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s;
}
.dms-auth-links a:hover {
    color: #ffffff;
    text-decoration: underline;
}
.dms-auth-links a i {
    margin-right: 4px;
}
.dms-cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--theme-color, #e8323c);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    min-width: 18px;
    height: 18px;
    border-radius: 50%;
    padding: 0 4px;
    vertical-align: middle;
    margin-left: 2px;
}

/* ============================================================
 * Header nav links — Container Inquiry · Container Tracking
 * Positioned LEFT of auth links inside .header-right (dark top-bar).
 * Issue #5745 | 2026-03-23
 * ============================================================ */
.dms-nav-links {
    display: inline-flex;
    align-items: center;
    gap: 24px;
    margin-left: 14px;
}
.dms-nav-links a {
    font-family: var(--body-font);
    color: #e7e7e7;
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s;
}
.dms-nav-links a:hover {
    color: #ffffff;
    text-decoration: underline;
}
.dms-nav-links a i {
    margin-right: 4px;
}
/* Active page highlight */
.dms-nav-links a.dms-nav-active {
    color: #ffffff;
    font-weight: 600;
    border-bottom: 2px solid #ffffff;
    padding-bottom: 2px;
}
/* --- Nav links: tablet --- */
@media (max-width: 991px) {
    .dms-nav-links {
        gap: 16px;
    }
    .dms-nav-links a {
        font-size: 14px;
    }
}
/* --- Nav links: mobile — hide text, show icons only --- */
@media (max-width: 768px) {
    .dms-nav-links {
        gap: 12px;
        margin-left: 8px;
    }
    .dms-nav-links a .dms-nav-label {
        display: none;
    }
    .dms-nav-links a i {
        font-size: 18px;
        margin-right: 0;
    }
}

/* ============================================================
 * Admin dropdown menu — Issue #6500
 * Appears in dms-nav-links for admin/clerk users
 * ============================================================ */
.dms-nav-admin-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.dms-nav-admin-menu {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0;
    padding-top: 8px;        /* Issue #7136: invisible hover bridge — replaces old margin-top:6px gap */
    background: #1a1a2e;
    min-width: 220px;
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.35);
    z-index: 9999;
    padding-bottom: 6px;
}
.dms-nav-admin-dropdown:hover .dms-nav-admin-menu {
    display: block;
}
.dms-admin-menu-link {
    display: block;
    padding: 10px 16px;
    color: #e7e7e7 !important;
    font-size: 14px;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background 0.15s;
}
.dms-admin-menu-link:hover {
    background: #003366;
    color: #fff !important;
}
.dms-admin-menu-link i {
    width: 20px;
    text-align: center;
    margin-right: 8px;
}
.dms-admin-menu-link.dms-admin-menu-active {
    /* M-MENU-FIX-UX (2026-04-28) — softened from heavy #003366 bg to a light
       tint + bold so the active item is highlighted without dominating the dropdown. */
    background: rgba(0, 102, 204, 0.18);
    color: #fff !important;
    font-weight: 600;
}
.dms-admin-menu-divider {
    height: 1px;
    background: rgba(255,255,255,0.15);
    margin: 4px 12px;
}
.dms-admin-menu-link--wp {
    color: #aaa !important;
    font-size: 13px;
}
.dms-admin-menu-link--wp:hover {
    color: #fff !important;
}
/* M-MENU-SPLIT #8443 (2026-04-28) — section headers + engineer-brand color */
.dms-admin-menu-section-header {
    padding: 6px 12px 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.55);
}
.dms-admin-menu-section-header i {
    margin-right: 4px;
    opacity: 0.75;
}
.dms-admin-menu-link--engineer {
    color: #f1416c !important;
}
.dms-admin-menu-link--engineer i {
    color: #f1416c !important;
}
.dms-admin-menu-link--engineer:hover {
    background: rgba(241,65,108,0.12);
    color: #ff6f8e !important;
}

/* M-MENU Phase B M5 + UX FIX ROUND 3 (2026-04-28) — 2-column megamenu.
   Sergey directives:
   - NO scroll bars
   - Hover MUST hide the menu when mouse leaves (broken by my display:grid override)
   - WP Admin lives INSIDE the right column, not as a footer row
   - 2 cols only — drop the 1-col vs 2-col modifier complexity
   - Softer hover so it doesn't compete with the active state */

/* Default state stays display:none (inherited from .dms-nav-admin-menu base rule);
   we ONLY swap to display:grid when the parent dropdown is being hovered. */
.dms-nav-admin-dropdown:hover .dms-nav-admin-menu.wcp-megamenu {
    display: grid;
    grid-template-columns: 280px 280px;
    column-gap: 0;
    padding: 4px 0;
    min-width: 560px;
    overflow: visible;
}
.dms-nav-admin-menu.wcp-megamenu .wcp-megamenu-col {
    display: flex;
    flex-direction: column;
    padding: 0 4px;
    border-right: 1px solid rgba(255,255,255,0.08);
    min-width: 0;
}
.dms-nav-admin-menu.wcp-megamenu .wcp-megamenu-col:last-of-type {
    border-right: none;
}
/* Tighter link density + text wrap for long labels. */
.dms-nav-admin-menu.wcp-megamenu .dms-admin-menu-link {
    padding: 6px 12px;
    font-size: 13px;
    line-height: 1.3;
    white-space: normal;
    border-left: 3px solid transparent;
    transition: color 0.12s, border-color 0.12s;
}

/* HOVER — visible bg highlight per Sergey UX feedback round 4 (2026-04-29).
   Was 'transparent' which gave zero feedback. Now: subtle white wash that
   clearly indicates the row under the cursor without being heavy. */
.dms-nav-admin-menu.wcp-megamenu .dms-admin-menu-link:hover {
    background: rgba(255, 255, 255, 0.10) !important;
    color: #fff !important;
}

/* Soft active state — light tint + 3px left accent bar. */
.dms-nav-admin-menu.wcp-megamenu .dms-admin-menu-link.dms-admin-menu-active {
    background: rgba(0, 102, 204, 0.22) !important;
    color: #fff !important;
    font-weight: 600;
    border-left-color: #4ea6ff;
}

/* M-MENU-FIX-UX-2 (2026-04-29): Sergey directive — ALL links in white,
   drop the engineer brand-red. The .dms-admin-menu-link--engineer class
   is still emitted for the future (in case we want to bring red back),
   but it no longer overrides the white color from the parent rule. */
.dms-nav-admin-menu.wcp-megamenu .dms-admin-menu-link--engineer {
    color: #e7e7e7 !important;
}
.dms-nav-admin-menu.wcp-megamenu .dms-admin-menu-link--engineer i {
    color: inherit !important;
}
.dms-nav-admin-menu.wcp-megamenu .dms-admin-menu-link--engineer:hover {
    background: rgba(255, 255, 255, 0.10) !important;
    color: #fff !important;
}

/* WP Admin link inside the engineer column — visually separated by a top border. */
.dms-nav-admin-menu.wcp-megamenu .dms-admin-menu-link--wp {
    border-top: 1px solid rgba(255,255,255,0.10);
    margin-top: 4px;
    padding-top: 8px;
    color: #aaa !important;
}

@media (max-width: 768px) {
    .dms-nav-admin-dropdown:hover .dms-nav-admin-menu.wcp-megamenu {
        grid-template-columns: 1fr;
        min-width: 260px;
    }
    .dms-nav-admin-menu.wcp-megamenu .wcp-megamenu-col {
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.08);
        padding-bottom: 4px;
    }
    .dms-nav-admin-menu.wcp-megamenu .wcp-megamenu-col:last-of-type {
        border-bottom: none;
    }
}
@media (max-width: 768px) {
    .dms-nav-admin-menu {
        min-width: 180px;
        right: auto;
        left: 0;
    }
}

/* ============================================================
 * Hide coupon field on cart/payment page — coupons not in use
 * Issue #3969 | 2026-02-27
 * ============================================================ */
.themeholy-cart-coupon {
    display: none !important;
}

/* ============================================================
 * Hide wpDataTables "Generated by wpDataTables" branding link
 * The span lives inside div.wpdt-c and carries class .d-block.
 * WPDataTables Bootstrap CSS uses .wpdt-c .d-block { display:block !important }
 * which has specificity [0,2,0] — same as .powered_by_link.d-block.
 * Because WPDataTables Bootstrap loads after child theme (index 43 vs 21),
 * it wins on source order. Fix: use 3-class selector [0,3,0] to beat it.
 * Issue #3969 | 2026-02-27
 * ============================================================ */
.wpdt-c .powered_by_link.d-block {
    display: none !important;
}

/* ============================================================
 * Registration form — Branded card UI with Termont identity
 *
 * Selectors target WP-Members registration form (#wpmem_reg)
 * on /register/ page. Covers: card container, inputs, labels,
 * submit button, validation states, hover/focus, mobile.
 *
 * DOM: #wpmem_reg > form#wpmem_register_form > fieldset
 *   - input.textbox (text, email)
 *   - input.buttons (submit)
 *   - label.text + span.req
 *   - div.req-text
 *
 * Issue #4418 | 2026-03-08
 * ============================================================ */

/* --- Card container --- */
#wpmem_reg {
    max-width: 520px;
    margin: 40px auto 60px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 40px 36px 32px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

/* --- Legend / Title --- */
#wpmem_reg fieldset {
    border: none;
    padding: 0;
    margin: 0;
}
#wpmem_reg legend {
    font-family: 'Red Hat Display', 'Inter', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 28px;
    padding-bottom: 16px;
    border-bottom: 2px solid #ef4030;
    width: 100%;
    display: block;
}

/* --- Labels --- */
#wpmem_reg label.text {
    display: block;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    margin-bottom: 6px;
    margin-top: 16px;
}
#wpmem_reg label.text:first-of-type {
    margin-top: 0;
}
#wpmem_reg label .req {
    color: #ef4030;
    font-weight: 600;
    margin-left: 2px;
}

/* --- Text inputs --- */
#wpmem_reg .textbox {
    width: 100%;
    padding: 12px 16px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 15px;
    color: #1f2937;
    background-color: #f9fafb;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    box-sizing: border-box;
    height: auto;
}
#wpmem_reg .textbox::placeholder {
    color: #9ca3af;
    font-style: italic;
}
#wpmem_reg .textbox:hover {
    border-color: #9ca3af;
    background-color: #ffffff;
}
#wpmem_reg .textbox:focus {
    border-color: #ef4030;
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(239, 64, 48, 0.12);
}
#wpmem_reg .textbox:valid:not(:placeholder-shown) {
    border-color: #22c55e;
}

/* --- Submit button --- */
#wpmem_reg .button_div {
    margin-top: 28px;
}
#wpmem_reg .buttons {
    display: block;
    width: 100%;
    padding: 14px 24px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #ffffff;
    background: linear-gradient(135deg, #ef4030 0%, #d63020 100%);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.2s ease;
    box-shadow: 0 2px 8px rgba(239, 64, 48, 0.25);
}
#wpmem_reg .buttons:hover {
    background: linear-gradient(135deg, #d63020 0%, #c02818 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(239, 64, 48, 0.35);
}
#wpmem_reg .buttons:active {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 1px 4px rgba(239, 64, 48, 0.2);
}

/* --- Required field text --- */
#wpmem_reg .req-text {
    margin-top: 20px;
    font-size: 13px;
    color: #6b7280;
    text-align: center;
}
#wpmem_reg .req-text .req {
    color: #ef4030;
    font-weight: 600;
}

/* --- Input wrapper divs --- */
#wpmem_reg .div_text {
    margin-bottom: 4px;
}

/* --- WP-Members success/error messages --- */
.wpmem_msg {
    max-width: 520px;
    margin: 30px auto 0;
    padding: 16px 20px 16px 52px;
    border-radius: 10px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #166534;
    background-color: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-left: 4px solid #22c55e;
    position: relative;
}
.wpmem_msg::before {
    content: "\2713"; /* checkmark */
    position: absolute;
    left: 18px;
    top: 16px;
    font-size: 18px;
    font-weight: 700;
    color: #22c55e;
}

/* ============================================================
 * Login form — Branded card UI matching registration (#4418)
 *
 * Appears after successful registration on /register/ page.
 * DOM: #wpmem_login > form#wpmem_login_form > fieldset
 *   - input.username (text)
 *   - input.password (password)
 *   - input#rememberme (checkbox)
 *   - input.buttons (submit "Log In")
 *   - .link-text-forgot (forgot password link)
 *
 * Issue #4421 | 2026-03-08
 * ============================================================ */

/* --- Card container (same as #wpmem_reg) --- */
#wpmem_login {
    max-width: 520px;
    margin: 24px auto 60px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 40px 36px 32px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

/* --- Fieldset / Legend --- */
#wpmem_login fieldset {
    border: none;
    padding: 0;
    margin: 0;
}
#wpmem_login legend {
    font-family: 'Red Hat Display', 'Inter', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 28px;
    padding-bottom: 16px;
    border-bottom: 2px solid #ef4030;
    width: 100%;
    display: block;
}

/* --- Labels --- */
#wpmem_login label {
    display: block;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    margin-bottom: 6px;
    margin-top: 16px;
}
#wpmem_login label:first-of-type {
    margin-top: 0;
}

/* --- Text / password inputs --- */
#wpmem_login .username,
#wpmem_login .password {
    width: 100%;
    padding: 12px 16px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 15px;
    color: #1f2937;
    background-color: #f9fafb;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    box-sizing: border-box;
    height: auto;
}
#wpmem_login .username:hover,
#wpmem_login .password:hover {
    border-color: #9ca3af;
    background-color: #ffffff;
}
#wpmem_login .username:focus,
#wpmem_login .password:focus {
    border-color: #ef4030;
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(239, 64, 48, 0.12);
}

/* --- Input wrapper divs --- */
#wpmem_login .div_text {
    margin-bottom: 4px;
}

/* --- Button row: remember me + submit --- */
#wpmem_login .button_div {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

/* --- Remember Me checkbox --- */
#wpmem_login #rememberme {
    width: 18px;
    height: 18px;
    accent-color: #ef4030;
    cursor: pointer;
    vertical-align: middle;
}
#wpmem_login label[for="rememberme"] {
    display: inline;
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    color: #6b7280;
    cursor: pointer;
}

/* --- Log In button --- */
#wpmem_login .buttons {
    display: block;
    width: 100%;
    padding: 14px 24px;
    margin-top: 16px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #ffffff;
    background: linear-gradient(135deg, #ef4030 0%, #d63020 100%);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.2s ease;
    box-shadow: 0 2px 8px rgba(239, 64, 48, 0.25);
}
#wpmem_login .buttons:hover {
    background: linear-gradient(135deg, #d63020 0%, #c02818 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(239, 64, 48, 0.35);
}
#wpmem_login .buttons:active {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 1px 4px rgba(239, 64, 48, 0.2);
}

/* --- Forgot password link --- */
#wpmem_login .link-text {
    margin-top: 20px;
    text-align: center;
}
#wpmem_login .link-text-forgot {
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 13px;
    color: #6b7280;
}
#wpmem_login .link-text-forgot a {
    color: #ef4030;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease;
}
#wpmem_login .link-text-forgot a:hover {
    color: #d63020;
    text-decoration: underline;
}

/* --- Mobile responsive (both forms) --- */
@media (max-width: 600px) {
    #wpmem_reg,
    #wpmem_login {
        margin-left: 16px;
        margin-right: 16px;
        padding: 28px 20px 24px;
        border-radius: 10px;
    }
    #wpmem_reg {
        margin-top: 20px;
        margin-bottom: 40px;
    }
    #wpmem_login {
        margin-top: 16px;
        margin-bottom: 40px;
    }
    .wpmem_msg {
        margin-left: 16px;
        margin-right: 16px;
    }
    #wpmem_reg legend,
    #wpmem_login legend {
        font-size: 20px;
        margin-bottom: 20px;
    }
    #wpmem_reg .textbox,
    #wpmem_login .username,
    #wpmem_login .password {
        padding: 14px 14px;
        font-size: 16px; /* prevents iOS zoom */
        min-height: 48px; /* touch-friendly */
    }
    #wpmem_reg .buttons,
    #wpmem_login .buttons {
        padding: 16px 24px;
        font-size: 16px;
        min-height: 52px;
    }
}

/* ============================================================
 * Lost Password / Reset Password form — WooCommerce
 *
 * URL: /my-account/lost-password/ (renamed from ugly slug)
 * DOM: .woocommerce .lost_reset_password
 *   - p.mb-40 (description text)
 *   - input.woocommerce-Input.form-control (username/email)
 *   - button.themeholy-btn (submit)
 *
 * Issue #4423 | 2026-03-08
 * ============================================================ */

/* --- Card container --- */
.woocommerce-lost-password .woocommerce,
.woocommerce-reset-password .woocommerce {
    max-width: 520px;
    margin: 40px auto 60px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 40px 36px 32px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

/* --- Description text --- */
.lost_reset_password p.mb-40:first-of-type {
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #4b5563;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 2px solid #ef4030;
}

/* --- Input field --- */
.lost_reset_password .woocommerce-Input {
    width: 100%;
    padding: 12px 16px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 15px;
    color: #1f2937;
    background-color: #f9fafb;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    box-sizing: border-box;
    height: auto;
}
.lost_reset_password .woocommerce-Input::placeholder {
    color: #9ca3af;
    font-style: italic;
}
.lost_reset_password .woocommerce-Input:hover {
    border-color: #9ca3af;
    background-color: #ffffff;
}
.lost_reset_password .woocommerce-Input:focus {
    border-color: #ef4030;
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(239, 64, 48, 0.12);
}

/* --- Reset button --- */
.lost_reset_password .themeholy-btn,
.lost_reset_password .woocommerce-Button {
    display: block;
    width: 100%;
    padding: 14px 24px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #ffffff !important;
    background: linear-gradient(135deg, #ef4030 0%, #d63020 100%) !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.2s ease;
    box-shadow: 0 2px 8px rgba(239, 64, 48, 0.25);
}
.lost_reset_password .themeholy-btn:hover,
.lost_reset_password .woocommerce-Button:hover {
    background: linear-gradient(135deg, #d63020 0%, #c02818 100%) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(239, 64, 48, 0.35);
}
.lost_reset_password .themeholy-btn:active,
.lost_reset_password .woocommerce-Button:active {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 1px 4px rgba(239, 64, 48, 0.2);
}

/* --- Remove inner row/col layout (not needed inside card) --- */
.woocommerce-lost-password .woocommerce .row,
.woocommerce-reset-password .woocommerce .row {
    margin: 0;
}
.woocommerce-lost-password .woocommerce .col-lg-6,
.woocommerce-reset-password .woocommerce .col-lg-6 {
    max-width: 100%;
    flex: 0 0 100%;
    padding: 0;
}

/* --- Mobile responsive --- */
@media (max-width: 600px) {
    .woocommerce-lost-password .woocommerce,
    .woocommerce-reset-password .woocommerce {
        margin: 20px 16px 40px;
        padding: 28px 20px 24px;
        border-radius: 10px;
    }
    .lost_reset_password .woocommerce-Input {
        padding: 14px 14px;
        font-size: 16px;
        min-height: 48px;
    }
    .lost_reset_password .themeholy-btn,
    .lost_reset_password .woocommerce-Button {
        padding: 16px 24px;
        font-size: 16px;
        min-height: 52px;
    }
}

/* --- Fix: large blank space below footer on /register/ ---
 * The page--content container has no min-height constraint;
 * remove the extra padding that causes the gap.
 * -------------------------------------------------------- */
body.page-id-67025 .page--content {
    padding-bottom: 0;
    margin-bottom: 0;
}

/* ============================================================
 * WooCommerce /my-account/ Login/Register Tabs — Branded UI
 *
 * Harmonize the WooCommerce tabbed login/register form with
 * the Termont branded card design applied to:
 *   - /register/ (#4418) — WP-Members registration
 *   - /log-in/ (#4421)   — WP-Members login
 *   - /my-account/lost-password/ (#4423) — WooCommerce reset
 *
 * DOM: .login-register-wrapper > .tab-btn > ul.login-tab
 *      .login-register-wrapper > .tab-content > .woocommerce-form
 *
 * Issue #4425 | 2026-03-08
 * ============================================================ */

/* --- Card container --- */
.login-register-wrapper {
    max-width: 520px;
    margin: 40px auto 60px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 40px 36px 32px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

/* --- Tab buttons --- */
.login-tab {
    border-bottom: 2px solid #e5e7eb;
    display: flex;
    gap: 0;
    margin-bottom: 28px;
    justify-content: center;
}
.login-tab .nav-item {
    flex: 1;
}
.login-tab .nav-link {
    display: block;
    width: 100%;
    padding: 12px 24px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.login-tab .nav-link:hover {
    color: #ef4030;
    background: rgba(239, 64, 48, 0.04);
}
.login-tab .nav-link.active {
    color: #ffffff;
    background: linear-gradient(135deg, #ef4030 0%, #d63020 100%);
    border-bottom: 3px solid #d63020;
    border-radius: 8px 8px 0 0;
}

/* --- Form inputs --- */
.woocommerce-form-login .form-control,
.woocommerce-form-register .form-control {
    width: 100%;
    padding: 12px 16px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 15px;
    color: #1f2937;
    background-color: #f9fafb;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    box-sizing: border-box;
    height: auto;
}
.woocommerce-form-login .form-control:hover,
.woocommerce-form-register .form-control:hover {
    border-color: #9ca3af;
    background-color: #ffffff;
}
.woocommerce-form-login .form-control:focus,
.woocommerce-form-register .form-control:focus {
    border-color: #ef4030;
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(239, 64, 48, 0.12);
}
.woocommerce-form-login .form-control::placeholder,
.woocommerce-form-register .form-control::placeholder {
    color: #9ca3af;
    font-style: italic;
}

/* --- Form row spacing --- */
.woocommerce-form .form-group {
    margin-bottom: 16px;
}

/* --- Submit buttons (Login / Register) --- */
.woocommerce-form .themeholy-btn,
.login-register-wrapper .themeholy-btn {
    display: block;
    width: 100%;
    padding: 14px 24px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #ffffff !important;
    background: linear-gradient(135deg, #ef4030 0%, #d63020 100%) !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.2s ease;
    box-shadow: 0 2px 8px rgba(239, 64, 48, 0.25);
}
.woocommerce-form .themeholy-btn:hover,
.login-register-wrapper .themeholy-btn:hover {
    background: linear-gradient(135deg, #d63020 0%, #c02818 100%) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(239, 64, 48, 0.35);
}
.woocommerce-form .themeholy-btn:active,
.login-register-wrapper .themeholy-btn:active {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 1px 4px rgba(239, 64, 48, 0.2);
}

/* --- Remember Me checkbox --- */
.woocommerce-form .custom-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0 4px;
}
.woocommerce-form .custom-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #ef4030;
    cursor: pointer;
}
.woocommerce-form .custom-checkbox label {
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #6b7280;
    cursor: pointer;
    margin: 0;
}

/* --- "Forgot Your Password?" link --- */
.woocommerce-form .btn-inline {
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 13px;
    color: #ef4030;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease;
}
.woocommerce-form .btn-inline:hover {
    color: #d63020;
    text-decoration: underline;
}

/* --- Privacy policy text in Register tab --- */
.woocommerce-form-register .woocommerce-privacy-policy-text p {
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 13px;
    line-height: 1.6;
    color: #6b7280;
}
.woocommerce-form-register .woocommerce-privacy-policy-text a {
    color: #ef4030;
    font-weight: 500;
}

/* --- "A password will be sent" notice --- */
.woocommerce-form-register .form-group:not(:has(input)):not(:has(button)):not(:has(.woocommerce-privacy-policy-text)) {
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 13px;
    color: #6b7280;
    font-style: italic;
}

/* --- Mobile responsive --- */
@media (max-width: 600px) {
    .login-register-wrapper {
        margin: 20px 16px 40px;
        padding: 28px 20px 24px;
        border-radius: 10px;
    }
    .login-tab .nav-link {
        padding: 10px 16px;
        font-size: 14px;
    }
    .woocommerce-form-login .form-control,
    .woocommerce-form-register .form-control {
        padding: 14px 14px;
        font-size: 16px; /* prevents iOS zoom */
        min-height: 48px; /* touch-friendly */
    }
    .woocommerce-form .themeholy-btn,
    .login-register-wrapper .themeholy-btn {
        padding: 16px 24px;
        font-size: 16px;
        min-height: 52px;
    }
}

/* --- Remove Bootstrap .col-xl-6 width constraint on /my-account/ form --- */
.login-register-form .col-xl-6,
.login-register-form .col-lg-8 {
    max-width: 100%;
    flex: 0 0 100%;
    padding: 0;
}

/* ============================================================
 * Contextual help messages above Register & Login forms
 *
 * Blue info alert (Elementor-style primary) + context paragraph
 * injected via PHP the_content filter on pages 67025/67029.
 *
 * Issue #4427 | 2026-03-08
 * ============================================================ */

/* --- Blue alert box --- */
.dms-form-context-alert {
    max-width: 520px;
    margin: 30px auto 0;
    padding: 16px 20px 16px 48px;
    background-color: #e8f4fd;
    border: 1px solid #b8daff;
    border-left: 4px solid #2196F3;
    border-radius: 8px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #1e3a5f;
    position: relative;
}
.dms-form-context-alert::before {
    content: "\f05a"; /* Font Awesome info-circle */
    font-family: 'Font Awesome 6 Pro', 'Font Awesome 6 Free', 'FontAwesome';
    font-weight: 900;
    position: absolute;
    left: 16px;
    top: 17px;
    font-size: 18px;
    color: #2196F3;
}
.dms-form-context-alert strong {
    color: #1565c0;
    font-weight: 600;
}

/* --- Context paragraph below alert --- */
.dms-form-context-info {
    max-width: 520px;
    margin: 16px auto 0;
    padding: 0 4px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 14px;
    line-height: 1.7;
    color: #4b5563;
}
.dms-form-context-info a {
    color: #ef4030;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease;
}
.dms-form-context-info a:hover {
    color: #d63020;
    text-decoration: underline;
}
.dms-form-context-info strong {
    color: #1f2937;
    font-weight: 600;
}

/* --- Mobile responsive --- */
@media (max-width: 600px) {
    .dms-form-context-alert {
        margin: 20px 16px 0;
        padding: 14px 16px 14px 42px;
        font-size: 13px;
    }
    .dms-form-context-alert::before {
        left: 14px;
        top: 15px;
        font-size: 16px;
    }
    .dms-form-context-info {
        margin: 12px 16px 0;
        font-size: 13px;
    }
}

/* ==========================================================================
   WP-Members Post-Registration Login Form — Issue #4431
   Styles the login form shown after successful registration on /register/
   ========================================================================== */

/* --- Success message (green alert) --- */
.wpmem_msg {
    max-width: 520px;
    margin: 30px auto 0;
    padding: 16px 20px 16px 48px;
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    border-left: 4px solid #28a745;
    border-radius: 8px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #155724;
    position: relative;
}
.wpmem_msg::before {
    content: "\f058"; /* Font Awesome check-circle */
    font-family: 'Font Awesome 6 Pro', 'Font Awesome 6 Free', 'FontAwesome';
    font-weight: 900;
    position: absolute;
    left: 16px;
    top: 17px;
    font-size: 18px;
    color: #28a745;
}

/* --- Login form container --- */
#wpmem_login {
    max-width: 520px;
    margin: 24px auto 40px;
    padding: 0;
}

/* --- Fieldset & legend --- */
#wpmem_login_form fieldset {
    border: none;
    padding: 0;
    margin: 0;
}
#wpmem_login_form legend {
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 20px;
    padding: 0;
    width: 100%;
    text-align: center;
}

/* --- Labels --- */
#wpmem_login_form label {
    display: block;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #374151;
    margin-bottom: 6px;
    margin-top: 16px;
}

/* --- Text inputs --- */
#wpmem_login_form .div_text input[type="text"],
#wpmem_login_form .div_text input[type="password"] {
    width: 100%;
    padding: 12px 16px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 15px;
    color: #1f2937;
    background-color: #f9fafb;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    box-sizing: border-box;
}
#wpmem_login_form .div_text input:focus {
    border-color: #ef4030;
    box-shadow: 0 0 0 3px rgba(239, 64, 48, 0.12);
    background-color: #ffffff;
}

/* --- Remember me + submit row --- */
#wpmem_login_form .button_div {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    flex-wrap: wrap;
}
#wpmem_login_form .button_div label[for="rememberme"] {
    margin: 0;
    font-size: 13px;
    color: #6b7280;
    font-weight: 400;
}

/* --- Submit button --- */
#wpmem_login_form input[type="submit"] {
    display: inline-block;
    padding: 12px 32px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #ffffff;
    background: linear-gradient(135deg, #ef4030 0%, #d63020 100%);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
    margin-left: auto;
}
#wpmem_login_form input[type="submit"]:hover {
    background: linear-gradient(135deg, #d63020 0%, #b82818 100%);
    box-shadow: 0 4px 12px rgba(239, 64, 48, 0.3);
    transform: translateY(-1px);
}

/* --- Forgot password link --- */
#wpmem_login_form .link-text {
    margin-top: 16px;
    text-align: center;
}
#wpmem_login_form .link-text-forgot {
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 13px;
    color: #6b7280;
}
#wpmem_login_form .link-text-forgot a {
    color: #ef4030;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease;
}
#wpmem_login_form .link-text-forgot a:hover {
    color: #d63020;
    text-decoration: underline;
}

/* --- Mobile responsive --- */
@media (max-width: 600px) {
    .wpmem_msg {
        margin: 20px 16px 0;
        padding: 14px 16px 14px 42px;
        font-size: 13px;
    }
    #wpmem_login {
        margin: 16px 16px 32px;
    }
    #wpmem_login_form .button_div {
        flex-direction: column;
        align-items: stretch;
    }
    #wpmem_login_form input[type="submit"] {
        margin-left: 0;
        width: 100%;
        text-align: center;
    }
}

/* ============================================================
 * Accordion expanded title — white text on blue background
 *
 * Parent theme sets color: var(--theme-color) (red) on expanded
 * accordion buttons. The blue accordion background makes red
 * text hard to read. Override to white for readability.
 *
 * Affected: FAQ, Contact sidebar, any .accordion-card usage.
 *
 * Issue #4436 | 2026-03-08
 * ============================================================ */
.accordion-card .accordion-button:not(.collapsed) {
    color: rgb(255 255 255);
}

/* ============================================================
 * WooCommerce My Account — Orders Table Branding
 *
 * Style the orders table at /my-account/orders/ with Termont
 * design system: dark header, status badges, branded buttons.
 *
 * Issue #4783 | 2026-03-14
 * ============================================================ */

/* --- Table container --- */
.woocommerce-MyAccount-orders {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    border: 1px solid #e5e7eb;
}

/* --- Table header --- */
.woocommerce-orders-table thead {
    background: #1c3553;
}
.woocommerce-orders-table thead th {
    color: #fff !important;
    padding: 14px 16px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: none;
}

/* --- Table body rows --- */
.woocommerce-orders-table tbody tr {
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.15s ease;
}
.woocommerce-orders-table tbody tr:hover {
    background-color: #f9fafb;
}
.woocommerce-orders-table tbody td,
.woocommerce-orders-table tbody th {
    padding: 12px 16px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 14px;
    color: #374151;
    vertical-align: middle;
}

/* --- Order number link --- */
.woocommerce-orders-table__cell-order-number a {
    color: #1c3553;
    font-weight: 600;
    text-decoration: none;
}
.woocommerce-orders-table__cell-order-number a:hover {
    color: #ef4030;
    text-decoration: underline;
}

/* --- Action buttons --- */
.woocommerce-orders-table .woocommerce-button.button {
    display: inline-block;
    padding: 6px 14px;
    margin: 2px 3px;
    border-radius: 6px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    text-decoration: none;
    transition: all 0.15s ease;
    border: 1px solid transparent;
}

/* Pay button — green */
.woocommerce-orders-table .woocommerce-button.pay {
    background: #198754;
    color: #fff !important;
    border-color: #198754;
}
.woocommerce-orders-table .woocommerce-button.pay:hover {
    background: #157347;
    box-shadow: 0 2px 8px rgba(25, 135, 84, 0.3);
}

/* View button — blue */
.woocommerce-orders-table .woocommerce-button.view {
    background: #0d6efd;
    color: #fff !important;
    border-color: #0d6efd;
}
.woocommerce-orders-table .woocommerce-button.view:hover {
    background: #0b5ed7;
    box-shadow: 0 2px 8px rgba(13, 110, 253, 0.3);
}

/* Cancel button — outline gray */
.woocommerce-orders-table .woocommerce-button.cancel {
    background: transparent;
    color: #6b7280 !important;
    border-color: #d1d5db;
}
.woocommerce-orders-table .woocommerce-button.cancel:hover {
    background: #f3f4f6;
    color: #dc3545 !important;
    border-color: #dc3545;
}

/* Invoice/Proforma button — Termont red */
.woocommerce-orders-table .woocommerce-button.invoice {
    background: linear-gradient(135deg, #ef4030 0%, #d63020 100%);
    color: #fff !important;
    border-color: #ef4030;
}
.woocommerce-orders-table .woocommerce-button.invoice:hover {
    background: linear-gradient(135deg, #d63020 0%, #c02818 100%);
    box-shadow: 0 2px 8px rgba(239, 64, 48, 0.3);
}

/* --- Mobile responsive --- */
@media (max-width: 768px) {
    .woocommerce-orders-table .woocommerce-button.button {
        display: block;
        width: 100%;
        margin: 4px 0;
        text-align: center;
        padding: 8px 16px;
    }
}

/* ============================================================
 * Checkout / Payment Page — UX Improvements
 *
 * 1. Hide Moneris "Securely Save to Account" checkbox (pre-checked via JS)
 * 2. Style "Place order" button — full width, Termont branded
 *
 * Issue #4785 | 2026-03-14
 * ============================================================ */

/* --- Hide Moneris tokenize checkbox --- */
p.form-row:has(#wc-moneris-tokenize-payment-method),
p.form-row:has(.js-wc-moneris-tokenize-payment-method) {
    display: none !important;
}

/* --- Place Order button — full width, green (positive action) --- */
#place_order {
    width: 100%;
    padding: 18px 32px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #fff !important;
    background: linear-gradient(135deg, #198754 0%, #157347 100%) !important;
    border: none !important;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 4px 16px rgba(25, 135, 84, 0.3);
    margin-top: 20px;
}
#place_order:hover {
    background: linear-gradient(135deg, #157347 0%, #0f5132 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(25, 135, 84, 0.4);
}
#place_order:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(25, 135, 84, 0.2);
}

/* ============================================================
 * WooCommerce Success Message — Green (not theme red)
 * Issue #4787 | 2026-03-14
 * ============================================================ */
.woocommerce-notices-wrapper .woocommerce-message {
    background-color: #198754 !important;
    color: #fff !important;
    border-radius: 8px;
    padding: 14px 20px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 14px;
    border: none !important;
    box-shadow: 0 2px 8px rgba(25, 135, 84, 0.2);
}
.woocommerce-notices-wrapper .woocommerce-message::before {
    color: #fff !important;
}

/* ============================================================
 * WooCommerce Info Notice — Blue (not red/error)
 *
 * The .woocommerce-info class (used for "No products found",
 * empty cart, etc.) inherits a red/error style from the parent
 * theme. This is confusing — red = error, but this is just
 * informational. Override to Termont blue (matching Bootstrap
 * info color #0d6efd).
 *
 * Issue #4987 | 2026-03-16
 * ============================================================ */
.woocommerce-info {
    background-color: #6EC1E4 !important;
    color: #fff !important;
    border-top-color: #5aa8cc !important;
    border-radius: 8px;
    padding: 14px 20px 14px 50px !important;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 14px;
    border: none !important;
    box-shadow: 0 2px 8px rgba(110, 193, 228, 0.3);
}
.woocommerce-info::before {
    color: #fff !important;
}
.woocommerce-info a {
    color: #fff !important;
    text-decoration: underline;
    font-weight: 600;
}
.woocommerce-info a:hover {
    opacity: 0.85;
}

/* ============================================================
 * My Account — Address Cards
 * /my-account/edit-address/
 * Issue #4787 | 2026-03-14
 * ============================================================ */
.woocommerce-Addresses .woocommerce-Address {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.woocommerce-Address-title h3 {
    color: #1c3553;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #ef4030;
}
.woocommerce-Address address {
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 14px;
    line-height: 1.8;
    color: #374151;
    font-style: normal;
}
.woocommerce-Address a.edit {
    display: inline-block;
    margin-top: 16px;
    padding: 8px 20px;
    background: #ef4030;
    color: #fff !important;
    border-radius: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    text-decoration: none;
    transition: all 0.15s ease;
}
.woocommerce-Address a.edit:hover {
    background: #d63020;
    box-shadow: 0 2px 8px rgba(239, 64, 48, 0.3);
}

/* ============================================================
 * My Account — Payment Methods Table
 * /my-account/payment-methods/
 * Issue #4787 | 2026-03-14
 * ============================================================ */
.account-payment-methods-table {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    border: 1px solid #e5e7eb;
}
.account-payment-methods-table thead {
    background: #1c3553;
}
.account-payment-methods-table thead th {
    color: #fff !important;
    padding: 14px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: none;
}
.account-payment-methods-table tbody td {
    padding: 14px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #374151;
    vertical-align: middle;
    border-bottom: 1px solid #f0f0f0;
}
.account-payment-methods-table .button {
    display: inline-block;
    padding: 5px 12px;
    margin: 2px;
    border-radius: 5px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.15s ease;
}
.account-payment-methods-table .button.edit {
    background: #0d6efd;
    color: #fff !important;
}
.account-payment-methods-table .button.edit:hover {
    background: #0b5ed7;
}
.account-payment-methods-table .button.save {
    background: #198754;
    color: #fff !important;
}
.account-payment-methods-table .button.save:hover {
    background: #157347;
}
.account-payment-methods-table .button.delete {
    background: transparent;
    color: #dc3545 !important;
    border: 1px solid #dc3545;
}
.account-payment-methods-table .button.delete:hover {
    background: #dc3545;
    color: #fff !important;
}
mark.default {
    background: #198754 !important;
    color: #fff !important;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}
.woocommerce-MyAccount-content > a.button[href*="add-payment-method"] {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 24px;
    background: #ef4030;
    color: #fff !important;
    border-radius: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.15s ease;
}
.woocommerce-MyAccount-content > a.button[href*="add-payment-method"]:hover {
    background: #d63020;
    box-shadow: 0 2px 8px rgba(239, 64, 48, 0.3);
}

/* ============================================================
 * My Account — Edit Account Form
 * /my-account/edit-account/
 * Issue #4787 | 2026-03-14
 * ============================================================ */
.woocommerce-EditAccountForm .form-row input[type="text"],
.woocommerce-EditAccountForm .form-row input[type="email"],
.woocommerce-EditAccountForm .form-row input[type="password"],
.woocommerce-EditAccountForm .form-control {
    width: 100%;
    padding: 12px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: #1f2937;
    background-color: #f9fafb;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
    height: auto;
}
.woocommerce-EditAccountForm .form-row input:focus,
.woocommerce-EditAccountForm .form-control:focus {
    border-color: #ef4030;
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(239, 64, 48, 0.12);
}
.woocommerce-EditAccountForm .woocommerce-Button,
.woocommerce-EditAccountForm button[name="save_account_details"] {
    width: 100%;
    padding: 14px 24px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #fff !important;
    background: linear-gradient(135deg, #ef4030 0%, #d63020 100%) !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer;
    transition: all 0.15s ease;
    box-shadow: 0 2px 8px rgba(239, 64, 48, 0.25);
    margin-top: 16px;
}
.woocommerce-EditAccountForm .woocommerce-Button:hover,
.woocommerce-EditAccountForm button[name="save_account_details"]:hover {
    background: linear-gradient(135deg, #d63020 0%, #b82818 100%) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(239, 64, 48, 0.35);
}
fieldset legend {
    color: #1c3553;
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 700;
    padding-bottom: 12px;
    border-bottom: 2px solid #ef4030;
    margin-bottom: 20px;
}

/* ============================================================
 * My Account — Edit Address Form (billing/shipping)
 * Issue #4789 | 2026-03-14
 * ============================================================ */
.woocommerce-address-fields h3,
.woocommerce-MyAccount-content > form > h3 {
    color: #1c3553;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 22px;
    font-weight: 700;
    padding-bottom: 12px;
    border-bottom: 2px solid #ef4030;
    margin-bottom: 24px;
}
.woocommerce-address-fields .form-control,
.woocommerce-address-fields .input-text {
    padding: 12px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: #1f2937;
    background-color: #f9fafb;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    height: auto;
}
.woocommerce-address-fields .form-control:focus,
.woocommerce-address-fields .input-text:focus {
    border-color: #ef4030;
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(239, 64, 48, 0.12);
}
.woocommerce-address-fields .select2-selection--single {
    border: 1.5px solid #d1d5db !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
}
.woocommerce-address-fields .form-row {
    margin-bottom: 12px;
}
.woocommerce-address-fields button[name="save_address"],
.woocommerce-address-fields .themeholy-btn {
    width: 100%;
    padding: 16px 24px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #fff !important;
    background: linear-gradient(135deg, #ef4030 0%, #d63020 100%) !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(239, 64, 48, 0.25);
    margin-top: 16px;
    transition: all 0.15s ease;
}
.woocommerce-address-fields button[name="save_address"]:hover,
.woocommerce-address-fields .themeholy-btn:hover {
    background: linear-gradient(135deg, #d63020 0%, #b82818 100%) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(239, 64, 48, 0.35);
}

/* ============================================================
 * Order Pay / Verification Page — CSS Branding
 * /verification/order-pay/{id}/?key=wc_order_XXX
 * Issue #4792 | 2026-03-14
 * ============================================================ */

/* --- Order details card --- */
ul.order_details {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    list-style: none;
    padding: 0;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    margin-bottom: 24px;
    overflow: hidden;
}
ul.order_details li {
    flex: 1;
    min-width: 140px;
    padding: 16px 20px;
    font-family: 'Inter', 'Roboto', sans-serif;
    font-size: 13px;
    color: #6b7280;
    border-right: 1px solid #f0f0f0;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
ul.order_details li:first-child {
    padding-left: 28px;
}
ul.order_details li:last-child {
    border-right: none;
}
ul.order_details li strong {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #1c3553;
    margin-top: 6px;
    text-transform: none;
    letter-spacing: 0;
}

/* --- Payment box --- */
#payment .payment_box {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 16px;
}
#payment .payment_box > p:first-child {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #374151;
    margin-bottom: 16px;
}

/* --- Manage Payment Methods link --- */
.sv-wc-payment-gateway-payment-form-manage-payment-methods {
    display: inline-block;
    padding: 6px 14px;
    background: #0d6efd;
    color: #fff !important;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    margin-bottom: 16px;
}
.sv-wc-payment-gateway-payment-form-manage-payment-methods:hover {
    background: #0b5ed7;
}

/* --- Saved payment method label --- */
.sv-wc-payment-gateway-payment-form-saved-payment-method {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #374151;
    cursor: pointer;
}
.sv-wc-payment-gateway-payment-form-saved-payment-method .nickname {
    font-weight: 600;
    color: #1c3553;
    margin-right: 8px;
}

/* --- Radio buttons styling --- */
#payment input[type="radio"] {
    accent-color: #ef4030;
    width: 18px;
    height: 18px;
    vertical-align: middle;
}

/* --- CSC field --- */
#wc-moneris-csc {
    padding: 12px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    max-width: 200px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
#wc-moneris-csc:focus {
    border-color: #ef4030;
    box-shadow: 0 0 0 3px rgba(239, 64, 48, 0.12);
    outline: none;
}

/* --- Mobile responsive --- */
@media (max-width: 768px) {
    ul.order_details {
        flex-direction: column;
    }
    ul.order_details li {
        border-right: none;
        border-bottom: 1px solid #f0f0f0;
    }
    ul.order_details li:last-child {
        border-bottom: none;
    }
}

/* ============================================================
 * Hide Downloads link in My Account sidebar — Issue #4799
 * ============================================================ */
.woocommerce-MyAccount-navigation-link--downloads {
    display: none !important;
}

/* ============================================================
 * Migrated from "Simple Custom CSS and JS" plugin (post 1074)
 * Issue #4801 | 2026-03-14
 * ============================================================ */
.for-dev {
    color: #FF9900;
    font-style: italic;
}
#top-header-message {
    margin-block-end: 0;
}
#top-header-message .elementor-alert-title {
    text-align: center;
}

/* ============================================================
 * Override Logistik theme excessive section spacing
 * Parent theme: --section-space: 120px (too much whitespace)
 * Issue #4807 | 2026-03-14
 * ============================================================ */
:root {
    --section-space: 60px;
    --section-space-mobile: 40px;
}
.space,
.space-top {
    padding-top: 60px !important;
}
.space-bottom,
.space {
    padding-bottom: 60px !important;
}
@media (max-width: 991px) {
    .space,
    .space-top {
        padding-top: 40px !important;
    }
    .space-bottom,
    .space {
        padding-bottom: 40px !important;
    }
}
/* Fix double padding: .space-top (60px) + Elementor section (60px) = 120px visible
 * Zero the first Elementor top-section padding when inside a .space-top wrapper
 * DOM path: .space-top > .container > .row > .col > .post > .page--content > .elementor > section */
.space-top .elementor > .elementor-top-section:first-child {
    padding-top: 0 !important;
}

/* ============================================================
 * Moneris payment form — radio button fix
 * Issue #4811 | 2026-03-15
 * ============================================================ */
/* Fix: Moneris radio visual state — both radios appear "checked" (red)
 * Root cause: parent theme uses `input:checked ~ label::before` with `~` (general sibling).
 * The `~` combinator matches ALL subsequent labels, so the first checked radio
 * bleeds its red ::before to the "Use a new card" label too.
 * Fix: Use adjacent sibling `+` on a JS-added class instead.
 * The JS in checkout-ux-fixes.php adds .dms-radio-checked to the label of the checked radio. */
.form-row input[name="wc-moneris-payment-token"] + label {
    display: inline-block !important;
    position: relative !important;
    padding-left: 30px !important;
}
.form-row input[name="wc-moneris-payment-token"] + label::before {
    background-color: var(--white-color, #fff) !important;
    border: 2px solid #adb5bd !important;
}
.form-row input[name="wc-moneris-payment-token"] + label.dms-radio-checked::before {
    background-color: var(--theme-color, #ef4030) !important;
    border-color: var(--theme-color, #ef4030) !important;
}

/* ============================================================
 * WooCommerce View Order + My Account Dashboard — Branding
 * Issue #4829 | 2026-03-15
 * ============================================================ */

/* --- Order status header marks --- */
.woocommerce-MyAccount-content mark {
    background: none;
    padding: 0;
}
.woocommerce-MyAccount-content mark.order-number {
    color: #e8572a;
    font-weight: 700;
}
.woocommerce-MyAccount-content mark.order-date {
    color: #333;
    font-weight: 600;
}
.woocommerce-MyAccount-content mark.order-status {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 0.9em;
    color: #fff;
    background: #dc3545;
}
/* Status color variants */
.woocommerce-MyAccount-content mark.order-status[data-status="completed"],
.woocommerce-MyAccount-content mark.order-status[data-status="processing"] {
    background: #198754;
}
.woocommerce-MyAccount-content mark.order-status[data-status="on-hold"],
.woocommerce-MyAccount-content mark.order-status[data-status="pending"] {
    background: #ffc107;
    color: #333;
}

/* --- Order details table --- */
.woocommerce-table--order-details {
    border: 1px solid #dee2e6 !important;
    border-radius: 8px !important;
    overflow: hidden;
    border-collapse: separate !important;
    border-spacing: 0;
}
.woocommerce-table--order-details thead th {
    background: #2c3e50 !important;
    color: #fff !important;
    padding: 12px 16px !important;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
    border: none !important;
}
.woocommerce-table--order-details tbody td {
    padding: 14px 16px !important;
    border-bottom: 1px solid #eee !important;
    vertical-align: middle;
}
.woocommerce-table--order-details tbody td.product-name {
    font-weight: 600;
    color: #333;
}
.woocommerce-table--order-details tbody td.product-total {
    font-weight: 700;
    text-align: right;
}
.woocommerce-table--order-details tfoot th,
.woocommerce-table--order-details tfoot td {
    padding: 10px 16px !important;
    border-top: 1px solid #dee2e6 !important;
}
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
    font-weight: 700;
    font-size: 1.05em;
}

/* --- Order action buttons (Pay / Cancel) --- */
.order-actions-button.pay {
    background: linear-gradient(135deg, #198754 0%, #157347 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
    margin-right: 8px !important;
    text-decoration: none !important;
    transition: all 0.2s ease;
}
.order-actions-button.pay:hover {
    background: linear-gradient(135deg, #157347 0%, #0f5132 100%) !important;
    transform: translateY(-1px);
}
.order-actions-button.cancel {
    background: #fff !important;
    color: #6c757d !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 6px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease;
}
.order-actions-button.cancel:hover {
    background: #f8f9fa !important;
    color: #dc3545 !important;
    border-color: #dc3545 !important;
}

/* --- Order details title --- */
.woocommerce-order-details__title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #333;
    margin-bottom: 16px !important;
    padding-bottom: 8px;
    border-bottom: 2px solid #e8572a;
    display: inline-block;
}

/* --- Billing address card --- */
.woocommerce-column--billing-address,
.woocommerce-column--shipping-address {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 20px !important;
    margin-top: 16px;
}
.woocommerce-column__title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #333;
    margin-bottom: 12px !important;
}
.woocommerce-column--billing-address address,
.woocommerce-column--shipping-address address {
    font-style: normal;
    line-height: 1.8;
    color: #555;
}
.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
    margin-top: 8px !important;
    font-weight: 600;
    color: #333;
}

/* --- My Account Dashboard welcome text --- */
.woocommerce-MyAccount-content > p:first-of-type {
    font-size: 15px;
    line-height: 1.6;
    color: #555;
}
.woocommerce-MyAccount-content > p:first-of-type strong {
    color: #e8572a;
}
.woocommerce-MyAccount-content > p a {
    color: #e8572a;
    font-weight: 600;
    text-decoration: none;
}
.woocommerce-MyAccount-content > p a:hover {
    text-decoration: underline;
}

/* --- Issue #7663: hide legacy container-icon-1.png decoration across 480 pages --- */
img[src*="container-icon-1"],
img[alt*="container icon 1"] {
    display: none !important;
}

/* --- Issue #8160: restore Gravity Forms checkboxes visible (Jody Mitiche 2026-04-20) ---
 * Parent theme (logistik) globally hides native checkboxes/radios via:
 *   input[type="checkbox"] { visibility:hidden; opacity:0; width:0; height:0; display:none; }
 * ...AND provides custom visuals via sibling selector:
 *   input[type="checkbox"]:checked ~ label:before (orange 18×18 square with ✓)
 *   input[type="radio"]:checked ~ label::before (orange 20×20 circle)
 *
 * Problem: `display:none` breaks the `:checked ~ label::before` selector in some
 * Gravity Forms render paths → the orange visual never appears → Jody saw nothing.
 *
 * Fix (Option A): override ONLY display:none inside .gform_wrapper — keep
 * visibility:hidden/opacity:0/0×0 so native stays invisible, but the element
 * stays in the layout tree so the sibling `:checked ~ label::before` matches
 * and the parent theme's orange visual renders. Native keeps submitting via
 * form submission + toggles via label `for="…"` click.
 * Covers EN (/oversized-cargo-management/) AND FR (/fr/formulaire-de-devis-hors-gabarit/).
 */
.gform_wrapper input[type="checkbox"],
.gform_wrapper input[type="radio"],
.gfield--type-checkbox input[type="checkbox"],
.gfield--type-consent input[type="checkbox"],
.gfield--type-radio input[type="radio"],
.gchoice input[type="checkbox"],
.gchoice input[type="radio"] {
    display: inline-block !important;
}

/* Reinforce the unchecked visual — Gravity Forms' theme framework
 * (gform-theme--foundation/framework/orbital) resets border-width:0 on
 * label::before, hiding the parent theme's outline. Also --border-color
 * (#E0E0E0) is too pale. Force a visible 1px grey border so users see an
 * empty box before ticking it. Verified live via computed-style probe.
 */
.gform_wrapper input[type="checkbox"] ~ label:before,
.gfield--type-checkbox input[type="checkbox"] ~ label:before,
.gfield--type-consent input[type="checkbox"] ~ label:before,
.gchoice input[type="checkbox"] ~ label:before {
    border: 1px solid #8B929C !important;
}
