/*
Theme Name: BFA Renewed
Theme URI: https://www.britishfireworksassociation.co.uk/
Author: British Fireworks Association
Description: A responsive, accessible design proposal for the BFA. Test on staging before activation.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: bfa-renewed
*/
:root{--navy:#081c32;--paper:#f7f6f1;--red:#c92534;--blue:#153e64;--muted:#566374}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--navy);font:18px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--red)}:focus-visible{outline:3px solid #e49b12;outline-offset:5px}button{font:inherit;cursor:pointer}.wrap{max-width:1440px;margin:auto;padding:0 5.5%}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:20px;background:white;padding:12px;z-index:20}.top{background:var(--navy);color:#fff;font-size:13px;padding:9px 0}.top .wrap{display:flex;justify-content:space-between;gap:20px}.top a:hover{color:white}header{background:var(--paper)}.header-inner{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{text-decoration:none;display:flex;align-items:center;gap:14px}.brand-mark{font-size:42px;line-height:1;font-weight:900;letter-spacing:-3px;color:var(--red)}.brand-name{font-size:15px;line-height:1.15;font-weight:800;letter-spacing:.03em;max-width:170px}.primary{display:flex;align-items:center;gap:25px;font-size:15px;font-weight:600}.primary a{text-decoration:none}.primary ul{display:flex;list-style:none;gap:22px;padding:0;margin:0}.menu-toggle{display:none;background:transparent;border:1px solid var(--navy);padding:8px 14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--red);color:white;padding:15px 23px;text-decoration:none;font-size:16px;font-weight:700;min-height:54px}.button:hover{background:var(--navy);color:white}.button.light{background:var(--paper);color:var(--navy)}.button.light:hover{background:#dce6ef}.hero{background:var(--navy);color:white;overflow:hidden}.hero-copy{padding-top:63px;padding-bottom:40px;display:grid;grid-template-columns:1.3fr 1fr;gap:65px;align-items:end}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(45px,7vw,100px);line-height:.99;letter-spacing:-.055em;margin-bottom:0;max-width:850px}h2{font-size:clamp(32px,4vw,55px);line-height:1.1;letter-spacing:-.035em;margin-bottom:25px}h3{font-size:24px;line-height:1.25;letter-spacing:-.015em}.hero-copy p{max-width:420px;font-size:19px;line-height:1.55;margin-bottom:24px}.hero-photo{display:block;width:100%;height:290px;object-fit:cover;object-position:center 40%;animation:reveal 1s ease-out both}.hero-end{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:18px;padding-bottom:20px;font-size:14px}.hero-end p{margin:0}.guidance{padding-top:80px;padding-bottom:80px}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:35px}.section-intro p{max-width:480px;color:var(--muted)}.guidance-row{display:grid;grid-template-columns:.85fr 1.2fr auto;gap:35px;align-items:center;padding:27px 30px;text-decoration:none;background:#e5eaf0;margin-top:8px;transition:background .2s,color .2s}.guidance-row:nth-of-type(2){background:#d7e2eb}.guidance-row:nth-of-type(3){background:#c6d7e4}.guidance-row:hover{background:var(--navy);color:white}.guidance-row h3,.guidance-row p{margin:0}.guidance-row p{font-size:16px}.arrow{font-size:30px}.about{background:var(--blue);color:white;padding:70px 0}.about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about p{max-width:550px}.about a:hover{color:white}.principles{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.principles span{font-size:22px;font-weight:700}.principles span+span:before{content:'/';padding-right:12px;color:#b8ccdc}.news{padding-top:80px;padding-bottom:80px}.news-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.news-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px}.news article{padding:25px 0}.news time{color:var(--muted);font-size:14px;display:block;margin-bottom:14px}.news h3 a{text-decoration:none}.news article:first-child h3{font-size:32px}.news p{color:var(--muted);font-size:16px}.membership{background:var(--red);color:white;padding:65px 0}.membership .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.membership p{max-width:500px}footer{background:var(--navy);color:white;padding:55px 0 28px}.footer-title{font-size:clamp(30px,5.7vw,82px);font-weight:800;line-height:1.05;letter-spacing:-.04em;margin-bottom:35px}.footer-links{display:flex;flex-wrap:wrap;gap:20px;font-size:14px}.footer-links a:hover{color:white}.footer-bottom{margin-top:35px;color:#b8c6d4;font-size:13px;display:flex;justify-content:space-between;gap:25px}.download{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;background:#e5eaf0;padding:18px 5%;font-size:14px}.download p{margin:0}.download a{font-weight:700}.entry{max-width:980px;padding-top:70px;padding-bottom:80px;min-height:55vh}.entry h1{font-size:clamp(38px,5vw,65px);margin-bottom:35px}.entry-content img{max-width:100%;height:auto}.entry-content iframe{max-width:100%}.entry-content table{display:block;overflow:auto;max-width:100%;border-collapse:collapse}.entry-content td,.entry-content th{padding:12px;border:1px solid #b7c5d0}.entry-content h2{font-size:32px;margin-top:45px}.entry-content h3{margin-top:30px}.entry-content{overflow-wrap:anywhere}.post-list{margin:35px 0}.post-list article{margin-bottom:45px}.wp-block-image img{height:auto;max-width:100%}.pagination{margin-top:30px}@keyframes reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@media(max-width:1000px){.primary{gap:14px;font-size:14px}.primary .button{display:none}.header-inner{gap:15px}.hero-copy{gap:35px}.brand-name{max-width:130px;font-size:13px}}@media(max-width:760px){body{font-size:17px}.top .wrap>span{display:none}.top .wrap{justify-content:center}.header-inner{min-height:88px;flex-wrap:wrap}.brand-mark{font-size:36px}.brand-name{max-width:160px}.menu-toggle{display:block}.primary{display:none;width:100%;padding-bottom:25px;flex-direction:column;align-items:stretch}.primary.is-open{display:flex}.primary ul{flex-direction:column}.primary a{display:block;padding:9px 0}.hero-copy{padding-top:38px;grid-template-columns:1fr;gap:26px}.hero-copy h1{font-size:clamp(43px,10.8vw,78px)}.hero-copy p{font-size:17px}.hero-photo{height:220px}.hero-end{font-size:13px;align-items:start}.hero-end a{white-space:nowrap}.guidance,.news{padding-top:48px;padding-bottom:48px}.section-intro,.about .wrap,.membership .wrap{grid-template-columns:1fr;gap:15px}.section-intro{margin-bottom:20px}.guidance-row{grid-template-columns:1fr auto;gap:10px;padding:23px 20px}.guidance-row p{grid-column:1;grid-row:2}.guidance-row .arrow{grid-column:2;grid-row:1/3}.about,.membership{padding:48px 0}.news-grid{grid-template-columns:1fr;gap:0}.news article:first-child h3{font-size:26px}.news-heading{align-items:start}.news-heading>a{font-size:14px;white-space:nowrap}.footer-bottom{flex-direction:column;gap:8px}.entry{padding-top:45px}.download{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* Final layout refinements */
.hero-copy{grid-template-columns:1.65fr 1fr;gap:40px}h1{font-size:clamp(43px,5.55vw,80px)}.section-intro p,.news p{color:var(--navy)}@media(min-width:761px) and (max-width:900px){.hero-copy{grid-template-columns:1fr;gap:28px}.hero-copy p{max-width:600px}.news-grid{grid-template-columns:1fr}.news article:first-child h3{font-size:26px}}@media(max-width:760px){.hero-copy{grid-template-columns:1fr;gap:26px}}

/* Preserve the official BFA identity. */
header{background:#000;color:white}.official-logo{display:block;width:280px;max-width:62vw;height:auto}.primary>a:hover,.primary li a:hover{color:white;text-decoration:underline}.primary>.button:hover{background:#153e64}.menu-toggle{color:white;border-color:white}@media(max-width:760px){.official-logo{width:235px}.header-inner{min-height:96px}}

/* 1.0.2: compact type scale requested by the BFA. */
body{font-size:16px;line-height:1.65}h1,.hero-copy h1{font-size:clamp(34px,4vw,56px);line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(28px,2.65vw,36px);line-height:1.18;letter-spacing:-.025em}h3,.news article:first-child h3{font-size:24px;line-height:1.3}.hero-copy p{font-size:17px}.principles span{font-size:18px}.footer-title{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.025em}.entry h1{font-size:clamp(32px,3.3vw,44px)}.entry-content h2{font-size:28px}.entry-content h3{font-size:22px}@media(max-width:760px){body{font-size:16px}.hero-copy h1{font-size:34px}.hero-copy p{font-size:16px}h3,.news article:first-child h3{font-size:22px}.principles span{font-size:18px}.entry-content h2{font-size:26px}.entry-content h3{font-size:21px}}

/* Existing member directory WYSIWYG content. */
.member-directory{margin-top:36px}.member-directory img{max-width:100%;height:auto}.member-directory hr{clear:both;border:0;border-top:1px solid #bac6d0;margin:32px 0}.member-directory h2{font-size:26px}.member-directory h3{font-size:22px}.member-directory .alignright{float:right;margin:0 0 20px 24px;max-width:180px}.member-directory .alignleft{float:left;margin:0 24px 20px 0;max-width:180px}@media(max-width:600px){.member-directory .alignright,.member-directory .alignleft{float:none;display:block;max-width:160px;margin:16px 0}.member-directory h2{font-size:24px}}

/* 1.1.0: page editing and audit refinements. */
.post-list h2{font-size:26px;line-height:1.3;letter-spacing:-.015em}.post-list h2 a{text-decoration:none}.page-resources{margin-top:40px;padding-top:24px;border-top:1px solid #bac6d0}.footer-links ul{display:flex;flex-wrap:wrap;gap:20px;list-style:none;margin:0;padding:0}.footer-links li{margin:0}@media(max-width:760px){.post-list h2{font-size:22px}.entry h1{font-size:30px}.news-grid h3,.news article:first-child h3{font-size:22px}}
