/*
 Theme Name:   TheForexStore Dark
 Theme URI:    https://theforexstore.com
 Description:  Dark premium theme for TheForexStore.com - Expert Advisors and Trading Tools
 Author:       TheForexStore
 Author URI:   https://theforexstore.com
 Template:     twentytwentyfive
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 Text Domain:  theforexstore-child
*/

/* ==========================================================================
   ROOT VARIABLES
   ========================================================================== */
:root {
    --tfs-bg-dark: #111115;
    --tfs-bg-card: #1A1A22;
    --tfs-bg-card-hover: #222230;
    --tfs-bg-header: #0D0D12;
    --tfs-bg-footer: #0A0A0F;
    --tfs-orange: #E8852A;
    --tfs-orange-light: #F0A050;
    --tfs-orange-dark: #C06A1A;
    --tfs-text: #F0F0F5;
    --tfs-text-dim: #999AAA;
    --tfs-text-muted: #666678;
    --tfs-border: #2A2A35;
    --tfs-green: #00C878;
    --tfs-red: #E04040;
    --tfs-radius: 12px;
    --tfs-radius-sm: 8px;
    --tfs-shadow: 0 4px 24px rgba(0,0,0,0.4);
    --tfs-shadow-hover: 0 8px 32px rgba(232,133,42,0.15);
    --tfs-transition: all 0.3s ease;
    --tfs-max-width: 1400px;
}

/* ==========================================================================
   GLOBAL RESET & BASE
   ========================================================================== */
*, *::before, *::after {
    box-sizing: border-box;
}

body,
.wp-site-blocks {
    background-color: var(--tfs-bg-dark) !important;
    color: var(--tfs-text) !important;
    font-family: 'Segoe UI', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    line-height: 1.6;
    margin: 0;
    padding: 0;
}

a {
    color: var(--tfs-orange);
    text-decoration: none;
    transition: var(--tfs-transition);
}

a:hover {
    color: var(--tfs-orange-light);
}

img {
    max-width: 100%;
    height: auto;
}

/* ==========================================================================
   FULL WIDTH LAYOUT
   ========================================================================== */
