/* =========================================================
   Deniz Translation — additions for the WordPress version:
   language switcher, mobile menu on inner pages, form states,
   generic content pages and right-to-left (Arabic) support.
   ========================================================= */

/* ---------- Language switcher ---------- */
.dz-lang-switch { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border-radius: 9999px; border: 1.5px solid rgba(10,22,40,.12); }
.dz-lang-switch a { font-family: 'DM Sans', sans-serif; font-size: .72rem; font-weight: 700; letter-spacing: .06em; padding: .3rem .6rem; border-radius: 9999px; color: #6B7280; line-height: 1; transition: all 150ms ease; }
.dz-lang-switch a:hover { color: #B08E3E; }
.dz-lang-switch a.active { background: linear-gradient(135deg, #C8A45C 0%, #D4B876 100%); color: #0A1628; }
.pg-home .navbar:not(.scrolled) .dz-lang-switch { border-color: rgba(255,255,255,.2); }
.pg-home .navbar:not(.scrolled) .dz-lang-switch a:not(.active) { color: rgba(255,255,255,.75); }
.dz-lang-switch-mobile { margin-top: 1.25rem; border-color: rgba(255,255,255,.2) !important; }
.dz-lang-switch-mobile a { font-size: .9rem !important; padding: .5rem .9rem !important; color: rgba(255,255,255,.75) !important; }
.dz-lang-switch-mobile a.active { color: #0A1628 !important; }
.footer-lang-switch { display: flex; gap: .25rem; }
.footer-lang-switch a { padding: .25rem .75rem; border-radius: 4px; font-size: .75rem; font-weight: 500; color: rgba(255,255,255,.45); border: 1px solid rgba(255,255,255,.08); transition: all 150ms ease; }
.footer-lang-switch a:hover, .footer-lang-switch a.active { color: #C8A45C; border-color: rgba(200,164,92,.3); }

/* Home nav: 7 links + switcher need a little less spacing on small laptops */
@media (min-width: 1024px) and (max-width: 1240px) {
  .pg-home .nav-links { gap: 1.1rem; }
  .pg-home .nav-links a { font-size: .8rem; }
  body:not(.pg-home) .nav-links { gap: 1.25rem; }
}

/* ---------- Inner pages: hamburger + mobile menu (the design had none) ---------- */
.dz-hamburger { display: flex; flex-direction: column; gap: 5px; padding: .5rem; background: none; border: 0; cursor: pointer; position: relative; z-index: 401; }
.dz-hamburger span { width: 24px; height: 2px; background: #0A1628; transition: all 250ms ease; }
.dz-hamburger.active span { background: #fff; }
.dz-hamburger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.dz-hamburger.active span:nth-child(2) { opacity: 0; }
.dz-hamburger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (min-width: 1024px) { .dz-hamburger { display: none; } }
.dz-mobile-overlay { position: fixed; inset: 0; z-index: 400; background: rgba(10,22,40,.98); display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 250ms ease; }
.dz-mobile-overlay.open { opacity: 1; pointer-events: all; }
.dz-mobile-nav { display: flex; flex-direction: column; align-items: center; gap: 1.4rem; }
.dz-mobile-nav a { color: #fff; font-size: 1.2rem; font-weight: 500; }
.dz-mobile-nav a:hover { color: #C8A45C; }
.pg-home .hamburger { background: none; border: 0; cursor: pointer; position: relative; z-index: 401; }
.pg-home .hamburger.active span { background: #fff !important; }
body.dz-menu-open { overflow: hidden; }
.mobile-nav .btn-primary, .dz-mobile-nav .btn-primary { color: #0A1628; }

/* ---------- Forms ---------- */
.dz-hp { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; margin: -1px; padding: 0; border: 0; }
.dz-form-msg { margin: .25rem 0 1rem; padding: .75rem 1rem; border-radius: 8px; font-size: .9rem; background: rgba(220,38,38,.08); color: #B91C1C; border: 1px solid rgba(220,38,38,.18); }
.dz-form-msg.ok { background: rgba(22,163,74,.08); color: #15803D; border-color: rgba(22,163,74,.2); }
.dz-invalid { border-color: #DC2626 !important; box-shadow: 0 0 0 3px rgba(220,38,38,.08) !important; }
.dz-drag { border-color: #C8A45C !important; background: rgba(200,164,92,.06) !important; }
.file-list .file-chip { display: inline-block; margin: .35rem .35rem 0 0; padding: .25rem .65rem; border-radius: 9999px; background: rgba(200,164,92,.12); color: #0A1628; font-size: .78rem; }
.pg-partner .file-upload { cursor: pointer; }
.pg-partner .file-upload .file-list { display: block; }
.dz-success-line { margin-top: 1rem; padding: 1rem 1.25rem; border-radius: 12px; background: rgba(22,163,74,.08); color: #15803D; font-weight: 600; text-align: center; }
.contact-form-wrap button[disabled], .submit-btn[disabled], .btn-submit[disabled] { opacity: .65; cursor: progress; }
[hidden] { display: none !important; }

/* ---------- Small helpers ---------- */
.faq-item .faq-chevron { transition: transform 250ms ease; flex-shrink: 0; }
.faq-item.open .faq-chevron { transform: rotate(180deg); }
.dz-inline-icon { vertical-align: middle; margin-inline-end: 8px; }
.pg-home .dz-center-btn { display: flex; width: max-content; margin: 1.5rem auto 0; }
.pg-home .languages-section .dz-center-btn { color: #D4B876; }
.pg-services .svc-cta { display: flex; flex-wrap: wrap; gap: .75rem; }
.pg-services .svc-cta .btn-outline { padding: .75rem 1.5rem; }

/* ---------- Generic content / 404 ---------- */
.dz-simple-hero { padding: 9rem 0 4rem; text-align: center; background: linear-gradient(158deg,#091426 0%,#0D1F3C 46%,#12294B 100%); color: #fff; }
.dz-simple-hero h1 { color: #fff; font-size: clamp(2rem,5vw,3.25rem); margin-bottom: 1rem; }
.dz-simple-hero .hero-sub { color: rgba(255,255,255,.6); max-width: 620px; margin: 0 auto; }
.dz-content { background: #F8F6F1; }
.dz-prose { max-width: 820px !important; font-size: 1.05rem; line-height: 1.8; color: #1A1A2E; }
.dz-prose h2, .dz-prose h3 { margin: 2rem 0 1rem; }
.dz-prose p, .dz-prose ul, .dz-prose ol { margin-bottom: 1.1rem; }
.dz-prose ul { list-style: disc; padding-inline-start: 1.5rem; }
.dz-prose a { color: #B08E3E; text-decoration: underline; }
.dz-post-card { background: #fff; border-radius: 16px; padding: 1.75rem; margin-bottom: 1.25rem; box-shadow: 0 2px 16px rgba(0,0,0,.06); }
.dz-meta { color: #6B7280; font-size: .85rem; }

/* Admin bar offset for the fixed navbar */
body.admin-bar .navbar { top: 32px; }
@media (max-width: 782px) { body.admin-bar .navbar { top: 46px; } }

/* =========================================================
   Arabic / RTL
   ========================================================= */
html[lang="ar"] body,
html[lang="ar"] button, html[lang="ar"] input, html[lang="ar"] select, html[lang="ar"] textarea { font-family: 'Cairo', 'DM Sans', sans-serif; }
html[lang="ar"] h1, html[lang="ar"] h2, html[lang="ar"] h3, html[lang="ar"] h4, html[lang="ar"] h5,
html[lang="ar"] .section-title, html[lang="ar"] .hero-title, html[lang="ar"] blockquote, html[lang="ar"] .about-motto,
html[lang="ar"] .pricing-tier, html[lang="ar"] .testimonial-text, html[lang="ar"] .stat-value { font-family: 'Cairo', 'Playfair Display', serif; }
html[lang="ar"] .nav-logo, html[lang="ar"] .footer-logo { font-family: 'Playfair Display', Georgia, serif; direction: ltr; }
html[lang="ar"] .section-eyebrow, html[lang="ar"] .hero-label, html[lang="ar"] .hero-chip { letter-spacing: 0; }
html[lang="ar"] body { line-height: 1.75; }
html[lang="ar"] .hero-title { line-height: 1.35; }

/* Mirror directional arrows */
[dir="rtl"] .dz-icon-arrow-right, [dir="rtl"] .dz-icon-arrow-left, [dir="rtl"] .dz-icon-chevron-right, [dir="rtl"] .dz-arrow, [dir="rtl"] .dz-icon-send { transform: scaleX(-1); }
[dir="rtl"] .back-arrow { transform: none !important; }
[dir="rtl"] .pair-arrow .reverse { transform: none !important; }

/* Text alignment & spacing that the LTR design hard-coded */
[dir="rtl"] .nav-links a::after { left: auto; right: 0; }
[dir="rtl"] .form-select { background-position: left 1rem center !important; padding-right: 1rem !important; padding-left: 2.5rem !important; }
[dir="rtl"] input[type="email"], [dir="rtl"] input[type="tel"], [dir="rtl"] input[type="number"] { text-align: right; }
[dir="rtl"] .comparison-table th, [dir="rtl"] .comparison-table td { text-align: right; }
[dir="rtl"] .svc-card::before, [dir="rtl"] .service-card::before { transform-origin: right; }
[dir="rtl"] .clients-marquee { direction: ltr; }
[dir="rtl"] .clients-marquee .client-logo { direction: rtl; }
[dir="rtl"] .chat-bubble, [dir="rtl"] .chat-panel { right: auto !important; left: 1.5rem; }
[dir="rtl"] .custom-cursor { display: none; }
[dir="rtl"] .pg-home .floating-badge:nth-child(1) { right: auto; left: 8%; }
[dir="rtl"] .pg-home .floating-badge:nth-child(2) { right: auto; left: 3%; }
[dir="rtl"] .pg-home .floating-badge:nth-child(3) { right: auto; left: 12%; }
.pg-home .contact-list svg, .pg-home .contact-list .dz-icon { flex-shrink: 0; }
.dz-simple-hero { min-height: 60vh; display: flex; align-items: center; }
.dz-simple-hero > .container { width: 100%; }
.pg-languages .lang-card, .pg-languages .lang-info { min-width: 0; }
.pg-languages .lang-info strong, .pg-languages .lang-native { overflow-wrap: anywhere; }
@media (max-width: 600px) { .pg-languages .languages-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
