/*
Theme Name: Madahzadeh
Theme URI: https://madahzadeh.ir
Author: Dr. Madahzadeh
Author URI: https://madahzadeh.ir
Description: Zero-conflict base with robust header, mobile drawer, archive cards, customizable read-more, optional sidebar, Woo no-sidebar, and LCP tweaks.
Version: 4.1.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: madahzadeh
Tags: minimal, rtl-language-support, custom-logo, custom-menu, translation-ready, blog, woocommerce
*/

/* ===== Header (scoped) ===== */
#mad-header{ width:100%; background:var(--mad-header-bg,#fff); color:var(--mad-header-fg,#111); border-bottom:1px solid var(--mad-header-border,#eaecef); }
#mad-header *{ box-sizing:border-box; }
#mad-header .mad-wrap{
  display:grid; grid-template-columns: auto 1fr auto; align-items:center; gap:12px;
  width:100%; padding-inline: clamp(12px, 3vw, 24px); min-height:64px;
}
#mad-header .mad-logo{ justify-self:end; padding-inline-end: clamp(6px, 2vw, 18px); min-width:0; }
#mad-header .mad-nav nav{ display:flex; justify-content:center; }
#mad-header .mad-nav .mad-menu{ display:flex; flex-wrap:nowrap; gap:14px; list-style:none; margin:0; padding:0; }
#mad-header .mad-nav .mad-menu > li{ position:relative; }
#mad-header .mad-nav .mad-menu > li > a{ display:inline-block; padding:10px 6px; white-space:nowrap; text-decoration:none; color:inherit; }

#mad-header .mad-cta{ justify-self:start; padding-inline-start: clamp(6px, 2vw, 18px); min-width:0; display:flex; align-items:center; }
#mad-header .mad-call{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:0 16px; border-radius:9999px; border:0;
  font-weight:700; background:var(--mad-accent,#d92323); color:#fff; white-space:nowrap; text-decoration:none;
}
#mad-header .custom-logo-link{ display:inline-flex; align-items:center; }
#mad-header .custom-logo{ max-height:56px; height:auto; width:auto; max-width:220px; }

/* Desktop submenus */
@media (min-width: 992px){
  #mad-header .mad-menu .sub-menu{
    position:absolute; top:100%; inset-inline-end:0; min-width:220px; background:#fff;
    border:1px solid #eaecef; border-radius:12px; padding:8px 0; box-shadow:0 10px 30px rgba(0,0,0,.06); display:none;
  }
  #mad-header .mad-menu li:hover > .sub-menu{ display:block; }
  #mad-header .mad-menu .sub-menu li a{ display:block; padding:10px 14px; white-space:nowrap; color:#111; }
  #mad-header .mad-menu .sub-menu .menu-item-has-children{ position:relative; }
  html[dir="rtl"] #mad-header .mad-menu .sub-menu .sub-menu{ top:-8px; right: calc(100% - 2px); left:auto; margin-right:6px; }
  html[dir="ltr"] #mad-header .mad-menu .sub-menu .sub-menu{ top:-8px; left: calc(100% - 2px); right:auto; margin-left:6px; }
  #mad-header .mad-menu li.menu-item-has-children > a{ display:inline-flex; align-items:center; gap:.45em; }
  #mad-header .mad-menu li.menu-item-has-children > a::after{ content:"▾"; opacity:.65; transform:translateY(-1px); transition:opacity .15s ease, transform .15s ease; }
  #mad-header .mad-menu li.menu-item-has-children:hover > a::after,
  #mad-header .mad-menu li.menu-item-has-children:focus-within > a::after{ opacity:1; transform:translateY(-2px) rotate(180deg); }
}
#mad-header .mad-menu .sub-menu{ z-index:2147483600; }

/* Mobile drawer */
#mad-header .mad-toggle{ display:none; background:none; border:0; font-size:24px; line-height:1; }
#mad-header .mad-drawer{ position:fixed; inset:0; background:rgba(0,0,0,.4); display:none !important; z-index:2147483000; }
#mad-header .mad-drawer.active{ display:block !important; }
#mad-header .mad-panel{ position:absolute; top:0; bottom:0; width:min(86vw,360px); background:#fff; padding:16px; overflow-y:auto; -webkit-overflow-scrolling:touch; }
html[dir="rtl"] #mad-header .mad-panel{ right:0; left:auto; }
html[dir="ltr"] #mad-header .mad-panel{ left:0; right:auto; }
#mad-header .mad-panel nav ul{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
#mad-header .mad-panel nav a{ text-decoration:none; color:inherit; }

/* Mobile submenus: accordion */
@media (max-width: 991px){
  #mad-header .mad-nav{ display:none; }
  #mad-header .mad-toggle{ display:inline-block; }
  #mad-header .mad-panel nav ul.menu > li > ul.sub-menu{
    position:static !important; max-height:0; overflow:hidden; transition:max-height .25s ease;
    border:0; box-shadow:none; border-radius:0; margin:6px 0 0; padding:0;
  }
  #mad-header .mad-panel nav ul.menu li.submenu-open > ul.sub-menu{ max-height:1000px; padding:6px 0; }
  #mad-header .mad-panel nav ul.sub-menu li a{ display:block; padding:10px 14px; border-bottom:1px solid #f1f3f6; }
  #mad-header .mad-panel nav ul.sub-menu li:last-child a{ border-bottom:0; }
}

/* Overlay stacking above content */
header, #mad-header, .site-header { position:relative; z-index:2147483000; }
#mad-header nav, #mad-header .mad-nav { position:relative; z-index:2147483001; }
#mad-header .mad-menu > li > .sub-menu { z-index:2147483002; }
.wp-site-blocks, main, .site-main, .entry-header, .hero, .wp-block-cover { position:relative; z-index:1; }

/* ===== Archive/blog cards ===== */
.mad-archive{ display:grid; gap:20px; margin-top:16px; }
@media (min-width: 1200px){ .mad-archive{ grid-template-columns: repeat(4, minmax(0,1fr)); } }
@media (min-width: 900px) and (max-width:1199.98px){ .mad-archive{ grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (min-width: 600px) and (max-width: 899.98px){ .mad-archive{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 599.98px){ .mad-archive{ grid-template-columns: 1fr; } }
.mad-archive article{ border:1px solid #eaecef; border-radius:14px; overflow:hidden; background:#fff; }
.mad-archive .entry-thumb img{ display:block; width:100%; height:auto; }
.mad-archive .entry-header{ padding:12px 14px 0 14px; }
.mad-archive .entry-title{ font-size:1.05rem; margin:0 0 6px 0; }
.mad-archive .entry-content{ padding:0 14px 14px 14px; color:#374151; }
.mad-archive .mad-readmore{ display:inline-block; margin-top:8px; text-decoration:none; border:1px solid #e5e7eb; padding:8px 12px; border-radius:10px; }

/* ===== Sidebar layout ===== */
.mad-layout{ display:grid; grid-template-columns: 1fr 320px; gap:20px; }
.mad-layout--single{ margin-top:16px; }
@media (max-width: 990px){ .mad-layout{ grid-template-columns: 1fr; } }
.mad-sidebar .widget{ background:#fff; border:1px solid #eaecef; border-radius:14px; padding:14px; margin-bottom:14px; }

/* ===== Content padding & micro footer ===== */
#content.mad-content{ padding-inline:16px; }
#mad-micro-footer{ text-align:center; font-size:.85rem; padding:10px 12px; color:#6b7280; }
