/*
Theme Name: POWR2
Theme URI: https://powr2.com
Author: POWR2
Description: Custom hybrid theme for POWR2 — bespoke templates for the landing, case-study and contact pages, native block editing for articles. Phase 1: scaffold + header/footer.
Version: 1.0.7
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: powr2
*/

/* ============================================================
   POWR2 base — tokens, reset, layout, buttons, nav, footer
   (front-end stylesheet; block-editor tokens live in theme.json)
   ============================================================ */
:root{
  --steel:#1F3D4E; --steel-900:#122732; --steel-700:#254a5e; --steel-500:#3a6378;
  --electric:#90ABB5; --electric-200:#cbd9de; --electric-50:#eef3f5;
  --lemon:#AAC760; --lemon-600:#95b54a;
  --ink:#0c1a21; --muted:#5d6e76; --paper:#fafbfb; --paper-2:#f3f5f6; --line:#dde4e7;
  --container:1240px; --radius-l:16px;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;font-family:'Montserrat',system-ui,sans-serif;color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.6;}
/* sticky-footer layout: body fills the viewport, main grows, footer pins to bottom */
html{height:100%;}
body{display:flex;flex-direction:column;min-height:100vh;}
main{flex:1 0 auto;}
.footer{flex-shrink:0;}
/* push content below the fixed nav unless a dark hero sits behind it (Phase 2) */
body:not(.powr2-has-hero){padding-top:74px;}
.powr2-placeholder{padding-top:80px;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;}
::selection{background:var(--lemon);color:var(--steel-900);}
h1,h2,h3,h4{margin:0;color:var(--steel-900);letter-spacing:-0.02em;text-wrap:balance;}
p{margin:0;line-height:1.6;text-wrap:pretty;}
.container{max-width:var(--container);margin:0 auto;padding:0 28px;}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;font-weight:700;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;border-radius:999px;border:0;cursor:pointer;text-decoration:none;
  transition:transform .2s,box-shadow .2s,background .2s,color .2s,border-color .2s;white-space:nowrap;line-height:1;}
.btn svg{width:16px;height:16px;transition:transform .2s;}
.btn:hover svg{transform:translateX(3px);}
.btn-primary{background:var(--lemon);color:#fff !important;}
.btn-primary:hover{background:var(--lemon-600);transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--steel-900);border:1.5px solid var(--line);}
.btn-ghost:hover{border-color:var(--electric);}

/* ============ Nav ============ */
.nav{position:fixed;top:0;left:0;right:0;z-index:80;padding:18px 0;transition:background .25s,backdrop-filter .25s,box-shadow .25s;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;}
.nav-logo{display:inline-flex;align-items:center;text-decoration:none;flex:0 0 auto;}
.nav-logo img{height:26px;width:auto;display:block;}
.nav-logo .logo-pos{display:none;}
.nav.scrolled .nav-logo .logo-pos{display:block;}
.nav.scrolled .nav-logo .logo-neg{display:none;}
.nav.on-dark .nav-logo .logo-neg{display:block;}
.nav.on-dark .nav-logo .logo-pos{display:none;}
.nav.menu-open .nav-logo .logo-pos{display:none;}
.nav.menu-open .nav-logo .logo-neg{display:block;}

/* WP nav menu — robust against WordPress markup variations */
.nav-links{display:flex;align-items:center;gap:38px;list-style:none;margin:0;padding:0;flex-wrap:nowrap;flex:0 1 auto;min-width:0;}
.nav-links li{margin:0;padding:0;display:flex;align-items:center;}
.nav-links li::before,.nav-links li::after{content:none;}
.nav-links a{color:var(--steel-900);text-decoration:none;font-weight:500;font-size:15px;line-height:1;position:relative;padding:6px 0;white-space:nowrap;display:inline-block;}
.nav-links a:hover{color:var(--steel);}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--lemon);transition:width .2s;}
.nav-links a:hover::after{width:100%;}
.nav.on-dark .nav-links a{color:rgba(255,255,255,0.82);}
.nav.on-dark .nav-links a:hover{color:#fff;}
.nav.scrolled{background:rgba(255,255,255,0.92);backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px);box-shadow:0 1px 0 var(--line);}
/* When the menu is open, drop the nav's backdrop-filter — otherwise it acts as a containing
   block for the fixed drawer and clamps it to the nav-bar height (drawer can't cover the page). */
