/* =========================================================
   DIAMOND AC VISA — PUBLIC EXECUTIVE AUTHORITY OVERRIDE
   Siyah · Beyaz · Kırmızı (Dual-Theme: Dark Default / Light)
   SIFIR REGRESYON: Mevcut class ve JS selector'ları korunur
   ========================================================= */

:root,
html[data-pub-theme="dark"] {
  --dxp-bg-canvas: #070709;
  --dxp-bg-surface: #0e0e12;
  --dxp-bg-elevated: #14141a;
  --dxp-bg-hover: #1b1b23;
  --dxp-text: #f7f7f8;
  --dxp-text-secondary: #c9cad1;
  --dxp-text-muted: #8a8d98;
  --dxp-border: rgba(255, 255, 255, 0.08);
  --dxp-border-strong: rgba(255, 255, 255, 0.16);
  --dxp-red: #dc2626;
  --dxp-red-hover: #ef4444;
  --dxp-red-soft: rgba(220, 38, 38, 0.12);
  --dxp-gold: #dcb85f;
  --dxp-gold-soft: rgba(220, 184, 95, 0.12);
  --dxp-header-bg: rgba(7, 7, 9, 0.88);
  --dxp-shadow: 0 18px 42px -18px rgba(0, 0, 0, 0.65);

  /* Shared .dx-scope tokens for portals & badges */
  --dx-bg-canvas: #070709;
  --dx-bg-surface: #0e0e12;
  --dx-bg-elevated: #14141a;
  --dx-bg-hover: #1b1b23;
  --dx-text-primary: #f7f7f8;
  --dx-text-secondary: #c9cad1;
  --dx-text-muted: #8a8d98;
  --dx-border: rgba(255, 255, 255, 0.08);
  --dx-border-strong: rgba(255, 255, 255, 0.16);
  --dx-red: #dc2626;
  --dx-red-hover: #ef4444;
  --dx-red-soft: rgba(220, 38, 38, 0.12);
  --dx-red-border: rgba(220, 38, 38, 0.35);
  --dx-success: #10b981;
  --dx-success-soft: rgba(16, 185, 129, 0.12);
  --dx-warning: #f59e0b;
  --dx-warning-soft: rgba(245, 158, 11, 0.12);
  --dx-info: #3b82f6;
  --dx-info-soft: rgba(59, 130, 246, 0.12);
}

html[data-pub-theme="light"],
html[data-theme="light"] {
  --dxp-bg-canvas: #f1f5f9;
  --dxp-bg-surface: #ffffff;
  --dxp-bg-elevated: #f8fafc;
  --dxp-bg-hover: #e2e8f0;
  --dxp-text: #09090b;
  --dxp-text-secondary: #1e293b;
  --dxp-text-muted: #334155;
  --dxp-border: #cbd5e1;
  --dxp-border-strong: #94a3b8;
  --dxp-red: #c81e1e;
  --dxp-red-hover: #dc2626;
  --dxp-red-soft: rgba(200, 30, 30, 0.10);
  --dxp-gold: #855f0f;
  --dxp-gold-soft: rgba(154, 116, 32, 0.12);
  --dxp-header-bg: rgba(255, 255, 255, 0.96);
  --dxp-shadow: 0 12px 30px -14px rgba(15, 23, 42, 0.14);

  /* Shared .dx-scope tokens for portals & badges (Light) */
  --dx-bg-canvas: #f1f5f9;
  --dx-bg-surface: #ffffff;
  --dx-bg-elevated: #f8fafc;
  --dx-bg-hover: #e2e8f0;
  --dx-text-primary: #09090b;
  --dx-text-secondary: #1e293b;
  --dx-text-muted: #334155;
  --dx-border: #cbd5e1;
  --dx-border-strong: #94a3b8;
  --dx-red: #c81e1e;
  --dx-red-hover: #dc2626;
  --dx-red-soft: rgba(200, 30, 30, 0.10);
  --dx-red-border: rgba(200, 30, 30, 0.34);
}

/* Light Mode Comprehensive Crisp Black Text & Visible Borders (Public & Portals) */
html[data-pub-theme="light"] .card,
html[data-pub-theme="light"] .service-card,
html[data-pub-theme="light"] .country-card,
html[data-pub-theme="light"] .process-step,
html[data-pub-theme="light"] .faq-item,
html[data-pub-theme="light"] .trust-card,
html[data-pub-theme="light"] .hero-card,
html[data-pub-theme="light"] .auth-box-card,
html[data-pub-theme="light"] .dx-card,
html[data-pub-theme="light"] .dxp-card,
html[data-pub-theme="light"] .mobile-portal-card,
html[data-pub-theme="light"] .footer-disclaimer-box {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #09090b !important;
}

html[data-pub-theme="light"] h1,
html[data-pub-theme="light"] h2,
html[data-pub-theme="light"] h3,
html[data-pub-theme="light"] h4,
html[data-pub-theme="light"] h5,
html[data-pub-theme="light"] h6,
html[data-pub-theme="light"] strong,
html[data-pub-theme="light"] .nav-link,
html[data-pub-theme="light"] .mobile-nav-link {
  color: #09090b !important;
}

html[data-pub-theme="light"] p,
html[data-pub-theme="light"] li,
html[data-pub-theme="light"] .section-desc,
html[data-pub-theme="light"] .hero-desc,
html[data-pub-theme="light"] .service-card p,
html[data-pub-theme="light"] .country-card-snippet,
html[data-pub-theme="light"] .faq-answer {
  color: #1e293b !important;
}

/* Smooth theme switch */
html.dx-theme-anim,
html.dx-theme-anim *,
html.dx-theme-anim *::before,
html.dx-theme-anim *::after {
  transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease, box-shadow 220ms ease !important;
}

