/*
Theme Name: Grudva Custom Theme
Description: A professional consulting agency WordPress theme built from custom HTML design. Fully editable from WordPress admin with customizer options, ACF support, and Gutenberg compatibility.
Author: Grudva Team
Version: 1.0.0
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: grudva-custom-theme
Domain Path: /languages
Requires at least: 5.0
Tested up to: 6.4
Requires PHP: 7.4
Tags: business, consulting, professional, custom, responsive, gutenberg-ready, translation-ready
*/

/* ==========================================================================
   IMPORT EXISTING CSS FILES
   ========================================================================== */

/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100;200;300;400;500;600;700;800;900&display=swap');

/* Import Bootstrap */
@import url('assets/css/bootstrap.min.css');

/* Import FontAwesome */
@import url('assets/css/all.min.css');

/* Import Animate.css */
@import url('assets/css/animate.css');

/* Import Magnific Popup */
@import url('assets/css/magnific-popup.css');

/* Import Swiper */
@import url('assets/css/swiper-bundle.min.css');

/* Import Nice Select */
@import url('assets/css/nice-select.css');

/* Import Flaticon */
@import url('assets/css/flaticon.css');

/* Import Main CSS */
@import url('assets/css/main.css');

/* Import Hero Slider CSS */
@import url('assets/css/hero-slider.css');

/* ==========================================================================
   WORDPRESS THEME CUSTOMIZATIONS
   ========================================================================== */

/* WordPress Core Alignment */
.alignleft {
    float: left;
    margin: 0 1rem 1rem 0;
}

.alignright {
    float: right;
    margin: 0 0 1rem 1rem;
}

.aligncenter {
    display: block;
    margin: 0 auto 1rem;
}

.alignwide {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* WordPress Captions */
.wp-caption {
    max-width: 100%;
    margin-bottom: 1rem;
}

.wp-caption img {
    display: block;
    margin: 0 auto;
}

.wp-caption-text {
    text-align: center;
    font-size: 0.875rem;
    color: #666;
    margin-top: 0.5rem;
}

/* WordPress Galleries */
.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.gallery-item {
    margin: 0;
}

.gallery-item img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

/* WordPress Comments */
.comment-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.comment {
    margin-bottom: 2rem;
    padding: 1rem;
    background: #f8f9fa;
    border-radius: 8px;
}

.comment-author {
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.comment-meta {
    font-size: 0.875rem;
    color: #666;
    margin-bottom: 1rem;
}

.comment-content {
    line-height: 1.6;
}

/* WordPress Search */
.search-form {
    display: flex;
    margin-bottom: 2rem;
}

.search-field {
    flex: 1;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 4px 0 0 4px;
    border-right: none;
}

.search-submit {
    padding: 0.75rem 1.5rem;
    background: var(--grudva-primary, #007cba);
    color: white;
    border: none;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
}

/* WordPress Widgets */
.widget {
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.widget-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: var(--grudva-text, #333);
}

.widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget li {
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #eee;
}

.widget li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.widget a {
    color: var(--grudva-text, #333);
    text-decoration: none;
    transition: color 0.3s ease;
}

.widget a:hover {
    color: var(--grudva-primary, #007cba);
}

/* WordPress Navigation */
.main-navigation {
    display: flex;
    align-items: center;
}

.main-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 2rem;
}

.main-navigation li {
    position: relative;
}

.main-navigation a {
    color: var(--grudva-text, #333);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.main-navigation a:hover {
    color: var(--grudva-primary, #007cba);
}

/* Submenu Styles */
.main-navigation .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: white;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    padding: 1rem 0;
    min-width: 200px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 1000;
}

.main-navigation li:hover .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.main-navigation .sub-menu li {
    margin: 0;
}

.main-navigation .sub-menu a {
    display: block;
    padding: 0.5rem 1.5rem;
    color: var(--grudva-text, #333);
    font-size: 0.875rem;
}

.main-navigation .sub-menu a:hover {
    background: #f8f9fa;
    color: var(--grudva-primary, #007cba);
}

/* Mobile Menu */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 1.5rem;
    color: var(--grudva-text, #333);
    cursor: pointer;
}

@media (max-width: 1200px) {
    .mobile-menu-toggle {
        display: block;
    }
    
    .main-navigation {
        display: none;
    }
    
    .main-navigation.toggled {
        display: block;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: white;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        padding: 1rem;
    }
    
    .main-navigation ul {
        flex-direction: column;
        gap: 0;
    }
    
    .main-navigation li {
        margin-bottom: 0.5rem;
    }
    
    .main-navigation .sub-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        background: #f8f9fa;
        margin-top: 0.5rem;
        border-radius: 4px;
    }
}

/* Gutenberg Block Editor Styles */
.wp-block-group {
    margin-bottom: 1rem;
}

.wp-block-heading {
    margin-bottom: 1rem;
}

.wp-block-paragraph {
    margin-bottom: 1rem;
}

.wp-block-button {
    margin-bottom: 1rem;
}

.wp-block-button__link {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background: var(--grudva-primary, #007cba);
    color: white;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.wp-block-button__link:hover {
    background: var(--grudva-secondary, #2c3e50);
    transform: translateY(-2px);
}

/* Customizer Overrides */
:root {
    --grudva-primary: #007cba;
    --grudva-secondary: #2c3e50;
    --grudva-accent: #e74c3c;
    --grudva-text: #333333;
    --grudva-light: #f8f9fa;
    --grudva-dark: #1a1a1a;
    --grudva-white: #ffffff;
    --grudva-gray: #666666;
    --grudva-light-gray: #cccccc;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

@media (max-width: 992px) {
    .container {
        max-width: 960px;
    }
}

@media (max-width: 768px) {
    .container {
        max-width: 720px;
    }
}

@media (max-width: 576px) {
    .container {
        max-width: 540px;
    }
}

/* Print Styles */
@media print {
    .no-print {
        display: none !important;
    }
    
    body {
        font-size: 12pt;
        line-height: 1.4;
    }
    
    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
    }
    
    img {
        max-width: 100% !important;
        height: auto !important;
    }
}
p{font-size: 18px;}

