/*
Theme Name: MileMark Directory Theme
Theme URI: https://milemarkmedia.com
Description: Clean theme for law firm directory sites. 4 color schemes.
Version: 3.0
Author: MileMark Media
License: Proprietary
Text Domain: milemark-theme
*/

/* RESET */
*,*::before,*::after{box-sizing:border-box}
body,h1,h2,h3,h4,h5,h6,p,figure{margin:0;padding:0}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
html,body{overflow-x:hidden}

/* SCHEMES */
:root,body.mm-scheme-deep-blue{
    --hd:#0f1e3d;--ht:#fff;--hh:#3b82f6;--ac:#1e40af;--ac2:#1d4ed8;--al:#dbeafe;
    --bg:#f8f9fb;--card:#fff;--tx:#1a1a2e;--tx2:#4b5563;--mu:#9ca3af;--bd:#e5e7eb;
    --fh:'Merriweather',Georgia,serif;--fb:'Inter',system-ui,sans-serif;
    --tex:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
}
body.mm-scheme-crimson-navy{
    --hd:#1a1a2e;--ht:#fff;--hh:#dc2626;--ac:#b91c1c;--ac2:#dc2626;--al:#fde8e8;
    --bg:#fafafa;--card:#fff;--tx:#1a1a2e;--tx2:#4b5563;--mu:#9ca3af;--bd:#e5e7eb;
    --fh:'Libre Baskerville',Georgia,serif;--fb:'Source Sans 3',system-ui,sans-serif;
    --tex:url("data:image/svg+xml,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='.03'%3E%3Ccircle cx='3' cy='3' r='1'/%3E%3Ccircle cx='13' cy='13' r='1'/%3E%3C/g%3E%3C/svg%3E");
}
body.mm-scheme-charcoal-teal{
    --hd:#1e293b;--ht:#fff;--hh:#14b8a6;--ac:#0d9488;--ac2:#14b8a6;--al:#ccfbf1;
    --bg:#f8fafc;--card:#fff;--tx:#1e293b;--tx2:#475569;--mu:#94a3b8;--bd:#e2e8f0;
    --fh:'Playfair Display',Georgia,serif;--fb:'DM Sans',system-ui,sans-serif;
    --tex:url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='.025'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");
}
body.mm-scheme-slate-gold{
    --hd:#1c1c28;--ht:#fff;--hh:#d4a44c;--ac:#b8860b;--ac2:#d4a44c;--al:#fef3c7;
    --bg:#fafaf8;--card:#fff;--tx:#1c1c28;--tx2:#4a4a5a;--mu:#9ca3af;--bd:#e5e5dc;
    --fh:'Cormorant Garamond',Georgia,serif;--fb:'Raleway',system-ui,sans-serif;
    --tex:url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7z' fill='%23fff' fill-opacity='.02'/%3E%3C/svg%3E");
}

/* TYPOGRAPHY */
html{-webkit-text-size-adjust:100%}
body{font-family:var(--fb);font-size:17px;line-height:1.7;color:var(--tx);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--fh);color:var(--tx);line-height:1.3;font-weight:700}
h1{font-size:2em;margin-bottom:.5em}
h2{font-size:1.5em;margin-bottom:.4em}
h3{font-size:1.2em;margin-bottom:.3em}
p{margin-bottom:1em;color:var(--tx2)}
a{color:var(--ac);transition:color .2s}
a:hover{color:var(--ac2)}
blockquote{border-left:4px solid var(--ac);padding:1em 1.5em;margin:1.5em 0;background:var(--al);border-radius:0 6px 6px 0;font-style:italic}
.entry-content ul,.entry-content ol{margin:0 0 1em 1.5em;list-style:revert;padding:0}
.entry-content li{margin-bottom:.3em;list-style:inherit}

/* LAYOUT */
.mm-wrap{min-height:100vh;display:flex;flex-direction:column}
.mm-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:40px 24px 60px;word-wrap:break-word}

/* ============ HEADER ============ */
.mm-hd{
    background:var(--hd);background-image:var(--tex);
    border-bottom:3px solid var(--ac);
    position:sticky;top:0;z-index:100;
}
.mm-hd-inner{
    max-width:1200px;margin:0 auto;padding:0 24px;
    display:flex;align-items:center;min-height:68px;padding-top:8px;padding-bottom:8px;
}
.mm-logo{display:flex;align-items:center;color:var(--ht);font-weight:700;font-size:1.1em;margin-right:auto;flex-shrink:0}
.mm-logo:hover{color:var(--ht)}
.mm-logo img{height:48px;width:auto}
.mm-sitename{color:var(--ht)}

