/* =========================================================================
   Digital Marketing Myanmar — Design System
   Mobile-first. CSS custom properties driven (see customizer.php for
   runtime overrides of --color-primary/--color-secondary/--color-accent).
   ========================================================================= */

:root{
  --font-heading: 'Fraunces', serif;
  --font-body: 'Inter', sans-serif;

  --color-bg:#FFFFFF;
  --color-bg-light:#F8FAFC;
  --color-border:#E2E8F0;
  --color-text:#1E293B;
  --color-text-muted:#64748B;

  --radius:16px;
  --radius-sm:10px;
  --shadow-sm: 0 1px 2px rgba(15,23,42,.04);
  --shadow-md: 0 8px 24px rgba(15,23,42,.08);
  --shadow-lg: 0 16px 48px rgba(15,23,42,.12);

  --max-width:1280px;
  --content-width:760px;
  --header-height:72px;
}

[data-theme="dark"]{
  --color-bg:#0B1220;
  --color-bg-light:#0F172A;
  --color-border:#1E293B;
  --color-text:#E2E8F0;
  --color-text-muted:#94A3B8;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top: calc(var(--header-height) + 16px); }

body{
  margin:0;
  font-family:var(--font-body);
  background:var(--color-bg);
  color:var(--color-text);
  line-height:1.65;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  transition:background-color .2s ease, color .2s ease;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:var(--color-primary); text-decoration:none; }
a:hover{ text-decoration:underline; }

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-heading);
  font-weight:600;
  font-optical-sizing:auto;
  line-height:1.15;
  letter-spacing:-0.01em;
  color:var(--color-secondary);
  margin:0 0 .5em;
}
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,
[data-theme="dark"] h4,[data-theme="dark"] h5,[data-theme="dark"] h6{ color:var(--color-text); }

h1{ font-size:clamp(2.25rem,5.5vw,3.5rem); font-weight:600; letter-spacing:-0.02em; }
h2{ font-size:clamp(1.6rem,3.5vw,2.4rem); }
h3{ font-size:1.3rem; }

/* Italic serif accents — used sparingly for editorial character (pull-quotes, testimonials) */
blockquote, .testimonial-card p{ font-family:var(--font-heading); font-style:italic; font-weight:500; letter-spacing:0; }
p{ margin:0 0 1.2em; }

.container{ max-width:var(--max-width); margin:0 auto; padding:0 20px; }
.screen-reader-text{ position:absolute!important; clip:rect(1px,1px,1px,1px); overflow:hidden; height:1px; width:1px; }
.skip-link{ position:absolute; top:-100px; left:10px; background:var(--color-primary); color:#fff; padding:10px 16px; border-radius:8px; z-index:1000; }
.skip-link:focus{ top:10px; }

button{ font-family:inherit; cursor:pointer; }
a:focus-visible, button:focus-visible, input:focus-visible{
  outline:2px solid var(--color-primary); outline-offset:2px;
}

/* Reading progress bar */
.reading-progress-bar{
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:var(--color-accent); z-index:1100; transition:width .1s linear;
}

/* ---------------------------- Buttons --------------------------------- */
.button-primary, .wp-block-button__link{
  display:inline-block; background:var(--color-primary); color:#fff!important;
  padding:14px 28px; border-radius:999px; font-weight:600; text-decoration:none;
  box-shadow:var(--shadow-sm); transition:transform .15s ease, box-shadow .15s ease;
}
.button-primary:hover, .wp-block-button__link:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); text-decoration:none; }
.button-outline, .is-style-outline .wp-block-button__link{
  display:inline-block; background:transparent; color:var(--color-secondary)!important;
  border:1.5px solid var(--color-border); padding:12.5px 26px; border-radius:999px; font-weight:600;
}
[data-theme="dark"] .button-outline, [data-theme="dark"] .is-style-outline .wp-block-button__link{ color:var(--color-text)!important; }
.button-outline:hover{ border-color:var(--color-primary); text-decoration:none; }

