/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: Astra Child Theme with exact WooCommerce form adjustments.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
*/

:root {
    --ast-global-color-0: #8b0000; /* Maroon */
    --ast-global-color-1: #6a0000; /* Darker Maroon */
    --ast-global-color-4: #f4f4f4; /* Background */
}

body, html, input, button, select, textarea {
    font-family: 'Cairo', sans-serif !important;
}

body {
    background-color: var(--ast-global-color-4);
}

/* Typography & Layout adjustments */
.custom-checkout-title {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 20px;
    text-align: right;
    color: #333;
}

/* Custom WooCommerce form container */
.woocommerce-checkout {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    margin: 20px auto;
    max-width: 600px;
}

/* Custom WooCommerce input fields */
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row input[type="tel"] {
    background: #f9f9f9 !important;
    border: 1px solid #eee !important;
    border-radius: 10px !important;
    padding: 18px 45px 18px 15px !important; /* Space on right for icon in RTL */
    font-size: 1rem;
    width: 100%;
    box-sizing: border-box;
    font-family: 'Cairo', sans-serif;
    color: #333;
}

/* Hide default labels */
.woocommerce-checkout .form-row label {
    display: none !important;
}

/* Icon positioning */
.woocommerce-checkout .form-row.custom-icon-user,
.woocommerce-checkout .form-row.custom-icon-phone,
.woocommerce-checkout .form-row.custom-icon-phone-plus,
.woocommerce-checkout .form-row.custom-icon-location {
    position: relative;
    margin-bottom: 15px;
}

.woocommerce-checkout .form-row::after {
    font-family: FontAwesome;
    position: absolute;
    right: 15px; /* RTL placement */
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    font-size: 1.2rem;
    pointer-events: none;
}

.woocommerce-checkout .form-row.custom-icon-user::after { content: "\f007"; } /* User */
.woocommerce-checkout .form-row.custom-icon-phone::after { content: "\f095"; } /* Phone */
.woocommerce-checkout .form-row.custom-icon-phone-plus::after { content: "\f2a0"; } /* Phone Alt / Plus */
.woocommerce-checkout .form-row.custom-icon-location::after { content: "\f041"; } /* Map Marker */

/* Custom Product Header */
.custom-product-header {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    margin-top: 20px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.fire-badge {
    background: var(--ast-global-color-0);
    color: #fff;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
}

.product-title {
    margin: 10px 0;
}

/* Remove default titles or layout items if needed */
.product_title.entry-title { display: none !important; }

/* Sticky Bottom Footer - Removed as per request */
.sticky-bottom-bar { display: none !important; }

/* --- Premium Header & Loader Styles --- */
:root {
    --brand-red: #c00000;
    --brand-dark: #111;
    --transition-speed: 0.3s;
}

/* Loading Screen */
#site-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 100000;
    transition: opacity 0.6s ease, visibility 0.6s;
}
#site-loader.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
#site-loader img { width: 140px; height: auto; animation: pulse-eagle 2s infinite ease-in-out; }
@keyframes pulse-eagle {
    0%, 100% { transform: scale(1); opacity: 0.8; }
    50% { transform: scale(1.1); opacity: 1; }
}

/* Red Top Bar */
.premium-top-bar {
    background: var(--brand-red);
    color: #fff;
    padding: 10px 0;
    text-align: center;
    font-weight: 700;
    font-size: 0.95rem;
    font-family: 'Cairo', sans-serif;
    z-index: 9999;
}

/* Main Header */
.premium-header {
    background: #fff;
    padding: 15px 0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.04);
    position: sticky;
    top: 0;
    z-index: 9998;
    display: flex;
    align-items: center;
    justify-content: center;
    direction: rtl;
}

.header-container {
    width: 92%;
    max-width: 1400px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

/* Sections */
.header-left { display: flex; align-items: center; gap: 15px; justify-content: flex-start; }
.header-center { display: flex; justify-content: center; }
.header-right { display: flex; align-items: center; gap: 20px; justify-content: flex-end; }

.header-tool-link {
    color: #333;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition-speed);
}
.header-tool-link:hover { color: var(--brand-red); }
.header-tool-icon { font-size: 1.2rem; cursor: pointer; }

.header-logo img { height: 75px; width: auto; display: block; }

.nav-menu-list { display: flex; gap: 25px; list-style: none; margin: 0; padding: 0; }
.nav-menu-list a { text-decoration: none; color: #333; font-weight: 800; font-size: 1.05rem; transition: var(--transition-speed); }
.nav-menu-list a:hover { color: var(--brand-red); }

.cart-badge-wrap { position: relative; }
.cart-badge {
    position: absolute; top: -8px; right: -10px; background: var(--brand-red); color: #fff;
    font-size: 0.7rem; width: 18px; height: 18px; border-radius: 50%; display: flex;
    justify-content: center; align-items: center; font-weight: bold;
}

.mobile-menu-toggle { display: none; font-size: 1.6rem; cursor: pointer; color: #333; }

@media (max-width: 992px) {
    .header-container { grid-template-columns: 1fr auto; }
    .header-right { order: 2; padding-left: 15px; }
    .header-center { order: 1; flex: 1; justify-content: flex-start; }
    .header-left, .nav-menu-list { display: none; }
    .mobile-menu-toggle { display: block; }
    .header-logo img { height: 55px; }
}
