/*
Theme Name: Gizmoo Core
Theme URI: https://gizmoo.ir
Author: Gizmoo
Author URI: https://gizmoo.ir
Description: Lightweight, modern and Elementor-friendly corporate WordPress theme.
Version: 0.1.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: gizmoo-core
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/



/* =========================================================
   GIZMOO CORE
   DESIGN SYSTEM / TOKENS
   ========================================================= */

:root {

    /* ===============================
       Brand
       =============================== */

    --gizmoo-primary: #146B4A;
    --gizmoo-primary-hover: #0F5238;
    --gizmoo-primary-light: #E8F1EC;


    /* ===============================
       Text
       =============================== */

    --gizmoo-text: #15201B;
    --gizmoo-text-secondary: #53615B;
    --gizmoo-text-muted: #697670;


    /* ===============================
       Background
       =============================== */

    --gizmoo-bg: #FFFFFF;
    --gizmoo-bg-secondary: #F5F7F5;
    --gizmoo-bg-soft: #EEF3F0;


    /* ===============================
       Border
       =============================== */

    --gizmoo-border: #DCE4DF;
    --gizmoo-border-width: 1px;


    /* ===============================
       Typography
       =============================== */

    --gizmoo-font-family: "Vazirmatn", sans-serif;

    --gizmoo-font-size-base: 16px;

    --gizmoo-font-size-h1: 48px;
    --gizmoo-font-size-h2: 34px;
    --gizmoo-font-size-h3: 22px;
    --gizmoo-font-size-h4: 19px;
    --gizmoo-font-size-h5: 17px;

    --gizmoo-font-size-sm: 14px;
    --gizmoo-font-size-xs: 12px;


    --gizmoo-line-height-heading: 1.25;
    --gizmoo-line-height-tight: 1.15;
    --gizmoo-line-height-body: 1.8;



    /* ===============================
       Spacing
       =============================== */

    --gizmoo-space-1: 4px;
    --gizmoo-space-2: 8px;
    --gizmoo-space-3: 12px;
    --gizmoo-space-4: 16px;
    --gizmoo-space-5: 24px;
    --gizmoo-space-6: 32px;
    --gizmoo-space-7: 48px;
    --gizmoo-space-8: 64px;
    --gizmoo-space-9: 80px;


    /* ===============================
       Radius
       =============================== */

    --gizmoo-radius-sm: 6px;
    --gizmoo-radius-md: 10px;
    --gizmoo-radius-lg: 14px;
    --gizmoo-radius-pill: 999px;


    /* ===============================
       Transition
       =============================== */

    --gizmoo-transition-fast: 0.15s ease;
    --gizmoo-transition-base: 0.25s ease;



    /* ===============================
       Shadow
       =============================== */

    --gizmoo-shadow-soft:
    0 8px 30px rgba(15,42,33,.06);


    --gizmoo-shadow-medium:
    0 15px 40px rgba(15,42,33,.10);



    /* ===============================
       Layout
       =============================== */

    --gizmoo-container-width: 1200px;
    --gizmoo-container-padding: 20px;



    /* ===============================
       Footer
       =============================== */

    --gizmoo-footer-bg:#0B1511;
    --gizmoo-footer-bg-bottom:#070C09;
    --gizmoo-footer-text:#F5F8F6;
    --gizmoo-footer-muted:#C4D0CA;
    --gizmoo-footer-muted-soft:rgba(196,208,202,.55);
    --gizmoo-footer-border:rgba(255,255,255,.08);

}


/* =========================================================
   BASE / RESET
   ========================================================= */


html {

    box-sizing: border-box;
}


*,
*::before,
*::after {

    box-sizing: inherit;
}


html,
body {

    margin: 0;

    padding: 0;

    overflow-x: hidden;
}


body {

    font-family: var(--gizmoo-font-family);

    font-size: var(--gizmoo-font-size-base);

    line-height: var(--gizmoo-line-height-body);

    color: var(--gizmoo-text);

    background: var(--gizmoo-bg);

    -webkit-font-smoothing: antialiased;

    -moz-osx-font-smoothing: grayscale;
}



/* =========================================================
   MEDIA
   ========================================================= */


img,
svg,
video,
canvas {

    max-width: 100%;
}


img {

    display: block;

    height: auto;
}