/* Header & Navigation Refinement */
.site-header {
  background: var(--dxp-header-bg) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--dxp-border) !important;
}

.main-nav .nav-link {
  position: relative;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: color 160ms ease;
}

.main-nav .nav-link.active::after,
.main-nav .nav-link:hover::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: -4px;
  height: 2px;
  background: var(--dxp-red);
  border-radius: 2px;
}

/* Editorial Display Accent */
.dxp-serif {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.015em;
}

/* Primary & Secondary CTA Buttons */
.btn-primary,
.pub-cta-btn {
  background: var(--dxp-red) !important;
  border-color: var(--dxp-red) !important;
  color: #ffffff !important;
  font-weight: 600;
  letter-spacing: 0.02em;
  box-shadow: 0 8px 22px -6px rgba(220, 38, 38, 0.45);
  transition: transform 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}

.btn-primary:hover,
.pub-cta-btn:hover {
  background: var(--dxp-red-hover) !important;
  border-color: var(--dxp-red-hover) !important;
  transform: translateY(-1px);
}

/* Country & Service Cards */
.country-card,
.service-card,
.blog-card,
.ref-card {
  background: var(--dxp-bg-surface);
  border: 1px solid var(--dxp-border);
  border-radius: 14px;
  box-shadow: var(--dxp-shadow);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.country-card:hover,
.service-card:hover,
.blog-card:hover,
.ref-card:hover {
  transform: translateY(-3px);
  border-color: var(--dxp-red);
}

/* Dark Band Protection in Light Mode (index.php L224 fix) */
html[data-pub-theme="light"] .is-dark-band,
html[data-pub-theme="light"] [style*="#0b1120"],
html[data-pub-theme="light"] [style*="#0f172a"] {
  color: #f7f7f8 !important;
}

html[data-pub-theme="light"] .is-dark-band h2,
html[data-pub-theme="light"] .is-dark-band h3,
html[data-pub-theme="light"] .is-dark-band h4,
html[data-pub-theme="light"] [style*="#0b1120"] h2,
html[data-pub-theme="light"] [style*="#0b1120"] h3,
html[data-pub-theme="light"] [style*="#0b1120"] h4 {
  color: #ffffff !important;
}

html[data-pub-theme="light"] .is-dark-band p,
html[data-pub-theme="light"] [style*="#0b1120"] p {
  color: #cbd5e1 !important;
}

/* Broken Image Fallback Wrapper */
.dxp-media-fallback {
  background: linear-gradient(135deg, #0e0e12 0%, #1a1a22 55%, rgba(220, 38, 38, 0.18) 100%) !important;
  position: relative;
}

/* Shared SVG Icon & ISO Country Code Badges */
.dx-icon {
  display: inline-block;
  vertical-align: -0.18em;
  flex-shrink: 0;
}

.dx-iso {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 18px;
  padding: 0 5px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--dxp-text);
  background: var(--dxp-bg-elevated);
  border: 1px solid var(--dxp-border-strong);
  border-radius: 4px;
  line-height: 1;
}

.dx-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.03em;
  border-radius: 999px;
  border: 1px solid var(--dxp-border-strong);
  background: var(--dxp-bg-elevated);
  color: var(--dxp-text-secondary);
}

.dx-chip--red,
.dx-chip--danger {
  background: var(--dxp-red-soft);
  border-color: rgba(220, 38, 38, 0.35);
  color: #f87171;
}

.dx-chip--gold {
  background: var(--dxp-gold-soft);
  border-color: rgba(220, 184, 95, 0.38);
  color: var(--dxp-gold);
}

.dx-chip--success {
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(16, 185, 129, 0.32);
  color: #34d399;
}

.dx-chip--warning {
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.32);
  color: #fbbf24;
}

.dx-chip--info {
  background: rgba(59, 130, 246, 0.12);
  border-color: rgba(59, 130, 246, 0.32);
  color: #60a5fa;
}

/* Defensive SVG & Flag Sizing Guard (Prevents Oversized Icons) */
svg:not([width]):not(.hero-svg):not(.chart-svg) {
  width: 1.15em;
  height: 1.15em;
  max-width: 24px;
  max-height: 24px;
  flex-shrink: 0;
}

.nav-menu .nav-link svg,
.mega-menu a svg,
.mobile-nav-list svg,
.footer-contact-item svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.flag-icon-mini,
.vitrin-country-flag,
.country-pill img {
  width: 18px !important;
  height: 13px !important;
  object-fit: cover;
  border-radius: 2px;
  flex-shrink: 0;
}

/* Reduced Motion Respect */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Official Final DIAMOND PARTNERS Horizontal Logo & Luminous White Glow */
.diamond-logo-frame,
.brand-logo-frame {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 2px 4px !important;
}

.diamond-logo-frame img,
.brand-logo-frame img,
.brand-header-logo {
  height: 50px !important;
  width: auto !important;
  max-width: 168px !important;
  max-height: 54px !important;
  border-radius: 0 !important;
  background: transparent !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.96)) drop-shadow(0 2px 14px rgba(255, 255, 255, 0.68)) !important;
}

.diamond-logo-frame--footer img,
.footer-main .diamond-logo-frame img {
  height: 60px !important;
  max-width: 195px !important;
  max-height: 64px !important;
}

.diamond-logo-frame--auth img,
.auth-header-card .diamond-logo-frame img {
  height: 76px !important;
  max-width: 240px !important;
  max-height: 82px !important;
}

@media (max-width: 768px) {
  .site-header .diamond-logo-frame img,
  .brand-header-logo {
    height: 42px !important;
    max-width: 138px !important;
  }
}