.nav.menu-open{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;}
.nav.scrolled .nav-links a{color:var(--steel-900) !important;}
.nav-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto;}
.nav .btn-primary{box-shadow:none;}

/* burger + mobile */
.nav-burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;background:transparent;border:0;cursor:pointer;padding:0;}
.nav-burger span{display:block;height:2px;width:22px;background:#fff;border-radius:2px;transition:transform .25s,opacity .2s;}
.nav.scrolled:not(.menu-open) .nav-burger span{background:var(--steel-900);}
.nav.menu-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav.menu-open .nav-burger span:nth-child(2){opacity:0;}
.nav.menu-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-mobile{display:none;flex-direction:column;position:fixed;inset:0;z-index:1;padding:104px 28px 40px;background:rgba(9,20,27,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .25s ease;}
.nav.menu-open .nav-mobile{opacity:1;pointer-events:auto;}
.nav-mobile a{color:#fff;text-decoration:none;font-size:23px;font-weight:600;letter-spacing:-.01em;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.08);}
.nav-mobile .nav-mobile-cta{margin-top:28px;justify-content:center;border-bottom:0;font-size:13px;padding:15px 18px;}
.nav-mobile-links{list-style:none;margin:0;padding:0;}

/* ============ Footer ============ */
.footer{background:var(--steel-900);color:rgba(255,255,255,0.7);padding:80px 0 30px;}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:0;}
.footer-logo{flex:0 0 auto;display:inline-flex;}
.footer-logo img{height:32px;width:auto;display:block;}
.footer-quote-btn{letter-spacing:0.18em;flex:0 0 auto;}
.footer-menu{display:flex;justify-content:flex-start;margin-top:28px;}
.footer-menu ul{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-start;row-gap:10px;}
.footer-menu li{display:flex;align-items:center;}
.footer-menu li:not(:last-child)::after{content:'·';color:rgba(255,255,255,0.35);margin-left:16px;user-select:none;}
.footer-menu a{color:rgba(255,255,255,0.85);text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:color .2s;}
.footer-menu a:hover{color:var(--lemon);}
.footer .footer-tag{color:rgba(255,255,255,0.65);margin:24px 0 0;font-size:14px;letter-spacing:0.02em;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:30px;border-top:1px solid rgba(255,255,255,0.1);font-size:11px;letter-spacing:0.04em;text-transform:uppercase;color:rgba(255,255,255,0.45);}
.footer-bottom span{font-family:'Montserrat',sans-serif;}

/* Phase 1 placeholder main */
.powr2-placeholder{max-width:760px;margin:0 auto;padding:60px 28px 100px;}
.powr2-placeholder h1{font-size:32px;font-weight:800;margin-bottom:14px;}
.powr2-placeholder p{color:var(--muted);font-size:16px;}
.powr2-placeholder code{background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:2px 7px;font-size:13px;}

@media(max-width:480px){
  .footer-row{flex-direction:column;align-items:flex-start;gap:16px;}
}
/* Article navs (with theme toggle) full-desktop: ease the crowding */
.nav:has(.theme-toggle) .nav-links{gap:30px;}
.nav:has(.theme-toggle) .theme-toggle{margin:0 2px 0 4px;}

/* Article navs (with theme toggle) collapse to logo+hamburger at <=1170px */
@media(max-width:1170px){
  .nav:has(.theme-toggle) .nav-links{display:none;}
  .nav:has(.theme-toggle) .nav-actions .btn-primary{display:none;}
  .nav:has(.theme-toggle) .nav-actions .theme-toggle{display:none;}
  .nav:has(.theme-toggle) .nav-burger{display:flex;}
  .nav:has(.theme-toggle) .nav-mobile{display:flex;}
  .nav:has(.theme-toggle).menu-open{background:transparent;box-shadow:none;}
}
/* Home & Contact (no theme toggle) collapse at <=1120px */
@media(max-width:1120px){
  .nav:not(:has(.theme-toggle)) .nav-links{display:none;}
  .nav:not(:has(.theme-toggle)) .nav-actions .btn-primary{display:none;}
  .nav:not(:has(.theme-toggle)) .nav-burger{display:flex;}
  .nav:not(:has(.theme-toggle)) .nav-mobile{display:flex;}
  .nav:not(:has(.theme-toggle)).menu-open{background:transparent;box-shadow:none;}
}