/* ---------------------------- Header ------------------------------------ */
.site-header{ background:var(--color-bg); border-bottom:1px solid var(--color-border); position:relative; z-index:900; }
.site-header.is-sticky{ position:sticky; top:0; }
.site-header-inner{ display:flex; align-items:center; justify-content:space-between; height:var(--header-height); gap:24px; }
.site-branding .site-title{ font-family:var(--font-heading); font-weight:800; font-size:1.25rem; color:var(--color-secondary); }
[data-theme="dark"] .site-branding .site-title{ color:var(--color-text); }
.custom-logo{ max-height:40px; width:auto; }

.main-navigation{ flex:1; }
.primary-menu{ list-style:none; display:flex; gap:28px; margin:0; padding:0; align-items:center; }
.primary-menu > li{ position:relative; }
.primary-menu > li > a{ color:var(--color-text); font-weight:600; font-size:.95rem; }
.primary-menu > li > a:hover{ color:var(--color-primary); text-decoration:none; }

.mega-menu, .dropdown-menu{
  display:none; position:absolute; top:100%; left:0; background:var(--color-bg);
  border:1px solid var(--color-border); border-radius:var(--radius-sm); box-shadow:var(--shadow-lg);
  padding:16px; min-width:240px; z-index:950;
}
.menu-item-has-mega .mega-menu{ min-width:520px; }
.menu-item-has-mega:hover .mega-menu, .menu-item-has-dropdown:hover .dropdown-menu,
.menu-item-has-mega:focus-within .mega-menu, .menu-item-has-dropdown:focus-within .dropdown-menu{ display:block; }
.mega-menu-list, .dropdown-menu-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.mega-menu-list li a, .dropdown-menu-list li a{ display:block; padding:8px 10px; border-radius:8px; color:var(--color-text); font-weight:500; font-size:.9rem; }
.mega-menu-list li a:hover, .dropdown-menu-list li a:hover{ background:var(--color-bg-light); text-decoration:none; }

.site-header-actions{ display:flex; align-items:center; gap:8px; }
.search-toggle, .dark-mode-toggle, .menu-toggle{
  background:transparent; border:1px solid var(--color-border); border-radius:999px;
  width:40px; height:40px; display:flex; align-items:center; justify-content:center; color:var(--color-text);
}
.icon-moon{ display:none; }
[data-theme="dark"] .icon-sun{ display:none; }
[data-theme="dark"] .icon-moon{ display:block; }

.menu-toggle{ display:flex; flex-direction:column; gap:4px; background:none; }
.menu-toggle-bar, .menu-toggle-bar::before, .menu-toggle-bar::after{
  content:''; display:block; width:18px; height:2px; background:currentColor;
}
.menu-toggle-bar::before{ transform:translateY(-6px); }
.menu-toggle-bar::after{ transform:translateY(4px); }