.wp-site-blocks,
.wp-block-group,
.wp-block-template-part,
.entry-content,
.page-content {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.tfs-container {
    max-width: var(--tfs-max-width);
    margin: 0 auto;
    padding: 0 30px;
}

/* ==========================================================================
   HEADER
   ========================================================================== */
header,
.wp-block-template-part[data-slug="header"],
.site-header {
    background: var(--tfs-bg-header) !important;
    border-bottom: 1px solid var(--tfs-border);
    padding: 15px 0;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.site-title,
.wp-block-site-title a {
    color: var(--tfs-orange) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    letter-spacing: 1px;
}

/* Navigation */
.wp-block-navigation a,
.wp-block-navigation .wp-block-navigation-item__content {
    color: var(--tfs-text) !important;
    font-size: 15px;
    font-weight: 500;
    padding: 8px 16px !important;
    border-radius: var(--tfs-radius-sm);
    transition: var(--tfs-transition);
}

.wp-block-navigation a:hover {
    color: var(--tfs-orange) !important;
    background: rgba(232, 133, 42, 0.1);
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
footer,
.wp-block-template-part[data-slug="footer"],
.site-footer {
    background: var(--tfs-bg-footer) !important;
    border-top: 1px solid var(--tfs-border);
    color: var(--tfs-text-dim) !important;
    padding: 40px 0 20px;
}

footer a {
    color: var(--tfs-text-dim);
}

footer a:hover {
    color: var(--tfs-orange);
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.wp-block-button__link,
.wp-element-button,
button[type="submit"],
.button,
.btn,
input[type="submit"],
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.single_add_to_cart_button,
.checkout-button,
.add_to_cart_button {
    background: var(--tfs-orange) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--tfs-radius-sm) !important;
    padding: 12px 28px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: var(--tfs-transition) !important;
    text-transform: none !important;
    letter-spacing: 0.5px;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
button[type="submit"]:hover,
.button:hover,
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
.add_to_cart_button:hover {
    background: var(--tfs-orange-light) !important;
    transform: translateY(-2px);
    box-shadow: var(--tfs-shadow-hover) !important;
}

/* ==========================================================================
   WOOCOMMERCE - PRODUCT GRID
   ========================================================================== */
.woocommerce ul.products,
ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 30px !important;
    padding: 0 30px;
    max-width: var(--tfs-max-width);
    margin: 0 auto !important;
}

.woocommerce ul.products li.product,
ul.products li.product {
    background: var(--tfs-bg-card) !important;
    border: 1px solid var(--tfs-border);
    border-radius: var(--tfs-radius) !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    transition: var(--tfs-transition);
    width: 100% !important;
    float: none !important;
}

.woocommerce ul.products li.product:hover {
    border-color: var(--tfs-orange);
    transform: translateY(-4px);
    box-shadow: var(--tfs-shadow-hover);
}

/* Product image */
.woocommerce ul.products li.product a img,
ul.products li.product a img {
    border-radius: 0 !important;
    margin: 0 !important;
    width: 100%;
    height: 220px;
    object-fit: cover;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title {
    color: var(--tfs-text) !important;
    font-size: 18px !important;
    font-weight: 600;
    padding: 15px 20px 5px !important;
    margin: 0;
}

/* Product price */
.woocommerce ul.products li.product .price,
ul.products li.product .price {
    color: var(--tfs-orange) !important;
    font-size: 22px !important;
    font-weight: 700;
    padding: 5px 20px 15px !important;
}

.woocommerce ul.products li.product .price del {
    color: var(--tfs-text-muted) !important;
    font-size: 16px;
}

/* Add to cart button in grid */
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product a.button {
    margin: 0 20px 20px !important;
    width: calc(100% - 40px) !important;
    text-align: center;
    display: block !important;
}

/* ==========================================================================
   WOOCOMMERCE - SINGLE PRODUCT PAGE
   ========================================================================== */
.woocommerce div.product,
.single-product .product {
    background: var(--tfs-bg-dark);
    max-width: var(--tfs-max-width);
    margin: 0 auto;
    padding: 40px 30px;
}

.woocommerce div.product .product_title,
.single-product .product_title {
    color: var(--tfs-text) !important;
    font-size: 36px !important;
    font-weight: 700;
    margin-bottom: 10px;
}

.woocommerce div.product p.price {
    color: var(--tfs-orange) !important;
    font-size: 32px !important;
    font-weight: 700;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--tfs-text-dim);
    font-size: 16px;
    line-height: 1.8;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    background: transparent !important;
    border-bottom: 1px solid var(--tfs-border) !important;
    padding: 0 !important;
    margin: 40px 0 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--tfs-text-dim) !important;
    font-weight: 500;
    padding: 12px 24px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom-color: var(--tfs-orange) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--tfs-orange) !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
    background: var(--tfs-bg-card) !important;
    border-radius: 0 0 var(--tfs-radius) var(--tfs-radius);
    padding: 30px !important;
    color: var(--tfs-text-dim);
}

/* Product images / gallery */
.woocommerce div.product div.images {
    background: var(--tfs-bg-card);
    border-radius: var(--tfs-radius);
    overflow: hidden;
}

/* ==========================================================================
   WOOCOMMERCE - CART
   ========================================================================== */
.woocommerce table.shop_table {
    background: var(--tfs-bg-card) !important;
    border: 1px solid var(--tfs-border) !important;
    border-radius: var(--tfs-radius) !important;
    overflow: hidden;
}

.woocommerce table.shop_table th {
    background: var(--tfs-bg-header) !important;
    color: var(--tfs-text-dim) !important;
    border: none !important;
    padding: 15px 20px !important;
}

.woocommerce table.shop_table td {
    background: var(--tfs-bg-card) !important;
    color: var(--tfs-text) !important;
    border-bottom: 1px solid var(--tfs-border) !important;
    padding: 15px 20px !important;
}

.woocommerce .cart-collaterals .cart_totals {
    background: var(--tfs-bg-card) !important;
    border: 1px solid var(--tfs-border);
    border-radius: var(--tfs-radius);
    padding: 20px;
}

/* ==========================================================================
   WOOCOMMERCE - CHECKOUT
   ========================================================================== */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review {
    background: var(--tfs-bg-card);
    border: 1px solid var(--tfs-border);
    border-radius: var(--tfs-radius);
    padding: 30px;
    margin-bottom: 20px;
}

.woocommerce form .form-row label {
    color: var(--tfs-text-dim) !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-input-wrapper input,
.woocommerce-input-wrapper select {
    background: var(--tfs-bg-dark) !important;
    color: var(--tfs-text) !important;
    border: 1px solid var(--tfs-border) !important;
    border-radius: var(--tfs-radius-sm) !important;
    padding: 12px 16px !important;
}

.woocommerce form .form-row input.input-text:focus {
    border-color: var(--tfs-orange) !important;
    outline: none;
}

/* ==========================================================================
   WOOCOMMERCE - MY ACCOUNT
   ========================================================================== */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    background: var(--tfs-bg-card);
    border: 1px solid var(--tfs-border);
    border-radius: var(--tfs-radius);
    overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid var(--tfs-border);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 14px 20px;
    color: var(--tfs-text-dim);
    transition: var(--tfs-transition);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--tfs-orange);
    background: rgba(232, 133, 42, 0.08);
}

