/*
Theme Name: InnoTheme
Theme URI: https://paylas.org.tr
Author: Innovator Technology
Description: WooCommerce uyumlu, Elementor destekli, InnoTheme Settings panelinden marka renkleri/tipografi/header/footer görünümü kod yazmadan yönetilebilen özelleştirilebilir tema.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: paylas
*/

/* View Transitions API (cross-document) — sayfa geçişlerinde tarayıcı
   yerleşik, hafif bir cross-fade uygular. JS gerektirmez, tek satır; bunu
   desteklemeyen tarayıcılar bu at-rule'u sessizce yok sayar, normal (anlık)
   sayfa geçişi olduğu gibi çalışmaya devam eder — hiçbir risk yok. */
@view-transition { navigation: auto; }

/* ── Tasarım tokenleri ──────────────────────────────────────────────────── */
:root {
  /* Renkler — 2026-08 marka yenilemesi: yeşil üzerine, açık/canlı bir palet
     (önceki terrakota+zümrüt yeşili paletinin yerine). Birincil #9cb73b
     (zeytin-limon yeşili, CTA/marka rengi), ikincil #60a340 (daha koyu/dolgun
     yeşil, vurgu rengi) — kullanıcının verdiği tam değerler. Diğer tonlar
     bunlardan türetildi (koyu/açık varyantlar), zemin renkleri de yeşille
     çatışmasın diye sıcak kremden soğuk/nötr açık yeşile kaydırıldı. */
  --color-primary: #9cb73b;
  --color-primary-dark: #7c9430;
  --color-primary-light: #b5cf5e;
  --color-accent: #60a340;
  --color-accent-dark: #4a7d31;
  --color-bg: #fbfdf6;
  --color-bg-alt: #f3f8e9;
  --color-surface: #ffffff;
  --color-fg: #1c2414;
  --color-fg-muted: #5c6b4a;
  --color-border: #dde8c8;
  --color-destructive: #dc2626;
  --color-ring: #9cb73b;

  /* Tipografi — Elementor Site Ayarları > Global Fontlar ile birebir aynı:
     Birincil = Ubuntu Sans (başlıklar), Metin = Poppins (gövde). */
  --font-heading: 'Ubuntu Sans', -apple-system, 'Segoe UI', sans-serif;
  --font-body: 'Poppins', -apple-system, 'Segoe UI', sans-serif;

  /* Ölçek */
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 24px;
  --radius-image: 12px;
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 48px;
  --space-xl: 96px;
  --container-max: 1200px;

  --shadow-card: 0 1px 3px rgba(28, 36, 20, 0.06), 0 8px 24px -8px rgba(28, 36, 20, 0.12);
  --shadow-card-none: none;

  /* Buton ölçüleri + tek bir global geçiş hızı (InnoTheme Settings >
     Butonlar & Kartlar'dan yönetilir) */
  --btn-padding-y: 12px;
  --btn-padding-x: 24px;
  --btn-min-height: 44px;
  --btn-border-width: 2px;
  --transition-base: 200ms;

  /* Sepet/checkout ilerleme çubuğu + odak kenarlıkları (InnoTheme Settings >
     WooCommerce Stilleri'nden yönetilir) */
  --woo-checkout-accent: #0d9488;
  --woo-checkout-accent-shadow: rgba(13, 148, 136, 0.4);
}

/* ── Reset ──────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
/* overflow-x:hidden TEK BAŞINA iOS Safari'de yeterli değil — touch/rubber-band
   kaydırma sırasında <html>/<body> üzerindeki overflow-x:hidden görmezden
   gelinip sayfa yatay yönde "kayabiliyor" (kullanıcı bildirimi: "her mobil
   telefonda hala kayma var"). overflow-x:clip, tarayıcının bu touch-scroll
   davranışını da (hidden'ın aksine) gerçekten engelleyen daha güçlü/yeni bir
   kısıtlama (Safari 16+ / iOS 16+ destekliyor); hidden bunu desteklemeyen çok
   eski tarayıcılar için yedek olarak duruyor. overscroll-behavior-x de aynı
   amaçla ek güvenlik katmanı. Kök nedenin (width:100vw tabanlı "tam genişlik"
   kart şeritleri) düzeltmesi assets/css/layout-v3.css içinde. */