.ajax-search-panel{
  display:none; border-top:1px solid var(--color-border); background:var(--color-bg);
  padding:20px 0; position:absolute; left:0; right:0; box-shadow:var(--shadow-md);
}
.ajax-search-panel.is-open{ display:block; }
.search-form{ display:flex; gap:8px; }
.search-field{ flex:1; padding:12px 16px; border:1px solid var(--color-border); border-radius:999px; background:var(--color-bg-light); color:var(--color-text); font-size:1rem; }
.search-submit{ background:var(--color-primary); color:#fff; border:none; border-radius:999px; padding:0 22px; font-weight:600; }
.ajax-search-results{ margin-top:12px; max-height:360px; overflow-y:auto; }
.ajax-search-results a{ display:block; padding:10px 12px; border-radius:8px; color:var(--color-text); }
.ajax-search-results a:hover{ background:var(--color-bg-light); text-decoration:none; }

/* Mobile nav */
@media (max-width: 900px){
  .menu-toggle{ display:flex; }
  .main-navigation{ position:fixed; inset:var(--header-height) 0 0 0; background:var(--color-bg); transform:translateX(100%); transition:transform .25s ease; overflow-y:auto; padding:24px 20px; }
  .main-navigation.is-open{ transform:translateX(0); }
  .primary-menu{ flex-direction:column; align-items:stretch; gap:4px; }
  .mega-menu, .dropdown-menu{ position:static; display:none; box-shadow:none; border:none; padding:0 0 0 12px; }
  .menu-item-has-mega.is-open .mega-menu, .menu-item-has-dropdown.is-open .dropdown-menu{ display:block; }
  .mega-menu-list, .dropdown-menu-list{ grid-template-columns:1fr; }
}
@media (min-width: 901px){ .menu-toggle{ display:none; } }

/* ---------------------------- Hero -------------------------------------- */
.hero{ padding:96px 0 80px; background:linear-gradient(180deg,var(--color-bg-light) 0%, var(--color-bg) 100%); text-align:center; }
.hero-inner{ max-width:760px; }
.hero-subtitle{ font-size:1.15rem; color:var(--color-text-muted); max-width:620px; margin:0 auto 32px; }
.hero-cta{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ---------------------------- Sections ----------------------------------- */
.section{ padding:64px 0; }
.dark-section{ background:var(--color-secondary); color:#fff; }
.dark-section h2, .dark-section .post-card-title a{ color:#fff; }
.dark-section .post-card{ background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.1); }
.section-heading{ margin-bottom:32px; }
.section-heading-row{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:32px; }
.section-link{ font-weight:600; white-space:nowrap; }

/* ---------------------------- Grids --------------------------------------*/
.post-grid, .tool-grid, .topic-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.post-grid-3{ grid-template-columns:repeat(3,1fr); }
.tool-grid{ grid-template-columns:repeat(4,1fr); }
@media (max-width:960px){ .post-grid, .post-grid-3{ grid-template-columns:repeat(2,1fr); } .tool-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .post-grid, .post-grid-3, .tool-grid, .topic-grid{ grid-template-columns:1fr; } }

/* Post / tool cards */
.post-card, .tool-card{
  background:var(--color-bg); border:1px solid var(--color-border); border-radius:var(--radius);
  overflow:hidden; transition:transform .15s ease, box-shadow .15s ease;
}
.post-card:hover, .tool-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.post-card-thumb img, .tool-card-thumb img{ aspect-ratio:16/9; object-fit:cover; width:100%; }
.post-card-body, .tool-card-body{ padding:20px; }
.post-card-cat{ display:inline-block; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--color-accent); margin-bottom:8px; }
.post-card-title a, .tool-card-title a{ color:var(--color-secondary); text-decoration:none; }
[data-theme="dark"] .post-card-title a, [data-theme="dark"] .tool-card-title a{ color:var(--color-text); }
.post-card-excerpt, .tool-card-tagline{ color:var(--color-text-muted); font-size:.92rem; margin:8px 0; }
.post-card-meta{ font-size:.8rem; color:var(--color-text-muted); display:flex; gap:6px; }

.topic-card{
  display:flex; flex-direction:column; gap:4px; padding:24px; border-radius:var(--radius);
  background:var(--color-bg-light); border:1px solid var(--color-border); color:var(--color-text);
}
.topic-card:hover{ text-decoration:none; border-color:var(--color-primary); }
.topic-card-name{ font-family:var(--font-heading); font-weight:700; }
.topic-card-count{ font-size:.82rem; color:var(--color-text-muted); }

.resource-card{ display:block; padding:24px; border:1px solid var(--color-border); border-radius:var(--radius); color:var(--color-text); }
.resource-card:hover{ text-decoration:none; border-color:var(--color-primary); }

/* ---------------------------- Newsletter ---------------------------------*/
.newsletter-section{ background:var(--color-bg-light); text-align:center; border-radius:var(--radius); margin:0 20px; }
.newsletter-inner{ max-width:520px; }
.newsletter-form{ display:flex; gap:10px; margin-top:20px; flex-wrap:wrap; justify-content:center; }
.newsletter-form input{ flex:1; min-width:220px; padding:12px 16px; border-radius:999px; border:1px solid var(--color-border); }
.newsletter-form button{ background:var(--color-primary); color:#fff; border:none; padding:12px 26px; border-radius:999px; font-weight:600; }

/* ---------------------------- Content layout ------------------------------*/
.content-layout{ display:grid; grid-template-columns:1fr 300px; gap:48px; align-items:start; padding:48px 0; }
.content-layout-article{ grid-template-columns:1fr 280px; }
@media (max-width:960px){ .content-layout, .content-layout-article{ grid-template-columns:1fr; } }
.content-aside{ position:sticky; top:calc(var(--header-height) + 24px); display:flex; flex-direction:column; gap:24px; }

/* Breadcrumbs */
.breadcrumbs{ margin:24px 0 0; }
.breadcrumbs ol{ list-style:none; display:flex; flex-wrap:wrap; gap:6px; padding:0; margin:0; font-size:.85rem; color:var(--color-text-muted); }
.breadcrumbs li:not(:last-child)::after{ content:'/'; margin-left:6px; }

/* Article */
.single-article{ max-width:var(--content-width); margin:0 auto; }
.content-layout-article .content-main{ max-width:var(--content-width); }
.entry-category{ display:inline-block; color:var(--color-accent); font-weight:700; font-size:.8rem; text-transform:uppercase; margin-bottom:10px; }
.entry-title{ margin-bottom:16px; }
.entry-meta{ display:flex; align-items:center; gap:10px; color:var(--color-text-muted); font-size:.88rem; flex-wrap:wrap; }
.entry-meta img{ border-radius:999px; }
.entry-thumbnail{ margin:28px 0; border-radius:var(--radius); overflow:hidden; }
.entry-thumbnail img{ aspect-ratio:16/9; object-fit:cover; }
.entry-content{ font-size:1.08rem; }
.entry-content h2{ margin-top:2em; }
.entry-content h3{ margin-top:1.6em; }
.entry-content img{ border-radius:var(--radius-sm); }
.entry-content blockquote{ border-left:3px solid var(--color-primary); padding-left:20px; color:var(--color-text-muted); font-style:italic; }
.freshness-note{ display:inline; margin:0; }

.toc-box{ background:var(--color-bg-light); border:1px solid var(--color-border); border-radius:var(--radius); padding:20px; }
.toc-title{ font-weight:700; margin-bottom:12px; }
.toc-box ol{ margin:0; padding-left:18px; font-size:.88rem; display:flex; flex-direction:column; gap:8px; }
.toc-box .toc-level-3{ margin-left:12px; opacity:.85; }

.share-buttons{ display:flex; gap:12px; align-items:center; margin:24px 0; font-size:.85rem; flex-wrap:wrap; }
.share-buttons a{ padding:6px 14px; border:1px solid var(--color-border); border-radius:999px; color:var(--color-text); }

.entry-tags{ margin:28px 0; }
.entry-tags a{ display:inline-block; background:var(--color-bg-light); border-radius:999px; padding:4px 12px; margin:0 6px 6px 0; font-size:.82rem; color:var(--color-text); }

.author-box{ display:flex; gap:16px; padding:24px; border:1px solid var(--color-border); border-radius:var(--radius); margin:32px 0; }
.author-box img{ border-radius:999px; }
.author-box-name{ font-weight:700; margin-bottom:4px; }
.author-box-bio{ color:var(--color-text-muted); font-size:.9rem; }

.post-nav{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:40px 0; }
.post-nav a{ display:block; padding:16px; border:1px solid var(--color-border); border-radius:var(--radius); color:var(--color-text); }
.post-nav-next{ text-align:right; }
.post-nav-label{ display:block; font-size:.78rem; color:var(--color-text-muted); margin-bottom:4px; }
@media (max-width:600px){ .post-nav{ grid-template-columns:1fr; } }

.related-posts{ margin:48px 0; }

/* ---------------------------- AI Tool page --------------------------------*/
.tool-header{ display:flex; gap:20px; align-items:center; max-width:var(--content-width); margin:24px auto; }
.tool-logo img{ width:72px; height:72px; object-fit:cover; border-radius:var(--radius-sm); }
.tool-tagline{ color:var(--color-text-muted); margin:6px 0 16px; }
.pros-cons-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.pros-cons-grid ul{ padding-left:20px; }
.pros h3{ color:#16A34A; }
.cons h3{ color:#DC2626; }
@media (max-width:600px){ .pros-cons-grid{ grid-template-columns:1fr; } }
.faq-item{ padding:16px 0; border-bottom:1px solid var(--color-border); }
.faq-question{ margin-bottom:6px; }

/* ---------------------------- Widgets / sidebar ---------------------------*/
.widget{ background:var(--color-bg-light); border:1px solid var(--color-border); border-radius:var(--radius); padding:20px; }
.widget-title{ font-size:1rem; margin-bottom:14px; }
.widget-post-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; font-size:.9rem; }

/* ---------------------------- Comments ------------------------------------*/
.comments-area{ max-width:var(--content-width); margin:40px auto 0; }
.comment-list{ list-style:none; padding:0; }
.comment-list li{ border-top:1px solid var(--color-border); padding:16px 0; }
#respond input[type="text"], #respond input[type="email"], #respond input[type="url"], #respond textarea{
  width:100%; padding:12px; border:1px solid var(--color-border); border-radius:8px; margin-bottom:12px; background:var(--color-bg); color:var(--color-text);
}
.submit-button{ background:var(--color-primary); color:#fff; border:none; padding:12px 26px; border-radius:999px; font-weight:600; }

/* ---------------------------- Footer ---------------------------------------*/
.site-footer{ background:var(--color-secondary); color:#CBD5E1; padding:64px 0 24px; margin-top:64px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr; gap:32px; }
@media (max-width:960px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .footer-grid{ grid-template-columns:1fr; } }
.site-footer a{ color:#CBD5E1; }
.site-footer .widget-title{ color:#fff; font-size:.95rem; }
.footer-menu{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; font-size:.9rem; }
.social-icons{ display:flex; gap:12px; margin-top:16px; font-size:.85rem; flex-wrap:wrap; }
.footer-newsletter .newsletter-form{ justify-content:flex-start; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.1); margin-top:40px; padding-top:20px; font-size:.85rem; }

.back-to-top{
  position:fixed; bottom:24px; right:24px; width:44px; height:44px; border-radius:999px;
  background:var(--color-primary); color:#fff; border:none; font-size:1.2rem; box-shadow:var(--shadow-md);
  display:none; z-index:800;
}
.back-to-top.is-visible{ display:block; }

/* ---------------------------- Block pattern styling ------------------------*/
.dmm-pattern-hero{ text-align:center; padding:40px 0; }
.dmm-pattern-cta{ background:var(--color-bg-light); border-radius:var(--radius); padding:48px; text-align:center; }
.dmm-pattern-faq .faq-item{ border-bottom:1px solid var(--color-border); padding:16px 0; }
.dmm-pattern-stats{ text-align:center; }
.stat-number{ font-family:var(--font-heading); font-size:2.5rem; font-weight:800; color:var(--color-primary); margin-bottom:0!important; }
.stat-label{ color:var(--color-text-muted); }
.dmm-alert-box{ background:#EFF6FF; border-left:4px solid var(--color-primary); border-radius:8px; padding:16px 20px; }
[data-theme="dark"] .dmm-alert-box{ background:rgba(37,99,235,.12); }
.dmm-pattern-pricing .wp-block-column{ border:1px solid var(--color-border); border-radius:var(--radius); padding:28px; }

/* ---------------------------- 404 / no-results ------------------------------*/
.error-404, .no-results{ text-align:center; padding:64px 0; }

/* ---------------------------- Category featured ------------------------------*/
.featured-article{ margin-bottom:48px; }
.eyebrow{ text-transform:uppercase; letter-spacing:.05em; font-size:.78rem; font-weight:700; color:var(--color-accent); }

@media print{
  .site-header, .site-footer, .back-to-top, .share-buttons, .ajax-search-panel{ display:none!important; }
}