/* ============ DESKTOP NAV ============ */
.mm-desktop-nav{margin-left:auto}
.mm-dmenu{display:flex;list-style:none;margin:0;padding:0;gap:0}
.mm-dmenu>li{position:relative}
.mm-dmenu>li>a{
    display:flex;align-items:center;padding:24px 16px;
    color:var(--ht);font-size:.9em;font-weight:500;white-space:nowrap;
    border-bottom:2px solid transparent;transition:color .2s,border-color .2s;
}
.mm-dmenu>li>a:hover,.mm-dmenu>li.current-menu-item>a{color:var(--hh);border-bottom-color:var(--hh)}
.mm-dmenu>li.menu-item-has-children>a::after{
    content:'';width:0;height:0;margin-left:5px;
    border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;
}
/* Desktop dropdown */
.mm-dmenu .sub-menu{
    display:none;position:absolute;top:100%;left:0;
    background:var(--hd);list-style:none;margin:0;padding:6px 0;min-width:200px;
    box-shadow:0 8px 20px rgba(0,0,0,.25);border-top:2px solid var(--ac);border-radius:0 0 6px 6px;z-index:50;
}
.mm-dmenu>li:hover>.sub-menu{display:block}
.mm-dmenu .sub-menu li{display:block}
.mm-dmenu .sub-menu a{display:block;padding:8px 18px;color:var(--ht);font-size:.85em;white-space:nowrap}
.mm-dmenu .sub-menu a:hover{background:rgba(255,255,255,.08);color:var(--hh)}

/* Hamburger - hidden on desktop */
.mm-burg{
    display:none;background:none;border:none;color:var(--ht);cursor:pointer;
    padding:8px;margin-left:12px;
}

/* ============ MOBILE ============ */
@media(max-width:768px){
    .mm-desktop-nav{display:none}
    .mm-burg{display:block}
    .mm-hd-inner{padding:0 16px}
    .mm-main{padding:24px 16px 40px}
}

/* Mobile overlay - always hidden via inline style="display:none", toggled by JS */
.mm-mobile-overlay{
    position:fixed;top:0;left:0;right:0;bottom:0;
    background:var(--hd);background-image:var(--tex);
    z-index:9999;overflow-y:auto;padding:24px;
}
.mm-close{
    position:absolute;top:16px;right:16px;
    background:none;border:none;color:var(--ht);cursor:pointer;padding:8px;
}
.mm-mmenu{list-style:none;margin:40px 0 0;padding:0}
.mm-mmenu>li{border-bottom:1px solid rgba(255,255,255,.08)}
.mm-mmenu>li>a{
    display:block;padding:16px 0;color:var(--ht);font-size:1.1em;font-weight:500;
}
.mm-mmenu>li>a:hover{color:var(--hh)}
/* Mobile sub-menu */
.mm-mmenu .sub-menu{list-style:none;margin:0;padding:0 0 8px 20px;display:none}
.mm-mmenu>li.mm-sub-open>.sub-menu{display:block}
.mm-mmenu .sub-menu a{display:block;padding:10px 0;color:rgba(255,255,255,.7);font-size:.95em}
.mm-mmenu .sub-menu a:hover{color:var(--hh)}
.mm-mmenu>li.menu-item-has-children>a::after{
    content:'';display:inline-block;width:0;height:0;margin-left:8px;
    border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid currentColor;
    transition:transform .2s;
}
.mm-mmenu>li.mm-sub-open>a::after{transform:rotate(180deg)}

/* ============ FOOTER ============ */
.mm-ft{background:var(--hd);background-image:var(--tex);color:var(--mu);padding:28px 24px;font-size:.85em;margin-top:auto;text-align:center}
.mm-ft a{color:var(--mu)}
.mm-ft a:hover{color:#fff}

/* ============ BLOG ============ */
.mm-post-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.mm-post-card{background:var(--card);border-radius:8px;border:1px solid var(--bd);overflow:hidden;transition:box-shadow .2s}
.mm-post-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08)}
.mm-post-card img{width:100%;height:200px;object-fit:cover}
.mm-post-card-body{padding:20px}
.mm-post-card-body h2{font-size:1.1em;margin-bottom:.3em}
.mm-post-card-body h2 a{color:var(--tx)}
.mm-post-card-body h2 a:hover{color:var(--ac)}
.mm-post-meta{font-size:.8em;color:var(--mu);margin-bottom:.5em}

.mm-single-post{max-width:760px;margin:0 auto}
.mm-single-post .entry-content{line-height:1.8}
.mm-page-content{max-width:860px;margin:0 auto}
.mm-page-content.mm-full-width{max-width:100%}

.mm-pagination{display:flex;justify-content:center;gap:6px;margin:40px 0 20px;flex-wrap:wrap}
.mm-pagination a,.mm-pagination span{padding:8px 14px;border:1px solid var(--bd);border-radius:6px;font-size:.9em;color:var(--tx2)}
.mm-pagination a:hover{border-color:var(--ac);color:var(--ac)}
.mm-pagination .current{background:var(--ac);color:#fff;border-color:var(--ac)}

/* Directory full width */
body.post-type-archive-mm_listing .mm-main,
body.tax-mm_category .mm-main,
body.single-mm_listing .mm-main{max-width:100%;padding:0}

/* Small screens */
@media(max-width:600px){
    h1{font-size:1.5em}h2{font-size:1.2em}
    .mm-post-list{grid-template-columns:1fr}
    body{font-size:16px}
}