/* =========================================================
   FORMS
   ========================================================= */


button,
input,
textarea,
select {

    font: inherit;
}


button {

    cursor: pointer;
}



/* =========================================================
   LINKS
   ========================================================= */


a {

    color: inherit;
}


a:hover {

    color: var(--gizmoo-primary);
}

/* =========================================================
   PARAGRAPHS
   ========================================================= */


p {

    margin-top: 0;
}



/* =========================================================
   HEADINGS
   ========================================================= */


h1,
h2,
h3,
h4,
h5,
h6 {

    margin-top: 0;

    color: var(--gizmoo-text);

    line-height: var(--gizmoo-line-height-heading);
}


h1 {

    font-size: var(--gizmoo-font-size-h1);

    line-height: var(--gizmoo-line-height-tight);
}


h2 {

    font-size: var(--gizmoo-font-size-h2);
}


h3 {

    font-size: var(--gizmoo-font-size-h3);
}


h4 {

    font-size: var(--gizmoo-font-size-h4);
}


h5 {

    font-size: var(--gizmoo-font-size-h5);
}



/* =========================================================
   TEXT UTILITIES
   ========================================================= */


.gizmoo-text {

    color: var(--gizmoo-text);
}


.gizmoo-text-secondary {

    color: var(--gizmoo-text-secondary);
}


.gizmoo-text-muted {

    color: var(--gizmoo-text-muted);
}



/* =========================================================
   CONTAINER
   ========================================================= */


.container,
.gizmoo-container {

    width: 100%;

    max-width: var(--gizmoo-container-width);

    margin-inline: auto;

    padding-inline: var(--gizmoo-container-padding);
}



/* =========================================================
   BUTTONS
   ========================================================= */


.gizmoo-btn,
.gizmoo-button {

    display: inline-flex;

    align-items: center;

    justify-content: center;


    gap: var(--gizmoo-space-2);


    min-height: 44px;


    padding: 10px 20px;


    border:
        var(--gizmoo-border-width)
        solid
        transparent;


    border-radius: var(--gizmoo-radius-md);


    font-size: var(--gizmoo-font-size-sm);

    font-weight: 600;


    line-height: 1.4;


    text-align: center;

    text-decoration: none;


    cursor: pointer;


    transition:

        background-color var(--gizmoo-transition-base),

        color var(--gizmoo-transition-base),

        border-color var(--gizmoo-transition-base),

        box-shadow var(--gizmoo-transition-base),

        transform var(--gizmoo-transition-base);
}



/* Primary Button */


.gizmoo-btn-primary,
.gizmoo-button-primary {


    color: #FFFFFF;


    background-color: var(--gizmoo-primary);

}


.gizmoo-btn-primary:hover,
.gizmoo-button-primary:hover {


    color: #FFFFFF;


    background-color: var(--gizmoo-primary-hover);


    transform: translateY(-1px);

}



/* Secondary Button */


.gizmoo-btn-secondary,
.gizmoo-button-secondary {


    color: var(--gizmoo-text);


    background-color: transparent;


    border-color: var(--gizmoo-border);

}



.gizmoo-btn-secondary:hover,
.gizmoo-button-secondary:hover {


    color: var(--gizmoo-primary);


    background-color: var(--gizmoo-bg-secondary);


    border-color: var(--gizmoo-primary);

}



/* Text Button */


.gizmoo-btn-text {


    padding-inline: 4px;


    color: var(--gizmoo-primary);


    background-color: transparent;


    border-color: transparent;

}



.gizmoo-btn-text:hover {


    color: var(--gizmoo-primary-hover);

}



/* =========================================================
   ACCESSIBILITY / FOCUS
   ========================================================= */


a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {


    outline: 2px solid var(--gizmoo-primary);


    outline-offset: 3px;

}
/* =========================================================
   RESPONSIVE
   ========================================================= */


/* Small Screens */

@media (max-width: 480px) {


    .container,
    .gizmoo-container {

        padding-inline: 16px;
    }


    h1 {

        font-size: 36px;
    }

}



/* =========================================================
   REDUCED MOTION
   ========================================================= */


@media (prefers-reduced-motion: reduce) {


    *,
    *::before,
    *::after {


        scroll-behavior: auto !important;


        transition-duration: 0.01ms !important;


        animation-duration: 0.01ms !important;


        animation-iteration-count: 1 !important;

    }

}
/* =========================================================
   GIZMOO
   FULL WIDTH PAGE SECTIONS
   ========================================================= */

