/*
Theme Name: MasonryMag
Theme URI: https://example.com
Author: Portable
Description: A completely different, no-sidebar masonry grid magazine theme — bold oversized typography, full-width waterfall card grid, minimal centered navigation, no traditional list/sidebar layout at all. Includes a free public post-submission page with an image-required rule enforced site-wide. Fully portable, no site name or category hardcoded.
Version: 1.0
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: masonrymag
*/

:root{
  --mm-ink:#0f0f0f;
  --mm-accent:#ff5a36;
  --mm-gray:#767676;
  --mm-border:#ececec;
  --mm-bg:#ffffff;
  --mm-font: 'Helvetica Neue', Arial, -apple-system, BlinkMacSystemFont, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--mm-font);color:var(--mm-ink);background:var(--mm-bg);line-height:1.5;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1320px;margin:0 auto;padding:0 28px;}

/* ---- Header: centered, minimal ---- */
.mm-header{padding:34px 0 18px;text-align:center;}
.mm-logo{font-size:34px;font-weight:900;letter-spacing:-.02em;}
.mm-logo span{color:var(--mm-accent);}
.mm-nav{display:flex;justify-content:center;gap:28px;margin-top:20px;flex-wrap:wrap;}
.mm-nav a{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mm-ink);padding-bottom:4px;border-bottom:2px solid transparent;}
.mm-nav a:hover{border-bottom-color:var(--mm-accent);}
.mm-search-form{display:flex;justify-content:center;margin-top:18px;}
.mm-search-form input{border:2px solid var(--mm-ink);border-radius:30px;padding:9px 18px;font-size:13px;width:240px;text-align:center;}
.mm-search-form button{display:none;}