.woocommerce-account .woocommerce-MyAccount-content {
    background: var(--tfs-bg-card);
    border: 1px solid var(--tfs-border);
    border-radius: var(--tfs-radius);
    padding: 30px;
    color: var(--tfs-text-dim);
}

/* ==========================================================================
   WOOCOMMERCE - LOGIN / REGISTER FORMS
   ========================================================================== */
.woocommerce form.login,
.woocommerce form.register {
    background: var(--tfs-bg-card) !important;
    border: 1px solid var(--tfs-border) !important;
    border-radius: var(--tfs-radius) !important;
    padding: 30px !important;
}

/* ==========================================================================
   WOOCOMMERCE - NOTICES
   ========================================================================== */
.woocommerce-message {
    background: var(--tfs-bg-card) !important;
    border-top-color: var(--tfs-green) !important;
    color: var(--tfs-text) !important;
}

.woocommerce-error {
    background: var(--tfs-bg-card) !important;
    border-top-color: var(--tfs-red) !important;
    color: var(--tfs-text) !important;
}

.woocommerce-info {
    background: var(--tfs-bg-card) !important;
    border-top-color: var(--tfs-orange) !important;
    color: var(--tfs-text) !important;
}

/* ==========================================================================
   SALE BADGE
   ========================================================================== */
.woocommerce span.onsale {
    background: var(--tfs-orange) !important;
    color: #fff !important;
    border-radius: var(--tfs-radius-sm) !important;
    padding: 6px 14px !important;
    font-size: 13px;
    font-weight: 700;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1.4 !important;
}

/* ==========================================================================
   BREADCRUMBS
   ========================================================================== */
.woocommerce .woocommerce-breadcrumb {
    color: var(--tfs-text-muted) !important;
    padding: 15px 30px;
    max-width: var(--tfs-max-width);
    margin: 0 auto;
}

.woocommerce .woocommerce-breadcrumb a {
    color: var(--tfs-text-dim);
}

/* ==========================================================================
   PAGINATION
   ========================================================================== */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    background: var(--tfs-bg-card) !important;
    color: var(--tfs-text-dim) !important;
    border-color: var(--tfs-border) !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--tfs-orange) !important;
    color: #fff !important;
}

/* ==========================================================================
   SCROLLBAR
   ========================================================================== */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--tfs-bg-dark);
}

::-webkit-scrollbar-thumb {
    background: var(--tfs-border);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--tfs-orange);
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 768px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
        gap: 20px !important;
        padding: 0 15px;
    }

    .woocommerce div.product .product_title {
        font-size: 26px !important;
    }

    .woocommerce div.product p.price {
        font-size: 24px !important;
    }

    .tfs-container {
        padding: 0 15px;
    }
}

@media (max-width: 480px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================================
   HEADINGS
   ========================================================================== */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
    color: var(--tfs-text) !important;
}

/* ==========================================================================
   GENERAL CONTENT
   ========================================================================== */
p, li, td, th, span, div {
    color: inherit;
}

/* Override any white backgrounds from parent theme */
.wp-site-blocks > *,
.wp-block-group,
.wp-block-cover,
.wp-block-columns,
.wp-block-column,
main,
article,
section {
    background-color: transparent !important;
}

/* Star ratings */
.woocommerce .star-rating span::before {
    color: var(--tfs-orange) !important;
}

