/*
Theme Name: GRIP-theme
Theme URI: https://gripforex.com
Author: GRIP System Architect
Description: Institutional Grade SaaS Premium Theme for GripForex. Zero DB Dependency.
Version: 1.0.0
Text Domain: grip-theme
*/

/* ==========================================================================
   1. MASTER PREMIUM OVERRIDE (SAAS INSTITUTIONAL GRADE)
   ========================================================================== */
:root {
    --bg-dark: #0f172a;
    --bg-panel: #1e293b;
    --text-main: #f8fafc;
    --text-muted: #94a3b8;
    --accent-gold: #d4af37;
    --accent-red: #ef4444;
    --border-thin: 1px solid #334155;
}

body, .fx-main-wrapper {
    background-color: var(--bg-dark) !important;
    color: var(--text-main) !important;
    font-family: 'Inter', -apple-system, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    margin: 0; padding: 0;
}

a { text-decoration: none; transition: color 0.3s ease; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* 2. TYPOGRAPHY & HEADINGS */
h1, h2, h3, h4, .fx-hero-title, .fx-section-heading {
    color: var(--text-main) !important;
    letter-spacing: -1px !important;
    font-weight: 800 !important;
}

/* 3. GRID SYSTEM (4 Cột Bọc Thép) */
.fx-course-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-bottom: 60px;
}
@media (max-width: 1200px) { .fx-course-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 992px) { .fx-course-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 576px) { .fx-course-grid { grid-template-columns: 1fr; } }

/* 4. BENTO UI CARDS (Ép cân bằng tuyệt đối) */
.fx-course-card, .fx-insight-card, .fx-bento-card {
    background: var(--bg-panel) !important;
    border: var(--border-thin) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.5) !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    overflow: hidden;
}

.fx-course-card:hover, .fx-insight-card:hover {
    transform: translateY(-8px) !important;
    border-color: var(--accent-gold) !important;
    box-shadow: 0 20px 40px -10px rgba(212, 175, 55, 0.15) !important;
}