html { overflow-x: hidden; overflow-x: clip; overscroll-behavior-x: none; max-width: 100%; }
/* Lenis kendi RAF-tabanlı yumuşatmasını yapıyor; native "scroll-behavior:smooth"
   AYNI ANDA aktif kalırsa ikisi birbiriyle yarışıp kayma sırasında takılma/jank
   yaratıyor. Lenis başarıyla başlatıldığı an <html>'e kalıcı olarak ".lenis"
   class'ını ekliyor (NOT ".lenis-smooth" — o class yalnızca programatik
   scrollTo() sırasında GEÇİCİ olarak eklenip kaldırılıyor, normal tekerlek
   kaydırmasında hiç görünmüyor; ilk denemede bu ayrımı kaçırıp yanlış class'ı
   hedeflemiştik). Lenis aktifken native smooth'u devre dışı bırakıyoruz. Lenis
   hiç yüklenemezse (script hatası, reduced-motion vb.) ":not(.lenis)" hâlâ
   devrede kalıp normal anchor-link kaydırmasını sağlıyor.
   !important ŞART: Elementor'ün kendi frontend.min.css'i de
   "@media (prefers-reduced-motion: no-preference) { html { scroll-behavior:
   smooth; } }" kuralını taşıyor (Elementor'ün "Smooth Scroll" deneysel
   özelliğinden, bizim kodumuzdan bağımsız) ve bizim stylesheet'imizden SONRA
   yükleniyor. .lenis class'ı varken ":not(.lenis)" hiç eşleşmediği için o an
   Elementor'ün !important'sız kuralı tek başına kalıp native smooth'u sessizce
   tekrar açıyordu — asıl "takılma" şikayetinin kaynağı buydu. !important bunu
   kalıcı olarak eziyor. */
html:not(.lenis) { scroll-behavior: smooth; }
html.lenis { scroll-behavior: auto !important; }
body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-fg);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  overflow-x: clip;
  overscroll-behavior-x: none;
  max-width: 100%;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; margin: 0; padding: 0; }
/* -webkit-appearance:none ŞART: iOS Safari, özel arka plan/border/padding
   verdiğimiz <button>'ların ÜZERİNE kendi native pill/gradient "chrome"
   görselini de çiziyor (masaüstü Chromium'da hiç görünmüyor, bu yüzden
   sadece gerçek iPhone'larda fark ediliyordu) — ör. sepet sayfasındaki
   "🇹🇷 +90" bayrak butonu, tasarım eksik/bozuk gibi görünüyordu. */
button { font-family: inherit; cursor: pointer; -webkit-appearance: none; appearance: none; }
h1, h2, h3, h4 {
  font-family: var(--font-heading);
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 var(--space-sm);
  color: var(--color-fg);
}
h1 { font-size: clamp(2rem, 4vw, 3.25rem); }
h2 { font-size: clamp(1.5rem, 3vw, 2.25rem); }
h3 { font-size: 1.375rem; }
p { margin: 0 0 var(--space-sm); }

