/*
Theme Name: Bangor Young Men Club
Theme URI: https://www.bangoryoungmenfc.co.uk/
Author: SJL Digital Marketing
Author URI: https://www.sjldigitalmarketing.com/
Description: A responsive black, white and red club theme with non-destructive layouts for existing BYM pages and legacy VC/Azexo content. Includes homepage, pages, news, archives and WooCommerce support.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bym-club
*/
:root{--red:#c9182c;--ink:#151719;--muted:#666a70;--paper:#f4f4f1;--line:#deded9;--white:#fff;--width:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--red)}img{max-width:100%;height:auto;vertical-align:middle}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}:focus-visible{outline:3px solid #327bb8;outline-offset:4px}h1,h2,h3,h4{line-height:1.1;margin:0 0 24px;font-weight:850;letter-spacing:-.045em}h1{font-size:clamp(36px,6vw,78px)}h2{font-size:clamp(28px,3.5vw,44px)}h3{font-size:23px}p{margin:0 0 22px}.wrap{width:min(var(--width),calc(100% - 64px));margin-inline:auto}.topbar{background:var(--ink);color:#c8cacc;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:38px}.topbar .wrap div{display:flex;gap:30px}.topbar a{text-decoration:none;color:#fff}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:112px}.identity{display:flex;align-items:center;gap:15px;flex-shrink:0}.custom-logo{object-fit:contain;width:70px;height:76px}.wordmark{font-weight:900;line-height:1.03;text-decoration:none;letter-spacing:-.05em;font-size:22px}.wordmark span{color:var(--red)}.main-nav{display:flex;align-items:center;gap:25px}.menu{display:flex;align-items:center;gap:21px;list-style:none;margin:0;padding:0;font-size:13px;font-weight:700}.menu li{position:relative}.menu a{text-decoration:none;display:inline-block;padding:12px 0}.menu .current-menu-item>a{color:var(--red)}.menu .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:230px;background:#fff;box-shadow:0 15px 35px #0002;padding:15px;list-style:none;z-index:20}.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu,.menu li.submenu-open>.sub-menu{display:block}.menu .sub-menu .sub-menu{left:100%;top:0}.submenu-toggle{border:0;background:none;padding:8px;color:inherit;cursor:pointer}.button,input[type=submit],button[type=submit]{display:inline-flex;justify-content:center;align-items:center;gap:20px;background:var(--red);color:#fff;border:0;padding:15px 25px;text-decoration:none;font-size:13px;font-weight:800;line-height:1.4;cursor:pointer}.button:hover,input[type=submit]:hover{background:#a81122;color:#fff}.shop-button{white-space:nowrap}.menu-toggle{display:none}.eyebrow{font-size:11px;line-height:1.4;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:var(--red);margin-bottom:17px}.home-intro{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-top:56px;padding-bottom:34px}.home-intro h1{font-size:clamp(35px,5vw,65px);margin:0}.home-intro h1 span{color:var(--red)}.text-link{font-size:14px;font-weight:800;text-decoration:none;display:inline-block;border-bottom:1px solid;padding-bottom:5px}.home-intro>.text-link{margin-bottom:9px;white-space:nowrap}.home-content>.bym-row:first-child{margin-top:0}.bym-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:30px;margin:36px 0}.bym-row-inner{margin:28px 0}.bym-col{min-width:0;grid-column:span 12}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-9{grid-column:span 9}.span-10{grid-column:span 10}.span-12{grid-column:span 12}.bym-col:empty,.bym-row:empty{display:none}.bym-image{margin:0;background:#fff}.bym-image img{display:block;width:100%;height:auto}.bym-image-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.bym-image-grid figure{margin:0}.bym-image-grid img{display:block;width:100%;height:auto}.bym-image-grid.is-banner{display:block;background:#151719}.is-banner img{width:100%;height:auto}.is-sponsors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;padding:28px 0}.is-sponsors figure{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);padding:20px;min-height:110px}.is-sponsors img{width:100%;max-height:90px;object-fit:contain}.section-title{margin-top:65px;border-top:1px solid var(--line);padding-top:35px}.section-title:before{content:'';display:inline-block;width:7px;height:.75em;background:var(--red);margin-right:15px}.bym-rule{border:0;border-top:1px solid var(--line);margin:25px 0}.bym-copy{overflow-wrap:anywhere}.bym-copy:after{content:'';display:block;clear:both}.bym-copy h2,.bym-copy h3{margin-top:35px}.entry-content p{max-width:85ch}.entry-content ul,.entry-content ol{padding-left:24px}.entry-content li{margin-bottom:8px}.entry-content a:not(.button):not(.news-card a){text-decoration-color:#aaa}.entry-content table{border-collapse:collapse;width:100%;max-width:100%;font-size:15px}.entry-content td,.entry-content th{padding:14px;border-bottom:1px solid var(--line);text-align:left}.entry-content iframe{max-width:100%}.entry-content blockquote{margin:32px 0;padding:20px 30px;border-left:4px solid var(--red);background:#fff}.alignright{float:right;margin:10px 0 25px 30px}.alignleft{float:left;margin:10px 30px 25px 0}.aligncenter{display:block;margin:20px auto}.wp-caption{max-width:100%}.wp-caption-text{font-size:13px;color:var(--muted)}.page-banner{background:var(--ink);color:#fff;padding:35px 0 54px;border-bottom:5px solid var(--red);position:relative;overflow:hidden}.page-banner .wrap{position:relative;z-index:1}.page-banner:after{content:'BYM';position:absolute;right:3%;bottom:-65px;font-size:240px;font-weight:900;letter-spacing:-.08em;color:#ffffff05;line-height:1}.page-banner h1{margin:0;max-width:1000px;font-size:clamp(35px,5.5vw,68px)}.page-banner .eyebrow{color:#fa5b6d}.crumb{font-size:12px;color:#c0c1c4;margin-bottom:38px;display:flex;gap:12px;flex-wrap:wrap}.crumb a{color:#fff}.page-layout{padding:35px 0 70px}.page-content{background:#fff;padding:35px 42px;margin-top:25px;border-top:3px solid var(--red)}.page-content>.bym-row:first-child{margin-top:0}.bym-panel{background:var(--paper);padding:28px;height:100%;border-top:3px solid var(--red)}.bym-detail{margin:20px 0}.bym-detail h3{font-size:21px;margin-bottom:12px}.bym-map{margin:35px 0}.bym-map iframe{width:100%;height:380px;border:0;display:block;filter:grayscale(1)}.wpcf7{padding:35px;background:var(--ink);color:#fff;margin:25px 0}.wpcf7 h1{font-size:36px}.wpcf7 p{max-width:none}.wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]),.wpcf7 textarea{width:100%;padding:14px 16px;border:1px solid #54565a;background:#fff;color:var(--ink)}.wpcf7 textarea{height:150px;resize:vertical}.wpcf7 fieldset.hidden-fields-container{display:none}.wpcf7 .screen-reader-response,.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wpcf7-not-valid-tip{color:#ffb5bd}.section{padding:65px 0}.section-heading{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:25px;margin-bottom:28px}.section-heading h2{margin:0}.league-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.league-grid>a{background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);padding:28px;text-decoration:none;display:flex;flex-direction:column;gap:14px}.league-grid small{text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--muted);font-size:11px}.league-grid strong{font-size:36px;letter-spacing:-.04em;line-height:1}.league-grid span{font-size:13px;font-weight:700}.league-grid>a:hover{border-color:var(--red)}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.news-card{background:#fff;border:1px solid var(--line)}.news-card>a{display:block;text-decoration:none;height:100%}.card-image,.card-placeholder{aspect-ratio:16/10;width:100%;object-fit:cover;background:#e9e9e4}.card-placeholder{display:flex;align-items:center;justify-content:center}.card-body{padding:25px}.card-body time{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.card-body h2{font-size:25px;margin:15px 0 28px}.read-more{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;font-size:12px;font-weight:800}.article-layout{max-width:900px;padding:55px 0 70px}.article-image{margin-bottom:40px}.post-date{color:var(--muted);font-size:13px}.post-nav{border-top:1px solid var(--line);padding-top:35px;margin-top:45px}.nav-links{display:flex;justify-content:space-between;gap:30px}.pagination,.navigation.pagination{display:flex;gap:12px;justify-content:center;margin:40px 0}.page-numbers{padding:8px 16px;background:#fff}.page-numbers.current{background:var(--ink);color:#fff}.club-band{background:var(--red);color:#fff}.club-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:40px}.club-band .eyebrow{color:#fff9}.club-band h2{margin:0;font-size:40px}.band-actions{display:flex;align-items:center;gap:28px}.club-band .button{background:#fff;color:var(--ink)}.club-band a:hover{color:var(--ink)}.site-footer{background:var(--ink);color:#b8babe;font-size:13px}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1.3fr .7fr;gap:40px;padding-block:60px}.footer-brand img{margin-bottom:20px;filter:none}.footer-brand h2{font-size:24px;color:#fff;line-height:1.2}.site-footer h3{font-size:13px;letter-spacing:.02em;color:#fff;margin-bottom:20px}.footer-grid>div>a:not(.custom-logo-link){display:block;margin-bottom:9px;text-decoration:none;overflow-wrap:anywhere}.footer-grid p{margin-top:18px}.footer-bottom{display:flex;gap:25px;justify-content:space-between;border-top:1px solid #ffffff20;padding-block:22px;font-size:11px}.footer-extra .menu{padding-bottom:25px}.skip-link{position:fixed;top:-100px;left:15px;padding:15px;z-index:1000;background:#fff}.skip-link:focus{top:15px}.search-form label{display:block;font-weight:700;margin-bottom:10px}.search-form>div{display:flex;gap:10px;max-width:600px}.search-form input{min-width:0;flex:1;border:1px solid var(--line);padding:12px}.comment-form input,.comment-form textarea{max-width:100%;padding:10px;border:1px solid var(--line)}.bym-admin-note{padding:15px;border:1px dashed var(--red);font-size:13px}.woocommerce .products .product{background:#fff;padding:15px}.woocommerce input.input-text,.woocommerce textarea{padding:12px;border:1px solid var(--line)}
@media(min-width:1001px){.home-content>.bym-row:nth-child(2)>.bym-col>.bym-row-inner:nth-child(2) .bym-image{padding:22px}.home-content>.bym-row:nth-child(2)>.bym-col>.bym-row-inner:nth-child(2) img{height:85px;object-fit:contain}}
@media(max-width:1100px){.header-inner{gap:20px}.menu{gap:13px;font-size:12px}.main-nav{gap:16px}.wordmark{font-size:18px}.custom-logo{width:55px;height:65px}.shop-button{padding:13px 16px}}
@media(max-width:1000px){.header-inner{flex-wrap:wrap;padding-block:18px;min-height:90px}.menu-toggle{display:flex;gap:20px;align-items:center;background:var(--ink);color:#fff;padding:12px 18px;border:0;cursor:pointer}.main-nav{display:none;width:100%;padding:15px 0;align-items:stretch}.main-nav.is-open{display:flex;flex-direction:column}.menu{flex-direction:column;align-items:stretch;gap:0;font-size:15px}.menu li{border-bottom:1px solid var(--line)}.menu a{padding:13px 0}.menu .sub-menu,.menu .sub-menu .sub-menu{position:static;box-shadow:none;padding:5px 20px;min-width:0}.menu li:hover>.sub-menu{display:none}.menu li:focus-within>.sub-menu,.menu li.submenu-open>.sub-menu{display:block}.submenu-toggle{float:right;margin-top:8px}.footer-grid{grid-template-columns:repeat(2,1fr)}.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bym-row{gap:22px}.is-sponsors{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.wrap{width:calc(100% - 32px)}.topbar .wrap{min-height:32px;font-size:9px}.topbar .wrap>span{display:none}.topbar .wrap>div{width:100%;justify-content:space-between}.wordmark{font-size:20px}.home-intro{display:block;padding-top:32px;padding-bottom:22px}.home-intro>.text-link{margin-top:22px}.home-intro h1{font-size:39px}.bym-row{gap:20px;margin:24px 0}.bym-col{grid-column:span 12}.bym-row-inner{margin:20px 0}.home-content .bym-row-inner .bym-image{max-width:420px;margin-inline:auto}.is-sponsors{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.is-sponsors figure{padding:15px;min-height:90px}.section-title{margin-top:40px;padding-top:25px}.page-banner{padding:25px 0 40px}.crumb{margin-bottom:28px}.page-layout{padding:15px 0 40px}.page-content{padding:24px 20px}.alignright,.alignleft{float:none;display:block;margin:20px auto;max-width:100%}.bym-map iframe{height:300px}.bym-panel,.wpcf7{padding:22px}.league-grid,.news-grid{grid-template-columns:1fr}.section{padding:40px 0}.section-heading{display:block}.section-heading .eyebrow{margin-bottom:12px}.league-grid>a{padding:24px}.club-band .wrap{display:block;padding-block:32px}.band-actions{margin-top:28px;flex-wrap:wrap;gap:22px}.club-band h2{font-size:34px}.footer-grid{gap:30px 20px;padding-block:40px}.footer-grid>div:nth-child(3){grid-column:span 2;grid-row:2}.footer-bottom{flex-direction:column;gap:12px}.footer-brand h2{font-size:20px}.article-layout{padding-block:35px}.entry-content table{display:block;overflow:auto}.search-form>div{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Preserve team column alignment where an original image is missing. */
@media(min-width:641px){.home-content .bym-row-inner>.bym-col:empty{display:block}}
.page-content .bym-copy>p:has(>strong:only-child){margin-top:36px;font-size:24px;font-weight:800;line-height:1.2}
.bym-row-inner>.span-5:empty+.span-7{grid-column:1/-1;width:100%;max-width:850px;justify-self:center}
@media(min-width:1001px){.home-content .news-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.home-content .card-body h2{font-size:22px}}