.gizmoo-page,
.gizmoo-page-content,
.gizmoo-page .entry-content {
    width: 100%;
    max-width: none;
}

.gizmoo-page-hero {
    width: 100%;
    max-width: none;
    margin-inline: 0;
}

/*
 * Gutenberg Group / Columns
 * Prevent theme layout from shrinking page sections.
 */

.gizmoo-page .wp-block-group,
.gizmoo-page .wp-block-columns {
    width: 100%;
}

/*
 * Only inner content gets the standard width.
 */

.gizmoo-page .gizmoo-page-hero-grid,
.gizmoo-page .gizmoo-about-intro-grid,
.gizmoo-page .gizmoo-about-values-grid,
.gizmoo-page .gizmoo-about-process-grid {
    width: 100%;
    max-width: var(--gizmoo-container-width);
    margin-inline: auto;
}


/* =========================================================
   HERO SLIDER (Elementor)
   ========================================================= */

body:not(.elementor-editor-active) .gizmoo-hero-slider,
body:not(.elementor-editor-active) #gizmoo-hero-slider {
	position: relative;
	display: grid !important;
	overflow: hidden;
}

body:not(.elementor-editor-active) .gizmoo-hero-slider > *:not(.gizmoo-slider-ui),
body:not(.elementor-editor-active) #gizmoo-hero-slider > *:not(.gizmoo-slider-ui) {
	grid-area: 1 / 1;
	width: 100% !important;
	max-width: 100% !important;
	opacity: 0;
	visibility: hidden;
	transition: opacity .6s ease, visibility .6s ease;
}

/* قبل از اجرای JS اسلاید اول دیده شود */
/* قبل از اجرای JS اسلاید اول دیده شود، و بعد از آن اسلاید فعال */
body:not(.elementor-editor-active) .gizmoo-hero-slider:not(.is-ready) > *:first-child,
body:not(.elementor-editor-active) #gizmoo-hero-slider:not(.is-ready) > *:first-child,
body:not(.elementor-editor-active) .gizmoo-hero-slider > .is-active:not(.gizmoo-slider-ui),
body:not(.elementor-editor-active) #gizmoo-hero-slider > .is-active:not(.gizmoo-slider-ui) {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}


/* دکمه‌ها و نقطه‌ها */
.gizmoo-slider-ui {
	position: absolute;
	inset: 0;
	z-index: 5;
	pointer-events: none;
}

.gizmoo-slider-arrow {
	position: absolute;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	color: #fff;
	background: rgba(0, 0, 0, .35);
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	pointer-events: auto;
	transform: translateY(-50%);
	transition: background-color var(--gizmoo-transition-fast);
}

.gizmoo-slider-arrow:hover {
	background: var(--gizmoo-primary);
}

.gizmoo-slider-arrow.is-prev { inset-inline-start: 16px; }
.gizmoo-slider-arrow.is-next { inset-inline-end: 16px; }

html[dir="rtl"] .gizmoo-slider-arrow svg {
	transform: scaleX(-1);
}

.gizmoo-slider-dots {
	position: absolute;
	bottom: 18px;
	inset-inline: 0;
	display: flex;
	justify-content: center;
	gap: 8px;
}

.gizmoo-slider-dot {
	width: 10px;
	height: 10px;
	padding: 0;
	background: rgba(255, 255, 255, .55);
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	pointer-events: auto;
	transition: width var(--gizmoo-transition-fast), background-color var(--gizmoo-transition-fast);
}

.gizmoo-slider-dot.is-active {
	width: 26px;
	background: #fff;
	border-radius: 6px;
}

@media (max-width: 768px) {
	.gizmoo-slider-arrow {
		display: none;
	}
}


/* ردیف تصاویر لینک‌دار */
.gizmoo-logo-row {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--gizmoo-space-5);
	align-items: center;
	margin: 0;
	padding: 0;
}

.gizmoo-logo-row a {
	display: block;
}

.gizmoo-logo-row img {
	display: block;
	width: 100%;
	max-height: 150px;
	object-fit: contain;
}

@media (max-width: 1024px) {
	.gizmoo-logo-row {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.gizmoo-logo-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}