/*
Theme Name: PAC Azania
Theme URI: https://example.com/pac-azania
Author: OpenAI
Description: A ready-to-install WordPress theme for the Pan Africanist Congress of Azania using the PAC green, yellow and black visual identity. Activating the theme seeds homepage, about, leadership, disciplinary code and contact pages.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pac-azania
Tags: custom-logo, custom-menu, featured-images, block-styles, one-column, two-columns
*/

:root{
  --pac-green:#006b2e;
  --pac-green-dark:#003e1d;
  --pac-green-deep:#001f10;
  --pac-yellow:#ffd314;
  --pac-yellow-soft:#fff2a8;
  --pac-black:#080808;
  --pac-cream:#fff8df;
  --pac-white:#ffffff;
  --pac-border:rgba(255,211,20,.28);
  --pac-shadow:0 20px 70px rgba(0,0,0,.28);
  --pac-radius:22px;
  --pac-container:1180px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--pac-green-deep);color:#1d1d1d;line-height:1.65;font-size:16px}
a{color:var(--pac-green);text-decoration-thickness:2px;text-underline-offset:4px}
a:hover{color:#00431d}
img{max-width:100%;height:auto}
.screen-reader-text{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.pac-container{width:min(var(--pac-container),calc(100% - 36px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(0,45,20,.95);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,211,20,.22)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:86px}
.site-branding{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none;min-width:260px}
.site-branding img{width:62px;height:62px;border-radius:50%;border:3px solid var(--pac-yellow);box-shadow:0 0 24px rgba(255,211,20,.32)}
.site-title{display:block;color:var(--pac-yellow);font-size:1.08rem;font-weight:900;line-height:1.1;letter-spacing:.02em;text-transform:uppercase}
.site-description{display:block;color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.95}
.main-navigation ul{display:flex;align-items:center;justify-content:flex-end;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.main-navigation a{display:block;color:#fff;text-decoration:none;font-weight:800;padding:12px 14px;border-radius:999px;font-size:.9rem;text-transform:uppercase;letter-spacing:.04em}
.main-navigation a:hover,.main-navigation .current-menu-item>a{background:var(--pac-yellow);color:#06190e}
.hero{position:relative;min-height:760px;color:#fff;display:flex;align-items:center;overflow:hidden;background:#004d22 url('assets/images/pac-hero.jpg') center/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,27,12,.2),rgba(0,27,12,.24) 45%,rgba(0,27,12,.36));}
.hero::after{content:"";position:absolute;inset:auto -20% -12% -20%;height:270px;background:linear-gradient(180deg,rgba(0,0,0,0),var(--pac-green-deep));}
.hero-content{position:relative;z-index:1;max-width:690px;padding:120px 0 170px;margin-left:auto;text-align:left}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;background:rgba(0,0,0,.46);border:1px solid var(--pac-border);border-radius:999px;padding:9px 15px;color:var(--pac-yellow);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}
.hero-title{font-size:clamp(3.2rem,8vw,8.6rem);line-height:.9;margin:20px 0 16px;color:var(--pac-yellow);text-shadow:7px 8px 0 rgba(0,0,0,.55);letter-spacing:.04em}
.hero-subtitle{font-size:clamp(1.4rem,3vw,2.5rem);line-height:1.08;margin:0 0 18px;text-transform:uppercase;font-weight:900;letter-spacing:.035em;text-shadow:3px 4px 0 rgba(0,0,0,.45)}
.hero-copy{font-size:1.12rem;max-width:590px;color:#fff8df;margin:0 0 34px;font-weight:600}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 22px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;border:2px solid var(--pac-yellow);box-shadow:0 12px 28px rgba(0,0,0,.22);transition:.18s ease;background:var(--pac-yellow);color:#07180e}
.button:hover{transform:translateY(-2px);color:#07180e;background:#fff07c}
.button.secondary{background:rgba(0,0,0,.42);color:#fff;border-color:rgba(255,255,255,.75)}
.button.secondary:hover{background:#fff;color:#07180e}
.section{padding:84px 0;background:#fff}
.section.dark{background:linear-gradient(135deg,var(--pac-green-deep),var(--pac-green-dark));color:#fff}
.section.gold{background:linear-gradient(135deg,#ffd314,#ffec7a);color:#07180e}
.section-title{font-size:clamp(2rem,4vw,3.4rem);line-height:1.04;margin:0 0 14px;color:var(--pac-green-dark);text-transform:uppercase;letter-spacing:.02em}
.dark .section-title{color:var(--pac-yellow)}
.section-intro{max-width:760px;font-size:1.1rem;margin:0 0 34px;color:#3b3b3b}.dark .section-intro{color:#fff8df}
.grid{display:grid;gap:24px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{border-radius:var(--pac-radius);background:#fff;box-shadow:var(--pac-shadow);padding:28px;border:1px solid rgba(0,0,0,.08);position:relative;overflow:hidden}
.card::before{content:"";position:absolute;inset:0 auto 0 0;width:8px;background:var(--pac-yellow)}
.card h3{margin:0 0 10px;color:var(--pac-green-dark);font-size:1.35rem;text-transform:uppercase}.card p{margin:0;color:#333}.dark .card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}.dark .card h3{color:var(--pac-yellow)}.dark .card p{color:#fff8df}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.timeline-item{background:#fff;border-radius:18px;padding:22px;border-top:8px solid var(--pac-yellow);box-shadow:0 12px 34px rgba(0,0,0,.11)}.timeline-item strong{display:block;font-size:1.8rem;color:var(--pac-green-dark);line-height:1}.timeline-item span{display:block;margin-top:10px;color:#333;font-weight:700}
.leadership-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.leader-mini{background:#fff;border-radius:24px;box-shadow:var(--pac-shadow);overflow:hidden;border:1px solid rgba(0,0,0,.08)}.leader-mini img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.leader-mini h3{padding:18px 20px;margin:0;color:var(--pac-green-dark);font-size:1.25rem}
.page-hero{background:linear-gradient(135deg,var(--pac-green-deep),var(--pac-green));color:#fff;padding:82px 0 72px;border-bottom:8px solid var(--pac-yellow);position:relative;overflow:hidden}.page-hero::before{content:"";position:absolute;inset:-35% -10% auto auto;width:580px;height:580px;border-radius:50%;border:70px solid rgba(255,211,20,.1)}.page-hero h1{font-size:clamp(2.3rem,5vw,4.8rem);line-height:1;margin:0;color:var(--pac-yellow);text-transform:uppercase}.page-hero p{font-size:1.12rem;margin:16px 0 0;max-width:760px;color:#fff8df}
.content-area{background:#fff;padding:74px 0}.pac-prose{max-width:920px;margin:auto}.pac-prose .lead{font-size:1.25rem;line-height:1.55;color:#263126;font-weight:700;border-left:8px solid var(--pac-yellow);padding-left:20px}.pac-prose h2{font-size:2rem;line-height:1.15;margin:42px 0 14px;color:var(--pac-green-dark);text-transform:uppercase}.pac-prose p{margin:0 0 18px}.pac-prose a{font-weight:800}.pac-source-content{font-size:1.03rem}
.pac-code-section{padding:24px 0;border-bottom:1px solid rgba(0,0,0,.1)}.pac-code-section h2{display:flex;align-items:center;gap:12px}.pac-code-section h2 span{display:inline-grid;place-items:center;background:var(--pac-yellow);border-radius:50%;width:44px;height:44px;color:#07180e;font-size:1.1rem}.code-item{padding-left:22px}.code-item strong{color:var(--pac-green);margin-right:8px}
.pac-leadership-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:34px}.pac-leader-card{border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--pac-shadow);border:1px solid rgba(0,0,0,.08)}.pac-leader-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.pac-leader-card h2{font-size:1.35rem;margin:0;padding:20px;color:var(--pac-green-dark);text-transform:none}
.contact-form{background:#f7f7f0;border:1px solid rgba(0,0,0,.09);border-radius:24px;padding:28px;box-shadow:0 12px 40px rgba(0,0,0,.08)}.contact-form label{display:block;font-weight:900;color:var(--pac-green-dark);margin:0 0 8px}.contact-form input,.contact-form textarea{width:100%;border:2px solid #d9d9d0;border-radius:14px;padding:13px 14px;font:inherit;margin-bottom:16px;background:#fff}.contact-form textarea{min-height:150px;resize:vertical}.form-notice{border-radius:14px;padding:14px 16px;margin:0 0 18px;font-weight:800}.form-notice.success{background:#e4f8e9;color:#06451c}.form-notice.error{background:#ffe9e9;color:#741111}
.site-footer{background:#050505;color:#fff;padding:48px 0 22px;border-top:8px solid var(--pac-yellow)}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:28px;align-items:start}.footer-logo{display:flex;gap:14px;align-items:center}.footer-logo img{width:66px;height:66px;border-radius:50%;border:3px solid var(--pac-yellow)}.footer-logo strong{display:block;color:var(--pac-yellow);font-size:1.2rem;text-transform:uppercase;line-height:1.1}.footer-logo span{display:block;color:#fff8df;font-weight:700;font-size:.92rem}.site-footer h2{font-size:1rem;color:var(--pac-yellow);text-transform:uppercase;margin:0 0 12px}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:0 0 8px}.site-footer a{color:#fff8df}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding-top:18px;margin-top:32px;color:#cfcfcf;font-size:.92rem}
@media (max-width:900px){.header-inner{display:block;padding:12px 0}.site-branding{margin-bottom:12px}.main-navigation ul{justify-content:flex-start}.hero{min-height:680px;background-position:28% center}.hero-content{margin-left:0;padding:100px 0 130px}.grid.three,.grid.two,.timeline,.leadership-preview,.pac-leadership-grid,.footer-grid{grid-template-columns:1fr}.timeline-item strong{font-size:1.5rem}}
@media (max-width:520px){.site-branding img{width:52px;height:52px}.site-title{font-size:.95rem}.main-navigation a{font-size:.78rem;padding:8px 10px}.hero-title{font-size:4.1rem}.hero-subtitle{font-size:1.55rem}.section{padding:58px 0}.content-area{padding:48px 0}.pac-prose h2{font-size:1.55rem}.contact-form{padding:20px}}
