/*
Theme Name: MahfouzTex
Theme URI: https://mahfouztex.com
Author: MahfouzTex
Description: Custom bilingual Arabic/English theme for MahfouzTex.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: mahfouztex
*/

:root {
    --mt-primary: #33346c;
    --mt-primary-dark: #202047;
    --mt-ink: #1a1a1a;
    --mt-muted: #777;
    --mt-light: #f9f9f9;
    --mt-border: #e5e5e5;
    --mt-container: 1200px;
    --mt-heading: 'Cairo', Arial, sans-serif;
    --mt-body: 'Cairo', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--mt-muted); background: #fff; font: 400 16px/1.7 var(--mt-body); }
body.admin-bar .site-header { top: 32px; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, h4 { margin: 0 0 1rem; color: var(--mt-ink); font-family: var(--mt-heading); line-height: 1.2; }
.mt-container { width: min(100% - 40px, var(--mt-container)); margin-inline: auto; }
.mt-section { padding-block: 100px; }
.mt-button { display: inline-block; padding: 12px 30px; border: 1px solid var(--mt-primary); background: var(--mt-primary); color: #fff; font-weight: 700; transition: .3s ease; }
.mt-button:hover, .mt-button:focus-visible { border-color: var(--mt-primary-dark); background: var(--mt-primary-dark); color: #fff; }
.mt-button--outline { border-color: #fff; background: transparent; }
.mt-button--outline:hover, .mt-button--outline:focus-visible { background: #fff; color: var(--mt-ink); }
.mt-eyebrow { display: block; margin-bottom: 12px; color: var(--mt-primary); font-weight: 700; }
.mt-title { font-size: clamp(2rem, 4vw, 2.8rem); }
.mt-center { text-align: center; }
.mt-muted-section { background: var(--mt-light); }
.mt-grid { display: grid; gap: 30px; }
.mt-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mt-card { overflow: hidden; border: 1px solid var(--mt-border); background: #fff; }
.mt-card__image { width: 100%; aspect-ratio: 1.5; object-fit: cover; }
.mt-card__body { padding: 30px; }
.mt-card__title { font-size: 1.4rem; }
.site-header { position: fixed; inset: 0 0 auto; z-index: 20; color: #fff; transition: .3s ease; }
.site-header.is-scrolled, .site-header--inner { background: #fff; color: var(--mt-ink); box-shadow: 0 5px 20px rgba(0,0,0,.05); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 88px; gap: 24px; }
.site-logo { position: relative; display: block; width: 180px; height: 60px; }
.site-logo img { position: absolute; inset: 50% auto auto 0; max-height: 60px; width: auto; transform: translateY(-50%); transition: opacity .25s ease; }
.site-logo__dark { opacity: 0; }
.site-header.is-scrolled .site-logo__light, .site-header--inner .site-logo__light { opacity: 0; }
.site-header.is-scrolled .site-logo__dark, .site-header--inner .site-logo__dark { opacity: 1; }
.site-nav ul { display: flex; align-items: center; gap: 30px; margin: 0; padding: 0; list-style: none; }
.site-nav a { font-weight: 700; }
.site-nav a:hover, .site-nav .current-menu-item > a { color: #fff; }
.site-header.is-scrolled .site-nav a:hover, .site-header.is-scrolled .site-nav .current-menu-item > a, .site-header--inner .site-nav a:hover, .site-header--inner .site-nav .current-menu-item > a { color: var(--mt-primary); }
.mt-language-switcher { display: flex; gap: 12px; white-space: nowrap; font-size: .85rem; }
.mt-language-switcher a[aria-current="page"] { color: #fff; font-weight: 700; }
.site-header.is-scrolled .mt-language-switcher a[aria-current="page"], .site-header--inner .mt-language-switcher a[aria-current="page"] { color: var(--mt-primary); }
.site-menu-toggle { display: none; border: 0; background: none; color: currentColor; font-size: 1.5rem; }
.mt-hero { position: relative; min-height: 680px; display: grid; align-items: center; color: #fff; background: var(--mt-primary-dark) center/cover no-repeat; }
.mt-hero::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.42); }
.mt-hero__content { position: relative; max-width: 700px; }
.mt-hero h1, .mt-hero p { color: #fff; }
.mt-hero h1 { font-size: clamp(2.8rem, 7vw, 5rem); }
.mt-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.mt-hero-slider { position: relative; min-height: 680px; overflow: hidden; background: var(--mt-primary-dark); }
.mt-hero-slide { position: absolute; inset: 0; display: grid; align-items: center; opacity: 0; transition: opacity .8s ease; }
.mt-hero-slide.is-active { opacity: 1; z-index: 1; }
.mt-hero-slide::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(10,10,28,.68), rgba(10,10,28,.58)); }
.mt-hero-slide__image { position: absolute; inset: -3%; width: 106%; height: 106%; object-fit: cover; animation: mt-ken-burns 8s ease-out both; }
.mt-hero-slide__content { position: relative; z-index: 2; max-width: 660px; color: #fff; }
.mt-hero-slide__content h1, .mt-hero-slide__content p { color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,.45); }
.mt-hero-dots { position: absolute; z-index: 3; bottom: 34px; left: 50%; display: flex; gap: 8px; transform: translateX(-50%); }
.mt-hero-dot { width: 9px; height: 9px; padding: 0; border: 1px solid #fff; border-radius: 50%; background: transparent; }
.mt-hero-dot.is-active { background: #fff; }
@keyframes mt-ken-burns { from { transform: scale(1); } to { transform: scale(1.1); } }
.mt-features { padding-block: 30px; background: var(--mt-light); }
.mt-features__grid { display: grid; grid-template-columns: repeat(4, 1fr); padding: 34px; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.mt-feature { padding: 10px 22px; text-align: center; }
.mt-feature + .mt-feature { border-inline-start: 1px solid var(--mt-border); }
.mt-feature__icon { width: 34px; height: 34px; margin: 0 auto 14px; color: var(--mt-primary); font-size: 0; }
.mt-feature__icon::before { display: block; font-family: 'Material Symbols Rounded'; font-size: 2rem; line-height: 34px; }
.mt-feature:nth-child(1) .mt-feature__icon::before { content: 'workspace_premium'; }
.mt-feature:nth-child(2) .mt-feature__icon::before { content: 'precision_manufacturing'; }
.mt-feature:nth-child(3) .mt-feature__icon::before { content: 'public'; }
.mt-feature:nth-child(4) .mt-feature__icon::before { content: 'handshake'; }
.mt-feature h3 { font-family: var(--mt-body); font-size: 1.05rem; }
.mt-feature p { margin: 0; font-size: .86rem; }
.mt-about__image { position: relative; z-index: 0; }
.mt-about__image::after { content: ''; position: absolute; inset: 18px -18px -18px 18px; z-index: -1; border: 1px solid var(--mt-primary); }
.mt-about__image img { width: 100%; aspect-ratio: 1.1; object-fit: cover; }
.mt-quote { padding-inline-start: 18px; border-inline-start: 3px solid var(--mt-primary); color: var(--mt-ink); font-weight: 600; }
.mt-list { display: grid; gap: 8px; margin: 22px 0; padding: 0; list-style: none; color: var(--mt-ink); }
.mt-list li::before { content: '✓'; margin-inline-end: 8px; color: var(--mt-primary); font-weight: 700; }
.mt-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.mt-gallery a { overflow: hidden; }
.mt-gallery img { width: 100%; aspect-ratio: 1.35; object-fit: cover; transition: transform .5s ease; }
.mt-gallery a:hover img { transform: scale(1.06); }
.mt-page-header { padding: 170px 0 80px; background: var(--mt-primary-dark); color: #fff; text-align: center; }
.mt-page-header h1 { color: #fff; }
.site-footer { padding-top: 70px; background: var(--mt-primary); color: #eef0ff; }
.site-footer h3 { color: #fff; }
.site-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 50px; padding-bottom: 60px; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li + li { margin-top: 8px; }
.site-footer__bottom { padding: 20px 0; border-top: 1px solid rgba(255,255,255,.12); }
.mt-form { display: grid; gap: 18px; }
.mt-form label { display: grid; gap: 6px; color: var(--mt-ink); font-weight: 700; }
.mt-form input, .mt-form textarea { width: 100%; padding: 13px 15px; border: 1px solid var(--mt-border); font: inherit; }
.mt-form textarea { min-height: 150px; resize: vertical; }
.mt-split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.mt-split__image { width: 100%; aspect-ratio: 1 / .85; object-fit: cover; }
.mt-contact-header { position: relative; padding: 190px 0 92px; color: #fff; text-align: center; background: #131313 center/cover no-repeat; }
.mt-contact-header::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.68); }
.mt-contact-header .mt-container { position: relative; }
.mt-contact-header h1 { color: #fff; font-size: clamp(2.5rem, 5vw, 4.5rem); }
.mt-contact-header p { margin: 0; color: #fff; }
.mt-contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); gap: 70px; align-items: start; }
.mt-contact-cards { display: grid; gap: 20px; margin-top: 32px; }
.mt-contact-card { display: flex; align-items: center; gap: 18px; padding: 22px 24px; border-inline-end: 4px solid var(--mt-primary); background: var(--mt-light); color: var(--mt-ink); }
.mt-contact-card__icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--mt-primary); color: #fff; font-weight: 800; }
.mt-contact-card h3 { margin: 0; font-size: 1.05rem; }
.mt-contact-card p { margin: 2px 0 0; color: var(--mt-muted); }
.mt-contact-form-card { padding: 36px; box-shadow: 0 12px 36px rgba(24,25,70,.10); background: #fff; }
.mt-contact-form-card h2 { font-size: 1.7rem; }
@media (max-width: 800px) {
    body.admin-bar .site-header { top: 46px; }
    .site-menu-toggle { display: block; }
    .site-nav { display: none; position: absolute; inset: 88px 20px auto; padding: 20px; background: #fff; color: var(--mt-ink); box-shadow: 0 10px 30px rgba(0,0,0,.12); }
    .site-nav.is-open { display: block; }
    .site-nav ul { align-items: stretch; flex-direction: column; gap: 12px; }
    .mt-grid--3, .mt-split, .site-footer__grid, .mt-features__grid, .mt-gallery, .mt-contact-layout { grid-template-columns: 1fr; }
    .mt-feature + .mt-feature { border-inline-start: 0; border-top: 1px solid var(--mt-border); }
    .mt-feature { padding-block: 18px; }
    .mt-hero-slider { min-height: 600px; }
    .mt-section { padding-block: 70px; }
}
.mahfouztex-language-en { direction: ltr; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