.fx-card-link { display: flex !important; flex-direction: column !important; height: 100% !important; flex-grow: 1 !important; }
.fx-course-content { display: flex !important; flex-direction: column !important; flex-grow: 1 !important; padding: 20px; }
.fx-course-footer { margin-top: auto !important; padding-top: 20px !important; display: flex; justify-content: space-between; align-items: center; border-top: 1px dashed #334155; }

/* Hình ảnh / Placeholder */
.fx-course-placeholder-pro, .fx-course-img {
    width: 100% !important;
    height: 180px !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
    background: #0f172a;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
}

/* 5. BUTTONS & BADGES */
.fx-course-price { font-family: 'JetBrains Mono', monospace !important; font-size: 20px !important; font-weight: bold; color: var(--text-main) !important; }
.fx-course-name { font-size: 17px !important; font-weight: 700 !important; line-height: 1.4 !important; color: var(--text-main) !important; margin: 10px 0; }

.fx-btn-cart, .add_to_cart_button {
    background: var(--accent-gold) !important;
    color: #000000 !important;
    border: none !important;
    border-radius: 6px !important;
    font-weight: 800 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 10px 20px !important;
    transition: all 0.3s ease !important;
    cursor: pointer;
}
.fx-btn-cart:hover { background: var(--text-main) !important; transform: scale(1.05); }

.fx-course-tag {
    background: rgba(212, 175, 55, 0.1) !important;
    color: var(--accent-gold) !important;
    border: 1px solid rgba(212, 175, 55, 0.3) !important;
    padding: 4px 12px !important;
    border-radius: 50px !important;
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    display: inline-block;
    font-weight: bold;
    text-transform: uppercase;
}

/* ==========================================================================
   6. ACCOUNT DASHBOARD (COMMAND CENTER UI)
   ========================================================================== */
.woocommerce-account .woocommerce {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    max-width: 1200px;
    margin: 60px auto 100px;
}

/* Sidebar Điều Hướng Mới */
.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 280px;
    flex-shrink: 0;
    background: var(--bg-panel);
    border: 1px solid #334155;
    border-radius: 12px;
    padding: 15px 0;
    box-shadow: 0 15px 30px -10px rgba(0,0,0,0.5);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { border-bottom: 1px solid #1e293b; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child { border-bottom: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block; padding: 16px 25px; color: #94a3b8; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s ease; border-left: 3px solid transparent; text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: rgba(212, 175, 55, 0.05); color: var(--accent-gold); border-left-color: var(--accent-gold);
}

/* Khung Nội Dung Chính */
.woocommerce-account .woocommerce-MyAccount-content {
    flex-grow: 1; width: auto;
    background: var(--bg-panel); border: 1px solid #334155; border-radius: 12px;
    padding: 40px 50px; box-shadow: 0 15px 30px -10px rgba(0,0,0,0.5); color: #cbd5e1; line-height: 1.8;
}
.woocommerce-account .woocommerce-MyAccount-content h3 { color: #fff; font-size: 24px; margin-top: 0; border-bottom: 1px solid #1e293b; padding-bottom: 20px; margin-bottom: 30px; letter-spacing: -0.5px; }
.woocommerce-account .woocommerce-MyAccount-content mark { background: transparent; color: var(--accent-gold); font-weight: bold; }
.woocommerce-account .woocommerce-MyAccount-content a { color: var(--accent-gold); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-content a:hover { text-decoration: underline; }

/* Bảng Dữ Liệu Lịch Sử Giao Dịch & Tải Về */
.woocommerce-account table.shop_table { width: 100%; border-collapse: collapse; border: 1px solid #334155; border-radius: 8px; overflow: hidden; margin-bottom: 30px; }
.woocommerce-account table.shop_table th { background: #0f172a; color: #fff; padding: 18px; text-align: left; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; border-bottom: 1px solid #334155; }
.woocommerce-account table.shop_table td { padding: 18px; border-bottom: 1px solid #1e293b; color: #94a3b8; font-size: 14px; }
.woocommerce-account table.shop_table td.woocommerce-orders-table__cell-order-actions a,
.woocommerce-account table.shop_table td.download-file a {
    background: rgba(212, 175, 55, 0.1); color: var(--accent-gold); padding: 8px 16px; border-radius: 4px; text-decoration: none; font-weight: 800; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s ease; border: 1px solid rgba(212, 175, 55, 0.3); display: inline-block;
}
.woocommerce-account table.shop_table td.woocommerce-orders-table__cell-order-actions a:hover,
.woocommerce-account table.shop_table td.download-file a:hover { background: var(--accent-gold); color: #000; }

/* Định dạng Form Đăng Nhập & Chỉnh Sửa Thông Tin */
.woocommerce-account .woocommerce-MyAccount-content form { display: flex; flex-direction: column; gap: 20px; }
.woocommerce-account .woocommerce-MyAccount-content label { display: block; margin-bottom: 8px; color: #cbd5e1; font-weight: 600; font-size: 14px; }
.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="tel"] {
    width: 100%; background: #0f172a; border: 1px solid #334155; color: #fff; padding: 15px; border-radius: 6px; outline: none; font-size: 15px; transition: border-color 0.3s ease; box-sizing: border-box;
}
.woocommerce-account .woocommerce-MyAccount-content input:focus { border-color: var(--accent-gold); box-shadow: 0 0 10px rgba(212,175,55,0.1); }
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"] {
    background: var(--accent-gold); color: #000; font-weight: 800; padding: 16px 30px; border: none; border-radius: 6px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; transition: all 0.3s ease; display: inline-block; width: auto; align-self: flex-start; margin-top: 10px;
}
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover { background: #fff; transform: translateY(-2px); box-shadow: 0 10px 20px -5px rgba(212,175,55,0.4); }

/* Khối thông báo Hệ thống */
.woocommerce-account .woocommerce-Message, .woocommerce-account .woocommerce-message { background: rgba(16, 185, 129, 0.1); color: #10b981; border: 1px solid rgba(16, 185, 129, 0.3); padding: 15px 25px; border-radius: 6px; margin-bottom: 30px; font-weight: 600; }
.woocommerce-account .woocommerce-error { background: rgba(239, 68, 68, 0.1); color: #ef4444; border: 1px solid rgba(239, 68, 68, 0.3); padding: 15px 25px; border-radius: 6px; margin-bottom: 30px; list-style: none; font-weight: 600; }

/* Responsive Dashboard */
@media (max-width: 992px) {
    .woocommerce-account .woocommerce { flex-direction: column; gap: 30px; padding: 0 20px; }
    .woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; }
    .woocommerce-account .woocommerce-MyAccount-content { padding: 30px 20px; }
}

/* ==========================================================================
   7. CHỐNG XUNG ĐỘT WOOCOMMERCE LÕI (NUCLEAR OVERRIDE)
   ========================================================================== */

/* Hủy diệt lệnh Float (Trôi nổi) rác của WooCommerce trên toàn hệ thống */
.woocommerce::before, .woocommerce::after, 
.woocommerce-checkout form.checkout::before, .woocommerce-checkout form.checkout::after,
#customer_login::before, #customer_login::after { 
    display: none !important; 
}
.woocommerce, .woocommerce-page { background-color: transparent !important; color: #cbd5e1 !important; }

/* --------------------------------------------------------------------------
   A. CỔNG ĐĂNG NHẬP / ĐĂNG KÝ (MY ACCOUNT)
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce { display: flex !important; justify-content: center !important; max-width: 1200px !important; margin: 60px auto 100px !important; }

#customer_login { 
    display: flex !important; flex-wrap: nowrap !important; justify-content: space-between !important; gap: 40px !important; 
    background: var(--bg-panel) !important; border: 1px solid #334155 !important; padding: 50px !important; 
    border-radius: 12px !important; box-shadow: 0 20px 40px -10px rgba(0,0,0,0.5) !important; width: 100% !important; max-width: 1000px !important; 
}
#customer_login h2 { font-size: 24px !important; color: #fff !important; border-bottom: 1px solid #1e293b !important; padding-bottom: 15px !important; margin-top: 0 !important; margin-bottom: 25px !important; width: 100% !important; }

/* Ép cứng 2 cột Login & Register bằng nhau, cấm rớt dòng */
#customer_login .u-column1, #customer_login .u-column2 { 
    width: 48% !important; max-width: 48% !important; flex: none !important; 
    float: none !important; padding: 0 !important; margin: 0 !important; border: none !important; 
}

/* Định dạng Input Đăng nhập */
.woocommerce form .form-row label { color: #94a3b8 !important; font-size: 11px !important; text-transform: uppercase !important; font-weight: 800 !important; margin-bottom: 8px !important; display: block !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { 
    background-color: #0f172a !important; border: 1px solid #334155 !important; color: #fff !important; 
    padding: 16px !important; border-radius: 6px !important; width: 100% !important; font-size: 15px !important; 
    box-sizing: border-box !important; outline: none !important; box-shadow: none !important;
}
.woocommerce form .form-row input.input-text:focus { border-color: var(--accent-gold) !important; }
.woocommerce form button.button { background: var(--accent-gold) !important; color: #000 !important; font-weight: 900 !important; padding: 16px 30px !important; border: none !important; border-radius: 6px !important; text-transform: uppercase !important; cursor: pointer !important; width: 100% !important; margin-top: 15px !important; transition: transform 0.3s !important; }
.woocommerce form button.button:hover { background: #fff !important; transform: translateY(-3px) !important; }

/* --------------------------------------------------------------------------
   B. TRANG GIỎ HÀNG (CART)
   -------------------------------------------------------------------------- */
/* Ép chia 2 cột thẳng tắp (60% - 35%) */
.woocommerce-cart .woocommerce { 
    display: flex !important; flex-wrap: nowrap !important; justify-content: space-between !important; gap: 40px !important; 
    max-width: 1200px !important; margin: 40px auto 100px !important; align-items: flex-start !important; 
}

.woocommerce-cart-form { width: 60% !important; flex: none !important; background: var(--bg-panel) !important; border: 1px solid #334155 !important; border-radius: 12px !important; padding: 40px !important; box-sizing: border-box !important; }
.cart-collaterals { width: 35% !important; flex: none !important; margin: 0 !important; box-sizing: border-box !important; }

/* Bảng giỏ hàng */
.woocommerce table.shop_table { border: none !important; margin: 0 !important; border-radius: 0 !important; width: 100% !important; table-layout: fixed !important; }
.woocommerce table.shop_table th { color: #64748b !important; text-transform: uppercase !important; font-size: 11px !important; padding-bottom: 15px !important; border-bottom: 1px solid #1e293b !important; text-align: left !important; }
.woocommerce table.shop_table td { border-top: none !important; border-bottom: 1px dashed #1e293b !important; padding: 25px 0 !important; color: #fff !important; vertical-align: middle !important; }

/* Ép tỷ lệ các cột, cấm dồn cục */
.woocommerce table.shop_table th.product-thumbnail, .woocommerce table.shop_table td.product-thumbnail { display: none !important; width: 0 !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-cart table.shop_table th.product-remove, .woocommerce-cart table.shop_table td.product-remove { width: 8% !important; text-align: left !important; }
.woocommerce-cart table.shop_table th.product-name, .woocommerce-cart table.shop_table td.product-name { width: 45% !important; text-align: left !important; }
.woocommerce-cart table.shop_table th.product-price, .woocommerce-cart table.shop_table td.product-price { width: 15% !important; text-align: left !important; }
.woocommerce-cart table.shop_table th.product-quantity, .woocommerce-cart table.shop_table td.product-quantity { width: 15% !important; text-align: center !important; }
.woocommerce-cart table.shop_table th.product-subtotal, .woocommerce-cart table.shop_table td.product-subtotal { width: 17% !important; text-align: right !important; }

.woocommerce-cart table.shop_table td.product-name a { color: #fff !important; font-weight: 800 !important; font-size: 15px !important; text-decoration: none !important; }
.woocommerce-cart table.shop_table td.product-price, .woocommerce-cart table.shop_table td.product-subtotal { font-family: 'JetBrains Mono', monospace !important; color: var(--accent-gold) !important; font-weight: bold !important; }
.woocommerce-cart table.shop_table td.product-subtotal { text-align: right !important; }
.woocommerce-cart table.shop_table td.product-remove a { color: #ef4444 !important; font-size: 22px !important; text-decoration: none !important; font-weight: bold !important; }
.woocommerce-cart table.shop_table td.product-quantity .qty { background-color: #0f172a !important; border: 1px solid #334155 !important; color: #fff !important; padding: 10px !important; border-radius: 4px !important; width: 60px !important; text-align: center !important; box-sizing: border-box !important; }

/* Khu vực Coupon: Ép màu đen cho ô nhập mã */
.woocommerce-cart table.shop_table td.actions { padding: 30px 0 0 0 !important; border: none !important; text-align: left !important; }
.woocommerce-cart .actions .coupon { display: flex !important; gap: 10px !important; float: left !important; }
.woocommerce-cart .actions .coupon input.input-text { background-color: #0f172a !important; border: 1px solid #334155 !important; color: #fff !important; width: 180px !important; margin: 0 !important; padding: 12px 15px !important; border-radius: 6px !important; box-sizing: border-box !important; }
.woocommerce-cart .actions > .button { float: right !important; background: rgba(30,41,59,0.8) !important; color: #fff !important; border: 1px solid #334155 !important; width: auto !important; }

/* Cột Tổng Tiền */
.cart_totals { background: rgba(30, 41, 59, 0.6) !important; border: 1px solid rgba(212, 175, 55, 0.2) !important; border-radius: 12px !important; padding: 40px !important; position: sticky !important; top: 120px !important; width: 100% !important; box-sizing: border-box !important; }
.cart_totals h2 { font-size: 22px !important; color: #fff !important; border-bottom: 1px solid #1e293b !important; padding-bottom: 15px !important; margin-top: 0 !important; }
.cart_totals table tr.order-total th, .cart_totals table tr.order-total td { font-size: 22px !important; color: var(--accent-gold) !important; padding-top: 20px !important; }
.wc-proceed-to-checkout a.checkout-button { display: block !important; width: 100% !important; background: var(--accent-gold) !important; color: #000 !important; font-weight: 900 !important; padding: 20px !important; border-radius: 6px !important; text-align: center !important; text-transform: uppercase !important; box-sizing: border-box !important; margin-top: 20px !important; border: none !important; white-space: nowrap !important; }

/* --------------------------------------------------------------------------
   C. TRANG THANH TOÁN (CHECKOUT) - CẤM ĐÈ NHAU
   -------------------------------------------------------------------------- */
/* Ép chia 2 cột thẳng tắp (55% - 40%) */
.woocommerce-checkout form.checkout { 
    display: flex !important; flex-wrap: nowrap !important; justify-content: space-between !important; gap: 40px !important; 
    max-width: 1200px !important; margin: 0 auto 100px !important; align-items: flex-start !important; width: 100% !important;
}

/* Thông báo ẩn */
.woocommerce-form-login-toggle, .woocommerce-form-coupon-toggle { width: 100% !important; max-width: 1200px !important; margin: 0 auto !important; }
.woocommerce-form-login, .woocommerce-form-coupon { background: var(--bg-panel) !important; border: 1px dashed #334155 !important; padding: 30px !important; border-radius: 8px !important; margin-bottom: 30px !important; max-width: 1200px !important; margin: 0 auto 30px !important; }
.woocommerce-info { background: rgba(212, 175, 55, 0.1) !important; color: var(--accent-gold) !important; border-top: 2px solid var(--accent-gold) !important; }

/* Khối Thông tin khách hàng (Bên Trái) */
#customer_details { 
    width: 55% !important; max-width: 55% !important; flex: none !important; float: none !important; 
    background: var(--bg-panel) !important; border: 1px solid #334155 !important; border-radius: 12px !important; padding: 40px !important; box-sizing: border-box !important; 
}
#customer_details .col-1 { width: 100% !important; max-width: 100% !important; float: none !important; }
#customer_details .col-2 { display: none !important; } /* Diệt gọn cột Additional Info rỗng */

.woocommerce-checkout h3 { font-size: 22px !important; color: #fff !important; border-bottom: 1px solid #1e293b !important; padding-bottom: 15px !important; margin-bottom: 25px !important; }

/* Order Review & Payment (Bên Phải) */
#order_review_heading { display: none !important; } /* Ẩn thẻ h3 dư thừa phá layout */
#order_review { 
    width: 40% !important; max-width: 40% !important; flex: none !important; float: none !important; margin: 0 !important; 
    background: rgba(30, 41, 59, 0.6) !important; border: 1px solid rgba(212, 175, 55, 0.2) !important; border-radius: 12px !important; 
    padding: 40px !important; position: sticky !important; top: 120px !important; box-sizing: border-box !important; 
}

/* Các trường Select2 */
.select2-container .select2-selection--single { background-color: #0f172a !important; border: 1px solid #334155 !important; height: 50px !important; border-radius: 6px !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: #fff !important; line-height: 50px !important; padding-left: 15px !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 50px !important; right: 10px !important; }

#payment { background: transparent !important; border-radius: 0 !important; padding: 0 !important; }
#payment ul.payment_methods { border-bottom: 1px solid #1e293b !important; padding: 0 0 20px 0 !important; margin: 0 0 20px 0 !important; list-style: none !important; }
#payment ul.payment_methods li { color: #fff !important; font-weight: 700 !important; margin-bottom: 15px !important; }
#payment div.payment_box { background-color: #0f172a !important; color: #cbd5e1 !important; border: 1px solid #334155 !important; border-radius: 6px !important; padding: 20px !important; box-shadow: inset 0 0 20px rgba(0,0,0,0.5) !important; margin-top: 15px !important; font-size: 13px !important; line-height: 1.6 !important;}

button#place_order { background: var(--accent-gold) !important; color: #000 !important; font-weight: 900 !important; font-size: 18px !important; padding: 22px !important; border-radius: 6px !important; text-transform: uppercase !important; width: 100% !important; margin-top: 20px !important; border: none !important; cursor: pointer !important; box-sizing: border-box !important; }

/* --------------------------------------------------------------------------
   D. RESPONSIVE MOBILE (Điện thoại & Tablet)
   -------------------------------------------------------------------------- */
@media (max-width: 992px) {
    .woocommerce-cart .woocommerce, .woocommerce-checkout form.checkout, #customer_login { flex-wrap: wrap !important; gap: 30px !important; padding: 0 20px !important; }
    .woocommerce-cart-form, .cart-collaterals, #customer_details, #order_review, #customer_login .u-column1, #customer_login .u-column2 { width: 100% !important; max-width: 100% !important; flex: none !important; position: relative !important; top: 0 !important; padding: 25px !important; }
    
    .woocommerce-cart table.shop_table th.product-price, .woocommerce-cart table.shop_table td.product-price,
    .woocommerce-cart table.shop_table th.product-quantity, .woocommerce-cart table.shop_table td.product-quantity { display: none !important; }
    
    .woocommerce-cart .actions .coupon, .woocommerce-cart .actions > .button { float: none !important; width: 100% !important; display: block !important; margin-bottom: 15px !important; }
    .woocommerce-cart .actions .coupon input.input-text { width: 100% !important; margin-bottom: 10px !important; }
}