/*
Theme Name: MapsViet Theme
Theme URI: https://mapsviet.com
Author: MapsViet
Author URI: https://mapsviet.com
Description: Theme khung xương cho mapsviet.com. Theme CHỈ chịu trách nhiệm cấu hình hiển thị (header/footer wrapper, menu, style.css design tokens) — toàn bộ logic nghiệp vụ (danh bạ địa điểm, tỉnh thành, rao vặt, MapsViet Guide, đăng ký doanh nghiệp, premium, SEO...) nằm trong các plugin mapsviet-*. Theme không được chứa Custom Post Type, shortcode hay xử lý form.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mapsviet-theme
*/

/* ==========================================================================
   Design tokens — nguồn tham chiếu duy nhất cho toàn bộ site.
   mapsviet-core sẽ in đè các biến này qua Customizer (màu thương hiệu...),
   nhưng GIÁ TRỊ MẶC ĐỊNH luôn nằm ở đây để theme hoạt động được ngay cả khi
   plugin Core bị tắt (site không được vỡ hoàn toàn khi thiếu 1 plugin).
   ========================================================================== */
:root{
  --mv-font-display:'Plus Jakarta Sans','Inter',sans-serif;
  --mv-font-body:'Inter',sans-serif;
  --mv-brand:#1a73e8;
  --mv-accent:#1a73e8; --mv-accent-light:#e8f0fe; --mv-accent-dark:#1557b0;
  --mv-success:#188038; --mv-success-light:#e6f4ea;
  --mv-danger:#d93025; --mv-danger-light:#fce8e6;
  --mv-warning:#e37400; --mv-warning-light:#fef3e6;
  --mv-purple:#6b5ecf; --mv-purple-light:#eef0fb;
  --mv-text-primary:#202124; --mv-text-secondary:#5f6368; --mv-text-muted:#80868b;
  --mv-border:#e3e5e8; --mv-border-strong:#d2d5d9; --mv-surface:#ffffff; --mv-surface-alt:#f6f7f9;
  --mv-radius:12px; --mv-header-h:68px; --mv-sidebar-w:268px;
  --mv-shadow-sm:0 1px 2px rgba(60,64,67,.06), 0 1px 4px rgba(60,64,67,.06);
  --mv-shadow-md:0 2px 8px rgba(60,64,67,.1), 0 1px 3px rgba(60,64,67,.08);
}
*{ box-sizing:border-box; }
img{ max-width:100%; }
body{
  margin:0; font-family:var(--mv-font-body); color:var(--mv-text-primary);
  background:var(--mv-surface-alt); font-size:15.5px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{ text-decoration:none; color:inherit; }
h1,h2,h3,h4{ font-family:var(--mv-font-display); font-weight:700; letter-spacing:-0.01em; margin:0; }
:focus-visible{ outline:2px solid var(--mv-accent); outline-offset:2px; border-radius:6px; }
.mv-sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.mv-hidden{ display:none !important; }
.mv-container{ max-width:1180px; margin:0 auto; padding:0 24px; }
@media (max-width:600px){ .mv-container{ padding:0 14px; } }

/* Fallback notice khi 1 plugin bắt buộc bị tắt — không để trang trắng im lặng */
.mv-missing-plugin-notice{
  margin:40px auto; max-width:640px; background:var(--mv-warning-light); color:#7a4a00;
  border:1px solid var(--mv-warning); border-radius:var(--mv-radius); padding:20px 24px; font-size:14.5px;
}