@media (prefers-reduced-motion: reduce) {
  /* !important şart: reduced-motion altında Lenis hiç başlatılmıyor (animations.js),
     yani <html> hiçbir zaman ".lenis" class'ını almıyor — bu da yukarıdaki
     "html:not(.lenis)" kuralının (class-seviyesi özgüllük) burayı ezip
     smooth scroll'u yanlışlıkla tekrar açmasına yol açardı. */
  html { scroll-behavior: auto !important; }
  * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* ── Kaydırma İlerleme Çubuğu (CSS Scroll-Driven Animations) ──────────────
   Saf CSS, sıfır JS maliyeti — sayfa ne kadar kaydırıldığını üstte ince bir
   çubukla gösterir. animation-timeline:scroll(root) henüz tüm tarayıcılarda
   desteklenmediği için @supports ile sarmalanmış; desteklemeyen tarayıcıda
   bu blok tamamen atlanır, hiçbir şey render edilmez (zararsız). */
@supports (animation-timeline: scroll(root)) {
  body::before {
    content: '';
    position: fixed; top: 0; left: 0; right: 0; height: 3px;
    background: var(--color-primary);
    transform-origin: left center;
    transform: scaleX(0);
    z-index: 9999;
    pointer-events: none;
    animation: paylas-scroll-progress linear;
    animation-timeline: scroll(root);
  }
  @media (prefers-reduced-motion: reduce) {
    body::before { display: none; }
  }
}
@keyframes paylas-scroll-progress {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* ── Yardımcılar ────────────────────────────────────────────────────────── */
.container { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--space-md); }
.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: var(--btn-padding-y) var(--btn-padding-x); border-radius: var(--radius-sm); font-weight: 600;
  font-size: 0.95rem; border: var(--btn-border-width) solid transparent; transition: all var(--transition-base) ease;
  min-height: var(--btn-min-height);
  position: relative; overflow: hidden;
  --btn-accent: var(--color-primary);
}

/* ── Interactive Hover Button ──────────────────────────────────────────────
   JS (main.js) her .btn'in metnini bu üç parçaya sarmalar:
   .btn-ihb__label (orijinal metin), .btn-ihb__hover (metin+ok, sağdan gelir),
   .btn-ihb__dot (köşeden büyüyen, tüm butonu kaplayan renkli daire). Sarma
   uygulanmamış (JS henüz çalışmamış / devre dışı) butonlar normal görünüp
   çalışmaya devam eder — efekt yalnızca ek bir katman. */
.btn-ihb__label {
  display: inline-block; transition: transform 300ms ease, opacity 300ms ease;
}
.btn-ihb__hover {
  position: absolute; inset: 0; z-index: 2;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  color: #fff; opacity: 0; transform: translateX(12px);
  transition: transform 300ms ease, opacity 300ms ease;
  pointer-events: none;
}
.btn-ihb__hover svg { width: 16px; height: 16px; flex: 0 0 auto; }
/* NOT: Önceden 8px'lik küçük bir daireyi transform:scale(30) ile büyütüyorduk.
   Sabit bir ölçek katsayısı sadece belirli bir buton genişliğine göre "yeterince
   büyük" oluyor — geniş butonlarda (ör. "Detaylı Bilgi Al →") dairenin erişim
   alanı butonun sağ kenarına ulaşmadan bitiyor, o kenarda eski arkaplan rengi
   geçişi tamamlanmamış gibi görünüyordu. clip-path: circle(%) ise yüzdeyi
   HER ZAMAN elemanın kendi genişlik/yüksekliğine göre hesaplar, bu yüzden
   buton ne kadar geniş olursa olsun daire tüm butonu güvenle kaplar. */