/* Quantity input */
.woocommerce .quantity .qty {
    background: var(--tfs-bg-dark) !important;
    color: var(--tfs-text) !important;
    border: 1px solid var(--tfs-border) !important;
    border-radius: var(--tfs-radius-sm) !important;
}

/* ==========================================================================
   HERO SECTION
   ========================================================================== */
.tfs-hero {
    position: relative;
    padding: 80px 30px;
    text-align: center;
    overflow: hidden;
    margin-bottom: 40px;
}

.tfs-hero-bg {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background:
        radial-gradient(ellipse at 20% 50%, rgba(232,133,42,0.08) 0%, transparent 60%),
        radial-gradient(ellipse at 80% 50%, rgba(232,133,42,0.05) 0%, transparent 60%),
        linear-gradient(180deg, var(--tfs-bg-dark) 0%, #0D0D14 100%);
    background-image:
        url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0L60 30L30 60L0 30Z' fill='none' stroke='%23E8852A' stroke-width='0.3' opacity='0.06'/%3E%3C/svg%3E"),
        radial-gradient(ellipse at 20% 50%, rgba(232,133,42,0.08) 0%, transparent 60%),
        radial-gradient(ellipse at 80% 50%, rgba(232,133,42,0.05) 0%, transparent 60%);
    z-index: 0;
}

.tfs-hero-content {
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin: 0 auto;
}

.tfs-hero-title {
    font-size: 42px !important;
    font-weight: 700 !important;
    color: var(--tfs-text) !important;
    line-height: 1.2;
    margin-bottom: 20px;
}

.tfs-hero-sub {
    font-size: 17px;
    color: var(--tfs-text-dim);
    line-height: 1.7;
    margin-bottom: 35px;
}

.tfs-hero-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.tfs-btn-primary {
    background: var(--tfs-orange) !important;
    color: #fff !important;
    padding: 14px 32px;
    border-radius: var(--tfs-radius-sm);
    font-size: 16px;
    font-weight: 600;
    transition: var(--tfs-transition);
    text-decoration: none;
}

.tfs-btn-primary:hover {
    background: var(--tfs-orange-light) !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: var(--tfs-shadow-hover);
}

.tfs-btn-secondary {
    background: transparent !important;
    color: var(--tfs-orange) !important;
    padding: 14px 32px;
    border: 1px solid var(--tfs-orange);
    border-radius: var(--tfs-radius-sm);
    font-size: 16px;
    font-weight: 600;
    transition: var(--tfs-transition);
    text-decoration: none;
}

.tfs-btn-secondary:hover {
    background: rgba(232,133,42,0.1) !important;
    color: var(--tfs-orange-light) !important;
    transform: translateY(-2px);
}

/* ==========================================================================
   PRODUCT GRID OVERRIDE - 4 COLUMNS, COMPACT
   ========================================================================== */
.woocommerce ul.products,
ul.products {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
}

.woocommerce ul.products li.product a img,
ul.products li.product a img {
    height: 180px !important;
    object-fit: cover;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 16px !important;
    padding: 12px 16px 4px !important;
}

.woocommerce ul.products li.product .price {
    font-size: 20px !important;
    padding: 4px 16px 12px !important;
}

.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product a.button {
    margin: 0 16px 16px !important;
    width: calc(100% - 32px) !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
}

@media (max-width: 1024px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .tfs-hero-title { font-size: 28px !important; }
    .tfs-hero { padding: 50px 20px; }
}

@media (max-width: 480px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================================
   FOOTER BAR
   ========================================================================== */
.tfs-footer-bar {
    background: var(--tfs-bg-footer);
    border-top: 1px solid var(--tfs-border);
    padding: 20px 0;
    text-align: center;
    color: var(--tfs-text-muted);
    font-size: 13px;
}

/* ==========================================================================
   WOOCOMMERCE SORTING / RESULTS COUNT
   ========================================================================== */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select {
    color: var(--tfs-text-dim) !important;
    background: var(--tfs-bg-card) !important;
    border: 1px solid var(--tfs-border) !important;
    border-radius: var(--tfs-radius-sm) !important;
    padding: 8px 12px !important;
}

/* Hide "Showing the single result" when only 1 product */
.woocommerce-result-count {
    color: var(--tfs-text-muted) !important;
}
