/*
Theme Name: PM Child
Theme URI: https://planmetrics.xyz/
Description: GeneratePress child theme — navy/teal branded design for the everyday-planning site (hero, card grids, CTA banner, professional footer).
Author: Site Admin
Template: generatepress
Version: 1.0.0
Text Domain: pm-child
*/

/* ============ Brand system ============ */
:root{
  --pm-navy:#0B2447; --pm-navy-dark:#071a33; --pm-teal:#14B8A6; --pm-teal-dark:#0e9384;
  --pm-ink:#1f2a3a; --pm-muted:#5b6b7f; --pm-bg-alt:#f4f7fa; --pm-border:#e2e8f0;
  --pm-radius:12px; --pm-shadow:0 4px 18px rgba(11,36,71,.08);
}

/* ============ Homepage hero ============ */
.pm-hero{background:linear-gradient(135deg,var(--pm-navy) 0%,#133a6b 60%,#155e75 100%);color:#fff;padding:72px 20px;text-align:center}
.pm-hero h1{font-size:2.6rem;letter-spacing:-1px;margin:0 0 12px;color:#fff}
.pm-hero-sub{max-width:640px;margin:0 auto 28px;color:#c9d8e8;font-size:1.1rem}
.pm-hero-img{width:100%;max-width:860px;height:auto;margin:0 auto 28px;border-radius:var(--pm-radius);box-shadow:0 12px 40px rgba(0,0,0,.25);display:block}
.pm-hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.pm-btn{display:inline-block;padding:12px 26px;border-radius:10px;font-weight:700;font-size:1rem;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:transform .12s ease}
.pm-btn:hover{transform:translateY(-1px);text-decoration:none}
.pm-btn-primary{background:var(--pm-teal);color:#fff!important;box-shadow:0 4px 14px rgba(20,184,166,.35)}
.pm-btn-primary:hover{background:var(--pm-teal-dark);color:#fff!important}
.pm-btn-outline{border-color:#fff;color:#fff!important}
.pm-btn-outline:hover{background:rgba(255,255,255,.12);color:#fff!important}
.pm-btn-light{background:#fff;color:var(--pm-navy)!important}
.pm-btn-light:hover{background:#eef4f8}

/* ============ Sections ============ */
.pm-section{padding:56px 20px}
.pm-section-alt{background:var(--pm-bg-alt)}
.pm-wrap{max-width:1140px;margin:0 auto}
.pm-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:12px;flex-wrap:wrap}
.pm-section-head h2{font-size:1.7rem;letter-spacing:-.5px;color:var(--pm-navy);margin:0}
.pm-link-more{font-weight:700;white-space:nowrap;color:var(--pm-teal-dark);text-decoration:none}

/* ============ Cards ============ */
.pm-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pm-card{background:#fff;border:1px solid var(--pm-border);border-radius:var(--pm-radius);padding:26px;box-shadow:var(--pm-shadow);transition:transform .15s ease,box-shadow .15s ease;display:block;color:var(--pm-ink);text-decoration:none}
.pm-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(11,36,71,.14);text-decoration:none;color:var(--pm-ink)}
.pm-card-icon{font-size:2.4rem;margin-bottom:12px}
.pm-card h3{font-size:1.15rem;color:var(--pm-navy);margin:0 0 8px}
.pm-card p{color:var(--pm-muted);font-size:.95rem;margin:0 0 12px}
.pm-card-cta{color:var(--pm-teal-dark);font-weight:700;font-size:.95rem}
.pm-post-card{background:#fff;border:1px solid var(--pm-border);border-radius:var(--pm-radius);overflow:hidden;box-shadow:var(--pm-shadow);display:block;color:var(--pm-ink);text-decoration:none;transition:transform .15s ease}
.pm-post-card:hover{transform:translateY(-4px);text-decoration:none;color:var(--pm-ink)}
.pm-post-card img{width:100%;height:180px;object-fit:cover;display:block}
.pm-post-card-body{padding:18px}
.pm-post-card-body h3{font-size:1.08rem;color:var(--pm-navy);margin:8px 0}
.pm-post-card-body p{color:var(--pm-muted);font-size:.92rem;margin:0}
.pm-badge{display:inline-block;background:#e6f7f4;color:var(--pm-teal-dark);font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}
.pm-meta{display:block;margin-top:10px;color:var(--pm-muted);font-size:.85rem}

/* ============ Chips ============ */
.pm-chip-row{display:flex;flex-wrap:wrap;gap:12px}
.pm-chip{background:#fff;border:1px solid var(--pm-border);border-radius:30px;padding:10px 22px;font-weight:600;color:var(--pm-navy);box-shadow:var(--pm-shadow);text-decoration:none}
.pm-chip:hover{border-color:var(--pm-teal);color:var(--pm-teal-dark);text-decoration:none}

/* ============ CTA banner ============ */
.pm-cta-banner{background:linear-gradient(135deg,var(--pm-teal) 0%,var(--pm-teal-dark) 100%);color:#fff;padding:56px 20px;text-align:center}
.pm-cta-banner h2{font-size:1.9rem;margin:0 0 10px;color:#fff}
.pm-cta-banner p{margin:0 0 24px;color:#e6fffa}

/* ============ Footer ============ */
.pm-footer{background:var(--pm-navy-dark);color:#b9c9dc;border-top:4px solid var(--pm-teal)}
.pm-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px;max-width:1140px;margin:0 auto;padding:56px 20px 40px}
.pm-footer-col h4{color:#fff;margin:0 0 18px;font-size:1.02rem;letter-spacing:.3px;position:relative;padding-bottom:10px}
.pm-footer-col h4::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:3px;border-radius:2px;background:var(--pm-teal)}
.pm-footer-col h4 span{color:var(--pm-teal)}
.pm-footer-col ul{list-style:none;margin:0;padding:0}
.pm-footer-col li{margin-bottom:10px}
.pm-footer-col a{color:#b9c9dc;font-size:.94rem;text-decoration:none;transition:color .15s ease,padding-left .15s ease}
.pm-footer-col a:hover{color:var(--pm-teal);padding-left:5px}
.pm-footer-col p{font-size:.93rem;line-height:1.7;color:#a9bcd2;margin:0 0 10px}
.pm-footer-mail{display:inline-block;margin-top:14px;padding:9px 18px;border:1px solid rgba(20,184,166,.45);border-radius:9px;background:rgba(20,184,166,.1);color:#7deddd!important;font-weight:600;font-size:.9rem;text-decoration:none}
.pm-footer-mail:hover{background:var(--pm-teal);color:#fff!important;padding-left:18px}
.pm-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px}
.pm-footer-bottom-inner{max-width:1140px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.87rem;color:#8fa3ba}
.pm-footer-legal{display:flex;gap:20px;flex-wrap:wrap}
.pm-footer-legal a{color:#8fa3ba;text-decoration:none}
.pm-footer-legal a:hover{color:var(--pm-teal)}

/* ============ Single guide ============ */
.pmst-narrow{max-width:780px;margin:0 auto;padding:0 20px}
.pmst-post-title{font-size:2.2rem;line-height:1.25;color:var(--pm-navy);letter-spacing:-.5px;margin:0 0 10px}
.pmst-featured{margin:0 0 26px}
.pmst-featured img{border-radius:var(--pm-radius);width:100%;height:auto;display:block}
.pmst-prose{font-size:1.06rem;color:var(--pm-ink);line-height:1.65}
.pmst-prose h2{color:var(--pm-navy);font-size:1.5rem;margin:1.6em 0 .6em}
.pmst-prose h3{color:var(--pm-navy);font-size:1.25rem;margin:1.4em 0 .5em}
.pmst-prose p{margin-bottom:1.1em}
.pmst-prose ul,.pmst-prose ol{margin:0 0 1.1em 1.4em}
.pmst-prose li{margin-bottom:.4em}
.pmst-prose img{border-radius:8px;margin:1em 0;max-width:100%;height:auto}
.pmst-prose table{border-collapse:collapse;width:100%;margin-bottom:1.2em;display:block;overflow-x:auto}
.pmst-prose th,.pmst-prose td{border:1px solid var(--pm-border);padding:10px;text-align:left}
.pmst-prose th{background:var(--pm-bg-alt)}
.pmst-pagination{margin:24px 0;text-align:center}
.pmst-pagination .page-numbers{padding:8px 14px;border:1px solid var(--pm-border);border-radius:8px;margin:0 4px;text-decoration:none;color:var(--pm-navy)}
.pmst-pagination .page-numbers.current{background:var(--pm-teal);color:#fff;border-color:var(--pm-teal)}

/* ============ GeneratePress full-width container fix ============ */
/* When GP skips #primary (full-width/page-builder container), .site-content is a
   row flexbox whose direct children would sit side-by-side. Force vertical stacking. */
.site-content{flex-wrap:wrap}
.site-content > section,
.site-content > article,
.site-content > .pmst-hero,
.site-content > .pmst-crumb,
.site-content > .pmst-card-grid,
.site-content > .pmst-pagination,
.site-content > .pmst-narrow,
.site-content > .calc-hero,
.site-content > .calc-page{flex:1 1 100%;min-width:0;max-width:100%}
.pmst-pagination .nav-links{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}

/* ============ Responsive ============ */
@media (max-width:900px){
  .pm-card-grid{grid-template-columns:repeat(2,1fr)}
  .pm-footer-grid{grid-template-columns:1fr 1fr}
  .pm-hero h1{font-size:2rem}
}
@media (max-width:640px){
  .pm-card-grid{grid-template-columns:1fr}
  .pm-footer-grid{grid-template-columns:1fr;gap:28px;padding:44px 20px 32px}
  .pm-footer-bottom-inner{justify-content:center;text-align:center}
  .pm-hero{padding:52px 16px}
  .pm-hero h1{font-size:1.8rem}
  .pmst-post-title{font-size:1.7rem}
  .pm-section{padding:40px 16px}
}