.btn-ihb__dot {
  position: absolute; inset: 0; z-index: 1;
  border-radius: inherit;
  background: var(--btn-accent);
  clip-path: circle(0% at 18px 50%);
  /* opacity:0: bazı tarayıcılar clip-path:circle(0%) değerini matematiksel
     olarak tam sıfır değil, 1-2px'lik ölçülemeyecek kadar küçük bir daire
     olarak render edebiliyor — bu, "♥" gibi ikonların üzerine küçük bir
     nokta binmiş gibi görünen bir artefakta yol açıyordu. opacity:0 bunu
     kesin olarak gizler, hover'da anında (0ms gecikmeyle) görünür olur. */
  opacity: 0;
  transition: clip-path 400ms ease, opacity 0s 0s;
}
.btn:hover .btn-ihb__label,
.paylas-btn:hover .btn-ihb__label { transform: translateX(30px); opacity: 0; }
.btn:hover .btn-ihb__hover,
.paylas-btn:hover .btn-ihb__hover { opacity: 1; transform: translateX(0); }
.btn:hover .btn-ihb__dot,
.paylas-btn:hover .btn-ihb__dot { clip-path: circle(150% at 18px 50%); opacity: 1; }
.btn-outline .btn-ihb__dot { background: var(--btn-accent); }
.btn-outline:hover .btn-ihb__hover { color: #fff; }
/* --btn-accent'i koyu tona ayarlıyoruz ki hover'da büyüyen .btn-ihb__dot
   (clip-path ile tüm butonu kaplayan katman) bu koyu rengi kullansın.
   ÖNCEDEN burada AYRICA ":hover { background: var(--color-primary-dark) }"
   vardı — bu, butonun kendi arka planını da koyulaştırıyordu, ama dot hâlâ
   AÇIK yeşildi (--btn-accent varsayılanı). Butonun "transparent" kenarlığı
   altındaki (artık koyulaşmış) arka planı gösterdiği için, açık renkli dot
   ile koyu kenarlık arasında ince, kötü görünen bir "stroke" oluşuyordu.
   Artık butonun kendi arka planı hiç değişmiyor — geçiş tamamen dot'un
   (doğru, koyu renkte) büyümesiyle sağlanıyor, kenarlık her zaman aynı
   rengi gösterdiği için görünür bir kenar/stroke kalmıyor. */
.btn-primary { background: var(--color-primary); color: #fff !important; --btn-accent: var(--color-primary-dark); }
/* border-width'i biraz inceltip rengi tam doygun yerine yumuşatılmış bir
   tonda tutuyoruz ("Tüm Bağış Kategorilerini Gör" gibi outline butonlardaki
   sert/keskin çerçeve hissi için) — metin rengi hâlâ tam kontrastta kalıyor. */
.btn-outline {
  border-width: 1.5px;
  border-color: color-mix(in srgb, var(--color-primary) 45%, transparent);
  color: var(--color-primary); background: transparent;
}
.btn-outline:hover { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.btn:focus-visible { outline: 3px solid var(--color-ring); outline-offset: 2px; }

.card {
  background: var(--color-surface); border-radius: var(--radius-md);
  box-shadow: var(--shadow-card); overflow: hidden;
}
body.innotheme-no-card-lift .paylas-activity-card:hover,
body.innotheme-no-card-lift .paylas-donate-card:hover,
body.innotheme-no-card-lift .paylas-blog-card:hover,
body.innotheme-no-card-lift .paylas-video-card:hover {
  transform: none !important;
  box-shadow: var(--shadow-card) !important;
}

.section { padding: var(--space-xl) 0; }
/* Mobilde 96px üst+96px alt dolgu, iki bölüm arasında ~192px'lik boş alan
   demekti — küçük ekranda içerikten daha fazla yer kaplıyordu. Aynı oranı
   koruyarak yarıya indiriyoruz (widget'lara özel .paylas-* sarmalayıcılar
   için layout-v3.css'teki karşılığına bakın). */
@media (max-width: 767px) {
  .section { padding: var(--space-lg) 0; }
}
.section-alt { background: var(--color-bg-alt); }
.section-header { text-align: center; max-width: 720px; margin: 0 auto var(--space-lg); position: relative; }
.section-header h2 {
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 800;
  color: var(--color-fg);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}
.section-header p { color: var(--color-fg-muted); font-size: 1.1rem; }

.eyebrow {
  display: inline-block; font-family: var(--font-body); font-weight: 700;
  font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--color-primary-dark);
  background: rgba(4, 120, 87, 0.1);
  padding: 6px 16px;
  border-radius: 999px;
  margin-bottom: 16px;
}

/* --- Added Styles for UI Updates --- */

/* Dropdown Menu (Acilir Menu) for Overlay */
.site-menu-overlay__list .menu-item-has-children {
  position: relative;
}
.site-menu-overlay__list .sub-menu {
  display: none;
  padding-left: 1rem;
  margin-top: 0.5rem;
  border-left: 2px solid var(--color-border);
}
.site-menu-overlay__list .menu-item-has-children:hover > .sub-menu,
.site-menu-overlay__list .menu-item-has-children:focus-within > .sub-menu {
  display: block;
  animation: fadeIn 0.3s ease;
}
.site-menu-overlay__list .sub-menu li {
  list-style: none;
  margin-bottom: 0.5rem;
}
.site-menu-overlay__list .sub-menu li a {
  font-size: 1.25rem;
  color: var(--color-fg-muted);
  text-decoration: none;
  transition: color 0.2s;
}
.site-menu-overlay__list .sub-menu li a:hover {
  color: var(--color-primary);
}

/* Layout Fixes (Sticky Footer) */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
main#main {
  flex: 1 0 auto;
}
.site-footer {
  margin-top: auto;
}

/* ── Auth Cards (Giriş/Kayıt/Şifremi Unuttum) ── */
.paylas-auth-container {
  padding: 40px 20px;
  background-color: transparent;
  display: flex;
  justify-content: center;
}
.paylas-auth-card {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  background: var(--color-surface, #fff);
  border-radius: 20px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.08);
  overflow: hidden;
  max-width: 1100px;
  width: 100%;
}
.paylas-auth-card--single {
  grid-template-columns: 0.9fr 1.1fr;
  max-width: 900px;
}
@media (max-width: 860px) {
  .paylas-auth-card,
  .paylas-auth-card--single {
    grid-template-columns: 1fr;
  }
  .paylas-auth-card--single .paylas-auth-banner {
    display: none;
  }
}

/* Sol Taraf: Visual Banner */
.paylas-auth-banner {
  position: relative;
  background: linear-gradient(135deg, var(--color-primary-dark, #1B4D3E) 0%, var(--color-primary, #4caf50) 100%);
  color: #ffffff;
  padding: 50px 40px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}
.paylas-auth-banner__overlay {
  position: absolute;
  inset: 0;
  background: url('https://paylas.org.tr/wp-content/uploads/2026/07/IMG_8055_optimized.mp4') center/cover;
  opacity: 0.2;
  mix-blend-mode: overlay;
}
.paylas-auth-banner__content {
  position: relative;
  z-index: 2;
}
.paylas-auth-banner__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(255,255,255,0.15);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  backdrop-filter: blur(4px);
  margin-bottom: 30px;
}
.paylas-auth-banner__title {
  font-size: 2.2rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 20px;
  color: #fff;
}
.paylas-auth-banner__text {
  font-size: 1.05rem;
  line-height: 1.6;
  opacity: 0.9;
  margin-bottom: 40px;
}
.paylas-auth-banner__stats {
  display: flex;
  gap: 30px;
  border-top: 1px solid rgba(255,255,255,0.2);
  padding-top: 30px;
}
.paylas-auth-banner__stat {
  display: flex;
  flex-direction: column;
}
.paylas-auth-banner__stat strong {
  font-size: 1.5rem;
  line-height: 1;
  margin-bottom: 5px;
}
.paylas-auth-banner__stat span {
  font-size: 0.85rem;
  opacity: 0.8;
}

/* Sağ Taraf: Form Kartı */
.paylas-auth-form-wrap {
  background: var(--color-surface, #fff);
  padding: 50px 60px;
}
@media (max-width: 600px) {
  .paylas-auth-form-wrap {
    padding: 30px 20px;
  }
}

/* Tabs */
.paylas-auth-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--color-border, #e5e7eb);
  margin-bottom: 30px;
}
.paylas-auth-tabs__btn {
  background: none;
  border: none;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-fg-muted, #6b7280);
  padding: 10px 20px;
  cursor: pointer;
  position: relative;
  outline: none;
}
.paylas-auth-tabs__btn::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--color-primary, #4caf50);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.paylas-auth-tabs__btn:hover {
  color: var(--color-fg, #111827);
}
.paylas-auth-tabs__btn.is-active {
  color: var(--color-primary, #4caf50);
}
.paylas-auth-tabs__btn.is-active::after {
  transform: scaleX(1);
}
.paylas-auth-tabs__pane {
  display: none;
  animation: fadeIn 0.4s ease;
}
.paylas-auth-tabs__pane.is-active {
  display: block;
}

/* Auth Forms - Match Checkout/Donation Styling */
.paylas-auth-form__field {
  margin-bottom: 20px;
}
.paylas-auth-form__field label {
  display: block;
  font-weight: 600;
  margin-bottom: 8px;
  font-size: 0.95rem;
  color: var(--color-fg-dark, #374151);
}
.paylas-auth-form__input {
  width: 100%;
  border: 1px solid var(--color-border, #d1d5db);
  border-radius: 999px !important;
  overflow: hidden;
  background: var(--color-bg-alt, #f9fafb);
  transition: all 300ms ease;
  padding: 14px 24px;
  font-size: 1.05rem;
  font-family: var(--font-body);
  color: var(--color-fg, #1f2937);
  outline: none;
}
.paylas-auth-form__input:focus {
  border-color: var(--color-primary, #4caf50);
  box-shadow: 0 0 0 4px rgba(4, 120, 87, 0.1);
  background: #fff;
}
.paylas-auth-password-wrap {
  position: relative;
}
.paylas-auth-password-toggle {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-fg-muted, #9ca3af);
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.paylas-auth-password-toggle:hover {
  color: var(--color-primary, #4caf50);
}
.paylas-auth-form__options {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  font-size: 0.9rem;
}
.paylas-auth-form__options a {
  color: var(--color-primary, #4caf50);
  font-weight: 600;
  text-decoration: none;
}
.paylas-auth-form__options a:hover {
  text-decoration: underline;
}
.paylas-auth-form__submit {
  width: 100%;
  border-radius: 999px !important;
  padding: 14px 32px;
  font-size: 1.1rem;
  font-weight: 700;
  background: var(--color-primary, #4caf50);
  color: #fff;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(4, 120, 87, 0.2);
  transition: transform 300ms ease, box-shadow 300ms ease;
}
.paylas-auth-form__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(4, 120, 87, 0.3);
}
.paylas-auth-form__footer {
  text-align: center;
  margin-top: 24px;
  font-size: 0.95rem;
  color: var(--color-fg-muted, #6b7280);
}
.paylas-auth-form__footer a {
  color: var(--color-primary, #4caf50);
  font-weight: 600;
  text-decoration: none;
}
.paylas-auth-header {
  margin-bottom: 30px;
}
.paylas-auth-header__title {
  font-size: 1.8rem;
  font-weight: 800;
  margin-bottom: 10px;
}
.paylas-auth-header__subtitle {
  color: var(--color-fg-muted, #6b7280);
  font-size: 1.05rem;
}

/* WooCommerce My Account Dashboard Restyling */
.woocommerce-account .woocommerce {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}
.paylas-myaccount-sidebar {
  flex: 0 0 280px;
  background: var(--color-bg, #fff);
  border-radius: 12px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.05);
  padding: 20px 0;
}
.paylas-myaccount-sidebar ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.paylas-myaccount-sidebar li {
  margin: 0;
  border-bottom: 1px solid var(--color-border);
}
.paylas-myaccount-sidebar li:last-child {
  border-bottom: none;
}
.paylas-myaccount-sidebar a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px 24px;
  color: var(--color-fg-muted);
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s;
}
.paylas-myaccount-sidebar a svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
}
.paylas-myaccount-sidebar li.is-active a,
.paylas-myaccount-sidebar a:hover {
  color: var(--color-primary);
  background-color: var(--color-bg-alt);
}
.woocommerce-account .woocommerce-MyAccount-content {
  flex: 1;
  min-width: 0;
  background: var(--color-bg, #fff);
  border-radius: 12px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.05);
  padding: 30px;
}
.paylas-myaccount-welcome h3 {
  margin-top: 0;
  margin-bottom: 10px;
}
.paylas-myaccount-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  margin-top: 30px;
  margin-bottom: 30px;
}
.paylas-myaccount-stat-card {
  display: flex;
  align-items: center;
  gap: 16px;
  background: var(--color-bg-alt);
  padding: 20px;
  border-radius: 12px;
  border: 1px solid var(--color-border);
}
.paylas-myaccount-stat-card .stat-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary);
  color: #fff;
  border-radius: 12px;
}
.paylas-myaccount-stat-card .stat-icon svg {
  width: 24px;
  height: 24px;
}
.paylas-myaccount-stat-card .stat-info h4 {
  margin: 0 0 5px 0;
  font-size: 1rem;
}
.paylas-myaccount-stat-card .stat-info a {
  font-size: 0.85rem;
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 500;
}
@media (max-width: 768px) {
  .woocommerce-account .woocommerce {
    flex-direction: column;
  }
  .paylas-myaccount-sidebar {
    flex: 1 1 100%;
  }
}

/* Header Login Dropdown (Site Header Actions) */
.site-header__login-wrapper {
  position: relative;
  display: inline-block;
}
.site-header__login {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--color-primary-dark, #2d3748);
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  padding: 8px 12px;
}
.site-header__login-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 220px;
  background: var(--color-bg, #fff);
  border: 1px solid var(--color-border, #eaeaea);
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  margin: 0;
  padding: 10px 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.2s ease;
  z-index: 1000;
}
.site-header__login-wrapper:hover .site-header__login-dropdown,
.site-header__login-wrapper:focus-within .site-header__login-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.site-header__login-dropdown li {
  margin: 0;
}
.site-header__login-dropdown li a {
  display: block;
  padding: 10px 20px;
  color: var(--color-fg-muted, #4a5568);
  text-decoration: none;
  transition: all 0.2s;
  font-size: 0.95rem;
}
.site-header__login-dropdown li a:hover {
  background: var(--color-bg-alt, #f7fafc);
  color: var(--color-primary, #4caf50);
}

/* WooCommerce Account Container and Spacing Fixes */
.woocommerce-account .page-content,
.woocommerce-account .site-main {
  padding-top: 50px;
  padding-bottom: 80px;
}
.woocommerce-account .container {
  max-width: 1400px;
  margin: 0 auto;
}

/* Custom Theme Styling for WooCommerce Forms (My Account) */
.woocommerce-account form .form-row input.input-text,
.woocommerce-account form .form-row textarea,
.woocommerce-account form .form-row select,
.paylas-auth-form__input {
  width: 100%;
  padding: 14px 16px;
  background-color: var(--color-bg-alt, #f8f9fa);
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: 8px;
  font-size: 1rem;
  color: var(--color-fg, #333);
  transition: all 0.2s ease-in-out;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.02);
  margin-top: 8px;
}
.woocommerce-account form .form-row input.input-text:focus,
.woocommerce-account form .form-row textarea:focus,
.paylas-auth-form__input:focus {
  border-color: var(--color-primary, #4caf50);
  outline: none;
  box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.15);
  background-color: var(--color-bg, #fff);
}
.woocommerce-account form .form-row label {
  font-weight: 500;
  display: block;
  color: var(--color-fg-muted, #555);
}
.woocommerce-account form fieldset {
  border: 1px solid var(--color-border, #e5e7eb);
  border-radius: 12px;
  padding: 20px;
  margin-top: 20px;
}
.woocommerce-account form fieldset legend {
  font-weight: 600;
  padding: 0 10px;
  color: var(--color-fg, #111);
}