/* ---- Giant featured headline block (no image, huge type) ---- */
.mm-feature{text-align:center;padding:50px 0 46px;border-bottom:1px solid var(--mm-border);}
.mm-feature-eyebrow{display:inline-block;background:var(--mm-ink);color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:5px 14px;border-radius:20px;margin-bottom:20px;}
.mm-feature-title{font-size:52px;font-weight:900;letter-spacing:-.02em;line-height:1.05;max-width:900px;margin:0 auto 18px;}
.mm-feature:hover .mm-feature-title{color:var(--mm-accent);}
.mm-feature-dek{font-size:17px;color:#444;max-width:640px;margin:0 auto;}
.mm-feature-meta{margin-top:20px;font-size:12.5px;color:var(--mm-gray);text-transform:uppercase;letter-spacing:.05em;}

/* ---- Masonry-style waterfall grid (no sidebar at all) ---- */
.mm-masonry{column-count:3;column-gap:28px;margin:44px 0;}
.mm-card{display:block;break-inside:avoid;margin-bottom:28px;border:1px solid var(--mm-border);border-radius:2px;overflow:hidden;}
.mm-card-img{width:100%;object-fit:cover;background:linear-gradient(135deg,#eee,#ddd);}
.mm-card-body{padding:18px 20px 22px;}
.mm-card-cat{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--mm-accent);margin-bottom:8px;display:block;}
.mm-card-title{font-size:19px;font-weight:800;line-height:1.28;letter-spacing:-.01em;}
.mm-card:hover .mm-card-title{color:var(--mm-accent);}
.mm-card-dek{font-size:13px;color:#555;margin-top:8px;line-height:1.5;}
.mm-card-meta{font-size:11px;color:var(--mm-gray);margin-top:12px;text-transform:uppercase;letter-spacing:.05em;}

/* ---- Category divider bar (full-width, no card, just a rule) ---- */
.mm-divider{display:flex;align-items:center;gap:18px;margin:50px 0 6px;}
.mm-divider-label{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;}
.mm-divider-line{flex:1;height:2px;background:var(--mm-ink);}
.mm-divider-more{font-size:11.5px;font-weight:700;color:var(--mm-accent);white-space:nowrap;}
.mm-divider-more:hover{text-decoration:underline;}

/* ---- Single article: centered column, no sidebar ---- */
.mm-article-wrap{max-width:760px;margin:0 auto;padding:40px 20px 70px;}
.mm-breadcrumb{font-size:12px;color:var(--mm-gray);text-align:center;margin-bottom:16px;text-transform:uppercase;letter-spacing:.05em;}
.mm-breadcrumb a:hover{color:var(--mm-accent);}
.mm-article-wrap h1{font-size:40px;font-weight:900;line-height:1.1;letter-spacing:-.02em;text-align:center;margin-bottom:18px;}
.mm-article-meta{text-align:center;font-size:13px;color:var(--mm-gray);margin-bottom:28px;text-transform:uppercase;letter-spacing:.05em;}
.mm-article-thumb{width:100%;height:auto;margin-bottom:32px;}
.mm-article-body{font-size:18px;line-height:1.8;color:#181818;}
.mm-article-body p{margin:0 0 22px;}
.mm-article-body h2{font-size:26px;font-weight:800;margin:36px 0 14px;letter-spacing:-.01em;}
.mm-article-body a{color:var(--mm-accent);text-decoration:underline;}

/* ---- Related: horizontal strip below article, not a sidebar ---- */
.mm-related{max-width:1100px;margin:50px auto 0;padding:0 20px;}
.mm-related-title{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;text-align:center;margin-bottom:22px;}
.mm-related-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

/* ---- Regular pages ---- */
.mm-page{max-width:720px;margin:0 auto;padding:40px 20px 70px;}
.mm-page h1{font-size:38px;font-weight:900;margin-bottom:22px;text-align:center;letter-spacing:-.02em;}
.mm-page-body{font-size:17px;line-height:1.78;color:#222;}
.mm-page-body a{color:var(--mm-accent);text-decoration:underline;}

/* ---- Submit page ---- */
.mm-submit-wrap{max-width:720px;margin:0 auto;padding:30px 20px 70px;}
.mm-submit-wrap h1{font-size:38px;font-weight:900;margin:0 0 14px;text-align:center;letter-spacing:-.02em;}
.mm-submit-intro{font-size:15.5px;color:#444;line-height:1.6;margin-bottom:28px;text-align:center;}
.mm-req-box{background:#fafafa;border-radius:2px;padding:22px 24px;margin-bottom:30px;border-left:4px solid var(--mm-accent);}
.mm-req-box h4{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px;}
.mm-req-box ul{margin:0;padding-left:20px;font-size:14px;color:#444;line-height:1.8;}
.mm-form-group{margin-bottom:18px;}
.mm-form-group label{display:block;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;margin-bottom:7px;}
.mm-form-group input{width:100%;border:2px solid var(--mm-border);border-radius:2px;padding:12px 14px;font-size:14.5px;box-sizing:border-box;}
.mm-word-count{font-size:12.5px;color:#888;margin-top:6px;}
.mm-word-count.ok{color:#1a7a3a;font-weight:700;}
.mm-submit-btn{background:var(--mm-accent);color:#fff;border:none;border-radius:30px;padding:14px 34px;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;}
.mm-submit-btn:disabled{opacity:.5;cursor:not-allowed;}
.mm-error-box{display:none;background:#fdf0ef;border-left:4px solid #d9432f;color:#a3382c;padding:14px 18px;margin-bottom:20px;font-size:14px;}
.mm-error-box.show{display:block;}
.mm-success-box{display:none;text-align:center;padding:40px 0;}
.mm-success-box.show{display:block;}

/* ---- Footer ---- */
.mm-footer{border-top:2px solid var(--mm-ink);padding:28px 0;margin-top:30px;text-align:center;font-size:12px;color:var(--mm-gray);text-transform:uppercase;letter-spacing:.05em;}

@media(max-width:900px){
  .mm-masonry{column-count:1;}
  .mm-related-strip{grid-template-columns:1fr;}
  .mm-feature-title{font-size:34px;}
}
